diff options
| author | Snapper <snapperryen@gmail.com> | 2016-10-30 11:20:58 +0100 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-11-11 21:06:58 +0100 |
| commit | d25a8d42a381345c7fb86760049be70006a65e9d (patch) | |
| tree | e0f7e3c9460bf9a872c61419f3c6ebe75462052e /src/server/game/Spells/SpellEffects.cpp | |
| parent | c6881bd8a46b8ebd6a845b471668a630deb6da30 (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.cpp | 4 |
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); |
