From 0cccf91411a3058d21a4f47161415d8656b6073c Mon Sep 17 00:00:00 2001 From: hondacrx Date: Mon, 30 May 2022 14:09:03 -0400 Subject: [PATCH] Misc fixes --- Source/Game/Entities/Player/Player.cs | 12 ++++++++++++ Source/Game/Networking/Packets/ScenarioPackets.cs | 1 + 2 files changed, 13 insertions(+) diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index 484ef8d33..32508e0c3 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -980,7 +980,19 @@ namespace Game.Entities if (charm.ToCreature().HasUnitTypeMask(UnitTypeMask.Puppet)) ((Puppet)charm).UnSummon(); else if (charm.IsVehicle()) + { ExitVehicle(); + + // Temporary for issue https://github.com/TrinityCore/TrinityCore/issues/24876 + if (!GetCharmedGUID().IsEmpty() && !charm.HasAuraTypeWithCaster(AuraType.ControlVehicle, GetGUID())) + { + Log.outFatal(LogFilter.Player, $"Player::StopCastingCharm Player '{GetName()}' ({GetGUID()}) is not able to uncharm vehicle ({GetCharmedGUID()}) because of missing SPELL_AURA_CONTROL_VEHICLE"); + + // 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(); diff --git a/Source/Game/Networking/Packets/ScenarioPackets.cs b/Source/Game/Networking/Packets/ScenarioPackets.cs index 635dc8c68..8e4ee6b0a 100644 --- a/Source/Game/Networking/Packets/ScenarioPackets.cs +++ b/Source/Game/Networking/Packets/ScenarioPackets.cs @@ -16,6 +16,7 @@ */ using Framework.Constants; +using Game.Entities; using Game.Scenarios; using System.Collections.Generic;