mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Unit: Name and implement UNIT_FLAG_NON_ATTACKABLE_2 (PR #22087)
This commit is contained in:
@@ -2880,7 +2880,7 @@ bool WorldObject::IsValidAttackTarget(WorldObject const* target, SpellInfo const
|
||||
}
|
||||
|
||||
// check flags
|
||||
if (unitTarget && unitTarget->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_TAXI_FLIGHT | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_UNK_16))
|
||||
if (unitTarget && unitTarget->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_TAXI_FLIGHT | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2))
|
||||
return false;
|
||||
|
||||
// ignore immunity flags when assisting
|
||||
@@ -3007,7 +3007,7 @@ bool WorldObject::IsValidAssistTarget(WorldObject const* target, SpellInfo const
|
||||
return false;
|
||||
|
||||
// check flags for negative spells
|
||||
if (isNegativeSpell && unitTarget && unitTarget->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_TAXI_FLIGHT | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_UNK_16))
|
||||
if (isNegativeSpell && unitTarget && unitTarget->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_TAXI_FLIGHT | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_NON_ATTACKABLE_2))
|
||||
return false;
|
||||
|
||||
if (isNegativeSpell || !bySpell || !bySpell->HasAttribute(SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG))
|
||||
|
||||
@@ -136,7 +136,7 @@ enum UnitFlags : uint32
|
||||
UNIT_FLAG_SILENCED = 0x00002000, // silenced, 2.1.1
|
||||
UNIT_FLAG_CANNOT_SWIM = 0x00004000, // 2.0.8
|
||||
UNIT_FLAG_UNK_15 = 0x00008000,
|
||||
UNIT_FLAG_UNK_16 = 0x00010000,
|
||||
UNIT_FLAG_NON_ATTACKABLE_2 = 0x00010000, // removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE
|
||||
UNIT_FLAG_PACIFIED = 0x00020000, // 3.0.3 ok
|
||||
UNIT_FLAG_STUNNED = 0x00040000, // 3.0.3 ok
|
||||
UNIT_FLAG_IN_COMBAT = 0x00080000,
|
||||
|
||||
@@ -2251,7 +2251,7 @@ void AuraEffect::HandleModUnattackable(AuraApplication const* aurApp, uint8 mode
|
||||
if (!apply && target->HasAuraType(SPELL_AURA_MOD_UNATTACKABLE))
|
||||
return;
|
||||
|
||||
target->ApplyModFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE, apply);
|
||||
target->ApplyModFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE_2, apply);
|
||||
|
||||
// call functions which may have additional effects after chainging state of unit
|
||||
if (apply && (mode & AURA_EFFECT_HANDLE_REAL))
|
||||
|
||||
@@ -136,7 +136,7 @@ EnumName<UnitFlags> const unitFlags[MAX_UNIT_FLAGS] =
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_SILENCED),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_CANNOT_SWIM),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_UNK_15),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_UNK_16),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_NON_ATTACKABLE_2),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_PACIFIED),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_STUNNED),
|
||||
CREATE_NAMED_ENUM(UNIT_FLAG_IN_COMBAT),
|
||||
|
||||
Reference in New Issue
Block a user