diff options
Diffstat (limited to 'src')
40 files changed, 62 insertions, 63 deletions
diff --git a/src/server/game/AI/CoreAI/GuardAI.cpp b/src/server/game/AI/CoreAI/GuardAI.cpp index bc9aca3b7d..0253eb0075 100644 --- a/src/server/game/AI/CoreAI/GuardAI.cpp +++ b/src/server/game/AI/CoreAI/GuardAI.cpp @@ -43,14 +43,14 @@ void GuardAI::EnterEvadeMode(EvadeReason /*why*/) { me->GetMotionMaster()->MoveIdle(); me->CombatStop(true); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); return; } LOG_DEBUG("entities.unit", "Guard entry: {} enters evade mode.", me->GetEntry()); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); // Remove ChaseMovementGenerator from MotionMaster stack list, and add HomeMovementGenerator instead diff --git a/src/server/game/AI/CoreAI/PetAI.cpp b/src/server/game/AI/CoreAI/PetAI.cpp index b71f667295..fe71ffadc5 100644 --- a/src/server/game/AI/CoreAI/PetAI.cpp +++ b/src/server/game/AI/CoreAI/PetAI.cpp @@ -563,7 +563,7 @@ void PetAI::HandleReturnMovement() me->GetCharmInfo()->SetForcedTargetGUID(); // xinef: remember that npcs summoned by npcs can also be pets - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->ClearInPetCombat(); } diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 91c2b1af37..78ae7cb467 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -305,7 +305,7 @@ bool CreatureAI::_EnterEvadeMode(EvadeReason /*why*/) me->ClearComboPointHolders(); // Remove all combo points targeting this unit // sometimes bosses stuck in combat? - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); me->SetLootRecipient(nullptr); diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp index 614c4e6107..648c46d83a 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp @@ -201,7 +201,7 @@ void npc_escortAI::ReturnToLastPoint() void npc_escortAI::EnterEvadeMode(EvadeReason /*why*/) { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetLootRecipient(nullptr); diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index bf7c6d905c..5930e0fb4c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -153,7 +153,7 @@ void FollowerAI::JustRespawned() void FollowerAI::EnterEvadeMode(EvadeReason /*why*/) { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetLootRecipient(nullptr); diff --git a/src/server/game/Combat/ThreatMgr.cpp b/src/server/game/Combat/ThreatMgr.cpp index ec106e79c4..5a9bfcde59 100644 --- a/src/server/game/Combat/ThreatMgr.cpp +++ b/src/server/game/Combat/ThreatMgr.cpp @@ -406,6 +406,13 @@ ThreatMgr::ThreatMgr(Unit* owner) : iCurrentVictim(nullptr), iOwner(owner), iUpd { } +void ThreatMgr::ClearAllThreat() +{ + if (iOwner->CanHaveThreatList() && !isThreatListEmpty()) + iOwner->SendClearThreatListOpcode(); + clearReferences(); +} + //============================================================ void ThreatMgr::clearReferences() diff --git a/src/server/game/Combat/ThreatMgr.h b/src/server/game/Combat/ThreatMgr.h index 92a7f52f2a..b6622d8e11 100644 --- a/src/server/game/Combat/ThreatMgr.h +++ b/src/server/game/Combat/ThreatMgr.h @@ -236,6 +236,8 @@ public: // -- compatibility layer for combat rewrite void ResetAllThreat() { resetAllAggro(); } + void ClearAllThreat(); + // Reset all aggro of unit in threadlist satisfying the predicate. template<class PREDICATE> void resetAggro(PREDICATE predicate) { diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2ac0e6ed20..1ad0ef1238 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13917,7 +13917,7 @@ void Unit::setDeathState(DeathState s, bool despawn) if (s != ALIVE && s != JUST_RESPAWNED) { CombatStop(); - DeleteThreatList(); + GetThreatMgr().ClearAllThreat(); getHostileRefMgr().deleteReferences(); ClearComboPointHolders(); // any combo points pointed to unit lost at it death @@ -14018,15 +14018,6 @@ void Unit::AddThreat(Unit* victim, float fThreat, SpellSchoolMask schoolMask, Sp //====================================================================== -void Unit::DeleteThreatList() -{ - if (CanHaveThreatList() && !m_ThreatMgr.isThreatListEmpty()) - SendClearThreatListOpcode(); - m_ThreatMgr.clearReferences(); -} - -//====================================================================== - void Unit::TauntApply(Unit* taunter) { ASSERT(GetTypeId() == TYPEID_UNIT); @@ -15097,7 +15088,7 @@ void Unit::CleanupBeforeRemoveFromMap(bool finalCleanup) CombatStop(); ClearComboPoints(); ClearComboPointHolders(); - DeleteThreatList(); + GetThreatMgr().ClearAllThreat(); getHostileRefMgr().deleteReferences(); GetMotionMaster()->Clear(false); // remove different non-standard movement generators. } @@ -17446,7 +17437,7 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp if (!creature->IsPet() && creature->GetLootMode() > 0) { - creature->DeleteThreatList(); + creature->GetThreatMgr().ClearAllThreat(); // must be after setDeathState which resets dynamic flags if (!creature->loot.isLooted()) diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 8b1f1ffc34..02f2943ffb 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -2105,7 +2105,6 @@ public: [[nodiscard]] bool CanHaveThreatList() const; void AddThreat(Unit* victim, float fThreat, SpellSchoolMask schoolMask = SPELL_SCHOOL_MASK_NORMAL, SpellInfo const* threatSpell = nullptr); float ApplyTotalThreatModifier(float fThreat, SpellSchoolMask schoolMask = SPELL_SCHOOL_MASK_NORMAL); - void DeleteThreatList(); void TauntApply(Unit* victim); void TauntFadeOut(Unit* taunter); ThreatMgr& GetThreatMgr() { return m_ThreatMgr; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index 8e8547b9cf..329b36a9dd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -203,7 +203,7 @@ public: void EnterEvadeMode(EvadeReason /*why*/) override { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); if (me->IsAlive()) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp index ba9e95003a..9b483673a1 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/instance_blackrock_depths.cpp @@ -779,7 +779,7 @@ public: //do not call EnterEvadeMode(), it will create infinit loops boss->Respawn(); boss->RemoveAllAuras(); - boss->DeleteThreatList(); + boss->GetThreatMgr().ClearAllThreat(); boss->CombatStop(true); boss->LoadCreaturesAddon(true); boss->GetMotionMaster()->MoveTargetedHome(); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 8078ec9845..194f67610e 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -1243,7 +1243,7 @@ public: Julianne->GetMotionMaster()->Clear(); Julianne->setDeathState(JUST_DIED); Julianne->CombatStop(true); - Julianne->DeleteThreatList(); + Julianne->GetThreatMgr().ClearAllThreat(); Julianne->ReplaceAllDynamicFlags(UNIT_DYNFLAG_LOOTABLE); } return; @@ -1546,7 +1546,7 @@ void boss_julianne::boss_julianneAI::DamageTaken(Unit* /*done_by*/, uint32& dama Romulo->GetMotionMaster()->Clear(); Romulo->setDeathState(JUST_DIED); Romulo->CombatStop(true); - Romulo->DeleteThreatList(); + Romulo->GetThreatMgr().ClearAllThreat(); Romulo->ReplaceAllDynamicFlags(UNIT_DYNFLAG_LOOTABLE); } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp index e3ef5e429b..9c15adbdc0 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp @@ -242,7 +242,7 @@ public: void EnterEvadeMode(EvadeReason /*why*/) override { - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(false); me->SetLootRecipient(nullptr); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index c10e8543ac..408aa1923a 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -697,13 +697,13 @@ public: if (Creature* summon = ObjectAccessor::GetCreature(*me, *itr)) { summon->CombatStop(true); - summon->DeleteThreatList(); + summon->GetThreatMgr().ClearAllThreat(); summon->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); summon->SetReactState(REACT_PASSIVE); summon->GetMotionMaster()->Clear(false); } me->CombatStop(true); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC); me->SetReactState(REACT_PASSIVE); me->GetMotionMaster()->Clear(false); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp index f9da3901a3..418ca14fdc 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp @@ -329,7 +329,7 @@ public: me->SetTarget(); me->SetReactState(REACT_PASSIVE); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->SetRegeneratingHealth(false); me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE); me->HandleEmoteCommand(EMOTE_ONESHOT_DROWN); diff --git a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp index 314a0f131e..e7756d96ea 100644 --- a/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stranglethorn_vale.cpp @@ -71,8 +71,8 @@ public: if (player->GetQuestStatus(592) == QUEST_STATUS_INCOMPLETE) //Yenniku's Release { me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_STUN); - me->CombatStop(); //stop combat - me->DeleteThreatList(); //unsure of this + me->CombatStop(); //stop combat + me->GetThreatMgr().ClearAllThreat(); //unsure of this me->SetFaction(FACTION_HORDE_GENERIC); bReset = true; @@ -104,7 +104,7 @@ public: if (player->GetTeamId() == TEAM_HORDE) { me->CombatStop(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); } } } diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index 7e870bdfd1..0dd04316c8 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -1013,7 +1013,7 @@ public: void EnterEvadeMode(EvadeReason /*why*/) override { - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetLootRecipient(nullptr); @@ -2356,7 +2356,7 @@ public: void EnterEvadeMode(EvadeReason /*why*/) override { me->RemoveAura(SPELL_HEROIC_VANGUARD); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetLootRecipient(nullptr); diff --git a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp index 119ef3ec41..d4024d44ca 100644 --- a/src/server/scripts/EasternKingdoms/zone_wetlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_wetlands.cpp @@ -118,7 +118,7 @@ public: me->RestoreFaction(); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); SetRun(false); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp index 3f2d64f503..65ddedf0bb 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp @@ -410,7 +410,7 @@ void hyjalAI::EnterEvadeMode(EvadeReason /*why*/) { if (me->GetEntry() != JAINA) me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 5b968e470e..285e794cb7 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -178,7 +178,7 @@ public: void DoFriend() { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->StopMoving(); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index ff5d0f0ede..096d8cf277 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -550,7 +550,7 @@ public: me->SetReactState(REACT_PASSIVE); me->RemoveAllAuras(); AddCreatureAddonAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->Clear(); me->StopMoving(); @@ -580,7 +580,7 @@ public: me->SetReactState(REACT_PASSIVE); me->RemoveAllAuras(); AddCreatureAddonAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->Clear(); me->SetRegeneratingHealth(false); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp index b87d079299..eb68e0dfdc 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -133,7 +133,7 @@ public: { t->RemoveAura(SPELL_CHANGE_VEHICLE); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->SetHealth(me->GetMaxHealth()); if( pInstance ) diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index e0839ad0b8..6ccce9d1b0 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -523,7 +523,7 @@ public: if (TeamIdInInstance == TEAM_ALLIANCE) c->UpdateEntry(NPC_JAINA_PART2); } - c->DeleteThreatList(); + c->GetThreatMgr().ClearAllThreat(); c->CombatStop(true); c->InterruptNonMeleeSpells(true); c->GetMotionMaster()->Clear(); @@ -540,7 +540,7 @@ public: } if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { - c->DeleteThreatList(); + c->GetThreatMgr().ClearAllThreat(); c->CombatStop(true); c->InterruptNonMeleeSpells(true); c->GetMotionMaster()->Clear(); @@ -915,7 +915,7 @@ public: if (TrashActive[i]) if (Creature* c = instance->GetCreature(NPC_TrashGUID[i])) { - c->DeleteThreatList(); + c->GetThreatMgr().ClearAllThreat(); c->CombatStop(true); c->InterruptNonMeleeSpells(true); c->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NOT_SELECTABLE); @@ -1126,7 +1126,7 @@ public: if (Creature* c = instance->GetCreature(NPC_LichKingGUID)) { c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); - c->DeleteThreatList(); + c->GetThreatMgr().ClearAllThreat(); c->CombatStop(true); c->InterruptNonMeleeSpells(true); c->SetVisible(false); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index 2012e3e2cd..fc8354713e 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -1123,7 +1123,7 @@ public: return; me->RemoveEvadeAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); me->SetLootRecipient(nullptr); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index 9067996478..785cb93861 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -1202,7 +1202,7 @@ public: if (!attacker || attacker == me || attacker == me->GetVictim() || (det != DIRECT_DAMAGE && det != SPELL_DIRECT_DAMAGE)) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->AddThreat(attacker, 500000000.0f); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index f30b7438e1..44f572f0fa 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -784,7 +784,7 @@ public: { if (!me->IsAlive()) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->MoveTargetedHome(); Reset(); @@ -1120,7 +1120,7 @@ public: { if (!me->IsAlive()) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->MoveTargetedHome(); Reset(); @@ -1496,7 +1496,7 @@ struct gunship_npc_AI : public ScriptedAI { if (!me->IsAlive() || !me->IsInCombat()) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->MoveTargetedHome(); Reset(); @@ -1557,7 +1557,7 @@ struct npc_gunship_boarding_addAI : public ScriptedAI { if (!me->IsAlive() || !me->IsInCombat()) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->MoveTargetedHome(); Reset(); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp index 8adef89550..e2c600ba09 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp @@ -515,7 +515,7 @@ public: { darnavan->RemoveAllAuras(); darnavan->SetFaction(FACTION_FRIENDLY); - darnavan->DeleteThreatList(); + darnavan->GetThreatMgr().ClearAllThreat(); darnavan->CombatStop(true); darnavan->GetMotionMaster()->MoveIdle(); darnavan->StopMoving(); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index cec4d51e87..7e31e85505 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1139,7 +1139,7 @@ public: void StartAttack() { GetCaster()->ClearUnitState(UNIT_STATE_CASTING); - GetCaster()->DeleteThreatList(); + GetCaster()->GetThreatMgr().ClearAllThreat(); GetCaster()->ToCreature()->SetInCombatWithZone(); GetCaster()->ToCreature()->AI()->AttackStart(GetHitUnit()); GetCaster()->AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index ef952ecbb0..1b611d389a 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1647,7 +1647,7 @@ public: return; } - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(false); } @@ -3370,7 +3370,7 @@ public: if (!me->IsAlive()) return; - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(false); } }; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 12d7235741..1d07f01e62 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -766,7 +766,7 @@ public: _handledWP4 = false; me->CombatStop(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); } } diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 5b14679b15..32ace18ec6 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -710,7 +710,7 @@ public: me->SendMeleeAttackStop(me->GetVictim()); me->GetMotionMaster()->MoveTakeoff(MI_POINT_PH_3_FIGHT_POSITION, CenterPos.GetPositionX(), CenterPos.GetPositionY(), CenterPos.GetPositionZ() - 5.0f, me->GetSpeed(MOVE_RUN)); - me->DeleteThreatList(); // players on vehicle are unattackable -> leads to EnterEvadeMode() because target is not acceptable! + me->GetThreatMgr().ClearAllThreat(); // players on vehicle are unattackable -> leads to EnterEvadeMode() because target is not acceptable! // mount players: Map::PlayerList const& PlayerList = me->GetMap()->GetPlayers(); diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp index e181b034c3..8b355d0ef8 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp @@ -239,7 +239,7 @@ public: if (!_allowDeath) { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); damage = 0; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp index 2707e8e1cf..46f205a952 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp @@ -208,7 +208,7 @@ public: void LeaveCombat() { me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); me->SetLootRecipient(nullptr); diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp index 2776c66efe..9bf1964e6c 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp @@ -258,7 +258,7 @@ public: if (param == ACTION_CALLBACK) { me->SetSpeed(MOVE_RUN, 2.5f); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->GetMotionMaster()->MoveTargetedHome(); returning = true; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index b45e05a452..730c08429e 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -384,7 +384,7 @@ struct violet_hold_trashAI : public npc_escortAI me->SetHomePosition(1845.577759f + rand_norm() * 5 - 2.5f, 800.681152f + rand_norm() * 5 - 2.5f, 44.104248f, M_PI); } - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); if (HasEscortState(STATE_ESCORT_ESCORTING)) { diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 7381c070c7..b40420795c 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -74,7 +74,7 @@ public: Creature* owner = GetOwner()->ToCreature(); owner->RemoveAllAurasExceptType(SPELL_AURA_DUMMY); owner->CombatStop(true); - owner->DeleteThreatList(); + owner->GetThreatMgr().ClearAllThreat(); owner->GetMotionMaster()->Clear(false); owner->GetMotionMaster()->MoveFollow(GetCaster(), 4.0f, M_PI, MOTION_SLOT_ACTIVE); owner->CastSpell(owner, SPELL_SUBDUED, true); diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp index 4a6f01797c..65ec06932a 100644 --- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp @@ -127,7 +127,7 @@ public: me->SetFaction(FACTION_FRIENDLY); me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); Talk(SAY_FREE); return; diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp index 6c16496c07..567072a6cd 100644 --- a/src/server/scripts/Outland/zone_terokkar_forest.cpp +++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp @@ -374,7 +374,7 @@ public: me->SetFaction(FACTION_FRIENDLY); me->SetStandState(UNIT_STAND_STATE_SIT); me->RemoveAllAuras(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); UnkorUnfriendly_Timer = 60000; } diff --git a/src/server/scripts/Pet/pet_hunter.cpp b/src/server/scripts/Pet/pet_hunter.cpp index ab9abfc601..2533462a50 100644 --- a/src/server/scripts/Pet/pet_hunter.cpp +++ b/src/server/scripts/Pet/pet_hunter.cpp @@ -52,7 +52,7 @@ struct npc_pet_hunter_snake_trap : public ScriptedAI void EnterEvadeMode(EvadeReason /*why*/) override { // _EnterEvadeMode(); - me->DeleteThreatList(); + me->GetThreatMgr().ClearAllThreat(); me->CombatStop(true); me->LoadCreaturesAddon(true); me->SetLootRecipient(nullptr); diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp index 627c8456de..0e715bf553 100644 --- a/src/server/scripts/Spells/spell_hunter.cpp +++ b/src/server/scripts/Spells/spell_hunter.cpp @@ -283,7 +283,7 @@ class spell_hun_taming_the_beast : public AuraScript { if (Creature* creature = target->ToCreature()) { - creature->DeleteThreatList(); + creature->GetThreatMgr().ClearAllThreat(); } } } |