From d25a8d42a381345c7fb86760049be70006a65e9d Mon Sep 17 00:00:00 2001 From: Snapper Date: Sun, 30 Oct 2016 11:20:58 +0100 Subject: Core/GameObjects: Handle despawning and respawning of nearby linked traps on gameobject despawn and respawn Closes #12139 Closes #17553 (cherry picked from commit 5d9d25d5960a29d098035f9382a7b022e5294229) --- src/server/game/Spells/SpellEffects.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/server/game/Spells/SpellEffects.cpp') diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 7ed906c3247..d210a4c44f9 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3139,6 +3139,8 @@ void Spell::EffectSummonObjectWild(SpellEffIndex effIndex) GameObject* linkedGO = new GameObject(); if (linkedGO->Create(linkedEntry, map, m_caster->GetPhaseMask(), Position(x, y, z, target->GetOrientation()), rot, 255, GO_STATE_READY)) { + pGameObj->SetLinkedTrap(linkedGO); + linkedGO->CopyPhaseFrom(m_caster); linkedGO->SetRespawnTime(duration > 0 ? duration/IN_MILLISECONDS : 0); @@ -4777,6 +4779,8 @@ void Spell::EffectTransmitted(SpellEffIndex effIndex) GameObject* linkedGO = new GameObject; if (linkedGO->Create(linkedEntry, cMap, m_caster->GetPhaseMask(), pos, rot, 255, GO_STATE_READY)) { + pGameObj->SetLinkedTrap(linkedGO); + linkedGO->CopyPhaseFrom(m_caster); linkedGO->SetRespawnTime(duration > 0 ? duration/IN_MILLISECONDS : 0); -- cgit v1.2.3