aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp10
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 9fa4cb46299..1076b7dd4e4 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -517,6 +517,16 @@ void BossAI::TeleportCheaters()
}
}
+void BossAI::ForceStopCombatForCreature(uint32 entry, float maxSearchRange /*= 250.0f*/)
+{
+ TC_LOG_WARN("scripts.ai", "BossAI::ForceStopCombatForCreature: called on '%s' with creature entry '%u'. This should be fixed in another way than calling this function. Debug info: %s", me->GetName().c_str(), entry, me->GetDebugInfo().c_str());
+ std::list<Creature*> creatures;
+ me->GetCreatureListWithEntryInGrid(creatures, entry, maxSearchRange);
+
+ for (Creature* creature : creatures)
+ creature->CombatStop();
+}
+
void BossAI::JustSummoned(Creature* summon)
{
summons.Summon(summon);
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
index 5bd4a346d2a..67fe9da29f3 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -336,6 +336,8 @@ class TC_GAME_API BossAI : public ScriptedAI
void TeleportCheaters();
+ void ForceStopCombatForCreature(uint32 entry, float maxSearchRange = 250.0f);
+
EventMap events;
SummonList summons;
TaskScheduler scheduler;