Added national wonders, fixed some minor issues (#3163)
* fixed translation of "Owned: [amountOwned] = " line * Tweaked culture from killing Aztecs get melee strength of the unit killed in culture and honor opener does the same thing. They stack. So you get culture equal to 200% of the dead unit's strength (not ranged strength). * removed hurryCostModifier from units that should not have it Default value of HurryCostModifier is 0 List of units with non-default HurryCostModifier: Settler (20) SS parts (-1) (cannot be hurried) Frigate (20) Ship of the Line (20) Caravel (30) Turtle Ship (30) Catapult (20) Ballista (20) Horseman (20) Companion Cavalry (20) Swordsman (20) Mohawk Warrior (20) Legion (20) Berserker (20) * added missing definitions from vanilla (commented out) added missing obsolete tech tags, etc * tweaked hurryCostModifier, added missing vanilla buildings (commented out) * added promotions and parametrized uniques Morale (+[15]% Combat Strength) Great Generals I ([Great General] is earned [50]% faster) Great Generals II ([Great General] is earned [100]% faster) Quick Study ([50]% Bonus XP gain) Unretired Mass Media icon Added Heroic Epic, National Epic and National Treasury national wonders Heroic Epic has unique "All newly-trained [non-air] units in this city receive the [Morale] promotion" - "non-air" is valid param now [Raising The Flag on Iwo Jima silhouette, Marine Corps War Memorial Raising the Flag on Iwo Jima Battle of Iwo Jima Washington, D.C., memorial free png](https://www.pngfuel.com/free-png/opgid) for Heroic Epic and Morale promotion [Arc de Triomphe](https://thenounproject.com/search/?q=Arc%20de%20Triomphe&i=2936011) by iconfield for National Epic [Bank](https://thenounproject.com/term/bank/213472/) by By P Thanga Vignesh for National Treasury reused general icon for Great Generals and Quick Study promotions * implemented "Cost increases by [30] per owned city of cities" unique All vanilla national wonders that require something in all cities have it * added uniques "Nuclear weapon" - Game option "nuclearWeaponsEnabled" enables units with this unique "Requires [building]" - Apollo Program, Manhattan Project etc "Requires adopted [policy]" - in expansions Statue of Zeus will require "Honor", Prora - "Autocracy", Landsknecht - "Mercenary Army". * merged "Requires adopted [policy]" with "Requires [Wonder]" * Separated unique.params[0] to val filter * Changed National Epic image
BIN
android/Images/BuildingIcons/Heroic Epic.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
android/Images/BuildingIcons/National Epic.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
android/Images/BuildingIcons/National Treasury.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
android/Images/UnitPromotionIcons/Great Generals.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
android/Images/UnitPromotionIcons/Morale.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
android/Images/UnitPromotionIcons/Quick Study.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 882 KiB After Width: | Height: | Size: 899 KiB |
Before Width: | Height: | Size: 503 KiB After Width: | Height: | Size: 495 KiB |
@ -32,7 +32,7 @@
|
|||||||
"requiredNearbyImprovedResources": ["Marble", "Stone"],
|
"requiredNearbyImprovedResources": ["Marble", "Stone"],
|
||||||
"resourceBonusStats": {"production": 1},
|
"resourceBonusStats": {"production": 1},
|
||||||
"maintenance": 1,
|
"maintenance": 1,
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 0,
|
||||||
"uniques": ["Must not be on [Plains]"],
|
"uniques": ["Must not be on [Plains]"],
|
||||||
"requiredTech": "Calendar"
|
"requiredTech": "Calendar"
|
||||||
},
|
},
|
||||||
@ -170,6 +170,7 @@
|
|||||||
"uniques": ["+15% Combat Strength for all units when attacking Cities"],
|
"uniques": ["+15% Combat Strength for all units when attacking Cities"],
|
||||||
"requiredTech": "Bronze Working",
|
"requiredTech": "Bronze Working",
|
||||||
"quote": "'He spoke, the son of Kronos, and nodded his head with the dark brows, and the immortally anointed hair of the great god swept from his divine head, and all Olympos was shaken' - The Iliad"
|
"quote": "'He spoke, the son of Kronos, and nodded his head with the dark brows, and the immortally anointed hair of the great god swept from his divine head, and all Olympos was shaken' - The Iliad"
|
||||||
|
// "Requires [Honor]" in BNW
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Mausoleum of Halicarnassus",
|
"name": "Mausoleum of Halicarnassus",
|
||||||
@ -213,10 +214,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Circus Maximus",
|
"name": "Circus Maximus",
|
||||||
|
"cost": 125,
|
||||||
"happiness": 5,
|
"happiness": 5,
|
||||||
"culture": 1,
|
"culture": 1,
|
||||||
"isNationalWonder": true,
|
"isNationalWonder": true,
|
||||||
"requiredBuildingInAllCities": "Colosseum",
|
"requiredBuildingInAllCities": "Colosseum",
|
||||||
|
"uniques": ["Cost increases by [30] per owned city"],
|
||||||
"requiredTech": "Horseback Riding"
|
"requiredTech": "Horseback Riding"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -231,7 +234,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Courthouse",
|
"name": "Courthouse",
|
||||||
"maintenance": 4,
|
"maintenance": 4,
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 50,
|
||||||
"uniques": ["Remove extra unhappiness from annexed cities",
|
"uniques": ["Remove extra unhappiness from annexed cities",
|
||||||
"Can only be built in annexed cities"],
|
"Can only be built in annexed cities"],
|
||||||
"requiredTech": "Mathematics"
|
"requiredTech": "Mathematics"
|
||||||
@ -250,6 +253,7 @@
|
|||||||
"greatPersonPoints": {"culture": 1},
|
"greatPersonPoints": {"culture": 1},
|
||||||
"requiredTech": "Construction",
|
"requiredTech": "Construction",
|
||||||
"quote": "'Regard your soldiers as your children, and they will follow you into the deepest valleys; look on them as your own beloved sons, and they will stand by you even unto death.' - Sun Tzu"
|
"quote": "'Regard your soldiers as your children, and they will follow you into the deepest valleys; look on them as your own beloved sons, and they will stand by you even unto death.' - Sun Tzu"
|
||||||
|
// will be introduced in G&K expansion pack
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Temple",
|
"name": "Temple",
|
||||||
@ -265,8 +269,8 @@
|
|||||||
"replaces": "Temple",
|
"replaces": "Temple",
|
||||||
"uniqueTo": "Egypt",
|
"uniqueTo": "Egypt",
|
||||||
"uniques": ["Doubles Gold given to enemy if city is captured"],
|
"uniques": ["Doubles Gold given to enemy if city is captured"],
|
||||||
"culture": 3,
|
"culture": 2,
|
||||||
"happiness": 1,
|
"happiness": 2,
|
||||||
"specialistSlots": {"culture": 1},
|
"specialistSlots": {"culture": 1},
|
||||||
"requiredBuilding": "Monument",
|
"requiredBuilding": "Monument",
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 25,
|
||||||
@ -277,7 +281,7 @@
|
|||||||
"replaces": "Temple",
|
"replaces": "Temple",
|
||||||
"uniqueTo": "Songhai",
|
"uniqueTo": "Songhai",
|
||||||
"maintenance": 0,
|
"maintenance": 0,
|
||||||
"hurryCostModifier": 15,
|
"hurryCostModifier": 25,
|
||||||
"culture": 4,
|
"culture": 4,
|
||||||
"requiredBuilding": "Monument",
|
"requiredBuilding": "Monument",
|
||||||
"requiredTech": "Philosophy"
|
"requiredTech": "Philosophy"
|
||||||
@ -291,6 +295,15 @@
|
|||||||
"requiredTech": "Philosophy",
|
"requiredTech": "Philosophy",
|
||||||
"quote": "'The ancient Oracle said that I was the wisest of all the Greeks. It is because I alone, of all the Greeks, know that I know nothing' - Socrates"
|
"quote": "'The ancient Oracle said that I was the wisest of all the Greeks. It is because I alone, of all the Greeks, know that I know nothing' - Socrates"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "National Epic",
|
||||||
|
"cost": 125,
|
||||||
|
"culture": 1,
|
||||||
|
"uniques": ["+[25]% great person generation in this city", "Cost increases by [30] per owned city"],
|
||||||
|
"isNationalWonder": true,
|
||||||
|
"requiredBuildingInAllCities": "Monument",
|
||||||
|
"requiredTech": "Philosophy"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Market",
|
"name": "Market",
|
||||||
"gold": 2,
|
"gold": 2,
|
||||||
@ -299,6 +312,16 @@
|
|||||||
"percentStatBonus": {"gold": 25},
|
"percentStatBonus": {"gold": 25},
|
||||||
"requiredTech": "Currency"
|
"requiredTech": "Currency"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "National Treasury",
|
||||||
|
"cost": 125,
|
||||||
|
"gold": 8,
|
||||||
|
"culture": 1,
|
||||||
|
"isNationalWonder": true,
|
||||||
|
"requiredBuildingInAllCities": "Market",
|
||||||
|
"uniques": ["Cost increases by [30] per owned city"],
|
||||||
|
"requiredTech": "Currency"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Bazaar",
|
"name": "Bazaar",
|
||||||
"replaces": "Market",
|
"replaces": "Market",
|
||||||
@ -333,7 +356,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Aqueduct",
|
"name": "Aqueduct",
|
||||||
"maintenance": 1,
|
"maintenance": 1,
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 0,
|
||||||
"uniques": ["[40]% of food is carried over after population increases"],
|
"uniques": ["[40]% of food is carried over after population increases"],
|
||||||
"requiredTech": "Engineering"
|
"requiredTech": "Engineering"
|
||||||
},
|
},
|
||||||
@ -347,6 +370,15 @@
|
|||||||
"requiredTech": "Engineering",
|
"requiredTech": "Engineering",
|
||||||
"quote": "'The art of war teaches us to rely not on the likelihood of the enemy's not attacking, but rather on the fact that we have made our position unassailable.' - Sun Tzu"
|
"quote": "'The art of war teaches us to rely not on the likelihood of the enemy's not attacking, but rather on the fact that we have made our position unassailable.' - Sun Tzu"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Heroic Epic",
|
||||||
|
"cost": 125,
|
||||||
|
"culture": 1,
|
||||||
|
"isNationalWonder": true,
|
||||||
|
"requiredBuildingInAllCities": "Barracks",
|
||||||
|
"uniques": ["All newly-trained [non-air] units in this city receive the [Morale] promotion", "Cost increases by [30] per owned city"],
|
||||||
|
"requiredTech": "Iron Working"
|
||||||
|
},
|
||||||
|
|
||||||
// Medieval Era
|
// Medieval Era
|
||||||
|
|
||||||
@ -377,19 +409,15 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "National College",
|
"name": "National College",
|
||||||
|
"cost": 125,
|
||||||
"science": 3,
|
"science": 3,
|
||||||
"culture": 1,
|
"culture": 1,
|
||||||
"isNationalWonder": true,
|
"isNationalWonder": true,
|
||||||
"percentStatBonus": {"science": 50},
|
"percentStatBonus": {"science": 50},
|
||||||
"requiredBuildingInAllCities": "Library",
|
"requiredBuildingInAllCities": "Library",
|
||||||
|
"uniques": ["Cost increases by [30] per owned city"],
|
||||||
"requiredTech": "Philosophy"
|
"requiredTech": "Philosophy"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Manhattan Project",
|
|
||||||
"isNationalWonder": true,
|
|
||||||
"uniques": ["Enables nuclear weapon"],
|
|
||||||
"requiredTech": "Nuclear Fission"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Chichen Itza",
|
"name": "Chichen Itza",
|
||||||
"culture": 1,
|
"culture": 1,
|
||||||
@ -473,12 +501,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Oxford University",
|
"name": "Oxford University",
|
||||||
|
"cost": 125,
|
||||||
"science": 3,
|
"science": 3,
|
||||||
"culture": 1,
|
"culture": 1,
|
||||||
"isNationalWonder": true,
|
"isNationalWonder": true,
|
||||||
"percentStatBonus": {"science": 50},
|
"percentStatBonus": {"science": 50},
|
||||||
"requiredBuildingInAllCities": "University",
|
"requiredBuildingInAllCities": "University",
|
||||||
"uniques": ["Free Technology"],
|
"uniques": ["Free Technology", "Cost increases by [30] per owned city"],
|
||||||
"requiredTech": "Education"
|
"requiredTech": "Education"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -488,6 +517,7 @@
|
|||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 25,
|
||||||
"requiredBuilding": "Walls",
|
"requiredBuilding": "Walls",
|
||||||
"requiredTech": "Chivalry"
|
"requiredTech": "Chivalry"
|
||||||
|
// 4 cityStrength in vanilla, no ExtraCityHitPoints in vanilla
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Mughal Fort",
|
"name": "Mughal Fort",
|
||||||
@ -520,13 +550,16 @@
|
|||||||
"uniques": ["All newly-trained [relevant] units in this city receive the [Drill I] promotion"],
|
"uniques": ["All newly-trained [relevant] units in this city receive the [Drill I] promotion"],
|
||||||
"requiredTech": "Chivalry",
|
"requiredTech": "Chivalry",
|
||||||
"quote": "'Justice is an unassailable fortress, built on the brow of a mountain which cannot be overthrown by the violence of torrents, nor demolished by the force of armies.' - Joseph Addison"
|
"quote": "'Justice is an unassailable fortress, built on the brow of a mountain which cannot be overthrown by the violence of torrents, nor demolished by the force of armies.' - Joseph Addison"
|
||||||
|
// will be introduced in G&K expansion pack
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Ironworks",
|
"name": "Ironworks",
|
||||||
|
"cost": 125,
|
||||||
"production": 8,
|
"production": 8,
|
||||||
"culture": 1,
|
"culture": 1,
|
||||||
"isNationalWonder": true,
|
"isNationalWonder": true,
|
||||||
"requiredBuildingInAllCities": "Workshop",
|
"requiredBuildingInAllCities": "Workshop",
|
||||||
|
"uniques": ["Cost increases by [30] per owned city"],
|
||||||
"requiredTech": "Machinery"
|
"requiredTech": "Machinery"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -551,8 +584,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
"name": "Observatory",
|
"name": "Observatory",
|
||||||
"maintenance": 2,
|
"maintenance": 0,
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 15,
|
||||||
"percentStatBonus": {"science": 50},
|
"percentStatBonus": {"science": 50},
|
||||||
"requiredBuilding": "Library",
|
"requiredBuilding": "Library",
|
||||||
"uniques": ["Must be next to [Mountain]"],
|
"uniques": ["Must be next to [Mountain]"],
|
||||||
@ -608,6 +641,7 @@
|
|||||||
"uniques": ["+5% Production for every Trade Route with a City-State in the empire"],
|
"uniques": ["+5% Production for every Trade Route with a City-State in the empire"],
|
||||||
"requiredBuilding": "Market",
|
"requiredBuilding": "Market",
|
||||||
"requiredTech": "Banking"
|
"requiredTech": "Banking"
|
||||||
|
// will be introduced in BNW expansion pack
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Forbidden Palace",
|
"name": "Forbidden Palace",
|
||||||
@ -634,6 +668,7 @@
|
|||||||
"uniques": ["Free Great Person"],
|
"uniques": ["Free Great Person"],
|
||||||
"requiredTech": "Printing Press",
|
"requiredTech": "Printing Press",
|
||||||
"quote": "'Don't clap too hard - it's a very old building.' - John Osbourne"
|
"quote": "'Don't clap too hard - it's a very old building.' - John Osbourne"
|
||||||
|
// will be introduced in G&K expansion pack
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Himeji Castle",
|
"name": "Himeji Castle",
|
||||||
@ -656,10 +691,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Hermitage",
|
"name": "Hermitage",
|
||||||
|
"cost": 125,
|
||||||
"percentStatBonus": {"culture": 50},
|
"percentStatBonus": {"culture": 50},
|
||||||
"culture": 5,
|
"culture": 5,
|
||||||
"isNationalWonder": true,
|
"isNationalWonder": true,
|
||||||
"requiredBuildingInAllCities": "Opera House",
|
"requiredBuildingInAllCities": "Opera House",
|
||||||
|
"uniques": ["Cost increases by [30] per owned city"],
|
||||||
"requiredTech": "Archaeology"
|
"requiredTech": "Archaeology"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -674,7 +711,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Seaport",
|
"name": "Seaport",
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 25,
|
||||||
"maintenance": 2,
|
"maintenance": 3,
|
||||||
"requiredBuilding": "Harbor",
|
"requiredBuilding": "Harbor",
|
||||||
"uniques": ["[+1 Production, +1 Gold] from [Water resource] tiles in this city",
|
"uniques": ["[+1 Production, +1 Gold] from [Water resource] tiles in this city",
|
||||||
"Must be next to [Coast]", "+[15]% production when building [naval units] in this city"],
|
"Must be next to [Coast]", "+[15]% production when building [naval units] in this city"],
|
||||||
@ -733,10 +770,20 @@
|
|||||||
"requiredResource": "Coal",
|
"requiredResource": "Coal",
|
||||||
"requiredTech": "Industrialization"
|
"requiredTech": "Industrialization"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Arsenal",
|
||||||
|
"cityStrength": 6,
|
||||||
|
"hurryCostModifier": 25,
|
||||||
|
"requiredBuilding": "Castle",
|
||||||
|
"requiredTech": "Rifling"
|
||||||
|
//+9 City Defense Strength, +25 City Hit Points, requiredTech "Metallurgy" in expansions
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Military Academy",
|
"name": "Military Academy",
|
||||||
"xpForNewUnits": 15,
|
"xpForNewUnits": 15,
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 0,
|
||||||
"maintenance": 1,
|
"maintenance": 1,
|
||||||
"requiredBuilding": "Armory",
|
"requiredBuilding": "Armory",
|
||||||
"requiredTech": "Military Science"
|
"requiredTech": "Military Science"
|
||||||
@ -783,7 +830,7 @@
|
|||||||
"name": "Hydro Plant",
|
"name": "Hydro Plant",
|
||||||
"cost": 360,
|
"cost": 360,
|
||||||
"requiredResource": "Aluminum",
|
"requiredResource": "Aluminum",
|
||||||
"hurryCostModifier": 25,
|
"hurryCostModifier": 0,
|
||||||
"maintenance": 3,
|
"maintenance": 3,
|
||||||
"uniques": ["Must be on [River]","[+1 Production] from [River] tiles in this city"],
|
"uniques": ["Must be on [River]","[+1 Production] from [River] tiles in this city"],
|
||||||
"requiredTech": "Electricity"
|
"requiredTech": "Electricity"
|
||||||
@ -835,6 +882,16 @@
|
|||||||
"maintenance": 2,
|
"maintenance": 2,
|
||||||
"requiredTech": "Refrigeration"
|
"requiredTech": "Refrigeration"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Military Base",
|
||||||
|
"cityStrength": 12,
|
||||||
|
"hurryCostModifier": 25,
|
||||||
|
"requiredBuilding": "Arsenal",
|
||||||
|
"requiredTech": "Telegraph"
|
||||||
|
//+25 City Hit Points, requiredTech "Replaceable parts" in expansions
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Cristo Redentor",
|
"name": "Cristo Redentor",
|
||||||
"culture": 5,
|
"culture": 5,
|
||||||
@ -864,7 +921,7 @@
|
|||||||
"Must have an owned [Mountain] within [2] tiles"],
|
"Must have an owned [Mountain] within [2] tiles"],
|
||||||
"requiredTech": "Railroad",
|
"requiredTech": "Railroad",
|
||||||
"quote": "'...the location is one of the most beautiful to be found, holy and unapproachable, a worthy temple for the divine friend who has brought salvation and true blessing to the world.' - King Ludwig II of Bavaria"
|
"quote": "'...the location is one of the most beautiful to be found, holy and unapproachable, a worthy temple for the divine friend who has brought salvation and true blessing to the world.' - King Ludwig II of Bavaria"
|
||||||
|
// will be introduced in G&K expansion pack
|
||||||
},
|
},
|
||||||
|
|
||||||
// Information Era
|
// Information Era
|
||||||
@ -876,6 +933,12 @@
|
|||||||
"requiredTech": "Pharmaceuticals",
|
"requiredTech": "Pharmaceuticals",
|
||||||
"uniques": ["[25]% of food is carried over after population increases"]
|
"uniques": ["[25]% of food is carried over after population increases"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Manhattan Project",
|
||||||
|
"isNationalWonder": true,
|
||||||
|
"uniques": ["Enables nuclear weapon"],
|
||||||
|
"requiredTech": "Nuclear Fission"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Nuclear Plant",
|
"name": "Nuclear Plant",
|
||||||
"production": 5,
|
"production": 5,
|
||||||
@ -914,7 +977,18 @@
|
|||||||
"providesFreeBuilding": "Broadcast Tower"
|
"providesFreeBuilding": "Broadcast Tower"
|
||||||
"uniques": ["+1 population in each city","+1 happiness in each city"]
|
"uniques": ["+1 population in each city","+1 happiness in each city"]
|
||||||
"requiredTech": "Telecommunications" // todo doesn't exist yet!
|
"requiredTech": "Telecommunications" // todo doesn't exist yet!
|
||||||
},*/
|
// will be introduced in G&K expansion pack
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "United Nations",
|
||||||
|
"isWonder": true,
|
||||||
|
"culture": 1,
|
||||||
|
"greatPersonPoints": {"gold": 2},
|
||||||
|
"uniques": ["Triggers voting for the Diplomatic Victory"],
|
||||||
|
"quote": "'More than ever before in human history, we share a common destiny. We can master it only if we face it together. And that is why we have the United Nations.' - Kofi Annan"
|
||||||
|
"requiredTech": "Globalization", // todo doesn't exist yet!
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Pentagon",
|
"name": "Pentagon",
|
||||||
"isWonder": true,
|
"isWonder": true,
|
||||||
@ -959,6 +1033,7 @@
|
|||||||
"+[25]% production when building [Spaceship part] in this city"],
|
"+[25]% production when building [Spaceship part] in this city"],
|
||||||
"requiredTech": "Satellites",
|
"requiredTech": "Satellites",
|
||||||
"quote": "'The wonder is, not that the field of stars is so vast, but that man has measured it.' - Anatole France"
|
"quote": "'The wonder is, not that the field of stars is so vast, but that man has measured it.' - Anatole France"
|
||||||
|
// will be introduced in G&K expansion pack
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "SS Cockpit",
|
"name": "SS Cockpit",
|
||||||
|
@ -423,7 +423,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Targeting I (air)",
|
"name": "Targeting I (air)",
|
||||||
"prerequisites": ["Interception I","Dogfighting I", "Siege I","Bombardment I"]
|
"prerequisites": ["Interception I","Dogfighting I", "Siege I","Bombardment I"],
|
||||||
"effect": "Bonus vs water units 15%",
|
"effect": "Bonus vs water units 15%",
|
||||||
"unitTypes": ["Fighter","Bomber"]
|
"unitTypes": ["Fighter","Bomber"]
|
||||||
},
|
},
|
||||||
@ -441,6 +441,22 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
// Uniques
|
// Uniques
|
||||||
|
{
|
||||||
|
"name": "Morale", // Heroic Epic
|
||||||
|
"effect": "+[15]% Combat Strength"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Great Generals I", // only for Companion Cavalry, Keshik and their subsequent upgrades
|
||||||
|
"effect": "[Great General] is earned [50]% faster"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Great Generals II", // only for Samurai and subsequent upgrades
|
||||||
|
"effect": "[Great General] is earned [100]% faster"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Quick Study", // only for Keshik and subsequent upgrades
|
||||||
|
"effect": "[50]% Bonus XP gain"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Haka War Dance", // only for Maori Warrior and subsequent upgrades
|
"name": "Haka War Dance", // only for Maori Warrior and subsequent upgrades
|
||||||
"effect": "-10% combat strength for adjacent enemy units"
|
"effect": "-10% combat strength for adjacent enemy units"
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
"name": "Worker",
|
"name": "Worker",
|
||||||
"unitType": "Civilian",
|
"unitType": "Civilian",
|
||||||
"movement": 2,
|
"movement": 2,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["Can build improvements on tiles"],
|
"uniques": ["Can build improvements on tiles"],
|
||||||
"cost": 70
|
"cost": 70
|
||||||
},
|
},
|
||||||
@ -35,7 +34,6 @@
|
|||||||
"movement": 2,
|
"movement": 2,
|
||||||
"strength": 8,
|
"strength": 8,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"obsoleteTech": "Metal Casting",
|
"obsoleteTech": "Metal Casting",
|
||||||
"upgradesTo": "Swordsman",
|
"upgradesTo": "Swordsman",
|
||||||
"attackSound": "nonmetalhit"
|
"attackSound": "nonmetalhit"
|
||||||
@ -48,7 +46,6 @@
|
|||||||
"movement": 2,
|
"movement": 2,
|
||||||
"strength": 8,
|
"strength": 8,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"obsoleteTech": "Metal Casting",
|
"obsoleteTech": "Metal Casting",
|
||||||
"promotions": ["Haka War Dance"],
|
"promotions": ["Haka War Dance"],
|
||||||
"upgradesTo": "Swordsman",
|
"upgradesTo": "Swordsman",
|
||||||
@ -62,7 +59,6 @@
|
|||||||
"movement": 2,
|
"movement": 2,
|
||||||
"strength": 8,
|
"strength": 8,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"obsoleteTech": "Metal Casting",
|
"obsoleteTech": "Metal Casting",
|
||||||
"uniques": ["+[33]% combat bonus in [Forest]", "+[33]% combat bonus in [Jungle]", "Heals [25] damage if it kills a unit"],
|
"uniques": ["+[33]% combat bonus in [Forest]", "+[33]% combat bonus in [Jungle]", "Heals [25] damage if it kills a unit"],
|
||||||
"promotions": ["Woodsman"],
|
"promotions": ["Woodsman"],
|
||||||
@ -88,12 +84,28 @@
|
|||||||
"strength": 5,
|
"strength": 5,
|
||||||
"rangedStrength": 7,
|
"rangedStrength": 7,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"requiredTech": "Archery",
|
"requiredTech": "Archery",
|
||||||
"obsoleteTech": "Machinery",
|
"obsoleteTech": "Machinery",
|
||||||
"upgradesTo": "Crossbowman",
|
"upgradesTo": "Crossbowman",
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Archer",
|
||||||
|
"unitType": "Ranged",
|
||||||
|
"uniqueTo": "Barbarians",
|
||||||
|
"replaces": "Archer",
|
||||||
|
"movement": 2,
|
||||||
|
"strength": 4,
|
||||||
|
"rangedStrength": 7,
|
||||||
|
"cost": 40,
|
||||||
|
"requiredTech": "Archery",
|
||||||
|
"obsoleteTech": "Machinery",
|
||||||
|
"upgradesTo": "Crossbowman",
|
||||||
|
"attackSound": "arrow"
|
||||||
|
// Barbarian unique archer. Has same icon and name but +1 rangedStrength (in vanilla) and slightly different 3d texture
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Bowman",
|
"name": "Bowman",
|
||||||
"unitType": "Ranged",
|
"unitType": "Ranged",
|
||||||
@ -101,7 +113,6 @@
|
|||||||
"strength": 7,
|
"strength": 7,
|
||||||
"rangedStrength": 9,
|
"rangedStrength": 9,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"requiredTech": "Archery",
|
"requiredTech": "Archery",
|
||||||
"obsoleteTech": "Machinery",
|
"obsoleteTech": "Machinery",
|
||||||
"replaces": "Archer",
|
"replaces": "Archer",
|
||||||
@ -118,7 +129,6 @@
|
|||||||
"strength": 4,
|
"strength": 4,
|
||||||
"rangedStrength": 7,
|
"rangedStrength": 7,
|
||||||
"cost": 40,
|
"cost": 40,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"requiredTech": "Archery",
|
"requiredTech": "Archery",
|
||||||
"obsoleteTech": "Machinery",
|
"obsoleteTech": "Machinery",
|
||||||
"upgradesTo": "Crossbowman",
|
"upgradesTo": "Crossbowman",
|
||||||
@ -131,8 +141,7 @@
|
|||||||
"movement": 4,
|
"movement": 4,
|
||||||
"cost": 30,
|
"cost": 30,
|
||||||
"requiredTech": "Sailing",
|
"requiredTech": "Sailing",
|
||||||
"uniques": ["Cannot enter ocean tiles until Astronomy", "May create improvements on water resources"],
|
"uniques": ["Cannot enter ocean tiles until Astronomy", "May create improvements on water resources"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Trireme",
|
"name": "Trireme",
|
||||||
@ -144,7 +153,6 @@
|
|||||||
"uniques": ["Cannot enter ocean tiles",],
|
"uniques": ["Cannot enter ocean tiles",],
|
||||||
"upgradesTo": "Caravel",
|
"upgradesTo": "Caravel",
|
||||||
"obsoleteTech": "Astronomy",
|
"obsoleteTech": "Astronomy",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "nonmetalhit"
|
"attackSound": "nonmetalhit"
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
@ -157,7 +165,6 @@
|
|||||||
"cost": 40,
|
"cost": 40,
|
||||||
"uniques": ["Cannot enter ocean tiles"]
|
"uniques": ["Cannot enter ocean tiles"]
|
||||||
"upgradesTo": "Trireme",
|
"upgradesTo": "Trireme",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "nonmetalhit"
|
"attackSound": "nonmetalhit"
|
||||||
//Barbarian unique naval unit, weaker and slower than Trireme.
|
//Barbarian unique naval unit, weaker and slower than Trireme.
|
||||||
},
|
},
|
||||||
@ -174,7 +181,6 @@
|
|||||||
"upgradesTo": "Knight",
|
"upgradesTo": "Knight",
|
||||||
"obsoleteTech": "Chivalry",
|
"obsoleteTech": "Chivalry",
|
||||||
"uniques": ["No defensive terrain bonus", "Rough terrain penalty"],
|
"uniques": ["No defensive terrain bonus", "Rough terrain penalty"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -190,7 +196,6 @@
|
|||||||
"upgradesTo": "Knight",
|
"upgradesTo": "Knight",
|
||||||
"obsoleteTech": "Chivalry",
|
"obsoleteTech": "Chivalry",
|
||||||
"uniques": ["No defensive terrain bonus", "Rough terrain penalty"],
|
"uniques": ["No defensive terrain bonus", "Rough terrain penalty"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -206,7 +211,6 @@
|
|||||||
"upgradesTo": "Knight",
|
"upgradesTo": "Knight",
|
||||||
"obsoleteTech": "Chivalry",
|
"obsoleteTech": "Chivalry",
|
||||||
"uniques": ["No defensive terrain bonus"],
|
"uniques": ["No defensive terrain bonus"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -219,7 +223,6 @@
|
|||||||
"obsoleteTech": "Civil Service",
|
"obsoleteTech": "Civil Service",
|
||||||
"upgradesTo": "Pikeman",
|
"upgradesTo": "Pikeman",
|
||||||
"uniques": ["Bonus vs Mounted 50%"],
|
"uniques": ["Bonus vs Mounted 50%"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -234,7 +237,6 @@
|
|||||||
"obsoleteTech": "Civil Service",
|
"obsoleteTech": "Civil Service",
|
||||||
"upgradesTo": "Pikeman",
|
"upgradesTo": "Pikeman",
|
||||||
"uniques": ["Bonus vs Mounted 50%"],
|
"uniques": ["Bonus vs Mounted 50%"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -249,10 +251,24 @@
|
|||||||
"obsoleteTech": "Civil Service",
|
"obsoleteTech": "Civil Service",
|
||||||
"upgradesTo": "Pikeman",
|
"upgradesTo": "Pikeman",
|
||||||
"uniques": ["Bonus vs Mounted 50%","+10 HP when healing"],
|
"uniques": ["Bonus vs Mounted 50%","+10 HP when healing"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Spearman",
|
||||||
|
"unitType": "Melee",
|
||||||
|
"movement": 2,
|
||||||
|
"strength": 7,
|
||||||
|
"cost": 56,
|
||||||
|
"requiredTech": "Bronze Working",
|
||||||
|
"obsoleteTech": "Civil Service",
|
||||||
|
"upgradesTo": "Pikeman",
|
||||||
|
"uniques": ["Bonus vs Mounted 50%"],
|
||||||
|
"attackSound": "metalhit"
|
||||||
|
// Barbarian unique Spearman. Has same icon and name but slightly different 3d texture
|
||||||
|
// 10 strength in expansions
|
||||||
|
},
|
||||||
|
*/
|
||||||
|
|
||||||
/* Classical Era */
|
/* Classical Era */
|
||||||
{
|
{
|
||||||
@ -265,7 +281,8 @@
|
|||||||
"requiredTech": "Mathematics",
|
"requiredTech": "Mathematics",
|
||||||
"obsoleteTech": "Physics",
|
"obsoleteTech": "Physics",
|
||||||
"upgradesTo": "Trebuchet",
|
"upgradesTo": "Trebuchet",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack"],
|
"uniques": ["Bonus vs City 200%", "No defensive terrain bonus",
|
||||||
|
"Must set up to ranged attack", "Limited Visibility"],
|
||||||
"hurryCostModifier": 20,
|
"hurryCostModifier": 20,
|
||||||
"attackSound": "throw"
|
"attackSound": "throw"
|
||||||
},
|
},
|
||||||
@ -281,7 +298,8 @@
|
|||||||
"requiredTech": "Mathematics",
|
"requiredTech": "Mathematics",
|
||||||
"obsoleteTech": "Physics",
|
"obsoleteTech": "Physics",
|
||||||
"upgradesTo": "Trebuchet",
|
"upgradesTo": "Trebuchet",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack"],
|
"uniques": ["Bonus vs City 200%", "No defensive terrain bonus",
|
||||||
|
"Must set up to ranged attack", "Limited Visibility"],
|
||||||
"hurryCostModifier": 20,
|
"hurryCostModifier": 20,
|
||||||
"attackSound": "throw"
|
"attackSound": "throw"
|
||||||
},
|
},
|
||||||
@ -293,11 +311,11 @@
|
|||||||
"strength": 7,
|
"strength": 7,
|
||||||
"rangedStrength": 11,
|
"rangedStrength": 11,
|
||||||
"cost": 75,
|
"cost": 75,
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"requiredTech": "Construction",
|
"requiredTech": "Construction",
|
||||||
"obsoleteTech": "Machinery",
|
"obsoleteTech": "Machinery",
|
||||||
"upgradesTo": "Crossbowman",
|
"upgradesTo": "Crossbowman",
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
@ -323,10 +341,12 @@
|
|||||||
"cost": 75,
|
"cost": 75,
|
||||||
"requiredTech": "Iron Working",
|
"requiredTech": "Iron Working",
|
||||||
"upgradesTo": "Longswordsman",
|
"upgradesTo": "Longswordsman",
|
||||||
|
"obsoleteTech": "Gunpowder",
|
||||||
"requiredResource": "Iron",
|
"requiredResource": "Iron",
|
||||||
"uniques": ["Can construct roads"],
|
"uniques": ["Can construct roads"],
|
||||||
"hurryCostModifier": 20,
|
"hurryCostModifier": 20,
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
|
// can construct fort (if required for fort tech is researched)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Mohawk Warrior",
|
"name": "Mohawk Warrior",
|
||||||
@ -343,6 +363,23 @@
|
|||||||
"uniques": ["+[33]% combat bonus in [Forest]", "+[33]% combat bonus in [Jungle]"],
|
"uniques": ["+[33]% combat bonus in [Forest]", "+[33]% combat bonus in [Jungle]"],
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Swordsman",
|
||||||
|
"unitType": "Melee",
|
||||||
|
"movement": 2,
|
||||||
|
"strength": 11,
|
||||||
|
"cost": 75,
|
||||||
|
"requiredTech": "Iron Working",
|
||||||
|
"upgradesTo": "Longswordsman",
|
||||||
|
"obsoleteTech": "Gunpowder",
|
||||||
|
"requiredResource": "Iron",
|
||||||
|
"hurryCostModifier": 20,
|
||||||
|
"attackSound": "metalhit"
|
||||||
|
// Barbarian unique Swordsman. Has same icon and name but slightly different 3d texture
|
||||||
|
// 14 strength in expansions
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Horseman",
|
"name": "Horseman",
|
||||||
"unitType": "Mounted",
|
"unitType": "Mounted",
|
||||||
@ -368,8 +405,9 @@
|
|||||||
"requiredTech": "Horseback Riding",
|
"requiredTech": "Horseback Riding",
|
||||||
"upgradesTo": "Knight",
|
"upgradesTo": "Knight",
|
||||||
"obsoleteTech": "Metallurgy",
|
"obsoleteTech": "Metallurgy",
|
||||||
|
"promotions": ["Great Generals I"],
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ],
|
"uniques": ["Can move after attacking", "No defensive terrain bonus", "Penalty vs City 33%"],
|
||||||
"hurryCostModifier": 20,
|
"hurryCostModifier": 20,
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
@ -385,7 +423,6 @@
|
|||||||
"requiredTech": "Machinery",
|
"requiredTech": "Machinery",
|
||||||
"upgradesTo": "Gatling Gun",
|
"upgradesTo": "Gatling Gun",
|
||||||
"obsoleteTech": "Industrialization",
|
"obsoleteTech": "Industrialization",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -401,7 +438,6 @@
|
|||||||
"upgradesTo": "Gatling Gun",
|
"upgradesTo": "Gatling Gun",
|
||||||
"obsoleteTech": "Industrialization",
|
"obsoleteTech": "Industrialization",
|
||||||
"promotions": ["Logistics"],
|
"promotions": ["Logistics"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -418,7 +454,6 @@
|
|||||||
"upgradesTo": "Gatling Gun",
|
"upgradesTo": "Gatling Gun",
|
||||||
"obsoleteTech": "Industrialization",
|
"obsoleteTech": "Industrialization",
|
||||||
"promotions": ["Extended Range"],
|
"promotions": ["Extended Range"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -432,7 +467,6 @@
|
|||||||
"obsoleteTech": "Chemistry",
|
"obsoleteTech": "Chemistry",
|
||||||
"upgradesTo": "Cannon",
|
"upgradesTo": "Cannon",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"],
|
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "throw"
|
"attackSound": "throw"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -448,7 +482,6 @@
|
|||||||
"obsoleteTech": "Chemistry",
|
"obsoleteTech": "Chemistry",
|
||||||
"upgradesTo": "Cannon",
|
"upgradesTo": "Cannon",
|
||||||
"uniques": ["No defensive terrain bonus","Must set up to ranged attack"],
|
"uniques": ["No defensive terrain bonus","Must set up to ranged attack"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "throw"
|
"attackSound": "throw"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -461,7 +494,6 @@
|
|||||||
"upgradesTo": "Musketman",
|
"upgradesTo": "Musketman",
|
||||||
"obsoleteTech": "Gunpowder",
|
"obsoleteTech": "Gunpowder",
|
||||||
"requiredResource": "Iron",
|
"requiredResource": "Iron",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -476,11 +508,9 @@
|
|||||||
"upgradesTo": "Musketman",
|
"upgradesTo": "Musketman",
|
||||||
"obsoleteTech": "Gunpowder",
|
"obsoleteTech": "Gunpowder",
|
||||||
"requiredResource": "Iron",
|
"requiredResource": "Iron",
|
||||||
"uniques": ["Combat very likely to create Great Generals"],
|
"promotions": ["Shock I", "Great Generals II"],
|
||||||
"promotions": ["Shock I"],
|
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
//Aside from the Great Generals II promotion, Samurai should also create Fishing Boats (not now, surely)
|
//Samurai should also create Fishing Boats (not now, surely)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Berserker",
|
"name": "Berserker",
|
||||||
@ -495,7 +525,6 @@
|
|||||||
"obsoleteTech": "Metallurgy",
|
"obsoleteTech": "Metallurgy",
|
||||||
"requiredResource": "Iron",
|
"requiredResource": "Iron",
|
||||||
"uniques": ["Amphibious"],
|
"uniques": ["Amphibious"],
|
||||||
"promotions": ["Shock I"],
|
|
||||||
"hurryCostModifier": 20,
|
"hurryCostModifier": 20,
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
//Danish unique unit. Can attack from the sea without any penalty, and moves faster.
|
//Danish unique unit. Can attack from the sea without any penalty, and moves faster.
|
||||||
@ -510,7 +539,6 @@
|
|||||||
"uniques": ["Bonus vs Mounted 50%"],
|
"uniques": ["Bonus vs Mounted 50%"],
|
||||||
"upgradesTo": "Musketman",
|
"upgradesTo": "Musketman",
|
||||||
"obsoleteTech": "Gunpowder",
|
"obsoleteTech": "Gunpowder",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
//Pikeman should upgrade not only to Musketman but also to Lancer
|
//Pikeman should upgrade not only to Musketman but also to Lancer
|
||||||
},
|
},
|
||||||
@ -526,8 +554,8 @@
|
|||||||
"uniques": ["Bonus vs Mounted 50%", "Can move immediately once bought" ],
|
"uniques": ["Bonus vs Mounted 50%", "Can move immediately once bought" ],
|
||||||
"upgradesTo": "Musketman",
|
"upgradesTo": "Musketman",
|
||||||
"obsoleteTech": "Gunpowder",
|
"obsoleteTech": "Gunpowder",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "metalhit"
|
"attackSound": "metalhit"
|
||||||
|
//"Requires [Mercenary Army]" in BNW
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Galleass",
|
"name": "Galleass",
|
||||||
@ -540,8 +568,8 @@
|
|||||||
"obsoleteTech": "Navigation",
|
"obsoleteTech": "Navigation",
|
||||||
"upgradesTo": "Frigate",
|
"upgradesTo": "Frigate",
|
||||||
"uniques": ["Cannot enter ocean tiles"],
|
"uniques": ["Cannot enter ocean tiles"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Knight",
|
"name": "Knight",
|
||||||
@ -554,7 +582,6 @@
|
|||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ],
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -571,7 +598,6 @@
|
|||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"obsoleteTech": "Military Science",
|
"obsoleteTech": "Military Science",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
//Camel Archer should have no penalty attacking cities
|
//Camel Archer should have no penalty attacking cities
|
||||||
},
|
},
|
||||||
@ -588,9 +614,9 @@
|
|||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"obsoleteTech": "Military Science",
|
"obsoleteTech": "Military Science",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus", "Founds a new city", "+2 Visibility Range", "Defense bonus when embarked"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus", "Founds a new city", "+2 Visibility Range", "Defense bonus when embarked"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
//Conquistador should have no penalty attacking cities
|
//Conquistador should have no penalty attacking cities
|
||||||
|
//Ability to found new cities can only be used on a foreign continent that does not contain the Spanish capital.
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Naresuan's Elephant",
|
"name": "Naresuan's Elephant",
|
||||||
@ -604,7 +630,6 @@
|
|||||||
"obsoleteTech": "Military Science",
|
"obsoleteTech": "Military Science",
|
||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Bonus vs Mounted 50%","Penalty vs City 33%"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Bonus vs Mounted 50%","Penalty vs City 33%"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -620,7 +645,6 @@
|
|||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"obsoleteTech": "Military Science",
|
"obsoleteTech": "Military Science",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -636,8 +660,9 @@
|
|||||||
"requiredTech": "Chivalry",
|
"requiredTech": "Chivalry",
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"upgradesTo": "Cavalry",
|
"upgradesTo": "Cavalry",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Combat very likely to create Great Generals","50% Bonus XP gain"],
|
"obsoleteTech": "Military Science",
|
||||||
"hurryCostModifier": 20,
|
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
||||||
|
"promotions": ["Great Generals I", "Quick Study"],
|
||||||
"attackSound": "arrow"
|
"attackSound": "arrow"
|
||||||
// Keshik should have no penalty attacking cities
|
// Keshik should have no penalty attacking cities
|
||||||
},
|
},
|
||||||
@ -655,7 +680,7 @@
|
|||||||
"upgradesTo": "Ironclad",
|
"upgradesTo": "Ironclad",
|
||||||
"obsoleteTech": "Combustion",
|
"obsoleteTech": "Combustion",
|
||||||
"uniques": ["+1 Visibility Range","May withdraw before melee ([50]%)"],
|
"uniques": ["+1 Visibility Range","May withdraw before melee ([50]%)"],
|
||||||
"hurryCostModifier": 20
|
"hurryCostModifier": 30
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Turtle Ship",
|
"name": "Turtle Ship",
|
||||||
@ -669,7 +694,7 @@
|
|||||||
"upgradesTo": "Ironclad",
|
"upgradesTo": "Ironclad",
|
||||||
"obsoleteTech": "Combustion",
|
"obsoleteTech": "Combustion",
|
||||||
"uniques": ["Cannot enter ocean tiles"],
|
"uniques": ["Cannot enter ocean tiles"],
|
||||||
"hurryCostModifier": 20
|
"hurryCostModifier": 30
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Cannon",
|
"name": "Cannon",
|
||||||
@ -681,8 +706,7 @@
|
|||||||
"requiredTech": "Chemistry",
|
"requiredTech": "Chemistry",
|
||||||
"upgradesTo": "Artillery",
|
"upgradesTo": "Artillery",
|
||||||
"obsoleteTech": "Dynamite",
|
"obsoleteTech": "Dynamite",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"],
|
"uniques": ["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Musketman",
|
"name": "Musketman",
|
||||||
@ -693,7 +717,6 @@
|
|||||||
"requiredTech": "Gunpowder",
|
"requiredTech": "Gunpowder",
|
||||||
"upgradesTo": "Rifleman",
|
"upgradesTo": "Rifleman",
|
||||||
"obsoleteTech": "Rifling",
|
"obsoleteTech": "Rifling",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -707,7 +730,6 @@
|
|||||||
"requiredTech": "Gunpowder",
|
"requiredTech": "Gunpowder",
|
||||||
"upgradesTo": "Rifleman",
|
"upgradesTo": "Rifleman",
|
||||||
"obsoleteTech": "Rifling",
|
"obsoleteTech": "Rifling",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -721,7 +743,6 @@
|
|||||||
"requiredTech": "Gunpowder",
|
"requiredTech": "Gunpowder",
|
||||||
"upgradesTo": "Rifleman",
|
"upgradesTo": "Rifleman",
|
||||||
"obsoleteTech": "Rifling",
|
"obsoleteTech": "Rifling",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["Heals [50] damage if it kills a unit", "Bonus as Attacker [25]%"],
|
"uniques": ["Heals [50] damage if it kills a unit", "Bonus as Attacker [25]%"],
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
@ -738,7 +759,6 @@
|
|||||||
"obsoleteTech": "Rifling",
|
"obsoleteTech": "Rifling",
|
||||||
"uniques": ["Ignores terrain cost"],
|
"uniques": ["Ignores terrain cost"],
|
||||||
"promotions": ["Drill I"],
|
"promotions": ["Drill I"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -753,7 +773,6 @@
|
|||||||
"upgradesTo": "Rifleman",
|
"upgradesTo": "Rifleman",
|
||||||
"obsoleteTech": "Rifling",
|
"obsoleteTech": "Rifling",
|
||||||
"uniques": ["Bonus vs Mounted 50%"],
|
"uniques": ["Bonus vs Mounted 50%"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -793,7 +812,6 @@
|
|||||||
"cost": 185,
|
"cost": 185,
|
||||||
"requiredTech": "Metallurgy",
|
"requiredTech": "Metallurgy",
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%"],
|
||||||
"promotions": ["Formation I"],
|
"promotions": ["Formation I"],
|
||||||
"upgradesTo": "Anti-Tank Gun",
|
"upgradesTo": "Anti-Tank Gun",
|
||||||
@ -810,7 +828,6 @@
|
|||||||
"cost": 185,
|
"cost": 185,
|
||||||
"requiredTech": "Metallurgy",
|
"requiredTech": "Metallurgy",
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%",
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%",
|
||||||
"+1 Visibility Range", "No movement cost to pillage"],
|
"+1 Visibility Range", "No movement cost to pillage"],
|
||||||
"promotions": ["Formation I"],
|
"promotions": ["Formation I"],
|
||||||
@ -832,8 +849,8 @@
|
|||||||
"requiredTech": "Industrialization",
|
"requiredTech": "Industrialization",
|
||||||
"upgradesTo": "Machine Gun",
|
"upgradesTo": "Machine Gun",
|
||||||
"obsoleteTech": "Ballistics",
|
"obsoleteTech": "Ballistics",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "machinegun"
|
"attackSound": "machinegun"
|
||||||
|
// will be introduced in Gods & Kings expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Rifleman",
|
"name": "Rifleman",
|
||||||
@ -844,7 +861,6 @@
|
|||||||
"requiredTech": "Rifling",
|
"requiredTech": "Rifling",
|
||||||
"obsoleteTech": "Replaceable Parts",
|
"obsoleteTech": "Replaceable Parts",
|
||||||
"upgradesTo": "Great War Infantry",
|
"upgradesTo": "Great War Infantry",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -855,8 +871,7 @@
|
|||||||
"rangedStrength": 40,
|
"rangedStrength": 40,
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Electronics",
|
"requiredTech": "Electronics",
|
||||||
"uniques": ["Can carry 2 aircraft"],
|
"uniques": ["Can carry 2 aircraft"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Triplane",
|
"name": "Triplane",
|
||||||
@ -871,10 +886,10 @@
|
|||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"upgradesTo": "Fighter",
|
"upgradesTo": "Fighter",
|
||||||
"obsoleteTech": "Radar",
|
"obsoleteTech": "Radar",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["[50]% chance to intercept air attacks","Bonus vs Bomber 150%",
|
"uniques": ["[50]% chance to intercept air attacks","Bonus vs Bomber 150%",
|
||||||
"6 tiles in every direction always visible"],
|
"6 tiles in every direction always visible"],
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Great War Bomber",
|
"name": "Great War Bomber",
|
||||||
@ -888,8 +903,8 @@
|
|||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"upgradesTo": "Bomber",
|
"upgradesTo": "Bomber",
|
||||||
"obsoleteTech": "Radar",
|
"obsoleteTech": "Radar",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Norwegian Ski Infantry",
|
"name": "Norwegian Ski Infantry",
|
||||||
@ -903,7 +918,6 @@
|
|||||||
"obsoleteTech": "Replaceable Parts",
|
"obsoleteTech": "Replaceable Parts",
|
||||||
"upgradesTo": "Great War Infantry",
|
"upgradesTo": "Great War Infantry",
|
||||||
"uniques": ["+[25]% combat bonus in [Snow]", "+[25]% combat bonus in [Tundra]", "+[25]% combat bonus in [Hill]", "Double movement in Snow, Tundra and Hills"],
|
"uniques": ["+[25]% combat bonus in [Snow]", "+[25]% combat bonus in [Tundra]", "+[25]% combat bonus in [Hill]", "Double movement in Snow, Tundra and Hills"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -917,7 +931,6 @@
|
|||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"upgradesTo": "Landship",
|
"upgradesTo": "Landship",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ],
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%" ],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -929,10 +942,10 @@
|
|||||||
"strength": 34,
|
"strength": 34,
|
||||||
"cost": 225,
|
"cost": 225,
|
||||||
"requiredTech": "Military Science",
|
"requiredTech": "Military Science",
|
||||||
|
"obsoleteTech": "Combustion",
|
||||||
"requiredResource": "Horses",
|
"requiredResource": "Horses",
|
||||||
"upgradesTo": "Landship",
|
"upgradesTo": "Landship",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%","Bonus vs wounded units 33%" ],
|
"uniques": ["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%","Bonus vs wounded units 33%" ],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "horse"
|
"attackSound": "horse"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -946,8 +959,7 @@
|
|||||||
"requiredTech": "Dynamite",
|
"requiredTech": "Dynamite",
|
||||||
"upgradesTo": "Rocket Artillery",
|
"upgradesTo": "Rocket Artillery",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus",
|
"uniques": ["Bonus vs City 200%","No defensive terrain bonus",
|
||||||
"Must set up to ranged attack","Limited Visibility","Ranged attacks may be performed over obstacles"],
|
"Must set up to ranged attack","Limited Visibility","Ranged attacks may be performed over obstacles"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Ironclad",
|
"name": "Ironclad",
|
||||||
@ -959,8 +971,7 @@
|
|||||||
"requiredResource": "Coal",
|
"requiredResource": "Coal",
|
||||||
"upgradesTo": "Destroyer",
|
"upgradesTo": "Destroyer",
|
||||||
"obsoleteTech": "Combustion",
|
"obsoleteTech": "Combustion",
|
||||||
"uniques": ["Bonus vs City 33%","Double movement in coast"],
|
"uniques": ["Bonus vs City 33%","Double movement in coast"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Modern era
|
// Modern era
|
||||||
@ -976,11 +987,7 @@
|
|||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Radar",
|
"requiredTech": "Radar",
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
/*
|
//"upgradesTo": "Jet Fighter",
|
||||||
"upgradesTo": "Jet Fighter",
|
|
||||||
"obsoleteTech": "Lasers",
|
|
||||||
*/
|
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["[100]% chance to intercept air attacks","Bonus vs Bomber 150%",
|
"uniques": ["[100]% chance to intercept air attacks","Bonus vs Bomber 150%",
|
||||||
"6 tiles in every direction always visible"],
|
"6 tiles in every direction always visible"],
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
@ -997,7 +1004,7 @@
|
|||||||
"interceptRange": 8,
|
"interceptRange": 8,
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Radar",
|
"requiredTech": "Radar",
|
||||||
"hurryCostModifier": 20,
|
//"upgradesTo": "Jet Fighter",
|
||||||
"uniques": ["[100]% chance to intercept air attacks","Bonus vs Bomber 150%","Bonus vs Fighter 33%",
|
"uniques": ["[100]% chance to intercept air attacks","Bonus vs Bomber 150%","Bonus vs Fighter 33%",
|
||||||
"6 tiles in every direction always visible"],
|
"6 tiles in every direction always visible"],
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
@ -1012,11 +1019,7 @@
|
|||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Radar",
|
"requiredTech": "Radar",
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
/*
|
//"upgradesTo": "Stealth Bomber",
|
||||||
"upgradesTo": "Stealth Bomber",
|
|
||||||
"obsoleteTech": "Stealth",
|
|
||||||
*/
|
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1032,9 +1035,38 @@
|
|||||||
"requiredTech": "Radar",
|
"requiredTech": "Radar",
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"promotions": ["Evasion", "Siege I"],
|
"promotions": ["Evasion", "Siege I"],
|
||||||
"hurryCostModifier": 20,
|
//"upgradesTo": "Stealth Bomber",
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Atomic Bomb",
|
||||||
|
"unitType": "AtomicBomber",
|
||||||
|
"movement": 1,
|
||||||
|
"strength": 150,
|
||||||
|
"rangedStrength": 150,
|
||||||
|
"range": 10,
|
||||||
|
"cost": 600,
|
||||||
|
"requiredTech": "Nuclear Fission",
|
||||||
|
"requiredResource": "Uranium",
|
||||||
|
"uniques": ["Nuclear weapon", "Requires [Manhattan Project]"]
|
||||||
|
// Plane rather than a missile - can be based in city or Carrier only. But cannot be intercepted because of a civ 5 bug that was never fixed.
|
||||||
|
// Single-use like missile
|
||||||
|
// No strength/rangedStrength tags in civ 5 xmls. Instead has NukeDamageLevel = 1 tag (Nuclear Missile has NukeDamageLevel = 2)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Guided Missile",
|
||||||
|
"unitType": "Missile",
|
||||||
|
"movement": 1,
|
||||||
|
"strength": 60,
|
||||||
|
"rangedStrength": 60,
|
||||||
|
"range": 8,
|
||||||
|
"cost": 150,
|
||||||
|
"requiredTech": "Satellites"
|
||||||
|
// don't cost Maintenance, but count towards the limit of air units in city
|
||||||
|
// requiredTech "Advanced ballistics" in expansions
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Nuclear Missile",
|
"name": "Nuclear Missile",
|
||||||
"unitType": "Missile",
|
"unitType": "Missile",
|
||||||
@ -1045,8 +1077,7 @@
|
|||||||
"cost": 1000,
|
"cost": 1000,
|
||||||
"requiredTech": "Rocketry",
|
"requiredTech": "Rocketry",
|
||||||
"requiredResource": "Uranium",
|
"requiredResource": "Uranium",
|
||||||
"uniques": ["Requires Manhattan Project"],
|
"uniques": ["Nuclear weapon", "Requires [Manhattan Project]"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Landship",
|
"name": "Landship",
|
||||||
@ -1058,8 +1089,8 @@
|
|||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"upgradesTo": "Tank",
|
"upgradesTo": "Tank",
|
||||||
"obsoleteTech": "Combined Arms",
|
"obsoleteTech": "Combined Arms",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus"]
|
||||||
"hurryCostModifier": 20
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Destroyer",
|
"name": "Destroyer",
|
||||||
@ -1069,8 +1100,8 @@
|
|||||||
"interceptRange": 2,
|
"interceptRange": 2,
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Combustion",
|
"requiredTech": "Combustion",
|
||||||
"uniques": ["Can attack submarines", "[40]% chance to intercept air attacks", "May withdraw before melee ([50]%)"], // todo: add bonus vs submarines
|
"uniques": ["Can attack submarines", "[40]% chance to intercept air attacks",
|
||||||
"hurryCostModifier": 20
|
"May withdraw before melee ([50]%)", "Bonus vs WaterSubmarine 100%"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Battleship",
|
"name": "Battleship",
|
||||||
@ -1082,8 +1113,7 @@
|
|||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"requiredTech": "Electronics",
|
"requiredTech": "Electronics",
|
||||||
"uniques": ["Ranged attacks may be performed over obstacles", "Bonus vs City 30%"],
|
"uniques": ["Ranged attacks may be performed over obstacles"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Submarine",
|
"name": "Submarine",
|
||||||
@ -1093,8 +1123,8 @@
|
|||||||
"rangedStrength": 60,
|
"rangedStrength": 60,
|
||||||
"cost": 325,
|
"cost": 325,
|
||||||
"requiredTech": "Refrigeration",
|
"requiredTech": "Refrigeration",
|
||||||
"uniques": ["Bonus as Attacker [75]%", "Invisible to others", "Can only attack water", "Can attack submarines", "Can enter ice tiles"],
|
// "upgradesTo": "Nuclear Submarine",
|
||||||
"hurryCostModifier": 20
|
"uniques": ["Bonus as Attacker [75]%", "Invisible to others", "Can only attack water", "Can attack submarines", "Can enter ice tiles"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Great War Infantry",
|
"name": "Great War Infantry",
|
||||||
@ -1103,10 +1133,10 @@
|
|||||||
"strength": 50,
|
"strength": 50,
|
||||||
"cost": 320,
|
"cost": 320,
|
||||||
"requiredTech": "Replaceable Parts",
|
"requiredTech": "Replaceable Parts",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"upgradesTo": "Infantry",
|
"upgradesTo": "Infantry",
|
||||||
"obsoleteTech": "Plastics",
|
"obsoleteTech": "Plastics",
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Foreign Legion",
|
"name": "Foreign Legion",
|
||||||
@ -1117,12 +1147,24 @@
|
|||||||
"strength": 50,
|
"strength": 50,
|
||||||
"cost": 320,
|
"cost": 320,
|
||||||
"requiredTech": "Replaceable Parts",
|
"requiredTech": "Replaceable Parts",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"upgradesTo": "Infantry",
|
"upgradesTo": "Infantry",
|
||||||
"obsoleteTech": "Plastics",
|
"obsoleteTech": "Plastics",
|
||||||
"uniques": ["+20% bonus outside friendly territory"],
|
"uniques": ["+20% bonus outside friendly territory"],
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"name": "Paratrooper",
|
||||||
|
"unitType": "Melee",
|
||||||
|
"movement": 2,
|
||||||
|
"strength": 40,
|
||||||
|
"cost": 375,
|
||||||
|
"requiredTech": "Radar",
|
||||||
|
"uniques": ["May Paradrop"],
|
||||||
|
"attackSound": "shot"
|
||||||
|
// 65 strength in expansions, upgradesTo "XCOM Squad", "No Movement Cost to Pillage" in BNW
|
||||||
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
"name": "Infantry",
|
"name": "Infantry",
|
||||||
"unitType": "Melee",
|
"unitType": "Melee",
|
||||||
@ -1132,7 +1174,6 @@
|
|||||||
"requiredTech": "Plastics",
|
"requiredTech": "Plastics",
|
||||||
"upgradesTo": "Mechanized Infantry",
|
"upgradesTo": "Mechanized Infantry",
|
||||||
"obsoleteTech": "Mobile Tactics",
|
"obsoleteTech": "Mobile Tactics",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1144,8 +1185,9 @@
|
|||||||
"rangedStrength": 60,
|
"rangedStrength": 60,
|
||||||
"cost": 350,
|
"cost": 350,
|
||||||
"requiredTech": "Ballistics",
|
"requiredTech": "Ballistics",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "machinegun"
|
"attackSound": "machinegun"
|
||||||
|
// will be introduced in G&K expansion
|
||||||
|
// Upgrades to Bazooka in BNW, Mechanized Infantry in G&K
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Anti-Aircraft Gun",
|
"name": "Anti-Aircraft Gun",
|
||||||
@ -1155,8 +1197,8 @@
|
|||||||
"strength": 50,
|
"strength": 50,
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Ballistics",
|
"requiredTech": "Ballistics",
|
||||||
|
//"upgradesTo": "Mobile SAM",
|
||||||
"uniques": ["[100]% chance to intercept air attacks","Bonus vs air units 150%"],
|
"uniques": ["[100]% chance to intercept air attacks","Bonus vs air units 150%"],
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"attackSound": "machinegun"
|
"attackSound": "machinegun"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1168,9 +1210,7 @@
|
|||||||
"requiredTech": "Combined Arms",
|
"requiredTech": "Combined Arms",
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"upgradesTo": "Modern Armor",
|
"upgradesTo": "Modern Armor",
|
||||||
//obsoleteTech:"Robotics",
|
"uniques": ["Can move after attacking","No defensive terrain bonus"]
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Panzer",
|
"name": "Panzer",
|
||||||
@ -1182,8 +1222,7 @@
|
|||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Combined Arms",
|
"requiredTech": "Combined Arms",
|
||||||
"requiredResource": "Oil",
|
"requiredResource": "Oil",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
"uniques": ["Can move after attacking","No defensive terrain bonus"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
//German unique unit, stronger than Tank
|
//German unique unit, stronger than Tank
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1193,8 +1232,8 @@
|
|||||||
"strength": 50,
|
"strength": 50,
|
||||||
"cost": 300,
|
"cost": 300,
|
||||||
"requiredTech": "Combined Arms",
|
"requiredTech": "Combined Arms",
|
||||||
"uniques": ["Bonus vs Armor 100%"],
|
//"upgradesTo": "Helicopter Gunship",
|
||||||
"hurryCostModifier": 20
|
"uniques": ["Bonus vs Armor 100%"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Rocket Artillery",
|
"name": "Rocket Artillery",
|
||||||
@ -1207,8 +1246,7 @@
|
|||||||
"requiredTech": "Rocketry",
|
"requiredTech": "Rocketry",
|
||||||
"requiredResource": "Aluminum",
|
"requiredResource": "Aluminum",
|
||||||
"uniques": ["Bonus vs City 200%","No defensive terrain bonus",
|
"uniques": ["Bonus vs City 200%","No defensive terrain bonus",
|
||||||
"Limited Visibility","Ranged attacks may be performed over obstacles"],
|
"Limited Visibility","Ranged attacks may be performed over obstacles"]
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Mechanized Infantry",
|
"name": "Mechanized Infantry",
|
||||||
@ -1216,8 +1254,7 @@
|
|||||||
"movement": 3,
|
"movement": 3,
|
||||||
"strength": 90,
|
"strength": 90,
|
||||||
"cost": 375,
|
"cost": 375,
|
||||||
"requiredTech": "Mobile Tactics",
|
"requiredTech": "Mobile Tactics"
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Modern Armor",
|
"name": "Modern Armor",
|
||||||
@ -1227,17 +1264,24 @@
|
|||||||
"cost": 425,
|
"cost": 425,
|
||||||
"requiredTech": "Lasers",
|
"requiredTech": "Lasers",
|
||||||
"requiredResource": "Aluminum",
|
"requiredResource": "Aluminum",
|
||||||
/*
|
//"upgradesTo": "Giant Death Robot",
|
||||||
"upgradesTo": "Giant Death Robot",
|
"uniques": ["Can move after attacking","No defensive terrain bonus"]
|
||||||
"obsoleteTech": "Nuclear Fusion",
|
|
||||||
*/
|
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"],
|
|
||||||
"hurryCostModifier": 20
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Information Era
|
// Information Era
|
||||||
|
{
|
||||||
|
"name": "Mobile SAM",
|
||||||
|
"unitType": "Melee",
|
||||||
|
"movement": 4,
|
||||||
|
"interceptRange": 2,
|
||||||
|
"strength": 40,
|
||||||
|
"cost": 425,
|
||||||
|
"requiredTech": "Computers",
|
||||||
|
"uniques": ["[100]% chance to intercept air attacks","Bonus vs air units 150%"],
|
||||||
|
"attackSound": "shot"
|
||||||
|
// 65 strength, 3 movement, requiredTech "Rocketry" in expansions
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Jet Fighter",
|
"name": "Jet Fighter",
|
||||||
"unitType": "Fighter",
|
"unitType": "Fighter",
|
||||||
@ -1249,7 +1293,6 @@
|
|||||||
"cost": 425,
|
"cost": 425,
|
||||||
"requiredTech": "Lasers",
|
"requiredTech": "Lasers",
|
||||||
"requiredResource": "Aluminium",
|
"requiredResource": "Aluminium",
|
||||||
"hurryCostModifier": 20,
|
|
||||||
"uniques": ["[100]% chance to intercept air attacks",
|
"uniques": ["[100]% chance to intercept air attacks",
|
||||||
"Bonus vs Bomber 150%",
|
"Bonus vs Bomber 150%",
|
||||||
"6 tiles in every direction always visible"]
|
"6 tiles in every direction always visible"]
|
||||||
@ -1265,9 +1308,9 @@
|
|||||||
"cost": 425,
|
"cost": 425,
|
||||||
"requiredTech": "Stealth",
|
"requiredTech": "Stealth",
|
||||||
"requiredResource": "Aluminium",
|
"requiredResource": "Aluminium",
|
||||||
"hurryCostModifier": 20,
|
"uniques": ["Evasion", "6 tiles in every direction always visible"]
|
||||||
"uniques": ["Evasion"]
|
|
||||||
"attackSound": "shot"
|
"attackSound": "shot"
|
||||||
|
// cannot be based on carrier
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// "Hovering unit" unique gives ability to get into impassable tiles - and only that (no vision bonus or flying over ocean)
|
// "Hovering unit" unique gives ability to get into impassable tiles - and only that (no vision bonus or flying over ocean)
|
||||||
@ -1281,8 +1324,35 @@
|
|||||||
"requiredTech": "Computers",
|
"requiredTech": "Computers",
|
||||||
"requiredResource": "Aluminum",
|
"requiredResource": "Aluminum",
|
||||||
"uniques": ["Bonus vs Armor 100%", "Ignores terrain cost", "No defensive terrain bonuses", "Can move after attacking"],
|
"uniques": ["Bonus vs Armor 100%", "Ignores terrain cost", "No defensive terrain bonuses", "Can move after attacking"],
|
||||||
"attackSound": "shot",
|
"attackSound": "shot"
|
||||||
"hurryCostModifier": 20
|
},
|
||||||
|
{
|
||||||
|
"name": "Missile Cruiser",
|
||||||
|
"unitType": "WaterRanged",
|
||||||
|
"movement": 7,
|
||||||
|
"strength": 60,
|
||||||
|
"rangedStrength": 25,
|
||||||
|
"range": 3,
|
||||||
|
"interceptRange": 2,
|
||||||
|
"cost": 425,
|
||||||
|
"requiredTech": "Robotics",
|
||||||
|
"uniques": ["[100]% chance to intercept air attacks", "Can attack submarines",
|
||||||
|
"Ranged attacks may be performed over obstacles"]
|
||||||
|
// Can carry 3 missiles - Guided Missiles and Nuclear Missiles, Attack vs submarines 100
|
||||||
|
// 100 rangedStrength, 80 strength in expansions
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Nuclear Submarine",
|
||||||
|
"unitType": "WaterSubmarine",
|
||||||
|
"movement": 6,
|
||||||
|
"strength": 30,
|
||||||
|
"range": 3,
|
||||||
|
"rangedStrength": 70,
|
||||||
|
"cost": 425,
|
||||||
|
"requiredTech": "Computers",
|
||||||
|
"uniques": ["Bonus vs Attacker [75]%", "Invisible to others", "Can only attack water", "Can attack submarines", "Can enter ice tiles","+1 Visibility Range"]
|
||||||
|
// Can carry 2 Missiles
|
||||||
|
// 50 strength, 85 rangedStrength, requiredTech "Telecommunications" in expansions
|
||||||
},
|
},
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1297,8 +1367,7 @@
|
|||||||
"cost": 550,
|
"cost": 550,
|
||||||
"requiredTech": "Nuclear Fusion",
|
"requiredTech": "Nuclear Fusion",
|
||||||
"requiredResource": "Uranium",
|
"requiredResource": "Uranium",
|
||||||
"uniques": ["Can move after attacking","No defensive terrain bonus"]
|
"uniques": ["Can move after attacking", "No defensive terrain bonus"]
|
||||||
"hurryCostModifier": 20,
|
|
||||||
},
|
},
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1346,4 +1415,50 @@
|
|||||||
"Heal adjacent units for an additional 15 HP per turn", "Can construct [Citadel]", "Great Person - [War]", "Unbuildable"],
|
"Heal adjacent units for an additional 15 HP per turn", "Can construct [Citadel]", "Great Person - [War]", "Unbuildable"],
|
||||||
"movement": 5
|
"movement": 5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Spaceship Parts */
|
||||||
|
/*
|
||||||
|
// Must be transported to the Capital for launch.
|
||||||
|
// Can be destroyed by any hostile military unit walking in their tile.
|
||||||
|
{
|
||||||
|
"name": "SS Booster",
|
||||||
|
"unitType": "Civilian",
|
||||||
|
"movement": 2,
|
||||||
|
"cost": 500,
|
||||||
|
"requiredTech": "Robotics",
|
||||||
|
"requiredResource": "Aluminum",
|
||||||
|
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]"]
|
||||||
|
// costs 750 in G&K, 1500 in BNW
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SS Cockpit",
|
||||||
|
"unitType": "Civilian",
|
||||||
|
"movement": 2,
|
||||||
|
"cost": 750,
|
||||||
|
"requiredTech": "Satellites",
|
||||||
|
"requiredResource": "Aluminum",
|
||||||
|
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]"]
|
||||||
|
// costs 1500 in BNW
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SS Engine",
|
||||||
|
"unitType": "Civilian",
|
||||||
|
"movement": 2,
|
||||||
|
"cost": 750,
|
||||||
|
"requiredTech": "Particle Physics",
|
||||||
|
"requiredResource": "Aluminum",
|
||||||
|
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]"]
|
||||||
|
// costs 1500 in BNW
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SS Stasis Chamber",
|
||||||
|
"unitType": "Civilian",
|
||||||
|
"movement": 2,
|
||||||
|
"cost": 750,
|
||||||
|
"requiredTech": "Nanotechnology",
|
||||||
|
"requiredResource": "Aluminum",
|
||||||
|
"uniques": ["Spaceship part", "Cannot be purchased", "Requires [Apollo Program]"]
|
||||||
|
// costs 1500 in BNW
|
||||||
|
}
|
||||||
|
*/
|
||||||
]
|
]
|
||||||
|
@ -38,6 +38,7 @@ Requires a [buildingName] in all cities =
|
|||||||
Requires a [buildingName] in this city =
|
Requires a [buildingName] in this city =
|
||||||
Consumes 1 [resource] =
|
Consumes 1 [resource] =
|
||||||
Required tech: [requiredTech] =
|
Required tech: [requiredTech] =
|
||||||
|
Requires [PolicyOrNationalWonder] =
|
||||||
Cannot be purchased =
|
Cannot be purchased =
|
||||||
|
|
||||||
Current construction =
|
Current construction =
|
||||||
@ -627,6 +628,7 @@ naval units =
|
|||||||
ranged units =
|
ranged units =
|
||||||
# For the All "newly-trained [relevant] units in this city receive the [] promotion" translation. Relevant as in 'units that can receive'
|
# For the All "newly-trained [relevant] units in this city receive the [] promotion" translation. Relevant as in 'units that can receive'
|
||||||
relevant =
|
relevant =
|
||||||
|
non-air =
|
||||||
# For '[stats] from [Water] tiles in this city'
|
# For '[stats] from [Water] tiles in this city'
|
||||||
Water =
|
Water =
|
||||||
# For [stats] from [Water resource] tiles in this city
|
# For [stats] from [Water resource] tiles in this city
|
||||||
|
@ -217,13 +217,13 @@ object Battle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun tryGetCultureFromKilling(civUnit:ICombatant, defeatedUnit:MapUnitCombatant){
|
private fun tryGetCultureFromKilling(civUnit:ICombatant, defeatedUnit:MapUnitCombatant){
|
||||||
//Aztecs get half the strength of the unit killed in culture and honor opener does the same thing.
|
//Aztecs get melee strength of the unit killed in culture and honor opener does the same thing.
|
||||||
//They stack. So you get culture equal to 100% of the dead unit's strength.
|
//They stack. So you get culture equal to 200% of the dead unit's strength.
|
||||||
val civInfo = civUnit.getCivInfo()
|
val civInfo = civUnit.getCivInfo()
|
||||||
if (defeatedUnit.getCivInfo().isBarbarian() && civInfo.hasUnique("Gain Culture when you kill a barbarian unit"))
|
if (defeatedUnit.getCivInfo().isBarbarian() && civInfo.hasUnique("Gain Culture when you kill a barbarian unit"))
|
||||||
civInfo.policies.addCulture(max(defeatedUnit.unit.baseUnit.strength, defeatedUnit.unit.baseUnit.rangedStrength) / 2)
|
civInfo.policies.addCulture(defeatedUnit.unit.baseUnit.strength)
|
||||||
if (civInfo.hasUnique("Gains culture from each enemy unit killed"))
|
if (civInfo.hasUnique("Gains culture from each enemy unit killed"))
|
||||||
civInfo.policies.addCulture(max(defeatedUnit.unit.baseUnit.strength, defeatedUnit.unit.baseUnit.rangedStrength) / 2)
|
civInfo.policies.addCulture(defeatedUnit.unit.baseUnit.strength)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun tryGetGoldFromKilling(civUnit:ICombatant, defeatedUnit:MapUnitCombatant) {
|
private fun tryGetGoldFromKilling(civUnit:ICombatant, defeatedUnit:MapUnitCombatant) {
|
||||||
@ -239,7 +239,10 @@ object Battle {
|
|||||||
|
|
||||||
var XPModifier = 1f
|
var XPModifier = 1f
|
||||||
if (thisCombatant.getCivInfo().hasUnique("Military units gain 50% more Experience from combat")) XPModifier += 0.5f
|
if (thisCombatant.getCivInfo().hasUnique("Military units gain 50% more Experience from combat")) XPModifier += 0.5f
|
||||||
if (thisCombatant.unit.hasUnique("50% Bonus XP gain")) XPModifier += 0.5f
|
if (thisCombatant.unit.hasUnique("50% Bonus XP gain")) XPModifier += 0.5f // As of 3.10.10 This is to be deprecated and converted to "[50]% Bonus XP gain" - keeping it here to that mods with this can still work for now
|
||||||
|
|
||||||
|
for (unique in thisCombatant.unit.getMatchingUniques("[]% Bonus XP gain"))
|
||||||
|
XPModifier += unique.params[0].toFloat() / 100
|
||||||
|
|
||||||
val XPGained = (amount * XPModifier).toInt()
|
val XPGained = (amount * XPModifier).toInt()
|
||||||
thisCombatant.unit.promotions.XP += XPGained
|
thisCombatant.unit.promotions.XP += XPGained
|
||||||
@ -247,10 +250,11 @@ object Battle {
|
|||||||
|
|
||||||
if(thisCombatant.getCivInfo().isMajorCiv()) {
|
if(thisCombatant.getCivInfo().isMajorCiv()) {
|
||||||
var greatGeneralPointsModifier = 1f
|
var greatGeneralPointsModifier = 1f
|
||||||
// Yeah sue me I didn't parse these params
|
for (unique in thisCombatant.unit.getMatchingUniques("[] is earned []% faster"))
|
||||||
if (thisCombatant.getCivInfo().hasUnique("[Great General] is earned [50]% faster"))
|
if (unique.params[0] == Constants.greatGeneral)
|
||||||
greatGeneralPointsModifier += 0.5f
|
greatGeneralPointsModifier += unique.params[1].toFloat() / 100
|
||||||
if (thisCombatant.unit.hasUnique("Combat very likely to create Great Generals"))
|
|
||||||
|
if (thisCombatant.unit.hasUnique("Combat very likely to create Great Generals")) // As of 3.10.10 This is to be deprecated and converted to "[Great General] is earned []% faster" - keeping it here to that mods with this can still work for now
|
||||||
greatGeneralPointsModifier += 1f
|
greatGeneralPointsModifier += 1f
|
||||||
|
|
||||||
val greatGeneralPointsGained = (XPGained * greatGeneralPointsModifier).toInt()
|
val greatGeneralPointsGained = (XPGained * greatGeneralPointsModifier).toInt()
|
||||||
|
@ -65,6 +65,9 @@ object BattleDamage {
|
|||||||
addToModifiers("vs [${unique.params[1]}]", unique.params[0].toFloat() / 100)
|
addToModifiers("vs [${unique.params[1]}]", unique.params[0].toFloat() / 100)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (unique in combatant.unit.getMatchingUniques("+[]% Combat Strength"))
|
||||||
|
addToModifiers("Combat Strength", unique.params[0].toFloat() / 100)
|
||||||
|
|
||||||
//https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
|
//https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
|
||||||
val civHappiness = civInfo.getHappiness()
|
val civHappiness = civInfo.getHappiness()
|
||||||
if (civHappiness < 0)
|
if (civHappiness < 0)
|
||||||
|
@ -184,6 +184,8 @@ class Building : NamedStats(), IConstruction {
|
|||||||
override fun getProductionCost(civInfo: CivilizationInfo): Int {
|
override fun getProductionCost(civInfo: CivilizationInfo): Int {
|
||||||
var productionCost = cost.toFloat()
|
var productionCost = cost.toFloat()
|
||||||
|
|
||||||
|
for (unique in uniqueObjects.filter { it.placeholderText == "Cost increases by [] per owned city" })
|
||||||
|
productionCost += civInfo.cities.count() * unique.params[0].toInt()
|
||||||
|
|
||||||
if (civInfo.isPlayerCivilization()) {
|
if (civInfo.isPlayerCivilization()) {
|
||||||
if (!isWonder)
|
if (!isWonder)
|
||||||
@ -231,6 +233,7 @@ class Building : NamedStats(), IConstruction {
|
|||||||
if (uniques.contains("Unbuildable")) return "Unbuildable"
|
if (uniques.contains("Unbuildable")) return "Unbuildable"
|
||||||
|
|
||||||
val cityCenter = construction.cityInfo.getCenterTile()
|
val cityCenter = construction.cityInfo.getCenterTile()
|
||||||
|
val civInfo = construction.cityInfo.civInfo
|
||||||
|
|
||||||
for(unique in uniqueObjects) when (unique.placeholderText) {
|
for(unique in uniqueObjects) when (unique.placeholderText) {
|
||||||
"Must be on []" -> if (!cityCenter.fitsUniqueFilter(unique.params[0])) return unique.text
|
"Must be on []" -> if (!cityCenter.fitsUniqueFilter(unique.params[0])) return unique.text
|
||||||
@ -242,6 +245,11 @@ class Building : NamedStats(), IConstruction {
|
|||||||
it.fitsUniqueFilter(unique.params[0]) && it.getOwner() == construction.cityInfo.civInfo }) return unique.text
|
it.fitsUniqueFilter(unique.params[0]) && it.getOwner() == construction.cityInfo.civInfo }) return unique.text
|
||||||
"Can only be built in annexed cities" -> if (construction.cityInfo.isPuppet || construction.cityInfo.foundingCiv == ""
|
"Can only be built in annexed cities" -> if (construction.cityInfo.isPuppet || construction.cityInfo.foundingCiv == ""
|
||||||
|| construction.cityInfo.civInfo.civName == construction.cityInfo.foundingCiv) return unique.text
|
|| construction.cityInfo.civInfo.civName == construction.cityInfo.foundingCiv) return unique.text
|
||||||
|
"Requires []" -> { val filter = unique.params[0]
|
||||||
|
if (filter in civInfo.gameInfo.ruleSet.buildings) {
|
||||||
|
if (civInfo.cities.none { it.cityConstructions.containsBuildingOrEquivalent(filter) }) return unique.text // Wonder is not built
|
||||||
|
} else if (!civInfo.policies.adoptedPolicies.contains(filter)) return "Policy is not adopted" // this reason should not be displayed
|
||||||
|
}
|
||||||
|
|
||||||
"Must have an owned mountain within 2 tiles" -> // Deprecated as of 3.10.8 . Use "Must have an owned [Mountain] within [2] tiles" instead
|
"Must have an owned mountain within 2 tiles" -> // Deprecated as of 3.10.8 . Use "Must have an owned [Mountain] within [2] tiles" instead
|
||||||
if (cityCenter.getTilesInDistance(2)
|
if (cityCenter.getTilesInDistance(2)
|
||||||
@ -259,7 +267,6 @@ class Building : NamedStats(), IConstruction {
|
|||||||
if (!cityCenter.isAdjacentToFreshwater) return unique.text
|
if (!cityCenter.isAdjacentToFreshwater) return unique.text
|
||||||
}
|
}
|
||||||
|
|
||||||
val civInfo = construction.cityInfo.civInfo
|
|
||||||
if (uniqueTo != null && uniqueTo != civInfo.civName) return "Unique to $uniqueTo"
|
if (uniqueTo != null && uniqueTo != civInfo.civName) return "Unique to $uniqueTo"
|
||||||
if (civInfo.gameInfo.ruleSet.buildings.values.any { it.uniqueTo == civInfo.civName && it.replaces == name })
|
if (civInfo.gameInfo.ruleSet.buildings.values.any { it.uniqueTo == civInfo.civName && it.replaces == name })
|
||||||
return "Our unique building replaces this"
|
return "Our unique building replaces this"
|
||||||
|
@ -135,9 +135,13 @@ class BaseUnit : INamed, IConstruction {
|
|||||||
if (uniqueTo!=null && uniqueTo!=civInfo.civName) return "Unique to $uniqueTo"
|
if (uniqueTo!=null && uniqueTo!=civInfo.civName) return "Unique to $uniqueTo"
|
||||||
if (civInfo.gameInfo.ruleSet.units.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return "Our unique unit replaces this"
|
if (civInfo.gameInfo.ruleSet.units.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return "Our unique unit replaces this"
|
||||||
if (!civInfo.gameInfo.gameParameters.nuclearWeaponsEnabled
|
if (!civInfo.gameInfo.gameParameters.nuclearWeaponsEnabled
|
||||||
&& uniques.contains("Requires Manhattan Project")) return "Disabled by setting"
|
&& uniques.contains("Nuclear weapon")) return "Disabled by setting"
|
||||||
if (uniques.contains("Requires Manhattan Project") && !civInfo.hasUnique("Enables nuclear weapon"))
|
for (unique in uniqueObjects.filter { it.placeholderText == "Requires []" }) {
|
||||||
return "Requires Manhattan Project"
|
val filter = unique.params[0]
|
||||||
|
if (filter in civInfo.gameInfo.ruleSet.buildings) {
|
||||||
|
if (civInfo.cities.none { it.cityConstructions.containsBuildingOrEquivalent(filter) }) return unique.text // Wonder is not built
|
||||||
|
} else if (!civInfo.policies.adoptedPolicies.contains(filter)) return "Policy is not adopted"
|
||||||
|
}
|
||||||
if (requiredResource!=null && !civInfo.hasResource(requiredResource!!) && !civInfo.gameInfo.gameParameters.godMode) return "Consumes 1 [$requiredResource]"
|
if (requiredResource!=null && !civInfo.hasResource(requiredResource!!) && !civInfo.gameInfo.gameParameters.godMode) return "Consumes 1 [$requiredResource]"
|
||||||
if (uniques.contains(Constants.settlerUnique) && civInfo.isCityState()) return "No settler for city-states"
|
if (uniques.contains(Constants.settlerUnique) && civInfo.isCityState()) return "No settler for city-states"
|
||||||
if (uniques.contains(Constants.settlerUnique) && civInfo.isOneCityChallenger()) return "No settler for players in One City Challenge"
|
if (uniques.contains(Constants.settlerUnique) && civInfo.isOneCityChallenger()) return "No settler for players in One City Challenge"
|
||||||
@ -172,6 +176,7 @@ class BaseUnit : INamed, IConstruction {
|
|||||||
if (unit.name == filter
|
if (unit.name == filter
|
||||||
|| (filter == "relevant" && civInfo.gameInfo.ruleSet.unitPromotions.values.any { unit.type.toString() in it.unitTypes && it.name == promotion })
|
|| (filter == "relevant" && civInfo.gameInfo.ruleSet.unitPromotions.values.any { unit.type.toString() in it.unitTypes && it.name == promotion })
|
||||||
|| unit.type.name == filter
|
|| unit.type.name == filter
|
||||||
|
|| (filter == "non-air" && !unit.type.isAirUnit())
|
||||||
|| uniques.contains(filter))
|
|| uniques.contains(filter))
|
||||||
unit.promotions.addPromotion(promotion, isFree = true)
|
unit.promotions.addPromotion(promotion, isFree = true)
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ class TradePopup(worldScreen: WorldScreen): Popup(worldScreen){
|
|||||||
fun getOfferText(offer:TradeOffer): String {
|
fun getOfferText(offer:TradeOffer): String {
|
||||||
var tradeText = offer.getOfferText()
|
var tradeText = offer.getOfferText()
|
||||||
if (offer.type == TradeType.Luxury_Resource || offer.type == TradeType.Strategic_Resource)
|
if (offer.type == TradeType.Luxury_Resource || offer.type == TradeType.Strategic_Resource)
|
||||||
tradeText += "\n" + "Owned: [${ourResources[offer.name]}]"
|
tradeText += "\n" + "Owned: [${ourResources[offer.name]}]".tr()
|
||||||
return tradeText
|
return tradeText
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,7 +194,9 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
|
|||||||
* [Great Wall](https://thenounproject.com/search/?q=great%20wall&i=545909) By icon 54
|
* [Great Wall](https://thenounproject.com/search/?q=great%20wall&i=545909) By icon 54
|
||||||
* [Rice Field](https://thenounproject.com/term/rice-field/2511648/) by Graphic Engineer for Terrace farm
|
* [Rice Field](https://thenounproject.com/term/rice-field/2511648/) by Graphic Engineer for Terrace farm
|
||||||
* [Canoe](https://thenounproject.com/term/canoe/402285/) By Viktor Fedyuk (Tim P) for Floating Gardens
|
* [Canoe](https://thenounproject.com/term/canoe/402285/) By Viktor Fedyuk (Tim P) for Floating Gardens
|
||||||
|
* [Arc de Triomphe](https://thenounproject.com/search/?q=Arc+de+Triomphe&i=789893) By Andrejs Kirma, LV for National Epic
|
||||||
|
* [Bank](https://thenounproject.com/term/bank/213472/) by By P Thanga Vignesh for National Treasury
|
||||||
|
|
||||||
### Medieval Era
|
### Medieval Era
|
||||||
|
|
||||||
* [College](https://thenounproject.com/term/college/129978/) By Alexander Skowalsky for University
|
* [College](https://thenounproject.com/term/college/129978/) By Alexander Skowalsky for University
|
||||||
|