modding: Added 'upon entering a [tileFilter] tile' trigger

This commit is contained in:
yairm210 2025-01-29 18:51:04 +02:00
parent 55f4f44e65
commit 06c74442d0
3 changed files with 7 additions and 2 deletions

View File

@ -897,7 +897,11 @@ class MapUnit : IsPartOfGameInfoSerialization {
val promotion = unique.params[0]
promotions.addPromotion(promotion, true)
}
val triggeredUniques = getTriggeredUniques(UniqueType.TriggerUponEnteringTile) { tile.matchesFilter(it.params[0]) }
for (triggeredUnique in triggeredUniques)
UniqueTriggerActivation.triggerUnique(triggeredUnique, this)
updateVisibleTiles(true, currentTile.position)
}

View File

@ -909,6 +909,7 @@ enum class UniqueType(
TriggerUponLosingHealth("upon losing at least [amount] HP in a single attack", UniqueTarget.UnitTriggerCondition),
TriggerUponEndingTurnInTile("upon ending a turn in a [tileFilter] tile", UniqueTarget.UnitTriggerCondition),
TriggerUponDiscoveringTile("upon discovering a [tileFilter] tile", UniqueTarget.UnitTriggerCondition),
TriggerUponEnteringTile("upon entering a [tileFilter] tile", UniqueTarget.UnitTriggerCondition),
//endregion

View File

@ -313,7 +313,7 @@ class RulesetValidator(val ruleset: Ruleset) {
}
}
val unitMovementTypes = UnitMovementType.entries.map { it.name }.toSet()
private val unitMovementTypes = UnitMovementType.entries.map { it.name }.toSet()
private fun addUnitTypeErrors(
lines: RulesetErrorList,
tryFixUnknownUniques: Boolean