mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 06:16:37 -04:00
Save the sources of uniques with the uniques themselves (#5281)
This commit is contained in:
parent
05394f627d
commit
4343137b82
@ -2,6 +2,7 @@ package com.unciv.models.ruleset
|
|||||||
|
|
||||||
import com.unciv.UncivGame
|
import com.unciv.UncivGame
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
@ -12,7 +13,7 @@ class Belief : INamed, ICivilopediaText, IHasUniques {
|
|||||||
override var name: String = ""
|
override var name: String = ""
|
||||||
var type: BeliefType = BeliefType.None
|
var type: BeliefType = BeliefType.None
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Belief, name) } }
|
||||||
|
|
||||||
override var civilopediaText = listOf<FormattedLine>()
|
override var civilopediaText = listOf<FormattedLine>()
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import com.unciv.models.Counter
|
|||||||
import com.unciv.models.ruleset.tile.ResourceType
|
import com.unciv.models.ruleset.tile.ResourceType
|
||||||
import com.unciv.models.ruleset.tile.TileImprovement
|
import com.unciv.models.ruleset.tile.TileImprovement
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
|
import com.unciv.models.ruleset.unique.UniqueTriggerActivation
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
import com.unciv.models.stats.NamedStats
|
import com.unciv.models.stats.NamedStats
|
||||||
@ -66,7 +67,11 @@ class Building : NamedStats(), INonPerpetualConstruction, ICivilopediaText {
|
|||||||
var uniqueTo: String? = null
|
var uniqueTo: String? = null
|
||||||
var quote: String = ""
|
var quote: String = ""
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy {
|
||||||
|
uniques.map {
|
||||||
|
Unique(it, if (isAnyWonder()) UniqueTarget.Wonder else UniqueTarget.Building, name)
|
||||||
|
}
|
||||||
|
}
|
||||||
private var replacementTextForUniques = ""
|
private var replacementTextForUniques = ""
|
||||||
|
|
||||||
override var civilopediaText = listOf<FormattedLine>()
|
override var civilopediaText = listOf<FormattedLine>()
|
||||||
|
@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Color
|
|||||||
import com.unciv.logic.civilization.CityStateType
|
import com.unciv.logic.civilization.CityStateType
|
||||||
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
|
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.ui.utils.colorFromRGB
|
import com.unciv.ui.utils.colorFromRGB
|
||||||
|
|
||||||
@ -32,12 +33,12 @@ class Era : INamed, IHasUniques {
|
|||||||
|
|
||||||
var iconRGB: List<Int>? = null
|
var iconRGB: List<Int>? = null
|
||||||
override var uniques: ArrayList<String> = arrayListOf()
|
override var uniques: ArrayList<String> = arrayListOf()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Era, name) } }
|
||||||
|
|
||||||
private fun initBonuses(bonusMap: Map<String, List<String>>): Map<CityStateType, List<Unique>> {
|
private fun initBonuses(bonusMap: Map<String, List<String>>): Map<CityStateType, List<Unique>> {
|
||||||
val objectMap = HashMap<CityStateType, List<Unique>>()
|
val objectMap = HashMap<CityStateType, List<Unique>>()
|
||||||
for ((cityStateType, bonusList) in bonusMap) {
|
for ((cityStateType, bonusList) in bonusMap) {
|
||||||
objectMap[CityStateType.valueOf(cityStateType)] = bonusList.map { Unique(it) }
|
objectMap[CityStateType.valueOf(cityStateType)] = bonusList.map { Unique(it, UniqueTarget.CityState) }
|
||||||
}
|
}
|
||||||
return objectMap
|
return objectMap
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import com.unciv.Constants
|
|||||||
import com.unciv.UncivGame
|
import com.unciv.UncivGame
|
||||||
import com.unciv.logic.civilization.CityStateType
|
import com.unciv.logic.civilization.CityStateType
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.translations.squareBraceRegex
|
import com.unciv.models.translations.squareBraceRegex
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
@ -43,7 +44,7 @@ class Nation : INamed, ICivilopediaText, IHasUniques {
|
|||||||
lateinit var outerColor: List<Int>
|
lateinit var outerColor: List<Int>
|
||||||
var uniqueName = ""
|
var uniqueName = ""
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Nation, name) } }
|
||||||
var uniqueText = ""
|
var uniqueText = ""
|
||||||
var innerColor: List<Int>? = null
|
var innerColor: List<Int>? = null
|
||||||
var startBias = ArrayList<String>()
|
var startBias = ArrayList<String>()
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.unciv.models.ruleset
|
package com.unciv.models.ruleset
|
||||||
|
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
@ -11,7 +12,7 @@ open class Policy : INamed, IHasUniques, ICivilopediaText {
|
|||||||
|
|
||||||
override lateinit var name: String
|
override lateinit var name: String
|
||||||
override var uniques: ArrayList<String> = ArrayList()
|
override var uniques: ArrayList<String> = ArrayList()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Policy, name) } }
|
||||||
var row: Int = 0
|
var row: Int = 0
|
||||||
var column: Int = 0
|
var column: Int = 0
|
||||||
var requires: ArrayList<String>? = null
|
var requires: ArrayList<String>? = null
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.unciv.models.ruleset
|
package com.unciv.models.ruleset
|
||||||
|
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
import com.unciv.ui.civilopedia.ICivilopediaText
|
import com.unciv.ui.civilopedia.ICivilopediaText
|
||||||
@ -10,7 +11,7 @@ class RuinReward : INamed, ICivilopediaText, IHasUniques {
|
|||||||
val notification: String = ""
|
val notification: String = ""
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
@delegate:Transient // Defense in depth against mad modders
|
@delegate:Transient // Defense in depth against mad modders
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Ruins, name) } }
|
||||||
|
|
||||||
val excludedDifficulties: List<String> = listOf()
|
val excludedDifficulties: List<String> = listOf()
|
||||||
val weight: Int = 1
|
val weight: Int = 1
|
||||||
|
@ -12,6 +12,7 @@ import com.unciv.models.ruleset.tile.Terrain
|
|||||||
import com.unciv.models.ruleset.tile.TileImprovement
|
import com.unciv.models.ruleset.tile.TileImprovement
|
||||||
import com.unciv.models.ruleset.tile.TileResource
|
import com.unciv.models.ruleset.tile.TileResource
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
import com.unciv.models.ruleset.unit.BaseUnit
|
import com.unciv.models.ruleset.unit.BaseUnit
|
||||||
import com.unciv.models.ruleset.unit.Promotion
|
import com.unciv.models.ruleset.unit.Promotion
|
||||||
@ -153,7 +154,7 @@ class Ruleset {
|
|||||||
try {
|
try {
|
||||||
modOptions = jsonParser.getFromJson(ModOptions::class.java, modOptionsFile)
|
modOptions = jsonParser.getFromJson(ModOptions::class.java, modOptionsFile)
|
||||||
} catch (ex: Exception) {}
|
} catch (ex: Exception) {}
|
||||||
modOptions.uniqueObjects = modOptions.uniques.map { Unique(it) }
|
modOptions.uniqueObjects = modOptions.uniques.map { Unique(it, UniqueTarget.ModOptions) }
|
||||||
}
|
}
|
||||||
|
|
||||||
val techFile = folderHandle.child("Techs.json")
|
val techFile = folderHandle.child("Techs.json")
|
||||||
|
@ -7,6 +7,7 @@ import com.unciv.models.ruleset.Building
|
|||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.models.ruleset.unit.BaseUnit
|
import com.unciv.models.ruleset.unit.BaseUnit
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
@ -22,7 +23,7 @@ class Technology: INamed, ICivilopediaText, IHasUniques {
|
|||||||
var cost: Int = 0
|
var cost: Int = 0
|
||||||
var prerequisites = HashSet<String>()
|
var prerequisites = HashSet<String>()
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Tech, name) } }
|
||||||
|
|
||||||
var column: TechColumn? = null // The column that this tech is in the tech tree
|
var column: TechColumn? = null // The column that this tech is in the tech tree
|
||||||
var row: Int = 0
|
var row: Int = 0
|
||||||
|
@ -6,6 +6,7 @@ import com.unciv.models.ruleset.Belief
|
|||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.NamedStats
|
import com.unciv.models.stats.NamedStats
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
import com.unciv.ui.civilopedia.ICivilopediaText
|
import com.unciv.ui.civilopedia.ICivilopediaText
|
||||||
@ -28,7 +29,7 @@ class Terrain : NamedStats(), ICivilopediaText, IHasUniques {
|
|||||||
|
|
||||||
/** Uniques (Properties such as Temp/humidity, Fresh water, elevation, rough, defense, Natural Wonder specials) */
|
/** Uniques (Properties such as Temp/humidity, Fresh water, elevation, rough, defense, Natural Wonder specials) */
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Terrain, name) } }
|
||||||
|
|
||||||
/** Natural Wonder weight: probability to be picked */
|
/** Natural Wonder weight: probability to be picked */
|
||||||
var weight = 10
|
var weight = 10
|
||||||
|
@ -8,6 +8,7 @@ import com.unciv.logic.map.RoadStatus
|
|||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.NamedStats
|
import com.unciv.models.stats.NamedStats
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
@ -22,7 +23,7 @@ class TileImprovement : NamedStats(), ICivilopediaText, IHasUniques {
|
|||||||
var techRequired: String? = null
|
var techRequired: String? = null
|
||||||
var uniqueTo:String? = null
|
var uniqueTo:String? = null
|
||||||
override var uniques = ArrayList<String>()
|
override var uniques = ArrayList<String>()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Improvement, name) } }
|
||||||
val shortcutKey: Char? = null
|
val shortcutKey: Char? = null
|
||||||
val turnsToBuild: Int = 0 // This is the base cost.
|
val turnsToBuild: Int = 0 // This is the base cost.
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import com.unciv.models.ruleset.Belief
|
|||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.NamedStats
|
import com.unciv.models.stats.NamedStats
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
@ -19,7 +20,7 @@ class TileResource : NamedStats(), ICivilopediaText, IHasUniques {
|
|||||||
@Deprecated("As of 3.16.16 - replaced by uniques")
|
@Deprecated("As of 3.16.16 - replaced by uniques")
|
||||||
var unique: String? = null
|
var unique: String? = null
|
||||||
override var uniques: ArrayList<String> = arrayListOf()
|
override var uniques: ArrayList<String> = arrayListOf()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Resource, name) } }
|
||||||
|
|
||||||
override var civilopediaText = listOf<FormattedLine>()
|
override var civilopediaText = listOf<FormattedLine>()
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
|||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
|
|
||||||
|
|
||||||
class Unique(val text:String) {
|
class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val sourceObjectName: String? = null) {
|
||||||
/** This is so the heavy regex-based parsing is only activated once per unique, instead of every time it's called
|
/** This is so the heavy regex-based parsing is only activated once per unique, instead of every time it's called
|
||||||
* - for instance, in the city screen, we call every tile unique for every tile, which can lead to ANRs */
|
* - for instance, in the city screen, we call every tile unique for every tile, which can lead to ANRs */
|
||||||
val placeholderText = text.getPlaceholderText()
|
val placeholderText = text.getPlaceholderText()
|
||||||
|
@ -8,10 +8,32 @@ enum class UniqueTarget{
|
|||||||
/** Buildings, units, nations, policies, religions, techs etc.
|
/** Buildings, units, nations, policies, religions, techs etc.
|
||||||
* Basically anything caught by CivInfo.getMatchingUniques. */
|
* Basically anything caught by CivInfo.getMatchingUniques. */
|
||||||
Global,
|
Global,
|
||||||
|
|
||||||
|
// Civilization-specific
|
||||||
|
Nation,
|
||||||
|
Era,
|
||||||
|
Tech,
|
||||||
|
Policy,
|
||||||
|
Belief,
|
||||||
|
|
||||||
|
// City-specific
|
||||||
Building,
|
Building,
|
||||||
|
Wonder,
|
||||||
|
|
||||||
|
// Unit-specific
|
||||||
Unit,
|
Unit,
|
||||||
|
UnitType,
|
||||||
|
Promotion,
|
||||||
|
|
||||||
|
// Tile-specific
|
||||||
|
Terrain,
|
||||||
Improvement,
|
Improvement,
|
||||||
CityState
|
Resource,
|
||||||
|
Ruins,
|
||||||
|
|
||||||
|
// Other
|
||||||
|
CityState,
|
||||||
|
ModOptions,
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class UniqueType(val text:String, vararg target: UniqueTarget) {
|
enum class UniqueType(val text:String, vararg target: UniqueTarget) {
|
||||||
|
@ -7,6 +7,7 @@ import com.unciv.logic.civilization.CivilizationInfo
|
|||||||
import com.unciv.logic.map.MapUnit
|
import com.unciv.logic.map.MapUnit
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.stats.Stat
|
import com.unciv.models.stats.Stat
|
||||||
@ -40,7 +41,7 @@ class BaseUnit : INamed, INonPerpetualConstruction, ICivilopediaText {
|
|||||||
var requiredTech: String? = null
|
var requiredTech: String? = null
|
||||||
private var requiredResource: String? = null
|
private var requiredResource: String? = null
|
||||||
override var uniques = ArrayList<String>() // Can not be a hashset as that would remove doubles
|
override var uniques = ArrayList<String>() // Can not be a hashset as that would remove doubles
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Unit, name) } }
|
||||||
private var replacementTextForUniques = ""
|
private var replacementTextForUniques = ""
|
||||||
var promotions = HashSet<String>()
|
var promotions = HashSet<String>()
|
||||||
var obsoleteTech: String? = null
|
var obsoleteTech: String? = null
|
||||||
|
@ -3,6 +3,7 @@ package com.unciv.models.ruleset.unit
|
|||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.Ruleset
|
import com.unciv.models.ruleset.Ruleset
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.civilopedia.FormattedLine
|
import com.unciv.ui.civilopedia.FormattedLine
|
||||||
@ -22,7 +23,7 @@ class Promotion : INamed, ICivilopediaText, IHasUniques {
|
|||||||
if (effect.isNotEmpty()) yield(effect)
|
if (effect.isNotEmpty()) yield(effect)
|
||||||
yieldAll(uniques)
|
yieldAll(uniques)
|
||||||
}
|
}
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniquesWithEffect().map { Unique(it) }.toList() }
|
override val uniqueObjects: List<Unique> by lazy { uniquesWithEffect().map { Unique(it, UniqueTarget.Promotion, name) }.toList() }
|
||||||
|
|
||||||
override var civilopediaText = listOf<FormattedLine>()
|
override var civilopediaText = listOf<FormattedLine>()
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.unciv.models.ruleset.unit
|
|||||||
|
|
||||||
import com.unciv.models.ruleset.IHasUniques
|
import com.unciv.models.ruleset.IHasUniques
|
||||||
import com.unciv.models.ruleset.unique.Unique
|
import com.unciv.models.ruleset.unique.Unique
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueTarget
|
||||||
import com.unciv.models.stats.INamed
|
import com.unciv.models.stats.INamed
|
||||||
|
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ class UnitType() : INamed, IHasUniques {
|
|||||||
private val unitMovementType: UnitMovementType? by lazy { if (movementType == null) null else UnitMovementType.valueOf(movementType!!) }
|
private val unitMovementType: UnitMovementType? by lazy { if (movementType == null) null else UnitMovementType.valueOf(movementType!!) }
|
||||||
|
|
||||||
override var uniques: ArrayList<String> = ArrayList()
|
override var uniques: ArrayList<String> = ArrayList()
|
||||||
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it) } }
|
override val uniqueObjects: List<Unique> by lazy { uniques.map { Unique(it, UniqueTarget.Unit, name) } }
|
||||||
|
|
||||||
constructor(name: String, domain: String? = null) : this() {
|
constructor(name: String, domain: String? = null) : this() {
|
||||||
this.name = name
|
this.name = name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user