DiplomacyManager

class DiplomacyManager

Constructors

DiplomacyManager
Link copied to clipboard
fun DiplomacyManager(civilizationInfo: CivilizationInfo, OtherCivName: String)

Types

Companion
Link copied to clipboard
object Companion

Functions

addInfluence
Link copied to clipboard
fun addInfluence(amount: Float)
addModifier
Link copied to clipboard
fun addModifier(modifier: DiplomaticModifiers, amount: Float)
agreeNotToSettleNear
Link copied to clipboard
fun agreeNotToSettleNear()
becomeWary
Link copied to clipboard
fun becomeWary()
canAttack
Link copied to clipboard
fun canAttack(): Boolean
canDeclareWar
Link copied to clipboard
fun canDeclareWar(): Boolean
clone
Link copied to clipboard
fun clone(): DiplomacyManager
declareWar
Link copied to clipboard
fun declareWar()
denounce
Link copied to clipboard
fun denounce()
equals
Link copied to clipboard
open operator fun equals(other: Any?): Boolean
everBeenFriends
Link copied to clipboard
fun everBeenFriends(): Boolean

True when the two civs have been friends in the past

getCityStateInfluenceDegrade
Link copied to clipboard
private fun getCityStateInfluenceDegrade(): Float
getCityStateInfluenceRecovery
Link copied to clipboard
private fun getCityStateInfluenceRecovery(): Float
getCityStateInfluenceRestingPoint
Link copied to clipboard
private fun getCityStateInfluenceRestingPoint(): Float
getCommonKnownCivs
Link copied to clipboard
fun getCommonKnownCivs(): Set<CivilizationInfo>

Returns the civilizations that know about both sides (civInfo and otherCiv)

getFlag
Link copied to clipboard
fun getFlag(flag: DiplomacyFlags): Int
getModifier
Link copied to clipboard
private fun getModifier(modifier: DiplomaticModifiers): Float
getTurnsToRelationshipChange
Link copied to clipboard
fun getTurnsToRelationshipChange(): Int

Returns the number of turns to degrade from Ally or from Friend

goldPerTurn
Link copied to clipboard
fun goldPerTurn(): Int
hasFlag
Link copied to clipboard
fun hasFlag(flag: DiplomacyFlags): Boolean
hashCode
Link copied to clipboard
open fun hashCode(): Int
hasModifier
Link copied to clipboard
fun hasModifier(modifier: DiplomaticModifiers): Boolean
isConsideredFriendlyTerritory
Link copied to clipboard
fun isConsideredFriendlyTerritory(): Boolean

Returns true when the civInfo's territory is considered allied for otherCiv. This includes friendly and allied city-states and the open border treaties.

makePeace
Link copied to clipboard
fun makePeace()
makePeaceOneSide
Link copied to clipboard
private fun makePeaceOneSide()

Should only be called from makePeace

matchesCityStateRelationshipFilter
Link copied to clipboard
fun matchesCityStateRelationshipFilter(filter: String): Boolean
nextTurn
Link copied to clipboard
fun nextTurn()
nextTurnCityStateInfluence
Link copied to clipboard
private fun nextTurnCityStateInfluence()
nextTurnDiplomaticModifiers
Link copied to clipboard
private fun nextTurnDiplomaticModifiers()
nextTurnFlags
Link copied to clipboard
private fun nextTurnFlags()
nextTurnTrades
Link copied to clipboard
private fun nextTurnTrades()
onWarDeclared
Link copied to clipboard
private fun onWarDeclared()

Everything that happens to both sides equally when war is declared by one side on the other

opinionOfOtherCiv
Link copied to clipboard
fun opinionOfOtherCiv(): Float
otherCiv
Link copied to clipboard
fun otherCiv(): CivilizationInfo
otherCivDiplomacy
Link copied to clipboard
fun otherCivDiplomacy(): DiplomacyManager
refuseDemandNotToSettleNear
Link copied to clipboard
fun refuseDemandNotToSettleNear()
relationshipLevel
Link copied to clipboard
fun relationshipLevel(): RelationshipLevel
remakePeaceTreaty
Link copied to clipboard
private fun remakePeaceTreaty(durationLeft: Int)
removeFlag
Link copied to clipboard
fun removeFlag(flag: DiplomacyFlags)
removeModifier
Link copied to clipboard
private fun removeModifier(modifier: DiplomaticModifiers): Float?
removeUntenableTrades
Link copied to clipboard
fun removeUntenableTrades()
resourcesFromTrade
Link copied to clipboard
fun resourcesFromTrade(): ResourceSupplyList
revertToZero
Link copied to clipboard
private fun revertToZero(modifier: DiplomaticModifiers, amount: Float)
scienceFromResearchAgreement
Link copied to clipboard
private fun scienceFromResearchAgreement()
setFlag
Link copied to clipboard
fun setFlag(flag: DiplomacyFlags, amount: Int)
setFriendshipBasedModifier
Link copied to clipboard
private fun setFriendshipBasedModifier()
setInfluence
Link copied to clipboard
fun setInfluence(amount: Float)
setModifier
Link copied to clipboard
fun setModifier(modifier: DiplomaticModifiers, amount: Float)
sideWithCityState
Link copied to clipboard
fun sideWithCityState()
signDeclarationOfFriendship
Link copied to clipboard
fun signDeclarationOfFriendship()
toString
Link copied to clipboard
open fun toString(): String
turnsToPeaceTreaty
Link copied to clipboard
fun turnsToPeaceTreaty(): Int
updateEverBeenFriends
Link copied to clipboard
private fun updateEverBeenFriends()

Set DiplomacyFlags.EverBeenFriends if the two civilization are currently at least friends

updateHasOpenBorders
Link copied to clipboard
fun updateHasOpenBorders()

Properties

civInfo
Link copied to clipboard
lateinit var civInfo: CivilizationInfo
diplomaticModifiers
Link copied to clipboard
var diplomaticModifiers: HashMap<String, Float>

For AI. Positive is good relations, negative is bad. Baseline is 1 point for each turn of peace - so declaring a war upends 40 years of peace, and e.g. capturing a city can be another 30 or 40. As for why it's String and not DiplomaticModifier see FlagsCountdown comment

diplomaticStatus
Link copied to clipboard
var diplomaticStatus: DiplomaticStatus
flagsCountdown
Link copied to clipboard
private var flagsCountdown: HashMap<String, Int>

Contains various flags (declared war, promised to not settle, declined luxury trade) and the number of turns in which they will expire. The JSON serialize/deserialize REFUSES to deserialize hashmap keys as Enums, so I'm forced to use strings instead =( This is so sad Alexa play Despacito

hasOpenBorders
Link copied to clipboard
var hasOpenBorders: Boolean = false
influence
Link copied to clipboard
var influence: Float = 0f

For city-states. Influence is saved in the CITY STATE -> major civ Diplomacy, NOT in the major civ -> city state diplomacy. Won't go below MINIMUM_INFLUENCE. Note this declaration leads to Major Civs getting MINIMUM_INFLUENCE serialized, but that is ignored.

otherCivName
Link copied to clipboard
lateinit var otherCivName: String
totalOfScienceDuringRA
Link copied to clipboard
private var totalOfScienceDuringRA: Int = 0

Total of each turn Science during Research Agreement

trades
Link copied to clipboard
var trades: ArrayList<Trade>

Sources

jvm source
Link copied to clipboard