From c56703e1bd0c70d6ed01a6e4cd775536d6f05995 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 28 Nov 2021 12:18:35 +0100 Subject: [PATCH] Core/Vehicles: Add additional logging to track issue #24876 --- src/server/game/Entities/Player/Player.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index a7190788d1a..a21d4149052 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -20991,7 +20991,20 @@ void Player::StopCastingCharm() if (charm->ToCreature()->HasUnitTypeMask(UNIT_MASK_PUPPET)) static_cast(charm)->UnSummon(); else if (charm->IsVehicle()) + { ExitVehicle(); + + // Temporary for issue https://github.com/TrinityCore/TrinityCore/issues/24876 + if (!GetCharmedGUID().IsEmpty() && !charm->HasAuraTypeWithCaster(SPELL_AURA_CONTROL_VEHICLE, GetGUID())) + { + TC_LOG_FATAL("entities.player", "Player::StopCastingCharm Player '%s' (%s) is not able to uncharm vehicle (%s) because of missing SPELL_AURA_CONTROL_VEHICLE", + GetName().c_str(), GetGUID().ToString().c_str(), GetCharmedGUID().ToString().c_str()); + + // attempt to recover from missing HandleAuraControlVehicle unapply handling + // THIS IS A HACK, NEED TO FIND HOW IS IT EVEN POSSBLE TO NOT HAVE THE AURA + _ExitVehicle(); + } + } } if (GetCharmedGUID()) charm->RemoveCharmAuras();