I was just looking at this code again, and I obviously never tested this patch with FleeIfNotAlone
set to true (i.e. the new code disabled). If FleeIfNotAlone==true, then the mobs won't flee at all.
After applying the patch in my original post. change the rule check in fearpath.cpp from:
Code:
if(!RuleB(Combat, FleeIfNotAlone) && hate_top->hate_list.GetHatedCount(hate_top, false, false, true)<=1)
StartFleeing();
to:
Code:
if(RuleB(Combat, FleeIfNotAlone) || (!RuleB(Combat, FleeIfNotAlone) && hate_top->hate_list.GetHatedCount(hate_top, false, false, true)<=1))
StartFleeing();
Then the rule should work correctly to disable the new functionality if required when FleeIfNotAlone is set to true.