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/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 46304697d6c..3d756b2a352 100644 --- a/src/server/scripts/World/boss_emerald_dragons.cpp +++ b/src/server/scripts/World/boss_emerald_dragons.cpp @@ -426,8 +426,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 fb8e915fb96..3e27c6081f2 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -2414,7 +2414,7 @@ public: summonerGUID.Clear(); } - void IsSummonedBy(Unit* summoner) override + void IsSummonedBy(WorldObject* summoner) override { if (summoner->GetTypeId() == TYPEID_PLAYER) { -- cgit v1.2.3