Example #1
0
		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);
		}
Example #2
0
		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);
		}