public bool CanAttack(ICombatant attacker, ICombatant defender) { return(attacker.controller != defender.controller && attacker.CanAttack(defender) && defender.CanBeAttacked(attacker)); }