mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-22 12:38:29 +07:00
Fixed unique validation refactor breaks
This commit is contained in:
parent
c4aeb4d32a
commit
43ff2ac1f5
@ -21,6 +21,7 @@ import com.unciv.models.ruleset.unit.BaseUnit
|
||||
import com.unciv.models.ruleset.unit.Promotion
|
||||
import com.unciv.models.ruleset.unit.UnitType
|
||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
||||
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||
import com.unciv.models.stats.INamed
|
||||
import com.unciv.models.translations.tr
|
||||
import com.unciv.utils.Log
|
||||
@ -378,7 +379,7 @@ class Ruleset {
|
||||
name = cityStateType.name
|
||||
color = cityStateType.color
|
||||
friendBonusUniques = ArrayList(cityStateType.friendBonusUniques.filter {
|
||||
RulesetValidator(this@Ruleset).checkUnique(
|
||||
UniqueValidator(this@Ruleset).checkUnique(
|
||||
Unique(it),
|
||||
false,
|
||||
cityStateType,
|
||||
@ -386,7 +387,7 @@ class Ruleset {
|
||||
).isEmpty()
|
||||
})
|
||||
allyBonusUniques = ArrayList(cityStateType.allyBonusUniques.filter {
|
||||
RulesetValidator(this@Ruleset).checkUnique(
|
||||
UniqueValidator(this@Ruleset).checkUnique(
|
||||
Unique(it),
|
||||
false,
|
||||
cityStateType,
|
||||
|
@ -8,7 +8,7 @@ import com.unciv.logic.city.City
|
||||
import com.unciv.logic.civilization.Civilization
|
||||
import com.unciv.logic.civilization.managers.ReligionState
|
||||
import com.unciv.models.ruleset.Ruleset
|
||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
||||
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||
import com.unciv.models.stats.Stats
|
||||
import com.unciv.models.translations.getConditionals
|
||||
import com.unciv.models.translations.getPlaceholderParameters
|
||||
@ -119,7 +119,7 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
|
||||
// filter out possible replacements that are obviously wrong
|
||||
val uniquesWithNoErrors = finalPossibleUniques.filter {
|
||||
val unique = Unique(it)
|
||||
val errors = RulesetValidator(ruleset).checkUnique(
|
||||
val errors = UniqueValidator(ruleset).checkUnique(
|
||||
unique, true, null,
|
||||
UniqueType.UniqueComplianceErrorSeverity.RulesetSpecific
|
||||
)
|
||||
|
@ -85,7 +85,7 @@ class UniqueValidator(val ruleset: Ruleset) {
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
if (conditional.type.targetTypes.none { it.modifierType != UniqueTarget.ModifierType.None })
|
||||
rulesetErrors.add(
|
||||
"$prefix unique \"${unique.text}\" contains the conditional \"${conditional.text}\"," +
|
||||
@ -94,11 +94,11 @@ class UniqueValidator(val ruleset: Ruleset) {
|
||||
)
|
||||
|
||||
if (conditional.type.targetTypes.contains(UniqueTarget.UnitActionModifier)
|
||||
&& conditional.type.targetTypes.none { UniqueTarget.UnitAction.canAcceptUniqueTarget(it) }
|
||||
&& unique.type!!.targetTypes.none { UniqueTarget.UnitAction.canAcceptUniqueTarget(it) }
|
||||
)
|
||||
rulesetErrors.add(
|
||||
"$prefix unique \"${unique.text}\" contains the conditional \"${conditional.text}\"," +
|
||||
" which as a UnitActionModifier is only allowed on UnitAciton uniques.",
|
||||
" which as a UnitActionModifier is only allowed on UnitAction uniques.",
|
||||
RulesetErrorSeverity.Warning
|
||||
)
|
||||
|
||||
|
@ -7,14 +7,15 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||
import com.badlogic.gdx.utils.Align
|
||||
import com.unciv.models.ruleset.Ruleset
|
||||
import com.unciv.models.ruleset.RulesetCache
|
||||
import com.unciv.models.ruleset.validation.RulesetError
|
||||
import com.unciv.models.ruleset.validation.RulesetErrorSeverity
|
||||
import com.unciv.models.ruleset.validation.RulesetValidator
|
||||
import com.unciv.models.ruleset.unique.Unique
|
||||
import com.unciv.models.ruleset.unique.UniqueType
|
||||
import com.unciv.models.ruleset.validation.RulesetError
|
||||
import com.unciv.models.ruleset.validation.RulesetErrorSeverity
|
||||
import com.unciv.models.ruleset.validation.UniqueValidator
|
||||
import com.unciv.models.translations.tr
|
||||
import com.unciv.ui.components.ExpanderTab
|
||||
import com.unciv.ui.components.TabbedPager
|
||||
import com.unciv.ui.components.TranslatedSelectBox
|
||||
import com.unciv.ui.components.extensions.surroundWithCircle
|
||||
import com.unciv.ui.components.extensions.toLabel
|
||||
import com.unciv.ui.components.extensions.toTextButton
|
||||
@ -23,7 +24,6 @@ import com.unciv.ui.components.input.onClick
|
||||
import com.unciv.ui.images.ImageGetter
|
||||
import com.unciv.ui.popups.ToastPopup
|
||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||
import com.unciv.ui.components.TranslatedSelectBox
|
||||
import com.unciv.utils.Concurrency
|
||||
import com.unciv.utils.Log
|
||||
import com.unciv.utils.debug
|
||||
@ -200,7 +200,7 @@ class ModCheckTab(
|
||||
uniqueReplacementText += " <${conditional.text}>"
|
||||
val replacementUnique = Unique(uniqueReplacementText)
|
||||
|
||||
val modInvariantErrors = RulesetValidator(mod).checkUnique(
|
||||
val modInvariantErrors = UniqueValidator(mod).checkUnique(
|
||||
replacementUnique,
|
||||
false,
|
||||
null,
|
||||
@ -211,7 +211,7 @@ class ModCheckTab(
|
||||
if (modInvariantErrors.isNotEmpty()) continue // errors means no autoreplace
|
||||
|
||||
if (mod.modOptions.isBaseRuleset) {
|
||||
val modSpecificErrors = RulesetValidator(mod).checkUnique(
|
||||
val modSpecificErrors = UniqueValidator(mod).checkUnique(
|
||||
replacementUnique,
|
||||
false,
|
||||
null,
|
||||
|
Loading…
Reference in New Issue
Block a user