public bool CanAttackRanged(Destructible destruct) { if (destruct == null) { return(false); } ItemData equipped = GetEquippedItem(EquipSlot.Hand); if (equipped != null && equipped.ranged && destruct.CanAttackRanged()) { ItemData projectile = GetFirstItemInGroup(equipped.projectile_group); if (projectile != null && HasItem(projectile)) { return(true); } } return(false); }