mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
"Uncapturable" unique (#3388)
* WIP * "Uncapturable" unique; civilians will be destroyed instead of captured
This commit is contained in:
parent
b2e40a892b
commit
525cea1cc9
@ -333,7 +333,8 @@ object Battle {
|
|||||||
|
|
||||||
private fun captureCivilianUnit(attacker: ICombatant, defender: ICombatant){
|
private fun captureCivilianUnit(attacker: ICombatant, defender: ICombatant){
|
||||||
// barbarians don't capture civilians
|
// barbarians don't capture civilians
|
||||||
if(attacker.getCivInfo().isBarbarian()){
|
if(attacker.getCivInfo().isBarbarian()
|
||||||
|
||(defender as MapUnitCombatant).unit.hasUnique("Uncapturable")){
|
||||||
defender.takeDamage(100)
|
defender.takeDamage(100)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -341,7 +342,7 @@ object Battle {
|
|||||||
// need to save this because if the unit is captured its owner wil be overwritten
|
// need to save this because if the unit is captured its owner wil be overwritten
|
||||||
val defenderCiv = defender.getCivInfo()
|
val defenderCiv = defender.getCivInfo()
|
||||||
|
|
||||||
val capturedUnit = (defender as MapUnitCombatant).unit
|
val capturedUnit = defender.unit
|
||||||
capturedUnit.civInfo.addNotification("An enemy ["+attacker.getName()+"] has captured our ["+defender.getName()+"]",
|
capturedUnit.civInfo.addNotification("An enemy ["+attacker.getName()+"] has captured our ["+defender.getName()+"]",
|
||||||
defender.getTile().position, Color.RED)
|
defender.getTile().position, Color.RED)
|
||||||
|
|
||||||
|
@ -167,7 +167,10 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
|
|||||||
if(attacker.isMelee() && (defender.getUnitType().isCivilian()
|
if(attacker.isMelee() && (defender.getUnitType().isCivilian()
|
||||||
|| defender.getUnitType()==UnitType.City && defender.isDefeated())) {
|
|| defender.getUnitType()==UnitType.City && defender.isDefeated())) {
|
||||||
add("")
|
add("")
|
||||||
add(if(defender.getUnitType().isCivilian()) "Captured!".tr() else "Occupied!".tr() )
|
add(if(defender.getUnitType().isCivilian()
|
||||||
|
&& (defender as MapUnitCombatant).unit.hasUnique("Uncapturable")) ""
|
||||||
|
else if(defender.getUnitType().isCivilian()) "Captured!".tr()
|
||||||
|
else "Occupied!".tr())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user