From 285c92150c2a73ba3aba51023cfe9452175d59bc Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 5 Jan 2020 22:55:48 +0200 Subject: [PATCH] Incan mod is successful! We can haz mods! =D --- android/assets/jsons/Units.json | 5 +-- .../Images/ImprovementIcons/Terrace farm.png | Bin 0 -> 2676 bytes .../Images/NationIcons/Inca.png | Bin 0 -> 2358 bytes .../Images/UnitIcons/Slinger.png | Bin 0 -> 3032 bytes android/assets/mods/ExampleIncaMod/game.atlas | 27 ++++++++++++ android/assets/mods/ExampleIncaMod/game.png | Bin 0 -> 9560 bytes .../ExampleIncaMod/jsons/Nations/Nations.json | 41 ++++++++++++++++++ .../jsons/TileImprovements.json | 11 +++++ .../mods/ExampleIncaMod/jsons/Units.json | 16 +++++++ .../Images/UnitIcons/Maori Warrior.png | Bin 3017 -> 0 bytes android/assets/modss/myFirstMod/game.atlas | 13 ------ android/assets/modss/myFirstMod/game.png | Bin 3813 -> 0 bytes .../assets/modss/myFirstMod/jsons/Units.json | 16 ------- .../unciv/ui/newgamescreen/NewGameScreen.kt | 2 +- .../NewGameScreenOptionsTable.kt | 7 ++- .../ui/newgamescreen/PlayerPickerTable.kt | 15 ++++--- 16 files changed, 113 insertions(+), 40 deletions(-) create mode 100644 android/assets/mods/ExampleIncaMod/Images/ImprovementIcons/Terrace farm.png create mode 100644 android/assets/mods/ExampleIncaMod/Images/NationIcons/Inca.png create mode 100644 android/assets/mods/ExampleIncaMod/Images/UnitIcons/Slinger.png create mode 100644 android/assets/mods/ExampleIncaMod/game.atlas create mode 100644 android/assets/mods/ExampleIncaMod/game.png create mode 100644 android/assets/mods/ExampleIncaMod/jsons/Nations/Nations.json create mode 100644 android/assets/mods/ExampleIncaMod/jsons/TileImprovements.json create mode 100644 android/assets/mods/ExampleIncaMod/jsons/Units.json delete mode 100644 android/assets/modss/myFirstMod/Images/UnitIcons/Maori Warrior.png delete mode 100644 android/assets/modss/myFirstMod/game.atlas delete mode 100644 android/assets/modss/myFirstMod/game.png delete mode 100644 android/assets/modss/myFirstMod/jsons/Units.json diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index 0e6566068c..cb9b7466f4 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -81,7 +81,6 @@ obsoleteTech:"Metal Casting", upgradesTo:"Swordsman", attackSound:"nonmetalhit" - //Barbarian unique unit }, { name:"Archer", @@ -92,8 +91,8 @@ cost: 40, hurryCostModifier:20, requiredTech:"Archery", - obsoleteTech:"Machinery",//Should be Construction - upgradesTo:"Crossbowman",//Should be Composite Bowman + obsoleteTech:"Machinery", + upgradesTo:"Crossbowman" attackSound:"arrow" }, { diff --git a/android/assets/mods/ExampleIncaMod/Images/ImprovementIcons/Terrace farm.png b/android/assets/mods/ExampleIncaMod/Images/ImprovementIcons/Terrace farm.png new file mode 100644 index 0000000000000000000000000000000000000000..ff9c11c13ba45e61e89f61d72f05351bb09de947 GIT binary patch literal 2676 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 literal 0 HcmV?d00001 diff --git a/android/assets/mods/ExampleIncaMod/Images/UnitIcons/Slinger.png b/android/assets/mods/ExampleIncaMod/Images/UnitIcons/Slinger.png new file mode 100644 index 0000000000000000000000000000000000000000..457515aeaa422a64c0e9e964f5093ec3188035a2 GIT binary patch literal 3032 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 aOa2c literal 0 HcmV?d00001 diff --git a/android/assets/mods/ExampleIncaMod/game.atlas b/android/assets/mods/ExampleIncaMod/game.atlas new file mode 100644 index 0000000000..7e06b8b2f8 --- /dev/null +++ b/android/assets/mods/ExampleIncaMod/game.atlas @@ -0,0 +1,27 @@ + +game.png +size: 512,128 +format: RGBA8888 +filter: MipMapLinearLinear,MipMapLinearLinear +repeat: none +ImprovementIcons/Terrace farm + rotate: false + xy: 206, 2 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +NationIcons/Inca + rotate: false + xy: 2, 2 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +UnitIcons/Slinger + rotate: false + xy: 104, 2 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 diff --git a/android/assets/mods/ExampleIncaMod/game.png b/android/assets/mods/ExampleIncaMod/game.png new file mode 100644 index 0000000000000000000000000000000000000000..8a84b5dca1a8e1f59231e6d64d1544dba13cfccc GIT binary patch literal 9560 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 literal 0 HcmV?d00001 diff --git a/android/assets/mods/ExampleIncaMod/jsons/Nations/Nations.json b/android/assets/mods/ExampleIncaMod/jsons/Nations/Nations.json new file mode 100644 index 0000000000..e38d64e72c --- /dev/null +++ b/android/assets/mods/ExampleIncaMod/jsons/Nations/Nations.json @@ -0,0 +1,41 @@ +[ + + { + name:"Inca", + leaderName:"Pachacuti", + adjective:["Incan"], + startBias:["Hill"], + preferredVictoryType:"Cultural", + + startIntroPart1: "Oh ye who remakes the world, your loyal subjects greet you, King Pachacuti Sapa Inca, ruler of the Inca people! From the beginnings in the small state of Cusco, the Incans displayed their potential for greatness, marching to war against their many enemies, crushing their armies into dust and carving for themselves a mighty empire stretching from Ecuador to Chile. Indeed, they build the greatest empire ever seen in all pre-Columbian Americas. More than mere soldiers, your people were great builders and artists as well, and the remnants of their works still awe and inspire the world today." + startIntroPart2: "Oh King Pachacuti, truly are you called 'Earth Shaker'! Will you once again call upon the ground itself to a fight at your side? Your armies await your signal. Will you restore the glory of your empire? Can you build a civilization that will stand the test of time?" + + declaringWar:"Resistance is futile! You cannot hope to stand against the mighty Incan empire. If you will not surrender immediately, then prepare for war!" + attacked:"Declare war on me?!? You can't, because I declare war on you first!" + defeated:"How did you darken the sun? I ruled with diligence and mercy—see that you do so as well." + introduction:"How are you? You stand before Pachacuti Inca Yupanqui." + + neutralHello:"How are you doing?" + neutralLetsHearIt:["Go on.","What do you say?","You may begin."] + neutralNo:["We absolutely refuse.","No!","I refuse."] + neutralYes:["Very good.","Of course, yes","That is very good."] + + hateHello:"What do you want now?" + hateLetsHearIt:["Speak!","What do you say?","Go on."] + hateNo:["That is not possible!","We are not agreeing to that!","I beg your pardon?"] + hateYes:["That is fine.","That is good enough.","Very well..."] + + afterPeace:"Viracocha has frowned upon our war, and has agreed to our peace agreements." + tradeRequest:"The Incan people offer this fair trade." + + outerColor:[255,255,51], + innerColor:[0,204,102], + uniqueName:"Great Andean Road" + unique:"", + //unique:"Units ignore terrain costs when moving into any tile with Hills. No maintenance costs for improvements in Hills; half cost elsewhere.", + cities:["Cuzco","Tiwanaku","Machu","Ollantaytambo","Corihuayrachina","Huamanga","Vilcas","Vilcabamba","Vitcos", + "Andahuaylas","Ica","Arequipa","Nasca","Atico","Juli","Chuito","Chuquiapo","Huanuco Pampa","Tamboccocha", + "Huaras","Riobamba","Caxamalca","Sausa","Tambo Colorado","Huaca","Tumbes","Chan Chan","Sipan","Pachacamac", + "Llactapata","Pisac","Kuelap","Pajaten","Chucuito","Choquequirao"] + } +] \ No newline at end of file diff --git a/android/assets/mods/ExampleIncaMod/jsons/TileImprovements.json b/android/assets/mods/ExampleIncaMod/jsons/TileImprovements.json new file mode 100644 index 0000000000..ea04aa80cb --- /dev/null +++ b/android/assets/mods/ExampleIncaMod/jsons/TileImprovements.json @@ -0,0 +1,11 @@ +[ + { + name:"Terrace farm", + uniqueTo:"Inca", + food:2, + turnsToBuild:4, + improvingTech:"Construction", + improvingTechStats:{food:1} + terrainsCanBeBuiltOn:["Hills"], + }, +] \ No newline at end of file diff --git a/android/assets/mods/ExampleIncaMod/jsons/Units.json b/android/assets/mods/ExampleIncaMod/jsons/Units.json new file mode 100644 index 0000000000..6c56f5da6a --- /dev/null +++ b/android/assets/mods/ExampleIncaMod/jsons/Units.json @@ -0,0 +1,16 @@ +[ + { + name:"Slinger", + unitType:"Melee", + uniqueTo:"Inca", + replaces:"Archer", + movement:2, + strength:4, + rangedStrength:7, + requiredTech:"Archery", + obsoleteTech:"Machinery", + upgradesTo:"Crossbowman", + uniques:["Can move after attacking"], + attackSound:"arrow", + }, +] \ No newline at end of file diff --git a/android/assets/modss/myFirstMod/Images/UnitIcons/Maori Warrior.png b/android/assets/modss/myFirstMod/Images/UnitIcons/Maori Warrior.png deleted file mode 100644 index 5b9139b57b2616af495dfdd78593da35abc5fee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3017 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 LNkvXXu0mjfaT?Eq diff --git a/android/assets/modss/myFirstMod/game.atlas b/android/assets/modss/myFirstMod/game.atlas deleted file mode 100644 index edc265c261..0000000000 --- a/android/assets/modss/myFirstMod/game.atlas +++ /dev/null @@ -1,13 +0,0 @@ - -game.png -size: 128,128 -format: RGBA8888 -filter: MipMapLinearLinear,MipMapLinearLinear -repeat: none -UnitIcons/Maori Warrior - rotate: false - xy: 2, 2 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 diff --git a/android/assets/modss/myFirstMod/game.png b/android/assets/modss/myFirstMod/game.png deleted file mode 100644 index 170be4d1e8445b083ffde2f6d4856315c7dfbcca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3813 zcmZ{nXFL>uxpU?CD`{EmCVswj{5y1!m0GKhlTBiRN`~QK^|La~A`#}JJ zr5dB9ekXA1*ZoaTu70lh;Zx(HAu*NF*k@W2E~z?DOm1d+x;z0zFfFxk9h2W65#~)R zKp=PMM^4lmgn7j{(*8xDt~$2PkSUzk@wklypPu}L`$cnKS>6a9b8g8jnj$x-)gYd{o@Mzizxmv12s4QVeE^OZ)pD2qN- zw{N8P_4V1=+Y41P)EufZX~JyfuyqYjQEr^F(x=YdM}c9%!HU_rxs_J=czz{rKGkq# zg^&ZcZ)0OH10y5J6l@QJx=?5v?rMCoR?*w-*;XF8OCfC{-7OApKisPsx-3i;**!B0 zgiOWKK8#xE=^lt=LfLc+05 zIHh%*)B5mn)P%IFCG+0}?YoJit)KMV@6g=DAarssG@{shZb@m5XzDjusBS<^F%S(Qx?Z;y%5QYqrCAGer1MjVCuv`G^@4WVAtx z3|;X@H6}nJWC|-J`IPgN7K>@B!Ph?N(!R!;&IRBs$;NMW0qmdBFwElUeaAP@cSztS zlLPciINKx0B;+w~`i%9lFZJ63ouA(KMZZe5HX@3%-92#jf66cyP*LDm9ph#))DyEQhK|^n;fzOnsYnRvTJRwN<{}1LQ9nW z(fG5M>Y8UUI7iWo-wO1c@7WM5S6P{ul#MB3%u_b|q4Ie%Ebq&)~f0DSZeZ9e0R+RInG7(NsXOrMR3MZP|#nLnL8jT+%EuFjA8qw}UWIYP~j z5PEHvRq{`N2zjsWK6G3V;)1^FB3iHQUyID)UhuT9O@J}>hj9^Ftko&=-E)Z{OW&JI zcn4F+UP07?r_6LI=!#7eDike)jC0u^Ts^herVIwCI8%n*8ivHx72=ZM@#-MU=~YXDAN6158*1I zQBc9pf)MJaU19nf=DWV~`p+gRWx&=-3f);TzV{{=Td&X10EsT-ZK~lhj51s8-<^t% z3(cXfeta}ZF#G5ux8ma=wKeDY6EAmZ{`WDGwtkYgf*C%Gi&K>Eq-gRxem1l%v<1an zdr;G4Ff%A*Hh*@A5o>1MHr<#X0%VSNCjX3}qobSNFr@CzEMA}MRL`jWDM-6N6Q{;%@opf>!$C74De27N z@#D4igr2uiN!S)jDvCd|thOZN#+?hq=5yJJ%AwUxzqYsMYVMFPHT`U`UJ&`=L&qIq zXK+8N8N|cRxjLVsNeyFAfrtr`t?FE%~-eT5k?5eYEJB)oXo0gNk(GX5&_ zQNyI^Mwf5qh!UeR={HSJElLazxVvEbaA`~0Ji;dG=(~KslLtr$w|>>5zwX6*ymr;` zOZ0;$$SArSP6;Avo}QFHRYCyBodMVEY$1CWzeEuer=+fHqGu5{M*KCl?JXg`zOoS` ztop$wTBez8wn(v)A8 zm1XVZu}$@S0R0%De2%-xrMKb=lq%K+?9#&^D!FrA!X^799xN#>DzcbzAzGS z85iwRG+hpy&ip#C|7v=}Ex)s|(_p_-bg(aZt$Xw+>Itc)y})kmeq2aC8)r^(Tz z^q;E6elyRD4!->zcC|G25axHR#t}o}^4o}glK@XR(6nnP*F@{km$6$yIsba6pk9#Y zi+i0;&D;ey&wGKpg3o!ZLidz^F~Ufa)-aQE|=?OJ5uT$w4$u#>j1WTH#w~3#k55>AKm+Y#ToQ6 zP1tABLmT1!UPSGh;OO0Pn)59z^}}CAOVkL*?yf@7n{)f!q~afdhX37OJP7rb8@pN9?+oZ zB+S#L4yD$|^&MNMF7#`c#Aw(*>0$G-KH3)K2G+$ly#!rP9^Zmti=8zYfgUp-*!K<& z!liT$1%ptd_c*-IbS@m#YCDS2fOWiLWp&$ATQ0R}&9hlIHiZEFgpU=Lp5{!Zm68`9 zo=G<*%cUwmbLg`Dx#OJ;{hUs*Ecms1Vbf`(EB#ZVJ}Bm)@xJu{%hW4OL8;|iod3Y> z;q!sHN}-W}>sn#`V{H6^QuV)2MklJC6zSCN{H?IXfEtoK^uLC-#jS#z-2EJ%Bj9kg zy8!_+@ZlMqvkL?j7+-Dz01D|;E-o42CEXk6^yC#%+B)DeurshSab}y z+wl0%+m}29XXpSFf*7rflqa7Rj)klbhU5zXS8N2-SMXUxB5_UD7^Rf@I>MtHSU7OVYYxqv z-yA=qYK&Yx4A1NZL`R(b^@B$ahv?YGt0Xg`XKP_bm!hbfD@C95*qT(-z@d`cp-PNA zS4a|dHjRu7xzBzdREvAM0wRV%IRXb>uOrt5z!HTaBZ8Oqgv@bpYPq~2VBOGtP0r2k zfn)jo-rB%T;Dg~{E*1!K@r-Uxj{}c@?oS-?DYPyrLp{!Ga$pJ2EQKAViPoA{ZIQTG zafQXrqSbJ;poN#WB_Ej%OHXwMD#D{}jXX;a%%1wEP8$}yLpYA~Iu*2E{Q_I##k*FR zI~stmDb`m^$s9wR_OL}FA|jptkd}qRZqL4WrCDISI3_(j-S%+#@%q}@Ns* zkyrNGLkInV^r{dU#UWTFzo;ai_|(G9NAf=MFdh;chwSFxyV24*bcf(%`q|gQUW4Fr z%k7JzY0ph^>o1kpkKF8wpYGv~H(94Rk6%Z5s;m5w@?dbZ(hx1b%kJho{zB!dE)1)b zKzJiUb}5*UZBbkzBC$?Db zxmnvcPv*En01J+IDFovW{Z4~H8*k0;iVa`1>q+XxCV?DP@ly9&>e-D%C($@NtCopT zofI#tPT}MJWJO#?i?y7LRyFU8lt;U|IgTe-Jh%p4rNoh0%@ri*{+=9>%(;(KRo}`} z)3v*b3j?V=N2AeFaf%UxeZV@UerFgAb^>{;*V}0&&YdOk&ZHR}r_Eknxn%Gdkj3e( zAQ5t*u=p%;L|-yYb2yefJvAlF0U!5e>Cu*Y_9E6b!0W8Eixm?2r=HmaPpvW>ws5hh zBo~Qm49tsI7FAU}5rHVm$~r|#IEQK{J+o5>>>>By?VmNP#wQr7HrC4}k*MINm!EWk z=%{>%cMYr#VZf^UJa6Xms{&C$AOD;3{Z|kCA7|i2YQ#%n@I*E_zW<-T0x;S}S~VJW Gk^cv8!7Muf diff --git a/android/assets/modss/myFirstMod/jsons/Units.json b/android/assets/modss/myFirstMod/jsons/Units.json deleted file mode 100644 index ec9d5aef4c..0000000000 --- a/android/assets/modss/myFirstMod/jsons/Units.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - { - name:"Maori Warrior", - unitType:"Melee", - uniqueTo:"Polynesia", - replaces:"Warrior", - movement:2, - strength:80, - cost: 40, - hurryCostModifier:20, - obsoleteTech:"Metal Casting", - promotions:["Haka War Dance"], - upgradesTo:"Swordsman", - attackSound:"nonmetalhit" - }, -] \ No newline at end of file diff --git a/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt index fc978e4a0b..a17175fdd5 100644 --- a/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt @@ -25,7 +25,7 @@ class NewGameScreen: PickerScreen(){ val newGameParameters= UncivGame.Current.gameInfo.gameParameters val mapParameters = UncivGame.Current.gameInfo.tileMap.mapParameters - val ruleSet = RulesetCache.getComplexRuleset(newGameParameters.mods) + val ruleset = RulesetCache.getComplexRuleset(newGameParameters.mods) init { setDefaultCloseAction() diff --git a/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt index f1cfdfd68b..363ae03071 100644 --- a/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt @@ -13,13 +13,14 @@ import com.unciv.models.ruleset.VictoryType import com.unciv.models.ruleset.tech.TechEra import com.unciv.models.translations.tr import com.unciv.ui.utils.CameraStageBaseScreen +import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.toLabel class NewGameScreenOptionsTable(val newGameScreen: NewGameScreen, val updatePlayerPickerTable:()->Unit) : Table(CameraStageBaseScreen.skin) { val newGameParameters = newGameScreen.newGameParameters val mapParameters = newGameScreen.mapParameters - val ruleset = newGameScreen.ruleSet + val ruleset = newGameScreen.ruleset init { pad(10f) @@ -225,6 +226,10 @@ class NewGameScreenOptionsTable(val newGameScreen: NewGameScreen, val updatePlay fun reloadMods(){ ruleset.clear() ruleset.add(RulesetCache.getComplexRuleset(newGameParameters.mods)) + ruleset.mods+=newGameParameters.mods + + ImageGetter.ruleset=ruleset + ImageGetter.setTextureRegionDrawables() } add("{Mods}:".tr()).colspan(2).row() diff --git a/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt b/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt index 6a51a4dd8d..be470ab20f 100644 --- a/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt @@ -30,9 +30,12 @@ class PlayerPickerTable(val newGameScreen: NewGameScreen, val newGameParameters: fun update() { playerListTable.clear() - val gameBasics = newGameScreen.ruleSet // when we add mods, this will need to change - for (player in newGameParameters.players) - playerListTable.add(getPlayerTable(player,gameBasics)).pad(10f).row() + val gameBasics = newGameScreen.ruleset // the mod picking changes this ruleset + for (player in newGameParameters.players) { + if(!newGameScreen.ruleset.nations.containsKey(player.chosenCiv)) // this was in a mod we disabled + player.chosenCiv="Random" + playerListTable.add(getPlayerTable(player, gameBasics)).pad(10f).row() + } if(newGameParameters.players.count() < gameBasics.nations.values.count { it.isMajorCiv() }) { playerListTable.add("+".toLabel(Color.BLACK,30).apply { this.setAlignment(Align.center) } .surroundWithCircle(50f).onClick { newGameParameters.players.add(Player()); update() }) @@ -108,7 +111,7 @@ class PlayerPickerTable(val newGameScreen: NewGameScreen, val newGameParameters: val nationImage = if (player.chosenCiv == "Random") "?".toLabel(Color.BLACK,30) .apply { this.setAlignment(Align.center) } .surroundWithCircle(50f) - else ImageGetter.getNationIndicator(newGameScreen.ruleSet.nations[player.chosenCiv]!!, 50f) + else ImageGetter.getNationIndicator(newGameScreen.ruleset.nations[player.chosenCiv]!!, 50f) nationTable.add(nationImage) nationTable.add(player.chosenCiv.toLabel()).pad(20f) nationTable.touchable = Touchable.enabled @@ -138,11 +141,11 @@ class PlayerPickerTable(val newGameScreen: NewGameScreen, val newGameParameters: nationListTable.add(randomPlayerTable).pad(10f).width(nationsPopupWidth).row() - for (nation in newGameScreen.ruleSet.nations.values.filter { !it.isCityState() && it.name != "Barbarians" }) { + for (nation in newGameScreen.ruleset.nations.values.filter { !it.isCityState() && it.name != "Barbarians" }) { if (player.chosenCiv != nation.name && newGameParameters.players.any { it.chosenCiv == nation.name }) continue - nationListTable.add(NationTable(nation, nationsPopupWidth,newGameScreen.ruleSet).onClick { + nationListTable.add(NationTable(nation, nationsPopupWidth,newGameScreen.ruleset).onClick { player.chosenCiv = nation.name nationsPopup.close() update()