diff --git a/android/assets/jsons/Difficulties.json b/android/assets/jsons/Difficulties.json index a3ec1933c2..897d6cdef2 100644 --- a/android/assets/jsons/Difficulties.json +++ b/android/assets/jsons/Difficulties.json @@ -18,7 +18,8 @@ aiFreeTechs:[], aiFreeUnits:[], aiUnhappinessModifier:1, - aisExchangeTechs:false + aisExchangeTechs:false, + turnBarbariansCanEnterPlayerTiles:10000 }, { name:"Chieftain", @@ -39,7 +40,8 @@ aiFreeTechs:[], aiFreeUnits:[], aiUnhappinessModifier:1, - aisExchangeTechs:false + aisExchangeTechs:false, + turnBarbariansCanEnterPlayerTiles:60 }, { name:"Warlord", @@ -60,7 +62,8 @@ aiFreeTechs:[], aiFreeUnits:[], aiUnhappinessModifier:1, - aisExchangeTechs:false + aisExchangeTechs:false, + turnBarbariansCanEnterPlayerTiles:20 }, { name:"Prince", @@ -81,7 +84,8 @@ aiFreeTechs:[], aiFreeUnits:[], aiUnhappinessModifier:1, - aisExchangeTechs:true + aisExchangeTechs:true, + turnBarbariansCanEnterPlayerTiles:0 }, { name:"King", @@ -102,7 +106,8 @@ aiFreeTechs:["Pottery"], aiFreeUnits:["Warrior"], aiUnhappinessModifier:0.9, - aisExchangeTechs:true + aisExchangeTechs:true, + turnBarbariansCanEnterPlayerTiles:0 }, { name:"Emperor", @@ -123,7 +128,8 @@ aiFreeTechs:["Pottery","Animal Husbandry"], aiFreeUnits:["Warrior", "Scout"], aiUnhappinessModifier:0.85, - aisExchangeTechs:true + aisExchangeTechs:true, + turnBarbariansCanEnterPlayerTiles:0 }, { name:"Immortal", @@ -144,7 +150,8 @@ aiFreeTechs:["Pottery","Animal Husbandry","Mining"], aiFreeUnits:["Warrior", "Warrior", "Worker", "Scout"], aiUnhappinessModifier:0.75, - aisExchangeTechs:true + aisExchangeTechs:true, + turnBarbariansCanEnterPlayerTiles:0 }, { name:"Deity", @@ -165,6 +172,7 @@ aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"], aiFreeUnits:["Settler", "Warrior", "Warrior", "Worker", "Worker", "Scout"], aiUnhappinessModifier:0.6, - aisExchangeTechs:true + aisExchangeTechs:true, + turnBarbariansCanEnterPlayerTiles:0 } ] diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index cd688f4dfa..e9d74158a2 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -422,6 +422,7 @@ class CivilizationInfo { fun canEnterTiles(otherCiv: CivilizationInfo): Boolean { if(otherCiv==this) return true + if(nation.isBarbarian() && gameInfo.turns >= gameInfo.difficultyObject.turnBarbariansCanEnterPlayerTiles) return true if(!diplomacy.containsKey(otherCiv.civName)) // not encountered yet return false if(isAtWarWith(otherCiv)) return true diff --git a/core/src/com/unciv/models/ruleset/Difficulty.kt b/core/src/com/unciv/models/ruleset/Difficulty.kt index bb2da27c73..5a37259968 100644 --- a/core/src/com/unciv/models/ruleset/Difficulty.kt +++ b/core/src/com/unciv/models/ruleset/Difficulty.kt @@ -23,4 +23,5 @@ class Difficulty: INamed { var aiFreeUnits = ArrayList() var aiUnhappinessModifier = 1f var aisExchangeTechs = false + var turnBarbariansCanEnterPlayerTiles = 0 } \ No newline at end of file