Example #1
0
        private CreatePeaceTournamentsResult TryCreatePeaceTournaments(IMBFaction factionA, IMBFaction factionB)
        {
            var factionAResults = TournamentBuilder.TryCreatePeaceTournamentForFaction(factionA);
            var factionBResults = TournamentBuilder.TryCreatePeaceTournamentForFaction(factionB);

            if (factionAResults.Failed && factionBResults.Failed)
            {
                return(CreatePeaceTournamentsResult.Failure);
            }

            return(CreatePeaceTournamentsResult.Success(factionAResults, factionBResults));
        }
        public CreateTournamentResult TryCreatePeaceTournamentForFaction(IMBFaction faction)
        {
            var findSettlementResult = SettlementFinder.FindForPeaceTournament(faction);

            if (findSettlementResult.Failed)
            {
                return(CreateTournamentResult.Failure);
            }

            var createTournamentOptions = new CreateTournamentOptions()
            {
                InitiatingHero = findSettlementResult.InitiatingHero,
                Settlement     = findSettlementResult.Nominee,
                Type           = TournamentType.Peace
            };

            return(CreateTournament(createTournamentOptions));
        }
Example #3
0
 public static IFaction ToIFaction(this IMBFaction faction)
 {
     return((IFaction)faction);
 }
 public FindHostSettlementResult FindForPeaceTournament(IMBFaction faction)
 {
     return(FindMostProsperousAvailable(faction.Settlements));
 }