Core/Disables: Implement SPELL_DISABLE_ARENAS
Port From (https://github.com/TrinityCore/TrinityCore/commit/268e0bea184ef8dc8d56c9f4baccb876ed245db4)
This commit is contained in:
@@ -63,7 +63,7 @@ namespace Game
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint entry = result.Read<uint>(1);
|
uint entry = result.Read<uint>(1);
|
||||||
DisableFlags flags = (DisableFlags)result.Read<byte>(2);
|
DisableFlags flags = (DisableFlags)result.Read<ushort>(2);
|
||||||
string params_0 = result.Read<string>(3);
|
string params_0 = result.Read<string>(3);
|
||||||
string params_1 = result.Read<string>(4);
|
string params_1 = result.Read<string>(4);
|
||||||
|
|
||||||
@@ -305,6 +305,19 @@ namespace Game
|
|||||||
(refe.IsCreature() && (spellFlags.HasFlag(DisableFlags.SpellCreature) || (refe.ToUnit().IsPet() && spellFlags.HasFlag(DisableFlags.SpellPet)))) ||
|
(refe.IsCreature() && (spellFlags.HasFlag(DisableFlags.SpellCreature) || (refe.ToUnit().IsPet() && spellFlags.HasFlag(DisableFlags.SpellPet)))) ||
|
||||||
(refe.IsGameObject() && spellFlags.HasFlag(DisableFlags.SpellGameobject)))
|
(refe.IsGameObject() && spellFlags.HasFlag(DisableFlags.SpellGameobject)))
|
||||||
{
|
{
|
||||||
|
if (spellFlags.HasAnyFlag(DisableFlags.SpellArenas | DisableFlags.SpellBattleGrounds))
|
||||||
|
{
|
||||||
|
var map = refe.GetMap();
|
||||||
|
if (map != null)
|
||||||
|
{
|
||||||
|
if (spellFlags.HasFlag(DisableFlags.SpellArenas) && map.IsBattleArena())
|
||||||
|
return true; // Current map is Arena and this spell is disabled here
|
||||||
|
|
||||||
|
if (spellFlags.HasFlag(DisableFlags.SpellBattleGrounds) && map.IsBattleground())
|
||||||
|
return true; // Current map is a Battleground and this spell is disabled here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (spellFlags.HasFlag(DisableFlags.SpellMap))
|
if (spellFlags.HasFlag(DisableFlags.SpellMap))
|
||||||
{
|
{
|
||||||
List<uint> mapIds = data.param0;
|
List<uint> mapIds = data.param0;
|
||||||
@@ -416,7 +429,9 @@ namespace Game
|
|||||||
SpellArea = 0x20,
|
SpellArea = 0x20,
|
||||||
SpellLOS = 0x40,
|
SpellLOS = 0x40,
|
||||||
SpellGameobject = 0x80,
|
SpellGameobject = 0x80,
|
||||||
MaxSpell = SpellPlayer | SpellCreature | SpellPet | SpellDeprecatedSpell | SpellMap | SpellArea | SpellLOS | SpellGameobject,
|
SpellArenas = 0x100,
|
||||||
|
SpellBattleGrounds = 0x200,
|
||||||
|
MaxSpell = SpellPlayer | SpellCreature | SpellPet | SpellDeprecatedSpell | SpellMap | SpellArea | SpellLOS | SpellGameobject | SpellArenas | SpellBattleGrounds,
|
||||||
|
|
||||||
VmapAreaFlag = 0x01,
|
VmapAreaFlag = 0x01,
|
||||||
VmapHeight = 0x02,
|
VmapHeight = 0x02,
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
--
|
||||||
|
ALTER TABLE `disables` CHANGE `flags` `flags` SMALLINT(5) NOT NULL;
|
||||||
Reference in New Issue
Block a user