Modded Citadel no longer hard-codes name and icon in Notification (#10382)

This commit is contained in:
SomeTroglodyte 2023-11-02 23:09:47 +01:00 committed by GitHub
parent 652b3c9159
commit 2b20b971bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 7 deletions

View File

@ -4,7 +4,6 @@ object NotificationIcon {
// Remember: The typical white-on-transparency icon will not be visible on Notifications
const val Barbarians = "ImprovementIcons/Barbarian encampment"
const val Citadel = "ImprovementIcons/Citadel"
const val City = "ImprovementIcons/City center"
const val CityState = "OtherIcons/CityState"
const val Crosshair = "OtherIcons/CrosshairB"

View File

@ -84,26 +84,28 @@ class UnitTurnManager(val unit: MapUnit) {
?: return
if (damage == 0) return
unit.health -= damage
val improvementName = citadelTile.improvement!! // guarded by `getUnpillagedImprovement() != null` above
val improvementIcon = "ImprovementIcons/$improvementName"
val locations = LocationAction(citadelTile.position, unit.currentTile.position)
if (unit.health <= 0) {
unit.civ.addNotification(
"An enemy [Citadel] has destroyed our [${unit.name}]",
"An enemy [$improvementName] has destroyed our [${unit.name}]",
locations,
NotificationCategory.War,
NotificationIcon.Citadel, NotificationIcon.Death, unit.name
improvementIcon, NotificationIcon.Death, unit.name
)
citadelTile.getOwner()?.addNotification(
"Your [Citadel] has destroyed an enemy [${unit.name}]",
"Your [$improvementName] has destroyed an enemy [${unit.name}]",
locations,
NotificationCategory.War,
NotificationIcon.Citadel, NotificationIcon.Death, unit.name
improvementIcon, NotificationIcon.Death, unit.name
)
unit.destroy()
} else unit.civ.addNotification(
"An enemy [Citadel] has attacked our [${unit.name}]",
"An enemy [$improvementName] has attacked our [${unit.name}]",
locations,
NotificationCategory.War,
NotificationIcon.Citadel, NotificationIcon.War, unit.name
improvementIcon, NotificationIcon.War, unit.name
)
}