mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-07 00:41:39 +07:00
Railroads now provide 25% production bonus to connected cities
Added techs and builings up to middle of modern era
This commit is contained in:
@ -288,6 +288,15 @@
|
||||
unique:"FreeGreatArtistAppears",
|
||||
requiredTech:"Archaeology"
|
||||
},
|
||||
{
|
||||
name:"Public School",
|
||||
description: "+1 science per 2 population",
|
||||
science:3,
|
||||
requiredBuilding:"University",
|
||||
maintainance:3,
|
||||
unique:"SciencePer2Pop",
|
||||
requiredTech:"Scientific Theory"
|
||||
},
|
||||
{
|
||||
name:"Hospital",
|
||||
description: "",
|
||||
@ -305,6 +314,88 @@
|
||||
requiredResource:"Coal",
|
||||
requiredTech:"Steam Power"
|
||||
},
|
||||
{
|
||||
name:"Stock Exchange",
|
||||
description: "",
|
||||
gold:3,
|
||||
percentStatBonus:{gold:25},
|
||||
requiredBuilding:"Bank",
|
||||
requiredTech:"Electricity"
|
||||
},
|
||||
{
|
||||
name:"Cristo Redentor",
|
||||
description: "Culture cost of adopting new Policies reduced by 10% - todo",
|
||||
culture:5,
|
||||
isWonder:true,
|
||||
unique:"PolicyCostReduction",
|
||||
requiredTech:"Telegraph"
|
||||
},
|
||||
{
|
||||
name:"Broadcst Tower",
|
||||
description: "",
|
||||
culture:3,
|
||||
percentStatBonus:{culture:33},
|
||||
requiredBuilding:"Museum",
|
||||
maintainance:3,
|
||||
requiredTech:"Radio"
|
||||
},
|
||||
{
|
||||
name:"Eiffel Tower",
|
||||
description: "Provides 1 happiness per social policy - todo",
|
||||
culture:1,
|
||||
happiness:5
|
||||
isWonder:true,
|
||||
unique:"HappinessPerSocialPolicy",
|
||||
requiredTech:"Radio"
|
||||
},
|
||||
{
|
||||
name:"Medical Lab",
|
||||
description: "25% of food carried over after a new citizen is born - todo",
|
||||
requiredBuilding:"Hospital",
|
||||
maintainance:3,
|
||||
requiredTech:"Penicillin"
|
||||
},
|
||||
{
|
||||
name:"Research Lab",
|
||||
description: "",
|
||||
science:4,
|
||||
percentStatBonus:{science:50},
|
||||
requiredBuilding:"Public School",
|
||||
maintainance:3,
|
||||
requiredTech:"Plastics"
|
||||
},
|
||||
{
|
||||
name:"Hydro Plant",
|
||||
description: "Provides +1 production to tiles near rivers",
|
||||
maintainance:3,
|
||||
requiredResource:"Aluminum",
|
||||
requiredTech:"Plastics"
|
||||
},
|
||||
{
|
||||
name:"Stadium",
|
||||
description: "",
|
||||
happiness:4,
|
||||
requiredBuilding:"Theatre",
|
||||
maintainance:2,
|
||||
requiredTech:"Mass Media"
|
||||
},
|
||||
{
|
||||
name:"Eiffel Tower",
|
||||
description: "Provides 1 free social policy - todo",
|
||||
culture:1,
|
||||
percentStatBonus:{culture:50},
|
||||
isWonder:true,
|
||||
unique:"HappinessPerSocialPolicy",
|
||||
requiredTech:"Radio"
|
||||
},
|
||||
{
|
||||
name:"Stadium",
|
||||
description: "",
|
||||
happiness:4,
|
||||
requiredBuilding:"Theatre",
|
||||
maintainance:2,
|
||||
requiredTech:"Mass Media"
|
||||
},
|
||||
|
||||
|
||||
]
|
@ -344,7 +344,7 @@
|
||||
name:"Electricity",
|
||||
row:4,
|
||||
prerequisites:["Biology","Steam Power"],
|
||||
description:"Reveals Aluminium on map and allows construction of stock exchange, providing gold - todo"
|
||||
description:"Reveals Aluminium on map and allows construction of stock exchange, providing gold"
|
||||
},
|
||||
{
|
||||
name:"Replaceable Parts",
|
||||
@ -356,7 +356,88 @@
|
||||
name:"Railroad",
|
||||
row:8,
|
||||
prerequisites:["Steam Power","Dynamite"],
|
||||
description:"Allows construction of railroads, providing fast transport and a 25% production boost to cities - todo"
|
||||
description:"Allows construction of railroads, providing fast transport and a 25% production boost to cities"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
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 policie"
|
||||
},
|
||||
{
|
||||
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,
|
||||
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"
|
||||
},
|
||||
{
|
||||
name:"Electronics",
|
||||
row:5,
|
||||
prerequisites:["Electricity"],
|
||||
description:"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"
|
||||
},
|
||||
{
|
||||
name:"Radar",
|
||||
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"],
|
||||
description:"Contributes only war-relatied things - on hold until AI is introduced - todo"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -142,7 +142,12 @@ public class CityBuildings
|
||||
{
|
||||
FullStats stats = new FullStats();
|
||||
for(Building building : getBuiltBuildings()) stats.add(building);
|
||||
if(getCity().getBuildingUniques().contains("SciencePer2Pop")) stats.science+=getCity().population/2; // Library unique
|
||||
stats.science += getCity().getBuildingUniques().count(new Predicate<String>() {
|
||||
@Override
|
||||
public boolean evaluate(String arg0) {
|
||||
return arg0.equals("SciencePer2Pop");
|
||||
}
|
||||
}) * getCity().population/2; // Library and public school unique (not actualy unique, though...hmm)
|
||||
return stats;
|
||||
}
|
||||
|
||||
|
@ -122,7 +122,8 @@ public class CityInfo {
|
||||
stats.production += getFreePopulation();
|
||||
stats.food -= population * 2;
|
||||
|
||||
if(!isCapital() && isConnectedToCapital()) { // Calculated by http://civilization.wikia.com/wiki/Trade_route_(Civ5)
|
||||
if(!isCapital() && isConnectedToCapital(RoadStatus.Road)) {
|
||||
// Calculated by http://civilization.wikia.com/wiki/Trade_route_(Civ5)
|
||||
double goldFromTradeRoute = CivilizationInfo.current().getCapital().population * 0.15
|
||||
+ population * 1.1 - 1;
|
||||
if(CivilizationInfo.current().getBuildingUniques().contains("TradeRouteGoldIncrease")) goldFromTradeRoute*=1.25; // Machu Pichu speciality
|
||||
@ -132,6 +133,7 @@ public class CityInfo {
|
||||
stats.add(cityBuildings.getStats());
|
||||
|
||||
FullStats statPercentBonuses = cityBuildings.getStatPercentBonuses();
|
||||
if(isConnectedToCapital(RoadStatus.Railroad)) statPercentBonuses.production += 25;
|
||||
stats.food*=1+statPercentBonuses.food/100;
|
||||
stats.gold*=1+statPercentBonuses.gold/100;
|
||||
stats.production*=1+statPercentBonuses.production/100;
|
||||
@ -246,7 +248,7 @@ public class CityInfo {
|
||||
|
||||
private boolean isCapital(){ return CivilizationInfo.current().getCapital() == this; }
|
||||
|
||||
private boolean isConnectedToCapital(){
|
||||
private boolean isConnectedToCapital(RoadStatus roadType){
|
||||
TileInfo capitalTile = CivilizationInfo.current().getCapital().getTile();
|
||||
LinqCollection<TileInfo> tilesReached = new LinqCollection<TileInfo>();
|
||||
LinqCollection<TileInfo> tilesToCheck = new LinqCollection<TileInfo>();
|
||||
@ -255,7 +257,9 @@ public class CityInfo {
|
||||
LinqCollection<TileInfo> newTiles = new LinqCollection<TileInfo>();
|
||||
for(TileInfo tile : tilesToCheck)
|
||||
for (TileInfo maybeNewTile : getTileMap().getTilesInDistance(tile.position,1))
|
||||
if(!tilesReached.contains(maybeNewTile) && !tilesToCheck.contains(maybeNewTile) && !newTiles.contains(maybeNewTile))
|
||||
if(!tilesReached.contains(maybeNewTile) && !tilesToCheck.contains(maybeNewTile) && !newTiles.contains(maybeNewTile)
|
||||
&& (roadType != RoadStatus.Road || maybeNewTile.roadStatus != RoadStatus.None)
|
||||
&& (roadType!=RoadStatus.Railroad || maybeNewTile.roadStatus == roadType))
|
||||
newTiles.add(maybeNewTile);
|
||||
|
||||
if(newTiles.contains(capitalTile)) return true;
|
||||
@ -277,7 +281,7 @@ public class CityInfo {
|
||||
public String GetBy(Building arg0) {
|
||||
return arg0.unique;
|
||||
}
|
||||
}).unique();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user