From 55746b100796d4f9ba280579cd2e97111936940b Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 2 Nov 2021 13:34:29 -0400 Subject: [PATCH] Core/Instances: Drop allowMount column in instance_template as it is already handled properly by SPELL_ATTR0_OUTDOORS_ONLY Port From (https://github.com/TrinityCore/TrinityCore/commit/8b171d7c019f0010ec05af92466261d4be78bfff) --- Source/Game/Globals/ObjectManager.cs | 5 ++--- Source/Game/Handlers/MovementHandler.cs | 8 -------- Source/Game/Spells/Spell.cs | 9 --------- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/Source/Game/Globals/ObjectManager.cs b/Source/Game/Globals/ObjectManager.cs index 61ac87e35..f4896e716 100644 --- a/Source/Game/Globals/ObjectManager.cs +++ b/Source/Game/Globals/ObjectManager.cs @@ -4993,9 +4993,9 @@ namespace Game public void LoadInstanceTemplate() { var time = Time.GetMSTime(); - // 0 1 2 4 - SQLResult result = DB.World.Query("SELECT map, parent, script, allowMount FROM instance_template"); + // 0 1 2 + SQLResult result = DB.World.Query("SELECT map, parent, script FROM instance_template"); if (result.IsEmpty()) { Log.outInfo(LogFilter.ServerLoading, "Loaded 0 instance templates. DB table `instance_template` is empty!"); @@ -5014,7 +5014,6 @@ namespace Game } var instanceTemplate = new InstanceTemplate(); - instanceTemplate.AllowMount = result.Read(3); instanceTemplate.Parent = result.Read(1); instanceTemplate.ScriptId = Global.ObjectMgr.GetScriptId(result.Read(2)); diff --git a/Source/Game/Handlers/MovementHandler.cs b/Source/Game/Handlers/MovementHandler.cs index a845aca58..092dd4d07 100644 --- a/Source/Game/Handlers/MovementHandler.cs +++ b/Source/Game/Handlers/MovementHandler.cs @@ -351,7 +351,6 @@ namespace Game } } - bool allowMount = !mapEntry.IsDungeon() || mapEntry.IsBattlegroundOrArena(); if (mInstance != null) { // check if this instance has a reset time and send it to player if so @@ -373,15 +372,8 @@ namespace Game // check if instance is valid if (!GetPlayer().CheckInstanceValidity(false)) GetPlayer().m_InstanceValid = false; - - // instance mounting is handled in InstanceTemplate - allowMount = mInstance.AllowMount; } - // mount allow check - if (!allowMount) - GetPlayer().RemoveAurasByType(AuraType.Mounted); - // update zone immediately, otherwise leave channel will cause crash in mtmap uint newzone, newarea; GetPlayer().GetZoneAndAreaId(out newzone, out newarea); diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index 52c32ff3d..1a20d0ba9 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -5315,15 +5315,6 @@ namespace Game.Spells if (unitCaster.IsInWater() && m_spellInfo.HasAura(AuraType.ModIncreaseMountedFlightSpeed)) return SpellCastResult.OnlyAbovewater; - // Ignore map check if spell have AreaId. AreaId already checked and this prevent special mount spells - bool allowMount = !unitCaster.GetMap().IsDungeon() || unitCaster.GetMap().IsBattlegroundOrArena(); - InstanceTemplate it = Global.ObjectMgr.GetInstanceTemplate(unitCaster.GetMapId()); - if (it != null) - allowMount = it.AllowMount; - - if (unitCaster.IsTypeId(TypeId.Player) && !allowMount && m_spellInfo.RequiredAreasID == 0) - return SpellCastResult.NoMountsAllowed; - if (unitCaster.IsInDisallowedMountForm()) { SendMountResult(MountResult.Shapeshifted); // mount result gets sent before the cast result