diff options
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 97b11625380..45481f9ee6a 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -997,15 +997,15 @@ void Spell::EffectTeleportUnits() Player* player = unitTarget->ToPlayer(); - // Custom loading screen if (player) { + // Custom loading screen if (uint32 customLoadingScreenId = effectInfo->MiscValue) - player->SendDirectMessage(WorldPackets::Spells::CustomLoadScreen(m_spellInfo->Id, customLoadingScreenId).Write()); + if (targetDest.GetMapId() != unitTarget->GetMapId() || !unitTarget->IsInDist2d(targetDest, TELEPORT_MIN_LOAD_SCREEN_DISTANCE)) + player->SendDirectMessage(WorldPackets::Spells::CustomLoadScreen(m_spellInfo->Id, customLoadingScreenId).Write()); TeleportToOptions options = GetTeleportOptions(m_caster, unitTarget, m_destTargets[effectInfo->EffectIndex]); - - player->TeleportTo(targetDest, options); + player->TeleportTo(targetDest, options, {}, m_spellInfo->Id); } else if (targetDest.GetMapId() == unitTarget->GetMapId()) |
