mirror of
https://github.com/yairm210/Unciv.git
synced 2024-12-23 01:24:26 +07:00
Carrier cannot attack, AS update to 4.1.3 (#3700)
This commit is contained in:
parent
0aeee8d974
commit
b5c12ec17c
@ -869,10 +869,9 @@
|
|||||||
"unitType": "WaterAircraftCarrier",
|
"unitType": "WaterAircraftCarrier",
|
||||||
"movement": 5,
|
"movement": 5,
|
||||||
"strength": 40,
|
"strength": 40,
|
||||||
"rangedStrength": 40,
|
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Electronics",
|
"requiredTech": "Electronics",
|
||||||
"uniques": ["Can carry 2 aircraft"]
|
"uniques": ["Cannot attack","Can carry 2 aircraft"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Triplane",
|
"name": "Triplane",
|
||||||
|
@ -20,7 +20,7 @@ buildscript {
|
|||||||
dependencies {
|
dependencies {
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${com.unciv.build.BuildConfig.kotlinVersion}")
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${com.unciv.build.BuildConfig.kotlinVersion}")
|
||||||
classpath("de.richsource.gradle.plugins:gwt-gradle-plugin:0.6")
|
classpath("de.richsource.gradle.plugins:gwt-gradle-plugin:0.6")
|
||||||
classpath("com.android.tools.build:gradle:4.1.2")
|
classpath("com.android.tools.build:gradle:4.1.3")
|
||||||
classpath("com.mobidevelop.robovm:robovm-gradle-plugin:2.3.1")
|
classpath("com.mobidevelop.robovm:robovm-gradle-plugin:2.3.1")
|
||||||
|
|
||||||
// This is for wrapping the .jar file into a standalone executable
|
// This is for wrapping the .jar file into a standalone executable
|
||||||
|
@ -227,7 +227,7 @@ class Ruleset {
|
|||||||
lines += "${unit.name} upgrades to itself!"
|
lines += "${unit.name} upgrades to itself!"
|
||||||
if (!unit.unitType.isCivilian() && unit.strength == 0)
|
if (!unit.unitType.isCivilian() && unit.strength == 0)
|
||||||
lines += "${unit.name} is a military unit but has no assigned strength!"
|
lines += "${unit.name} is a military unit but has no assigned strength!"
|
||||||
if (unit.unitType.isRanged() && unit.rangedStrength == 0)
|
if (unit.unitType.isRanged() && unit.rangedStrength == 0 && "Cannot attack" !in unit.uniques)
|
||||||
lines += "${unit.name} is a ranged unit but has no assigned rangedStrength!"
|
lines += "${unit.name} is a ranged unit but has no assigned rangedStrength!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,14 +61,13 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
|
|||||||
|
|
||||||
private fun tryGetAttacker(): ICombatant? {
|
private fun tryGetAttacker(): ICombatant? {
|
||||||
val unitTable = worldScreen.bottomUnitTable
|
val unitTable = worldScreen.bottomUnitTable
|
||||||
if (unitTable.selectedUnit != null
|
return if (unitTable.selectedUnit != null
|
||||||
&& !unitTable.selectedUnit!!.type.isCivilian()) {
|
&& !unitTable.selectedUnit!!.type.isCivilian()
|
||||||
return MapUnitCombatant(unitTable.selectedUnit!!)
|
&& !unitTable.selectedUnit!!.hasUnique("Cannot attack"))
|
||||||
} else if (unitTable.selectedCity != null) {
|
MapUnitCombatant(unitTable.selectedUnit!!)
|
||||||
return CityCombatant(unitTable.selectedCity!!)
|
else if (unitTable.selectedCity != null)
|
||||||
} else {
|
CityCombatant(unitTable.selectedCity!!)
|
||||||
return null // no attacker
|
else null // no attacker
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun tryGetDefender(): ICombatant? {
|
private fun tryGetDefender(): ICombatant? {
|
||||||
@ -243,9 +242,8 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
|
|||||||
val canAttackDefenderCiv = attackerCiv.getDiplomacyManager(defenderTileCiv).canAttack()
|
val canAttackDefenderCiv = attackerCiv.getDiplomacyManager(defenderTileCiv).canAttack()
|
||||||
canNuke = canNuke && canAttackDefenderCiv
|
canNuke = canNuke && canAttackDefenderCiv
|
||||||
}
|
}
|
||||||
val defender = tryGetDefenderAtTile(tile, true)
|
val defender = tryGetDefenderAtTile(tile, true) ?: continue
|
||||||
|
|
||||||
if (defender == null) continue
|
|
||||||
val defenderUnitCiv = defender.getCivInfo()
|
val defenderUnitCiv = defender.getCivInfo()
|
||||||
|
|
||||||
if( defenderUnitCiv.knows(attackerCiv))
|
if( defenderUnitCiv.knows(attackerCiv))
|
||||||
@ -295,17 +293,6 @@ class BattleTable(val worldScreen: WorldScreen): Table() {
|
|||||||
setPosition(worldScreen.stage.width/2-width/2, 5f)
|
setPosition(worldScreen.stage.width/2-width/2, 5f)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun openBugReportPopup() {
|
|
||||||
val battleBugPopup = Popup(worldScreen)
|
|
||||||
battleBugPopup.addGoodSizedLabel("You've encountered a bug that I've been looking for for a while!").row()
|
|
||||||
battleBugPopup.addGoodSizedLabel("If you could copy your game data (\"Copy saved game to clipboard\" - ").row()
|
|
||||||
battleBugPopup.addGoodSizedLabel(" paste into an email to yairm210@hotmail.com)").row()
|
|
||||||
battleBugPopup.addGoodSizedLabel("It would help me figure out what went wrong, since this isn't supposed to happen!").row()
|
|
||||||
battleBugPopup.addGoodSizedLabel("If you could tell me which unit was selected and which unit you tried to attack,").row()
|
|
||||||
battleBugPopup.addGoodSizedLabel(" that would be even better!").row()
|
|
||||||
battleBugPopup.open()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun getHealthBar(currentHealth: Int, maxHealth: Int, expectedDamage:Int): Table {
|
private fun getHealthBar(currentHealth: Int, maxHealth: Int, expectedDamage:Int): Table {
|
||||||
val healthBar = Table()
|
val healthBar = Table()
|
||||||
val totalWidth = 100f
|
val totalWidth = 100f
|
||||||
|
Loading…
Reference in New Issue
Block a user