From b23ea8b965e1f54237b6a65867d9f3221cea396a Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 16 Jan 2022 16:26:21 -0500 Subject: [PATCH] WIP 'bulwark' unit --- .../blocks/units/mech-assembler-side1.png | Bin 770 -> 764 bytes .../blocks/units/mech-assembler-side2.png | Bin 765 -> 767 bytes .../blocks/units/mech-assembler-top.png | Bin 3206 -> 3200 bytes .../assets-raw/sprites/units/bulwark-cell.png | Bin 0 -> 1046 bytes .../assets-raw/sprites/units/bulwark-foot.png | Bin 0 -> 647 bytes .../sprites/units/bulwark-leg-base.png | Bin 0 -> 775 bytes core/assets-raw/sprites/units/bulwark-leg.png | Bin 0 -> 691 bytes core/assets-raw/sprites/units/bulwark.png | Bin 0 -> 3146 bytes .../units/weapons/bulwark-weapon-heat.png | Bin 0 -> 1708 bytes .../sprites/units/weapons/bulwark-weapon.png | Bin 0 -> 1195 bytes .../units/weapons/vanquish-weapon-heat.png | Bin 0 -> 2969 bytes .../sprites/units/weapons/vanquish-weapon.png | Bin 1881 -> 1725 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 3925 -> 3934 bytes core/src/mindustry/content/UnitTypes.java | 102 ++++++++++++++++-- core/src/mindustry/type/Weapon.java | 6 +- .../world/blocks/defense/turrets/Turret.java | 3 +- tools/src/mindustry/tools/Generators.java | 22 ++-- 18 files changed, 117 insertions(+), 17 deletions(-) create mode 100644 core/assets-raw/sprites/units/bulwark-cell.png create mode 100644 core/assets-raw/sprites/units/bulwark-foot.png create mode 100644 core/assets-raw/sprites/units/bulwark-leg-base.png create mode 100644 core/assets-raw/sprites/units/bulwark-leg.png create mode 100644 core/assets-raw/sprites/units/bulwark.png create mode 100644 core/assets-raw/sprites/units/weapons/bulwark-weapon-heat.png create mode 100644 core/assets-raw/sprites/units/weapons/bulwark-weapon.png create mode 100644 core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png b/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png index 07a26a13183968aa09657897ac72bd0e26e9cb49..bfa591c50ad8d512dae6f560afab6943c45b5eff 100644 GIT binary patch delta 680 zcmZo-`@=fHuzs7Ti(^Q|oVRy(7YYYTv^_k}!z=KxXTpRDQ&^%3So!Ac=6TK%@<40> zQ+o-cpy~{k%$_x|Z+E_t%bBNs&4cTnrFFICe>DbdVDX&Zf6O-i_v`Q8*Z(<(;bmTC zO((<4H7fgD8cIT>;*}h%R(9&wd&YhFr~IcrFRwo2=yZ+=Zn_^;`3{;`^t^w({QA-R ziVmxM*48W)v|9$NZQl_|w3w?!31yJfa4{iv#Uc*B87-X_^|U70~X^q=3|p7ZR+7Z%1% zohvWOGNqIj7bmlvSmnp7E2OYG(#X)eVa=hAxHiK@)3dfpUnuu#7v`L>ckN?umJ{;I zkG$V-D!vUC%zErSX}Yfcnak!%`^wkXpZn$>r>$@`3Z$rw4@A24fdYcp2SgrZIq~XQ z-dWBGzCNxR4rawVPK-fozbrL5`IzG__p>K=Cj@_Qiq1P4$(Sj(Hf*!dy9macpDn}= zS1L?ZKd=0gCp}o`@Xcu_3(S@o&$%eWlWrk+cm#EMtb&bSB@9CGkFSY3-3+d#bhF~!bI@2PUxIBpuqNY^>bP0l+XkK D-DxJz delta 671 zcmeyv+Qc@&&~1;Wi(^Q|oVR!P=88DV9D6A4!k)4u#bL}{w(4%>B+O(-+jdv@BAUe_-Xn*LA|5X zIVP}Ix$aQg=h86eg4DxXKZF>K7MdNJ^h3!1ppHhR)w<5G2AwG3hhhE~85kHC4qSfz zRB^YZsjXwfo20Cgc7~gG?%a`J+_ZA(LRY2~<7~Aw&I!H}7f&0weF<9ojiLV6+)EE# zn4V<32U&Q$Rt29qZ)ZdY+eU8iH zbH>(LQ$O^HPEd|No@5d4@$}^9`l&T-#TuOtWlpD9uwRxum%-O&Jg4KK*StPP1_p+P z=ZCv9#BzT&Uu8-OJNaeJERMOHi9s)4Y&(3_^<&s<2FsOYc?p>i6Pxt-m&nklR)4$!Edq$sg@+z55x?UvBTeUtS!i z?jUAvzR#sWXN?MoTwwwtm#FPisoeNQ{NexN;_7(OcqIp^tw*NsV7dIjWS{)~Iib+8=3JC|c;|-@qtODhLz8|8l^^uc*lE44Gpxa9mhi)<@{0@%3=9V@KYyq=+tS?D zu^}fZqokc7^6rg05{#Qxtz78Jlww+}mc}_DRN|tyx!aeZwci-(f5p8lP+~0FP+HT; z@N=TrVf}Vb7srr_IdAXo&J_uiXnV--!al`8bO*PPRzc4bHkk_zs>k&hCMpEB ztURPCX*z>teNXxGB0XdF+0Q$}U-QPz{TOr3o|6F!IH0lK?LR}@vd#VS@2=PQHI!^O z+vn0y5+)R{NuYO4r?UZX-=p6jSO2hP z@tAsY>UsmG_Jpq3`>}rVW%u{%{?gM{aFsj${ps)XFZtKSaI&7rS{}CV8VBnMt>X5( z(>Pd9{P|y^ebr6FVN#Ct!?#Dzrlg;1@|;vt^}TZP(G0zPE)6!9tPd^yA;kE}Wj#mz z^&`_cCJ09<$4JL3IjCK6ix7%`q%(t6HT}5hMXm|1*-Cd_=}3XRSMe{#CdGXDGIfp# zu|B=;1Qce^o-M8HV7Ap{i$_CF+SwyIjGH)>t0a$g#H|X=cc>4rnB&nP^F}sa$>E=b zV0==r&`Sf+g+}{SDldO&ul(kAr2O~S+YjqcWV0@bORni;xOwsN491GNrJC zNdv}BJ9kDGGo^?J3vx}kJEtq4;fi*Rrf-qV!s>%M_jn`sh~FvDKF8(pJ7a6t)DMlK z6PWvx4d<{2RerOXbiTk$)o@PkOrG>)tHY9K4;Hiu8^)ZxX$bPmhoT(+*NY2yM&t;ucLK6UctuhS& diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-top.png b/core/assets-raw/sprites/blocks/units/mech-assembler-top.png index 18b76fc0624afe3145e6d592c0604c3840b1a93f..40f43fdd24d85f54348f6fa202914e8d73554d1f 100644 GIT binary patch delta 3182 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 delta 3188 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 V%`$va4g&)NgQu&X%Q~loCIH*P@ksyx diff --git a/core/assets-raw/sprites/units/bulwark-cell.png b/core/assets-raw/sprites/units/bulwark-cell.png new file mode 100644 index 0000000000000000000000000000000000000000..0fea687a7e591957ee4ad9fdee36f1d757bb4de6 GIT binary patch literal 1046 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mg9Bd2>42M36Ni#4oFct^7J29*~C-ahlf%$@` zi(^Q|oVRzQCq1$dU=65DDht}nS@l2B%yDh&zZqpLk3Tt2ieF;!d@|E1uh^7iZf#Wt z;((UT|6Ntqi(aq0*Kpz(&tWwi4$y+wS@ zva-J15IS~CfG_Uw4%L?Cu){Z|Ja4-6z3R)~OSeT=-j#iSbz1rLE9%pi-;zhD1$=TE+&;3rzQ>hX6OPVc6z?i}pF zxihN%pGf49K4Q6Ew&ch=3-yHRwt^40rYYb1pLLeiaOr=mS0|DWEme?_oV4!sE-~jB zL5m%2l6PGVQ8>rpxjOjdA-2MG&gb5&xc*?SWzb&d+uy~^IyC?4{1KJ?Si3*I=*&01 z-21^VdgX0?{i}3ypHio7n>~9`yTMYorix{E47LgM8Eb~MZZ+Uav}9dvBJQTRW^sme z&tZ+0m}eKihfa=Tgv2xxcjd&ow|pFe^*-^7j(%(Zz0%6BcNQ@ER(&EH`|HL z@H_ik-O_}-=tcLW)l&q5qx37h6=l|J)y(1u=8`!wqm$lTdzt`|0YR28qe23=jTbSEq@wj8P zsBR3SWtW294Py(Z9XKCkQj7*sk3B;@Jp K=d#Wzp$PzBSl_z< literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/bulwark-foot.png b/core/assets-raw/sprites/units/bulwark-foot.png new file mode 100644 index 0000000000000000000000000000000000000000..f035f791d4816aef3efa8cce1957f85b9dae645d GIT binary patch literal 647 zcmeAS@N?(olHy`uVBq!ia0y~yU~mIr4mJh`hC;nZEes3{jKx9jP7LeL$-HD>U~=?y zaSW-L^LEZzUuQ#}2HqqQi%lFdH<=Bc+#TK=6cl^NvHQTupp}n~l)bUY`+IlQzI|%< zPxn7oW7X(d^x?7B?}P2fm&d=_d%nN?Yi+q>XyZH)mEAIh4=sZxoGEf)o$led=~SY4 zlrrl{jrPz7lA0c7mWK~Tc{m!Kd?|J%h>PLC+q-}FU(a9P{!;9<>g+u$w~M5xsB4+* z*tRc`+l!0gz~|GAYb?G$jIeiUU`?tDnlMc!Gj;9L9esu}n#cdt)Ss=9Ww=qQy*<)X zi}j{!pSR57sZDPbj;nr}E6SXpyqq4+K6)8-seJFQ!IA*&3h8|YNlC5UGcq(o z!Y8#zT~7AV&lO-y7b}skDW9;2m)))CN|KSsK|SBt>ysA?P4+zXqROi;!pBW>@%gP! zI?|TPF6nu3w&P0m+M8LPMm3^y3>u}q=1i6FKIg@g{_2_EdnLm=@qEfJLt~77Tr0^n zja8ocM2Gvs1fC*|JJVQB@D=slOcLb0z}HviYt6ut{vk~DfabPy4_r^rJZgHNdy??H zgOBSjo-#b1^&xb-M1QQ$=7MOAuFPVv4uVHdn+dTD3wotWuqv`2mUboXar*OJS_Wlt-v zXpUhi{nEdHuUqKK$D}5!34Q_fi4FnvRe>U|f(PU$N9BK*@2<9jfq{X+)78&qol`;+ E0AN@i#{d8T literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/bulwark-leg-base.png b/core/assets-raw/sprites/units/bulwark-leg-base.png new file mode 100644 index 0000000000000000000000000000000000000000..6091d584692393eb4141ec28fc9509d886b4792c GIT binary patch literal 775 zcmeAS@N?(olHy`uVBq!ia0y~yV6bFhU@+rgV_;yY^)n1$U|?V@4sv&5Sa(k5B?AM~ zK~ERQkc`H+v%LKd8wj*5pQC!$<&~=glj62Df#Ds>UpP8KubM`;I5c&KoLaWiJ2Iqs zP2#*h*`*r)SM|=_Xy2dQFVCgjK%KdW8o5Dz*e;PA4RSAb!G{hQ6X*-6nU8VOooRU)Dz>jEK#Q%q~Q zZkGOi|2`&wTVQEpShEjfVBm$cok?#!p4!^wMqJRE5Os9Vf=oMZ6W`|!-Og1}_n4ku zQr&&0nCq0&v$oWG>sS{wdj)fBeXr~PB}K%9sY8lMN^`wO!#Yt9cXz$@V&@8Z8-H$f z^LiZpdG;0?DaI%BB0p;R`v0#^jxC=)r7hj_+MjEsdv{M_P+#x))3U$KhBH9!!ff@a z*A&8%XHGC>2)u5-UGVZMlK|08Y6@OVxzkn`w5T+8O-N=~q>;fD&NQV}Mp&SAfy|YF z3!ZD$O=sK*I3r6z&16$Y)dMn_i`QpASji~$_1A=#sUKE`m8^8V|FPtxNYk_F z49=?svM;W2wT@xFkbd#+yg3ur-&h&;?uFD{Q3easHKFrPPrm3pf6fn6af2v1?wQrA zL^Ufo61MDllsI?!gBSby(xzAYr8jGBT+Q}s?t{xUVTYH#yi*dc>+oDltT*A;;d^&g zZ*LQP{(05v30s*&6cLB^VvsyRP!1xcva|mR5)$jmg~eGbkuLF&HHG%ug4Z$+;#T)xq$!w mm=s^lS>JSSR;k-B#=fq{XsILO_JVcj{ImkbO{ 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 AoB#j- literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/weapons/bulwark-weapon-heat.png b/core/assets-raw/sprites/units/weapons/bulwark-weapon-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..11826e13054d8d8bda05234a02fa93e6dda01122 GIT binary patch literal 1708 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png b/core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc109fcec854612ba24bce1a20208d1238a1942 GIT binary patch literal 2969 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 M)78&qol`;+0Pd+NJpcdz literal 1881 zcmeAS@N?(olHy`uVBq!ia0y~yV3-BM9Bd2>41xax#TghF7>k44ofy`glX=O&z%K0R z;uumf=k46HSu*Yd$Gs1V+czm3|9bR+jf+r;N0ZYO8P=V;R+10ZF9@?doP6=@gk+Uu z;g<FL`A zytt}N6!)cUOjY1<5uPB#wdrI-hNOy;<2D-sUB^y`3A(&4-3Hb5f-!Y}-rw~^{WQT4fmbjGOc3F$WXIjlrq!tT!+%N{x6YTM~KP zNHB$@)k~&yGhbxd!ohs=kb_CT+#-i87$q=9)W(8Aq?ghxMkcoVT*H+S_*a%%*k0o2FTWr5FdE@b$PRbiOI)755I$lTnYd zrk}l&&=5I2Wu?SQ#-=i#t}yMJHRYB+JQ;7c%@AJeYIM@b)2DmWOd;KC2g0X6w_cgO z@afMF?zom>tQ_TK^iO8e+A=Q|bFma-g@@e*@Uae2>g4 z_Ww)!@cW?b7wt1%9TG9ATH;e?>7IAuTvffN_*uo<;Q6XBcW7+~2g%i`* z#Mkh>n=N-~iHQ97-e~Uc$CoTn+9yyocSXpy3)y!kyyXjFT6#b7^~5~(n+j4w9p)`B z4^2-|-s;nNAY$6toP*gx_iAot{o6Ss^rnwk)vG;T-J51=f4DNq@LGy-XoRO*NdFU& zOdIb_Gc_|jZ^gbZu|ARJVxl78-~TIp?$+xmrtd#rf5u=l<@K@BMNwO>vFQjdH@)bx zJ11-Rn@Me_JttZBZp(YW=&Q-9O#!BRo!9EvswSJ9TDHzXclm-TChtTR>n*$~H*?y> z)n+$CVi$X=M(a#Fm_EH;zBRSWbJ{OG5$$dF1#Ydo8PchCFgN47ar*4vO-od|*B&;! z!}IM%-P#1NEdk8>VvlDwMu>E#@T`B`ZFQgbdlEQi)+GAx=Uy*w-Mg$KSNL|j>P?@H zFs++b8}w#tU3603+O80pH-BOB6|+|%p%QKGIcq1)y*q914UL(Px-u-v+qw69tn@Wf zTDnM3(AM6L^PXJ9^c0`fIr{$oA=^4v1uyqraWH7|rX5$j!Zzi;h}h!gwq%EU@{aUk z>2J61KaPB=J89>VDzoxc+UE+c>qt&~BzN}cd)uVRufI;x5j}l>`zebXNu^%jRtipD^mWRblGxRoW(xb>y0H1Xxa;DBe`jZZv_G&x zW47i+FO_7KO*>yZY%@r6Sv|4G^Q71>zD>P`h1HAQo8R4!>6eTBy2E_i9cztW^Mh}9 z-Flv_t68ou*KgiyE6;oK+wuDHt6d?xMYXt9XHLGh|Kh9Vw{~t?DtAbjH#PaBMEtfJ z|6;*$swymBoP7L~WxUP5Ia7One)v_TB6)bz)H4z*ea%8!SI&&Jp32~(;ve+$WvG>( z&f-&DIayqnjCPl;&Urnd=c3Z=E~hUuVt0paEA={-F(LOg_XTGoHT7uCoh&Kdn`Z7z z)UFhZoHX;E^0cXQ{FIaz?XCXpb|?Dl1YfD-pD&X?v((*gs=9cm?M_RM>Lf$4lwjSc z6^zyK?NUAypR)o#k$$MAmh&(=h?bhUvWL+^|rUH%2Qu(?@%fprr6xwv{>4maJr)s;r weapons = type.weapons; + weapons.each(Weapon::load); + weapons.removeAll(w -> !w.region.found()); + + for(Weapon weapon : weapons){ if(outlined.add(weapon.name) && has(weapon.name)){ - save(outline.get(get(weapon.name)), weapon.name + "-outline"); + //only non-top weapons need separate outline sprites (this is mostly just mechs) + if(!weapon.top){ + save(outline.get(get(weapon.name)), weapon.name + "-outline"); + }else{ + //replace weapon with outlined version, no use keeping standard around + outliner.get(weapon.region); + } } } @@ -575,9 +585,7 @@ public class Generators{ //TODO draw under for layerOffset < 0 //draw weapon outlines on base - for(Weapon weapon : type.weapons){ - weapon.load(); - + for(Weapon weapon : weapons){ image.draw(weapon.flipSprite ? outline.get(get(weapon.region)).flipX() : outline.get(get(weapon.region)), (int)(weapon.x / Draw.scl + image.width / 2f - weapon.region.width / 2f), (int)(-weapon.y / Draw.scl + image.height / 2f - weapon.region.height / 2f), @@ -598,9 +606,7 @@ public class Generators{ image.draw(cell, image.width / 2 - cell.width / 2, image.height / 2 - cell.height / 2, true); } - for(Weapon weapon : type.weapons){ - weapon.load(); - + for(Weapon weapon : weapons){ Pixmap wepReg = weapon.top ? outline.get(get(weapon.region)) : get(weapon.region); if(weapon.flipSprite){ wepReg = wepReg.flipX();