mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-22 13:49:54 +07:00
Added Medieval era units
Techs now display imformation baed on what's dependant on them Buildings uniques now in humanspeak
This commit is contained in:
@ -62,7 +62,7 @@
|
||||
baseDescription: "Adds 1 science for each 2 population in the city.",
|
||||
hurryCostModifier:25,
|
||||
maintenance:1,
|
||||
unique:"SciencePer2Pop",
|
||||
unique:"Science Per 2 Population",
|
||||
requiredTech:"Writing"
|
||||
},
|
||||
{
|
||||
@ -79,7 +79,7 @@
|
||||
culture:1,
|
||||
greatPersonPoints:{production:1},
|
||||
isWonder:true,
|
||||
unique:"WorkerConstruction",
|
||||
unique:"Worker construction increased 25%, provides 2 free workers",
|
||||
requiredTech:"Mathematics"
|
||||
},
|
||||
{
|
||||
@ -117,7 +117,7 @@
|
||||
culture:1,
|
||||
greatPersonPoints:{production:1},
|
||||
isWonder:true,
|
||||
unique:"GoldenAgeLengthIncrease",
|
||||
unique:"Golden Age length increases +50%",
|
||||
requiredTech:"Civil Service"
|
||||
},
|
||||
{
|
||||
@ -188,7 +188,7 @@
|
||||
culture:1,
|
||||
greatPersonPoints:{culture:1},
|
||||
isWonder:true,
|
||||
unique:"GreatPersonGenerationIncrease",
|
||||
unique:"+33% great person generation in all cities",
|
||||
requiredTech:"Theology"
|
||||
},
|
||||
{
|
||||
@ -207,7 +207,7 @@
|
||||
greatPersonPoints:{gold:1},
|
||||
culture:1,
|
||||
isWonder:true,
|
||||
unique:"TradeRouteGoldIncrease",
|
||||
unique:"Gold from all trade routes +25%",
|
||||
requiredTech:"Currency"
|
||||
},
|
||||
{
|
||||
@ -215,7 +215,7 @@
|
||||
baseDescription: "40% of food is carried over after a new citizen is born",
|
||||
maintenance:1,
|
||||
hurryCostModifier:25,
|
||||
unique:"FoodCarriesOver"
|
||||
unique:"40% of food is carried over after a new citizen is born"
|
||||
requiredTech:"Engineering"
|
||||
},
|
||||
{
|
||||
@ -245,7 +245,7 @@
|
||||
percentStatBonus:{science:33},
|
||||
specialistSlots:{science:2},
|
||||
requiredBuilding:"Library",
|
||||
unique:"JunglesProvideScience",
|
||||
unique:"Jungles provide +2 science",
|
||||
requiredTech:"Education"
|
||||
},
|
||||
{
|
||||
@ -261,11 +261,11 @@
|
||||
},
|
||||
{
|
||||
name:"Angkor Wat",
|
||||
baseDescription: "Cost of aquiring new tiles reduced by 25%",
|
||||
baseDescription: "Cost of acquiring new tiles reduced by 25%",
|
||||
culture:1,
|
||||
greatPersonPoints:{production:1},
|
||||
isWonder:true,
|
||||
unique:"NewTileCostReduction",
|
||||
unique:"Cost of acquiring new tiles reduced by 25%",
|
||||
requiredTech:"Chivalry"
|
||||
},
|
||||
{
|
||||
@ -310,7 +310,7 @@
|
||||
baseDescription: "Culture in all cities increased by 25%",
|
||||
culture:1,
|
||||
isWonder:true,
|
||||
unique:"CultureIncrease",
|
||||
unique:"Culture in all cities increased by 25%",
|
||||
requiredTech:"Acoustics"
|
||||
},
|
||||
{
|
||||
@ -328,7 +328,7 @@
|
||||
baseDescription: "Unhappiness from population decreased by 10%",
|
||||
culture:1,
|
||||
isWonder:true,
|
||||
unique:"CitizenUnhappinessDecreased",
|
||||
unique:"Unhappiness from population decreased by 10%",
|
||||
requiredTech:"Banking"
|
||||
},
|
||||
{
|
||||
@ -346,7 +346,7 @@
|
||||
culture:1,
|
||||
happiness:4,
|
||||
isWonder:true,
|
||||
unique:"EmpireEntersGoldenAge",
|
||||
unique:"Empire enters golden age",
|
||||
requiredTech:"Acoustics"
|
||||
},
|
||||
{
|
||||
@ -395,7 +395,7 @@
|
||||
requiredBuilding:"University",
|
||||
maintenance:3,
|
||||
hurryCostModifier:0,
|
||||
unique:"SciencePer2Pop",
|
||||
unique:"Science Per 2 Population",
|
||||
requiredTech:"Scientific Theory"
|
||||
},
|
||||
{
|
||||
@ -434,7 +434,7 @@
|
||||
baseDescription: "Culture cost of adopting new Policies reduced by 10%",
|
||||
culture:5,
|
||||
isWonder:true,
|
||||
unique:"PolicyCostReduction",
|
||||
unique:"Culture cost of adopting new Policies reduced by 10%",
|
||||
requiredTech:"Flight"
|
||||
},
|
||||
{
|
||||
@ -452,7 +452,7 @@
|
||||
culture:1,
|
||||
happiness:5
|
||||
isWonder:true,
|
||||
unique:"HappinessPerSocialPolicy",
|
||||
unique:"Provides 1 happiness per social policy",
|
||||
requiredTech:"Radio"
|
||||
},
|
||||
{
|
||||
@ -496,14 +496,14 @@
|
||||
maintenance:3,
|
||||
cannotBeBuiltWith:"Nuclear Plant",
|
||||
requiredTech:"Ecology",
|
||||
unique:"MustBeNextToDesert"
|
||||
unique:"Must be next to desert"
|
||||
},
|
||||
{
|
||||
name:"Apollo Program",
|
||||
baseDescription: "Allows the building of spaceship parts",
|
||||
cost:1500,
|
||||
isWonder:true,
|
||||
unique:"ApolloProgram",
|
||||
unique:"Enables construction of Spaceship parts",
|
||||
requiredTech:"Rocketry"
|
||||
},
|
||||
{
|
||||
@ -523,7 +523,7 @@
|
||||
production:3,
|
||||
requiredResource:"Aluminum",
|
||||
cost:360,
|
||||
unique:"SpaceshipPartProductionBoost"
|
||||
unique:"Increases production of spaceship parts by 50%"
|
||||
requiredTech:"Robotics"
|
||||
},
|
||||
{
|
||||
@ -531,27 +531,27 @@
|
||||
baseDescription: "Spaceship part",
|
||||
requiredResource:"Aluminum",
|
||||
requiredTech:"Robotics",
|
||||
unique:"SpaceshipPart"
|
||||
unique:"Spaceship part"
|
||||
},
|
||||
{
|
||||
name:"SS Cockpit",
|
||||
baseDescription: "Spaceship part",
|
||||
requiredResource:"Aluminum",
|
||||
requiredTech:"Satellites",
|
||||
unique:"SpaceshipPart"
|
||||
unique:"Spaceship part"
|
||||
},
|
||||
{
|
||||
name:"SS Engine",
|
||||
baseDescription: "Spaceship part",
|
||||
requiredResource:"Aluminum",
|
||||
requiredTech:"Particle Physics",
|
||||
unique:"SpaceshipPart"
|
||||
unique:"Spaceship part"
|
||||
},
|
||||
{
|
||||
name:"SS Statis Chamber",
|
||||
baseDescription: "Spaceship part",
|
||||
requiredResource:"Aluminum",
|
||||
requiredTech:"Nanotechnology",
|
||||
unique:"SpaceshipPart"
|
||||
unique:"Spaceship part"
|
||||
}
|
||||
]
|
@ -8,17 +8,14 @@
|
||||
{
|
||||
name:"Pottery",
|
||||
row:2,
|
||||
description:"Allows your cities to construct a granary, which provides food."
|
||||
},
|
||||
{
|
||||
name:"Animal Husbandry",
|
||||
row:5,
|
||||
description:"Reveals horses, and allows workers to build pastures, which improve various animal resources."
|
||||
row:5
|
||||
},
|
||||
{
|
||||
name:"Mining",
|
||||
row:9,
|
||||
description:"Allows workers to build mines, which grant access to several strategic and luxury resources and increases production. Also allows workers to clear forests."
|
||||
row:9
|
||||
}
|
||||
|
||||
]
|
||||
@ -34,43 +31,37 @@
|
||||
name:"Sailing",
|
||||
row:1,
|
||||
prerequisites:["Pottery"],
|
||||
description:"Does nothing since we have no sea tiles - In theory, Allows access to sea resources by building work boats"
|
||||
baseDescription:"Does nothing since we have no sea tiles - In theory, Allows access to sea resources by building work boats"
|
||||
},*/
|
||||
{
|
||||
name:"Calendar",
|
||||
row:2,
|
||||
prerequisites:["Pottery"],
|
||||
description:"Allows your workers to build Plantations, which grant access to several luxury resources, and the Stonehenge wonder, providing culture"
|
||||
prerequisites:["Pottery"]
|
||||
},
|
||||
{
|
||||
name:"Writing",
|
||||
row:3,
|
||||
prerequisites:["Pottery"],
|
||||
description:"Allows your cities to construct libraries, which increases science produced. Also enables construction of the Great Library wonder."
|
||||
prerequisites:["Pottery"]
|
||||
},
|
||||
{
|
||||
name:"Trapping",
|
||||
row:5,
|
||||
prerequisites:["Animal Husbandry"],
|
||||
description:"Allows your workers to build Camps, increasing gold and granting access to several luxury resources. Also enables construction of Circuses, providing happiness."
|
||||
prerequisites:["Animal Husbandry"]
|
||||
},
|
||||
{
|
||||
name:"The Wheel",
|
||||
row:6,
|
||||
prerequisites:["Animal Husbandry"],
|
||||
description:"Allows construction of roads, speeding movement and providing gold from trade. ALSO WATERWHEELS-TODO"
|
||||
prerequisites:["Animal Husbandry"]
|
||||
},
|
||||
{
|
||||
name:"Masonry",
|
||||
row:9,
|
||||
prerequisites:["Mining"],
|
||||
description:"Allows workers to build quarries, granting access to stone and marble resources."
|
||||
prerequisites:["Mining"]
|
||||
},
|
||||
{
|
||||
name:"Bronze Working",
|
||||
row:10,
|
||||
prerequisites:["Mining"],
|
||||
description:"Allows workers to remove jungles and clear marshes"
|
||||
prerequisites:["Mining"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -86,25 +77,22 @@
|
||||
cost:95,
|
||||
row:1,
|
||||
prerequisites:["Sailing"],
|
||||
description:"Does nothing since we have no sea tiles - In theory, Allows construction of lighthouses, providing more food for sea tiles"
|
||||
baseDescription:"Does nothing since we have no sea tiles - In theory, Allows construction of lighthouses, providing more food for sea tiles"
|
||||
},*/
|
||||
{
|
||||
name:"Horseback Riding",
|
||||
row:5,
|
||||
prerequisites:["Trapping","The Wheel"],
|
||||
description:"Allows construction of stables, which increase production on cattle, sheep and horses, and the Circus Maximus wonder"
|
||||
prerequisites:["Trapping","The Wheel"]
|
||||
},
|
||||
{
|
||||
name:"Mathematics",
|
||||
row:7,
|
||||
prerequisites:["The Wheel"],
|
||||
description: "Enables construction of the Hanging Gardens wonder. Also enables construction of the Pyramids wonder."
|
||||
prerequisites:["The Wheel"]
|
||||
},
|
||||
{
|
||||
name:"Construction",
|
||||
row:9,
|
||||
prerequisites:["Masonry"],
|
||||
description:"Allows construction of colosseums, which generate happiness, and building lumber mills on forests, providing production"
|
||||
prerequisites:["Masonry"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -118,26 +106,23 @@
|
||||
{
|
||||
name:"Philosophy",
|
||||
row:3,
|
||||
prerequisites:["Writing","Calendar"],
|
||||
description:"Allows construction of temples, which generate culture, and the Oracle wonder"
|
||||
prerequisites:["Writing","Calendar"]
|
||||
},
|
||||
{
|
||||
name:"Currency",
|
||||
row:7,
|
||||
prerequisites:["Mathematics"],
|
||||
description:"Enables construction of Markets and Mints, which increase gold, and conversion of city production to gold. Also enables the Machu Pichu wonder."
|
||||
baseDescription:"Enables conversion of city production to gold"
|
||||
},
|
||||
{
|
||||
name:"Engineering",
|
||||
row:8,
|
||||
prerequisites:["Mathematics","Construction"],
|
||||
description:"Enables construction of aqueducts, which speed up city growth"
|
||||
prerequisites:["Mathematics","Construction"]
|
||||
},
|
||||
{
|
||||
name:"Iron Working",
|
||||
row:10,
|
||||
prerequisites:["Bronze Working"],
|
||||
description:"Reveals Iron on map"
|
||||
prerequisites:["Bronze Working"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -151,26 +136,22 @@
|
||||
{
|
||||
name:"Theology",
|
||||
row:2,
|
||||
prerequisites:["Philosophy"],
|
||||
description:"Enables construction of Monasteries, providing culture, and the Hagia Sophia, increasing Great Person generation"
|
||||
prerequisites:["Philosophy"]
|
||||
},
|
||||
{
|
||||
name:"Civil Service",
|
||||
row:4,
|
||||
prerequisites:["Horseback Riding","Philosophy"],
|
||||
description:"Enables the Chichen Itza wonder, which increases the length of golden ages, and the National College, increasing science"
|
||||
prerequisites:["Horseback Riding","Philosophy"]
|
||||
},
|
||||
{
|
||||
name:"Physics",
|
||||
row:8,
|
||||
prerequisites:["Engineering"],
|
||||
description:"Enables construction of the Porcelain Tower, increasing production to science production"
|
||||
prerequisites:["Engineering"]
|
||||
},
|
||||
{
|
||||
name:"Metal Casting",
|
||||
row:10,
|
||||
prerequisites:["Construction","Iron Working"],
|
||||
description:"Enables construction of Forges and Workshops, increasing production, and the Notre Dame wonder, providing happiness,"
|
||||
prerequisites:["Construction","Iron Working"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -186,25 +167,24 @@
|
||||
row:1,
|
||||
cost:415,
|
||||
prerequisites:["Optics"],
|
||||
description:"Does nothing since we have no sea tiles - In theory, allows construction of harbors"
|
||||
baseDescription:"Does nothing since we have no sea tiles - In theory, allows construction of harbors"
|
||||
},*/
|
||||
{
|
||||
name:"Education",
|
||||
row:3,
|
||||
prerequisites:["Theology","Civil Service"],
|
||||
description:"Allows cities to convert production to science, construction of Universities which provide science"
|
||||
baseDescription:"Allows cities to convert production to science,"
|
||||
},
|
||||
{
|
||||
name:"Chivalry",
|
||||
row:5,
|
||||
prerequisites:["Civil Service","Currency"],
|
||||
description:"Enables construction of the Angkor Wat wonder, reducing cost of aquiring new tiles, construction of Trading Posts on tiles, providing gold"
|
||||
prerequisites:["Civil Service","Currency"]
|
||||
},
|
||||
{
|
||||
name:"Machinery",
|
||||
row:8,
|
||||
prerequisites:["Physics","Metal Casting"],
|
||||
description:"Speeds movement speed on roads and allows you to construct the Ironworks wonder, which gives a massive boost in production"
|
||||
baseDescription:"Speeds movement speed on roads"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -218,26 +198,22 @@
|
||||
{
|
||||
name:"Astronomy",
|
||||
row:2,
|
||||
prerequisites:[/*"Compass",*/"Education"],
|
||||
description:"Enables construction of Observatories in cities near mountains"
|
||||
prerequisites:[/*"Compass",*/"Education"]
|
||||
},
|
||||
{
|
||||
name:"Acoustics",
|
||||
row:4,
|
||||
prerequisites:["Education","Chivalry"],
|
||||
description:"Enables construction of Opera Houses and the Sistine Chapel, providing culture"
|
||||
prerequisites:["Education","Chivalry"]
|
||||
},
|
||||
{
|
||||
name:"Banking",
|
||||
row:6,
|
||||
prerequisites:["Chivalry"],
|
||||
description:"Enables construction of banks, increasing gold, and allows construciton of the Forbidden Palace, decreasing unhappiness form population"
|
||||
prerequisites:["Chivalry"]
|
||||
},
|
||||
{
|
||||
name:"Printing Press",
|
||||
row:8,
|
||||
prerequisites:["Machinery","Physics"],
|
||||
description:"Enables construction of the Theatre and Taj Mahal, increasing happiness"
|
||||
prerequisites:["Machinery","Physics"]
|
||||
},
|
||||
]
|
||||
},
|
||||
@ -252,25 +228,22 @@
|
||||
name:"Navigation",
|
||||
row:2,
|
||||
prerequisites:["Astronomy"],
|
||||
description:"Does nothing since we have no sea tiles - In theory, allows construction of Frigates and Seaports"
|
||||
baseDescription:"Does nothing since we have no sea tiles - In theory, allows construction of Frigates and Seaports"
|
||||
},*/
|
||||
{
|
||||
name:"Archaeology",
|
||||
row:2,
|
||||
prerequisites:["Astronomy"],
|
||||
description:"Allows construction of Museums and the Hermitage and Louvre wonders, providing culture"
|
||||
prerequisites:["Astronomy"]
|
||||
},
|
||||
{
|
||||
name:"Economics",
|
||||
row:6,
|
||||
prerequisites:["Banking","Printing Press"],
|
||||
description:"Camps and Trading Posts provide +1 gold, allows construction of Windmill and Big Ben"
|
||||
prerequisites:["Banking","Printing Press"]
|
||||
},
|
||||
{
|
||||
name:"Chemistry",
|
||||
row:9,
|
||||
prerequisites:["Machinery"],
|
||||
description:"Mines and Quarries provide +1 production"
|
||||
prerequisites:["Machinery"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -284,14 +257,12 @@
|
||||
{
|
||||
name:"Scientific Theory",
|
||||
row:4,
|
||||
prerequisites:["Archaeology","Acoustics","Economics"],
|
||||
description:"Reveals coal and allows construction of Public Schools, providing science. Also improves science from Academy."
|
||||
prerequisites:["Archaeology","Acoustics","Economics"]
|
||||
},
|
||||
{
|
||||
name:"Fertilizer",
|
||||
row:7,
|
||||
prerequisites:["Chemistry"],
|
||||
description:"+1 food from Farms, Plantations and Pastures"
|
||||
prerequisites:["Chemistry"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -305,20 +276,17 @@
|
||||
{
|
||||
name:"Biology",
|
||||
row:3,
|
||||
prerequisites:["Archaeology","Scientific Theory","Fertilizer"],
|
||||
description:"Reveals oil and allows construction of oil wells, and construction of hospitals, providing a large amount of food"
|
||||
prerequisites:["Archaeology","Scientific Theory","Fertilizer"]
|
||||
},
|
||||
{
|
||||
name:"Electricity",
|
||||
row:5,
|
||||
prerequisites:["Scientific Theory"],
|
||||
description:"Reveals Aluminium on map and allows construction of stock exchange, increasing gold"
|
||||
prerequisites:["Scientific Theory"]
|
||||
},
|
||||
{
|
||||
name:"Steam Power",
|
||||
row:7,
|
||||
prerequisites:["Scientific Theory","Chemistry"],
|
||||
description:"Enables construction of factories, boosting production, and increases produciton of lumber mills, "
|
||||
prerequisites:["Scientific Theory","Chemistry"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -333,19 +301,17 @@
|
||||
name:"Refrigeration",
|
||||
row:4,
|
||||
prerequisites:["Electricity"],
|
||||
description:"Does nothing since we have no sea tiles - In theory, allows construction of offshore platforms and submarines"
|
||||
baseDescription:"Does nothing since we have no sea tiles - In theory, allows construction of offshore platforms and submarines"
|
||||
},*/
|
||||
{
|
||||
name:"Radio",
|
||||
row:5,
|
||||
prerequisites:["Electricity"],
|
||||
description:"Allows construction of broadcast towers and the Eiffel Tower, increasing culture"
|
||||
prerequisites:["Electricity"]
|
||||
},
|
||||
{
|
||||
name:"Combustion",
|
||||
row:8,
|
||||
prerequisites:["Steam Power"],
|
||||
description:"Allows construction of railroads, providing fast transport and a 25% production boost to cities"
|
||||
prerequisites:["Steam Power"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -359,26 +325,23 @@
|
||||
{
|
||||
name:"Plastics",
|
||||
row:3,
|
||||
prerequisites:["Biology"],
|
||||
description:"Allows construction of Research Lab, increasing science"
|
||||
prerequisites:["Biology"]
|
||||
},/*
|
||||
{
|
||||
name:"Electronics",
|
||||
row:5,
|
||||
prerequisites:["Radio"],
|
||||
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
|
||||
baseDescription:"Contributes only war-relatied things - on hold until AI is introduced - todo"
|
||||
},*/
|
||||
{
|
||||
name:"Mass Media",
|
||||
row:6,
|
||||
prerequisites:["Radio"],
|
||||
description:"Allows construction of Stadiums and the Sydney Opera House, boosting happiness"
|
||||
prerequisites:["Radio"]
|
||||
},
|
||||
{
|
||||
name:"Flight",
|
||||
row:7,
|
||||
prerequisites:["Combustion"],
|
||||
description:"Allows construction of the Cristo Redentor, reducing cost of new policies"
|
||||
prerequisites:["Combustion"]
|
||||
},
|
||||
]
|
||||
},
|
||||
@ -391,20 +354,18 @@
|
||||
{
|
||||
name:"Pharmaceuticals",
|
||||
row:3,
|
||||
prerequisites:["Plastics"],
|
||||
description:"Enables construction of medical labs, alowing for greater city growth"
|
||||
prerequisites:["Plastics"]
|
||||
},
|
||||
{
|
||||
name:"Computers",
|
||||
row:5,
|
||||
prerequisites:["Mass Media"],
|
||||
description:"+10% science and production in all cities"
|
||||
baseDescription:"+10% science and production in all cities"
|
||||
},
|
||||
{
|
||||
name:"Nuclear Fission",
|
||||
row:7,
|
||||
prerequisites:["Combustion"],
|
||||
description:"Allows construction of Nuclear Plants, increasing production"
|
||||
prerequisites:["Combustion"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -417,20 +378,17 @@
|
||||
{
|
||||
name:"Ecology",
|
||||
row:3,
|
||||
prerequisites:["Pharmaceuticals"],
|
||||
description:"Enables construction of Solar Plants on cities near deserts, increasing production"
|
||||
prerequisites:["Pharmaceuticals"]
|
||||
},
|
||||
{
|
||||
name:"Robotics",
|
||||
row:4,
|
||||
prerequisites:["Computers"],
|
||||
description:"Allow construction of SS Boosters, a vital part of the spaceship, and the Spaceship Factory, which speeds the production of spaceship parts"
|
||||
prerequisites:["Computers"]
|
||||
},
|
||||
{
|
||||
name:"Rocketry",
|
||||
row:6,
|
||||
prerequisites:["Flight","Computers"],
|
||||
description:"Allows you to construct the Apollo Project, to find a way off of this planet!"
|
||||
prerequisites:["Flight","Computers"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -444,20 +402,17 @@
|
||||
{
|
||||
name:"Nanotechnology",
|
||||
row:3,
|
||||
prerequisites:["Robotics","Ecology"],
|
||||
description:"Allow construction of the SS Statis Chamber, a vital part of the spaceship"
|
||||
prerequisites:["Robotics","Ecology"]
|
||||
}
|
||||
{
|
||||
name:"Satellites",
|
||||
row:5,
|
||||
prerequisites:["Rocketry","Computers","Ecology"],
|
||||
description:"Allow construction of the SS Cockpit, a vital part of the spaceship"
|
||||
prerequisites:["Rocketry","Computers","Ecology"]
|
||||
}
|
||||
{
|
||||
name:"Particle Physics",
|
||||
row:6,
|
||||
prerequisites:["Ecology","Computers","Nuclear Fission"],
|
||||
description:"Allow construction of the SS Engine, a vital part of the spaceship"
|
||||
prerequisites:["Ecology","Computers","Nuclear Fission"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -472,7 +427,7 @@
|
||||
name:"Future Tech",
|
||||
row:5,
|
||||
prerequisites:["Nanotechnology","Particle Physics","Satellites"],
|
||||
description:"Who knows what the future holds?"
|
||||
baseDescription:"Who knows what the future holds?"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -109,7 +109,7 @@
|
||||
hurryCostModifier:20
|
||||
},
|
||||
|
||||
/* Medieval Era */
|
||||
// Medieval Era
|
||||
{
|
||||
name:"Crossbowman",
|
||||
baseDescription: "",
|
||||
@ -120,7 +120,41 @@
|
||||
cost: 120,
|
||||
requiredTech:"Machinery",
|
||||
hurryCostModifier:20
|
||||
}
|
||||
},
|
||||
{
|
||||
name:"Trebuchet",
|
||||
baseDescription: "",
|
||||
unitType:"Siege",
|
||||
movement:2,
|
||||
strength:12,
|
||||
rangedStrength:14,
|
||||
cost: 120,
|
||||
requiredTech:"Physics",
|
||||
uniques:["Bonus vs City 200%","No defensive terrain bonus","Must set up to ranged attack","Limited Visibility"],
|
||||
hurryCostModifier:20
|
||||
},
|
||||
{
|
||||
name:"Longswordsman",
|
||||
baseDescription: "",
|
||||
unitType:"Melee",
|
||||
movement:2,
|
||||
strength:21,
|
||||
cost: 120,
|
||||
requiredTech:"Steel",
|
||||
requiredResource:"Iron",
|
||||
hurryCostModifier:20
|
||||
},
|
||||
{
|
||||
name:"Pikeman",
|
||||
baseDescription: "",
|
||||
unitType:"Melee",
|
||||
movement:2,
|
||||
strength:16,
|
||||
cost: 90,
|
||||
requiredTech:"Civil Service",
|
||||
uniques:["Bonus vs Mounted 50%"],
|
||||
hurryCostModifier:20
|
||||
},
|
||||
|
||||
/* Great people */
|
||||
|
||||
|
@ -27,7 +27,7 @@ class CityConstructions {
|
||||
val stats = Stats()
|
||||
for (building in getBuiltBuildings())
|
||||
stats.add(building.getStats(cityInfo.civInfo.policies.adoptedPolicies))
|
||||
stats.science += (cityInfo.buildingUniques.count({ it == "SciencePer2Pop" }) * cityInfo.population.population / 2).toFloat()
|
||||
stats.science += (cityInfo.buildingUniques.count({ it == "Science Per 2 Population" }) * cityInfo.population.population / 2).toFloat()
|
||||
return stats
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ class CityExpansionManager {
|
||||
fun getCultureToNextTile(): Int {
|
||||
val numTilesClaimed = cityInfo.tiles.size - 7
|
||||
var cultureToNextTile = 6 * Math.pow(numTilesClaimed + 1.4813, 1.3)
|
||||
if (cityInfo.civInfo.buildingUniques.contains("NewTileCostReduction")) cultureToNextTile *= 0.75 //Speciality of Angkor Wat
|
||||
if (cityInfo.civInfo.buildingUniques.contains("Cost of acquiring new tiles reduced by 25%")) cultureToNextTile *= 0.75 //Speciality of Angkor Wat
|
||||
if (cityInfo.civInfo.policies.isAdopted("Tradition")) cultureToNextTile *= 0.75
|
||||
return Math.round(cultureToNextTile).toInt()
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ class CityInfo {
|
||||
if (building.greatPersonPoints != null)
|
||||
greatPersonPoints.add(building.greatPersonPoints!!)
|
||||
|
||||
if (civInfo.buildingUniques.contains("GreatPersonGenerationIncrease"))
|
||||
if (civInfo.buildingUniques.contains("+33% great person generation in all cities"))
|
||||
greatPersonPoints = greatPersonPoints.times(1.33f)
|
||||
if (civInfo.policies.isAdopted("Entrepreneurship"))
|
||||
greatPersonPoints.gold *= 1.25f
|
||||
|
@ -30,7 +30,7 @@ class CityStats {
|
||||
val civInfo = cityInfo.civInfo
|
||||
var goldFromTradeRoute = civInfo.getCapital().population.population * 0.15 + cityInfo.population.population * 1.1 - 1 // Calculated by http://civilization.wikia.com/wiki/Trade_route_(Civ5)
|
||||
if (civInfo.policies.isAdopted("Trade Unions")) goldFromTradeRoute += 2.0
|
||||
if (civInfo.buildingUniques.contains("TradeRouteGoldIncrease")) goldFromTradeRoute *= 1.25 // Machu Pichu speciality
|
||||
if (civInfo.buildingUniques.contains("Gold from all trade routes +25%")) goldFromTradeRoute *= 1.25 // Machu Pichu speciality
|
||||
stats.gold += goldFromTradeRoute.toFloat()
|
||||
}
|
||||
return stats
|
||||
@ -102,7 +102,7 @@ class CityStats {
|
||||
var unhappinessFromCitizens = cityInfo.population.population.toFloat()
|
||||
if (civInfo.policies.isAdopted("Democracy"))
|
||||
unhappinessFromCitizens -= cityInfo.population.getNumberOfSpecialists() * 0.5f
|
||||
if (civInfo.buildingUniques.contains("CitizenUnhappinessDecreased"))
|
||||
if (civInfo.buildingUniques.contains("Unhappiness from population decreased by 10%"))
|
||||
unhappinessFromCitizens *= 0.9f
|
||||
if (civInfo.policies.isAdopted("Aristocracy"))
|
||||
unhappinessFromCitizens *= 0.95f
|
||||
@ -163,6 +163,14 @@ class CityStats {
|
||||
return stats
|
||||
}
|
||||
|
||||
|
||||
private fun getStatPercentBonusesFromWonders(): Stats {
|
||||
val stats = Stats()
|
||||
val civUniques = cityInfo.civInfo.buildingUniques
|
||||
if (civUniques.contains("Culture in all cities increased by 25%")) stats.culture += 25f
|
||||
return stats
|
||||
}
|
||||
|
||||
private fun getStatPercentBonusesFromPolicies(policies: HashSet<String>, cityConstructions: CityConstructions): Stats {
|
||||
val stats = Stats()
|
||||
|
||||
@ -200,6 +208,8 @@ class CityStats {
|
||||
val statPercentBonuses = cityInfo.cityConstructions.getStatPercentBonuses()
|
||||
statPercentBonuses.add(getStatPercentBonusesFromGoldenAge(cityInfo.civInfo.goldenAges.isGoldenAge()))
|
||||
statPercentBonuses.add(getStatPercentBonusesFromPolicies(civInfo.policies.adoptedPolicies, cityInfo.cityConstructions))
|
||||
// from wonders - Culture in all cities increased by 25%
|
||||
statPercentBonuses.add(getStatPercentBonusesFromWonders())
|
||||
statPercentBonuses.add(getStatPercentBonusesFromRailroad())
|
||||
statPercentBonuses.add(getStatPercentBonusesFromMarble())
|
||||
statPercentBonuses.add(getStatPercentBonusesFromComputers())
|
||||
|
@ -56,7 +56,7 @@ class PopulationManager {
|
||||
// growth!
|
||||
{
|
||||
foodStored -= getFoodToNextPopulation()
|
||||
if (cityInfo.buildingUniques.contains("FoodCarriesOver")) foodStored += (0.4f * getFoodToNextPopulation()).toInt() // Aqueduct special
|
||||
if (cityInfo.buildingUniques.contains("40% of food is carried over after a new citizen is born")) foodStored += (0.4f * getFoodToNextPopulation()).toInt() // Aqueduct special
|
||||
population++
|
||||
autoAssignPopulation()
|
||||
cityInfo.civInfo.addNotification(cityInfo.name + " has grown!", cityInfo.location)
|
||||
|
@ -91,7 +91,7 @@ class CivilizationInfo {
|
||||
happiness += getCivResources().keys
|
||||
.count { it.resourceType === ResourceType.Luxury } * happinessPerUniqueLuxury
|
||||
happiness += cities.sumBy { it.cityStats.getCityHappiness().toInt() }
|
||||
if (buildingUniques.contains("HappinessPerSocialPolicy"))
|
||||
if (buildingUniques.contains("Provides 1 happiness per social policy"))
|
||||
happiness += policies.getAdoptedPolicies().count { !it.endsWith("Complete") }
|
||||
return happiness
|
||||
}
|
||||
@ -182,7 +182,7 @@ class CivilizationInfo {
|
||||
.flatMap { it.neighbors } // tiles adjacent to city tiles
|
||||
viewablePositions += gameInfo.tileMap.values
|
||||
.filter { it.unit != null && it.unit!!.owner == civName }
|
||||
.flatMap { it.getViewableTiles(2)} // Tiles within 2 tiles of units
|
||||
.flatMap { it.getViewableTiles(it.unit!!.getVisibilityRange())} // Tiles within 2 tiles of units
|
||||
viewablePositions.map { it.position }.filterNot { exploredTiles.contains(it) }.toCollection(exploredTiles)
|
||||
return viewablePositions
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ class GoldenAgeManager {
|
||||
|
||||
fun enterGoldenAge() {
|
||||
var turnsToGoldenAge = 10.0
|
||||
if (civInfo.buildingUniques.contains("GoldenAgeLengthIncrease")) turnsToGoldenAge *= 1.5
|
||||
if (civInfo.buildingUniques.contains("Golden Age length increases +50%")) turnsToGoldenAge *= 1.5
|
||||
if (civInfo.policies.isAdopted("Freedom Complete")) turnsToGoldenAge *= 1.5
|
||||
turnsLeftForCurrentGoldenAge += turnsToGoldenAge.toInt()
|
||||
civInfo.addNotification("You have entered a golden age!", null)
|
||||
|
@ -26,7 +26,7 @@ class PolicyManager {
|
||||
var cityModifier = 0.3 * (civInfo.cities.size - 1)
|
||||
if (isAdopted("Representation")) cityModifier *= (2 / 3f).toDouble()
|
||||
if (isAdopted("Piety Complete")) baseCost *= 0.9
|
||||
if (civInfo.buildingUniques.contains("PolicyCostReduction")) baseCost *= 0.9
|
||||
if (civInfo.buildingUniques.contains("Culture cost of adopting new Policies reduced by 10%")) baseCost *= 0.9
|
||||
val cost: Int = Math.round(baseCost * (1 + cityModifier)).toInt()
|
||||
return cost - (cost % 5)
|
||||
}
|
||||
|
@ -124,4 +124,10 @@ class MapUnit {
|
||||
override fun toString(): String {
|
||||
return name +" - "+owner
|
||||
}
|
||||
|
||||
fun getVisibilityRange(): Int {
|
||||
var visibilityRange = 2
|
||||
if(hasUnique("Limited Visibility")) visibilityRange-=1
|
||||
return visibilityRange
|
||||
}
|
||||
}
|
@ -111,7 +111,7 @@ class TileInfo {
|
||||
if (stats.production < 0) stats.production = 0f
|
||||
|
||||
if ("Jungle" == terrainFeature && city != null
|
||||
&& city.buildingUniques.contains("JunglesProvideScience"))
|
||||
&& city.buildingUniques.contains("Jungles provide +2 science"))
|
||||
stats.science += 2f
|
||||
if (stats.gold != 0f && observingCiv.goldenAges.isGoldenAge())
|
||||
stats.gold++
|
||||
|
@ -44,6 +44,12 @@ class Building : NamedStats(), IConstruction{
|
||||
|
||||
fun getRequiredTech(): Technology = GameBasics.Technologies[requiredTech]!!
|
||||
|
||||
fun getShortDescription(): String { // should fit in one line
|
||||
var str = getStats(hashSetOf()).toString()
|
||||
if(unique!=null) str += ", "+ unique!!
|
||||
return str
|
||||
}
|
||||
|
||||
fun getStats(adoptedPolicies: HashSet<String>): Stats {
|
||||
val stats = this.clone()
|
||||
if (adoptedPolicies.contains("Organized Religion") && hashSetOf("Monument", "Temple", "Monastery").contains(name))
|
||||
@ -141,7 +147,7 @@ class Building : NamedStats(), IConstruction{
|
||||
if (requiredBuildingInAllCities != null && civInfo.cities.any { !it.cityConstructions.isBuilt(requiredBuildingInAllCities!!) })
|
||||
return false
|
||||
if (cannotBeBuiltWith != null && construction.isBuilt(cannotBeBuiltWith!!)) return false
|
||||
if ("MustBeNextToDesert" == unique && !construction.cityInfo.getCenterTile().getTilesInDistance(1).any { it.baseTerrain == "Desert" })
|
||||
if ("Must be next to desert" == unique && !construction.cityInfo.getCenterTile().getTilesInDistance(1).any { it.baseTerrain == "Desert" })
|
||||
return false
|
||||
if (requiredResource != null && !civInfo.getCivResources().containsKey(GameBasics.TileResources[requiredResource!!]))
|
||||
return false
|
||||
@ -158,8 +164,8 @@ class Building : NamedStats(), IConstruction{
|
||||
if (!containsResourceWithImprovement) return false
|
||||
}
|
||||
|
||||
if ("SpaceshipPart" == unique) {
|
||||
if (!civInfo.buildingUniques.contains("ApolloProgram")) return false
|
||||
if ("Spaceship part" == unique) {
|
||||
if (!civInfo.buildingUniques.contains("Allows the building of spaceship parts")) return false
|
||||
if (civInfo.scienceVictory.unconstructedParts()[name] == 0) return false // Don't need to build any more of these!
|
||||
}
|
||||
return true
|
||||
@ -168,7 +174,7 @@ class Building : NamedStats(), IConstruction{
|
||||
override fun postBuildEvent(construction: CityConstructions) {
|
||||
val civInfo = construction.cityInfo.civInfo
|
||||
|
||||
if (unique == "SpaceshipPart") {
|
||||
if (unique == "Spaceship part") {
|
||||
civInfo.scienceVictory.currentParts.add(name, 1)
|
||||
UnCivGame.Current.screen = VictoryScreen()
|
||||
return
|
||||
@ -178,12 +184,12 @@ class Building : NamedStats(), IConstruction{
|
||||
if (providesFreeBuilding != null && !construction.builtBuildings.contains(providesFreeBuilding!!))
|
||||
construction.builtBuildings.add(providesFreeBuilding!!)
|
||||
when (unique) {
|
||||
"ApolloProgram" ->
|
||||
"Enables construction of Spaceship parts" ->
|
||||
if(construction.cityInfo.civInfo.isPlayerCivilization())
|
||||
UnCivGame.Current.screen = VictoryScreen()
|
||||
"EmpireEntersGoldenAge" -> civInfo.goldenAges.enterGoldenAge()
|
||||
"Empire enters golden age" -> civInfo.goldenAges.enterGoldenAge()
|
||||
"Free Great Artist Appears" -> civInfo.addGreatPerson("Great Artist")
|
||||
"WorkerConstruction" -> {
|
||||
"Worker construction increased 25%, provides 2 free workers" -> {
|
||||
civInfo.placeUnitNearTile(construction.cityInfo.location, "Worker")
|
||||
civInfo.placeUnitNearTile(construction.cityInfo.location, "Worker")
|
||||
}
|
||||
|
@ -1,14 +1,47 @@
|
||||
package com.unciv.models.gamebasics
|
||||
|
||||
import java.util.HashSet
|
||||
import java.util.*
|
||||
|
||||
class Technology {
|
||||
class Technology : ICivilopedia {
|
||||
override val description: String
|
||||
get(){
|
||||
val SB=StringBuilder()
|
||||
if(baseDescription!=null) SB.appendln(baseDescription)
|
||||
|
||||
val enabledUnits = GameBasics.Units.values.filter { it.requiredTech==name }
|
||||
if(enabledUnits.isNotEmpty()) SB.appendln("Units enabled: "+enabledUnits.map { it.name }.joinToString())
|
||||
|
||||
val enabledBuildings = GameBasics.Buildings.values.filter { it.requiredTech==name }
|
||||
val regularBuildings = enabledBuildings.filter { !it.isWonder }
|
||||
if(regularBuildings.isNotEmpty())
|
||||
SB.appendln("Buildings enabled: "+regularBuildings.map { it.name + " ("+it.getShortDescription()+")" }.joinToString())
|
||||
val wonders = enabledBuildings.filter { it.isWonder }
|
||||
if(wonders.isNotEmpty()) SB.appendln("Wonders enabled: "+wonders.map { it.name }.joinToString())
|
||||
|
||||
val revealedResource = GameBasics.TileResources.values.filter { it.revealedBy==name }.firstOrNull() // can only be one
|
||||
if(revealedResource!=null) SB.appendln("Reveals $revealedResource on map")
|
||||
|
||||
val tileImprovements = GameBasics.TileImprovements.values.filter { it.techRequired==name }
|
||||
if(tileImprovements.isNotEmpty()) SB.appendln("Tile improvements enabled: "+tileImprovements.map { it.name }.joinToString())
|
||||
|
||||
val improvedImprovements = GameBasics.TileImprovements.values.filter { it.improvingTech==name }.groupBy { it.improvingTechStats.toString()!! }
|
||||
improvedImprovements.forEach{
|
||||
val impimpString = it.value.joinToString { it.name } +" provide" + (if(it.value.size==1) "s" else "") +" "+it.key
|
||||
SB.appendln(impimpString)
|
||||
}
|
||||
|
||||
return SB.toString().trim()
|
||||
}
|
||||
lateinit var name: String
|
||||
|
||||
var description: String? = null
|
||||
var baseDescription: String? = null
|
||||
var cost: Int = 0
|
||||
@JvmField var prerequisites = HashSet<String>()
|
||||
var prerequisites = HashSet<String>()
|
||||
|
||||
@JvmField var column: TechColumn? = null // The column that this tech is in the tech tree
|
||||
@JvmField var row: Int = 0
|
||||
var column: TechColumn? = null // The column that this tech is in the tech tree
|
||||
var row: Int = 0
|
||||
|
||||
override fun toString(): String {
|
||||
return name
|
||||
}
|
||||
}
|
@ -16,7 +16,7 @@ class TileImprovement : NamedStats(), ICivilopedia {
|
||||
private val turnsToBuild: Int = 0 // This is the base cost.
|
||||
fun getTurnsToBuild(civInfo: CivilizationInfo): Int {
|
||||
var realTurnsToBuild = turnsToBuild.toFloat()
|
||||
if (civInfo.buildingUniques.contains("WorkerConstruction"))
|
||||
if (civInfo.buildingUniques.contains("Worker construction increased 25%, provides 2 free workers"))
|
||||
realTurnsToBuild *= 0.75f
|
||||
if (civInfo.policies.isAdopted("Citizenship"))
|
||||
realTurnsToBuild *= 0.75f
|
||||
|
@ -39,6 +39,7 @@ class CivilopediaScreen : CameraStageBaseScreen() {
|
||||
map["Terrains"] = GameBasics.Terrains.values
|
||||
map["Tile Improvements"] = GameBasics.TileImprovements.values
|
||||
map["Units"] = GameBasics.Units.values
|
||||
map["Technologies"] = GameBasics.Technologies.values
|
||||
|
||||
val nameList = List<ICivilopedia>(CameraStageBaseScreen.skin)
|
||||
|
||||
|
@ -55,7 +55,7 @@ class VictoryScreen : PickerScreen() {
|
||||
fun scienceVictoryColumn():Table{
|
||||
val t = Table()
|
||||
t.defaults().pad(5f)
|
||||
t.add(getMilestone("Built Apollo Program",civInfo.buildingUniques.contains("ApolloProgram"))).row()
|
||||
t.add(getMilestone("Built Apollo Program",civInfo.buildingUniques.contains("Allows the building of spaceship parts"))).row()
|
||||
|
||||
val scienceVictory = civInfo.scienceVictory
|
||||
|
||||
|
Reference in New Issue
Block a user