Derision
06-12-2008, 02:43 PM
Here is a patch to implement changes to flee such that mobs won't flee if the player at the top of their hatelist
has other mobs on their hatelist which are not green cons, feared/fleeing or mezzed and are within aggro range of the
player.
http://www.rama.demon.co.uk/smartflee.patch
The main change is a new method added to the HateList class:
int32 HateList::GetHatedCount(Mob *hater, bool CountGreens, bool CountFearedOrMezzed, bool RangeCheck)
I also added Mob::IsFeared which returns the state of the curfp flag.
The final change is to call HateList::GetHatedCount from CheckFlee
Oh, and I added a rule:
RULE_BOOL ( Combat, FleeIfNotAlone, false) // If false, mobs won't flee if other mobs are in combat with it.
The default value (false) enables the new code. Setting it to true will make the mob flee like at present even
if there are other mobs in combat.
has other mobs on their hatelist which are not green cons, feared/fleeing or mezzed and are within aggro range of the
player.
http://www.rama.demon.co.uk/smartflee.patch
The main change is a new method added to the HateList class:
int32 HateList::GetHatedCount(Mob *hater, bool CountGreens, bool CountFearedOrMezzed, bool RangeCheck)
I also added Mob::IsFeared which returns the state of the curfp flag.
The final change is to call HateList::GetHatedCount from CheckFlee
Oh, and I added a rule:
RULE_BOOL ( Combat, FleeIfNotAlone, false) // If false, mobs won't flee if other mobs are in combat with it.
The default value (false) enables the new code. Setting it to true will make the mob flee like at present even
if there are other mobs in combat.