Tech tree total overhaul - Based it on G&K but removed all war-only techs, normalized bonuses across techs

This commit is contained in:
Yair Morgenstern 2017-12-21 14:45:49 +02:00
parent d81cb8cda7
commit 14c75d7cc4
7 changed files with 217 additions and 300 deletions

View File

@ -80,7 +80,7 @@
greatPersonPoints:{production:1},
isWonder:true,
unique:"WorkerConstruction",
requiredTech:"Masonry"
requiredTech:"Mathematics"
},
{
name:"Temple",
@ -96,6 +96,7 @@
name:"The Oracle",
description: "Provides a free social policy - todo",
culture:3,
greatPersonPoints:{science:1},
isWonder:true,
requiredTech:"Philosophy"
},
@ -107,7 +108,7 @@
isWonder:true,
percentStatBonus:{science:50},
requiredBuildingInAllCities:"Library",
requiredTech:"Philosophy"
requiredTech:"Civil Service"
},
{
name:"Stable",
@ -130,6 +131,7 @@
{
name:"Hanging Gardens",
description: "",
greatPersonPoints:{culture:1},
food:10,
culture:1,
isWonder:true,
@ -166,13 +168,15 @@
description: "",
culture:1,
happiness:10,
greatPersonPoints:{gold:1},
isWonder:true,
requiredTech:"Theology"
requiredTech:"Metal Casting"
},
{
name:"Hagia Sophia",
description: "+33% great person generation in all cities",
culture:1,
greatPersonPoints:{culture:1},
isWonder:true,
unique:"GreatPersonGenerationIncrease",
requiredTech:"Theology"
@ -181,6 +185,7 @@
name:"Chichen Itza",
description: "Length of golden ages increased +50%",
culture:1,
greatPersonPoints:{production:1},
isWonder:true,
unique:"GoldenAgeLengthIncrease",
requiredTech:"Currency"
@ -198,6 +203,7 @@
name:"Machu Pichu",
description: "Gold from all trade routes +25%",
gold:5,
greatPersonPoints:{gold:1},
culture:1,
isWonder:true,
unique:"TradeRouteGoldIncrease",
@ -256,9 +262,19 @@
name:"Angkor Wat",
description: "Cost of aquiring new tiles reduced by 25%",
culture:1,
greatPersonPoints:{production:1},
isWonder:true,
unique:"NewTileCostReduction",
requiredTech:"Education"
requiredTech:"Chivalry"
},
{
name:"Porcelain Tower",
description: "A free great scientist appears, production to science conversion in cities increased by 33%",
culture:1,
greatPersonPoints:{science:2},
isWonder:true,
unique:"ScienceConversionIncrease",
requiredTech:"Physics"
},
{
name:"Ironworks",
@ -363,7 +379,7 @@
},
{
name:"The Louvre",
description: "Free Great Artist appears near the city",
description: "A Free Great Artist appears near the city",
culture:1,
happiness:4,
isWonder:true,
@ -374,6 +390,7 @@
name:"Public School",
description: "+1 science per 2 population",
science:3,
specialistSlots:{science:1},
requiredBuilding:"University",
maintainance:3,
hurryCostModifier:0,
@ -417,7 +434,7 @@
culture:5,
isWonder:true,
unique:"PolicyCostReduction",
requiredTech:"Telegraph"
requiredTech:"Plastics"
},
{
name:"Broadcast Tower",

View File

@ -1,6 +1,7 @@
[
{
columnNumber: 1,
era:"Ancient",
techCost: 35,
buildingCost:60,
techs:[
@ -24,6 +25,7 @@
},
{
columnNumber: 2,
era:"Ancient",
techCost: 55,
buildingCost:75,
wonderCost:185,
@ -38,7 +40,7 @@
name:"Calendar",
row:2,
prerequisites:["Pottery"],
description:"Allows your workers to build Plantations, which grant access to several luxury resources"
description:"Allows your workers to build Plantations, which grant access to several luxury resources, and the Stonehenge wonder, providing culture"
},
{
name:"Writing",
@ -50,30 +52,31 @@
name:"Trapping",
row:5,
prerequisites:["Animal Husbandry"],
description:"Allows your workers to build Camps and Trading Posts, which increase gold produced and grant access to several luxury resources"
description:"Allows your workers to build Camps, increasing gold and granting access to several luxury resources. Also enables construction of Circuses, providing happiness."
},
{
name:"The Wheel",
row:6,
prerequisites:["Animal Husbandry"],
description:"Allows construction of roads to your capital city, providing gold from trade"
description:"Allows construction of roads, speeding movement and providing gold from trade. ALSO WATERWHEELS-TODO"
},
{
name:"Masonry",
row:9,
prerequisites:["Mining"],
description:"Allows workers to build quarries, granting access to stone and marble resources, and clear marshes. Also enables construction of the Pyramids wonder."
description:"Allows workers to build quarries, granting access to stone and marble resources."
},
{
name:"Bronze Working",
row:10,
prerequisites:["Mining"],
description:"Allows workers to remove jungles"
description:"Allows workers to remove jungles and clear marshes"
}
]
},
{
columnNumber: 3,
era:"Classical",
techCost: 115,
buildingCost:100,
wonderCost:250,
@ -85,55 +88,38 @@
prerequisites:["Sailing"],
description:"Does nothing since we have no sea tiles - In theory, Allows construction of lighthouses, providing more food for sea tiles"
},
{
name:"Philosophy",
row:3,
prerequisites:["Writing"],
description:"Allows construction of temples, which generate culture, and the Oracle and National College wonders"
},
{
name:"Horseback Riding",
row:5,
prerequisites:["The Wheel"],
prerequisites:["Trapping","The Wheel"],
description:"Allows construction of stables, which increase production on cattle, sheep and horses, and the Circus Maximus wonder"
},
{
name:"Mathematics",
row:7,
prerequisites:["The Wheel"],
description: "Enables construction of the Hanging Gardens wonder."
description: "Enables construction of the Hanging Gardens wonder. Also enables construction of the Pyramids wonder."
},
{
name:"Construction",
row:9,
prerequisites:["Masonry"],
description:"Allows construction of colloseums, which generate happiness, and building lumber mills on forests, providing production"
},
{
name:"Iron Working",
row:10,
prerequisites:["Bronze Working"],
description:"Reveals Iron on map"
description:"Allows construction of colosseums, which generate happiness, and building lumber mills on forests, providing production"
}
]
},
{
columnNumber: 4,
era:"Classical",
techCost: 305,
buildingCost:120,
wonderCost:300,
techs:[
{
name:"Theology",
row:2,
prerequisites:["Calendar","Philosophy"],
description:"Enables construction of Monasteries, the Hagia Sophia and Notre Dame, providing culture, Great Person generation, and happiness, respectively"
},
{
name:"Civil Service",
row:4,
prerequisites:["Trapping","Philosophy"],
description:"Enables the Chichen Itza wonder, which increases the length of golden ages"
name:"Philosophy",
row:3,
prerequisites:["Writing","Calendar"],
description:"Allows construction of temples, which generate culture, and the Oracle wonder"
},
{
name:"Currency",
@ -148,18 +134,46 @@
description:"Enables construction of aqueducts, which speed up city growth"
},
{
name:"Metal Casting",
name:"Iron Working",
row:10,
prerequisites:["Construction","Iron Working"],
description:"Enables constrution of Forges and Workshops, increasing production"
prerequisites:["Bronze Working"],
description:"Reveals Iron on map"
}
]
},
{
columnNumber: 5,
era:"Medieval",
techCost: 535,
buildingCost:160,
wonderCost:400,
techs:[
{
name:"Theology",
row:2,
prerequisites:["Philosophy"],
description:"Enables construction of Monasteries, providing culture, and the Hagia Sophia, increasing Great Person generation"
},
{
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"
},
{
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,"
}
]
},
{
columnNumber: 6,
era:"Medieval",
techCost: 855,
buildingCost:200,
wonderCost:500,
techs:[
{
name:"Compass",
@ -172,39 +186,34 @@
name:"Education",
row:3,
prerequisites:["Theology","Civil Service"],
description:"Allows cities to convert production to science, construction of Universities which provide science, and construction of the Angkor Wat wonder"
description:"Allows cities to convert production to science, construction of Universities which provide science"
},
{
name:"Chivalry",
row:5,
prerequisites:["Horseback Riding","Civil Service","Currency"],
description:"???"
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"
},
{
name:"Machinery",
row:8,
prerequisites:["Engineering"],
prerequisites:["Physics"],
description:"Speeds movement speed on roads and allows you to construct the Ironworks wonder, which gives a massive boost in production"
},
{
name:"Physics",
row:9,
prerequisites:["Engineering","Metal Casting"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
},
{
name:"Steel",
row:10,
prerequisites:["Metal Casting"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
description:"Enables construction of the Porcelain Tower, increasing production to science production"
}
]
]
},
{
columnNumber: 6,
techCost: 855,
buildingCost:200,
wonderCost:500,
columnNumber: 7,
era:"Renaissance",
techCost: 1265,
buildingCost:250,
wonderCost:625,
techs:[
{
name:"Astronomy",
@ -222,7 +231,7 @@
name:"Banking",
row:6,
prerequisites:["Chivalry"],
description:"Enables construction of banks, giving a serious boost in gold to your empire"
description:"Enables construction of banks, increasing gold, and allows construciton of the Forbidden Palace, decreasing unhappiness form population"
},
{
name:"Printing Press",
@ -230,19 +239,14 @@
prerequisites:["Machinery","Physics"],
description:"Enables construction of the Theatre and Taj Mahal, increasing happiness"
},
{
name:"Gunpowder",
row:10,
prerequisites:["Physics","Steel"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
}
]
},
{
columnNumber: 7,
techCost: 1265,
buildingCost:250,
wonderCost:625,
columnNumber: 8,
era:"Renaissance",
techCost: 1755,
buildingCost:300,
wonderCost:750,
techs:[
{
name:"Navigation",
@ -259,22 +263,17 @@
{
name:"Chemistry",
row:9,
prerequisites:["Gunpowder"],
prerequisites:["Machinery"],
description:"Mines and Quarries provide +1 production"
},
{
name:"Metallurgy",
row:10,
prerequisites:["Gunpowder"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
}
]
},
{
columnNumber: 8,
techCost: 1755,
buildingCost:300,
wonderCost:750,
columnNumber: 9,
era:"Industrial",
techCost: 2585,
buildingCost:360,
wonderCost:920,
techs:[
{
name:"Archaeology",
@ -286,68 +285,70 @@
name:"Scientific Theory",
row:4,
prerequisites:["Navigation","Acoustics","Economics"],
description:"This is a lie, change!!!"
},
{
name:"Military Science",
row:6,
prerequisites:["Economics","Chemistry"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
description:"Reveals coal and allows construction of Public Schools, providing science"
},
{
name:"Fertilizer",
row:9,
prerequisites:["Chemistry"],
description:"+1 food from Farms, Plantations and Pastures"
},
{
name:"Rifling",
row:10,
prerequisites:["Metallurgy"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
}
]
},
{
columnNumber: 9,
techCost: 2585,
buildingCost:360,
wonderCost:920,
techs:[
{
name:"Biology",
row:4,
prerequisites:["Archaeology","Scientific Theory"],
description:"Reveals oil and allows construction of oil wells, and construction of hospitals, which provide a large amount of food"
},
{
name:"Steam Power",
row:6,
prerequisites:["Scientific Theory","Military Science"],
description:"Enables construction of factories, boosting production"
},
{
name:"Dynamite",
row:9,
prerequisites:["Military Science","Fertilizer","Rifling"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
}
]
},
{
columnNumber: 10,
era:"Industrial",
techCost: 3405,
buildingCost:500,
wonderCost:1060,
techs:[
{
name:"Electricity",
name:"Biology",
row:4,
prerequisites:["Biology","Steam Power"],
description:"Reveals Aluminium on map and allows construction of stock exchange, providing gold"
prerequisites:["Archaeology","Scientific Theory"],
description:"Reveals oil and allows construction of oil wells, and construction of hospitals, providing a large amount of food"
},
{
name:"Replaceable Parts",
name:"Electricity",
row:5,
prerequisites:["Scientific Theory"],
description:"Reveals Aluminium on map and allows construction of stock exchange, increasing gold"
},
{
name:"Steam Power",
row:6,
prerequisites:["Scientific Theory"],
description:"Enables construction of factories, boosting production, and increases produciton of lumber mills, "
},
{
name:"Dynamite",
row:9,
prerequisites:["Fertilizer"],
description:"Contributes only war-relatied things - on hold until AI is introduced"
}
]
},
{
columnNumber: 11,
era:"Modern",
techCost: 4505,
buildingCost:500,
wonderCost:1250,
techs:[
{
name:"Refrigeration",
row:2,
prerequisites:["Electricity"],
description:"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"
},
{
name:"Flight",
row:6,
prerequisites:["Steam Power"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
@ -360,66 +361,23 @@
}
]
},
{
columnNumber: 11,
techCost: 4505,
buildingCost:500,
wonderCost:1250,
techs:[
{
name:"Refrigeration",
row:2,
prerequisites:["Electricity"],
description:"Does nothing since we have no sea tiles - In theory, allows construction of offshore platforms and submarines"
},
{
name:"Telegraph",
row:4,
prerequisites:["Electricity"],
description:"Allows construction of the Crito Redentor, reducing cost of new policies"
},
{
name:"Radio",
row:5,
prerequisites:["Electricity"],
description:"Allows construction of broadcast towers and the Eiffel Tower, increasing culture"
},
{
name:"Flight",
row:6,
prerequisites:["Replaceable Parts"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Combustion",
row:8,
prerequisites:["Replaceable Parts"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
}
]
},
{
columnNumber: 12,
era:"Modern",
techCost: 5605,
buildingCost:500,
wonderCost:1250,
techs:[
{
name:"Penicillin",
row:1,
prerequisites:["Refrigeration"],
description:"Enables construction of medical labs, alowing for greater city growth"
},
{
name:"Plastics",
row:2,
prerequisites:["Refrigeration"],
description:"Allows construction of Research Lab, increasing science"
description:"Allows construction of Research Lab, increasing science, and the Cristo Redentor, reducing cost of new policies"
},
{
name:"Electronics",
row:5,
prerequisites:["Telegraph"],
prerequisites:["Flight","Radio"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo" },
{
name:"Mass Media",
@ -428,23 +386,44 @@
description:"Allows construction of Stadiums and the Sydney Opera House, boosting happiness"
},
{
name:"Radar",
name:"Combustion",
row:8,
prerequisites:["Radio","Flight","Combustion"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Atomic Theory",
row:8,
prerequisites:["Combustion"],
prerequisites:["Railroad"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
}
]
},
{
columnNumber: 13,
era:"Atomic",
techCost: 7035,
buildingCost:500,
techs:[
{
name:"Penicillin",
row:1,
prerequisites:["Refrigeration"],
description:"Enables construction of medical labs, alowing for greater city growth"
},
{
name:"Computers",
row:4,
prerequisites:["Electronics","Mass Media"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Nuclear Fission",
row:10,
prerequisites:["Combustion"],
description:"Allows construction of Nuclear Plants, increasing production"
}
]
},
{
columnNumber: 14,
era:"Atomic",
techCost: 8465,
buildingCost:750,
techs:[
{
name:"Ecology",
@ -452,71 +431,17 @@
prerequisites:["Penicillin","Plastics"],
description:"Enables construction of Solar Plants on cities near deserts, increasing production"
},
{
name:"Computers",
row:4,
prerequisites:["Electronics","Mass Media","Radar"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Rocketry",
row:6,
prerequisites:["Radar"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo" },
{
name:"Lasers",
row:8,
prerequisites:["Radar"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Nuclear Fission",
row:10,
prerequisites:["Atomic Theory"],
description:"Allows construction of Nuclear Plants, increasing production"
}
]
},
{
columnNumber: 14,
techCost: 8465,
buildingCost:750,
techs:[
{
name:"Globalization",
row:2,
cost:10445,
prerequisites:["Ecology","Computers"],
description:"Theoretically enables united nation - tthere's no ai so we'll leave it be for now"
},
{
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"
},
{
name:"Satellites",
row:6,
prerequisites:["Rocketry"],
description:"Allow construction of the SS Cockpit, a vital part of the spaceship"
},
{
name:"Stealth",
row:8,
prerequisites:["Lasers"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Advanced Ballistics",
row:10,
prerequisites:["Atomic Theory"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
prerequisites:["Combustion","Electronics"],
description:"Allows you to construct the Apollo Project, to find a way off of this planet!"
}
]
},
{
columnNumber: 15,
era:"Information",
techCost: 9675,
buildingCost:750,
wonderCost:1250,
@ -524,7 +449,7 @@
{
name:"Robotics",
row:4,
prerequisites:["Computers"],
prerequisites:["Computers","Rocketry"],
description:"Allow construction of SS Boosters, a vital part of the spaceship, and the Spaceship Factory, which speeds the production of spaceship parts"
},
{
@ -532,54 +457,22 @@
row:6,
prerequisites:["Rocketry"],
description:"Allow construction of the SS Cockpit, a vital part of the spaceship"
},
{
name:"Stealth",
row:8,
prerequisites:["Lasers"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
},
{
name:"Advanced Ballistics",
row:10,
prerequisites:["Atomic Theory"],
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
}
]
},
{
columnNumber: 16,
era:"Information",
techCost: 9675,
buildingCost:750,
wonderCost:1250,
techs:[
{
name:"Particle Physics",
row:5,
prerequisites:["Ecology","Computers"],
row:4,
prerequisites:["Ecology","Computers","Nuclear Fission"],
description:"Allow construction of the SS Engine, a vital part of the spaceship"
},
{
name:"Nuclear Fusion",
row:8,
prerequisites:["Satellites","Stealth","Advanced Ballistics"],
description:"Theoretically enables united nation - tthere's no ai so we'll leave it be for now"
}
]
}
{
columnNumber: 16,
techCost: 9675,
buildingCost:750,
wonderCost:1250,
techs:[
{
name:"Globalization",
row:2,
cost:10445,
prerequisites:["Ecology","Computers"],
description:"Theoretically enables united nation - tthere's no ai so we'll leave it be for now"
},
{
name:"Nanotechnology",
row:5,
@ -589,7 +482,8 @@
]
}
{
columnNumber: 16,
columnNumber: 17,
era:"Future",
techCost: 9675,
buildingCost:750,
wonderCost:1250,
@ -597,7 +491,7 @@
{
name:"Future Tech",
row:5,
prerequisites:["Globalization","Nanotechnology","Nuclear Fusion"],
prerequisites:["Nanotechnology","Particle Physics"],
description:"Who knows what the future holds?"
}
]

View File

@ -13,7 +13,7 @@
production:1,
turnsToBuild:7,
techRequired:"Construction",
improvingTech:"Scientific Theory",
improvingTech:"Steam Power",
improvingTechStats:{production:1}
},
{
@ -30,7 +30,7 @@
terrainsCanBeBuiltOn:["Plains","Grassland","Desert","Hill","Tundra","Forest","Jungle","Flood plains"],
gold:1,
turnsToBuild:7,
techRequired:"Trapping",
techRequired:"Chivalry",
improvingTech:"Economics",
improvingTechStats: {gold:1}
},
@ -95,7 +95,7 @@
name:"Remove Marsh",
turnsToBuild:6,
terrainsCanBeBuiltOn:["Marsh"],
techRequired:"Masonry"
techRequired:"Bronze Working"
},

View File

@ -129,11 +129,12 @@ public class CityInfo {
//idle ppl
stats.production += getFreePopulation();
CivilizationInfo civInfo = CivilizationInfo.current();
if(!isCapital() && isConnectedToCapital(RoadStatus.Road)) {
// Calculated by http://civilization.wikia.com/wiki/Trade_route_(Civ5)
double goldFromTradeRoute = CivilizationInfo.current().getCapital().population * 0.15
double goldFromTradeRoute = civInfo.getCapital().population * 0.15
+ population * 1.1 - 1;
if(CivilizationInfo.current().getBuildingUniques().contains("TradeRouteGoldIncrease")) goldFromTradeRoute*=1.25; // Machu Pichu speciality
if(civInfo.getBuildingUniques().contains("TradeRouteGoldIncrease")) goldFromTradeRoute*=1.25; // Machu Pichu speciality
stats.gold += goldFromTradeRoute;
}
@ -141,22 +142,26 @@ public class CityInfo {
FullStats statPercentBonuses = cityConstructions.getStatPercentBonuses();
if(isCapital() || isConnectedToCapital(RoadStatus.Railroad)) statPercentBonuses.production += 25;
if(CivilizationInfo.current().isGoldenAge()) statPercentBonuses.production+=20;
if(civInfo.isGoldenAge()) statPercentBonuses.production+=20;
IConstruction currentConstruction = cityConstructions.getCurrentConstruction();
if(currentConstruction instanceof Building && ((Building)currentConstruction).isWonder &&
CivilizationInfo.current().getCivResources().containsKey(GameBasics.TileResources.get("Marble")))
civInfo.getCivResources().containsKey(GameBasics.TileResources.get("Marble")))
statPercentBonuses.production+=15;
stats.production*=1+statPercentBonuses.production/100; // So they get bonuses for production and gold/science
if(cityConstructions.currentConstruction.equals("Gold")) stats.gold+=stats.production/4;
if(cityConstructions.currentConstruction.equals("Science")) stats.science+=stats.production/4;
if(cityConstructions.currentConstruction.equals("Science")) {
if (civInfo.getBuildingUniques().contains("ScienceConversionIncrease"))
stats.science += stats.production / 3;
else stats.science += stats.production / 4;
}
stats.gold*=1+statPercentBonuses.gold/100;
stats.science*=1+statPercentBonuses.science/100;
stats.culture*=1+statPercentBonuses.culture/100;
boolean isUnhappy =CivilizationInfo.current().getHappinessForNextTurn() < 0;
boolean isUnhappy = civInfo.getHappinessForNextTurn() < 0;
if (!isUnhappy) stats.food*=1+statPercentBonuses.food/100; // Regular food bonus revoked when unhappy per https://forums.civfanatics.com/resources/complete-guide-to-happiness-vanilla.25584/
stats.food -= population * 2; // Food reduced after the bonus
if(isUnhappy) stats.food /= 4; // Reduce excess food to 1/4 per the same

View File

@ -31,7 +31,7 @@ public class TechPickerScreen extends PickerScreen {
public TechPickerScreen(final UnCivGame game) {
super(game);
Technology[][] techMatrix = new Technology[16][10]; // Divided into columns, then rows
Technology[][] techMatrix = new Technology[17][10]; // Divided into columns, then rows
for (Technology technology : GameBasics.Technologies.linqValues()) {
techMatrix[technology.column.columnNumber-1][technology.row - 1] = technology;

View File

@ -102,19 +102,6 @@ public class Building extends NamedStats implements IConstruction, ICivilopedia
public boolean isBuildable(CityConstructions construction){
CivilizationInfo civInfo = UnCivGame.Current.civInfo;
if(construction.isBuilt(name)) return false;
if(requiredNearbyImprovedResources!=null) {
boolean containsResourceWithImprovement = construction.getCity().getTilesInRange()
.any(new Predicate<TileInfo>() {
@Override
public boolean evaluate(TileInfo tile) {
return tile.resource != null
&& requiredNearbyImprovedResources.contains(tile.resource)
&& tile.getTileResource().improvement.equals(tile.improvement);
}
});
if(!containsResourceWithImprovement) return false;
}
if (requiredTech != null && !civInfo.tech.isResearched(requiredTech)) return false;
if (isWonder && civInfo.cities
.any(new Predicate<CityInfo>() {
@ -145,6 +132,20 @@ public class Building extends NamedStats implements IConstruction, ICivilopedia
!civInfo.getCivResources().keySet().contains(GameBasics.TileResources.get(requiredResource)))
return false; // Only checks if exists, doesn't check amount - todo
if(requiredNearbyImprovedResources!=null) {
boolean containsResourceWithImprovement = construction.getCity().getTilesInRange()
.any(new Predicate<TileInfo>() {
@Override
public boolean evaluate(TileInfo tile) {
return tile.resource != null
&& requiredNearbyImprovedResources.contains(tile.resource)
&& tile.getTileResource().improvement.equals(tile.improvement);
}
});
if(!containsResourceWithImprovement) return false;
}
if("SpaceshipPart".equals(unique)){
if(!civInfo.getBuildingUniques().contains("ApolloProgram")) return false;
if(civInfo.scienceVictory.requiredParts.get(name)==0) return false; // Don't need to build any more of these!

View File

@ -2,12 +2,12 @@ package com.unciv.models.gamebasics;
import java.util.ArrayList;
public class TechColumn
{
public int columnNumber;
public GameBasics gameBasics;
public ArrayList<Technology> techs = new ArrayList<Technology>();
public int techCost;
public int buildingCost;
public int wonderCost;
public class TechColumn {
public int columnNumber;
public String era;
public GameBasics gameBasics;
public ArrayList<Technology> techs = new ArrayList<Technology>();
public int techCost;
public int buildingCost;
public int wonderCost;
}