Core/AI: 06443e3 followup
cause its not "that" horrible (cherry picked from commit a71c5f4c7f35b074397abfcc9b925e80720f8c75)
This commit is contained in:
@@ -515,14 +515,26 @@ void BossAI::TeleportCheaters()
|
||||
}
|
||||
}
|
||||
|
||||
void BossAI::ForceStopCombatForCreature(uint32 entry, float maxSearchRange /*= 250.0f*/)
|
||||
void BossAI::ForceCombatStopForCreatureEntry(uint32 entry, float maxSearchRange /*= 250.0f*/, bool reset /*= true*/)
|
||||
{
|
||||
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());
|
||||
TC_LOG_DEBUG("scripts.ai", "BossAI::ForceCombatStopForCreatureEntry: called on '%s'. Debug info: %s", me->GetGUID().ToString().c_str(), me->GetDebugInfo().c_str());
|
||||
|
||||
std::list<Creature*> creatures;
|
||||
me->GetCreatureListWithEntryInGrid(creatures, entry, maxSearchRange);
|
||||
|
||||
for (Creature* creature : creatures)
|
||||
creature->CombatStop();
|
||||
for (Creature* creature : creatures) {
|
||||
creature->CombatStop(true);
|
||||
creature->DoNotReacquireSpellFocusTarget();
|
||||
creature->GetMotionMaster()->Clear(MOTION_PRIORITY_NORMAL);
|
||||
|
||||
if (reset) {
|
||||
creature->LoadCreaturesAddon();
|
||||
creature->SetLootRecipient(nullptr);
|
||||
creature->ResetPlayerDamageReq();
|
||||
creature->SetLastDamagedTime(0);
|
||||
creature->SetCannotReachTarget(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BossAI::JustSummoned(Creature* summon)
|
||||
|
||||
@@ -338,7 +338,7 @@ class TC_GAME_API BossAI : public ScriptedAI
|
||||
|
||||
void TeleportCheaters();
|
||||
|
||||
void ForceStopCombatForCreature(uint32 entry, float maxSearchRange = 250.0f);
|
||||
void ForceCombatStopForCreatureEntry(uint32 entry, float maxSearchRange = 250.0f, bool reset = true);
|
||||
|
||||
EventMap events;
|
||||
SummonList summons;
|
||||
|
||||
@@ -150,7 +150,7 @@ class boss_kologarn : public CreatureScript
|
||||
me->GetMotionMaster()->MoveTargetedHome();
|
||||
me->AddUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetCorpseDelay(604800); // Prevent corpse from despawning.
|
||||
ForceStopCombatForCreature(NPC_ARM_SWEEP_STALKER, 500.f);
|
||||
ForceCombatStopForCreatureEntry(NPC_ARM_SWEEP_STALKER, 500.f);
|
||||
_JustDied();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user