P: SpotHealingBrushTool: when the tool preset is activated, useScattering is enabled
The problem is with spotHealingBrushTool and colorReplacementBrushTool. Possibly backgroundEraserTool or artBrushTool (these drawing tools don't have the useScatter option either).
Discussion here: PS Script to switch Content-Aware vs Proximity Match in Spot Heal Tool and Patch tool question
Activate spotHealingBrushTool, check how tool works:

Create any spotHealingBrushTool preset from current tool settings, activate it:

Check how tool works now:

A similar problem when trying to update tool parameters with a script. If you just read the tool parameters and then assign them to the same tool, the useScatter option will be activated:
s2t = stringIDToTypeID;
var r = new ActionReference();
r.putProperty(s2t("property"), s2t("tool"));
r.putEnumerated(s2t("application"), s2t("ordinal"), s2t("targetEnum"));
var d = executeActionGet(r).getObjectValue(s2t("currentToolOptions"));
var d1 = new ActionDescriptor(),
r = new ActionReference();
r.putClass(s2t(app.currentTool));
d1.putReference(s2t("target"), r);
d1.putObject(s2t("to"), s2t("currentToolOptions"), d);
executeAction(s2t("set"), d1, DialogModes.NO);
At the same time, an attempt to read this parameter will throw an error:
s2t = stringIDToTypeID;
var r = new ActionReference();
r.putProperty(s2t("property"), s2t("tool"));
r.putEnumerated(s2t("application"), s2t("ordinal"), s2t("targetEnum"));
var d = executeActionGet(r).getObjectValue(s2t("currentToolOptions"));
try { d.getBoolean(s2t('useScatter')) } catch (e) { alert(e) } // error, option not exist
But if we put useScatter = false to the descriptor before updating the tool parameters, then the tool works normally:
s2t = stringIDToTypeID;
var r = new ActionReference();
r.putProperty(s2t("property"), s2t("tool"));
r.putEnumerated(s2t("application"), s2t("ordinal"), s2t("targetEnum"));
var d = executeActionGet(r).getObjectValue(s2t("currentToolOptions"));
d.putBoolean(s2t('useScatter'), false)
var d1 = new ActionDescriptor(),
r = new ActionReference();
r.putClass(s2t(app.currentTool));
d1.putReference(s2t("target"), r);
d1.putObject(s2t("to"), s2t("currentToolOptions"), d);
executeAction(s2t("set"), d1, DialogModes.NO);
