Mobs that were blinded were being included in every use of IsFeared() which

was bad.  Blinded mobs can still cast spells when in melee range.  The
original fear code had no blind rolled into it, I added that.  This was an
overright.  I changed the macro to use bonues and fleemode instead of
looking at curfp.  Testing looks good to me.
This commit is contained in:
Paul Coene 2015-05-01 20:40:46 -04:00
parent eda74e66e0
commit 6c8dfbdc4d

View File

@ -803,8 +803,7 @@ public:
//old fear function //old fear function
//void SetFeared(Mob *caster, uint32 duration, bool flee = false); //void SetFeared(Mob *caster, uint32 duration, bool flee = false);
float GetFearSpeed(); float GetFearSpeed();
bool IsFeared() { return curfp; } // This returns true if the mob is feared or fleeing due to low HP bool IsFeared() { return (spellbonuses.IsFeared || flee_mode); } // This returns true if the mob is feared or fleeing due to low HP
//old fear: inline void StartFleeing() { SetFeared(GetHateTop(), FLEE_RUN_DURATION, true); }
inline void StartFleeing() { flee_mode = true; CalculateNewFearpoint(); } inline void StartFleeing() { flee_mode = true; CalculateNewFearpoint(); }
void ProcessFlee(); void ProcessFlee();
void CheckFlee(); void CheckFlee();