From 797fba98e95da1236465a15061ec4122d7ec33fe 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 --- src/server/scripts/World/boss_emerald_dragons.cpp | 6 +++++- src/server/scripts/World/npcs_special.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/server/scripts/World') diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp index 9a485fc2c0e..7a21ef13f66 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -428,8 +428,12 @@ class npc_spirit_shade : public CreatureScript { } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summonerWO) override { + Unit* summoner = summonerWO->ToUnit(); + if (!summoner) + return; + _summonerGuid = summoner->GetGUID(); me->GetMotionMaster()->MoveFollow(summoner, 0.0f, 0.0f); } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 65f068091a5..05abb9511e2 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -2455,7 +2455,7 @@ public: summonerGUID.Clear(); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { if (summoner->GetTypeId() == TYPEID_PLAYER) { -- cgit v1.2.3