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 civilization of [civName] has been destroyed! =
The City-State of [name] has been destroyed! = The City-State of [name] has been destroyed! =
Your [ourUnit] captured an enemy [theirUnit]! = Your [ourUnit] captured an enemy [theirUnit]! =
Your captured [unitName] has been returned by [civName] =
Your [ourUnit] plundered [amount] [Stat] from [theirUnit] = Your [ourUnit] plundered [amount] [Stat] from [theirUnit] =
We have captured a barbarian encampment and recovered [goldAmount] gold! = We have captured a barbarian encampment and recovered [goldAmount] gold! =
An enemy [unitType] has joined us! = 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.city.City
import com.unciv.logic.civilization.AlertType import com.unciv.logic.civilization.AlertType
import com.unciv.logic.civilization.Civilization 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.NotificationCategory
import com.unciv.logic.civilization.NotificationIcon
import com.unciv.logic.civilization.PopupAlert import com.unciv.logic.civilization.PopupAlert
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
@ -308,6 +313,14 @@ class AlertPopup(
originalOwner.getDiplomacyManager(captor) originalOwner.getDiplomacyManager(captor)
.setModifier(DiplomaticModifiers.ReturnedCapturedUnits, 20f) .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) { addCloseButton(Constants.no, KeyboardBinding.Cancel) {
// Take it for ourselves // Take it for ourselves