From e9205482e7967c57715f27b79db6bf4c88305f35 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 18 Apr 2022 12:28:59 -0400 Subject: [PATCH] WIP t2 insect --- .../sprites/units/anthicus-cell.png | Bin 0 -> 777 bytes core/assets-raw/sprites/units/anthicus.png | Bin 0 -> 2434 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4292 -> 4302 bytes core/src/mindustry/content/UnitTypes.java | 29 +++++++++++++++++- core/src/mindustry/type/UnitType.java | 13 +++++--- 6 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 core/assets-raw/sprites/units/anthicus-cell.png create mode 100644 core/assets-raw/sprites/units/anthicus.png diff --git a/core/assets-raw/sprites/units/anthicus-cell.png b/core/assets-raw/sprites/units/anthicus-cell.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d1d8071608e62b8a06d8f1ab24a3cbacd71a7c GIT binary patch literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^bwFIt!3HEX>&tY36k~CayA#8@b22X(7?=)wx;TbZ z%z1k!uxPP?K+D5#*Y2f!7drWuTQ6~bYpsW-tHuV##i8e4{Gaz}!URcEBcn|dfkqGm z1kSH5WelISEK|$=e%^NPs?~))?3q$C*+ce7hx8`z^0;^;%HinE1z9qeJ%6yxV-1nv zU3JXxZi`->zr)dcAmP9phqBqOIRDrmC0=l>R$>)f@ss?%E00v}+_aK^VJ|Q5U%&m> zs=9ZEefRDE|NX;bI&EQE&D)v(&KWK``^O;tWl_TQwCcC7-`>(bP;(4fqOLqJ}x$yb2gVsC_+H0%x#s1Vv zEbB10TlY!g__FQ;YTUiHv-KyPcY3jAZRFbxGcW&<(qDW3d7s>_E%%yFub$)j;nI1= zlLA$S?~kgMoYbf|na})8t54c8>|px7qc5*TZ%&%VZL_^`<>UZ!T7J0bu+tsSK z(vbMt@l056t-We+@TuQN!fkquUJL7Xm+;1ZG&yy~e~V6#X|S2yy`OS_H^1MTe#>+7 zt^WO|ZnevOi&_8O=8Z!4l!M;K55Lze(JcHBeU0hdo~rwwc9$~hev$YRRBkL6AH@Fu zoT=64ud!ZodrI^Uyjkdd^4@Xp+x)5(Uk^M^(*EM}{^8P=gWk^%zgI2M%=~cakrkOv9EM0 pGOhp2bDD0&6ZdHKDOeKJ{?D*uO6voA|NDs`Ax~F7mvv4FO#n17X|n(T literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/units/anthicus.png b/core/assets-raw/sprites/units/anthicus.png new file mode 100644 index 0000000000000000000000000000000000000000..b4ca19858cc1fdad2e9b997eddf4141f08b3432c GIT binary patch literal 2434 zcmV-|34Qj7P)Px;JV``BRCt{2oiS)#HxxjxOUFX#lr59J7(!>SrO6OOOGz@tbO{85A!N;DXX?@+ z1PYQqmq(EWD^*XYalO84qXS9ERgu3EnUqRLRzd#cGpLo0OkMt@GnXnInX>%JW^AZ*WUBHfnWN2Vr!GMRbs@L;jIxn4Al*=!C^pBzl0%qEeE2M-S}YI!O7v)TOO|5K1Z`V6?z zk=*iK>B!jSk0N;PzD)^1a>-9gV+{R)&uRw{Bek;@5?1;er8<~7Y5JQfDL_un)vev7 zpTGF`Pf?oxefjOu&wqV*Mjj_=QChC~%?75aHNJdbIueubOGkY9n%hXL@|z4QrKv>u zoOFbf&q+s6eoEh=MfuGIH01smlZW{7Q_s`Tn*63ZcNWrzFeHuEI(*HDFCqQ4w#SdxT{aS=GX(>ZCS2!m>1g42G#AQ z&1>;-^Rv^X-(kT~1$b|NUlj*+4ef&$DorlN`Pr!|?^c-J<6{|fKS%j~LApO{rGNMR z50|ci|HsdyxM_1Sx?f;T-Yqci)pHr7ejjQ&CDPqV7hmk==K7`UyT@=7HZJ$}_f^fi zChw)GGLH8%N@aX~;~Lvx+PZT$nnp-^2(5fBmf37hb{Zvlx1ie09cGx5j`;FRN~g|A zk?+PFl3zUVZAT6n^5hJFegY_|`P4W+R^u(D15|n}tC3$z zI+8+ox7H#*~i#hlnzj_S0BqT7F?*1OG^)3QxaF~i(5-N zKm$v!Zf@UNxWlKnZ(d(o0|#)qc}-z%)WJg#-2VoSmPc;YL_s(LbxxE^sy;d z^WDi7sznOHwM4u3ch;zKQC&O{lNwKbn{z#T_G=+E8>X2dlbkPUT_jLtU{&*ri!Zrx z0Vlu}h5wh#oZ&Il`O>ttP-S5u|MSublpDIAAM57NJ9NqWwR+mwc+`%P}HFNo&4 zu~?-e4vU_BmEl~dbC*&(xch8K5=scAmvY@$dK5LbQZsAn-3)ErxywGn)GnL|b*{M2 z+%&lKQm)IvrQw%@cX^h=Sv6R7cayXF1T;D#vYTR$WUv7pGl?rF;H-Mpz=(WO-aneYchuSJg(rV z0*}d;+(Kf@cw8@^Bv$@jw6m_X6N@#@qs++0c8sD_YvwN|EnEJePr? z4^XJ_wDy`QJ!~qCA-iXC*90gpznFOLrHPOr&6Xr?fybn4t{XenO-my^bX_j~lDlIR z5sv};8OkLcxqjnHR_W4nP7e15Z@NTXllr-o{Nnd`%s_7GNNDUloZ-Y4&qdeF8^2jN`D7pOQvwSXYbc;sKTmLMz?h{UT)tj2QlP zwG%CFo?4I&(1>_|PX%&yYgbjM(pQ#-AbF)L#_`cPT;1AjMmj*j6*$`7Xy}gxP)J^y z42{#V7KS!R^w$Qayel93BMC7|y_1-CCq?`)K3T^b<77anMk?J$ zB0qM_5cwME78@fqx0me@B+WcG;Ubw3vUuHjCHJx&ibM=0Skf9yNjiY>JwBGP_wQb< zg^rOtU)RddB|Q{dEMIs`G?9!nvzM)(asL>%V5JW`hCZs5-j_qM#qvcRV?nju72N{h zGLFYkwW+lH6zK@Y7Ry)Yn9@|=(lo@)?OTgb6Ix3C5b4PL?6mr}r6HOb$5Z5x4p45a z9g1PddOr)A{YHj1`Ac2U5UcsA6D%RgmfM?XXfmi0(vh4S8o7*3{-}1g%&~N-)U;`6 z*UT1a`X2Aoa>2G78^x%^1GHJdEyfh1xqA;1+rhb&6{|7nE#BV&8Ws;wrjsX`RM9ZD zP94&0U2xN?|3Ki=CEA;f&Hw-a07*qoM6N<$f|w%5 AMgRZ+ literal 0 HcmV?d00001 diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 2f5ba9c1ca..475d31c94c 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -547,3 +547,4 @@ 63145=malis|team-malis 63144=canvas|block-canvas-ui 63143=armored-duct|block-armored-duct-ui +63142=anthicus|unit-anthicus-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 513a3cec41e101c7d90bba870489e1d2d855eb87..4942751fab18967b9728ebad92d3fe4dcca27459 100644 GIT binary patch delta 29 lcmX@2cusM{LtaL+&5wBJGjehy=9Oe*CYKg(Zs2!e1OTu;3gZ9( delta 19 bcmX@7ctml-LtaMH&5wBJGj8tYcV+|tRC5P> diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 2212e91398..1128b28cd1 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -37,7 +37,8 @@ public class UnitTypes{ //legs public static @EntityDef({Unitc.class, Legsc.class}) UnitType corvus, atrax, - latum, bulwark, krepost; + latum, anthicus, + bulwark, krepost; //legs, legacy public static @EntityDef(value = {Unitc.class, Legsc.class}, legacy = true) UnitType spiroct, arkyid, toxopid; @@ -2922,6 +2923,32 @@ public class UnitTypes{ }}); }}; + anthicus = new ErekirUnitType("anthicus"){{ + speed = 0.7f; + drag = 0.1f; + hitSize = 21f; + rotateSpeed = 3f; + health = 1100; + armor = 5f; + + legCount = 6; + legLength = 18f; + lockLegBase = true; + legContinuousMove = true; + legExtension = -3f; + legBaseOffset = 7f; + maxStretch = 1.1f; + maxCompress = 0.2f; + legLengthScl = 0.95f; + legTrns = 0.7f; + + legMoveSpace = 1f; + hovering = true; + + visualElevation = 0.2f; + groundLayer = Layer.legUnit - 1f; + }}; + bulwark = new ErekirUnitType("bulwark"){{ drag = 0.1f; speed = 0.6f; diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index dd1de4118a..07a7399029 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -163,7 +163,9 @@ public class UnitType extends UnlockableContent{ public float drownTimeMultiplier = 1f; public float engineOffset = 5f, engineSize = 2.5f; public @Nullable Color engineColor = null; + public @Nullable Color trailColor; public Color engineColorInner = Color.white; + public float engineLayer = -1f; public Seq engines = new Seq<>(); public float strafePenalty = 0.5f; /** If false, this unit does not physically collide with others. */ @@ -856,8 +858,13 @@ public class UnitType extends UnlockableContent{ if(drawBody) drawOutline(unit); drawWeaponOutlines(unit); + if(engineLayer > 0) Draw.z(engineLayer); + if(trailLength > 0 && !naval && unit.isFlying()){ + drawTrail(unit); + } if(engineSize > 0) drawEngine(unit); if(engines.size > 0) drawEngines(unit); + Draw.z(z); if(drawBody) drawBody(unit); if(drawCell) drawCell(unit); drawWeapons(unit); @@ -993,10 +1000,6 @@ public class UnitType extends UnlockableContent{ float scale = unit.elevation; float offset = engineOffset/2f + engineOffset/2f*scale; - if(trailLength > 0 && !naval){ - drawTrail(unit); - } - Draw.color(engineColor == null ? unit.team.color : engineColor); Fill.circle( unit.x + Angles.trnsx(unit.rotation + 180, offset), @@ -1017,7 +1020,7 @@ public class UnitType extends UnlockableContent{ unit.trail = new Trail(trailLength); } Trail trail = unit.trail; - trail.draw(unit.team.color, (engineSize + Mathf.absin(Time.time, 2f, engineSize / 4f) * unit.elevation) * trailScl); + trail.draw(trailColor == null ? unit.team.color : trailColor, (engineSize + Mathf.absin(Time.time, 2f, engineSize / 4f) * unit.elevation) * trailScl); } public void drawEngines(Unit unit){