diff options
author | jackpoz <giacomopoz@gmail.com> | 2020-12-28 12:38:34 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2020-12-28 12:38:34 +0100 |
commit | 0ad1854d1c6a3b6ff93e71272c919f1f5f11d5ed (patch) | |
tree | 8e4377c93bf536391a24138f5528e4eef9b35a62 /src | |
parent | aabd2b49e2710e00c39c4b4f22fef08aa029d4db (diff) |
Scripts/ICC: Fix teleporter not removing players from Gunship
A more generic solution might be better, maybe depending on spell flags
Ref #25652
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/go_icecrown_citadel_teleport.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/go_icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/go_icecrown_citadel_teleport.cpp index cf01e8c9c45..ebc500029a7 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/go_icecrown_citadel_teleport.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/go_icecrown_citadel_teleport.cpp @@ -25,6 +25,7 @@ #include "Spell.h" #include "SpellInfo.h" #include "SpellMgr.h" +#include "Transport.h" static std::vector<uint32> const TeleportSpells = { @@ -69,6 +70,11 @@ class icecrown_citadel_teleport : public GameObjectScript return true; } + // If the player is on the ship, Unit::NearTeleport() will try to keep the player on the ship, causing issues. + // For that we simply always remove the player from the ship. + if (Transport* transport = player->GetTransport()) + transport->RemovePassenger(player); + player->CastSpell(player, teleportSpell, true); return true; } |