private bool FindTargetEntity(GameObject other, out IDamageableEntity target) { target = null; if (!IsServer) { return(false); } target = other.GetComponent <IDamageableEntity>(); if (target == null || attacker == null || target.IsDead() || attacker.gameObject == target.gameObject || !target.CanReceiveDamageFrom(attacker)) { return(false); } if (LockingTarget != null && LockingTarget != target) { return(false); } return(true); }