From 7b1560fccba77ecbdfecd7b33af740aea41b7087 Mon Sep 17 00:00:00 2001 From: treeston Date: Thu, 24 Mar 2016 16:12:53 +0100 Subject: Entities/Unit: Finally fix no-path evasion. - When a creature cannot find a path to its victim, it begins evading all attacks and regenerating health. - If this persists for 5 seconds, it evades back to spawn position with new EvadeReason value EVADE_REASON_NO_PATH. - Also some SmartAI cleanup (why oh why does it have so much duplicated code) and getting rid of #defines in favor of type-checked compile-time constants. --- src/server/game/AI/SmartScripts/SmartAI.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src/server/game/AI/SmartScripts') diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 361bb1a5b1d..95d52a45681 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -416,12 +416,7 @@ void SmartAI::EnterEvadeMode(EvadeReason /*why*/) me->RemoveAllAurasExceptType(SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_CLONE_CASTER); me->AddUnitState(UNIT_STATE_EVADE); - me->DeleteThreatList(); - me->CombatStop(true); - me->LoadCreaturesAddon(); - me->SetLootRecipient(NULL); - me->ResetPlayerDamageReq(); - me->SetLastDamagedTime(0); + _EnterEvadeMode(); GetScript()->ProcessEventsFor(SMART_EVENT_EVADE);//must be after aura clear so we can cast spells from db -- cgit v1.2.3