Core/Player: Add helper function to determine if war mode can be enabled in area
Port From (https://github.com/TrinityCore/TrinityCore/commit/626c8f5de12daac6b88989807eba65d3d7a061dd)
This commit is contained in:
@@ -5460,7 +5460,7 @@ namespace Game.Spells
|
||||
BattleField Bf = Global.BattleFieldMgr.GetBattlefieldToZoneId(m_originalCaster.GetZoneId());
|
||||
var area = CliDB.AreaTableStorage.LookupByKey(m_originalCaster.GetAreaId());
|
||||
if (area != null)
|
||||
if (area.Flags[0].HasAnyFlag(AreaFlags.NoFlyZone) || (Bf != null && !Bf.CanFlyIn()))
|
||||
if (area.Flags.HasFlag(AreaFlags.NoFlyZone) || (Bf != null && !Bf.CanFlyIn()))
|
||||
return SpellCastResult.NotHere;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3268,14 +3268,14 @@ namespace Game.Spells
|
||||
|
||||
// Players can only fight a duel in zones with this flag
|
||||
AreaTableRecord casterAreaEntry = CliDB.AreaTableStorage.LookupByKey(caster.GetAreaId());
|
||||
if (casterAreaEntry != null && !casterAreaEntry.Flags[0].HasAnyFlag(AreaFlags.AllowDuels))
|
||||
if (casterAreaEntry != null && !casterAreaEntry.Flags.HasFlag(AreaFlags.AllowDuels))
|
||||
{
|
||||
SendCastResult(SpellCastResult.NoDueling); // Dueling isn't allowed here
|
||||
return;
|
||||
}
|
||||
|
||||
AreaTableRecord targetAreaEntry = CliDB.AreaTableStorage.LookupByKey(target.GetAreaId());
|
||||
if (targetAreaEntry != null && !targetAreaEntry.Flags[0].HasAnyFlag(AreaFlags.AllowDuels))
|
||||
if (targetAreaEntry != null && !targetAreaEntry.Flags.HasFlag(AreaFlags.AllowDuels))
|
||||
{
|
||||
SendCastResult(SpellCastResult.NoDueling); // Dueling isn't allowed here
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user