protected virtual int combat_attacks(Game_Unit battler_1, Combat_Map_Object battler_2, out int numAttacks1, out int numAttacks2) { numAttacks1 = battler_1.attacks_per_round(battler_2, Distance); numAttacks2 = 0; if (battler_2 != null && battler_2.is_unit()) { numAttacks2 = (battler_2 as Game_Unit).attacks_per_round(battler_1, Distance); } return(Math.Max(numAttacks1, numAttacks2)); }