diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-11-15 09:52:12 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-22 00:17:09 +0100 |
commit | d6ec0afc78055294b9d701d114bd4d3ea571e953 (patch) | |
tree | 8de2a729fc10af66c0cbb7539656a97dd0cce0e8 /src | |
parent | 1d30f7ae2b5451571f6e8cac9a30741ca4cdb29b (diff) |
Core/Vehicles: Add additional logging to track issue #24876
(cherry picked from commit f20b7a10805f2f989e1c44648e1e6ecd9826ef55)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index f3f4260f7f1..9660cf8468a 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22021,7 +22021,20 @@ void Player::StopCastingCharm() if (charm->ToCreature()->HasUnitTypeMask(UNIT_MASK_PUPPET)) static_cast<Puppet*>(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().IsEmpty()) charm->RemoveCharmAuras(); |