Core/Spells: Corrected unit flag checked with SPELL_ATTR6_CAN_TARGET_UNTARGETABLE
Port From (https://github.com/TrinityCore/TrinityCore/commit/61263bf74dfa6d8ee6e54b56f54a8b3e01c80140)
This commit is contained in:
@@ -2510,7 +2510,10 @@ namespace Game.Entities
|
||||
return false;
|
||||
|
||||
// can't attack untargetable
|
||||
if ((bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanTargetUntargetable)) && unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.Uninteractible))
|
||||
if ((bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanTargetUntargetable)) && unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable2))
|
||||
return false;
|
||||
|
||||
if (unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.Uninteractible))
|
||||
return false;
|
||||
|
||||
Player playerAttacker = ToPlayer();
|
||||
@@ -2521,7 +2524,7 @@ namespace Game.Entities
|
||||
}
|
||||
|
||||
// check flags
|
||||
if (unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable | UnitFlags.OnTaxi | UnitFlags.NotAttackable1 | UnitFlags.NonAttackable2))
|
||||
if (unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable | UnitFlags.OnTaxi | UnitFlags.NotAttackable1))
|
||||
return false;
|
||||
|
||||
Unit unitOrOwner = unit;
|
||||
@@ -2668,11 +2671,14 @@ namespace Game.Entities
|
||||
return false;
|
||||
|
||||
// can't assist untargetable
|
||||
if ((bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanTargetUntargetable)) && unitTarget && unitTarget.HasUnitFlag(UnitFlags.Uninteractible))
|
||||
if ((bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanTargetUntargetable)) && unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable2))
|
||||
return false;
|
||||
|
||||
if (unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.Uninteractible))
|
||||
return false;
|
||||
|
||||
// check flags for negative spells
|
||||
if (isNegativeSpell && unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable | UnitFlags.OnTaxi | UnitFlags.NotAttackable1 | UnitFlags.NonAttackable2))
|
||||
if (isNegativeSpell && unitTarget != null && unitTarget.HasUnitFlag(UnitFlags.NonAttackable | UnitFlags.OnTaxi | UnitFlags.NotAttackable1))
|
||||
return false;
|
||||
|
||||
if (isNegativeSpell || bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanAssistImmunePc))
|
||||
|
||||
Reference in New Issue
Block a user