Added return worker notification (#10140)

* Fixed owner not being notified when a worker is returned

* Changed notification to use a sequence of actions
This commit is contained in:
Oskar Niesen
2023-09-21 07:00:37 -05:00
committed by GitHub
parent 4fcbd48662
commit 5fc49f8e22
2 changed files with 14 additions and 0 deletions

View File

@ -934,6 +934,7 @@ After being hit by our [nukeType], [civName] has declared war on us! =
The civilization of [civName] has been destroyed! =
The City-State of [name] has been destroyed! =
Your [ourUnit] captured an enemy [theirUnit]! =
Your captured [unitName] has been returned by [civName] =
Your [ourUnit] plundered [amount] [Stat] from [theirUnit] =
We have captured a barbarian encampment and recovered [goldAmount] gold! =
An enemy [unitType] has joined us! =

View File

@ -9,7 +9,12 @@ import com.unciv.logic.battle.Battle
import com.unciv.logic.city.City
import com.unciv.logic.civilization.AlertType
import com.unciv.logic.civilization.Civilization
import com.unciv.logic.civilization.CivilopediaAction
import com.unciv.logic.civilization.DiplomacyAction
import com.unciv.logic.civilization.LocationAction
import com.unciv.logic.civilization.NotificationAction
import com.unciv.logic.civilization.NotificationCategory
import com.unciv.logic.civilization.NotificationIcon
import com.unciv.logic.civilization.PopupAlert
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
@ -308,6 +313,14 @@ class AlertPopup(
originalOwner.getDiplomacyManager(captor)
.setModifier(DiplomaticModifiers.ReturnedCapturedUnits, 20f)
}
val notificationSequence = sequence {
yield(LocationAction(tile.position))
if (closestCity != null)
yield(LocationAction(closestCity.location))
yield(DiplomacyAction(captor.civName))
yield(CivilopediaAction("Tutorial/Barbarians"))
}
originalOwner.addNotification("Your captured [${unitName}] has been returned by [${captor.civName}]", notificationSequence, NotificationCategory.Diplomacy, NotificationIcon.Trade, unitName, captor.civName)
}
addCloseButton(Constants.no, KeyboardBinding.Cancel) {
// Take it for ourselves