Core/Areas: Update AreaFlags
Port From (https://github.com/TrinityCore/TrinityCore/commit/f8f1c3b4f0ca631e76101f8492b9688c6d2dca01)
This commit is contained in:
@@ -842,19 +842,19 @@ namespace Game.Spells
|
||||
// continent limitation (virtual continent)
|
||||
if (HasAttribute(SpellAttr4.OnlyFlyingAreas))
|
||||
{
|
||||
uint mountFlags = 0;
|
||||
AreaMountFlags mountFlags = 0;
|
||||
if (player && player.HasAuraType(AuraType.MountRestrictions))
|
||||
{
|
||||
foreach (AuraEffect auraEffect in player.GetAuraEffectsByType(AuraType.MountRestrictions))
|
||||
mountFlags |= (uint)auraEffect.GetMiscValue();
|
||||
mountFlags |= (AreaMountFlags)auraEffect.GetMiscValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
AreaTableRecord areaTable = CliDB.AreaTableStorage.LookupByKey(area_id);
|
||||
if (areaTable != null)
|
||||
mountFlags = areaTable.MountFlags;
|
||||
mountFlags = areaTable.GetMountFlags();
|
||||
}
|
||||
if (!Convert.ToBoolean(mountFlags & (uint)AreaMountFlags.FlyingAllowed))
|
||||
if (!mountFlags.HasFlag(AreaMountFlags.AllowFlyingMounts))
|
||||
return SpellCastResult.IncorrectArea;
|
||||
|
||||
if (player)
|
||||
|
||||
Reference in New Issue
Block a user