Added Hubble Space Telescope wonder, Stable unique ability

Added missing translations
This commit is contained in:
Yair Morgenstern 2019-01-16 21:26:14 +02:00
parent 2df64861d1
commit 49ed7570f8
10 changed files with 257 additions and 212 deletions

View File

@ -206,7 +206,7 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc
* [Nuclear Plant](https://thenounproject.com/term/nuclear-plant/1132340/) By Andrejs Kirma
### Future Era
* [Hubble Telescope](https://thenounproject.com/search/?q=hubble%20space&i=445502) By Scott Lewis for Hubble Space Telescope
* [Missile](https://thenounproject.com/term/missile/799922/) By ProSymbols for SS Booster
* [Rocket](https://thenounproject.com/term/rocket/937173/) By BomSymbols for SS Cockpit
* [Engine](https://thenounproject.com/term/engine/1877958/) By Andre for SS Engine

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 KiB

After

Width:  |  Height:  |  Size: 846 KiB

View File

@ -133,6 +133,7 @@
requiredNearbyImprovedResources:["Horses","Sheep","Cattle"]
resourceBonusStats:{production:1},
hurryCostModifier:25,
uniques:["+15% Production when building Mounted Units in this city"]
requiredTech:"Horseback Riding"
},
{
@ -627,6 +628,15 @@
// Future Era
{
name:"Hubble Space Telescope",
cost:1250,
isWonder:true,
providesFreeBuilding: "Spaceship Factory",
uniques:["2 free great scientists appear",
"Increases production of spaceship parts by 25%"],
requiredTech:"Satellites"
},
{
name:"SS Cockpit",
requiredResource:"Aluminum",

View File

@ -2616,6 +2616,7 @@
Simplified_Chinese:"电子"
Portuguese:"Eletronicos"
}
"Ballistics":{}
"Mass Media":{
Italian:"Mass media"
Russian:"СМИ"
@ -4231,6 +4232,8 @@
Simplified_Chinese:"马厩"
Portuguese:"Estabulos"
}
"+15% Production when building Mounted Units in this city":{}
"Circus Maximus":{
Italian:"Circo Maximus"
Russian:"Цирк Максимус"
@ -4816,6 +4819,9 @@
Portuguese:"Provem 1 felicade por política social"
}
"Statue of Liberty":{}
"+1 Production from specialists":{}
"Medical Lab":{
Italian:"Laboratorio medico"
Russian:"Медицинская лаборатория"
@ -4945,6 +4951,11 @@
Simplified_Chinese:"宇宙飞船的部件"
Portuguese:"Parte de Nave Espacial"
}
"Hubble Space Telescope":{}
"2 free great scientists appear":{}
"Increases production of spaceship parts by 25%":{}
"SS Booster":{ //no translation that I know of
Italian:"Propulsore dell'astronave"
Spanish:"Potenciador (Nave espacial)"

View File

@ -6,6 +6,7 @@ import com.unciv.logic.map.RoadStatus
import com.unciv.models.gamebasics.Building
import com.unciv.models.gamebasics.GameBasics
import com.unciv.models.gamebasics.unit.BaseUnit
import com.unciv.models.gamebasics.unit.UnitType
import com.unciv.models.stats.Stat
import com.unciv.models.stats.Stats
@ -230,10 +231,23 @@ class CityStats {
return stats
}
private fun getStatPercentBonusesFromWonders(): Stats {
private fun getStatPercentBonusesFromBuildings(): Stats {
val stats = Stats()
val civUniques = cityInfo.civInfo.getBuildingUniques()
if (civUniques.contains("Culture in all cities increased by 25%")) stats.culture += 25f
val currentConstruction = cityInfo.cityConstructions.getCurrentConstruction()
if(currentConstruction is Building && currentConstruction.uniques.contains("Spaceship part")){
if(civUniques.contains("Increases production of spaceship parts by 25%"))
stats.production += 25
if(cityInfo.getBuildingUniques().contains("Increases production of spaceship parts by 50%"))
stats.production += 50
}
if(currentConstruction is BaseUnit && currentConstruction.unitType==UnitType.Mounted
&& cityInfo.getBuildingUniques().contains("+15% Production when building Mounted Units in this city"))
stats.production += 15
return stats
}
@ -295,7 +309,7 @@ class CityStats {
newStatPercentBonusList["Golden Age"]=getStatPercentBonusesFromGoldenAge(cityInfo.civInfo.goldenAges.isGoldenAge())
newStatPercentBonusList["Policies"]=getStatPercentBonusesFromPolicies(civInfo.policies.adoptedPolicies, cityInfo.cityConstructions)
// from wonders - Culture in all cities increased by 25%
newStatPercentBonusList["Wonders"]=getStatPercentBonusesFromWonders()
newStatPercentBonusList["Buildings"]=getStatPercentBonusesFromBuildings()
newStatPercentBonusList["Railroad"]=getStatPercentBonusesFromRailroad()
newStatPercentBonusList["Marble"]=getStatPercentBonusesFromMarble()
newStatPercentBonusList["Computers"]=getStatPercentBonusesFromComputers()

View File

@ -390,10 +390,9 @@ class CivilizationInfo {
notifications.add(Notification(text, location,color))
}
fun addGreatPerson(greatPerson: String) {
val randomCity = cities.getRandom()
placeUnitNearTile(cities.getRandom().location, greatPerson)
addNotification("A [$greatPerson] has been born!".tr(), randomCity.location, Color.GOLD)
fun addGreatPerson(greatPerson: String, city:CityInfo = cities.getRandom()) {
placeUnitNearTile(city.location, greatPerson)
addNotification("A [$greatPerson] has been born!".tr(), city.location, Color.GOLD)
}
fun placeUnitNearTile(location: Vector2, unitName: String): MapUnit {

View File

@ -239,8 +239,12 @@ class Building : NamedStats(), IConstruction{
when {
"Empire enters golden age" in uniques -> civInfo.goldenAges.enterGoldenAge()
"Free Great Artist Appears" in uniques -> civInfo.addGreatPerson("Great Artist")
"Free great scientist appears" in uniques -> civInfo.addGreatPerson("Great Scientist")
"Free Great Artist Appears" in uniques -> civInfo.addGreatPerson("Great Artist", construction.cityInfo)
"Free great scientist appears" in uniques -> civInfo.addGreatPerson("Great Scientist", construction.cityInfo)
"2 free great scientists appear" in uniques -> {
civInfo.addGreatPerson("Great Scientist", construction.cityInfo)
civInfo.addGreatPerson("Great Scientist", construction.cityInfo)
}
"Provides 2 free workers" in uniques -> {
civInfo.placeUnitNearTile(construction.cityInfo.location, "Worker")
civInfo.placeUnitNearTile(construction.cityInfo.location, "Worker")

View File

@ -33,17 +33,17 @@ class LoadScreen : PickerScreen() {
topTable.add(saveTable)
val saves = GameSaver().getSaves()
rightSideButton.setText("Load game".tr())
saves.forEach {
val textButton = TextButton(it,skin)
for (save in saves) {
val textButton = TextButton(save,skin)
textButton.onClick {
selectedSave=it
selectedSave=save
var textToSet = it
var textToSet = save
val savedAt = Date(GameSaver().getSave(it).lastModified())
val savedAt = Date(GameSaver().getSave(save).lastModified())
textToSet+="\n{Saved at}: ".tr()+ SimpleDateFormat("dd-MM-yy HH.mm").format(savedAt)
try{
val game = GameSaver().loadGame(it)
val game = GameSaver().loadGame(save)
val playerCivNames = game.civilizations.filter { it.isPlayerCivilization() }.joinToString{it.civName.tr()}
textToSet+="\n"+playerCivNames+
", "+game.difficulty.tr()+", {Turn} ".tr()+game.turns
@ -51,7 +51,7 @@ class LoadScreen : PickerScreen() {
textToSet+="\n{Could not load game}!".tr()
}
descriptionLabel.setText(textToSet)
rightSideButton.setText("Load [$it]".tr())
rightSideButton.setText("Load [$save]".tr())
rightSideButton.enable()
deleteSaveButton.enable()
deleteSaveButton.color= Color.RED