diff --git a/android/Images/UnitPromotionIcons/Wolfpack_III_(Civ5).png b/android/Images/UnitPromotionIcons/Wolfpack_III_(Civ5).png new file mode 100644 index 0000000000..ae97d995a2 Binary files /dev/null and b/android/Images/UnitPromotionIcons/Wolfpack_III_(Civ5).png differ diff --git a/android/Images/UnitPromotionIcons/Wolfpack_II_(Civ5).png b/android/Images/UnitPromotionIcons/Wolfpack_II_(Civ5).png new file mode 100644 index 0000000000..c1a19fff92 Binary files /dev/null and b/android/Images/UnitPromotionIcons/Wolfpack_II_(Civ5).png differ diff --git a/android/Images/UnitPromotionIcons/Wolfpack_I_(Civ5).png b/android/Images/UnitPromotionIcons/Wolfpack_I_(Civ5).png new file mode 100644 index 0000000000..7af688318a Binary files /dev/null and b/android/Images/UnitPromotionIcons/Wolfpack_I_(Civ5).png differ diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 4a206e5ec4..b859d48811 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -697,20 +697,6 @@ ImprovementIcons/Quarry orig: 100, 100 offset: 0, 0 index: -1 -ImprovementIcons/Railroad - rotate: false - xy: 1734, 722 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -OtherIcons/Railroad - rotate: false - xy: 1734, 722 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 ImprovementIcons/Road rotate: false xy: 347, 407 @@ -788,6 +774,20 @@ OtherIcons/Pentagon orig: 100, 100 offset: 0, 0 index: -1 +OtherIcons/Railroad + rotate: false + xy: 1734, 722 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +ImprovementIcons/Railroad + rotate: false + xy: 1734, 722 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 OtherIcons/Shield rotate: false xy: 692, 622 @@ -2608,3 +2608,24 @@ UnitPromotionIcons/Volley_(Civ5) orig: 20, 20 offset: 0, 0 index: -1 +UnitPromotionIcons/Wolfpack_III_(Civ5) + rotate: false + xy: 380, 5 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Wolfpack_II_(Civ5) + rotate: false + xy: 402, 27 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Wolfpack_I_(Civ5) + rotate: false + xy: 1983, 532 + size: 20, 20 + orig: 20, 20 + offset: 0, 0 + index: -1 diff --git a/android/assets/game.png b/android/assets/game.png index b8c087de15..a5d4ce0175 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/android/assets/jsons/UnitPromotions.json b/android/assets/jsons/UnitPromotions.json index 3d5a9c7cb3..c317696a00 100644 --- a/android/assets/jsons/UnitPromotions.json +++ b/android/assets/jsons/UnitPromotions.json @@ -119,9 +119,9 @@ { name:"Mobility", prerequisites:["Shock II","Drill II","Targeting I", - "Bombardment I","Boarding Party I", "Coastal Raider I"], + "Bombardment I","Boarding Party I", "Coastal Raider I", "Wolfpack I"], effect:"+1 Movement", - unitTypes:["Mounted","WaterMelee","WaterRanged","Armor"] + unitTypes:["Mounted","WaterMelee","WaterRanged","Armor","WaterSubmarine"] } { @@ -147,9 +147,9 @@ { name:"Range", - prerequisites:["Accuracy III","Barrage III","Targeting II","Bombardment II"], + prerequisites:["Accuracy III","Barrage III","Targeting II","Bombardment II", "Wolfpack II"], effect:"+1 Range", - unitTypes:["Ranged","Siege","WaterRanged"] + unitTypes:["Ranged","Siege","WaterRanged","WaterSubmarine"] } { @@ -181,10 +181,10 @@ { name:"Logistics", - prerequisites:["Accuracy III","Barrage III","Targeting III", + prerequisites:["Accuracy III","Barrage III","Targeting III", "Wolfpack III", "Bombardment III", "Coastal Raider III","Boarding Party III"], effect:"1 additional attack per turn", - unitTypes:["Ranged","Siege","WaterMelee","WaterRanged"] + unitTypes:["Ranged","Siege","WaterMelee","WaterRanged","WaterSubmarine"] } { @@ -240,7 +240,6 @@ effect:"Bonus vs City 15%", unitTypes:["WaterMelee"] } - { name:"Targeting I", effect:"Bonus vs City 15%", @@ -258,5 +257,21 @@ effect:"Bonus vs water units 15%", unitTypes:["WaterRanged"] } - + { + name:"Wolfpack I", + effect:"Bonus as Attacker 25%", + unitTypes:["WaterSubmarine"] + } + { + name:"Wolfpack II", + prerequisites:["Wolfpack I"], + effect:"Bonus as Attacker 25%", + unitTypes:["WaterSubmarine"] + } + { + name:"Wolfpack III", + prerequisites:["Wolfpack II"], + effect:"Bonus as Attacker 25%", + unitTypes:["WaterSubmarine"] + } ] \ No newline at end of file diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 6030ecf4a4..3411ffde06 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -525,7 +525,7 @@ }, { name: "Submarine", - unitType: "WaterRanged", + unitType: "WaterSubmarine", movement: 5, strength: 35, rangedStrength: 60, diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index 4d19b0c9dd..886970cc02 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -105,7 +105,10 @@ class BattleDamage{ for (ability in attacker.unit.getUniques()) { val regexResult = Regex("""Bonus as Attacker (\d*)%""").matchEntire(ability) //to do: extend to defender, and penalyy if (regexResult == null) continue - modifiers["Attacker Bonus"] = regexResult.groups[1]!!.value.toFloat() / 100 + val bonus = regexResult.groups[1]!!.value.toFloat() / 100 + if (modifiers.containsKey("Attacker Bonus")) + modifiers["Attacker Bonus"] =modifiers["Attacker Bonus"]!! + bonus + else modifiers["Attacker Bonus"] = bonus } } diff --git a/core/src/com/unciv/models/gamebasics/unit/UnitType.kt b/core/src/com/unciv/models/gamebasics/unit/UnitType.kt index 130e4d27b0..72cbabf143 100644 --- a/core/src/com/unciv/models/gamebasics/unit/UnitType.kt +++ b/core/src/com/unciv/models/gamebasics/unit/UnitType.kt @@ -11,7 +11,8 @@ enum class UnitType{ Siege, WaterCivilian, WaterMelee, - WaterRanged; + WaterRanged, + WaterSubmarine; fun isMelee(): Boolean { return this == Melee @@ -24,6 +25,7 @@ enum class UnitType{ return this == Ranged || this == Siege || this == WaterRanged + || this == WaterSubmarine } fun isLandUnit(): Boolean {