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;
|
return false;
|
||||||
|
|
||||||
// can't attack untargetable
|
// 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;
|
return false;
|
||||||
|
|
||||||
Player playerAttacker = ToPlayer();
|
Player playerAttacker = ToPlayer();
|
||||||
@@ -2521,7 +2524,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check flags
|
// 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;
|
return false;
|
||||||
|
|
||||||
Unit unitOrOwner = unit;
|
Unit unitOrOwner = unit;
|
||||||
@@ -2668,11 +2671,14 @@ namespace Game.Entities
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
// can't assist untargetable
|
// 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;
|
return false;
|
||||||
|
|
||||||
// check flags for negative spells
|
// 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;
|
return false;
|
||||||
|
|
||||||
if (isNegativeSpell || bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanAssistImmunePc))
|
if (isNegativeSpell || bySpell == null || !bySpell.HasAttribute(SpellAttr6.CanAssistImmunePc))
|
||||||
|
|||||||
Reference in New Issue
Block a user