Core/Spells: Implemented SPELL_ATTR5_NOT_ON_PLAYER and SPELL_ATTR5_NOT_ON_PLAYER_CONTROLLED_NPC
Port From (https://github.com/TrinityCore/TrinityCore/commit/acda6f9dcf411a1406b81e1a100125dbe34f942b)
This commit is contained in:
@@ -1080,8 +1080,16 @@ namespace Game.Spells
|
||||
return SpellCastResult.SpellCastOk;
|
||||
|
||||
// corpseOwner and unit specific target checks
|
||||
if (HasAttribute(SpellAttr3.OnlyOnPlayer) && !unitTarget.IsTypeId(TypeId.Player))
|
||||
return SpellCastResult.TargetNotPlayer;
|
||||
if (!unitTarget.IsPlayer())
|
||||
{
|
||||
if (HasAttribute(SpellAttr3.OnlyOnPlayer))
|
||||
return SpellCastResult.TargetNotPlayer;
|
||||
|
||||
if (HasAttribute(SpellAttr5.NotOnPlayerControlledNpc) && unitTarget.IsControlledByPlayer())
|
||||
return SpellCastResult.TargetIsPlayerControlled;
|
||||
}
|
||||
else if (HasAttribute(SpellAttr5.NotOnPlayer))
|
||||
return SpellCastResult.TargetIsPlayer;
|
||||
|
||||
if (!IsAllowingDeadTarget() && !unitTarget.IsAlive())
|
||||
return SpellCastResult.TargetsDead;
|
||||
|
||||
Reference in New Issue
Block a user