diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index f669f4d0c1..929e82ac79 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -11,6 +11,16 @@ import com.unciv.models.gamebasics.GameBasics import com.unciv.models.gamebasics.tile.TileResource import com.unciv.models.gamebasics.tr +enum class RelationshipLevel{ + Unforgivable, + Enemy, + Competitor, + Neutral, + Favorable, + Friend, + Ally +} + enum class DiplomacyFlags{ DeclinedLuxExchange, DeclinedPeace @@ -75,6 +85,17 @@ class DiplomacyManager() { fun opinionOfOtherCiv() = diplomaticModifiers.values.sum() + fun relationshipLevel(): RelationshipLevel { + val opinion = opinionOfOtherCiv() + if(opinion>80) return RelationshipLevel.Ally + if(opinion>40) return RelationshipLevel.Friend + if(opinion>15) return RelationshipLevel.Favorable + if(opinion<-80) return RelationshipLevel.Unforgivable + if(opinion<-40) return RelationshipLevel.Enemy + if(opinion<-15) return RelationshipLevel.Competitor + return RelationshipLevel.Neutral + } + fun canDeclareWar() = (turnsToPeaceTreaty()==0 && diplomaticStatus != DiplomaticStatus.War) diff --git a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt index 08859e2e60..b7dc48d0d9 100644 --- a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt +++ b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt @@ -116,7 +116,8 @@ class DiplomacyScreen:CameraStageBaseScreen() { if(!otherCiv.isCityState()){ val diplomacyModifiersTable = Table() val otherCivDiplomacyManager = otherCiv.getDiplomacyManager(currentPlayerCiv) - diplomacyModifiersTable.add(("Current opinion: "+otherCivDiplomacyManager.opinionOfOtherCiv()).toLabel()).row() + val relationshipText = "Our relationship: "+otherCivDiplomacyManager.relationshipLevel()+" ("+otherCivDiplomacyManager.opinionOfOtherCiv()+")" + diplomacyModifiersTable.add(relationshipText.toLabel()).row() for(modifier in otherCivDiplomacyManager.diplomaticModifiers){ diplomacyModifiersTable.add((modifier.key+" "+modifier.value).toLabel()).row() }