View Single Post
  #1  
Old 06-12-2008, 02:43 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default Flee Patch to stop mobs fleeing if other mobs are also in combat against the player

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:

Code:
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:

Code:
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.

Last edited by KLS; 06-13-2008 at 01:44 AM..
Reply With Quote