diff --git a/src/strategy/actions/MovementActions.cpp b/src/strategy/actions/MovementActions.cpp index c249875f..1b6218bd 100644 --- a/src/strategy/actions/MovementActions.cpp +++ b/src/strategy/actions/MovementActions.cpp @@ -170,7 +170,7 @@ bool MovementAction::MoveTo(uint32 mapId, float x, float y, float z, bool idle, if (modifiedZ == INVALID_HEIGHT) { return false; } - // mm.Clear(); + mm.Clear(); mm.MovePoint(mapId, x, y, modifiedZ, generatePath); AI_VALUE(LastMovement&, "last movement").Set(mapId, x, y, z, bot->GetOrientation()); return true; diff --git a/src/strategy/raids/naxxramas/RaidNaxxActions.cpp b/src/strategy/raids/naxxramas/RaidNaxxActions.cpp index 4ec48c46..21a93615 100644 --- a/src/strategy/raids/naxxramas/RaidNaxxActions.cpp +++ b/src/strategy/raids/naxxramas/RaidNaxxActions.cpp @@ -419,6 +419,9 @@ bool HorsemanAttractAlternativelyAction::Execute(Event event) bool HorsemanAttactInOrderAction::Execute(Event event) { + if (!helper.UpdateBossAI()) { + return false; + } Unit* target = nullptr; Unit* thane = AI_VALUE2(Unit*, "find target", "thane korth'azz"); Unit* baron = AI_VALUE2(Unit*, "find target", "baron rivendare"); @@ -431,7 +434,7 @@ bool HorsemanAttactInOrderAction::Execute(Event event) attack_order = {thane, baron, lady, sir}; } for (Unit* t : attack_order) { - if (t) { + if (t && t->IsAlive()) { target = t; break; } diff --git a/src/strategy/raids/naxxramas/RaidNaxxTriggerContext.h b/src/strategy/raids/naxxramas/RaidNaxxTriggerContext.h index f6047bbc..9a84eb49 100644 --- a/src/strategy/raids/naxxramas/RaidNaxxTriggerContext.h +++ b/src/strategy/raids/naxxramas/RaidNaxxTriggerContext.h @@ -58,6 +58,7 @@ class RaidNaxxTriggerContext : public NamedObjectContext static Trigger* horseman_attractors(PlayerbotAI* ai) { return new HorsemanAttractorsTrigger(ai); } static Trigger* horseman_except_attractors(PlayerbotAI* ai) { return new HorsemanExceptAttractorsTrigger(ai); } + static Trigger* sapphiron_ground(PlayerbotAI* ai) { return new SapphironGroundTrigger(ai); } static Trigger* sapphiron_flight(PlayerbotAI* ai) { return new SapphironFlightTrigger(ai); } static Trigger* kelthuzad(PlayerbotAI* ai) { return new KelthuzadTrigger(ai); } diff --git a/src/strategy/raids/naxxramas/RaidNaxxTriggers.h b/src/strategy/raids/naxxramas/RaidNaxxTriggers.h index 6e8ac4c8..0310023b 100644 --- a/src/strategy/raids/naxxramas/RaidNaxxTriggers.h +++ b/src/strategy/raids/naxxramas/RaidNaxxTriggers.h @@ -146,7 +146,7 @@ public: class HorsemanAttractorsTrigger : public Trigger { public: - HorsemanAttractorsTrigger(PlayerbotAI* ai) : Trigger(ai, "fourhorsemen"), helper(ai) {} + HorsemanAttractorsTrigger(PlayerbotAI* ai) : Trigger(ai, "fourhorsemen attractors"), helper(ai) {} bool IsActive() override; private: FourhorsemanBossHelper helper; @@ -155,7 +155,7 @@ class HorsemanAttractorsTrigger : public Trigger class HorsemanExceptAttractorsTrigger : public Trigger { public: - HorsemanExceptAttractorsTrigger(PlayerbotAI* ai) : Trigger(ai, "fourhorsemen"), helper(ai) {} + HorsemanExceptAttractorsTrigger(PlayerbotAI* ai) : Trigger(ai, "fourhorsemen except attractors"), helper(ai) {} bool IsActive() override; private: FourhorsemanBossHelper helper;