From 768eec33e507f30651bca74da500d424a3641df9 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 31 Dec 2020 21:01:58 -0500 Subject: [PATCH] Core/Vehicles: Treat entering other vehicles mounted on main vehicle as swapping seats Port From (https://github.com/TrinityCore/TrinityCore/commit/110564e757fefbfbddfab876a96ca9eb5aa7dd7b) --- Source/Game/Spells/Auras/AuraEffect.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Game/Spells/Auras/AuraEffect.cs b/Source/Game/Spells/Auras/AuraEffect.cs index df2ca4e51..91e4ec8f6 100644 --- a/Source/Game/Spells/Auras/AuraEffect.cs +++ b/Source/Game/Spells/Auras/AuraEffect.cs @@ -2651,7 +2651,10 @@ namespace Game.Spells caster.ToCreature().DespawnOrUnsummon(); } - if (!mode.HasAnyFlag(AuraEffectHandleModes.ChangeAmount)) + bool seatChange = mode.HasAnyFlag(AuraEffectHandleModes.ChangeAmount) // Seat change on the same direct vehicle + || target.HasAuraType(AuraType.ControlVehicle); // Seat change to a proxy vehicle (for example turret mounted on a siege engine) + + if (!seatChange) caster._ExitVehicle(); else target.GetVehicleKit().RemovePassenger(caster); // Only remove passenger from vehicle without launching exit movement or despawning the vehicle