Added education buildings

This commit is contained in:
Yair Morgenstern
2017-11-25 23:51:58 +02:00
parent 279269d4a3
commit c8dd598438
7 changed files with 52 additions and 13 deletions

Binary file not shown.

View File

@ -64,7 +64,7 @@
},
{
"Name":"Oracle",
"Description": "Provides a free social policy - HOW????",
"Description": "Provides a free social policy - todo",
"Culture":3,
"IsWonder":true,
"RequiredTech":"Philosophy"
@ -135,7 +135,7 @@
},
{
"Name":"Machu Pichu",
"Description": "Gold from all trade routes +25%. Can only be built on cities with mountain in range of 2 tiles - this is a problem!",
"Description": "Gold from all trade routes +25%. Can only be built on cities with mountain in range of 2 tiles - todo",
"Gold":5,
"Culture":1,
"IsWonder":true,
@ -143,7 +143,7 @@
},
{
"Name":"Aqueduct",
"Description": "40% of food is carried over after a new citizen is born - HOW?!?!?!",
"Description": "40% of food is carried over after a new citizen is born - TODO",
"Maintainance":1,
"Food":2,
"RequiredTech":"Engineering"
@ -163,5 +163,32 @@
"ResourceRequired":true,
"ResourceBonusStats":{"Production":1},
"RequiredTech":"Metal Casting"
},
{
"Name":"University",
"Description": "Jungles provide +2 science",
"Maintainance":2,
"PercentStatBonus":{"Science":33},
"RequiredBuilding":"Library",
"RequiredTech":"Metal Casting"
},
{
"Name":"Oxford University",
"Description": "+50% science from this city",
"Science":3,
"Culture":1,
"FreeTechs":1,
"IsWonder":true,
"RequiredBuildingInAllCities":"University",
"RequiredTech":"Education"
},
{
"Name":"Angkor Wat",
"Description": "Cost of aquiring new tiles reduced by 25% - TODO",
"Culture":1,
"IsWonder":true,
"NewTileCostReduction":25,
"RequiredTech":"Education"
}
]

View File

@ -101,7 +101,7 @@
"Name":"Mathematics",
"Row":7,
"Prerequisites":["The Wheel"],
"Description": "Serves as a stepping stone to other technologies. Also enables construction of the Hanging Gardens wonder."
"Description": "Enables construction of the Hanging Gardens wonder."
},
{
"Name":"Construction",
@ -172,7 +172,7 @@
"Name":"Education",
"Row":3,
"Prerequisites":["Theology","Civil Service"],
"Description":"???"
"Description":"Allows cities to convert production to science, construction of Universities which provide science, and construction of the Angkor Wat wonder"
},
{
"Name":"Chivalry",

View File

@ -21,8 +21,8 @@ android {
applicationId "com.unciv.game"
minSdkVersion 9
targetSdkVersion 25
versionCode 3
versionName "1.0"
versionCode 4
versionName "0.9"
}
buildTypes {
release {

View File

@ -3,6 +3,7 @@ package com.unciv.civinfo;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Predicate;
import com.unciv.game.UnCivGame;
import com.unciv.models.LinqCollection;
import com.unciv.models.gamebasics.Building;
import com.unciv.models.gamebasics.GameBasics;
import com.unciv.models.stats.FullStats;
@ -25,7 +26,7 @@ public class CityBuildings
cityLocation = cityInfo.cityLocation;
}
public ArrayList<String> BuiltBuildings = new ArrayList<String>();
public LinqCollection<String> BuiltBuildings = new LinqCollection<String>();
public HashMap<String, Integer> InProgressBuildings = new HashMap<String, Integer>();
public String CurrentBuilding = Worker; // default starting building!
@ -34,6 +35,12 @@ public class CityBuildings
public boolean IsBuilding(String buildingName) { return CurrentBuilding.equals(buildingName); }
Building GetGameBuilding(String buildingName) { return GameBasics.Buildings.get(buildingName); }
public LinqCollection<Building> GetBuiltBuildings(){ return BuiltBuildings.select(new LinqCollection.Func<String, Building>() {
@Override
public Building GetBy(String arg0) {
return GetGameBuilding(arg0);
}
}); }
public void NextTurn(int ProductionProduced)
{
@ -94,7 +101,7 @@ public class CityBuildings
@Override
public boolean evaluate(CityInfo arg0) {
CityBuildings CB = arg0.cityBuildings;
return CB.IsBuilt(building.Name) || CB.IsBuilt(building.Name);
return CB.IsBuilding(building.Name) || CB.IsBuilt(building.Name);
}
}) ) return false;
if (building.RequiredBuilding != null && !IsBuilt(building.RequiredBuilding)) return false;

View File

@ -5,6 +5,7 @@ import com.badlogic.gdx.utils.Predicate;
import com.unciv.game.HexMath;
import com.unciv.game.UnCivGame;
import com.unciv.models.LinqCollection;
import com.unciv.models.gamebasics.Building;
import com.unciv.models.gamebasics.ResourceType;
import com.unciv.models.gamebasics.TileResource;
import com.unciv.models.stats.FullStats;

View File

@ -1,14 +1,18 @@
package com.unciv.models.gamebasics;
import com.unciv.models.LinqHashMap;
import com.unciv.models.stats.FullStats;
import com.unciv.models.stats.NamedStats;
import java.util.Dictionary;
public class Building extends NamedStats implements ICivilopedia {
public String Description;
public String RequiredTech;
public Technology GetRequiredTech(){return GameBasics.Technologies.get(RequiredTech);}
public int Cost;
public int Maintainance = 0;
public com.unciv.models.stats.FullStats PercentStatBonus = new com.unciv.models.stats.FullStats();
public FullStats PercentStatBonus = new FullStats();
//public Func<CityInfo,FullStats> GetFlatBonusStats;
public boolean IsWonder = false;
public boolean ResourceRequired = false;
@ -18,13 +22,13 @@ public class Building extends NamedStats implements ICivilopedia {
// Uniques
public String ProvidesFreeBuilding;
public int FreeTechs;
public int NewTileCostReduction;
/** The bonus stats that a resource gets when this building is built */
public com.unciv.models.stats.FullStats ResourceBonusStats;
public FullStats ResourceBonusStats;
public String GetDescription() {
com.unciv.models.stats.FullStats stats = new com.unciv.models.stats.FullStats(this);
FullStats stats = new FullStats(this);
StringBuilder stringBuilder = new StringBuilder();
if(IsWonder) stringBuilder.append("Wonder\r\n");
stringBuilder.append(Description + "\r\n" + stats);