Terraria.ModLoader.PlayerHooks.CanHitNPC C# (CSharp) Method

CanHitNPC() public static method

public static CanHitNPC ( Player player, System.Item item, NPC target ) : bool?
player Player
item System.Item
target NPC
return bool?
        public static bool? CanHitNPC(Player player, Item item, NPC target)
        {
            bool? flag = null;
            foreach (ModPlayer modPlayer in player.modPlayers)
            {
                bool? canHit = modPlayer.CanHitNPC(item, target);
                if (canHit.HasValue && !canHit.Value)
                {
                    return false;
                }
                if (canHit.HasValue)
                {
                    flag = canHit.Value;
                }
            }
            return flag;
        }

Usage Example

Ejemplo n.º 1
0
        public static bool?CanPlayerHitNPCWithItem(Player player, Item item, NPC npc)
        {
            bool?result = null;

            bool ModifyResult(bool?nbool)
            {
                if (nbool.HasValue)
                {
                    result = nbool.Value;
                }

                return(result != false);
            }

            if (!ModifyResult(PlayerHooks.CanHitNPC(player, item, npc)))
            {
                return(false);
            }

            if (!ModifyResult(ItemLoader.CanHitNPC(item, player, npc)))
            {
                return(false);
            }

            if (!ModifyResult(NPCLoader.CanBeHitByItem(npc, player, item)))
            {
                return(false);
            }

            return(result);
        }