Adopted JSONC standard for assets files (#1674)

* Adopted JSONC standard for assets files

* Update Nations_Ukrainian.json

* Update Nations_Ukrainian.json

* Normalized Nations_Ukrainian too

Co-authored-by: Marerjh <40261003+Marerjh@users.noreply.github.com>
This commit is contained in:
Federico Luongo
2020-01-13 18:01:28 +01:00
committed by Yair Morgenstern
parent 2d0aec5a26
commit f118be5d40
18 changed files with 10425 additions and 11220 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,186 +1,186 @@
[
{
name:"Settler",
baseHappiness:15,
extraHappinessPerLuxury:1,
researchCostModifier:0.9,
unitCostModifier:0.5,
buildingCostModifier:0.5,
policyCostModifier:0.5,
unhappinessModifier:0.4,
barbarianBonus:0.75,
aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city
aiUnitCostModifier:1.75,
aiBuildingCostModifier:1.6,
aiWonderCostModifier:1.6,
aiBuildingMaintenanceModifier:1,
aiUnitMaintenanceModifier:1,
aiFreeTechs:[],
aiFreeUnits:[],
aiUnhappinessModifier:1,
aisExchangeTechs:false,
turnBarbariansCanEnterPlayerTiles:10000,
clearBarbarianCampReward: 50
"name": "Settler",
"baseHappiness": 15,
"extraHappinessPerLuxury": 1,
"researchCostModifier": 0.9,
"unitCostModifier": 0.5,
"buildingCostModifier": 0.5,
"policyCostModifier": 0.5,
"unhappinessModifier": 0.4,
"barbarianBonus": 0.75,
"aiCityGrowthModifier": 1.6, // that is to say it'll take them 1.6 times as long to grow the city
"aiUnitCostModifier": 1.75,
"aiBuildingCostModifier": 1.6,
"aiWonderCostModifier": 1.6,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 10000,
"clearBarbarianCampReward": 50
},
{
name:"Chieftain",
baseHappiness:12,
extraHappinessPerLuxury:1,
researchCostModifier:0.95,
unitCostModifier:0.67,
buildingCostModifier:0.67,
policyCostModifier:0.67,
unhappinessModifier:0.6,
barbarianBonus:0.5,
aiCityGrowthModifier:1.3,
aiUnitCostModifier:1.3,
aiBuildingCostModifier:1.3,
aiWonderCostModifier:1.3,
aiBuildingMaintenanceModifier:1,
aiUnitMaintenanceModifier:1,
aiFreeTechs:[],
aiFreeUnits:[],
aiUnhappinessModifier:1,
aisExchangeTechs:false,
turnBarbariansCanEnterPlayerTiles:60,
clearBarbarianCampReward: 40
"name": "Chieftain",
"baseHappiness": 12,
"extraHappinessPerLuxury": 1,
"researchCostModifier": 0.95,
"unitCostModifier": 0.67,
"buildingCostModifier": 0.67,
"policyCostModifier": 0.67,
"unhappinessModifier": 0.6,
"barbarianBonus": 0.5,
"aiCityGrowthModifier": 1.3,
"aiUnitCostModifier": 1.3,
"aiBuildingCostModifier": 1.3,
"aiWonderCostModifier": 1.3,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 60,
"clearBarbarianCampReward": 40
},
{
name:"Warlord",
baseHappiness:12,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:0.85,
buildingCostModifier:0.85,
policyCostModifier:0.85,
unhappinessModifier:0.75,
barbarianBonus:0.4,
aiCityGrowthModifier:1.1,
aiUnitCostModifier:1.1,
aiBuildingCostModifier:1.1,
aiWonderCostModifier:1.1,
aiBuildingMaintenanceModifier:1,
aiUnitMaintenanceModifier:1,
aiFreeTechs:[],
aiFreeUnits:[],
aiUnhappinessModifier:1,
aisExchangeTechs:false,
turnBarbariansCanEnterPlayerTiles:20,
clearBarbarianCampReward: 30
"name": "Warlord",
"baseHappiness": 12,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 0.85,
"buildingCostModifier": 0.85,
"policyCostModifier": 0.85,
"unhappinessModifier": 0.75,
"barbarianBonus": 0.4,
"aiCityGrowthModifier": 1.1,
"aiUnitCostModifier": 1.1,
"aiBuildingCostModifier": 1.1,
"aiWonderCostModifier": 1.1,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 1,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": false,
"turnBarbariansCanEnterPlayerTiles": 20,
"clearBarbarianCampReward": 30
},
{
name:"Prince",
baseHappiness:9,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:1,
buildingCostModifier:1,
policyCostModifier:1,
unhappinessModifier:1,
barbarianBonus:0.33,
aiCityGrowthModifier:1,
aiUnitCostModifier:1,
aiBuildingCostModifier:1,
aiWonderCostModifier:1,
aiBuildingMaintenanceModifier:1,
aiUnitMaintenanceModifier:0.85,
aiFreeTechs:[],
aiFreeUnits:[],
aiUnhappinessModifier:1,
aisExchangeTechs:true,
turnBarbariansCanEnterPlayerTiles:0,
clearBarbarianCampReward: 25
"name": "Prince",
"baseHappiness": 9,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"barbarianBonus": 0.33,
"aiCityGrowthModifier": 1,
"aiUnitCostModifier": 1,
"aiBuildingCostModifier": 1,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 1,
"aiUnitMaintenanceModifier": 0.85,
"aiFreeTechs": [],
"aiFreeUnits": [],
"aiUnhappinessModifier": 1,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
name:"King",
baseHappiness:9,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:1,
buildingCostModifier:1,
policyCostModifier:1,
unhappinessModifier:1,
barbarianBonus:0.25,
aiCityGrowthModifier:0.9,
aiUnitCostModifier:0.85,
aiBuildingCostModifier:0.85,
aiWonderCostModifier:1,
aiBuildingMaintenanceModifier:0.85,
aiUnitMaintenanceModifier:0.8,
aiFreeTechs:["Pottery"],
aiFreeUnits:["Warrior"],
aiUnhappinessModifier:0.9,
aisExchangeTechs:true,
turnBarbariansCanEnterPlayerTiles:0,
clearBarbarianCampReward: 25
"name": "King",
"baseHappiness": 9,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"barbarianBonus": 0.25,
"aiCityGrowthModifier": 0.9,
"aiUnitCostModifier": 0.85,
"aiBuildingCostModifier": 0.85,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.85,
"aiUnitMaintenanceModifier": 0.8,
"aiFreeTechs": ["Pottery"],
"aiFreeUnits": ["Warrior"],
"aiUnhappinessModifier": 0.9,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
name:"Emperor",
baseHappiness:9,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:1,
buildingCostModifier:1,
policyCostModifier:1,
unhappinessModifier:1,
barbarianBonus:0.2,
aiCityGrowthModifier:0.85,
aiUnitCostModifier:0.8,
aiBuildingCostModifier:0.8,
aiWonderCostModifier:1,
aiBuildingMaintenanceModifier:0.8,
aiUnitMaintenanceModifier:0.75,
aiFreeTechs:["Pottery","Animal Husbandry"],
aiFreeUnits:["Warrior", "Scout"],
aiUnhappinessModifier:0.85,
aisExchangeTechs:true,
turnBarbariansCanEnterPlayerTiles:0,
clearBarbarianCampReward: 25
"name": "Emperor",
"baseHappiness": 9,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"barbarianBonus": 0.2,
"aiCityGrowthModifier": 0.85,
"aiUnitCostModifier": 0.8,
"aiBuildingCostModifier": 0.8,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.8,
"aiUnitMaintenanceModifier": 0.75,
"aiFreeTechs": ["Pottery","Animal Husbandry"],
"aiFreeUnits": ["Warrior", "Scout"],
"aiUnhappinessModifier": 0.85,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
name:"Immortal",
baseHappiness:9,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:1,
buildingCostModifier:1,
policyCostModifier:1,
unhappinessModifier:1,
barbarianBonus:0.1,
aiCityGrowthModifier:0.75,
aiUnitCostModifier:0.65,
aiBuildingCostModifier:0.65,
aiWonderCostModifier:1,
aiBuildingMaintenanceModifier:0.65,
aiUnitMaintenanceModifier:0.65,
aiFreeTechs:["Pottery","Animal Husbandry","Mining"],
aiFreeUnits:["Warrior", "Warrior", "Worker", "Scout"],
aiUnhappinessModifier:0.75,
aisExchangeTechs:true,
turnBarbariansCanEnterPlayerTiles:0,
clearBarbarianCampReward: 25
"name": "Immortal",
"baseHappiness": 9,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"barbarianBonus": 0.1,
"aiCityGrowthModifier": 0.75,
"aiUnitCostModifier": 0.65,
"aiBuildingCostModifier": 0.65,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.65,
"aiUnitMaintenanceModifier": 0.65,
"aiFreeTechs": ["Pottery","Animal Husbandry","Mining"],
"aiFreeUnits": ["Warrior", "Warrior", "Worker", "Scout"],
"aiUnhappinessModifier": 0.75,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
},
{
name:"Deity",
baseHappiness:9,
extraHappinessPerLuxury:0,
researchCostModifier:1,
unitCostModifier:1,
buildingCostModifier:1,
policyCostModifier:1,
unhappinessModifier:1,
barbarianBonus:0,
aiCityGrowthModifier:0.6,
aiUnitCostModifier:0.5,
aiBuildingCostModifier:0.5,
aiWonderCostModifier:1,
aiBuildingMaintenanceModifier:0.5,
aiUnitMaintenanceModifier:0.5,
aiFreeTechs:["Pottery","Animal Husbandry","Mining","The Wheel"],
aiFreeUnits:["Settler", "Warrior", "Warrior", "Worker", "Worker", "Scout"],
aiUnhappinessModifier:0.6,
aisExchangeTechs:true,
turnBarbariansCanEnterPlayerTiles:0,
clearBarbarianCampReward: 25
"name": "Deity",
"baseHappiness": 9,
"extraHappinessPerLuxury": 0,
"researchCostModifier": 1,
"unitCostModifier": 1,
"buildingCostModifier": 1,
"policyCostModifier": 1,
"unhappinessModifier": 1,
"barbarianBonus": 0,
"aiCityGrowthModifier": 0.6,
"aiUnitCostModifier": 0.5,
"aiBuildingCostModifier": 0.5,
"aiWonderCostModifier": 1,
"aiBuildingMaintenanceModifier": 0.5,
"aiUnitMaintenanceModifier": 0.5,
"aiFreeTechs": ["Pottery","Animal Husbandry","Mining","The Wheel"],
"aiFreeUnits": ["Settler", "Warrior", "Warrior", "Worker", "Worker", "Scout"],
"aiUnhappinessModifier": 0.6,
"aisExchangeTechs": true,
"turnBarbariansCanEnterPlayerTiles": 0,
"clearBarbarianCampReward": 25
}
]

View File

@ -1,123 +1,123 @@
[
Great Generals:{
"Boudicca"
"Hannibal Barca"
"Sun Tzu"
"El Cid"
"Genghis Khan"
"Timur"
"Napoleon Bonaparte"
"Jeanne d'Arc"
"Simòn Bolìvar"
"Ahuitzotl"
"Arminius"
"Belisarius"
"Cao Cao"
"Chandragupta Maurya"
"Hernan Cortez"
"Oliver Cromwell"
"Epaminondas"
"Gaius Marius"
"Geronimo"
"Ivan the Terrible"
"Leonidas"
"Lysander"
"Pompey"
"Francisco Pizarro"
"George Patton"
"Bernard Montgomery"
"Charles Martel"
"Pyrrhus"
"Erwin Rommel"
"Sargon"
"Scipio Africanus"
"Sitting Bull"
"Spartacus"
"Sun Tzu"
"Vercingetorix"
"William the Conqueror"
{
"Great Generals": [
"Boudicca",
"Hannibal Barca",
"Sun Tzu",
"El Cid",
"Genghis Khan",
"Timur",
"Napoleon Bonaparte",
"Jeanne d'Arc",
"Simòn Bolìvar",
"Ahuitzotl",
"Arminius",
"Belisarius",
"Cao Cao",
"Chandragupta Maurya",
"Hernan Cortez",
"Oliver Cromwell",
"Epaminondas",
"Gaius Marius",
"Geronimo",
"Ivan the Terrible",
"Leonidas",
"Lysander",
"Pompey",
"Francisco Pizarro",
"George Patton",
"Bernard Montgomery",
"Charles Martel",
"Pyrrhus",
"Erwin Rommel",
"Sargon",
"Scipio Africanus",
"Sitting Bull",
"Spartacus",
"Sun Tzu",
"Vercingetorix",
"William the Conqueror",
"Zhuge Liang"
}
Great Scientists:{
"Euclid"
"Marie Curie"
"Michael Faraday"
"Nikola Tesla"
"Hypatia"
"Galileo Galilei"
"Isaac Newton"
"Thomas Edison"
"Alessandro Volta"
"Johannes Kepler"
"Charles Darwin"
"Dmitri Mendeleev"
"Alan Turing"
"Albert Einstein"
"Alfred Nobel"
"Nicolaus Copernicus"
"Ptolemy"
"Plato"
"Socrates"
"Andrey Sakharov"
"Louis Pasteur"
"Merit-Ptah"
],
"Great Scientists": [
"Euclid",
"Marie Curie",
"Michael Faraday",
"Nikola Tesla",
"Hypatia",
"Galileo Galilei",
"Isaac Newton",
"Thomas Edison",
"Alessandro Volta",
"Johannes Kepler",
"Charles Darwin",
"Dmitri Mendeleev",
"Alan Turing",
"Albert Einstein",
"Alfred Nobel",
"Nicolaus Copernicus",
"Ptolemy",
"Plato",
"Socrates",
"Andrey Sakharov",
"Louis Pasteur",
"Merit-Ptah",
"Voltaire"
}
Great Merchants:{
"Marco Polo"
"Coco Chanel"
"Ibn Battuta"
"Steve Jobs"
"Giovanni de Medici"
"Enrico Dandolo"
],
"Great Merchants": [
"Marco Polo",
"Coco Chanel",
"Ibn Battuta",
"Steve Jobs",
"Giovanni de Medici",
"Enrico Dandolo",
"Henri Nestlé"
}
Great Artists:{
"Michelangelo Buonarroti"
"Raffello"
"Leonardo da Vinci"
"Sandro Botticelli"
"Donatello"
"Caravaggio"
"Paul Cézanne"
"Vincent van Gogh"
"Pieter Brueghel"
"Paul Gaugion"
"Giotto di Bondone"
"Francisco Goya"
"Pablo Picasso"
"Tintoretto"
"Utagawa Hiroshige"
"Yanagawa Shigenobu"
"Vittorio Alfieri"
"Ludovico Ariosto"
"Aristophanes"
"Miguel de Cervantes"
"Charles Dickens"
"George Orwell"
"Homer"
"Victor Hugo"
"Francesco Petrarca"
"Dante Alighieri"
"Giovanni Boccaccio"
"William Shakespeare"
"Levi Tolstoy"
"Mark Twaine"
"Johann Sebastian Back"
"Ludwing van Beethoven"
"Wolfgang Amadeus Mozart"
"Giuseppe Verdi"
"Ugo Mameli"
],
"Great Artists": [
"Michelangelo Buonarroti",
"Raffello",
"Leonardo da Vinci",
"Sandro Botticelli",
"Donatello",
"Caravaggio",
"Paul Cézanne",
"Vincent van Gogh",
"Pieter Brueghel",
"Paul Gaugion",
"Giotto di Bondone",
"Francisco Goya",
"Pablo Picasso",
"Tintoretto",
"Utagawa Hiroshige",
"Yanagawa Shigenobu",
"Vittorio Alfieri",
"Ludovico Ariosto",
"Aristophanes",
"Miguel de Cervantes",
"Charles Dickens",
"George Orwell",
"Homer",
"Victor Hugo",
"Francesco Petrarca",
"Dante Alighieri",
"Giovanni Boccaccio",
"William Shakespeare",
"Levi Tolstoy",
"Mark Twaine",
"Johann Sebastian Back",
"Ludwing van Beethoven",
"Wolfgang Amadeus Mozart",
"Giuseppe Verdi",
"Ugo Mameli",
"Yamada Kengyo"
}
Great Engineers:{
"Archimedes"
"Imhotep"
"Henry Ford"
"Thomas Edison"
"Guglielmo Marconi"
"Nikola Tesla"
"James Watt"
],
"Great Engineers": [
"Archimedes",
"Imhotep",
"Henry Ford",
"Thomas Edison",
"Guglielmo Marconi",
"Nikola Tesla",
"James Watt",
"Alexandre Gustave Eiffel"
}
]
]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,435 +1,436 @@
[
{
name:"Tradition",
era:"Ancient",
description:"+3 culture in capital and increased rate of border expansion",
policies:[
"name": "Tradition",
"era": "Ancient",
"description": "+3 culture in capital and increased rate of border expansion",
"policies": [
{
name:"Aristocracy",
description:"+15% production when constructing wonders, +1 happiness for every 10 citizens in a city",
row:1,
column:1
"name": "Aristocracy",
"description": "+15% production when constructing wonders, +1 happiness for every 10 citizens in a city",
"row": 1,
"column": 1
},
{
name:"Legalism",
description:"Immediately creates a cheapest available cultural building in each of your first 4 cities for free",
row:1,
column:3
"name": "Legalism",
"description": "Immediately creates a cheapest available cultural building in each of your first 4 cities for free",
"row": 1,
"column": 3
},
{
name:"Oligarchy",
description:"Units in cities cost no Maintenance, garrisoned city +50% attacking strength",
row:1,
column:5
"name": "Oligarchy",
"description": "Units in cities cost no Maintenance, garrisoned city +50% attacking strength",
"row": 1,
"column": 5
},
{
name:"Landed Elite",
description:"+10% food growth and +2 food in capital",
requires:["Legalism"],
row:2,
column:2
"name": "Landed Elite",
"description": "+10% food growth and +2 food in capital",
"requires": ["Legalism"],
"row": 2,
"column": 2
},
{
name:"Monarchy",
description:"+1 gold and -1 unhappiness for every 2 citizens in capital",
requires:["Legalism"],
row:2,
column:4
"name": "Monarchy",
"description": "+1 gold and -1 unhappiness for every 2 citizens in capital",
"requires": ["Legalism"],
"row": 2,
"column": 4
},
{
name:"Tradition Complete",
description:"+15% growth and +2 food in all cities"
"name": "Tradition Complete",
"description": "+15% growth and +2 food in all cities"
}
]
},
{
name:"Liberty",
era:"Ancient",
description:"+1 culture in every city",
policies:[
"name": "Liberty",
"era": "Ancient",
"description": "+1 culture in every city",
"policies": [
{
name:"Collective Rule",
description:"Training of settlers increased +50% in capital, receive a new settler near the capital",
row:1,
column:1
"name": "Collective Rule",
"description": "Training of settlers increased +50% in capital, receive a new settler near the capital",
"row": 1,
"column": 1
},
{
name:"Citizenship",
description:"Tile improvement speed +25%, receive a free worker near the capital",
row:1,
column:4
"name": "Citizenship",
"description": "Tile improvement speed +25%, receive a free worker near the capital",
"row": 1,
"column": 4
},
{
name:"Republic",
description:"+1 construction in every city, +5% construction when constructing buildings",
requires:["Collective Rule"],
row:2,
column:1
"name": "Republic",
"description": "+1 construction in every city, +5% construction when constructing buildings",
"requires": ["Collective Rule"],
"row": 2,
"column": 1
},
{
name:"Representation",
description:"Each city founded increases culture cost of policies 33% less than normal. Starts a golden age.",
requires:["Citizenship"],
row:2,
column:3
"name": "Representation",
"description": "Each city founded increases culture cost of policies 33% less than normal. Starts a golden age.",
"requires": ["Citizenship"],
"row": 2,
"column": 3
},
{
name:"Meritocracy",
description:"+1 happiness for every city connected to capital, -5% unhappiness from citizens",
requires:["Citizenship"],
row:2,
column:5
"name": "Meritocracy",
"description": "+1 happiness for every city connected to capital, -5% unhappiness from citizens",
"requires": ["Citizenship"],
"row": 2,
"column": 5
},
{
name:"Liberty Complete",
description:"Free Great Person of choice near capital"
"name": "Liberty Complete",
"description": "Free Great Person of choice near capital"
}
]
},
{
name:"Honor",
era:"Ancient",
description:"+25% bonus vs Barbarians; gain Culture when you kill a barbarian unit",
policies:[
"name": "Honor",
"era": "Ancient",
"description": "+25% bonus vs Barbarians; gain Culture when you kill a barbarian unit",
"policies": [
{
name:"Warrior Code",
description:"+20% production when training melee units",
row:1,
column:2
"name": "Warrior Code",
"description": "+20% production when training melee units",
"row": 1,
"column": 2
},
{
name:"Discipline",
description:"+15% combat strength for melee units which have another military unit in an adjacent tile",
row:1,
column:4
"name": "Discipline",
"description": "+15% combat strength for melee units which have another military unit in an adjacent tile",
"row": 1,
"column": 4
},
{
name:"Military Tradition",
description:"Military units gain 50% more Experience from combat",
requires:["Warrior Code"],
row:2,
column:2
"name": "Military Tradition",
"description": "Military units gain 50% more Experience from combat",
"requires": ["Warrior Code"],
"row": 2,
"column": 2
},
{
name:"Military Caste",
description:"Each city with a garrison increases happiness by 1 and culture by 2",
requires:["Discipline"],
row:2,
column:4
"name": "Military Caste",
"description": "Each city with a garrison increases happiness by 1 and culture by 2",
"requires": ["Discipline"],
"row": 2,
"column": 4
},
{
name:"Professional Army",
description:"Gold cost of upgrading military units reduced by 33%",
requires:["Military Caste"],
row:3,
column:4
"name": "Professional Army",
"description": "Gold cost of upgrading military units reduced by 33%",
"requires": ["Military Caste"],
"row": 3,
"column": 4
},
{
name:"Honor Complete",
description:"Gain gold for each unit killed"
"name": "Honor Complete",
"description": "Gain gold for each unit killed"
}
]
},{
name:"Piety",
era:"Classical",
description:"Building time of culture buildings reduced by 15%",
policies:[
"name": "Piety",
"era": "Classical",
"description": "Building time of culture buildings reduced by 15%",
"policies": [
{
name:"Organized Religion",
description:"+1 happiness for each monument, temple and monastery",
row:1,
column:2
"name": "Organized Religion",
"description": "+1 happiness for each monument, temple and monastery",
"row": 1,
"column": 2
},
{
name:"Mandate Of Heaven",
description:"50% of excess happiness added to culture towards policies",
row:1,
column:5
"name": "Mandate Of Heaven",
"description": "50% of excess happiness added to culture towards policies",
"row": 1,
"column": 5
},
{
name:"Theocracy",
description:"Temples give +10% gold",
requires:["Organized Religion"],
row:2,
column:1
"name": "Theocracy",
"description": "Temples give +10% gold",
"requires": ["Organized Religion"],
"row": 2,
"column": 1
},
{
name:"Reformation",
description:"+33% culture in all cities with a world wonder, immediately enter a golden age",
requires:["Organized Religion"],
row:2,
column:3
"name": "Reformation",
"description": "+33% culture in all cities with a world wonder, immediately enter a golden age",
"requires": ["Organized Religion"],
"row": 2,
"column": 3
},
{
name:"Free Religion",
description:"+1 culture for each monument, temple and monastery. Gain a free policy.",
requires:["Mandate Of Heaven","Reformation"],
row:3,
column:4
"name": "Free Religion",
"description": "+1 culture for each monument, temple and monastery. Gain a free policy.",
"requires": ["Mandate Of Heaven","Reformation"],
"row": 3,
"column": 4
},
{
name:"Piety Complete",
description:"Reduce culture cost of future policies by 10%"
"name": "Piety Complete",
"description": "Reduce culture cost of future policies by 10%"
}
]
},/*{
name:"Patronage",
era:"Classical",
description:"Influence with City-States degrades 25% slower than normal",
policies:[
"name": "Patronage",
"era": "Classical",
"description": "Influence with City-States degrades 25% slower than normal",
"policies": [
{
name:"Philantropy",
description:"Gifting Gold to a City-State generates 25% more Influence",
row:1,
column:2
"name": "Philantropy",
"description": "Gifting Gold to a City-State generates 25% more Influence",
"row": 1,
"column": 2
},
{
name:"Aesthetics",
description:"Resting point for Influence level with all City-States is increased by 20",
row:1,
column:4
"name": "Aesthetics",
"description": "Resting point for Influence level with all City-States is increased by 20",
"row": 1,
"column": 4
},
{
name:"Scholasticism",
description:"All Allied City-States provide a Science bonus equal to 25% of what they produce for themselves",
requires:["Philantropy"],
row:2,
column:2
"name": "Scholasticism",
"description": "All Allied City-States provide a Science bonus equal to 25% of what they produce for themselves",
"requires": ["Philantropy"],
"row": 2,
"column": 2
},
{
name:"Cultural Diplomacy",
description:"Happiness from gifted Luxuries increased by 50%",
requires:["Scholasticism"],
row:3,
column:2
"name": "Cultural Diplomacy",
"description": "Happiness from gifted Luxuries increased by 50%",
"requires": ["Scholasticism"],
"row": 3,
"column": 2
},
{
name:"Educated Elite",
description:"Allied City-States will occasionally gift you Great People",
requires:["Scholasticism","Aesthetics"],
row:3,
column:4
"name": "Educated Elite",
"description": "Allied City-States will occasionally gift you Great People",
"requires": ["Scholasticism","Aesthetics"],
"row": 3,
"column": 4
},
{
name:"Patronage Complete",
description:"Influence with City-States degrades 25% slower than normal"
}
]
},*/{
name:"Commerce",
description:"+25% gold in capital",
era:"Medieval",
policies:[
{
name:"Trade Unions",
description:"Maintenance on roads & railroads reduced by 33%, +2 gold from all trade routes",
row:1,
column:2
},
{
name:"Mercantilism",
description:"-25% to purchasing items in cities",
row:1,
column:5
},
{
name:"Entrepreneurship",
description:"Great Merchants are earned 25% faster, +1 Science from every Mint, Market, Bank and Stock Exchange.",
requires:["Trade Unions"],
row:2,
column:2
},
{
name:"Patronage",
description:"Cost of purchasing culture buildings reduced by 50%",
requires:["Mercantilism"],
row:2,
column:5
},
{
name:"Protectionism",
description:"+1 happiness from each luxury resource",
requires:["Entrepreneurship","Patronage"],
row:3,
column:3
},
{
name:"Commerce Complete",
description:"+1 gold from every trading post, double gold from Great Merchant trade missions"
}
]
},
{
name:"Rationalism",
era:"Renaissance",
description:"Production to science conversion in cities increased by 33%",
policies:[
{
name:"Secularism",
description:"+2 science from every specialist",
row:1,
column:2
},
{
name:"Humanism",
description:"+1 happiness from every university, observatory and public school",
row:1,
column:5
},
{
name:"Free Thought",
description:"+1 science from every trading post, +17% science from universities",
requires:["Secularism"],
row:2,
column:1
},
{
name:"Sovereignty",
description:"+15% science while empire is happy",
requires:["Humanism"],
row:2,
column:5
},
{
name:"Scientific Revolution",
description:"Gain 2 free technologies",
requires:["Free Thought"],
row:3,
column:1
},
{
name:"Rationalism Complete",
description:"+1 gold from all science buildings"
}
]
},
/*{
name:"Order",
era:"Industrial",
description:"+1 Happiness per City",
policies:[
{
name:"Nationalism",
description:"25% Attack bonus when fighting in friendly territory",
row:1,
column:1
},
{
name:"United Front",
description:"Militaristic City-States grant units twice as often when you are at war with a common foe",
row:1,
column:3
},
{
name:"Planned Economy",
description:"Factories increase a cities Science output by 25%",
row:2,
column:5
},
{
name:"Socialism",
description:"Gold maintenance costs of Buildings reduced by 15%",
requires:["Planned Economy"],
row:2,
column:3
},
{
name:"Communism",
description:"+2 Production per City and +10% Production when constructing buildings",
requires:["Socialism"],
row:3,
column:3
},
{
name:"Order Complete",
description:"+1 Food, Production, Science, Gold and Culture per city"
"name": "Patronage Complete",
"description": "Influence with City-States degrades 25% slower than normal"
}
]
},*/
{
name:"Freedom",
era:"Renaissance",
description:"+25% great people rate",
policies:[
"name": "Commerce",
"description": "+25% gold in capital",
"era": "Medieval",
"policies": [
{
name:"Constitution",
description:"+2 culture from each wonder",
row:1,
column:1
"name": "Trade Unions",
"description": "Maintenance on roads & railroads reduced by 33%, +2 gold from all trade routes",
"row": 1,
"column": 2
},
{
name:"Universal Suffrage",
description:"+1 production per 5 population",
row:1,
column:3
"name": "Mercantilism",
"description": "-25% to purchasing items in cities",
"row": 1,
"column": 5
},
{
name:"Civil Society",
description:"-50% food consumption by specialists",
row:1,
column:5
"name": "Entrepreneurship",
"description": "Great Merchants are earned 25% faster, +1 Science from every Mint, Market, Bank and Stock Exchange.",
"requires": ["Trade Unions"],
"row": 2,
"column": 2
},
{
name:"Free Speech",
description:"+1 culture for every 2 citizens",
requires:["Constitution"],
row:2,
column:1
"name": "Patronage",
"description": "Cost of purchasing culture buildings reduced by 50%",
"requires": ["Mercantilism"],
"row": 2,
"column": 5
},
{
name:"Democracy",
description:"Specialists produce half normal unhappiness",
requires:["Civil Society"],
row:2,
column:5
"name": "Protectionism",
"description": "+1 happiness from each luxury resource",
"requires": ["Entrepreneurship","Patronage"],
"row": 3,
"column": 3
},
{
name:"Freedom Complete",
description:"Tile yield from great improvement +100%, golden ages increase by 50%"
"name": "Commerce Complete",
"description": "+1 gold from every trading post, double gold from Great Merchant trade missions"
}
]
},
{
name:"Autocracy",
era:"Industrial",
description:"-33% unit upkeep costs",
policies:[
"name": "Rationalism",
"era": "Renaissance",
"description": "Production to science conversion in cities increased by 33%",
"policies": [
{
name:"Populism",
description:"Wounded military units deal +25% damage",
row:1,
column:1
"name": "Secularism",
"description": "+2 science from every specialist",
"row": 1,
"column": 2
},
{
name:"Militarism",
description:"Gold cost of purchasing units -33%",
row:1,
column:5
"name": "Humanism",
"description": "+1 happiness from every university, observatory and public school",
"row": 1,
"column": 5
},
{
name:"Fascism",
description:"Quantity of strategic resources produced by the empire increased by 100%",
requires:["Populism","Militarism"],
row:2,
column:3
"name": "Free Thought",
"description": "+1 science from every trading post, +17% science from universities",
"requires": ["Secularism"],
"row": 2,
"column": 1
},
{
name:"Police State",
description:"Captured cities retain their previous borders",
requires:["Militarism"],
row:2,
column:5
"name": "Sovereignty",
"description": "+15% science while empire is happy",
"requires": ["Humanism"],
"row": 2,
"column": 5
},
{
name:"Total War",
description:"+15% production when building military units and new military units start with 15 Experience",
requires:["Police State","Fascism"],
row:3,
column:4
"name": "Scientific Revolution",
"description": "Gain 2 free technologies",
"requires": ["Free Thought"],
"row": 3,
"column": 1
},
{
name:"Autocracy Complete",
description:"+1 happiness from each Walls, Castle and Arsenal"
"name": "Rationalism Complete",
"description": "+1 gold from all science buildings"
}
]
},
/*{
"name": "Order",
"era": "Industrial",
"description": "+1 Happiness per City",
"policies": [
{
"name": "Nationalism",
"description": "25% Attack bonus when fighting in friendly territory",
"row": 1,
"column": 1
},
{
"name": "United Front",
"description": "Militaristic City-States grant units twice as often when you are at war with a common foe",
"row": 1,
"column": 3
},
{
"name": "Planned Economy",
"description": "Factories increase a cities Science output by 25%",
"row": 2,
"column": 5
},
{
"name": "Socialism",
"description": "Gold maintenance costs of Buildings reduced by 15%",
"requires": ["Planned Economy"],
"row": 2,
"column": 3
},
{
"name": "Communism",
"description": "+2 Production per City and +10% Production when constructing buildings",
"requires": ["Socialism"],
"row": 3,
"column": 3
},
{
"name": "Order Complete",
"description": "+1 Food, Production, Science, Gold and Culture per city"
}
]
},*/
{
"name": "Freedom",
"era": "Renaissance",
"description": "+25% great people rate",
"policies": [
{
"name": "Constitution",
"description": "+2 culture from each wonder",
"row": 1,
"column": 1
},
{
"name": "Universal Suffrage",
"description": "+1 production per 5 population",
"row": 1,
"column": 3
},
{
"name": "Civil Society",
"description": "-50% food consumption by specialists",
"row": 1,
"column": 5
},
{
"name": "Free Speech",
"description": "+1 culture for every 2 citizens",
"requires": ["Constitution"],
"row": 2,
"column": 1
},
{
"name": "Democracy",
"description": "Specialists produce half normal unhappiness",
"requires": ["Civil Society"],
"row": 2,
"column": 5
},
{
"name": "Freedom Complete",
"description": "Tile yield from great improvement +100%, golden ages increase by 50%"
}
]
},
{
"name": "Autocracy",
"era": "Industrial",
"description": "-33% unit upkeep costs",
"policies": [
{
"name": "Populism",
"description": "Wounded military units deal +25% damage",
"row": 1,
"column": 1
},
{
"name": "Militarism",
"description": "Gold cost of purchasing units -33%",
"row": 1,
"column": 5
},
{
"name": "Fascism",
"description": "Quantity of strategic resources produced by the empire increased by 100%",
"requires": ["Populism","Militarism"],
"row": 2,
"column": 3
},
{
"name": "Police State",
"description": "Captured cities retain their previous borders",
"requires": ["Militarism"],
"row": 2,
"column": 5
},
{
"name": "Total War",
"description": "+15% production when building military units and new military units start with 15 Experience",
"requires": ["Police State","Fascism"],
"row": 3,
"column": 4
},
{
"name": "Autocracy Complete",
"description": "+1 happiness from each Walls, Castle and Arsenal"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,254 +1,254 @@
[
// Base terrains
{
name:"Ocean",
type:"Water",
food:1,
gold:1,
movementCost:1,
RGB: [100,100,255]
"name": "Ocean",
"type": "Water",
"food": 1,
"gold": 1,
"movementCost": 1,
"RGB": [100,100,255]
},
{
name:"Coast",
type:"Water",
food:1,
movementCost:1,
RGB: [150,150,255]
"name": "Coast",
"type": "Water",
"food": 1,
"movementCost": 1,
"RGB": [150,150,255]
},
{
name:"Grassland",
type:"Land",
food:2,
movementCost:1,
RGB: [109,139,53]
"name": "Grassland",
"type": "Land",
"food": 2,
"movementCost": 1,
"RGB": [109,139,53]
},
{
name:"Plains",
type:"Land",
food:1,
production:1,
movementCost:1,
RGB: [200,208,161]
"name": "Plains",
"type": "Land",
"food": 1,
"production": 1,
"movementCost": 1,
"RGB": [200,208,161]
},
{
name:"Tundra",
type:"Land",
food:1,
movementCost:1,
defenceBonus: -0.1,
RGB: [125,122,113]
"name": "Tundra",
"type": "Land",
"food": 1,
"movementCost": 1,
"defenceBonus": -0.1,
"RGB": [125,122,113]
},
{
name:"Desert",
type:"Land",
movementCost:1,
defenceBonus: -0.1,
RGB: [ 255, 255, 102]
"name": "Desert",
"type": "Land",
"movementCost": 1,
"defenceBonus": -0.1,
"RGB": [ 255, 255, 102]
},
{
name:"Lakes",
type:"Water",
food:2,
gold:1,
RGB: [ 200, 200, 255],
canHaveOverlay:false
"name": "Lakes",
"type": "Water",
"food": 2,
"gold": 1,
"RGB": [ 200, 200, 255],
"canHaveOverlay": false
},
{
name:"Hill",
type:"Land",
production:2,
movementCost:2,
defenceBonus: 0.25,
RGB: [74,81,40],
rough: true
"name": "Hill",
"type": "Land",
"production": 2,
"movementCost": 2,
"defenceBonus": 0.25,
"RGB": [74,81,40],
"rough": true
},
{
name:"Mountain",
type:"Land",
impassable:true,
RGB: [89, 45, 0]
"name": "Mountain",
"type": "Land",
"impassable": true,
"RGB": [89, 45, 0]
},
/*
{
name:"Snow",
type:"Land",
movementCost:1,
defenceBonus: -0.1,
RGB: [153, 255, 255]
"name": "Snow",
"type": "Land",
"movementCost": 1,
"defenceBonus": -0.1,
"RGB": [153, 255, 255]
},
*/
// Terrain features
{
name:"Forest",
type:"TerrainFeature",
production:1,
food:1,
movementCost:2,
overrideStats:true,
unbuildable:true,
defenceBonus: 0.25,
occursOn:["Tundra","Plains","Grassland","Hill"],
rough: true
"name": "Forest",
"type": "TerrainFeature",
"production": 1,
"food": 1,
"movementCost": 2,
"overrideStats": true,
"unbuildable": true,
"defenceBonus": 0.25,
"occursOn": ["Tundra","Plains","Grassland","Hill"],
"rough": true
},
{
name:"Jungle",
type:"TerrainFeature",
food:2,
movementCost:2,
overrideStats:true,
unbuildable:true,
defenceBonus: 0.25,
occursOn:["Plains","Grassland"],
rough: true
"name": "Jungle",
"type": "TerrainFeature",
"food": 2,
"movementCost": 2,
"overrideStats": true,
"unbuildable": true,
"defenceBonus": 0.25,
"occursOn": ["Plains","Grassland"],
"rough": true
},
{
name:"Marsh",
type:"TerrainFeature",
food:-1,
movementCost:3,
unbuildable:true,
defenceBonus: -0.1,
occursOn:["Grassland"]
"name": "Marsh",
"type": "TerrainFeature",
"food": -1,
"movementCost": 3,
"unbuildable": true,
"defenceBonus": -0.1,
"occursOn": ["Grassland"]
},
{
name:"Fallout",
type:"TerrainFeature",
food:-3,
production:-3,
gold:-3,
movementCost:2,
unbuildable:true,
defenceBonus: -0.15,
"name": "Fallout",
"type": "TerrainFeature",
"food": -3,
"production": -3,
"gold": -3,
"movementCost": 2,
"unbuildable": true,
"defenceBonus": -0.15
},
{
name:"Oasis",
type:"TerrainFeature",
food:3,
gold:1,
movementCost:1,
unbuildable:true,
defenceBonus: -0.1,
occursOn:["Desert"]
"name": "Oasis",
"type": "TerrainFeature",
"food": 3,
"gold": 1,
"movementCost": 1,
"unbuildable": true,
"defenceBonus": -0.1,
"occursOn": ["Desert"]
},
{
name:"Flood plains",
type:"TerrainFeature",
food:2,
movementCost:1,
defenceBonus: -0.1,
occursOn:["Desert"]
"name": "Flood plains",
"type": "TerrainFeature",
"food": 2,
"movementCost": 1,
"defenceBonus": -0.1,
"occursOn": ["Desert"]
},
// Natural Wonders
{
name: "Great Barrier Reef",
type: "NaturalWonder",
food: 2,
production: 1,
gold: 1,
science: 2,
occursOn: ["Coast"],
turnsInto: "Coast",
impassable: true,
unbuildable: true,
weight: 10
"name": "Great Barrier Reef",
"type": "NaturalWonder",
"food": 2,
"production": 1,
"gold": 1,
"science": 2,
"occursOn": ["Coast"],
"turnsInto": "Coast",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "Old Faithful",
type: "NaturalWonder",
science: 2,
happiness: 3,
occursOn: ["Grassland","Plains","Tundra","Mountain"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
"name": "Old Faithful",
"type": "NaturalWonder",
"science": 2,
"happiness": 3,
"occursOn": ["Grassland","Plains","Tundra","Mountain"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "El Dorado",
type: "NaturalWonder",
culture: 5,
occursOn: ["Plains"],
turnsInto: "Plains",
impassable: true,
unbuildable: true,
uniques: ["Grants 500 Gold to the first civilization to discover it"],
weight: 2
"name": "El Dorado",
"type": "NaturalWonder",
"culture": 5,
"occursOn": ["Plains"],
"turnsInto": "Plains",
"impassable": true,
"unbuildable": true,
"uniques": ["Grants 500 Gold to the first civilization to discover it"],
"weight": 2
},
{
name: "Fountain of Youth",
type: "NaturalWonder",
happiness: 10,
occursOn: ["Plains"],
turnsInto: "Plains",
impassable: true,
unbuildable: true,
uniques: ["Grants Rejuvenation (all healing effects doubled) to adjacent military land units for the rest of the game"],
weight: 1
"name": "Fountain of Youth",
"type": "NaturalWonder",
"happiness": 10,
"occursOn": ["Plains"],
"turnsInto": "Plains",
"impassable": true,
"unbuildable": true,
"uniques": ["Grants Rejuvenation (all healing effects doubled) to adjacent military land units for the rest of the game"],
"weight": 1
},
{
name: "Grand Mesa",
type: "NaturalWonder",
production: 2,
gold: 3,
occursOn: ["Plains","Desert","Tundra"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
"name": "Grand Mesa",
"type": "NaturalWonder",
"production": 2,
"gold": 3,
"occursOn": ["Plains","Desert","Tundra"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "Mount Fuji",
type: "NaturalWonder",
gold: 1,
culture: 5,
occursOn: ["Grassland","Plains"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
"name": "Mount Fuji",
"type": "NaturalWonder",
"gold": 1,
"culture": 5,
"occursOn": ["Grassland","Plains"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "Krakatoa",
type: "NaturalWonder",
science: 5,
occursOn: ["Ocean"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
"name": "Krakatoa",
"type": "NaturalWonder",
"science": 5,
"occursOn": ["Ocean"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "Rock of Gibraltar",
type: "NaturalWonder",
food: 2,
gold: 5,
occursOn: ["Grassland"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
"name": "Rock of Gibraltar",
"type": "NaturalWonder",
"food": 2,
"gold": 5,
"occursOn": ["Grassland"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
},
{
name: "Cerro de Potosi",
type: "NaturalWonder",
gold: 10,
occursOn: ["Plains","Mountain"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 5
"name": "Cerro de Potosi",
"type": "NaturalWonder",
"gold": 10,
"occursOn": ["Plains","Mountain"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 5
},
{
name: "Barringer Crater",
type: "NaturalWonder",
gold: 2,
science: 3,
occursOn: ["Desert","Tundra"],
turnsInto: "Mountain",
impassable: true,
unbuildable: true,
weight: 10
},
"name": "Barringer Crater",
"type": "NaturalWonder",
"gold": 2,
"science": 3,
"occursOn": ["Desert","Tundra"],
"turnsInto": "Mountain",
"impassable": true,
"unbuildable": true,
"weight": 10
}
]

View File

@ -1,183 +1,183 @@
[
{
name:"Farm",
terrainsCanBeBuiltOn:["Plains","Grassland","Desert","Flood plains"],
food:1,
turnsToBuild:7,
techRequired:"Agriculture",
improvingTech:"Fertilizer",
improvingTechStats:{food:1}
"name": "Farm",
"terrainsCanBeBuiltOn": ["Plains","Grassland","Desert","Flood plains"],
"food": 1,
"turnsToBuild": 7,
"techRequired": "Agriculture",
"improvingTech": "Fertilizer",
"improvingTechStats": {"food": 1}
},
{
name:"Lumber mill",
terrainsCanBeBuiltOn:["Forest"],
production:1,
turnsToBuild:7,
techRequired:"Construction",
improvingTech:"Steam Power",
improvingTechStats:{production:1}
"name": "Lumber mill",
"terrainsCanBeBuiltOn": ["Forest"],
"production": 1,
"turnsToBuild": 7,
"techRequired": "Construction",
"improvingTech": "Steam Power",
"improvingTechStats": {"production": 1}
},
{
name:"Mine",
terrainsCanBeBuiltOn:["Hill"],
production:1,
turnsToBuild:7,
techRequired:"Mining",
improvingTech:"Chemistry",
improvingTechStats:{production:1}
"name": "Mine",
"terrainsCanBeBuiltOn": ["Hill"],
"production": 1,
"turnsToBuild": 7,
"techRequired": "Mining",
"improvingTech": "Chemistry",
"improvingTechStats": {"production": 1}
},
{
name:"Trading post",
terrainsCanBeBuiltOn:["Plains","Grassland","Desert","Hill","Tundra","Forest","Jungle","Flood plains"],
gold:1,
turnsToBuild:7,
techRequired:"Guilds",
improvingTech:"Economics",
improvingTechStats: {gold:1}
"name": "Trading post",
"terrainsCanBeBuiltOn": ["Plains","Grassland","Desert","Hill","Tundra","Forest","Jungle","Flood plains"],
"gold": 1,
"turnsToBuild": 7,
"techRequired": "Guilds",
"improvingTech": "Economics",
"improvingTechStats": {"gold": 1}
},
// Resource-specific
{
name:"Camp",
turnsToBuild:7,
techRequired:"Trapping",
improvingTech:"Economics",
improvingTechStats:{gold:1}
"name": "Camp",
"turnsToBuild": 7,
"techRequired": "Trapping",
"improvingTech": "Economics",
"improvingTechStats": {"gold": 1}
},
{
name:"Oil well",
turnsToBuild:9,
techRequired:"Biology",
"name": "Oil well",
"turnsToBuild": 9,
"techRequired": "Biology"
},
{
name:"Pasture",
turnsToBuild:8,
techRequired:"Animal Husbandry",
improvingTech:"Fertilizer",
improvingTechStats:{food:1}
"name": "Pasture",
"turnsToBuild": 8,
"techRequired": "Animal Husbandry",
"improvingTech": "Fertilizer",
"improvingTechStats": {"food": 1}
},
{
name:"Plantation",
turnsToBuild:6,
gold:1,
techRequired:"Calendar",
improvingTech:"Fertilizer",
improvingTechStats:{food:1}
"name": "Plantation",
"turnsToBuild": 6,
"gold": 1,
"techRequired": "Calendar",
"improvingTech": "Fertilizer",
"improvingTechStats": {"food": 1}
},
{
name:"Quarry",
turnsToBuild:8,
techRequired:"Masonry",
improvingTech:"Chemistry",
improvingTechStats:{production:1}
"name": "Quarry",
"turnsToBuild": 8,
"techRequired": "Masonry",
"improvingTech": "Chemistry",
"improvingTechStats": {"production": 1}
},
{
name:"Fishing Boats",
terrainsCanBeBuiltOn:["Coast"],
food:1,
techRequired:"Sailing",
improvingTech:"Compass",
improvingTechStats:{gold:1}
"name": "Fishing Boats",
"terrainsCanBeBuiltOn": ["Coast"],
"food": 1,
"techRequired": "Sailing",
"improvingTech": "Compass",
"improvingTechStats": {"gold": 1}
},
// Transportation
{
name:"Road",
turnsToBuild:4,
techRequired:"The Wheel"
"name": "Road",
"turnsToBuild": 4,
"techRequired": "The Wheel"
},
{
name:"Railroad",
turnsToBuild:4,
techRequired:"Railroad"
"name": "Railroad",
"turnsToBuild": 4,
"techRequired": "Railroad"
},
// Removals
{
name:"Remove Forest",
turnsToBuild:4,
terrainsCanBeBuiltOn:["Forest"],
techRequired:"Mining"
"name": "Remove Forest",
"turnsToBuild": 4,
"terrainsCanBeBuiltOn": ["Forest"],
"techRequired": "Mining"
},
{
name:"Remove Jungle",
turnsToBuild:7,
terrainsCanBeBuiltOn:["Jungle"],
techRequired:"Bronze Working"
"name": "Remove Jungle",
"turnsToBuild": 7,
"terrainsCanBeBuiltOn": ["Jungle"],
"techRequired": "Bronze Working"
},
{
name:"Remove Fallout",
turnsToBuild:8,
terrainsCanBeBuiltOn:["Fallout"],
techRequired:"Agriculture"
"name": "Remove Fallout",
"turnsToBuild": 8,
"terrainsCanBeBuiltOn": ["Fallout"],
"techRequired": "Agriculture"
},
{
name:"Remove Marsh",
turnsToBuild:6,
terrainsCanBeBuiltOn:["Marsh"],
techRequired:"Bronze Working"
"name": "Remove Marsh",
"turnsToBuild": 6,
"terrainsCanBeBuiltOn": ["Marsh"],
"techRequired": "Bronze Working"
},
// These are unique and have unique in-game checks related to them
{
name:"Remove Road",
turnsToBuild:2
"name": "Remove Road",
"turnsToBuild": 2
},
{
name:"Remove Railroad",
turnsToBuild:2
"name": "Remove Railroad",
"turnsToBuild": 2
},
// Great Person improvements
{
name:"Academy",
science:8,
improvingTech:"Scientific Theory",
improvingTechStats:{science:2}
"name": "Academy",
"science": 8,
"improvingTech": "Scientific Theory",
"improvingTechStats": {"science": 2}
},
{
name:"Landmark",
culture:6
"name": "Landmark",
"culture": 6
},
{
name:"Manufactory",
production:4,
improvingTech:"Chemistry",
improvingTechStats:{production:1}
"name": "Manufactory",
"production": 4,
"improvingTech": "Chemistry",
"improvingTechStats": {"production": 1}
},
{
name:"Customs house",
gold:4,
improvingTech:"Economics",
improvingTechStats:{gold:1}
"name": "Customs house",
"gold": 4,
"improvingTech": "Economics",
"improvingTechStats": {"gold": 1}
},
//Civilization unique improvements
{
name:"Moai",
uniqueTo:"Polynesia",
culture:1,
turnsToBuild:4,
uniques:["+1 additional Culture for each adjacent Moai","Can only be built on Coastal tiles"],
techRequired:"Construction",
improvingTech:"Flight",
improvingTechStats:{gold:1}
"name": "Moai",
"uniqueTo": "Polynesia",
"culture": 1,
"turnsToBuild": 4,
"uniques": ["+1 additional Culture for each adjacent Moai","Can only be built on Coastal tiles"],
"techRequired": "Construction",
"improvingTech": "Flight",
"improvingTechStats": {"gold": 1}
},
/*
{
name:"Terrace Farm",
uniqueTo:"Inca",
food:1,
turnsToBuild:4,
improvingTech:"Construction",
uniques:["+1 Food for each adjacent Mountain","+1 additional Food with Fertilizer and no fresh water"],
terrainsCanBeBuiltOn:["Plains","Grassland","Desert","Tundra"],
"name": "Terrace Farm",
"uniqueTo": "Inca",
"food": 1,
"turnsToBuild": 4,
"improvingTech": "Construction",
"uniques": ["+1 Food for each adjacent Mountain","+1 additional Food with Fertilizer and no fresh water"],
"terrainsCanBeBuiltOn": ["Plains","Grassland","Desert","Tundra"],
//It can be colored in lemon
//Cannot improve a resource
},
*/
{ name:"Ancient ruins" },
{ name:"City ruins" },
{ name:"Barbarian encampment" },
{ "name": "Ancient ruins" },
{ "name": "City ruins" },
{ "name": "Barbarian encampment" }
]

View File

@ -1,309 +1,309 @@
[
// Bonus resources
{
name:"Cattle",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Grassland"],
food:1,
improvement:"Pasture",
improvementStats:{production:1},
building:"Stable"
"name": "Cattle",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Grassland"],
"food": 1,
"improvement": "Pasture",
"improvementStats": {"production": 1},
"building": "Stable"
},
{
name:"Sheep",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Plains","Hill"],
food:1,
improvement:"Pasture",
improvementStats:{food:1},
building:"Stable"
"name": "Sheep",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Plains","Hill"],
"food": 1,
"improvement": "Pasture",
"improvementStats": {"food": 1},
"building": "Stable"
},
{
name:"Deer",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Forest","Tundra"],
food:1,
improvement:"Camp",
improvementStats:{production:1},
building:"Granary"
"name": "Deer",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Forest","Tundra"],
"food": 1,
"improvement": "Camp",
"improvementStats": {"production": 1},
"building": "Granary"
},
{
name:"Bananas",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Jungle"],
food:1,
improvement:"Plantation",
improvementStats:{food:2,production:-1},
building:"Granary"
"name": "Bananas",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Jungle"],
"food": 1,
"improvement": "Plantation",
"improvementStats": {"food": 2,"production": -1},
"building": "Granary"
},
{
name:"Wheat",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Plains","Flood plains","Desert"],
food:1,
improvement:"Farm",
improvementStats:{food:1},
building:"Granary"
"name": "Wheat",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Plains","Flood plains","Desert"],
"food": 1,
"improvement": "Farm",
"improvementStats": {"food": 1},
"building": "Granary"
},
{
name:"Stone",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Plains","Desert"],
production:1,
improvement:"Quarry",
improvementStats:{production:1},
building:"Stone Works"
"name": "Stone",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Plains","Desert"],
"production": 1,
"improvement": "Quarry",
"improvementStats": {"production": 1},
"building": "Stone Works"
},
{
name:"Fish",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Coast"],
food:1,
improvement:"Fishing Boats",
improvementStats:{food:1},
building:"Lighthouse"
"name": "Fish",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Coast"],
"food": 1,
"improvement": "Fishing Boats",
"improvementStats": {"food": 1},
"building": "Lighthouse"
},
/*
{
name:"Bison",
resourceType:"Bonus",
terrainsCanBeFoundOn:["Plains","Grassland"],
food:1,
improvement:"Camp",
improvementStats:{food:1},
building:"Granary"
"name": "Bison",
"resourceType": "Bonus",
"terrainsCanBeFoundOn": ["Plains","Grassland"],
"food": 1,
"improvement": "Camp",
"improvementStats": {"food": 1},
"building": "Granary"
},
*/
// Strategic resources
{
name:"Horses",
resourceType:"Strategic",
revealedBy:"Animal Husbandry",
terrainsCanBeFoundOn:["Plains","Grassland","Hill","Desert"],
production:1,
improvement:"Pasture",
improvementStats:{production:1},
building:"Stable"
"name": "Horses",
"resourceType": "Strategic",
"revealedBy": "Animal Husbandry",
"terrainsCanBeFoundOn": ["Plains","Grassland","Hill","Desert"],
"production": 1,
"improvement": "Pasture",
"improvementStats": {"production": 1},
"building": "Stable"
},
{
name:"Iron",
resourceType:"Strategic",
revealedBy:"Iron Working",
terrainsCanBeFoundOn:["Grassland","Plains","Desert","Tundra","Snow","Hill"],
production:1,
improvement:"Mine",
improvementStats:{production:1},
building:"Forge"
"name": "Iron",
"resourceType": "Strategic",
"revealedBy": "Iron Working",
"terrainsCanBeFoundOn": ["Grassland","Plains","Desert","Tundra","Snow","Hill"],
"production": 1,
"improvement": "Mine",
"improvementStats": {"production": 1},
"building": "Forge"
},
{
name:"Coal",
resourceType:"Strategic",
revealedBy:"Industrialization",
terrainsCanBeFoundOn:["Grassland","Plains","Hill"],
production:1,
improvement:"Mine",
improvementStats:{production:2}
"name": "Coal",
"resourceType": "Strategic",
"revealedBy": "Industrialization",
"terrainsCanBeFoundOn": ["Grassland","Plains","Hill"],
"production": 1,
"improvement": "Mine",
"improvementStats": {"production": 2}
},
{
name:"Oil",
resourceType:"Strategic",
revealedBy:"Biology",
terrainsCanBeFoundOn:["Desert","Coast","Tundra","Snow","Marsh","Jungle"],
production:1,
improvement:"Oil well",
improvementStats:{production:3}
"name": "Oil",
"resourceType": "Strategic",
"revealedBy": "Biology",
"terrainsCanBeFoundOn": ["Desert","Coast","Tundra","Snow","Marsh","Jungle"],
"production": 1,
"improvement": "Oil well",
"improvementStats": {"production": 3}
},
{
name:"Aluminum",
resourceType:"Strategic",
revealedBy:"Electricity",
terrainsCanBeFoundOn:["Plains","Desert","Tundra","Hill"],
production:1,
improvement:"Mine",
improvementStats:{production:2}
"name": "Aluminum",
"resourceType": "Strategic",
"revealedBy": "Electricity",
"terrainsCanBeFoundOn": ["Plains","Desert","Tundra","Hill"],
"production": 1,
"improvement": "Mine",
"improvementStats": {"production": 2}
},
{
name:"Uranium",
resourceType:"Strategic",
revealedBy:"Atomic Theory",
terrainsCanBeFoundOn:["Plains","Desert","Tundra","Hill","Snow","Forest","Desert","Marsh","Grassland"],
production:1,
improvement:"Mine",
improvementStats:{production:2}
"name": "Uranium",
"resourceType": "Strategic",
"revealedBy": "Atomic Theory",
"terrainsCanBeFoundOn": ["Plains","Desert","Tundra","Hill","Snow","Forest","Desert","Marsh","Grassland"],
"production": 1,
"improvement": "Mine",
"improvementStats": {"production": 2}
},
// Luxury resources
{
name:"Furs",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Forest","Tundra"],
gold:2,
improvement:"Camp",
improvementStats:{gold:1}
"name": "Furs",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Forest","Tundra"],
"gold": 2,
"improvement": "Camp",
"improvementStats": {"gold": 1}
},
{
name:"Cotton",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Grassland","Plains","Desert"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1}
"name": "Cotton",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Grassland","Plains","Desert"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1}
},
{
name:"Dyes",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Jungle","Forest"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1}
"name": "Dyes",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Jungle","Forest"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1}
},
{
name:"Gems",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Jungle","Grassland","Plains","Desert","Tundra","Hill"],
gold:3,
improvement:"Mine",
improvementStats:{gold:1}
"name": "Gems",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Jungle","Grassland","Plains","Desert","Tundra","Hill"],
"gold": 3,
"improvement": "Mine",
"improvementStats": {"gold": 1}
},
{
name:"Gold",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Grassland","Plains","Desert","Hill"],
gold:2,
improvement:"Mine",
improvementStats:{gold:1},
building:"Mint"
"name": "Gold",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Grassland","Plains","Desert","Hill"],
"gold": 2,
"improvement": "Mine",
"improvementStats": {"gold": 1},
"building": "Mint"
},
{
name:"Silver",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Desert","Tundra","Hill"],
gold:2,
improvement:"Mine",
improvementStats:{gold:1},
building:"Mint"
"name": "Silver",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Desert","Tundra","Hill"],
"gold": 2,
"improvement": "Mine",
"improvementStats": {"gold": 1},
"building": "Mint"
},
{
name:"Incense",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Plains","Desert"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1},
building:"Monastery"
"name": "Incense",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Plains","Desert"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1},
"building": "Monastery"
},
{
name:"Ivory",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Plains"],
gold:2,
improvement:"Camp",
improvementStats:{gold:1}
"name": "Ivory",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Plains"],
"gold": 2,
"improvement": "Camp",
"improvementStats": {"gold": 1}
},
{
name:"Silk",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Forest"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1}
"name": "Silk",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Forest"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1}
},
{
name:"Spices",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Jungle","Forest"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1}
"name": "Spices",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Jungle","Forest"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1}
},
{
name:"Wine",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Grassland","Plains"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1},
building:"Monastery"
"name": "Wine",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Grassland","Plains"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1},
"building": "Monastery"
},
{
name:"Sugar",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Plains","Flood plains","Grassland","Marsh"],
gold:2,
improvement:"Plantation",
improvementStats:{gold:1}
"name": "Sugar",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Plains","Flood plains","Grassland","Marsh"],
"gold": 2,
"improvement": "Plantation",
"improvementStats": {"gold": 1}
},
{
name:"Marble",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Desert","Plains","Tundra","Hill","Grassland"],
gold:2,
improvement:"Quarry",
improvementStats:{gold:1,production:1},
building:"Stone Works"
"name": "Marble",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Desert","Plains","Tundra","Hill","Grassland"],
"gold": 2,
"improvement": "Quarry",
"improvementStats": {"gold": 1,"production": 1},
"building": "Stone Works"
},
{
name:"Whales",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Coast"],
food:1,
gold:1,
improvement:"Fishing Boats",
improvementStats:{food:1}
"name": "Whales",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Coast"],
"food": 1,
"gold": 1,
"improvement": "Fishing Boats",
"improvementStats": {"food": 1}
},
{
name:"Pearls",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Coast"],
gold:2,
improvement:"Fishing Boats",
improvementStats:{food:1}
"name": "Pearls",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Coast"],
"gold": 2,
"improvement": "Fishing Boats",
"improvementStats": {"food": 1}
}
/*
{
name:"Citrus",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Plains","Grassland"],
food:1,
gold:1,
improvement:"Plantation",
improvementStats:{food:1,gold:1},
building:"Granary"
"name": "Citrus",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Plains","Grassland"],
"food": 1,
"gold": 1,
"improvement": "Plantation",
"improvementStats": {"food": 1,"gold": 1},
"building": "Granary"
},
{
name:"Copper",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Plains","Grassland","Desert","Tundra","Snow"],
gold:2,
improvement:"Mine",
improvementStats:{gold:2}
"name": "Copper",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Plains","Grassland","Desert","Tundra","Snow"],
"gold": 2,
"improvement": "Mine",
"improvementStats": {"gold": 2}
},
{
name:"Cocoa",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Jungle"],
food:1,
gold:1,
improvement:"Plantation",
improvementStats:{food:1,gold:1}
"name": "Cocoa",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Jungle"],
"food": 1,
"gold": 1,
"improvement": "Plantation",
"improvementStats": {"food": 1,"gold": 1}
},
{
name:"Crab",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Coast"],
food:1,
gold:1,
improvement:"Fishing Boats",
improvementStats:{food:1,gold:1},
"name": "Crab",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Coast"],
"food": 1,
"gold": 1,
"improvement": "Fishing Boats",
"improvementStats": {"food": 1,"gold": 1},
},
{
name:"Truffles",
resourceType:"Luxury",
terrainsCanBeFoundOn:["Forest","Marsh","Jungle"],
gold:2,
improvement:"Camp",
improvementStats:{gold:2}
"name": "Truffles",
"resourceType": "Luxury",
"terrainsCanBeFoundOn": ["Forest","Marsh","Jungle"],
"gold": 2,
"improvement": "Camp",
"improvementStats": {"gold": 2}
},
*/
]

View File

@ -1,416 +1,417 @@
[
{
name:"Heal Instantly",
effect:"Heal this Unit by 50 HP; Doing so will consume this opportunity to choose a Promotion",
unitTypes:["Melee","Mounted","Scout","Siege","Ranged","Armor","WaterMelee","WaterRanged","WaterSubmarine"]
}
"name": "Heal Instantly",
"effect": "Heal this Unit by 50 HP; Doing so will consume this opportunity to choose a Promotion",
"unitTypes": ["Melee","Mounted","Scout","Siege","Ranged","Armor","WaterMelee","WaterRanged","WaterSubmarine"]
},
// Ranged+Siege
{
name:"Accuracy I",
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Accuracy I",
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Accuracy II",
prerequisites:["Accuracy I"],
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Accuracy II",
"prerequisites": ["Accuracy I"],
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Accuracy III",
prerequisites:["Accuracy II"],
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Accuracy III",
"prerequisites": ["Accuracy II"],
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Barrage I",
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Barrage I",
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Barrage II",
prerequisites:["Barrage I"],
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Barrage II",
"prerequisites": ["Barrage I"],
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Barrage III",
prerequisites:["Barrage II"],
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Siege","Ranged"]
}
"name": "Barrage III",
"prerequisites": ["Barrage II"],
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Siege","Ranged"]
},
{
name:"Volley",
prerequisites:["Accuracy I","Barrage I"],
effect:"Bonus vs City 50%",
unitTypes:["Ranged","Siege"]
}
"name": "Volley",
"prerequisites": ["Accuracy I","Barrage I"],
"effect": "Bonus vs City 50%",
"unitTypes": ["Ranged","Siege"]
},
{
name:"Extended Range",
prerequisites:["Accuracy III","Barrage III","Targeting II","Bombardment II", "Wolfpack II"],
effect:"+1 Range",
unitTypes:["Ranged","Siege","WaterRanged","WaterSubmarine"]
}
"name": "Extended Range",
"prerequisites": ["Accuracy III","Barrage III","Targeting II","Bombardment II", "Wolfpack II"],
"effect": "+1 Range",
"unitTypes": ["Ranged","Siege","WaterRanged","WaterSubmarine"]
},
{
name:"Indirect Fire",
prerequisites:["Accuracy III","Barrage III"],
effect:"Ranged attacks may be performed over obstacles",
unitTypes:["Ranged","Siege"]
}
"name": "Indirect Fire",
"prerequisites": ["Accuracy III","Barrage III"],
"effect": "Ranged attacks may be performed over obstacles",
"unitTypes": ["Ranged","Siege"]
},
// Melee, Mounted+Armor
{
name:"Shock I",
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Shock I",
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
name:"Shock II",
prerequisites:["Shock I"],
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Shock II",
"prerequisites": ["Shock I"],
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
name:"Shock III",
prerequisites:["Shock II"],
effect:"Bonus vs units in open terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Shock III",
"prerequisites": ["Shock II"],
"effect": "Bonus vs units in open terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
"name": "Drill I",
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
"name": "Drill II",
"prerequisites": ["Drill I"],
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
"name": "Drill III",
"prerequisites": ["Drill II"],
"effect": "Bonus vs units in rough terrain 15%",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
"name": "Charge",
"prerequisites": ["Shock II","Drill II"],
"effect": "Bonus vs wounded units 33%",
"unitTypes": ["Mounted","Armor"]
},
{
"name": "Siege",
"prerequisites": ["Shock II","Drill II"],
"effect": "Bonus vs City 50%",
"unitTypes": ["Melee"]
},
{
"name": "Formation I",
"prerequisites": ["Shock II","Drill II"],
"effect": "Bonus vs Mounted 33%",
"unitTypes": ["Melee","Mounted"]
},
{
"name": "Formation II",
"prerequisites": ["Formation I"],
"effect": "Bonus vs Mounted 33%",
"unitTypes": ["Melee","Mounted"]
},
{
name:"Drill I",
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Blitz",
"prerequisites": ["Shock III","Drill III"],
"effect": "1 additional attack per turn",
"unitTypes": ["Melee","Mounted","Armor"]
},
{
name:"Drill II",
prerequisites:["Drill I"],
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Woodsman",
"prerequisites": ["Shock III","Drill III"],
"effect": "Double movement rate through Forest and Jungle",
"unitTypes": ["Melee"]
},
{
name:"Drill III",
prerequisites:["Drill II"],
effect:"Bonus vs units in rough terrain 15%",
unitTypes:["Melee","Mounted","Armor"]
}
"name": "Medic",
"prerequisites": ["Shock I", "Drill I", "Scouting II"],
"effect": "This unit and all others in adjacent tiles heal 5 additional HP per turn",
"unitTypes": ["Melee","Mounted","Scout"]
},
{
name:"Charge",
prerequisites:["Shock II","Drill II"],
effect:"Bonus vs wounded units 33%",
unitTypes:["Mounted","Armor"]
}
{
name:"Siege",
prerequisites:["Shock II","Drill II"],
effect:"Bonus vs City 50%",
unitTypes:["Melee"]
}
{
name:"Formation I",
prerequisites:["Shock II","Drill II"],
effect:"Bonus vs Mounted 33%",
unitTypes:["Melee","Mounted"]
}
{
name:"Formation II",
prerequisites:["Formation I"],
effect:"Bonus vs Mounted 33%",
unitTypes:["Melee","Mounted"]
}
{
name:"Blitz",
prerequisites:["Shock III","Drill III"],
effect:"1 additional attack per turn",
unitTypes:["Melee","Mounted","Armor"]
}
{
name:"Woodsman",
prerequisites:["Shock III","Drill III"],
effect:"Double movement rate through Forest and Jungle",
unitTypes:["Melee"]
}
{
name:"Medic",
prerequisites:["Shock I", "Drill I", "Scouting II"],
effect:"This unit and all others in adjacent tiles heal 5 additional HP per turn",
unitTypes:["Melee","Mounted","Scout"]
}
{
name:"Medic II",
prerequisites:["Medic"],
effect:"This unit and all others in adjacent tiles heal 5 additional HP. This unit heals 5 additional HP outside of friendly territory.",
unitTypes:["Melee","Mounted","Scout"]
}
"name": "Medic II",
"prerequisites": ["Medic"],
"effect": "This unit and all others in adjacent tiles heal 5 additional HP. This unit heals 5 additional HP outside of friendly territory.",
"unitTypes": ["Melee","Mounted","Scout"]
},
// Scout
{
name:"Scouting I",
effect:"+1 Visibility Range",
unitTypes:["Scout"]
}
"name": "Scouting I",
"effect": "+1 Visibility Range",
"unitTypes": ["Scout"]
},
{
name:"Scouting II",
prerequisites:["Scouting I"],
effect:"+1 Movement",
unitTypes:["Scout"]
}
"name": "Scouting II",
"prerequisites": ["Scouting I"],
"effect": "+1 Movement",
"unitTypes": ["Scout"]
},
{
name:"Scouting III",
prerequisites:["Scouting II"],
effect:"+1 Visibility Range",
unitTypes:["Scout"]
}
"name": "Scouting III",
"prerequisites": ["Scouting II"],
"effect": "+1 Visibility Range",
"unitTypes": ["Scout"]
},
// Water melee
{
name:"Boarding Party I",
effect:"Bonus vs water units 15%",
unitTypes:["WaterMelee"]
}
"name": "Boarding Party I",
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterMelee"]
},
{
name:"Boarding Party II",
prerequisites:["Boarding Party I"],
effect:"Bonus vs water units 15%",
unitTypes:["WaterMelee"]
}
"name": "Boarding Party II",
"prerequisites": ["Boarding Party I"],
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterMelee"]
},
{
name:"Boarding Party III",
prerequisites:["Boarding Party II"],
effect:"Bonus vs water units 15%",
unitTypes:["WaterMelee"]
}
"name": "Boarding Party III",
"prerequisites": ["Boarding Party II"],
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterMelee"]
},
{
name:"Coastal Raider I",
effect:"Bonus vs City 15%",
unitTypes:["WaterMelee"]
}
"name": "Coastal Raider I",
"effect": "Bonus vs City 15%",
"unitTypes": ["WaterMelee"]
},
{
name:"Coastal Raider II",
prerequisites:["Coastal Raider I"],
effect:"Bonus vs City 15%",
unitTypes:["WaterMelee"]
}
"name": "Coastal Raider II",
"prerequisites": ["Coastal Raider I"],
"effect": "Bonus vs City 15%",
"unitTypes": ["WaterMelee"]
},
{
name:"Coastal Raider III",
prerequisites:["Coastal Raider II"],
effect:"Bonus vs City 15%",
unitTypes:["WaterMelee"]
}
"name": "Coastal Raider III",
"prerequisites": ["Coastal Raider II"],
"effect": "Bonus vs City 15%",
"unitTypes": ["WaterMelee"]
},
// Submarine
{
name:"Wolfpack I",
effect:"Bonus as Attacker [25]%",
unitTypes:["WaterSubmarine"]
}
"name": "Wolfpack I",
"effect": "Bonus as Attacker [25]%",
"unitTypes": ["WaterSubmarine"]
},
{
name:"Wolfpack II",
prerequisites:["Wolfpack I"],
effect:"Bonus as Attacker [25]%",
unitTypes:["WaterSubmarine"]
}
"name": "Wolfpack II",
"prerequisites": ["Wolfpack I"],
"effect": "Bonus as Attacker [25]%",
"unitTypes": ["WaterSubmarine"]
},
{
name:"Wolfpack III",
prerequisites:["Wolfpack II"],
effect:"Bonus as Attacker [25]%",
unitTypes:["WaterSubmarine"]
}
"name": "Wolfpack III",
"prerequisites": ["Wolfpack II"],
"effect": "Bonus as Attacker [25]%",
"unitTypes": ["WaterSubmarine"]
},
// Bomber
{
name:"Siege I",
effect:"Bonus vs City 33%",
unitTypes:["Bomber"]
}
"name": "Siege I",
"effect": "Bonus vs City 33%",
"unitTypes": ["Bomber"]
},
{
name:"Siege II",
prerequisites:["Siege I"],
effect:"Bonus vs City 33%",
unitTypes:["Bomber"]
}
"name": "Siege II",
"prerequisites": ["Siege I"],
"effect": "Bonus vs City 33%",
"unitTypes": ["Bomber"]
},
{
name:"Siege III",
prerequisites:["Siege II"],
effect:"Bonus vs City 34%",
unitTypes:["Bomber"]
}
"name": "Siege III",
"prerequisites": ["Siege II"],
"effect": "Bonus vs City 34%",
"unitTypes": ["Bomber"]
},
{
name:"Evasion",
prerequisites:["Siege II", "Bombardment II"]
effect:"Reduces damage taken from interception by 50%",
unitTypes:["Bomber"]
}
"name": "Evasion",
"prerequisites": ["Siege II", "Bombardment II"],
"effect": "Reduces damage taken from interception by 50%",
"unitTypes": ["Bomber"]
},
// Fighter
{
name:"Interception I",
effect:"Bonus when intercepting [33]%",
unitTypes:["Fighter"]
}
"name": "Interception I",
"effect": "Bonus when intercepting [33]%",
"unitTypes": ["Fighter"]
},
{
name:"Interception II",
prerequisites:["Interception I"],
effect:"Bonus when intercepting [33]%",
unitTypes:["Fighter"]
}
"name": "Interception II",
"prerequisites": ["Interception I"],
"effect": "Bonus when intercepting [33]%",
"unitTypes": ["Fighter"]
},
{
name:"Interception III",
prerequisites:["Interception II"],
effect:"Bonus when intercepting [34]%",
unitTypes:["Fighter"]
}
"name": "Interception III",
"prerequisites": ["Interception II"],
"effect": "Bonus when intercepting [34]%",
"unitTypes": ["Fighter"]
},
/*
{
name:"Dogfighting I",
effect:"Bonus when performing air sweep [33]%", // todo
unitTypes:["Fighter"]
}
"name": "Dogfighting I",
"effect": "Bonus when performing air sweep [33]%", // todo
"unitTypes": ["Fighter"]
},
{
name:"Dogfighting II",
prerequisites:["Dogfighting I"],
effect:"Bonus when performing air sweep [33]%",
unitTypes:["Fighter"]
}
"name": "Dogfighting II",
"prerequisites": ["Dogfighting I"],
"effect": "Bonus when performing air sweep [33]%",
"unitTypes": ["Fighter"]
},
{
name:"Dogfighting III",
prerequisites:["Dogfighting II"],
effect:"Bonus when performing air sweep [34]%",
unitTypes:["Fighter"]
"name": "Dogfighting III",
"prerequisites": ["Dogfighting II"],
"effect": "Bonus when performing air sweep [34]%",
"unitTypes": ["Fighter"]
}
*/
{
name:"Sortie",
prerequisites:["Interception II", "Dogfighting II"]
effect:"1 extra Interception may be made per turn",
unitTypes:["Fighter"]
}
"name": "Sortie",
"prerequisites": ["Interception II", "Dogfighting II"]
"effect": "1 extra Interception may be made per turn",
"unitTypes": ["Fighter"]
},
{
name:"Operational Range",
prerequisites:["Interception I", /*"Dogfighting I",*/ "Siege I", "Bombardment I"],
effect:"+2 Range",
unitTypes:["Fighter","Bomber"]
}
"name": "Operational Range",
"prerequisites": ["Interception I", /*"Dogfighting I",*/ "Siege I", "Bombardment I"],
"effect": "+2 Range",
"unitTypes": ["Fighter","Bomber"]
},
{
name:"Air Repair",
prerequisites:["Interception II", /*"Dogfighting II",*/ "Siege II", "Bombardment II"],
effect:"Unit will heal every turn, even if it performs an action",
unitTypes:["Fighter","Bomber"]
}
"name": "Air Repair",
"prerequisites": ["Interception II", /*"Dogfighting II",*/ "Siege II", "Bombardment II"],
"effect": "Unit will heal every turn, even if it performs an action",
"unitTypes": ["Fighter","Bomber"]
},
// Mixed
{
name:"Cover I",
effect:"+25% Defence against ranged attacks",
unitTypes:["Melee","Ranged","Siege"]
}
"name": "Cover I",
"effect": "+25% Defence against ranged attacks",
"unitTypes": ["Melee","Ranged","Siege"]
},
{
name:"Cover II",
prerequisites:["Cover I"],
effect:"+25% Defence against ranged attacks",
unitTypes:["Melee","Ranged","Siege"]
}
"name": "Cover II",
"prerequisites": ["Cover I"],
"effect": "+25% Defence against ranged attacks",
"unitTypes": ["Melee","Ranged","Siege"]
},
{
name:"March",
prerequisites:["Accuracy II","Barrage II","Shock III","Drill III"],
effect:"Unit will heal every turn, even if it performs an action",
unitTypes:["Melee","Ranged","Siege","Mounted"]
}
"name": "March",
"prerequisites": ["Accuracy II","Barrage II","Shock III","Drill III"],
"effect": "Unit will heal every turn, even if it performs an action",
"unitTypes": ["Melee","Ranged","Siege","Mounted"]
},
{
name:"Mobility",
prerequisites:["Shock II","Drill II","Targeting I",
"name": "Mobility",
"prerequisites": ["Shock II","Drill II","Targeting I",
"Bombardment I","Boarding Party I", "Coastal Raider I", "Wolfpack I"],
effect:"+1 Movement",
unitTypes:["Mounted","WaterMelee","WaterRanged","Armor","WaterSubmarine"]
}
"effect": "+1 Movement",
"unitTypes": ["Mounted","WaterMelee","WaterRanged","Armor","WaterSubmarine"]
},
{
name:"Sentry",
prerequisites:["Accuracy I","Barrage I","Shock II","Drill II","Bombardment I","Targeting I","Boarding Party I","Coastal Raider I"],
effect:"+1 Visibility Range",
unitTypes:["Melee","Mounted","WaterRanged","Armor","WaterMelee"]
}
"name": "Sentry",
"prerequisites": ["Accuracy I","Barrage I","Shock II","Drill II","Bombardment I","Targeting I","Boarding Party I","Coastal Raider I"],
"effect": "+1 Visibility Range",
"unitTypes": ["Melee","Mounted","WaterRanged","Armor","WaterMelee"]
},
{
name:"Logistics",
prerequisites:["Accuracy III","Barrage III","Targeting III", "Wolfpack III",
"name": "Logistics",
"prerequisites": ["Accuracy III","Barrage III","Targeting III", "Wolfpack III",
"Bombardment III", "Coastal Raider III","Boarding Party III","Siege III"],
effect:"1 additional attack per turn",
unitTypes:["Ranged","Siege","WaterMelee","WaterRanged","WaterSubmarine","Fighter","Bomber"]
}
"effect": "1 additional attack per turn",
"unitTypes": ["Ranged","Siege","WaterMelee","WaterRanged","WaterSubmarine","Fighter","Bomber"]
},
{
name:"Ambush I",
effect:"Bonus vs Armor 25%",
unitTypes:["Melee","Fighter","Bomber"]
}
"name": "Ambush I",
"effect": "Bonus vs Armor 25%",
"unitTypes": ["Melee","Fighter","Bomber"]
},
{
name:"Ambush II",
prerequisites:["Ambush I"],
effect:"Bonus vs Armor 25%",
unitTypes:["Melee","Fighter","Bomber"]
}
"name": "Ambush II",
"prerequisites": ["Ambush I"],
"effect": "Bonus vs Armor 25%",
"unitTypes": ["Melee","Fighter","Bomber"]
},
// Water ranged and air units
{
name:"Bombardment I",
effect:"Bonus vs land units 33%",
unitTypes:["WaterRanged","Fighter","Bomber"]
}
"name": "Bombardment I",
"effect": "Bonus vs land units 33%",
"unitTypes": ["WaterRanged","Fighter","Bomber"]
},
{
name:"Bombardment II",
prerequisites:["Bombardment I"],
effect:"Bonus vs land units 33%",
unitTypes:["WaterRanged","Fighter","Bomber"]
}
"name": "Bombardment II",
"prerequisites": ["Bombardment I"],
"effect": "Bonus vs land units 33%",
"unitTypes": ["WaterRanged","Fighter","Bomber"]
},
{
name:"Bombardment III",
prerequisites:["Bombardment II"],
effect:"Bonus vs land units 34%",
unitTypes:["WaterRanged","Fighter","Bomber"]
}
"name": "Bombardment III",
"prerequisites": ["Bombardment II"],
"effect": "Bonus vs land units 34%",
"unitTypes": ["WaterRanged","Fighter","Bomber"]
},
// Targeting I has different requirements for air and waterranged units, this was the cleanest way to do so
{
name:"Targeting I",
effect:"Bonus vs water units 15%",
unitTypes:["WaterRanged"]
}
"name": "Targeting I",
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterRanged"]
},
{
name:"Targeting I (air)",
prerequisites:["Interception I","Dogfighting I", "Siege I","Bombardment I"]
effect:"Bonus vs water units 15%",
unitTypes:["Fighter","Bomber"]
}
"name": "Targeting I (air)",
"prerequisites": ["Interception I","Dogfighting I", "Siege I","Bombardment I"]
"effect": "Bonus vs water units 15%",
"unitTypes": ["Fighter","Bomber"]
},
{
name:"Targeting II",
prerequisites:["Targeting I","Targeting I (air)"],
effect:"Bonus vs water units 15%",
unitTypes:["WaterRanged","Fighter","Bomber"]
}
"name": "Targeting II",
"prerequisites": ["Targeting I","Targeting I (air)"],
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterRanged","Fighter","Bomber"]
},
{
name:"Targeting III",
prerequisites:["Targeting II"],
effect:"Bonus vs water units 15%",
unitTypes:["WaterRanged"]
}
"name": "Targeting III",
"prerequisites": ["Targeting II"],
"effect": "Bonus vs water units 15%",
"unitTypes": ["WaterRanged"]
},
// Uniques
{
name:"Haka War Dance", // only for Maori Warrior and subsequent upgrades
effect:"-10% combat strength for adjacent enemy units"
}
"name": "Haka War Dance", // only for Maori Warrior and subsequent upgrades
"effect": "-10% combat strength for adjacent enemy units"
},
{
name:"Rejuvenation", // only for Units that have been close to Natural Wonder Fountain of Youth
effect:"All healing effects doubled"
"name": "Rejuvenation", // only for Units that have been close to Natural Wonder Fountain of Youth
"effect": "All healing effects doubled"
}
]

File diff suppressed because it is too large Load Diff

View File

@ -17,14 +17,14 @@ import java.util.*
@RunWith(GdxTestRunner::class)
class TranslationTests {
private var translations = Translations()
private var ruleSet = Ruleset()
private var ruleset = Ruleset()
private val jsonParser = JsonParser()
@Before
fun loadTranslations() {
translations.readAllLanguagesTranslation()
RulesetCache.loadRulesets()
ruleSet = RulesetCache.getBaseRuleset()
ruleset = RulesetCache.getBaseRuleset()
}
@Test
@ -35,7 +35,7 @@ class TranslationTests {
@Test
fun allUnitsHaveTranslation() {
val allUnitsHaveTranslation = allStringAreTranslated(ruleSet.units.keys)
val allUnitsHaveTranslation = allStringAreTranslated(ruleset.units.keys)
Assert.assertTrue("This test will only pass when there is a translation for all units",
allUnitsHaveTranslation)
}
@ -43,17 +43,18 @@ class TranslationTests {
@Test
fun allUnitUniquesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (unit in ruleSet.units.values) for (unique in unit.uniques) if (!unique.startsWith("Bonus")
for (unit in ruleset.units.values) for (unique in unit.uniques) if (!unique.startsWith("Bonus")
&& !unique.startsWith("Penalty")
&& !unique.contains("[")) // templates
strings.add(unique)
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue(allStringsHaveTranslation)
Assert.assertTrue("This test will only pass when there is a translation for all units uniques",
allStringsHaveTranslation)
}
@Test
fun allBuildingsHaveTranslation() {
val allBuildingsHaveTranslation = allStringAreTranslated(ruleSet.buildings.keys)
val allBuildingsHaveTranslation = allStringAreTranslated(ruleset.buildings.keys)
Assert.assertTrue("This test will only pass when there is a translation for all buildings",
allBuildingsHaveTranslation)
}
@ -61,27 +62,29 @@ class TranslationTests {
@Test
fun allBuildingUniquesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (building in ruleSet.buildings.values) {
for (building in ruleset.buildings.values) {
strings.addAll(building.uniques)
}
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue(allStringsHaveTranslation)
Assert.assertTrue("This test will only pass when there is a translation for all building uniques",
allStringsHaveTranslation)
}
@Test
fun allBuildingQuotesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (building in ruleSet.buildings.values) {
for (building in ruleset.buildings.values) {
if (building.quote == "") continue
strings.add(building.quote)
}
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue(allStringsHaveTranslation)
Assert.assertTrue("This test will only pass when there is a translation for all building quotes",
allStringsHaveTranslation)
}
@Test
fun allTerrainsHaveTranslation() {
val strings: Set<String> = ruleSet.terrains.keys
val strings: Set<String> = ruleset.terrains.keys
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all buildings",
allStringsHaveTranslation)
@ -90,16 +93,17 @@ class TranslationTests {
@Test
fun allTerrainUniquesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (terrain in ruleSet.terrains.values) {
for (terrain in ruleset.terrains.values) {
strings.addAll(terrain.uniques)
}
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all terrain uniques", allStringsHaveTranslation)
Assert.assertTrue("This test will only pass when there is a translation for all terrain uniques",
allStringsHaveTranslation)
}
@Test
fun allImprovementsHaveTranslation() {
val strings: Set<String> = ruleSet.tileImprovements.keys
val strings: Set<String> = ruleset.tileImprovements.keys
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all improvements",
allStringsHaveTranslation)
@ -108,16 +112,17 @@ class TranslationTests {
@Test
fun allImprovementUniquesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (improvement in ruleSet.tileImprovements.values) {
for (improvement in ruleset.tileImprovements.values) {
strings.addAll(improvement.uniques)
}
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue(allStringsHaveTranslation)
Assert.assertTrue("This test will only pass when there is a translation for all improvements uniques",
allStringsHaveTranslation)
}
@Test
fun allTechnologiesHaveTranslation() {
val strings: Set<String> = ruleSet.technologies.keys
val strings: Set<String> = ruleset.technologies.keys
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all technologies",
allStringsHaveTranslation)
@ -126,31 +131,31 @@ class TranslationTests {
@Test
fun allTechnologiesQuotesHaveTranslation() {
val strings: MutableSet<String> = HashSet()
for (tech in ruleSet.technologies.values) {
for (tech in ruleset.technologies.values) {
strings.add(tech.quote)
}
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all technologies",
Assert.assertTrue("This test will only pass when there is a translation for all technologies quotes",
allStringsHaveTranslation)
}
@Test
fun allPromotionsHaveTranslation() {
val strings: Set<String> = ruleSet.unitPromotions.keys
val strings: Set<String> = ruleset.unitPromotions.keys
val allStringsHaveTranslation = allStringAreTranslated(strings)
Assert.assertTrue("This test will only pass when there is a translation for all promotions",
allStringsHaveTranslation)
}
private fun allStringAreTranslated(strings: Set<String>): Boolean {
var allBuildingsHaveTranslation = true
for (unitName in strings) {
if (!translations.containsKey(unitName)) {
allBuildingsHaveTranslation = false
println(unitName)
var allStringsHaveTranslation = true
for (key in strings) {
if (!translations.containsKey(key)) {
allStringsHaveTranslation = false
println(key)
}
}
return allBuildingsHaveTranslation
return allStringsHaveTranslation
}
@Test