Core/Spells: Implemented SPELL_ATTR8_CAN_HIT_AOE_UNTARGETABLE
Port From (https://github.com/TrinityCore/TrinityCore/commit/877ae5b47d56a754b56f1326990f5ae41aa989c9)
This commit is contained in:
@@ -1932,7 +1932,7 @@ namespace Framework.Constants
|
||||
IgnoreDynamicObjectCaster = 0x02, /*Nyi*/ // Ignore Dynamic Object Caster
|
||||
RemoveOutsideDungeonsAndRaids = 0x04, // Remove Outside Dungeons And Raids
|
||||
OnlyTargetIfSameCreator = 0x08, // Only Target If Same Creator
|
||||
CanHitAoeUntargetable = 0x10, /*Nyi - No Aoe Immunity Implementation*/ // Can Hit Aoe Untargetable
|
||||
CanHitAoeUntargetable = 0x10, // Can Hit Aoe Untargetable
|
||||
AllowWhileCharmed = 0x20, /*Nyi - Not Implementable Currently, Charming Replaces Ai*/ // Allow While Charmed
|
||||
AuraRequiredByClient = 0x40, /*Nyi - We Send All Auras To Client*/ // Aura Required By Client
|
||||
IgnoreSanctuary = 0x80, // Ignore Sanctuary
|
||||
@@ -1959,7 +1959,7 @@ namespace Framework.Constants
|
||||
NotInBattleground = 0x10000000, // Not In Battleground
|
||||
MasteryAffectsPoints = 0x20000000, // Mastery Affects Points
|
||||
DisplayLargeAuraIconOnUnitFramesBossAura = 0x40000000, // Display Large Aura Icon On Unit Frames (Boss Aura)
|
||||
AttackIgnoreImmuneToPcFlag = 0x80000000 // Can Attack Immunepc Description Do Not Check UnitFlagImmuneToPc In Isvalidattacktarget
|
||||
CanAttackImmunePC = 0x80000000 // Can Attack Immunepc Description Do Not Check UnitFlagImmuneToPc In Isvalidattacktarget
|
||||
}
|
||||
public enum SpellAttr9 : uint
|
||||
{
|
||||
|
||||
@@ -2616,7 +2616,7 @@ namespace Game.Entities
|
||||
if (!unitTarget.HasUnitFlag(UnitFlags.PlayerControlled) && unitOrOwner.IsImmuneToNPC())
|
||||
return false;
|
||||
|
||||
if (bySpell == null || !bySpell.HasAttribute(SpellAttr8.AttackIgnoreImmuneToPcFlag))
|
||||
if (bySpell == null || !bySpell.HasAttribute(SpellAttr8.CanAttackImmunePC))
|
||||
{
|
||||
if (unitOrOwner.HasUnitFlag(UnitFlags.PlayerControlled) && unitTarget.IsImmuneToPC())
|
||||
return false;
|
||||
@@ -2761,7 +2761,7 @@ namespace Game.Entities
|
||||
{
|
||||
if (unit != null && unit.HasUnitFlag(UnitFlags.PlayerControlled))
|
||||
{
|
||||
if (bySpell == null || !bySpell.HasAttribute(SpellAttr8.AttackIgnoreImmuneToPcFlag))
|
||||
if (bySpell == null || !bySpell.HasAttribute(SpellAttr8.CanAttackImmunePC))
|
||||
if (unitTarget != null && unitTarget.IsImmuneToPC())
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -9191,7 +9191,7 @@ namespace Game.Spells
|
||||
switch (_searchReason)
|
||||
{
|
||||
case WorldObjectSpellAreaTargetSearchReason.Area:
|
||||
if (unitTarget.GetSpellOtherImmunityMask().HasFlag(SpellOtherImmunity.AoETarget))
|
||||
if (!_spellInfo.HasAttribute(SpellAttr8.CanHitAoeUntargetable) && unitTarget.GetSpellOtherImmunityMask().HasFlag(SpellOtherImmunity.AoETarget))
|
||||
return false;
|
||||
break;
|
||||
case WorldObjectSpellAreaTargetSearchReason.Chain:
|
||||
|
||||
Reference in New Issue
Block a user