Example for automating golden age triggers (#12406)

This commit is contained in:
Yair Morgenstern 2024-11-06 14:40:19 +02:00 committed by GitHub
parent b68c4d3edc
commit 6e75245d25
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -104,8 +104,8 @@ object CivilianUnitAutomation {
}
// Great engineer -> Try to speed up wonder construction
if ((unit.hasUnique(UniqueType.CanSpeedupConstruction)
|| unit.hasUnique(UniqueType.CanSpeedupWonderConstruction))) {
if (unit.hasUnique(UniqueType.CanSpeedupConstruction)
|| unit.hasUnique(UniqueType.CanSpeedupWonderConstruction)) {
val wonderCanBeSpedUpEventually = SpecificUnitAutomation.speedupWonderConstruction(unit)
if (wonderCanBeSpedUpEventually)
return
@ -139,6 +139,14 @@ object CivilianUnitAutomation {
// ages?
if (SpecificUnitAutomation.automateImprovementPlacer(unit)) return
val goldenAgeAction = UnitActions.getUnitActions(unit, UnitActionType.TriggerUnique)
.filter { it.action != null && it.associatedUnique?.type in listOf(UniqueType.OneTimeEnterGoldenAge,
UniqueType.OneTimeEnterGoldenAgeTurns) }.firstOrNull()
if (goldenAgeAction != null) {
goldenAgeAction.action?.invoke()
return
}
return // The AI doesn't know how to handle unknown civilian units
}