mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Difficulty affects all AI yields now, which should widen the difficulty range - easy difficulties are now easier, and hard ones are harder
This commit is contained in:
parent
24b27a791f
commit
4f0f163c00
@ -5,8 +5,8 @@
|
|||||||
researchCostModifier:0.9,
|
researchCostModifier:0.9,
|
||||||
unhappinessModifier:0.4,
|
unhappinessModifier:0.4,
|
||||||
aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city
|
aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city
|
||||||
aiUnitMaintainanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiConstructionModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config
|
aiYieldModifier:0.6, // Replaces "Construction rate" and "Create rate" in original config
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1
|
||||||
},
|
},
|
||||||
@ -16,8 +16,8 @@
|
|||||||
researchCostModifier:0.95,
|
researchCostModifier:0.95,
|
||||||
unhappinessModifier:0.6,
|
unhappinessModifier:0.6,
|
||||||
aiCityGrowthModifier:1.3,
|
aiCityGrowthModifier:1.3,
|
||||||
aiUnitMaintainanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiConstructionModifier:0.75,
|
aiYieldModifier:0.75,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1
|
||||||
},
|
},
|
||||||
@ -27,8 +27,8 @@
|
|||||||
researchCostModifier:1,
|
researchCostModifier:1,
|
||||||
unhappinessModifier:0.75,
|
unhappinessModifier:0.75,
|
||||||
aiCityGrowthModifier:1.1,
|
aiCityGrowthModifier:1.1,
|
||||||
aiUnitMaintainanceModifier:1,
|
aiUnitMaintenanceModifier:1,
|
||||||
aiConstructionModifier:0.9,
|
aiYieldModifier:0.9,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1
|
||||||
},
|
},
|
||||||
@ -38,8 +38,8 @@
|
|||||||
researchCostModifier:1,
|
researchCostModifier:1,
|
||||||
unhappinessModifier:1,
|
unhappinessModifier:1,
|
||||||
aiCityGrowthModifier:1,
|
aiCityGrowthModifier:1,
|
||||||
aiUnitMaintainanceModifier:0.85,
|
aiUnitMaintenanceModifier:0.85,
|
||||||
aiConstructionModifier:1,
|
aiYieldModifier:1,
|
||||||
aiFreeTechs:[],
|
aiFreeTechs:[],
|
||||||
aiUnhappinessModifier:1
|
aiUnhappinessModifier:1
|
||||||
},
|
},
|
||||||
@ -49,8 +49,8 @@
|
|||||||
researchCostModifier:1.1,
|
researchCostModifier:1.1,
|
||||||
unhappinessModifier:1,
|
unhappinessModifier:1,
|
||||||
aiCityGrowthModifier:0.9,
|
aiCityGrowthModifier:0.9,
|
||||||
aiUnitMaintainanceModifier:0.8,
|
aiUnitMaintenanceModifier:0.8,
|
||||||
aiConstructionModifier:1.15,
|
aiYieldModifier:1.15,
|
||||||
aiFreeTechs:["Pottery"],
|
aiFreeTechs:["Pottery"],
|
||||||
aiUnhappinessModifier:0.9
|
aiUnhappinessModifier:0.9
|
||||||
},
|
},
|
||||||
@ -60,8 +60,8 @@
|
|||||||
researchCostModifier:1.2,
|
researchCostModifier:1.2,
|
||||||
unhappinessModifier:1,
|
unhappinessModifier:1,
|
||||||
aiCityGrowthModifier:0.85,
|
aiCityGrowthModifier:0.85,
|
||||||
aiUnitMaintainanceModifier:0.75,
|
aiUnitMaintenanceModifier:0.75,
|
||||||
aiConstructionModifier:1.25,
|
aiYieldModifier:1.25,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry"],
|
aiFreeTechs:["Pottery","Animal Husbandry"],
|
||||||
aiUnhappinessModifier:0.85
|
aiUnhappinessModifier:0.85
|
||||||
},
|
},
|
||||||
@ -71,8 +71,8 @@
|
|||||||
researchCostModifier:1.3,
|
researchCostModifier:1.3,
|
||||||
unhappinessModifier:1,
|
unhappinessModifier:1,
|
||||||
aiCityGrowthModifier:0.75,
|
aiCityGrowthModifier:0.75,
|
||||||
aiUnitMaintainanceModifier:0.65,
|
aiUnitMaintenanceModifier:0.65,
|
||||||
aiConstructionModifier:1.5,
|
aiYieldModifier:1.5,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
|
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
|
||||||
aiUnhappinessModifier:0.75
|
aiUnhappinessModifier:0.75
|
||||||
},
|
},
|
||||||
@ -82,8 +82,8 @@
|
|||||||
researchCostModifier:1.5,
|
researchCostModifier:1.5,
|
||||||
unhappinessModifier:1,
|
unhappinessModifier:1,
|
||||||
aiCityGrowthModifier:0.6,
|
aiCityGrowthModifier:0.6,
|
||||||
aiUnitMaintainanceModifier:0.5,
|
aiUnitMaintenanceModifier:0.5,
|
||||||
aiConstructionModifier:2,
|
aiYieldModifier:2,
|
||||||
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
|
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
|
||||||
aiUnhappinessModifier:0.6
|
aiUnhappinessModifier:0.6
|
||||||
}
|
}
|
||||||
|
@ -292,7 +292,7 @@
|
|||||||
strength:24,
|
strength:24,
|
||||||
cost: 150,
|
cost: 150,
|
||||||
requiredTech:"Gunpowder",
|
requiredTech:"Gunpowder",
|
||||||
upgradesTo:"Rifleman,"
|
upgradesTo:"Rifleman"
|
||||||
obsoleteTech:"Rifling",
|
obsoleteTech:"Rifling",
|
||||||
hurryCostModifier:20
|
hurryCostModifier:20
|
||||||
},
|
},
|
||||||
@ -305,7 +305,7 @@
|
|||||||
strength:28,
|
strength:28,
|
||||||
cost: 150,
|
cost: 150,
|
||||||
requiredTech:"Gunpowder",
|
requiredTech:"Gunpowder",
|
||||||
upgradesTo:"Rifleman,"
|
upgradesTo:"Rifleman"
|
||||||
obsoleteTech:"Rifling",
|
obsoleteTech:"Rifling",
|
||||||
hurryCostModifier:20
|
hurryCostModifier:20
|
||||||
},
|
},
|
||||||
|
@ -21,7 +21,7 @@ android {
|
|||||||
applicationId "com.unciv.game"
|
applicationId "com.unciv.game"
|
||||||
minSdkVersion 14
|
minSdkVersion 14
|
||||||
targetSdkVersion 26
|
targetSdkVersion 26
|
||||||
versionCode 170
|
versionCode 172
|
||||||
versionName "2.10.9"
|
versionName "2.10.9"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,9 +140,6 @@ class CityConstructions {
|
|||||||
} else
|
} else
|
||||||
currentConstruction = saveCurrentConstruction
|
currentConstruction = saveCurrentConstruction
|
||||||
|
|
||||||
var productionToAdd = cityStats.production
|
|
||||||
if(!cityInfo.civInfo.isPlayerCivilization())
|
|
||||||
productionToAdd *= cityInfo.civInfo.gameInfo.getPlayerCivilization().getDifficulty().aiConstructionModifier
|
|
||||||
addProduction(Math.round(cityStats.production))
|
addProduction(Math.round(cityStats.production))
|
||||||
val productionCost = construction.getProductionCost(cityInfo.civInfo.policies.adoptedPolicies)
|
val productionCost = construction.getProductionCost(cityInfo.civInfo.policies.adoptedPolicies)
|
||||||
if (inProgressConstructions[currentConstruction]!! >= productionCost) {
|
if (inProgressConstructions[currentConstruction]!! >= productionCost) {
|
||||||
|
@ -87,6 +87,23 @@ class CityStats {
|
|||||||
return stats
|
return stats
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getStatPercentBonusesFromDifficulty(): Stats {
|
||||||
|
val stats = Stats()
|
||||||
|
|
||||||
|
val civ = cityInfo.civInfo
|
||||||
|
if (!civ.isPlayerCivilization()) {
|
||||||
|
val modifier = civ.gameInfo.getPlayerCivilization().getDifficulty().aiYieldModifier
|
||||||
|
stats.production += modifier
|
||||||
|
stats.science += modifier
|
||||||
|
stats.food += modifier
|
||||||
|
stats.gold += modifier
|
||||||
|
stats.culture += modifier
|
||||||
|
}
|
||||||
|
|
||||||
|
return stats
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun getGrowthBonusFromPolicies(): Float {
|
private fun getGrowthBonusFromPolicies(): Float {
|
||||||
var bonus = 0f
|
var bonus = 0f
|
||||||
if (cityInfo.civInfo.policies.isAdopted("Landed Elite") && cityInfo.isCapital())
|
if (cityInfo.civInfo.policies.isAdopted("Landed Elite") && cityInfo.isCapital())
|
||||||
@ -258,14 +275,13 @@ class CityStats {
|
|||||||
newStatPercentBonusList["Railroad"]=getStatPercentBonusesFromRailroad()
|
newStatPercentBonusList["Railroad"]=getStatPercentBonusesFromRailroad()
|
||||||
newStatPercentBonusList["Marble"]=getStatPercentBonusesFromMarble()
|
newStatPercentBonusList["Marble"]=getStatPercentBonusesFromMarble()
|
||||||
newStatPercentBonusList["Computers"]=getStatPercentBonusesFromComputers()
|
newStatPercentBonusList["Computers"]=getStatPercentBonusesFromComputers()
|
||||||
|
newStatPercentBonusList["Difficutly"]=getStatPercentBonusesFromDifficulty()
|
||||||
statPercentBonusList=newStatPercentBonusList
|
statPercentBonusList=newStatPercentBonusList
|
||||||
|
|
||||||
val statPercentBonuses = Stats()
|
val statPercentBonuses = Stats()
|
||||||
for(bonus in statPercentBonusList.values) statPercentBonuses.add(bonus)
|
for(bonus in statPercentBonusList.values) statPercentBonuses.add(bonus)
|
||||||
|
|
||||||
//val stats = Stats()
|
|
||||||
for (stat in newBaseStatList.values) stat.production *= 1 + statPercentBonuses.production / 100
|
for (stat in newBaseStatList.values) stat.production *= 1 + statPercentBonuses.production / 100
|
||||||
//stats.production *= 1 + statPercentBonuses.production / 100 // So they get bonuses for production and gold/science
|
|
||||||
|
|
||||||
val statsFromProduction = getStatsFromProduction(newBaseStatList.values.map { it.production }.sum())
|
val statsFromProduction = getStatsFromProduction(newBaseStatList.values.map { it.production }.sum())
|
||||||
newBaseStatList["Construction"] = statsFromProduction
|
newBaseStatList["Construction"] = statsFromProduction
|
||||||
|
@ -138,7 +138,7 @@ class CivilizationInfo {
|
|||||||
var cost = baseUnitCost*totalPaidUnits*(1+gameProgress)
|
var cost = baseUnitCost*totalPaidUnits*(1+gameProgress)
|
||||||
cost = cost.pow(1+gameProgress/3) // Why 3? To spread 1 to 1.33
|
cost = cost.pow(1+gameProgress/3) // Why 3? To spread 1 to 1.33
|
||||||
if(!isPlayerCivilization())
|
if(!isPlayerCivilization())
|
||||||
cost *= gameInfo.getPlayerCivilization().getDifficulty().aiUnitMaintainanceModifier
|
cost *= gameInfo.getPlayerCivilization().getDifficulty().aiUnitMaintenanceModifier
|
||||||
if(policies.isAdopted("Autocracy")) cost = cost*0.66f
|
if(policies.isAdopted("Autocracy")) cost = cost*0.66f
|
||||||
return cost.toInt()
|
return cost.toInt()
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,8 @@ class Difficulty: INamed {
|
|||||||
var researchCostModifier:Float = 1f
|
var researchCostModifier:Float = 1f
|
||||||
var unhappinessModifier = 1f
|
var unhappinessModifier = 1f
|
||||||
var aiCityGrowthModifier = 1f
|
var aiCityGrowthModifier = 1f
|
||||||
var aiUnitMaintainanceModifier = 1f
|
var aiUnitMaintenanceModifier = 1f
|
||||||
var aiConstructionModifier = 1f
|
var aiYieldModifier = 1f
|
||||||
var aiFreeTechs = ArrayList<String>()
|
var aiFreeTechs = ArrayList<String>()
|
||||||
var aiUnhappinessModifier = 1f
|
var aiUnhappinessModifier = 1f
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user