From 5f545f540216d3b94c26e4aeda50c8bb8d5c3d74 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Thu, 23 May 2019 21:08:29 +0200 Subject: 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) --- src/server/scripts/Pet/pet_hunter.cpp | 2 +- src/server/scripts/Pet/pet_priest.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/server/scripts/Pet') diff --git a/src/server/scripts/Pet/pet_hunter.cpp b/src/server/scripts/Pet/pet_hunter.cpp index e53316f1a83..b3ebdcd45d1 100644 --- a/src/server/scripts/Pet/pet_hunter.cpp +++ b/src/server/scripts/Pet/pet_hunter.cpp @@ -75,7 +75,7 @@ class npc_pet_hunter_snake_trap : public CreatureScript if (me->IsSummon() && !me->GetThreatManager().GetFixateTarget()) { // find new target - Unit* summoner = me->ToTempSummon()->GetSummoner(); + Unit* summoner = me->ToTempSummon()->GetSummonerUnit(); std::vector targets; for (std::pair const& pair : summoner->GetCombatManager().GetPvPCombatRefs()) diff --git a/src/server/scripts/Pet/pet_priest.cpp b/src/server/scripts/Pet/pet_priest.cpp index 381baa15387..38016ddee17 100644 --- a/src/server/scripts/Pet/pet_priest.cpp +++ b/src/server/scripts/Pet/pet_priest.cpp @@ -70,8 +70,12 @@ class npc_pet_pri_shadowfiend : public CreatureScript { npc_pet_pri_shadowfiendAI(Creature* creature) : PetAI(creature) { } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summonerWO) override { + Unit* summoner = summonerWO->ToUnit(); + if (!summoner) + return; + if (summoner->HasAura(SPELL_PRIEST_GLYPH_OF_SHADOWFIEND)) DoCastAOE(SPELL_PRIEST_SHADOWFIEND_DEATH); } -- cgit v1.2.3