public override void Execute() { int armyHitsFirst = GameEngine.Instance.Random.Next(0, 2); IArmy turnArmy1 = armyHitsFirst == 0 ? army1 : army2; IArmy turnArmy2 = armyHitsFirst == 0 ? army2 : army1; turnArmy1.Turn(turnArmy2); turnArmy2.Turn(turnArmy1); turnArmy1.SpecialAbilities(turnArmy2); turnArmy2.SpecialAbilities(turnArmy1); turnArmy1.AfterTurn(); turnArmy2.AfterTurn(); this.fillUnitsFromArmies(ref army1_units_after, army1); this.fillUnitsFromArmies(ref army2_units_after, army2); }