public IronWorkingFocusCardMoveResolver(IMilitaryResolverUtility militaryResolverUtility,
                                                IEnemyWithinAttackDistanceInformationRequestStep enemyWithinAttackDistanceInformationRequestStep,
                                                IEnemyTypeToAttackInformationRequestStep enemyTypeToAttackInformationRequestStep,
                                                IEnemyAttackPowerInformationRequestStep enemyAttackPowerInformationRequestStep,
                                                IAttackPrimaryResultActionRequestStep attackPrimaryResultActionRequestStep,
                                                IDefeatedBarbarianActionRequestStep defeatedBarbarianActionRequestStep,
                                                IConquerCityStateInformationRequestStep conquerCityStateActionRequestStep,
                                                IConquerdNaturalWonderInformationRequestStep conquerWorldNaturalInformationRequestStep,
                                                IDefeatedRivalControlTokenActionRequestStep defeatedRivalControlTokenActionRequestStep,
                                                IDefeatedCapitalCityActionRequestStep defeatedCapitalCityActionRequestStep,
                                                IConquerNonCapitalCityActionRequestStep conquerNonCapitalCityActionRequestStep,
                                                IConquerWorldWonderInformationRequestStep conquerWorldWonderInformationRequestStep,
                                                IFailedAttackActionRequestStep failedAttackActionRequestStep,
                                                ISupplementAttackPowerInformationRequestStep supplementAttackPowerInformationRequestStep,
                                                IReinforceFriendlyControlTokensActionRequest reinforceFriendlyControlTokensActionRequest,
                                                IReinforceFriendlyControlTokensInformationRequest reinforceFriendlyControlTokensInformationRequest,
                                                IFocusBarTechnologyUpgradeResolver focusBarTechnologyUpgradeResolver) : base()
        {
            _militaryResolverUtility           = militaryResolverUtility;
            _focusBarTechnologyUpgradeResolver = focusBarTechnologyUpgradeResolver;

            FocusType  = FocusType.Military;
            FocusLevel = FocusLevel.Lvl2;

            var loopSeed = 0;

            for (var attack = 0; attack < BaseAttackCount; attack++)
            {
                _actionSteps.Add(loopSeed, enemyWithinAttackDistanceInformationRequestStep);
                _actionSteps.Add(loopSeed + 1, enemyTypeToAttackInformationRequestStep);
                _actionSteps.Add(loopSeed + 2, enemyAttackPowerInformationRequestStep);
                _actionSteps.Add(loopSeed + 3, attackPrimaryResultActionRequestStep);
                _actionSteps.Add(loopSeed + 4, supplementAttackPowerInformationRequestStep);
                _actionSteps.Add(loopSeed + 5, conquerWorldNaturalInformationRequestStep);
                _actionSteps.Add(loopSeed + 6, conquerWorldWonderInformationRequestStep);
                _actionSteps.Add(loopSeed + 7, defeatedBarbarianActionRequestStep);
                _actionSteps.Add(loopSeed + 8, conquerCityStateActionRequestStep);
                _actionSteps.Add(loopSeed + 9, defeatedRivalControlTokenActionRequestStep);
                _actionSteps.Add(loopSeed + 10, defeatedCapitalCityActionRequestStep);
                _actionSteps.Add(loopSeed + 11, conquerNonCapitalCityActionRequestStep);
                _actionSteps.Add(loopSeed + 12, failedAttackActionRequestStep);
                loopSeed = _actionSteps.Count;
            }

            _actionSteps.Add(loopSeed, reinforceFriendlyControlTokensActionRequest);
            _actionSteps.Add(loopSeed + 1, reinforceFriendlyControlTokensInformationRequest);
        }