diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-01-22 15:00:55 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-06-16 21:03:06 +0200 |
commit | c77925da4a320df5be5eaeb1fc799df50e22c041 (patch) | |
tree | 3a574f41483c6c73b6bd10aa254d15bbc2a4501c | |
parent | 29bfa32fc39de1d93fbdb272d48689174c547725 (diff) |
Core/Entities: killed Creature::SetInCombatWithZone and replaced with AI version
Closes #12108 (again)
(cherry picked from commit 7c9722a4ae08b5f283f6a085a411e37604a7da9f)
33 files changed, 60 insertions, 95 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 68dfc5ed2e9..bd624166a5c 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -1005,7 +1005,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u { if (IsCreature(target)) { - target->ToCreature()->SetInCombatWithZone(); + Creature* creature = target->ToCreature(); + if (creature->IsAIEnabled) + creature->AI()->DoZoneInCombat(); TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction: SMART_ACTION_SET_IN_COMBAT_WITH_ZONE: Creature %s, target: %s", me->GetGUID().ToString().c_str(), target->GetGUID().ToString().c_str()); } } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 8261a795915..7efc494158c 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -2756,40 +2756,6 @@ void Creature::SendZoneUnderAttackMessage(Player* attacker) sWorld->SendGlobalMessage(packet.Write(), nullptr, (enemy_team == ALLIANCE ? HORDE : ALLIANCE)); } -void Creature::SetInCombatWithZone() -{ - if (!CanHaveThreatList()) - { - TC_LOG_ERROR("entities.unit", "Creature entry %u call SetInCombatWithZone but creature cannot have threat list.", GetEntry()); - return; - } - - Map* map = GetMap(); - - if (!map->IsDungeon()) - { - TC_LOG_ERROR("entities.unit", "Creature entry %u call SetInCombatWithZone for map (id: %u) that isn't an instance.", GetEntry(), map->GetId()); - return; - } - - Map::PlayerList const& PlList = map->GetPlayers(); - - if (PlList.isEmpty()) - return; - - for (Map::PlayerList::const_iterator i = PlList.begin(); i != PlList.end(); ++i) - { - if (Player* player = i->GetSource()) - { - if (player->IsGameMaster()) - continue; - - if (player->IsAlive()) - EngageWithTarget(player); - } - } -} - bool Creature::HasSpell(uint32 spellID) const { for (uint8 i = 0; i < MAX_CREATURE_SPELLS; ++i) diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 442a364d1a4..6e6b2c65424 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -275,8 +275,6 @@ class TC_GAME_API Creature : public Unit, public GridObject<Creature>, public Ma void SendZoneUnderAttackMessage(Player* attacker); - void SetInCombatWithZone(); - bool hasQuest(uint32 quest_id) const override; bool hasInvolvedQuest(uint32 quest_id) const override; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp index aaf0c43a0cf..63a8b580568 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp @@ -169,7 +169,7 @@ struct boss_coren_direbrew : public BossAI events.SetPhase(PHASE_ONE); me->SetImmuneToPC(false); me->SetFaction(FACTION_GOBLIN_DARK_IRON_BAR_PATRON); - me->SetInCombatWithZone(); + DoZoneInCombat(); EntryCheckPredicate pred(NPC_ANTAGONIST); summons.DoAction(ACTION_ANTAGONIST_HOSTILE, pred); @@ -217,7 +217,7 @@ struct boss_coren_direbrew : public BossAI void SummonSister(uint32 entry) { if (Creature* sister = me->SummonCreature(entry, me->GetPosition(), TEMPSUMMON_DEAD_DESPAWN)) - sister->SetInCombatWithZone(); + DoZoneInCombat(sister); } void UpdateAI(uint32 diff) override @@ -343,7 +343,7 @@ struct npc_direbrew_minion : public ScriptedAI void Reset() override { me->SetFaction(FACTION_GOBLIN_DARK_IRON_BAR_PATRON); - me->SetInCombatWithZone(); + DoZoneInCombat(); } void IsSummonedBy(Unit* /*summoner*/) override @@ -373,7 +373,7 @@ struct npc_direbrew_antagonist : public ScriptedAI case ACTION_ANTAGONIST_HOSTILE: me->SetImmuneToPC(false); me->SetFaction(FACTION_GOBLIN_DARK_IRON_BAR_PATRON); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; default: break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp index bb011209dcb..918dabf2f13 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp @@ -380,7 +380,7 @@ public: for (std::list<Creature*>::iterator itr = creatureList.begin(); itr != creatureList.end(); ++itr) { if (Creature* creature = *itr) - creature->SetInCombatWithZone(); // AI()->AttackStart(me->GetVictim()); + DoZoneInCombat(creature); // AI()->AttackStart(me->GetVictim()); } _events.ScheduleEvent(EVENT_STRIKE, urand(8000, 16000)); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index e1e4d26c00f..e76d3e6504b 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -455,7 +455,7 @@ public: if (id == 1) { - me->SetInCombatWithZone(); + DoZoneInCombat(); if (me->GetVictim()) AttackStart(me->GetVictim()); } @@ -574,7 +574,7 @@ public: if ((*itr) && !(*itr)->IsAlive()) { (*itr)->Respawn(); - (*itr)->SetInCombatWithZone(); + DoZoneInCombat((*itr)); (*itr)->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); (*itr)->SetReactState(REACT_AGGRESSIVE); (*itr)->SetStandState(UNIT_STAND_STATE_STAND); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp index d2cbc6e5b09..deb7719d022 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -244,9 +244,9 @@ public: switch (eventId) { case EVENT_RAZOR_SPAWN: - for (uint8 i = urand(2, 5); i > 0 ; --i) - if (Creature* summon = instance->SummonCreature(Entry[urand(0, 4)], SummonPosition[urand(0, 7)])) - summon->SetInCombatWithZone(); + for (uint8 i = urand(2, 5); i > 0; --i) + if (Creature* summon = instance->SummonCreature(Entry[urand(0, 4)], SummonPosition[urand(0, 7)])) + summon->AI()->DoZoneInCombat(); _events.ScheduleEvent(EVENT_RAZOR_SPAWN, urand(12, 17) * IN_MILLISECONDS); break; case EVENT_RAZOR_PHASE_TWO: diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index ea9bf01997a..2094e18289d 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -299,7 +299,7 @@ public: break; case EVENT_INTRO_LANDING: me->SetImmuneToPC(false); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; case EVENT_LAND: Talk(YELL_LAND_PHASE); diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp index 0bc222fde12..65303b527b7 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp @@ -217,7 +217,7 @@ class boss_apothecary_hummel : public CreatureScript case EVENT_START_FIGHT: { me->SetImmuneToAll(false); - me->SetInCombatWithZone(); + DoZoneInCombat(); events.ScheduleEvent(EVENT_CALL_BAXTER, Seconds(6)); events.ScheduleEvent(EVENT_CALL_FRYE, Seconds(14)); events.ScheduleEvent(EVENT_PERFUME_SPRAY, Milliseconds(3640)); @@ -298,7 +298,7 @@ struct npc_apothecary_genericAI : public ScriptedAI else if (action == ACTION_START_FIGHT) { me->SetImmuneToAll(false); - me->SetInCombatWithZone(); + DoZoneInCombat(); } } diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp index 3da118111cf..7f9ce6a57fa 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp @@ -173,7 +173,7 @@ public: void JustSummoned(Creature* summoned) override { - summoned->SetInCombatWithZone(); + DoZoneInCombat(summoned); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) summoned->AI()->AttackStart(target); diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp index fe964806ba2..5bc3384cb3c 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp @@ -89,7 +89,7 @@ public: Position goPos = go->GetPosition(); if (Creature* temp = go->SummonCreature(NPC_WHELP, goPos, TEMPSUMMON_CORPSE_DESPAWN)) { - temp->SetInCombatWithZone(); + temp->AI()->DoZoneInCombat(); ++manyWhelpsCounter; } break; diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp index b67d6df83a3..2757aa890c5 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp @@ -216,7 +216,7 @@ struct dummy_dragonAI : public ScriptedAI if (pointId == POINT_ID_LAND) { me->GetMotionMaster()->Clear(); - me->SetInCombatWithZone(); + DoZoneInCombat(); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0, true)) { AddThreat(target, 1.0f); @@ -820,7 +820,7 @@ public: void JustSummoned(Creature* who) override { - who->SetInCombatWithZone(); + DoZoneInCombat(who); } void UpdateAI(uint32 diff) override @@ -987,7 +987,7 @@ public: void Reset() override { me->RemoveAllAuras(); - me->SetInCombatWithZone(); + DoZoneInCombat(); events.ScheduleEvent(EVENT_FADE_ARMOR, 1000); } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp index c6fa8aeb8b0..5a6cd67cdb1 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp @@ -214,7 +214,7 @@ class npc_onyx_flamecaller : public CreatureScript if (type != SPLINE_CHAIN_MOTION_TYPE && pointId != POINT_GENERAL_ROOM) return; - me->SetInCombatWithZone(); + DoZoneInCombat(); } void MoveToGeneral() diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 8105d570cee..aad2aea2d9a 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -1280,7 +1280,7 @@ class npc_living_inferno : public CreatureScript void IsSummonedBy(Unit* /*summoner*/) override { - me->SetInCombatWithZone(); + DoZoneInCombat(); me->CastSpell(me, SPELL_BLAZING_AURA, true); // SMSG_SPELL_GO for the living ember stuff isn't even sent to the client - Blizzard on drugs. diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp index 061344e2754..48f6cc63f20 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_anubarak_trial.cpp @@ -465,7 +465,7 @@ class npc_swarm_scarab : public CreatureScript me->SetCorpseDelay(0); Initialize(); DoCast(me, SPELL_ACID_MANDIBLE); - me->SetInCombatWithZone(); + DoZoneInCombat(); if (me->IsInCombat()) if (Creature* anubarak = _instance->GetCreature(DATA_ANUBARAK)) anubarak->AI()->JustSummoned(me); @@ -545,7 +545,7 @@ class npc_nerubian_burrower : public CreatureScript DoCast(me, SPELL_EXPOSE_WEAKNESS); DoCast(me, SPELL_SPIDER_FRENZY); DoCast(me, SPELL_AWAKENED); - me->SetInCombatWithZone(); + DoZoneInCombat(); if (me->IsInCombat()) if (Creature* anubarak = _instance->GetCreature(DATA_ANUBARAK)) anubarak->AI()->JustSummoned(me); @@ -708,7 +708,7 @@ class npc_anubarak_spike : public CreatureScript { Initialize(); // make sure the spike has everyone on threat list - me->SetInCombatWithZone(); + DoZoneInCombat(); } bool CanAIAttack(Unit const* victim) const override @@ -821,7 +821,7 @@ class npc_anubarak_spike : public CreatureScript me->SetSpeedRate(MOVE_RUN, 0.5f); // make sure the Spine will really follow the one he should me->GetThreatManager().ResetAllThreat(); - me->SetInCombatWithZone(); + DoZoneInCombat(); AddThreat(who, 1000000.0f); me->GetMotionMaster()->Clear(true); me->GetMotionMaster()->MoveChase(who); 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 31087b1cd0c..5a067e8aad3 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_northrend_beasts.cpp @@ -358,7 +358,7 @@ struct boss_gormok : public boss_northrend_beastsAI // Npc that should keep raid in combat while boss change if (Creature* combatStalker = me->SummonCreature(NPC_BEASTS_COMBAT_STALKER, CombatStalkerPosition)) { - combatStalker->SetInCombatWithZone(); + DoZoneInCombat(combatStalker); combatStalker->SetCombatPulseDelay(5); } DoZoneInCombat(); diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 10ea4cee459..f4bde03dcd7 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -256,11 +256,11 @@ struct boss_twin_baseAI : public BossAI void JustEngagedWith(Unit* /*who*/) override { - me->SetInCombatWithZone(); + DoZoneInCombat(); if (Creature* pSister = GetSister()) { me->AddAura(MyEmphatySpellId, pSister); - pSister->SetInCombatWithZone(); + DoZoneInCombat(pSister); } instance->SetBossState(DATA_TWIN_VALKIRIES, IN_PROGRESS); diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp index f6835e0dbea..2f7d4ff2e46 100644 --- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp +++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp @@ -152,7 +152,7 @@ class boss_drakkari_colossus : public CreatureScript me->SetReactState(REACT_AGGRESSIVE); me->RemoveAura(SPELL_FREEZE_ANIM); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; } @@ -222,10 +222,10 @@ class boss_drakkari_colossus : public CreatureScript void JustSummoned(Creature* summon) override { - summon->SetInCombatWithZone(); + DoZoneInCombat(summon); - if (phase == COLOSSUS_PHASE_SECOND_ELEMENTAL_SUMMON) - summon->SetHealth(summon->GetMaxHealth() / 2); + if (phase == COLOSSUS_PHASE_SECOND_ELEMENTAL_SUMMON) + summon->SetHealth(summon->GetMaxHealth() / 2); } private: @@ -424,7 +424,7 @@ public: colossus->AI()->DoAction(ACTION_UNFREEZE_COLOSSUS); if (!colossus->AI()->GetData(DATA_INTRO_DONE)) colossus->AI()->SetData(DATA_INTRO_DONE, true); - colossus->SetInCombatWithZone(); + DoZoneInCombat(colossus); me->DespawnOrUnsummon(); } } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 7fd0ac79401..233c1f35644 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -740,7 +740,7 @@ class npc_putricide_oozeAI : public ScriptedAI if (_instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) != IN_PROGRESS) me->DespawnOrUnsummon(); - me->SetInCombatWithZone(); + DoZoneInCombat(); DoCastAOE(_auraSpellId, true); } diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index b0d40533c1d..d07c5a9d10c 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -466,7 +466,7 @@ public: me->GetMotionMaster()->MoveLand(POINT_LAND_P_ONE, pos); me->SetImmuneToAll(false); me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); events.ScheduleEvent(EVENT_LAND_START_ENCOUNTER, 7*IN_MILLISECONDS, 1, PHASE_NOT_STARTED); } break; @@ -1184,7 +1184,7 @@ public: if (unit->GetTypeId() == TYPEID_UNIT) { unit->CastSpell(unit, SPELL_TELEPORT_VISUAL_ONLY); - unit->ToCreature()->SetInCombatWithZone(); + DoZoneInCombat(unit->ToCreature()); } else if (unit->GetTypeId() == TYPEID_PLAYER) me->SetDisableGravity(true); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 0c0b07bbab7..e1c81c0a286 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -131,7 +131,7 @@ class boss_kologarn : public CreatureScript if (Vehicle* vehicle = me->GetVehicleKit()) for (uint8 i = 0; i < 2; ++i) if (Unit* arm = vehicle->GetPassenger(i)) - arm->ToCreature()->SetInCombatWithZone(); + DoZoneInCombat(arm->ToCreature()); _JustEngagedWith(); } @@ -204,7 +204,7 @@ class boss_kologarn : public CreatureScript else { events.CancelEvent(EVENT_STONE_SHOUT); - who->ToCreature()->SetInCombatWithZone(); + DoZoneInCombat(who->ToCreature()); } } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 256a06c1836..dedfeec72be 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -1285,7 +1285,7 @@ struct npc_darkrune_watcher : public ScriptedAI { case EVENT_START_COMBAT: me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; case EVENT_LIGHTNING_BOLT: DoCastVictim(LIGHTNING_BOLT); @@ -1356,7 +1356,7 @@ struct npc_darkrune_guardian : public ScriptedAI { case EVENT_START_COMBAT: me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; case EVENT_STORMSTRIKE: DoCastVictim(SPELL_STORMSTRIKE); @@ -1415,7 +1415,7 @@ struct npc_darkrune_sentinel : public ScriptedAI { case EVENT_START_COMBAT: me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); break; case EVENT_HEROIC_STRIKE: DoCastVictim(SPELL_HEROIC_STRIKE); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp index 7888203470d..a27a0606a9b 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yogg_saron.cpp @@ -459,11 +459,10 @@ class boss_voice_of_yogg_saron : public CreatureScript } void MoveInLineOfSight(Unit* who) override - { // TODO: MoveInLineOfSight doesn't work for such a big distance if (who->GetTypeId() == TYPEID_PLAYER && me->GetDistance2d(who) < 99.0f && !me->IsInCombat()) - me->SetInCombatWithZone(); + DoZoneInCombat(); } void EnterEvadeMode(EvadeReason why) override @@ -623,7 +622,7 @@ class boss_voice_of_yogg_saron : public CreatureScript events.SetPhase(PHASE_TWO); me->SummonCreature(NPC_YOGG_SARON, YoggSaronSpawnPos); if (Creature* brain = instance->GetCreature(DATA_BRAIN_OF_YOGG_SARON)) - brain->SetInCombatWithZone(); + DoZoneInCombat(brain); events.ScheduleEvent(EVENT_SUMMON_CORRUPTOR_TENTACLE, 1, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); events.ScheduleEvent(EVENT_SUMMON_CONSTRICTOR_TENTACLE, 1, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); events.ScheduleEvent(EVENT_SUMMON_CRUSHER_TENTACLE, 1, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO); diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index 70ba8b14dce..32ae81768ef 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -117,7 +117,7 @@ public: { _owner->SetReactState(REACT_AGGRESSIVE); _owner->SetTempSummonType(TEMPSUMMON_CORPSE_DESPAWN); - _owner->SetInCombatWithZone(); + _owner->AI()->DoZoneInCombat(); return true; } diff --git a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp index 2ab98e53093..126d24da50c 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/boss_toravon.cpp @@ -160,7 +160,7 @@ struct npc_frozen_orb : public ScriptedAI if (toravon->IsInCombat()) { toravon->AI()->JustSummoned(me); - me->SetInCombatWithZone(); + DoZoneInCombat(); } else me->DespawnOrUnsummon(); diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 6abc09dee88..5bdbd406d67 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1379,7 +1379,7 @@ struct npc_parasitic_shadowfiend : public ScriptedAI _scheduler.Schedule(Seconds(2), [this](TaskContext /*context*/) { me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); }); } @@ -1394,7 +1394,7 @@ struct npc_parasitic_shadowfiend : public ScriptedAI _scheduler.Schedule(Seconds(2), [this](TaskContext /*context*/) { me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); }); } @@ -1497,7 +1497,7 @@ struct npc_flame_of_azzinoth : public ScriptedAI { case EVENT_ENGAGE: me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); _events.ScheduleEvent(EVENT_FLAME_CHARGE, Seconds(5)); break; case EVENT_FLAME_CHARGE: diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index a5455876b2d..6c339c35c63 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -634,7 +634,7 @@ struct npc_enslaved_soul : public ScriptedAI _scheduler.Schedule(Seconds(3), [this](TaskContext /*context*/) { me->SetReactState(REACT_AGGRESSIVE); - me->SetInCombatWithZone(); + DoZoneInCombat(); }); } diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index c156a1aa10c..50d5cf67a10 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -233,7 +233,7 @@ struct npc_doom_blossom : public NullCreatureAI DoCast(SPELL_SUMMON_BLOSSOM_MOVE_TARGET); _scheduler.CancelAll(); - me->SetInCombatWithZone(); + DoZoneInCombat(); _scheduler.Schedule(Seconds(12), [this](TaskContext shadowBolt) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp index e4f54514d94..2560dfb0e99 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/boss_ahune.cpp @@ -391,7 +391,7 @@ public: if (summon->GetEntry() == NPC_AHUNE) return; - summon->SetInCombatWithZone(); + DoZoneInCombat(summon); _summons.Summon(summon); } @@ -470,7 +470,7 @@ public: if (TempSummon* ahune = me->SummonCreature(NPC_AHUNE, SummonPositions[0], TEMPSUMMON_DEAD_DESPAWN)) { ahune->SummonCreature(NPC_FROZEN_CORE, SummonPositions[1], TEMPSUMMON_CORPSE_DESPAWN); - ahune->SetInCombatWithZone(); + DoZoneInCombat(ahune); DoCast(ahune, SPELL_RESURFACE); } break; @@ -671,7 +671,7 @@ public: if (Creature* ahuneBunny = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_AHUNE_BUNNY))) { ahuneBunny->AI()->DoAction(ACTION_START_EVENT); - ahuneBunny->SetInCombatWithZone(); + ahuneBunny->AI()->DoZoneInCombat(); } if (Creature* luma = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_LUMA_SKYMOTHER))) luma->CastSpell(player, SPELL_SUMMONING_RHYME_AURA, true); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index d9baabc0ba2..334e7335ccd 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -103,7 +103,7 @@ class boss_broggok : public CreatureScript switch (action) { case ACTION_PREPARE_BROGGOK: - me->SetInCombatWithZone(); + DoZoneInCombat(); break; case ACTION_ACTIVATE_BROGGOK: me->SetReactState(REACT_AGGRESSIVE); diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index 6a5c804d41d..45d4350720b 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -294,7 +294,7 @@ class instance_blood_furnace : public InstanceMapScript { prisoner->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE); prisoner->SetImmuneToAll(false); - prisoner->SetInCombatWithZone(); + prisoner->AI()->DoZoneInCombat(); } } diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index ef83ec9af8d..8f0a3807428 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -250,7 +250,7 @@ class boss_magtheridon : public CreatureScript case EVENT_RELEASED: me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); me->SetImmuneToPC(false); - me->SetInCombatWithZone(); + DoZoneInCombat(); instance->SetData(DATA_MANTICRON_CUBE, ACTION_ENABLE); events.ScheduleEvent(EVENT_CLEAVE, Seconds(10)); events.ScheduleEvent(EVENT_BLAST_NOVA, Seconds(60)); @@ -354,7 +354,7 @@ class npc_hellfire_channeler : public CreatureScript if (Creature* magtheridon = _instance->GetCreature(DATA_MAGTHERIDON)) magtheridon->AI()->JustSummoned(summon); - summon->SetInCombatWithZone(); + DoZoneInCombat(summon); } void EnterEvadeMode(EvadeReason /*why*/) override diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp index 0a538face5c..40dc9a58e6d 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -123,7 +123,7 @@ class instance_magtheridons_lair : public InstanceMapScript for (ObjectGuid warderGuid : warderGUIDS) if (Creature* warder = instance->GetCreature(warderGuid)) if (warder->IsAlive()) - warder->SetInCombatWithZone(); + warder->AI()->DoZoneInCombat(); break; default: break; |