AI is willing to trade Open Borders when unfriendly... for ridiculous prices

This commit is contained in:
Yair Morgenstern 2019-06-30 19:35:04 +03:00
parent 08d0a0013c
commit 1898c6f9f1
2 changed files with 10 additions and 4 deletions

View File

@ -179,7 +179,15 @@ class TradeEvaluation{
return sumOfStats.toInt() * 100 return sumOfStats.toInt() * 100
} }
TradeType.Agreement -> { TradeType.Agreement -> {
if(offer.name == "Open Borders") return 100 if(offer.name == "Open Borders"){
when(civInfo.getDiplomacyManager(tradePartner).relationshipLevel()){
RelationshipLevel.Unforgivable -> return 10000
RelationshipLevel.Enemy -> return 2000
RelationshipLevel.Competitor -> return 500
RelationshipLevel.Neutral -> return 200
RelationshipLevel.Favorable,RelationshipLevel.Friend,RelationshipLevel.Ally -> return 100
}
}
throw Exception("Invalid agreement type!") throw Exception("Invalid agreement type!")
} }
} }

View File

@ -3,7 +3,6 @@ package com.unciv.logic.trade
import com.unciv.Constants import com.unciv.Constants
import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.CivilizationInfo
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
import com.unciv.models.gamebasics.tile.ResourceType import com.unciv.models.gamebasics.tile.ResourceType
import com.unciv.models.gamebasics.tr import com.unciv.models.gamebasics.tr
@ -26,8 +25,7 @@ class TradeLogic(val ourCivilization:CivilizationInfo, val otherCivilization: Ci
&& otherCivilization.tech.getTechUniques().contains("Enables Open Borders agreements")) { && otherCivilization.tech.getTechUniques().contains("Enables Open Borders agreements")) {
val relationshipLevel = otherCivilization.getDiplomacyManager(civInfo).relationshipLevel() val relationshipLevel = otherCivilization.getDiplomacyManager(civInfo).relationshipLevel()
if(relationshipLevel >= RelationshipLevel.Neutral) offers.add(TradeOffer("Open Borders", TradeType.Agreement, 30))
offers.add(TradeOffer("Open Borders", TradeType.Agreement, 30))
} }
for(entry in civInfo.getCivResources() for(entry in civInfo.getCivResources()