diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-05-23 21:08:29 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-12-07 00:02:03 +0100 |
| commit | 5f545f540216d3b94c26e4aeda50c8bb8d5c3d74 (patch) | |
| tree | f949771047c43242881593e94522783851415e5c /src/server/scripts/EasternKingdoms | |
| parent | 54044bda8219e712eaec6148af4db6523386cc0f (diff) | |
3.3.5 gameobject summoner (#23289)
* Scripts/Misc: Change IsSummonedBy(Unit*) to IsSummonedBy(WorldObject*)
* Scripts/Misc: Fix build
* Core/TempSummons: Rename GetSummoner() to GetSummonerUnit()
* Core/TempSummons: Add support to TempSummons::GetSummoner() to return GameObject too
* Fix build
* Core/TempSummons: Allow GameObject to be owner of TempSummon
* Core/TempSummons: Add support to SAI for GameObject owner of TempSummon
* Scripts/Misc: Fix no-pch build
* Core/TempSummons: Implement PR comments
(cherry picked from commit 797fba98e95da1236465a15061ec4122d7ec33fe)
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
14 files changed, 17 insertions, 17 deletions
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp index 21dc4d454a3..f616da3f9a1 100644 --- a/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp +++ b/src/server/scripts/EasternKingdoms/BaradinHold/boss_occuthar.cpp @@ -166,7 +166,7 @@ class npc_eyestalk : public CreatureScript _damageCount = 0; } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { // player is the spellcaster so register summon manually if (Creature* occuthar = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_OCCUTHAR))) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp index 4baea306d59..83f1b9e12b8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/blackrock_caverns.cpp @@ -610,7 +610,7 @@ class npc_raz_the_crazed : public CreatureScript _events.ScheduleEvent(SPELL_FURIOUS_SWIPE, 500); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { if (summoner->GetEntry() == NPC_ROMOGG_BONECRUSHER) { @@ -691,7 +691,7 @@ class npc_chains_of_woe : public CreatureScript { npc_chains_of_woeAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { me->SetDisplayId(MODEL_INVISIBLE); DoCast(me, SPELL_CHAINS_OF_WOE_1, true); 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 4d569d8ea36..02a6949850a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_coren_direbrew.cpp @@ -346,7 +346,7 @@ struct npc_direbrew_minion : public ScriptedAI DoZoneInCombat(); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { if (Creature* coren = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_COREN))) coren->AI()->JustSummoned(me); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp index 69d34581a50..7904c6cfb28 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gizrul_the_slavener.cpp @@ -54,7 +54,7 @@ public: _Reset(); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { me->GetMotionMaster()->MovePath(GIZRUL_PATH, false); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp index d939024cbed..27c601d1fd8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp @@ -189,7 +189,7 @@ public: events.ScheduleEvent(EVENT_MORTAL_STRIKE, 17s, 19s); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { me->SetImmuneToPC(false); DoZoneInCombat(); diff --git a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp index e38ab023e70..e482b88eaee 100644 --- a/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp +++ b/src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp @@ -517,7 +517,7 @@ public: if (!me->IsSummon()) return; - if (Unit* summon = me->ToTempSummon()->GetSummoner()) + if (Unit* summon = me->ToTempSummon()->GetSummonerUnit()) if (Creature* creature = summon->ToCreature()) creature->AI()->SetData(2, 1); } @@ -535,7 +535,7 @@ public: if (!me->IsSummon()) return; - if (Unit* summoner = me->ToTempSummon()->GetSummoner()) + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) if (Creature* creature = summoner->ToCreature()) creature->AI()->SetData(2, 2); } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp index b5182ae0e47..3e11a414454 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp @@ -159,7 +159,7 @@ public: BossAI::JustSummoned(summon); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { if (summoner->GetEntry() == NPC_MIDNIGHT) _phase = PHASE_ATTUMEN_ENGAGES; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp index a65f69fa57c..f03df2a61c4 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp @@ -210,7 +210,7 @@ public: { npc_demon_chainAI(Creature* creature) : PassiveAI(creature) { } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { _sacrificeGUID = summoner->GetGUID(); DoCastSelf(SPELL_DEMON_CHAINS, true); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp index fe69169dca7..cbd39373efc 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp @@ -388,7 +388,7 @@ struct npc_felblood_kaelthas_phoenix : public ScriptedAI _isInEgg = false; } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { DoZoneInCombat(); DoCastSelf(SPELL_BURN); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index f7812e1c898..d8b7660c502 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -1178,7 +1178,7 @@ class npc_scarlet_miner : public CreatureScript Initialize(); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { carGUID = summoner->GetGUID(); } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp index a92a344c6fb..cadce44d648 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp @@ -88,7 +88,7 @@ public: { Player* player = nullptr; if (me->IsSummon()) - if (Unit* summoner = me->ToTempSummon()->GetSummoner()) + if (Unit* summoner = me->ToTempSummon()->GetSummonerUnit()) player = summoner->ToPlayer(); if (!player) diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp index 48eead6d1ad..795266f7bae 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp @@ -88,7 +88,7 @@ class boss_darkmaster_gandling : public CreatureScript gate->SetGoState(GO_STATE_READY); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { Talk(YELL_SUMMONED); me->GetMotionMaster()->MoveRandom(5); diff --git a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp index ea465b8d01d..b7da7933eea 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp @@ -124,7 +124,7 @@ class boss_kirtonos_the_herald : public CreatureScript me->DespawnOrUnsummon(5000); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { events.ScheduleEvent(INTRO_1, 500); me->SetDisableGravity(true); diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 7a9fe642f73..8f4ed2dc87a 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -428,7 +428,7 @@ public: }); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { _summonerGUID = summoner->GetGUID(); } @@ -466,7 +466,7 @@ public: _instance = me->GetInstanceScript(); } - void IsSummonedBy(Unit* /*summoner*/) override + void IsSummonedBy(WorldObject* /*summoner*/) override { if (Creature* muru = _instance->GetCreature(DATA_MURU)) muru->AI()->JustSummoned(me); |
