mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Added countdown to relationship change with city states
This commit is contained in:
parent
1bb62ad681
commit
a204333410
@ -2645,7 +2645,8 @@
|
||||
"Provides [amountOfCulture] culture at 30 Influence":{}
|
||||
"Provides 3 food in capital and 1 food in other cities at 30 Influence":{}
|
||||
"Provides 3 happiness at 30 Influence":{}
|
||||
"Gift [goldAmount] gold":{}
|
||||
"Gift [goldAmount] gold (+[influenceAmount] influence)":{}
|
||||
"Relationship changes in another [turnsToRelationshipChange] turns":{}
|
||||
|
||||
|
||||
////// Diplomatic modifiers
|
||||
|
@ -156,7 +156,7 @@ class CivilizationInfo {
|
||||
if (otherCiv.isCityState() && otherCiv.getCityStateType() == CityStateType.Cultured
|
||||
&& otherCiv.getDiplomacyManager(civName).relationshipLevel() >= RelationshipLevel.Friend) {
|
||||
val cultureBonus = Stats()
|
||||
cultureBonus.add(Stat.Culture, 5.0f * getEra().ordinal)
|
||||
cultureBonus.add(Stat.Culture, 3f * (getEra().ordinal+1))
|
||||
if (statMap.containsKey("City States"))
|
||||
statMap["City States"] = statMap["City States"]!! + cultureBonus
|
||||
else
|
||||
|
@ -113,6 +113,7 @@ class DiplomacyManager() {
|
||||
|
||||
if(influence>=60) return RelationshipLevel.Ally
|
||||
if(influence>=30) return RelationshipLevel.Friend
|
||||
return RelationshipLevel.Neutral
|
||||
}
|
||||
|
||||
// not entirely sure what to do between AI civs, because they probably have different views of each other,
|
||||
|
@ -98,33 +98,39 @@ class DiplomacyScreen:CameraStageBaseScreen() {
|
||||
|
||||
private fun getCityStateDiplomacyTable(otherCiv: CivilizationInfo): Table {
|
||||
val currentPlayerCiv = UnCivGame.Current.gameInfo.getCurrentPlayerCivilization()
|
||||
val otherCivDiplomacyManager = otherCiv.getDiplomacyManager(currentPlayerCiv)
|
||||
|
||||
val diplomacyTable = Table()
|
||||
diplomacyTable.defaults().pad(10f)
|
||||
if (otherCiv.isCityState()) {
|
||||
diplomacyTable.add(otherCiv.getNation().getLeaderDisplayName().toLabel()).row()
|
||||
diplomacyTable.add(("Type: " + otherCiv.getCityStateType().toString()).toLabel()).row()
|
||||
diplomacyTable.add(("Influence: " + otherCiv.getDiplomacyManager(currentPlayerCiv).influence.toInt()+"/30").toLabel()).row()
|
||||
diplomacyTable.add(("Influence: " + otherCivDiplomacyManager.influence.toInt()+"/30").toLabel()).row()
|
||||
|
||||
diplomacyTable.add(getRelationshipTable(otherCiv.getDiplomacyManager(currentPlayerCiv))).row()
|
||||
diplomacyTable.add(getRelationshipTable(otherCivDiplomacyManager)).row()
|
||||
|
||||
val friendBonusText = when(otherCiv.getCityStateType()) {
|
||||
CityStateType.Cultured -> "Provides [" + (5.0f * currentPlayerCiv.getEra().ordinal).toString() + "] culture at 30 Influence"
|
||||
CityStateType.Maritime -> "Provides 3 food in capital and 1 food in other cities at 30 Influence"
|
||||
CityStateType.Mercantile -> "Provides 3 happiness at 30 Influence"
|
||||
CityStateType.Cultured -> "Provides [" + (3 * (currentPlayerCiv.getEra().ordinal+1)).toString() + "] culture at [30] Influence"
|
||||
CityStateType.Maritime -> "Provides 3 food in capital and 1 food in other cities at [30] Influence"
|
||||
CityStateType.Mercantile -> "Provides 3 happiness at [30] Influence"
|
||||
}
|
||||
|
||||
val friendBonusLabel = friendBonusText.toLabel()
|
||||
if (otherCiv.getDiplomacyManager(currentPlayerCiv).relationshipLevel() >= RelationshipLevel.Friend)
|
||||
diplomacyTable.add(friendBonusLabel).row()
|
||||
if (otherCivDiplomacyManager.relationshipLevel() >= RelationshipLevel.Friend) {
|
||||
friendBonusLabel.setFontColor(Color.GREEN)
|
||||
val turnsToRelationshipChange = otherCivDiplomacyManager.influence.toInt() - 30 + 1
|
||||
diplomacyTable.add("Relationship changes in another [$turnsToRelationshipChange] turns".toLabel()).row()
|
||||
}
|
||||
else
|
||||
friendBonusLabel.setFontColor(Color.GRAY)
|
||||
diplomacyTable.add(friendBonusLabel).row()
|
||||
|
||||
} else {
|
||||
diplomacyTable.add(otherCiv.getNation().getLeaderDisplayName().toLabel())
|
||||
}
|
||||
diplomacyTable.addSeparator()
|
||||
|
||||
val giftAmount = 100
|
||||
val giftAmount = 250
|
||||
val influenceAmount = giftAmount/10
|
||||
val giftButton = TextButton("Gift [$giftAmount] gold (+[$influenceAmount] influence)".tr(), skin)
|
||||
giftButton.onClick{ giveGoldGift(otherCiv,giftAmount ) }
|
||||
|
Loading…
x
Reference in New Issue
Block a user