public static void AddVariant(AIVariantPackage variants, Context context, PlayerInfoCM player, AIOptions options) { AuctionCM.Bet maxBet = context.auction.GetMaxBetForGod(God.Appolon); int bet = (maxBet == null ? 1 : maxBet.bet + 1); AIAuctionVariant variant = new AIAuctionVariant(God.Appolon, bet); float vp = 0f; vp += options.coefficients.GoldVP * (context.map.GetIslandsByOwner(player.ID).Count > 1 ? Constants.apolloSmallIncome : Constants.apolloBigIncome); if (bet == 1) vp += options.coefficients.HornVPT * options.turnsToEnd; variant.offer = new VariantOffer(0, vp); variants.AddVariant(variant); }
public static void AddVariant(AIVariantPackage variants, Context context, PlayerInfoCM player, AIOptions options, int minBetGold) { AIAuctionVariant variant = new AIAuctionVariant(God.Poseidon, minBetGold + player.Priests); int restOfGold = player.Gold - minBetGold; VariantOfferPackage offers = new VariantOfferPackage(); offers.Add(CheckNeedBuild(context, player, options, restOfGold)); offers.Add(CheckBuildAndMoveNavy(context, player, options, restOfGold)); offers.CheckAll(options); VariantOffer offer = offers.GetTheBestSumWithCostLimit(restOfGold); offer.cost += minBetGold; variant.offer = offer; variants.AddVariant(variant); }