aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorSnapper <snapperryen@gmail.com>2016-10-30 11:20:58 +0100
committerjoschiwald <joschiwald.trinity@gmail.com>2017-11-11 21:06:58 +0100
commitd25a8d42a381345c7fb86760049be70006a65e9d (patch)
treee0f7e3c9460bf9a872c61419f3c6ebe75462052e /src/server/game/Spells/SpellEffects.cpp
parentc6881bd8a46b8ebd6a845b471668a630deb6da30 (diff)
Core/GameObjects: Handle despawning and respawning of nearby linked traps on gameobject despawn and respawn
Closes #12139 Closes #17553 (cherry picked from commit 5d9d25d5960a29d098035f9382a7b022e5294229)
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
1 files changed, 4 insertions, 0 deletions
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);