mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-24 20:31:51 -04:00
Added CityStateTypes into rulesets! Not in use yet
This commit is contained in:
parent
cf7966d84a
commit
6976360da6
@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"name":"Cultured",
|
||||
"friendBonusUniques": ["[+3 Culture]"],
|
||||
"allyBonusUniques": ["[+6 Culture]"],
|
||||
"color": [139, 96, 255]
|
||||
},
|
||||
{
|
||||
"Maritime":"Maritime",
|
||||
"friendBonusUniques": ["[+2 Food] [in capital]"],
|
||||
"allyBonusUniques": ["[+2 Food] [in capital]", "[+1 Food] [in all cities]"],
|
||||
"color": [56, 255, 112]
|
||||
},
|
||||
{
|
||||
"name":"Mercantile",
|
||||
"friendBonusUniques": ["[+2 Happiness]"],
|
||||
"allyBonusUniques": ["[+2 Happiness]", "Provides a unique luxury"],
|
||||
"color": [255, 216, 0]
|
||||
},
|
||||
{
|
||||
"name":"Militaristic",
|
||||
"friendBonusUniques": ["Provides military units every ≈[20] turns"],
|
||||
"allyBonusUniques": ["Provides military units every ≈[17] turns"],
|
||||
"color": [255, 0, 0]
|
||||
},
|
||||
{
|
||||
"name":"Religious",
|
||||
"friendBonusUniques": ["[+3 Faith]"],
|
||||
"allyBonusUniques": ["[+6 Faith]"],
|
||||
"color": [255, 255, 255]
|
||||
}
|
||||
]
|
32
android/assets/jsons/Civ V - Vanilla/CityStateTypes.json
Normal file
32
android/assets/jsons/Civ V - Vanilla/CityStateTypes.json
Normal file
@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"name":"Cultured",
|
||||
"friendBonusUniques": ["[+3 Culture]"],
|
||||
"allyBonusUniques": ["[+6 Culture]"],
|
||||
"color": [139, 96, 255]
|
||||
},
|
||||
{
|
||||
"Maritime":"Maritime",
|
||||
"friendBonusUniques": ["[+2 Food] [in capital]"],
|
||||
"allyBonusUniques": ["[+2 Food] [in capital]", "[+1 Food] [in all cities]"],
|
||||
"color": [56, 255, 112]
|
||||
},
|
||||
{
|
||||
"name":"Mercantile",
|
||||
"friendBonusUniques": ["[+2 Happiness]"],
|
||||
"allyBonusUniques": ["[+2 Happiness]", "Provides a unique luxury"],
|
||||
"color": [255, 216, 0]
|
||||
},
|
||||
{
|
||||
"name":"Militaristic",
|
||||
"friendBonusUniques": ["Provides military units every ≈[20] turns"],
|
||||
"allyBonusUniques": ["Provides military units every ≈[17] turns"],
|
||||
"color": [255, 0, 0]
|
||||
},
|
||||
{
|
||||
"name":"Religious",
|
||||
"friendBonusUniques": ["[+3 Faith]"],
|
||||
"allyBonusUniques": ["[+6 Faith]"],
|
||||
"color": [255, 255, 255]
|
||||
}
|
||||
]
|
18
core/src/com/unciv/models/ruleset/CityStateType.kt
Normal file
18
core/src/com/unciv/models/ruleset/CityStateType.kt
Normal file
@ -0,0 +1,18 @@
|
||||
package com.unciv.models.ruleset
|
||||
|
||||
import com.unciv.models.ruleset.unique.Unique
|
||||
import com.unciv.models.ruleset.unique.UniqueMap
|
||||
import com.unciv.models.stats.INamed
|
||||
import com.unciv.ui.utils.extensions.colorFromRGB
|
||||
|
||||
class CityStateType: INamed {
|
||||
override var name = ""
|
||||
var friendBonusUniques = ArrayList<String>()
|
||||
val friendBonusUniqueMap by lazy { UniqueMap().addUniques(friendBonusUniques.map { Unique(it) }) }
|
||||
var allyBonusUniques = ArrayList<String>()
|
||||
val allyBonusUniqueMap by lazy { UniqueMap().addUniques(allyBonusUniques.map { Unique(it) }) }
|
||||
|
||||
lateinit var color:List<Int>
|
||||
private val colorObject by lazy { colorFromRGB(color) }
|
||||
fun getColor() = colorObject
|
||||
}
|
@ -96,6 +96,7 @@ class Ruleset {
|
||||
val unitPromotions = LinkedHashMap<String, Promotion>()
|
||||
val unitTypes = LinkedHashMap<String, UnitType>()
|
||||
var victories = LinkedHashMap<String, Victory>()
|
||||
var cityStateTypes = LinkedHashMap<String, CityStateType>()
|
||||
|
||||
val mods = LinkedHashSet<String>()
|
||||
var modOptions = ModOptions()
|
||||
@ -141,6 +142,7 @@ class Ruleset {
|
||||
units.putAll(ruleset.units)
|
||||
unitTypes.putAll(ruleset.unitTypes)
|
||||
victories.putAll(ruleset.victories)
|
||||
cityStateTypes.putAll(ruleset.cityStateTypes)
|
||||
for (unitToRemove in ruleset.modOptions.unitsToRemove) units.remove(unitToRemove)
|
||||
modOptions.uniques.addAll(ruleset.modOptions.uniques)
|
||||
modOptions.constants.merge(ruleset.modOptions.constants)
|
||||
@ -196,6 +198,7 @@ class Ruleset {
|
||||
units.clear()
|
||||
unitTypes.clear()
|
||||
victories.clear()
|
||||
cityStateTypes.clear()
|
||||
}
|
||||
|
||||
fun allRulesetObjects(): Sequence<IRulesetObject> =
|
||||
@ -359,9 +362,14 @@ class Ruleset {
|
||||
globalUniques = json().fromJsonFile(GlobalUniques::class.java, globalUniquesFile)
|
||||
}
|
||||
|
||||
val victoryTypesFiles = folderHandle.child("VictoryTypes.json")
|
||||
if (victoryTypesFiles.exists()) {
|
||||
victories += createHashmap(json().fromJsonFile(Array<Victory>::class.java, victoryTypesFiles))
|
||||
val victoryTypesFile = folderHandle.child("VictoryTypes.json")
|
||||
if (victoryTypesFile.exists()) {
|
||||
victories += createHashmap(json().fromJsonFile(Array<Victory>::class.java, victoryTypesFile))
|
||||
}
|
||||
|
||||
val cityStateTypesFile = folderHandle.child("VictoryTypes.json")
|
||||
if (cityStateTypesFile.exists()) {
|
||||
cityStateTypes += createHashmap(json().fromJsonFile(Array<CityStateType>::class.java, cityStateTypesFile))
|
||||
}
|
||||
|
||||
|
||||
@ -374,20 +382,18 @@ class Ruleset {
|
||||
}
|
||||
|
||||
// These should be permanent
|
||||
if (ruinRewards.isEmpty()) {
|
||||
if (ruinRewards.isEmpty())
|
||||
ruinRewards.putAll(RulesetCache.getVanillaRuleset().ruinRewards)
|
||||
}
|
||||
|
||||
if (globalUniques.uniques.isEmpty()) {
|
||||
globalUniques = RulesetCache.getVanillaRuleset().globalUniques
|
||||
}
|
||||
// If we have no victories, add all the default victories
|
||||
if (victories.isEmpty()) {
|
||||
victories.putAll(RulesetCache.getVanillaRuleset().victories)
|
||||
}
|
||||
if (victories.isEmpty()) victories.putAll(RulesetCache.getVanillaRuleset().victories)
|
||||
|
||||
if (speeds.isEmpty()) {
|
||||
speeds.putAll(RulesetCache.getVanillaRuleset().speeds)
|
||||
}
|
||||
if (speeds.isEmpty()) speeds.putAll(RulesetCache.getVanillaRuleset().speeds)
|
||||
|
||||
if (cityStateTypes.isEmpty()) cityStateTypes.putAll(RulesetCache.getVanillaRuleset().cityStateTypes)
|
||||
}
|
||||
|
||||
debug("Loading ruleset - %sms", System.currentTimeMillis() - gameBasicsStartTime)
|
||||
|
Loading…
x
Reference in New Issue
Block a user