Resolve #6585 - AI peace deals don't pay more gold than they have

This commit is contained in:
Yair Morgenstern
2023-01-08 19:40:21 +02:00
parent 301f378bbf
commit e812ff3796

View File

@ -857,14 +857,15 @@ object NextTurnAutomation {
tradeLogic.currentTrade.ourOffers.add(TradeOffer(Constants.peaceTreaty, TradeType.Treaty))
tradeLogic.currentTrade.theirOffers.add(TradeOffer(Constants.peaceTreaty, TradeType.Treaty))
if (civInfo.gold > 0) {
var moneyWeNeedToPay = -TradeEvaluation().evaluatePeaceCostForThem(civInfo, enemy)
if (moneyWeNeedToPay > civInfo.gold) { // we need to make up for this somehow...
moneyWeNeedToPay = civInfo.gold
}
if (moneyWeNeedToPay > 0) {
tradeLogic.currentTrade.ourOffers.add(TradeOffer("Gold".tr(), TradeType.Gold, moneyWeNeedToPay))
var moneyWeNeedToPay = -TradeEvaluation().evaluatePeaceCostForThem(civInfo, enemy)
if (civInfo.gold > 0 && moneyWeNeedToPay > 0) {
if (moneyWeNeedToPay > civInfo.gold) {
moneyWeNeedToPay = civInfo.gold // As much as possible
}
tradeLogic.currentTrade.ourOffers.add(
TradeOffer("Gold".tr(), TradeType.Gold, moneyWeNeedToPay)
)
}
enemy.tradeRequests.add(TradeRequest(civInfo.civName, tradeLogic.currentTrade.reverse()))