diff --git a/src/game/WorldHandlers/Spell.cpp b/src/game/WorldHandlers/Spell.cpp index f68a6574..7b238319 100644 --- a/src/game/WorldHandlers/Spell.cpp +++ b/src/game/WorldHandlers/Spell.cpp @@ -2971,8 +2971,12 @@ void Spell::_handle_immediate_phase() for (int j = 0; j < MAX_EFFECT_INDEX; ++j) { // persistent area auras target only the ground - if (m_spellInfo->Effect[j] == SPELL_EFFECT_PERSISTENT_AREA_AURA) - { HandleEffects(NULL, NULL, NULL, SpellEffectIndex(j)); } + if (m_spellInfo->Effect[j] == SPELL_EFFECT_PERSISTENT_AREA_AURA || + //summon a gameobject at the spell's destination xyz + (m_spellInfo->Effect[j] == SPELL_EFFECT_TRANS_DOOR && m_spellInfo->EffectImplicitTargetA[j] == TARGET_AREAEFFECT_GO_AROUND_DEST)) + { + HandleEffects(NULL, NULL, NULL, SpellEffectIndex(j)); + } } } diff --git a/src/game/WorldHandlers/SpellEffects.cpp b/src/game/WorldHandlers/SpellEffects.cpp index e0c74df1..abed47fb 100644 --- a/src/game/WorldHandlers/SpellEffects.cpp +++ b/src/game/WorldHandlers/SpellEffects.cpp @@ -5144,6 +5144,11 @@ void Spell::EffectTransmitted(SpellEffectIndex eff_idx) } break; } + case GAMEOBJECT_TYPE_SPELLCASTER: + { + m_caster->AddGameObject(pGameObj); + break; + } case GAMEOBJECT_TYPE_FISHINGHOLE: case GAMEOBJECT_TYPE_CHEST: default: