From a59d6e7a46fcb597d14a3a9d20954b4c92cb33d6 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 25 Jun 2018 20:08:57 +0300 Subject: [PATCH] Translation stuff Fixed ultra rare bug where a unit that expends all its movement points on roads right before attacking will think that it can attack when it can't --- android/assets/UnitIcons/Artillery.png | Bin 0 -> 4304 bytes android/assets/UnitIcons/Cavalry.png | Bin 0 -> 3643 bytes android/assets/UnitIcons/Rifleman.png | Bin 0 -> 1707 bytes android/assets/jsons/Translations.json | 25 ++++++++++++++++++ android/assets/jsons/Units.json | 10 +++---- .../unciv/logic/automation/UnitAutomation.kt | 8 +++++- .../com/unciv/models/gamebasics/Technology.kt | 2 +- .../unciv/ui/utils/CameraStageBaseScreen.kt | 2 +- 8 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 android/assets/UnitIcons/Artillery.png create mode 100644 android/assets/UnitIcons/Cavalry.png create mode 100644 android/assets/UnitIcons/Rifleman.png diff --git a/android/assets/UnitIcons/Artillery.png b/android/assets/UnitIcons/Artillery.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa3b6b6ae88db5f059c31399d21743ee998f641 GIT binary patch literal 4304 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 literal 0 HcmV?d00001 diff --git a/android/assets/UnitIcons/Cavalry.png b/android/assets/UnitIcons/Cavalry.png new file mode 100644 index 0000000000000000000000000000000000000000..65d005fc837353e78f436f5b7e8445b1e4331cc5 GIT binary patch literal 3643 zcma)9`8yPj6W+tIjC!bC09~z>&~{a$hC;9vboo}i&(cLDMyDD5|)sh>&y{C zw63)(lsh>h>Fe_!eCK)QooAkT=ZAS_ewa7us@FZX4xOvvhNFN=Rzg9pYFUA!`!mly841rhCG{t(xd=}-D54gv_sJi$c4s3!=yEz@; zl4g}|53nG{c$_h<0uKn(hhE%7ragVkYYAom<-u==1>s?HzR&8URzR{DVzQtkkSLD| z3!_Up^c0o9ymyDj=BD-$=+`b^37u#^0E3C`dKPA#)P!n*iA_`Yf@ex5({q5ro{%~T zpo@H~wK#AXAW`=9O%+H1vRvG8l1$95L)3L=aDlQ&!fRIcb6} zF_rp%jQaCQG2o1A8-UNihzVOE=%!!CuC7a>bI0SApZ;_+A9+0IIPXTfdHc&4^sN*K zIhrQ$Tk|_*`#fIbp-%s-5`7E93Nw0^3KE*1%YE?a1~dMATa4Dn!q^iwk1BxBOA*(i z*Dl+H^UfjdtpFR8b(X2* z#_QLnkhap|YN$&lYUg9Q-!>AhlwAGwPV8iIe3@Y#;>-X_fQ7t@2sz+MJ ztCDU5MeJDiJ)_9f9SzAl$y53?>sQhIzqvywh8Kod{J~#diqCz0&F3B=Dbcm=*I8|t zINO;%nCsf5%(S3Y(;qABqdyOyWw3Qw6<$Pg;Q<`BC5R0W!^Us(-UXJkrZg}c+D%BCwnT)rphc5wQ^Wal(ddW7>*{6AC~x+UjGvfffGIr}#Pe}>BTk4;@f=Q(0Zb6W2i0pc0N25tQt9JPBP>QA!ZjvC;%s8IWG6Sg>Pn=_}_`~nTa^i{do z6nfA6=SqN)b1mo!+r+$U5-PyaI(VPY8FE*!{M5jB6mR|1b5nflsrYwShJ)&51T5RL z-iOVNQ-bOe^mx@1wpfyg1Jn|eb!iWB^7i{7+~6?@Db4&tcM#jqdHk)!jwSaiB3q%i zC>OV;o4d#K_1k&XJ*IeH8BA^H(_c8nK~T^I?Sid4W1Ez)CPxlQ-4iIu)ze9clDuiN zE0S-rD=UpIbYYl|%HGZoYs$Q6d?2Z8Z6v%ogVnzQyrQzO6_Vn29#Z~Qq4@-fx+J+E z!XcWfZEDrt0Xz|0hwK_OS9!VR>u*>?(^DbNq|wTM^8zVBK_`HG%L0^hcu_nLo*zN~ zEILnPQ(4@aW+cRSX{`=bpZuqj`>kr4kNB?lC^=}0U@=OG?0jaQdx_ z%{hcTM9jB8REV&Y>0{y6)Q+KBgS#5CaCtZAbjyY%Dx_9C*Al43_Dk~DS-eujleEsO zX9lGv9+7lLvMNe53aSIcG9qC7n$S)7;f5Y+cN{2cGIVt*^UEh}K=$I=uiwI@*;fW- zi}#VE1LaYqcO0&UCo^P-Pw#iwmQfUb41+a2{)o-qsg>bxeW}RC?(zPMw;TbQ(U~kz zoistBxzLxp*r^r<#Oga95_kZM^RCZON44qP!)DS<)X5rC^Xn_s zan+BpDw}|#dkTVvFe+KIT>$9q@%%j-xM$P}(w8T0sPN9(sk%Cm9WiNjBVLRI zzhQm4Dqy4UiR@n@Cq-9uN-T^&q6RWQXzu4oZJmLQroPsKa(zCp(T(FAfq_Y%t8XWZ zo8iVh?Oz94B7cM%pa=R|T5@~%aGaa=+u!)yx5N>mc@I|gMr|@Zs6nmEqSEMu5evmJ z%0=YcC8nVs&fqhj^w|)lJp=xqR!-DfUvIh1Sp!-9$!NY%_Q#xuY!;w%M%OV;>-QSu zf5eeC0FR0y<8FNbtWFwOb9O{}8D(sPe&1lnx z|E)pIqn}VRx_g?Jz!B(!^H7~N`VH*e#qc;2NFr}4(^*Pd{qMUR5(wqNBesj zKf7Ai=}1_dnCeskLJd~MvdhA#*yDOatinc%GIU!?!=GW{_iWTO{_TS{omPDkL*In} zOL}&|iGWA$7Rih&uY4M7k`MY$M^Swe)izV|LW23PsB~z6s@R3beXc5O)?ah?bnreN zWwMyHAv4IoRjt(hUlk**0|Ilh_9~B9)2c6Qnj#023Au9{1GK;N1~hs&i0RKTq3Ee; zeA{QsX*#d8PD=Ranb(0q+b|wwzuZBh40y&NLB8Jl!F0(bv$bMy1hQvB6ek# zR#OSXsq9_icb_-F!JCAMeLTC@Jy|ww4q^7<+vqf}r`|(dFEY@|ZwBdoThW(q?heUj z=c`%YmjB@Fb8Z({_e3Mx;U31V89Tn{dk*%MBvDh@kmQS}{<&E#-r$ zY8!CF>9R0M6$CTC<=W}mU&1dEN4&zEL&%QttJG#7?=wav zYCXg}g@oEY(aJ(e0o*_aE&VE)=EF85|Jb7!wc|)E2ofZXaz~!7z!H`Zlj~$>lBhT0 z-eR5pGSXfm9m$K*Wg|$=`fl1&;tJ7QmHiN^=p8;#oBx6XCXlzqg+J~C32>wyfvflcOWAh=)tp@_JcXZkVigBCv$BopaC{wJ$x zGZlM}B&hmzp}&lPY&OE2&jm6PzNMLjjKbXc@wH=hzszAmT+2{@L!+wPrOAF~g)2!(kRvyk_Ys92Z^@Ca$vg zom0!q3+fCD;e+qUTfp$J76DpD^D3N0!b*qwr0;>o|}4_qpEvG!U67y(Mmx$y8y{KiZw-0uUh zuyf106>|_{oA4qyvrr^iEO4@ovfjH5FEml7Ieu8%4QAG5E#@3m&5l%BzTg>EgCb6^ zC_W%L6O-teDC`gQ4786ERl5_#v|?6_&S_FH9$Xex!P@j3i%`AyJ^mPIZS>Oq!Ha31ggYgdhIioNYG$pK|(7VHrsu@*>(z VpnXx%v}5%LFf+C`sx)wm{U7O5sUrXY literal 0 HcmV?d00001 diff --git a/android/assets/UnitIcons/Rifleman.png b/android/assets/UnitIcons/Rifleman.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5e3f20f27d31c6461f6703dd6c90cc1cb5947c GIT binary patch literal 1707 zcmb_d`#aMM7$2+IXt~yy+-4dZPl{BEv0U0*H)N<8Bh{gpTe*%FMJBc+ZOygRAw)$S zzKwD{4N)pI$1Tx0x#o5_`r-Tsz0c?JywCgj`TbmXb+(7gB4t4!5S)0zhO*^tKM93w zX*u=ry)D}oP9VBNwHBtoeIoI@AI%qkGQSq|r4ixvmB&v%Y&kG)PL1gG~82QxcMoi$Y=fQFP{_ z*d=C@fvejaC5>&Ej@c}^g*+h>>OX@vt*Ie_>ok{Pwb-p_L$p8U=7TICwj~i{nx?gu zgqWJYNt<}jFJfiFs2?~C>5QT?X3+ln(=zsZJSDBk5wJT7ZomT|q0AYy`_8~%Z4(A2e@@>AthW7>#!=WU`wz%AE)Z75 zb-m0hNs0iufWjG=LZ(3sz6~ltNe)O(iS#?=S&RMRRwdfx@acb#?W9V0(mHh60tyo8AN<{eBvFt_IC(CXtjsGJ_W}^4m^{h;2^!NZGK{qT| zIDZ-MSAQ@-Yw{%V2u*L)(v&TL5AHP7*#S+D&w9V+i<&B|=(n0E362eaz51|trYJj1 z3rW~3{aopF|3$qGTj9Yda5WUXr`qhM8|#X}T0Q!Bya$Ej+3rf)9*s4Yxda}tS(p0* zUnN&t8)KPassKHdT>R~a)Q`T0O(fC^N$>=lzaMxC-~e$;Q>_d#m4%BH_!hwfP$T8u zANTh*UhtrFY~i6c2eacd6&mNVE*Dcd+G9Bx>(}w@DH6)Qz4Kfv^$xXu3O=^LW2Ob5 zM>wl0m3g758S#pTaE(P`6$e5pqj!nn_VwE$kNLTnH~r5nkLw4RiUbjQep2NFhzm6G zw9YD<_bsTTk0IkXQsq59@ql;tuIm}C^5+-4beu37SCP6o_xsu>*avW>pPRyTQ=8t< z9Onp;%`7b?&Z384R38(qwCSIr=;roytc1tR3@m+H#3BN>lgo?~hR;tn!$yEDwIWzHq_0n~Jx1>a7 zSIE&&+Ur3cS2emlx97{4&;f>j+&j~dpm$k12h|b#7kP%-muYUEVa%;kTZsT)R9y9S zw;~piJCT_?@*m$_6&z;o$F@+Q7F*jD!I?NP@9RnjBtCh$rHEyGa6jQD} z1>o!zRR#+O)d)`PGdOg={qn@!G<2+S9y-A9Zk<(2+QF)p6Nb>^>n;ZBRVb~xg$vGhw>RB>5idxf^O+9p^{w} ziM%VsvhBbVquaXU{*YO9Tlw!g1rNNjJXp(bDnsm`e8XmOiT+0@H(@SVH5JOudDA|! zUM#hi9EW^uEpd``#W_15_lUa(Q>ujBofbM3%Gr>&!Fg|um!$V~=gkj$pcrafH38GOK2k0 zSxP6>F{XKdpjsapQMRol_Y9@pFBozGoYLyxlva`6eEV--`(^7l8-~4xw|WU8)4?OP mAFoHSduoQgy?*r{PFO~?+Ix=ppf!Ki5{PK)Z1b2vPyP@3ECn3^ literal 0 HcmV?d00001 diff --git a/android/assets/jsons/Translations.json b/android/assets/jsons/Translations.json index 796a6b08ef..3f0a886f77 100644 --- a/android/assets/jsons/Translations.json +++ b/android/assets/jsons/Translations.json @@ -1170,6 +1170,8 @@ // Technologies (Ancient Era) + "Agriculture":{} + "Pottery":{ Italian:"Ceramica" Russian:"Керамика" @@ -1325,6 +1327,7 @@ Romanian:"Serviciu civil" German:"Zivildienst" } + "Guilds":{} "Physics":{ Italian:"Fisica" Russian:"Физика" @@ -1332,6 +1335,7 @@ Romanian:"Fizică" German:"Physik" } + "Steel":{} "Metal Casting":{ Italian:"colata di metallo" Russian:"Литье" @@ -1399,6 +1403,7 @@ Romanian:"Presă de tipar" German:"Druckpresse" } + "Gunpowder":{} "Navigation":{ Italian:"Navigazione" Russian:"Навигация" @@ -1420,6 +1425,9 @@ Romanian:"Economie" German:"Ökonomie" } + + "Metallurgy":{} + "Chemistry":{ Italian:"Chimica" Russian:"Химия" @@ -1437,6 +1445,11 @@ Romanian:"Teoria științifică" German:"Wissenschaftliche Thorie" } + + "Industrialization":{} + "Rifling":{} + "Military Science":{} + "Fertilizer":{ Italian:"Fertilizzante" Russian:"Yдобрение" @@ -1466,6 +1479,8 @@ German:"Dampfkraft" } + "Dynamite":{} + // Technologies (Modern Era) @@ -1594,6 +1609,16 @@ German:"Zukünftige Technologien" } + // Tech Eras + "Ancient":{} + "Classical":{} + "Medieval":{} + "Renaissance":{} + "Industrial":{} + "Modern":{} + "Information":{} + "Future":{} + // Building unique abilities "+1 Science Per 2 Population":{ diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 7320ebf66a..134410a072 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -234,9 +234,8 @@ cost: 150, requiredTech:"Gunpowder", hurryCostModifier:20 - } - - ,{ + }, + { name:"Lancer", unitType:"Mounted", movement:4, @@ -245,10 +244,11 @@ requiredTech:"Metallurgy", requiredResource:"Horses", hurryCostModifier:20 - uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%","Bonus vs Mounted 50%" ], + uniques:["Can move after attacking","No defensive terrain bonus","Penalty vs City 33%","Bonus vs Mounted 33%" ], }, - // UNITS FROM HERE NEED IMAGES + // Industrial Era + { name:"Rifleman", unitType:"Melee", diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index 2540c4e17d..9778d76af7 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -49,7 +49,13 @@ class UnitAutomation{ val rangeOfAttack = if(MapUnitCombatant(unit).isMelee()) 1 else unit.getBaseUnit().range val attackableTiles = ArrayList() - val tilesToAttackFrom = distanceToTiles.filter { it.value!=unit.currentMovement }.map { it.key } + // The +0.09 solves a bug where you've moved 2/3 road tiles, + // you come to move a third (distance is less that remaining movements), + // and then later we round it off to a whole. + // So the poor unit thought it could attack from the tile, but when it comes to do so it has no moveement points! + // Silly floats, basically + val tilesToAttackFrom = distanceToTiles.filter { (it.value+0.09) < unit.currentMovement } + .map { it.key } .filter { unit.canMoveTo(it) || it==unit.getTile() } for(reachableTile in tilesToAttackFrom){ // tiles we'll still have energy after we reach there attackableTiles += reachableTile.getTilesInDistance(rangeOfAttack).filter { it in tilesWithEnemies } diff --git a/core/src/com/unciv/models/gamebasics/Technology.kt b/core/src/com/unciv/models/gamebasics/Technology.kt index 22626e1728..f6a1fe88f1 100644 --- a/core/src/com/unciv/models/gamebasics/Technology.kt +++ b/core/src/com/unciv/models/gamebasics/Technology.kt @@ -30,7 +30,7 @@ class Technology : ICivilopedia { if(wonders.isNotEmpty()) SB.appendln("{Wonders enabled}: "+wonders.map { "\n * "+it.name+ " ("+it.getShortDescription()+")" }.joinToString()) val revealedResource = GameBasics.TileResources.values.filter { it.revealedBy==name }.map { it.name }.firstOrNull() // can only be one - if(revealedResource!=null) SB.appendln("Reveals [$revealedResource] on map".tr()) + if(revealedResource!=null) SB.appendln("Reveals [$revealedResource] on the map".tr()) val tileImprovements = GameBasics.TileImprovements.values.filter { it.techRequired==name } if(tileImprovements.isNotEmpty()) SB.appendln("{Tile improvements enabled}: "+tileImprovements.map { it.name }.joinToString()) diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index 67e167cd14..fcce9dff8b 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -160,7 +160,7 @@ fun String.tr(): String { var languageSpecificPlaceholder = GameBasics.Translations[englishTranslationPlaceholder]!![UnCivGame.Current.settings.language]!! for(i in 0 until termsInMessage.size){ - languageSpecificPlaceholder = languageSpecificPlaceholder.replace(termsInTranslationPlaceholder[i], termsInMessage[i]) + languageSpecificPlaceholder = languageSpecificPlaceholder.replace(termsInTranslationPlaceholder[i], termsInMessage[i].tr()) } return languageSpecificPlaceholder.tr() }