mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-13 01:08:25 +07:00
Added ai unhappiness modifier to difficulty
This commit is contained in:
@ -7,7 +7,8 @@
|
||||
aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city
|
||||
aiUnitMaintainanceModifier:1,
|
||||
aiConstructionModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config
|
||||
aiFreeTechs:[]
|
||||
aiFreeTechs:[],
|
||||
aiUnhappinessModifier:1
|
||||
},
|
||||
{
|
||||
name:"Chieftain",
|
||||
@ -17,7 +18,8 @@
|
||||
aiCityGrowthModifier:1.3,
|
||||
aiUnitMaintainanceModifier:1,
|
||||
aiConstructionModifier:0.75,
|
||||
aiFreeTechs:[]
|
||||
aiFreeTechs:[],
|
||||
aiUnhappinessModifier:1
|
||||
},
|
||||
{
|
||||
name:"Warlord",
|
||||
@ -27,7 +29,8 @@
|
||||
aiCityGrowthModifier:1.1,
|
||||
aiUnitMaintainanceModifier:1,
|
||||
aiConstructionModifier:0.9,
|
||||
aiFreeTechs:[]
|
||||
aiFreeTechs:[],
|
||||
aiUnhappinessModifier:1
|
||||
},
|
||||
{
|
||||
name:"Prince",
|
||||
@ -37,7 +40,8 @@
|
||||
aiCityGrowthModifier:1,
|
||||
aiUnitMaintainanceModifier:0.85,
|
||||
aiConstructionModifier:1,
|
||||
aiFreeTechs:[]
|
||||
aiFreeTechs:[],
|
||||
aiUnhappinessModifier:1
|
||||
},
|
||||
{
|
||||
name:"King",
|
||||
@ -47,7 +51,8 @@
|
||||
aiCityGrowthModifier:0.9,
|
||||
aiUnitMaintainanceModifier:0.8,
|
||||
aiConstructionModifier:1.15,
|
||||
aiFreeTechs:["Pottery"]
|
||||
aiFreeTechs:["Pottery"],
|
||||
aiUnhappinessModifier:0.9
|
||||
},
|
||||
{
|
||||
name:"Emperor",
|
||||
@ -57,7 +62,8 @@
|
||||
aiCityGrowthModifier:0.85,
|
||||
aiUnitMaintainanceModifier:0.75,
|
||||
aiConstructionModifier:1.25,
|
||||
aiFreeTechs:["Pottery","Animal Husbandry"]
|
||||
aiFreeTechs:["Pottery","Animal Husbandry"],
|
||||
aiUnhappinessModifier:0.85
|
||||
},
|
||||
{
|
||||
name:"Immortal",
|
||||
@ -67,7 +73,8 @@
|
||||
aiCityGrowthModifier:0.75,
|
||||
aiUnitMaintainanceModifier:0.65,
|
||||
aiConstructionModifier:1.5,
|
||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining"]
|
||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
|
||||
aiUnhappinessModifier:0.75
|
||||
},
|
||||
{
|
||||
name:"Deity",
|
||||
@ -77,6 +84,7 @@
|
||||
aiCityGrowthModifier:0.6,
|
||||
aiUnitMaintainanceModifier:0.5,
|
||||
aiConstructionModifier:2,
|
||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"]
|
||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
|
||||
aiUnhappinessModifier:0.6
|
||||
}
|
||||
]
|
||||
|
@ -29,12 +29,13 @@ class GameStarter(){
|
||||
playerCiv.difficulty=difficulty
|
||||
gameInfo.civilizations.add(playerCiv) // first one is player civ
|
||||
|
||||
freeTiles.removeAll(gameInfo.tileMap.getTilesInDistance(playerPosition,distanceAroundStartingPointNoOneElseWillStartIn ))
|
||||
freeTiles.removeAll(gameInfo.tileMap.getTilesInDistance(playerPosition, distanceAroundStartingPointNoOneElseWillStartIn ))
|
||||
|
||||
val barbarianCivilization = CivilizationInfo()
|
||||
gameInfo.civilizations.add(barbarianCivilization)// second is barbarian civ
|
||||
|
||||
for (civname in GameBasics.Civilizations.keys.filterNot { it=="Barbarians" || it==civilization }.take(numberOfCivs)) {
|
||||
if(freeTiles.isEmpty()) break // we can't add any more civs.
|
||||
val startingLocation = freeTiles.toList().getRandom().position
|
||||
val civ = CivilizationInfo(civname, startingLocation, gameInfo)
|
||||
civ.tech.techsResearched.addAll(playerCiv.getDifficulty().aiFreeTechs)
|
||||
|
@ -101,6 +101,8 @@ class CityStats {
|
||||
fun getCityHappiness(): LinkedHashMap<String, Float> {
|
||||
val civInfo = cityInfo.civInfo
|
||||
var unhappinessModifier = civInfo.getDifficulty().unhappinessModifier
|
||||
if(!civInfo.isPlayerCivilization())
|
||||
unhappinessModifier *= civInfo.gameInfo.getPlayerCivilization().getDifficulty().aiUnhappinessModifier
|
||||
|
||||
happinessList["Cities"] = -3f * unhappinessModifier
|
||||
|
||||
|
@ -12,4 +12,5 @@ class Difficulty: INamed {
|
||||
var aiUnitMaintainanceModifier = 1f
|
||||
var aiConstructionModifier = 1f
|
||||
var aiFreeTechs = ArrayList<String>()
|
||||
var aiUnhappinessModifier = 1f
|
||||
}
|
Reference in New Issue
Block a user