Added the amphibious promotion and the marine unit (#3987)

* Technology and construction bars no longer extend past their maximum

* Fixed compile errors

* actually fixed the issue

* Added the marine unit

* Moved amphibious promotion effect to unique

* Added icons for Amphibious promotion and Marine unit

* aaah
This commit is contained in:
Xander Lenstra 2021-05-29 22:42:04 +02:00 committed by GitHub
parent 97a36c3772
commit 432e937474
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 443 additions and 409 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -410,72 +410,79 @@ Maori Warrior
orig: 100, 100
offset: 0, 0
index: -1
Mechanized Infantry
Marine
rotate: false
xy: 1124, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Minuteman
Mechanized Infantry
rotate: false
xy: 1226, 308
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Modern Armor
Minuteman
rotate: false
xy: 1328, 410
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Mohawk Warrior
Modern Armor
rotate: false
xy: 1124, 104
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Musketeer
Mohawk Warrior
rotate: false
xy: 1124, 2
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Musketeer
rotate: false
xy: 1226, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Musketman
rotate: false
xy: 1226, 207
xy: 1328, 309
size: 100, 99
orig: 100, 99
offset: 0, 0
index: -1
Naresuan's Elephant
rotate: false
xy: 1328, 308
xy: 1430, 410
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Norwegian Ski Infantry
rotate: false
xy: 1430, 410
xy: 1226, 104
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Nuclear Missile
rotate: false
xy: 1226, 105
xy: 1226, 2
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Panzer
rotate: false
xy: 1328, 206
xy: 1328, 207
size: 100, 100
orig: 100, 100
offset: 0, 0
@ -496,126 +503,126 @@ Pikeman
index: -1
Rifleman
rotate: false
xy: 1226, 3
xy: 1328, 105
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Rocket Artillery
rotate: false
xy: 1328, 104
xy: 1430, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Samurai
rotate: false
xy: 1328, 2
xy: 1532, 308
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Scout
rotate: false
xy: 1430, 206
xy: 1634, 410
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Settler
rotate: false
xy: 1532, 308
xy: 1328, 3
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Ship of the Line
rotate: false
xy: 1634, 410
xy: 1430, 104
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Sipahi
rotate: false
xy: 1430, 104
xy: 1430, 2
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Slinger
rotate: false
xy: 1430, 2
xy: 1532, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Spearman
rotate: false
xy: 1532, 206
xy: 1634, 308
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Stealth Bomber
rotate: false
xy: 1634, 308
xy: 1736, 410
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Submarine
rotate: false
xy: 1736, 410
xy: 1532, 104
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Swordsman
rotate: false
xy: 1532, 104
xy: 1532, 2
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Tank
rotate: false
xy: 1532, 2
xy: 1634, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Tercio
rotate: false
xy: 1634, 206
xy: 1736, 308
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Trebuchet
rotate: false
xy: 1736, 308
xy: 1838, 410
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Triplane
rotate: false
xy: 1838, 410
xy: 1634, 104
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Trireme
rotate: false
xy: 1634, 103
xy: 1736, 205
size: 100, 101
orig: 100, 101
offset: 0, 0
index: -1
Turtle Ship
rotate: false
xy: 1736, 206
xy: 1634, 2
size: 100, 100
orig: 100, 100
offset: 0, 0
@ -636,28 +643,28 @@ War Elephant
index: -1
Warrior
rotate: false
xy: 1736, 104
xy: 1736, 103
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Work Boats
rotate: false
xy: 1736, 2
xy: 1838, 206
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Worker
rotate: false
xy: 1838, 206
xy: 1940, 308
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1
Zero
rotate: false
xy: 1940, 308
xy: 1838, 104
size: 100, 100
orig: 100, 100
offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

After

Width:  |  Height:  |  Size: 279 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 964 KiB

After

Width:  |  Height:  |  Size: 956 KiB

View File

@ -527,7 +527,7 @@
},
{
"name": "Nuclear Fission",
"row": 3,
"row": 4,
"prerequisites": ["Atomic Theory","Radar"],
"quote": "'I am become Death, the destroyer of worlds.' - J. Robert Oppenheimer"
},

View File

@ -135,6 +135,12 @@
"effect": "Double movement rate through Forest and Jungle",
"unitTypes": ["Melee"]
},
{
"name": "Amphibious",
"prerequisites": ["Shock I", "Drill I"],
"uniques": ["Eliminates combat penalty for attacking over a river", "Eliminates combat penalty for attacking from the sea"],
"unitTypes": ["Melee"]
},
{
"name": "Medic",
"prerequisites": ["Shock I", "Drill I", "Scouting II"],
@ -469,4 +475,4 @@
"name": "Slinger Withdraw", // only for Slinger and subsequent upgrades
"effect": "May withdraw before melee ([80]%)"
}
]
]

View File

@ -525,7 +525,7 @@
"upgradesTo": "Musketman",
"obsoleteTech": "Metallurgy",
"requiredResource": "Iron",
"uniques": ["Amphibious"],
"promotions": ["Amphibious"],
"hurryCostModifier": 20,
"attackSound": "metalhit"
//Danish unique unit. Can attack from the sea without any penalty, and moves faster.
@ -1175,6 +1175,17 @@
"obsoleteTech": "Mobile Tactics",
"attackSound": "shot"
},
{
"name": "Marine",
"unitType": "Melee",
"movement": 2,
"strength": 65,
"cost": 400,
"requiredTech": "Pharmaceuticals",
"attackSound": "shot",
"promotions": ["Amphibious"],
"uniques": ["+1 sight when embarked", "Defense bonus when embarked"]
},
{
"name": "Machine Gun",
"unitType": "Ranged",

View File

@ -118,9 +118,10 @@ object BattleDamage {
modifiers.add("Attacker Bonus", unique.params[0].toInt())
}
if (attacker.unit.isEmbarked() && !attacker.unit.hasUnique("Amphibious"))
if (attacker.unit.isEmbarked() && !attacker.unit.hasUnique("Eliminates combat penalty for attacking from the sea"))
modifiers["Landing"] = -50
if (attacker.isMelee()) {
val numberOfAttackersSurroundingDefender = defender.getTile().neighbors.count {
it.militaryUnit != null
@ -130,7 +131,7 @@ object BattleDamage {
if (numberOfAttackersSurroundingDefender > 1)
modifiers["Flanking"] = 10 * (numberOfAttackersSurroundingDefender - 1) //https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
if (attacker.getTile().aerialDistanceTo(defender.getTile()) == 1 && attacker.getTile().isConnectedByRiver(defender.getTile())
&& !attacker.unit.hasUnique("Amphibious")) {
&& !attacker.unit.hasUnique("Eliminates combat penalty for attacking over a river")) {
if (!attacker.getTile().hasConnection(attacker.getCivInfo()) // meaning, the tiles are not road-connected for this civ
|| !defender.getTile().hasConnection(attacker.getCivInfo())
|| !attacker.getCivInfo().tech.roadsConnectAcrossRivers) {

View File

@ -103,6 +103,7 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
* [Manhattan Project](https://thenounproject.com/search/?q=Nuclear%20Bomb&i=2041074) By corpus delicti, GR
* [Nuclear Missile](https://thenounproject.com/marialuisa.iborra/collection/missiles-bombs/?i=1022574) By Lluisa Iborra, ES
* Icon for Carrier made by [JackRainy](https://github.com/JackRainy), based on [Aircraft Carrier](https://thenounproject.com/icolabs/collection/flat-icons-transport/?i=2332914) By IcoLabs, BR
* [Water Gun](https://thenounproject.com/term/water-gun/2121571) by ProSymbols for Marine
### Great People
@ -501,6 +502,7 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
* Icon for Flight Deck is made by [JackRainy](https://github.com/JackRainy)
* Icon for Armor Plating is made by [JackRainy](https://github.com/JackRainy)
* [Slingshot](https://thenounproject.com/term/slingshot/9106/) by James Keuning for Slinger Withdraw
* [Anchor](https://thenounproject.com/term/anchor/676586) by Gregor Cresnar for Amphibious
## Others