update
This commit is contained in:
commit
d75bb46b99
8 changed files with 78 additions and 29 deletions
BIN
android/Images/FlagIcons/Thai.png
Normal file
BIN
android/Images/FlagIcons/Thai.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
|
@ -48,7 +48,7 @@
|
|||
declaringWar:"Sei sulla mia strada, e pertanto devo distruggerti."
|
||||
attacked:"Ad essere onesto, mi sono stancato di starmene impalato e di riposare sugli allori. Vieni, le mie armate ti accoglieranno a braccia aperte!"
|
||||
defeated:"Così come in fretta era iniziata, così ora la mia lunga marcia giunge alla fine."
|
||||
introduction:"Benvenuto, straniero! Sono Alexandros, figlio di re e nipote degli dei! Cerco amici gagliardi o nemici degni della mia lama. A quale dei due gruppi appartieni?"
|
||||
introduction:"Benvenuto, straniero! Sono Alexandros, erede di Eracle, figlio di re e nipote degli dei! Cerco amici gagliardi o nemici degni della mia lama. A quale dei due gruppi appartieni?"
|
||||
|
||||
neutralHello:"Saluti..."
|
||||
neutralLetsHearIt:["Ti ascolto.","Avanti.","Sì?","Parla."]
|
||||
|
@ -65,10 +65,8 @@
|
|||
|
||||
outerColor:[181, 232, 232],
|
||||
innerColor:[68,142,249],
|
||||
/*
|
||||
uniqueName:"Lega Ellenica",
|
||||
unique:"L'Influenza delle Città-Stato cala il doppio più lentamente e cresce il doppio rispetto al normale.",
|
||||
*/
|
||||
cities:["Atene","Sparta","Corinto","Argo","Cnosso","Micene","Farsalo","Efeso","Alicarnasso","Rodi",
|
||||
"Eretria","Pergamo","Mileto","Megara","Focea","Sicyon","Tirinto","Samo","Mitilene","Chio",
|
||||
"Paros","Ellis","Siracusa","Eracleia","Gortyn","Chalkis","Pilo","Pella","Naxos"]
|
||||
|
@ -85,7 +83,7 @@
|
|||
declaringWar:"Non ti permetterò più di infastidirmi. Preparati a incontrare Yama."
|
||||
attacked:"Folle! Ti costringerò a guardare il tuo popolo venire massacrato!"
|
||||
defeated:"Ti sei dimostrato un avversario astuto e competente. Mi congratulo per la tua vittoria."
|
||||
introduction:"Saluti! Sono l'imperatrice della Cina Wu Zetian. La Cina desidera solo una coesistenza pacifica e un commercio equo, ma risponderà con la forza a ogni aggressione. Spero che condividiate la nostra visione."
|
||||
introduction:"Saluti! Sono l'imperatrice della Cina, Wu Zetian. La Cina desidera solo una coesistenza pacifica e un commercio equo, ma risponderà con la forza a ogni aggressione. Spero che condividiate la nostra visione."
|
||||
|
||||
neutralHello:"Bella giornata, oggi, vero?"
|
||||
neutralLetsHearIt:["Continua.","Ebbene?","Dunque?"]
|
||||
|
@ -265,7 +263,7 @@
|
|||
declaringWar:"Il mio tesoro va scarseggiando e i miei soldati si stanno spazientendo... <sigh> ...pertanto, credo proprio che dovrò muoverti guerra. Alea jacta eat - il dado è tratto!"
|
||||
attacked:"La tua arroganza sarà la tua rovina! Nessun potere, per quanto prode o forte, può sconfiggere Roma!"
|
||||
defeated:"Gli dei hanno privato Roma del loro favore. Siamo stati sconfitti."
|
||||
introduction:"Ave. Sono Augusto, Princeps, Imperator e Pontifex Maximus di Roma. Se sei amico di Roma, sei il benvenuto."
|
||||
introduction:"Ave. Sono Augusto, Princeps, Imperator e Pontifex Maximus di Roma. Se sei amico di Roma, sei il benvenuto, ma sappi che Roma è mortale contro i suoi nemici."
|
||||
|
||||
neutralHello:"Saluti."
|
||||
neutralLetsHearIt:["Comincia pure.","Continua."]
|
||||
|
@ -300,7 +298,7 @@
|
|||
declaringWar:"Invero, è un peccato che dobbiamo passare alle maniere forti... non è tradizione per un re uccidere un altro re, né per un regno uccidere un altro regno."
|
||||
attacked:"Ti avverto almeno di non farti un'abitudine di spargere sangue. Il sangue non dorme mai."
|
||||
defeated:"Hai vinto. Complimenti. Ora il palazzo è nelle tue mani. Ti prego di prenderti cura del mio pavone."
|
||||
introduction:"Salve, straniero. Sono Harun Al-Rashid, Califfo degli Arabi. Vieni, raccontami del tuo impero."
|
||||
introduction:"Salve, straniero. Sono Harun Al-Rashid, Califfo degli Arabi. Vieni ad ammirare la sontuosità del mio palazzo, e parlami del tuo impero."
|
||||
|
||||
neutralHello:"Pace a te."
|
||||
neutralLetsHearIt:["Cos'é questo?","Cosa stavi dicendo?"]
|
||||
|
@ -371,7 +369,7 @@
|
|||
declaringWar:"Come samurai siamo gente onesta, e noi troviamo onesto volerti esprimere la nostra intenzione di cancellarti dalla faccia della terra con questo messaggio."
|
||||
attacked:"Fatti pure avanti! Il kamikaze (vento divino) ci proteggerà, e tu cadrai, come altri prima di te!"
|
||||
defeated:"Poni fine al disonore che è caduto sulla mia famiglia... sul mio popolo."
|
||||
introduction:"Io sono Oda Nobunaga, capo del grande clan Oda. Mi auguro una relazione giusta e leale nei vostri confronti."
|
||||
introduction:"In verità, il cielo ci ha rivolto il suo sorriso conducendoci alla vostra augusta presenza. Io sono Oda Nobunaga, capo del grande clan Oda. Mi auguro una relazione giusta ed equa tra i nostri popoli."
|
||||
|
||||
neutralHello:"Salve."
|
||||
neutralLetsHearIt:["Vai avanti.","Procedi.","Ti ascolto."]
|
||||
|
@ -517,7 +515,7 @@
|
|||
declaringWar:"Jip-hyun-jun (la Sala dei Giusti) non tollera più la tua insolenza. Libereremo i tuoi cittadini oppressi anche con la forza, e li illumineremo!"
|
||||
attacked:"Sciocca progenie di una megera! Sarete distrutti dalla magnifica potenza scientifica del mio paese!"
|
||||
defeated:"Ora resta da vedere chi proteggerà il mio popolo... Il buio è giunto."
|
||||
introduction:"Benvenuto nel palazzo dei Choson, straniero. Io sono il re Sejong l'Istruito, sovrano di queste terre e di questo popolo."
|
||||
introduction:"Benvenuto nel palazzo dei Choson, onorato straniero. Io sono il re Sejong l'Istruito, condottiero illuminato e sovrano di queste terre e di questo popolo."
|
||||
|
||||
neutralHello:"Salve."
|
||||
neutralLetsHearIt:["Sentiamo.","Vai avanti","Continue."]
|
||||
|
@ -589,7 +587,7 @@
|
|||
declaringWar:"La tua continua esistenza rappresenta un imbarazzo per tutti i leader del mondo! Farò loro un favore distruggendoti!"
|
||||
attacked:"Non hai forse udito le storie sulla potenza e sulla grandezza delle mie armate? Forse, se le vedrai, ci penserai due volte prima di affrontarmi!"
|
||||
defeated:"Canaglia! Che Ahura Mazda ti maledica! Il mondo ricorderà a lungo l'errore che hai commesso!"
|
||||
introduction:"Che la pace scenda su di te! Io sono Dario, il grande re dei re della Persia... ma sono certo che tu già lo sappia."
|
||||
introduction:"Ti saluto con calore, e generosamente ti offro la mia mano in amicizia. Io sono Dario, il grande re dei re della Persia... ma sono certo che tu già lo sappia."
|
||||
|
||||
neutralHello:"Buona giornata!"
|
||||
neutralLetsHearIt:["Va' avanti.","Parla."]
|
||||
|
|
|
@ -53,29 +53,30 @@
|
|||
/////// Turn
|
||||
|
||||
"Next turn":{
|
||||
Dutch:"Volgende beurt"
|
||||
French:"Prochain tour"
|
||||
Dutch:"Volgende beurt"
|
||||
French:"Prochain tour"
|
||||
German:"Nächste Runde"
|
||||
Italian:"Fine turno"
|
||||
Japanese:"次のターン"
|
||||
Portuguese:"Proximo turno"
|
||||
Japanese:"次のターン"
|
||||
Portuguese:"Proximo turno"
|
||||
Romanian:"Runda următoare"
|
||||
Russian:"Следующий ход"
|
||||
Simplified_Chinese:"下一回合"
|
||||
Spanish:"Siguiente turno"
|
||||
Thai:"เริ่มเกมใหม่"
|
||||
|
||||
}
|
||||
|
||||
"Turn":{ // For main screen at top left, e.g. Turn 234
|
||||
Dutch:"Beurt"
|
||||
Dutch:"Beurt"
|
||||
French:"Tour"
|
||||
German:"Runde"
|
||||
Italian:"Turno"
|
||||
Italian:"Turno"
|
||||
Japanese:"順番"
|
||||
Portuguese:"Turno"
|
||||
Portuguese:"Turno"
|
||||
Romanian:"Runda"
|
||||
Russian:"Ход"
|
||||
Simplified_Chinese:"回合"
|
||||
Russian:"Ход"
|
||||
Simplified_Chinese:"回合"
|
||||
Spanish:"Turno"
|
||||
}
|
||||
|
||||
|
@ -209,7 +210,7 @@
|
|||
Dutch:"Verbetering bouwen"
|
||||
Spanish:"Construir mejora"
|
||||
Simplified_Chinese:"建造设施"
|
||||
Portuguese:"Construir melhoria"
|
||||
Portuguese:"Construir melhoria"
|
||||
Japanese:"構造改善"
|
||||
}
|
||||
|
||||
|
@ -841,6 +842,10 @@
|
|||
Japanese:"何もない"
|
||||
}
|
||||
|
||||
"Annex city":{ // For a puppetted city
|
||||
Italian:"Annetti città"
|
||||
}
|
||||
|
||||
"Specialist Buildings":{
|
||||
Italian:"Edifici specialisti"
|
||||
Russian:"Специализированные Здания"
|
||||
|
@ -1804,6 +1809,10 @@
|
|||
Russian:"Аннексировать"
|
||||
}
|
||||
|
||||
"Puppet City":{
|
||||
Italian:"Riduci a Stato Fantoccio"
|
||||
}
|
||||
|
||||
"Raze":{
|
||||
Italian:"Distruggi"
|
||||
French:"Razer"
|
||||
|
@ -2038,5 +2047,24 @@
|
|||
Portuguese:"Língua"
|
||||
Russian:"Язык"
|
||||
}
|
||||
|
||||
// Map editor
|
||||
|
||||
|
||||
"Terrains & Resources":{
|
||||
Italian:"Terreni e risorse"
|
||||
}
|
||||
|
||||
"Improvements":{
|
||||
Italian:"Miglioramenti"
|
||||
}
|
||||
|
||||
"Barbarian encampment":{
|
||||
Italian:"Accampamento barbaro"
|
||||
}
|
||||
|
||||
"[nation] starting location":{
|
||||
Italian:"Punto iniziale di [nation]"
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -429,6 +429,11 @@ class NextTurnAutomation{
|
|||
|
||||
private fun reassignWorkedTiles(civInfo: CivilizationInfo) {
|
||||
for (city in civInfo.cities) {
|
||||
if (city.isPuppet && city.population.population > 9
|
||||
&& city.resistanceCounter == 0) {
|
||||
city.annexCity()
|
||||
}
|
||||
|
||||
city.reassignWorkers()
|
||||
|
||||
city.cityConstructions.chooseNextConstruction()
|
||||
|
|
|
@ -230,7 +230,13 @@ class Battle(val gameInfo:GameInfo) {
|
|||
|
||||
if (attacker.getCivInfo().isPlayerCivilization())
|
||||
attackerCiv.popupAlerts.add(PopupAlert(AlertType.CityConquered, city.name))
|
||||
else city.puppetCity(attacker.getCivInfo())
|
||||
else {
|
||||
city.puppetCity(attacker.getCivInfo())
|
||||
if (city.population.population < 4) {
|
||||
city.annexCity()
|
||||
city.isBeingRazed = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getMapCombatantOfTile(tile:TileInfo): ICombatant? {
|
||||
|
|
|
@ -4,7 +4,9 @@ import com.unciv.Constants
|
|||
import com.unciv.logic.map.MapUnit
|
||||
import com.unciv.logic.map.TileInfo
|
||||
import com.unciv.models.gamebasics.unit.UnitType
|
||||
import java.util.Random
|
||||
import java.util.*
|
||||
import kotlin.collections.HashMap
|
||||
import kotlin.collections.set
|
||||
import kotlin.math.max
|
||||
import kotlin.math.pow
|
||||
|
||||
|
@ -226,13 +228,21 @@ class BattleDamage{
|
|||
if(attacker.isRanged()) return 0
|
||||
if(defender.getUnitType().isCivilian()) return 0
|
||||
val ratio = getAttackingStrength(attacker,defender) / getDefendingStrength(attacker,defender)
|
||||
val i = if (ratio < 1) -1 else 1
|
||||
return ((24 + 12 * Random().nextFloat()) * (((ratio.pow(i) + 3).pow(4) / 512 + 0.5).pow(i)) * getHealthDependantDamageRatio(defender)).toInt()
|
||||
return (damageModifier(ratio, true) * getHealthDependantDamageRatio(defender)).toInt()
|
||||
}
|
||||
|
||||
fun calculateDamageToDefender(attacker: ICombatant, defender: ICombatant): Int {
|
||||
val ratio = getAttackingStrength(attacker,defender) / getDefendingStrength(attacker,defender)
|
||||
val i = if (ratio < 1) -1 else 1
|
||||
return ((24 + 12 * Random().nextFloat()) / (((ratio.pow(i) + 3).pow(4) / 512 + 0.5).pow(i)) * getHealthDependantDamageRatio(attacker)).toInt()
|
||||
return (damageModifier(ratio,false) * getHealthDependantDamageRatio(attacker)).toInt()
|
||||
}
|
||||
|
||||
fun damageModifier(attackerToDefenderRatio:Float, damageToAttacker:Boolean): Float {
|
||||
// https://forums.civfanatics.com/threads/getting-the-combat-damage-math.646582/#post-15468029
|
||||
val strongerToWeakerRatio = attackerToDefenderRatio.pow(if (attackerToDefenderRatio < 1) -1 else 1)
|
||||
var ratioModifier = ((((strongerToWeakerRatio + 3)/4).pow(4) +1)/2)
|
||||
if((damageToAttacker && attackerToDefenderRatio>1) || (!damageToAttacker && attackerToDefenderRatio<1)) // damage ratio from the weaker party is inverted
|
||||
ratioModifier = ratioModifier.pow(-1)
|
||||
val randomCenteredAround30 = (24 + 12 * Random().nextFloat())
|
||||
return randomCenteredAround30 * ratioModifier
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,9 +55,11 @@ class Fonts {
|
|||
|
||||
fun getCharsForFont(withChinese:Boolean): String {
|
||||
val defaultText = "ABCČĆDĐEFGHIJKLMNOPQRSŠTUVWXYZŽaäàâăbcčćçdđeéfghiîjklmnoöpqrsșštțuüvwxyzž" +
|
||||
"АБВГҐДЂЕЁЄЖЗЅИІЇЙЈКЛЉМНЊОПРСТЋУЎФХЦЧЏШЩЪЫЬЭЮЯабвгґдђеёєжзѕиіїйјклљмнњопрстћуўфхцчџшщъыьэюя" +
|
||||
"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωάßΆέΈέΉίϊΐΊόΌύΰϋΎΫΏ" +
|
||||
"ÀÄĂÂĎÊĚÉÈÍÎŁĹĽÔÓÖƠŘŔŚŤƯŮÚÜŻŹäâąďêęěłĺľńňôöơřŕśťưůýżźáèìíóú1234567890" +
|
||||
"АБВГҐДЂЕЁЄЖЗЅИІЇЙЈКЛЉМНЊОПРСТЋУЎФХЦЧЏШЩЪЫЬЭЮЯабвгґдђеёєжзѕиіїйјклљмнњопрстћуўфхцчџшщъыьэюя" + // Russian
|
||||
"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωάßΆέΈέΉίϊΐΊόΌύΰϋΎΫΏ" + // Greek
|
||||
"ÀÄĂÂĎÊĚÉÈÍÎŁĹĽÔÓÖƠŘŔŚŤƯŮÚÜŻŹäâąďêęěłĺľńňôöơřŕśťưůýżźáèìíóú" +
|
||||
"กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛" + // Thai
|
||||
"1234567890" +
|
||||
"‘?’'“!”(%)[#]{@}/&\\<-+÷×=>®©\$€£¥¢:;,.¡*|"
|
||||
val charSet = HashSet<Char>()
|
||||
charSet.addAll(defaultText.asIterable())
|
||||
|
|
|
@ -26,7 +26,7 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
|
|||
* [Fishing Vessel](https://thenounproject.com/term/fishing-vessel/23815/) By Luis Prado for Work Boats
|
||||
* [Greek Trireme](https://thenounproject.com/search/?q=ancient%20boat&i=1626303) By Zachary McCune for Trireme
|
||||
* [Chariot](https://thenounproject.com/search/?q=Chariot&i=1189930) By Andrew Doane for Chariot Archer
|
||||
* [Elephant](https://thenounproject.com/Luis/uploads/?i=14048) By Luis Prado, US for War Elephant
|
||||
* [Elephant](https://thenounproject.com/Luis/uploads/?i=14048) By Luis Prado for War Elephant
|
||||
* [Spear](https://thenounproject.com/search/?q=Spear&i=11432) By Stephen Copinger for Spearman
|
||||
* [Greek shield](https://thenounproject.com/search/?q=hoplite&i=440135) for Hoplite
|
||||
* [Spiked club](https://thenounproject.com/search/?q=club%20weapon&creator=1933477&i=831794) for Brute
|
||||
|
|
Loading…
Reference in a new issue