mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-29 06:51:30 -04:00
Added initial logic for promising not to settle cities near other civs - not yet activated
This commit is contained in:
parent
ab450808b2
commit
e8bdb8a2e4
@ -358,6 +358,8 @@
|
|||||||
French:"Vous avez dénoncé nos ennemies"
|
French:"Vous avez dénoncé nos ennemies"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"You betrayed your promise to not settle cities near us":{}
|
||||||
|
|
||||||
|
|
||||||
////// Trade
|
////// Trade
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ android {
|
|||||||
applicationId "com.unciv.app"
|
applicationId "com.unciv.app"
|
||||||
minSdkVersion 14
|
minSdkVersion 14
|
||||||
targetSdkVersion 28
|
targetSdkVersion 28
|
||||||
versionCode 253
|
versionCode 254
|
||||||
versionName "2.17.2-patch1"
|
versionName "2.17.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Had to add this crap for Travis to build, it wanted to sign the app
|
// Had to add this crap for Travis to build, it wanted to sign the app
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package com.unciv.logic.automation
|
package com.unciv.logic.automation
|
||||||
|
|
||||||
import com.unciv.Constants
|
import com.unciv.Constants
|
||||||
|
import com.unciv.logic.city.CityInfo
|
||||||
import com.unciv.logic.civilization.*
|
import com.unciv.logic.civilization.*
|
||||||
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
|
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
|
||||||
|
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
|
||||||
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
||||||
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
|
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
|
||||||
import com.unciv.logic.map.MapUnit
|
import com.unciv.logic.map.MapUnit
|
||||||
@ -346,4 +348,18 @@ class NextTurnAutomation{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun onCitySettledNearBorders(civInfo: CivilizationInfo, newCity: CityInfo){
|
||||||
|
val diplomacyManager = civInfo.getDiplomacyManager(newCity.civInfo)
|
||||||
|
if(diplomacyManager.hasFlag(DiplomacyFlags.IgnoreThemSettlingNearUs)) return
|
||||||
|
if(diplomacyManager.hasFlag(DiplomacyFlags.AgreedToNotSettleNearUs)){
|
||||||
|
newCity.civInfo.popupAlerts.add(PopupAlert(AlertType.CitySettledNearOtherCivDespiteOurPromise, civInfo.civName))
|
||||||
|
diplomacyManager.setFlag(DiplomacyFlags.IgnoreThemSettlingNearUs,200)
|
||||||
|
diplomacyManager.setModifier(DiplomaticModifiers.BetrayedPromiseToNotSettleCitiesNearUs,-20f)
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
newCity.civInfo.popupAlerts.add(PopupAlert(AlertType.CitySettledNearOtherCiv, civInfo.civName))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,9 @@ enum class AlertType{
|
|||||||
Defeated,
|
Defeated,
|
||||||
FirstContact,
|
FirstContact,
|
||||||
CityConquered,
|
CityConquered,
|
||||||
BorderConflict
|
BorderConflict,
|
||||||
|
CitySettledNearOtherCiv,
|
||||||
|
CitySettledNearOtherCivDespiteOurPromise,
|
||||||
}
|
}
|
||||||
|
|
||||||
class PopupAlert {
|
class PopupAlert {
|
||||||
|
@ -28,7 +28,9 @@ enum class DiplomacyFlags{
|
|||||||
DeclaredWar,
|
DeclaredWar,
|
||||||
DeclarationOfFriendship,
|
DeclarationOfFriendship,
|
||||||
Denunceation,
|
Denunceation,
|
||||||
BorderConflict
|
BorderConflict,
|
||||||
|
AgreedToNotSettleNearUs,
|
||||||
|
IgnoreThemSettlingNearUs
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class DiplomaticModifiers{
|
enum class DiplomaticModifiers{
|
||||||
@ -39,6 +41,7 @@ enum class DiplomaticModifiers{
|
|||||||
BetrayedDeclarationOfFriendship,
|
BetrayedDeclarationOfFriendship,
|
||||||
Denunciation,
|
Denunciation,
|
||||||
DenouncedOurAllies,
|
DenouncedOurAllies,
|
||||||
|
BetrayedPromiseToNotSettleCitiesNearUs,
|
||||||
|
|
||||||
YearsOfPeace,
|
YearsOfPeace,
|
||||||
SharedEnemy,
|
SharedEnemy,
|
||||||
@ -141,7 +144,6 @@ class DiplomacyManager() {
|
|||||||
|
|
||||||
fun canDeclareWar() = (turnsToPeaceTreaty()==0 && diplomaticStatus != DiplomaticStatus.War)
|
fun canDeclareWar() = (turnsToPeaceTreaty()==0 && diplomaticStatus != DiplomaticStatus.War)
|
||||||
|
|
||||||
|
|
||||||
fun goldPerTurn():Int{
|
fun goldPerTurn():Int{
|
||||||
var goldPerTurnForUs = 0
|
var goldPerTurnForUs = 0
|
||||||
for(trade in trades) {
|
for(trade in trades) {
|
||||||
@ -338,9 +340,7 @@ class DiplomacyManager() {
|
|||||||
return diplomaticModifiers[modifier.name]!!
|
return diplomaticModifiers[modifier.name]!!
|
||||||
}
|
}
|
||||||
|
|
||||||
fun removeModifier(modifier: DiplomaticModifiers) =
|
fun removeModifier(modifier: DiplomaticModifiers) = diplomaticModifiers.remove(modifier.name)
|
||||||
diplomaticModifiers.remove(modifier.name)
|
|
||||||
|
|
||||||
fun hasModifier(modifier: DiplomaticModifiers) = diplomaticModifiers.containsKey(modifier.name)
|
fun hasModifier(modifier: DiplomaticModifiers) = diplomaticModifiers.containsKey(modifier.name)
|
||||||
|
|
||||||
/** @param amount always positive, so you don't need to think about it */
|
/** @param amount always positive, so you don't need to think about it */
|
||||||
@ -386,5 +386,6 @@ class DiplomacyManager() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,7 @@ class AlertPopup(val worldScreen: WorldScreen, val popupAlert: PopupAlert): Popu
|
|||||||
responseTable.add(getCloseButton("Never!"))
|
responseTable.add(getCloseButton("Never!"))
|
||||||
add(responseTable)
|
add(responseTable)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
open()
|
open()
|
||||||
isOpen = true
|
isOpen = true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user