private string BuildMoveSummary(FocusBarUpgradeResponse upgrade) { // TODO: summaerise reinforcements // summerise any techupgrade (if no action this turn) var summary = "To summarise my move I did the following;\n"; return(_militaryResolverUtility.BuildGeneralisedMilitaryMoveSummary(summary, _moveState)); }
private string BuildMoveSummary(FocusBarUpgradeResponse freeTechUpgradeResponse, TechnologyUpgradeResponse techLevelUpgradeResponse) { var summary = "To summarise my move I did the following;\n"; if (freeTechUpgradeResponse.HasUpgraded && freeTechUpgradeResponse.OldTechnology.Name != freeTechUpgradeResponse.NewTechnology.Name) { summary += $"I received a free technology upgrade breakthrough allowing me to upgrade {freeTechUpgradeResponse.OldTechnology.Name} to {freeTechUpgradeResponse.NewTechnology.Name}\n"; } return(_scienceResolverUtility.BuildGeneralisedScienceMoveSummary(summary, techLevelUpgradeResponse, _moveState)); }
private string BuildMoveSummary(FocusBarUpgradeResponse freeTechUpgradeResponse) { var summary = "To summarise my move I did the following;\n"; var exsummary = _industryResolverUtiliity.BuildGeneralisedIndustryMoveSummary(summary, _moveState); if (!_moveState.HasPurchasedCityThisTurn && !_moveState.HasPurchasedWonderThisTurn && freeTechUpgradeResponse.HasUpgraded) { exsummary += $"Becuase I did not manage to purchase a wonder or build a city on this turn, I received a free Industry technology upgrade allowing me to upgrade from { freeTechUpgradeResponse.OldTechnology.Name} to { freeTechUpgradeResponse.NewTechnology.Name}\n"; } return(exsummary); }
public override string UpdateGameStateForMove(BotGameState gameState) { _militaryResolverUtility.UpdateBaseMilitaryGameStateForMove(_moveState, gameState, _moveState.CurrentAttackMoveId); FocusBarUpgradeResponse freeUpgrade = new FocusBarUpgradeResponse(false, _moveState.ActiveFocusBarForMove, _moveState.ActiveFocusBarForMove.ActiveFocusSlot, null); if (!_moveState.AttacksAvailable.All(x => !x.Value.IsTargetWithinRange) && _moveState.ControlTokensReinforcedThisTurn == 0) { freeUpgrade = _focusBarTechnologyUpgradeResolver.RegenerateFocusBarSpecificTechnologyLevelUpgrade(_moveState.ActiveFocusBarForMove, FocusType.Military); gameState.ActiveFocusBar = freeUpgrade.UpgradedFocusBar; } _currentStep = -1; return(BuildMoveSummary(freeUpgrade)); }
public override string UpdateGameStateForMove(BotGameState botGameStateService) { _industryResolverUtiliity.UpdateBaseIndustryGameStateForMove(_moveState, botGameStateService); // DBr: Im torn between using the below ITechnoologyLevelModifier service or the IFocusBarTechnologyUpgradeResolver - which suggest something smells!! FocusBarUpgradeResponse freeUpgrade = new FocusBarUpgradeResponse(false, _moveState.ActiveFocusBarForMove, _moveState.ActiveFocusBarForMove.ActiveFocusSlot, null); if (!_moveState.HasPurchasedCityThisTurn && !_moveState.HasPurchasedWonderThisTurn) { freeUpgrade = _focusBarTechnologyUpgradeResolver.RegenerateFocusBarSpecificTechnologyLevelUpgrade(_moveState.ActiveFocusBarForMove, FocusType.Industry); botGameStateService.ActiveFocusBar = freeUpgrade.UpgradedFocusBar; } _currentStep = -1; return(BuildMoveSummary(freeUpgrade)); }