This commit is contained in:
YueR 2019-10-06 06:39:14 +08:00
commit 000b710ebc
8 changed files with 123 additions and 82 deletions

View file

@ -153,6 +153,7 @@
}
"Free Technology":{
Italian:"Dona una tecnologia gratuita"
Simplified_Chinese:"获得1项免费科技"
}

View file

@ -413,6 +413,10 @@
Russian:"Может, у вас слишком много игроков для такой небольшой карты?"
}
"No human players selected!":{
Italian:"È necessario almeno un giocatore umano!"
}
////////////// Save and load game

View file

@ -1041,6 +1041,14 @@
Russian:"Очки за ход"
}
"Convert production to gold at a rate of 4 to 1":{
Italian:"Converte la Produzione a Oro a un tasso di 4 a 1"
}
"Convert production to science at a rate of 4 to 1":{
Italian:"Converte la Produzione a Scienza a un tasso di 4 a 1"
}
////// Tech picker
"Pick a tech":{

View file

@ -3,7 +3,7 @@
///////// Unit types
"Civilian":{
Italian:"civile" //Unità civile
Italian:"unità civile" //Unità civile
Russian:"Мирный"
French:"Civile"
Romanian:"Civil"
@ -34,7 +34,7 @@
"WaterCivilian":{ // In the file "Uints.json", every unit have the "unitType", i think we should show the "unitType" in wiki,because some units get a bonus attack to other units.
English:"Water Civilian"
Italian:"marittima civile" //Unità marittima civile
Italian:"unità marittima civile" //Unità marittima civile
Simplified_Chinese:"海上平民单位"
French:"Civil embarqué"
Russian:"Мирный, морской"
@ -1429,7 +1429,7 @@
}
"Bonus vs [unitType]":{
Italian:"Bonus contro unità [unitType]" // es. Bonus contro unità da tiro
Italian:"Bonus contro [unitType]" // es. Bonus contro unità da tiro
Russian:"Бонус против [unitType]"
French:"Bonus contre [unitType]"
Romanian:"Bonus contra [unitType]"
@ -1441,7 +1441,7 @@
}
"Penalty vs [unitType]":{
Italian:"Malus contro unità [unitType]"
Italian:"Malus contro [unitType]"
Russian:"Штраф против [unitType]"
French:"Pénalité contre [unitType]"
Romanian:"Penalizare contra [unitType]"
@ -1968,7 +1968,7 @@
}
"1 extra Interception may be made per turn":{
Italian:"Può eseguire 1 Intercettazione extra per turno"
Italian:"Può eseguire un'Intercettazione extra per turno"
French:"1 interception supplémentaire par tour"
Russian:"+1 Перехват за ход"
Simplified_Chinese:"1额外拦截次数/回合"

View file

@ -12,7 +12,7 @@
" bonus quanto tutte le sue politiche sono state adottate."
],
[
"Ad ogni politica adottata, e ad ogni nuova città fondata, il costo ",
"Per ogni politica adottata, e per ogni nuova città fondata, il costo ",
" di adozione per un'altra politica aumenta, quindi pianifica con cautela!"
]
],
@ -20,14 +20,14 @@
CityEntered: [
[
"Benvenuto nella tua prima città!",
"Per ora, possiedi solo 1 abitante, ma la popolazione crescerà quando possiedi del cibo in eccesso",
"Per ora, possiede solo 1 abitante, ma la popolazione crescerà quando possiedi del cibo in eccesso",
"In modo simile, la città espanderà i suoi confini quando accumulerà cultura sufficiente, ",
" che normalmente non si genera dalle caselle, ma piuttosto dagli edifici."
],
[
"Ogni abitante nella tua città può sfruttare una singola casella, dando alla città gli introiti della casella.",
"Ogni abitante nella tua città può sfruttare una singola casella, dando alla città gli introiti che essa contiene.",
"Puoi assegnare e togliere lavoro agli abitanti cliccando sulle caselle, ",
" ma, ovviamente, puoi dare lavoro solo se hai ancora abitanti non attivi."
" ma, ovviamente, puoi dare lavoro solo se possiedi abitanti non attivi."
],
[
"La casella centrale di una città è sempre sfruttata e non richiede abitanti, ",
@ -60,7 +60,7 @@
CityFounded : [
[
"Hai fondato una città!",
"Le Città sono la linfa vitale del tuo impero, perchè producono globalmente,",
"Le Città sono la linfa vitale del tuo impero, perchè producono globalmente ",
" oro e scienza, che puoi vedere nella barra superiore.",
"Clicca sul nome della città per entrare nella schermata cittadina, dove puoi assegnare ",
" abitanti, scegliere la produzione, e vedere le informazioni della Città."
@ -87,7 +87,7 @@
"Salve! Benvenuto su Unciv!",
"I giochi di tipo Civilization possono essere complessi, quindi ti guideremo passo dopo passo.",
"La tua prima missione è fondare la tua Città Capitale.",
"È invero assai importante perché la tua Capitale sarà la tua Città più prospera.",
"È invero assai importante perché di solito la tua Capitale sarà la tua Città più prospera.",
"Molti dei bonus del gioco si applicano solo sulla tua Capitale, centro del tuo impero."
],
[
@ -96,12 +96,12 @@
"Le risorse di lusso sono caselle che possiedono oggetti come gemme, cotome o seta, "
" (e sono indicate da un sorriso vicino all'icona della risorsa)",
"Queste risorse rendono felici i tuoi cittadini."
"Tieni d'occhio anche le risorse necessarie per costruire alcune unità e strutture, come il Ferro."
"Tieni d'occhio anche le risorse necessarie per costruire alcune unità e strutture, come il Ferro o i Cavalli."
],
[
"Le Città, però, non hanno un'area predefinita dove possono lavorare (ce ne occuperemo dopo), "
" quindi non è obbligatorio fondare città vicino alle risorse.",
"Mettiamo, per esempio, che tu voalia usare del Ferro ma la risorse si trova vicino a un deserto."
"Mettiamo, per esempio, che tu voglia usare del Ferro ma la risorsa si trova vicino a un deserto."
"Non serve fondare la città accanto a quel deserto, e puoi invece farlo qualche casella più in là, ",
" in terre più prospere, e, con un po' di fortuna, la città, crescendo, avrà accesso alla risorsa.",
"Se ti serve subito, però, sarà necessario fondarla nelle sue immediate vicinanze, ",
@ -120,15 +120,15 @@
"All'aumentare della popolazione troverai sempre più difficile mantenerne la felicità."
],
[
"Inolte, per costruire degli edifici che incrementano la Felicità, dovrai ricercarne l'apposita tecnologia.",
"Controlla la tua Felicità (indicata da un sorriso nella barra superiore dell'interfaccia): se scende",
" sotto lo zero, non solo la tua economia ne avrà da soffrire, ma i tuoi eserciti",
" avranno una tremenda penalità inflitta alla loro efficacia in combattimento."
"Inoltre, per costruire degli edifici che incrementano la Felicità, dovrai ricercarne l'apposita tecnologia.",
"Controlla la tua Felicità (indicata da un sorriso nella barra superiore dell'interfaccia): ",
" se scende sotto lo zero, non solo la tua economia ne avrà da soffrire, ",
" ma i tuoi eserciti avranno una pessima penalità inflitta alla loro efficacia in combattimento."
],
[
"Questa è la ragione per cui è molto difficile espandersi rapidamente in Unciv.",
"Non è certo impossibile, ma come nuovo giocatore non dovresti farlo.",
"Pertanto, basta fare con calma, esplora, e migliora i tuoi terreni utilizzando i Lavoratori.",
"Pertanto, basta fare con calma, esplorare, e migliorare i tuoi terreni utilizzando i Lavoratori.",
"Se vuoi fondare nuove Città, fallo solo su punti che credi appropriati."
],
],
@ -170,8 +170,8 @@
NextTurn: [
[
"Nei tuoi primi turni, avrai ben poche opzioni, ma con il crescere della tua civiltà, lo stesso accadrà ",
" alla quantità di cose che richiedono la tua attenzione."
"Nei tuoi primi turni, avrai ben poche opzioni, ma con il crescere della tua civiltà, aumenterà anche ",
" la quantità di cose che richiedono la tua attenzione."
]
[
"Ah, dimenticavo! Qualsiasi cosa tu faccia, nelle prime fasi del gioco ricordati sempre ",
@ -184,7 +184,7 @@
ContactMe: [
[
"Salve! Se sei giunto/a fin qui, forse avrai visto che il gioco è al momento incompleto.",
"UnCiv dovrebbe essere open-source e gratuito per sempre, quindi nessuna pubblicità o altre siocchezze."
"UnCiv dovrebbe essere open-source e gratuito per sempre, quindi privo di pubblicità o altre siocchezze."
],
[
"Ciò che mi motiva a continuare il progetto, oltre al fatto che è fantastico, ",
@ -220,25 +220,9 @@
[
"Sei entrato in un'Età dell'Oro! Che fortuna!",
"I punti Età dell'Oro si accumulano ad ogni turno dalla felicità totale della tua civiltà.",
"Durante l'Età dell'Oro, generi Cultura e Produzione il 20% in più, ",
"Durante l'Età dell'Oro, generi il 20% in più di Cultura e Produzione, ",
" e ogni casella che frutta minimo un punto Oro ne frutta uno aggiuntivo."
]
[
"Fondate le tue prime due/tre Città saranno passati già almeno 100/150 turni di gioco.",
"Ora dovresti pensare a come, esattamente, vorresti vincere... se non l'hai già pensato."
],
[
"Tre sono i modi per vincere una partita qualsiasi Unciv. Eccole:",
"Culturale: Completa 4 Rami delle Politiche",
"Dominazione: Sopravvivi come l'ultima civiltà",
"Scientifica: Costruisci per primo un'astronave per Alpha Centauri"
],
[
"Riassumendo, queste sono le basi perUnciv.",
"Fonda una capitale prospera, espanditi lentamente per gestire la tua felicità ed economia, ",
" e impostati una condizione di vittoria che desideri conseguire.",
"Ovviamente, vi è molto più di questo, ma prima di tuffarti dovresti innanzitutto imparare a nuotare.",
]
],
SecondCity: [
@ -248,6 +232,22 @@
"Nota che ogni strada costa 1 Oro di manutenzione al turno, quindi attendi di "
" possedere una forte economia finché le città crescono!"
]
[
"Fondate le tue prime due/tre Città, saranno passati già almeno 100/150 turni di gioco.",
"Ora dovresti pensare a come, esattamente, vorresti vincere... se non l'hai già fatto."
],
[
"Tre sono i modi per vincere una partita qualsiasi in Unciv:",
"Culturale: Completa 4 Rami delle Politiche Sociali",
"Dominazione: Sopravvivi come l'ultima civiltà distruggendo tutte le altre",
"Scientifica: Costruisci per primo un'astronave per Alpha Centauri riunendone tutte le parti dell'astronave"
],
[
"Riassumendo, queste sono le basi per Unciv.",
"Fonda una capitale prospera, espanditi lentamente per gestire la tua felicità ed economia, ",
" e impostati una condizione di vittoria che desideri conseguire.",
"Ovviamente, vi è molto più di questo, ma prima di tuffarti dovresti innanzitutto imparare a nuotare.",
]
],
EnemyCity: [
@ -287,6 +287,22 @@
]
],
ConqueredEnemyCity: [
[
"Hai conquistato una città nemica!",
"Ora puoi scegliere se raderla al suolo, ridurla a stato fantoccio o annetterla al tuo impero.",
"Se scegli la prima opzione, la città perderà un abitante al turno, fino a scomparire del tutto."
],
[
"Porla come stato fantoccio non ti consente di controllarne la produzione, ma in compenso",
" non incrementerà i tuoi costi tecnologici o di politica, e la popolazione genererà "
" soltanto un'infelicità 1.5 volte superiore alla norma.",
"Se annetti la città, potrai farne quello che desideri, ma l'infelicità della popolazione sarà raddoppiata!",
"Puoi mitigare il tutto costruendo un palazzo di giustizia, ripristinando l'infelicità della popolazione.",
"Puoi annettere una città fantoccio quando vuoi, ma ricorda che è un processo irreversibile!"
]
],
BarbarianEncountered: [
[
"Hai incontrato un'unità barbarica!",

View file

@ -48,7 +48,8 @@ class CivInfoStats(val civInfo: CivilizationInfo){
}
}
}
if (civInfo.policies.isAdopted("Trade Unions")) transportationUpkeep *= (2 / 3f).toInt()
if (civInfo.policies.isAdopted("Trade Unions"))
transportationUpkeep = (transportationUpkeep * 2 / 3f).toInt()
return transportationUpkeep
}
@ -101,6 +102,7 @@ class CivInfoStats(val civInfo: CivilizationInfo){
val statMap = HashMap<String, Float>()
statMap["Base happiness"] = civInfo.getDifficulty().baseHappiness.toFloat()
// TODO - happinessPerUnique should be difficulty-dependent, 5 on Settler and Chieftian and 4 on other difficulties (should be parameter, not in code)
var happinessPerUniqueLuxury = 4f + civInfo.getDifficulty().extraHappinessPerLuxury
if (civInfo.policies.isAdopted("Protectionism")) happinessPerUniqueLuxury += 1
statMap["Luxury resources"]= civInfo.getCivResources().map { it.resource }

View file

@ -1,12 +1,12 @@
package com.unciv.logic.map
import com.badlogic.gdx.math.Vector2
import com.unciv.models.metadata.GameParameters
import com.unciv.logic.GameInfo
import com.unciv.logic.HexMath
import com.unciv.logic.MapSaver
import com.unciv.logic.civilization.CivilizationInfo
import com.unciv.models.gamebasics.GameBasics
import com.unciv.models.metadata.GameParameters
class TileMap {
@ -74,13 +74,22 @@ class TileMap {
fun placeUnitNearTile(position: Vector2, unitName: String, civInfo: CivilizationInfo): MapUnit? {
val unit = GameBasics.Units[unitName]!!.getMapUnit()
val tilesInDistance = getTilesInDistance(position, 2)
unit.assignOwner(civInfo,false) // both the civ name and actual civ need to be in here in order to calculate the canMoveTo...Darn
var unitToPlaceTile = tilesInDistance.firstOrNull { unit.movement.canMoveTo(it) && (unit.type.isWaterUnit() || it.isLand) }
if (unitToPlaceTile==null)
unitToPlaceTile = tilesInDistance.firstOrNull { unit.movement.canMoveTo(it) }
if(unitToPlaceTile!=null) { //see if a land unit can be placed on land. if impossible, put it on water.
fun isTileMovePotential(tileInfo:TileInfo): Boolean {
if(unit.type.isWaterUnit()) return tileInfo.isWater || tileInfo.isCityCenter()
else return tileInfo.isLand
}
var viableTilesToPlaceUnitIn = getTilesInDistance(position, 1).filter { isTileMovePotential(it) }
// This is so that units don't skip over non-potential tiles to go elsewhere -
// e.g. a city 2 tiles away from a lake could spawn water units in the lake...Or spawn beyond a mountain range...
viableTilesToPlaceUnitIn = viableTilesToPlaceUnitIn.union(getTilesAtDistance(position, 2))
.filter { isTileMovePotential(it) && it.neighbors.any { n->n in viableTilesToPlaceUnitIn } }
unit.assignOwner(civInfo,false) // both the civ name and actual civ need to be in here in order to calculate the canMoveTo...Darn
val unitToPlaceTile = viableTilesToPlaceUnitIn.firstOrNull { unit.movement.canMoveTo(it) }
if(unitToPlaceTile!=null) {
// only once we know the unit can be placed do we add it to the civ's unit list
unit.putInTile(unitToPlaceTile)
unit.currentMovement = unit.getMaxMovement().toFloat()

View file

@ -271,7 +271,8 @@ class WorldScreenOptionsTable(val worldScreen:WorldScreen) : PopupTable(worldScr
GameBasics.Translations.getLanguages().map { Language(it) }.sortedByDescending { it.percentComplete }
.forEach { languageArray.add(it) }
languageSelectBox.items = languageArray
languageSelectBox.selected = languageArray.first { it.language == UnCivGame.Current.settings.language }
val matchingLanguage = languageArray.firstOrNull { it.language == UnCivGame.Current.settings.language }
languageSelectBox.selected = if (matchingLanguage != null) matchingLanguage else languageArray.first()
innerTable.add(languageSelectBox).pad(10f).row()
languageSelectBox.addListener(object : ChangeListener() {