From 047c284e489c6547651b6fa8457d09774a6ab26c Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 6 Apr 2022 10:37:26 -0400 Subject: [PATCH] New avert sprite / Fixed loading of CommandAI positions --- core/assets-raw/sprites/units/avert.png | Bin 1913 -> 1767 bytes core/src/mindustry/ai/types/CommandAI.java | 9 +++++++-- core/src/mindustry/content/UnitTypes.java | 5 +++-- core/src/mindustry/io/TypeIO.java | 1 + core/src/mindustry/world/Block.java | 4 ++-- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/core/assets-raw/sprites/units/avert.png b/core/assets-raw/sprites/units/avert.png index 1dbf38989e58ab3c892ddaf83c70c3e74c518b9d..ab1344a9714749cb1b7028e7abea7a1afd91fdbf 100644 GIT binary patch delta 1739 zcmey#_ndcvK|R|-PZ!6KiaBp%Y%^lq1>{<1tT0_+!g8jw!LgTndRs{25tWV!hmLJ6 zRK2sLV7Z>F)MBkAd_jUeo)dUiGHHe`F_dAEXKXyx5XCNDWP0jeR#{nE*|)v1o8%?@ zzTbOS^SL&^{Qkc=jBE(-FaO4j*$r&=e|}tUeNw;gc)wiPR`wiux#M zJL7_l$~mD4+rnCEb-`+uV3~qSMsiefRdQa*I51+=NSB6$oalF z#n5?R@5~GJy^KK&e)t&$(#uw-@iXWVUBb+F$4N4f7E|L=BD-R`BV3mGjx2FARsW%yzh znB&y9U42zAW1-N;@=0|TbydOFmwaC;P;~O+H#gCA%R}z!_3dx6R84;z^RMsTIwoX-I zII#4gqRPkn|2}`5`ugF4Ki8j~&%VCKI4hX@!Y;e%KUP`==_)>%CS9Kt5#3aOt6|=e z=dZGkw!AuhaYl_-&8u0VI#ci)wpg)?NGOsZc5LsM^`%+SDxt zrVYv-XKj)*j!dsf?>$)f)$HI|22Ml0jUn@8nuVjXn8dw5EvT6FAg$raU6}?y0oIe8 zKYm<1+}oV~`{eb#&FR0TcV2hwah&N;IJy2=YU`lape{heTKiYCscfTuydmBORYouZdsk=w9HPP=5#8uWb${-ra2NnrhR(#w0L^z z{qy^O{9;nDKUcB8%**FQnPYKhJoC<7OPhCy2)&J9E)vb)Jg>RWq^;b~lJ{)BqeO() z4JEs>dRf&4uRa(#u4ZJN%vg9prt!|#yR-c#U-$BPaH`0V@rz}oZvs2#s-GUrNBtwS z7nDpMxB5CJH{GabINO!>ZeGm)=))~Bb9bB1 z@A~EThvdtzo?KLiT&U z+#~t9GGRC0Y&f=gmc!S-JD+ysaC2y{P__HIQ*6mc8=rzm?n7N`9^Kzjr$1BUYpt)a z$;UoFzN61WG=-O}UihfqP$4G&dPjeUu&(Xp^{r}gKeiub$-Au4R<$$SO3_PjfBkbt z&0{xzew=D_rSjaJo*9qauX=y~ z7m0|XB{nT8ACG?Ps}S9^WKWCts}9xNd2?*crBf z#=Sld=7p@&dpGOb%jq5c8it9J)N$yma#4`5h~d>aR@h zGG0~Bak-6$wg0n;;-0=`(XX{mE`QbL^JkX0aM$ejcOJEWkeIPEhOy)kv&8i#Ct;1o zi4oq9l)Zc&6tQ0D<`38)vHg3>|3kaiuhF$T^!P?~$I)+no;3}Jt_GZUStcZZk?Z@T zCALB{qiS5Z@5I)#q#ulVr2OpJyJ>q=C+FVdQ&MBb@08Hpo AcmMzZ delta 1886 zcmaFP`;%{iK|Q;%r;B4q#hkY>wjH7FB6iYBd%|u6ah%X&OqAyKzU`pI>Fu#FqI>F% zB^z$*xk_#1TG=e-sFEmpY1tMJWg8AVChlmqZK6Rlk}T8iy|GL`cmIxjk$ptP?{{}* zzOT9e=l)Lqgo912++sQr8$gWz=5Km@4>ZZw{du`p?e5>|`to$)>p2}+N8QgHZHb() zrK^8NGv{RW7ozfprNU~ydRlf#r__A+O#NN`CkzfAvhK>0EN%)qSaEcJ?PER$2Ak@?C9i*XaEjfN{ISA)*`x(ux3cs1 zJ3YESf8`dLSDSSAY@Se`*U+Z1%#rch>)w?;Q3da;IV04HHhehelC^o0(3;l$Wx4&n z-CK95nv}T*nWtz@cStU%K%cey~H%(=B$n*9vToC?0;*ipst1SGRlK7-Q z{1lHb7mv4I;r4!`lJd6+j2;iJ$H#TN+~F8z{KKu~%AMCw+YH@(3#0?Y>(9(=XuQIh z$#$qG%I9g|^rMB3eO4s*&Uj$dpuItD8Sk3uKZ4@saIWn-6l$`b^V!QO%NFSGw+cD` z*7Q*|d+1rNn};@Ey~@O}r|RdOB`Y;I9(}s^Z*$tLd5@Gg`P|r3yIAjXlGF6H91X>X z+Qa1!KD_Gwr1b2c=*=%yv2J^&Sm^jqtp4NL7ikB!&;P6LliO7GQMofZ?((w90mWLD z(>JCZPHEVd8Q5Z|@cPtbA%jnIS)RCUjatij&G5h-rYKeqm-~PJcFr(2KT(-wJ$;?& z1TUFrwTPqa9684VnK!v?5NVO(2%MokJ->ho2BN4V+eZwtV!S{RX zJ_mh%DgMk^QreI)xvztNf&urYu6V9voB`_;Erd_iSO}l0-dXB-vhkFAvJ;CU^Ag?2 zt{++7pB!G~u3T3c&*`<|m-VR~(>Py$ZQJ8-q_|7>ZGE0y>B0H?em^^$?pMRIeZxYQ zPc{acj%$ldp9XJUSd{Ru`0M9urtgD|!nrr>vYYlJMlQx%W9Qam^QG=hOE63Dd*of| zd$c7lT9AV$?w0?`^{HLwpRRm(x!Jw9gn7lkc;ODy7hkJ3e_h_V%;-v{cf@ux6Ax1b ztJKXM>wlh$c1ww^Pj;QfD3uhHFzY!x!=?*S!b>)ph^k(0F<~|-E@rTD5Lu%7;BR$# z`8*rDq~+EAa`JDtENhNnOJzFhD?MFYjX7%Zp0rY~4YD=5Ea^^~I;l=SWz(JJZa=cP z#Y~Ukw~xo(iW4?9OJ8c8+IMUB2~ErB(>+e7Bd2QoeiH4?GiRxbdHpVd9i{iA(l;%i zDy>plRWwDU!MtKZ6tqbODRa(QmNu}-6B4d$3FX6 zr+qs0-&W0ozc;I-(w(P4z3%rh*`S`wn;&z34|r}Ft)0{*KUM!||KnqY3om??HFP=6 z@>=k-k;R^Ht{L1xk6fQhKg@ins`&LUL&Kj17WG#SR++!u^rP=z9m9d2ZBw6`M4m5a ztSX3jJ8#15qQ(2=85URv#W@N8xc9HIO5CVue;arCmD(@gndA1>>|1OZ6z8OE_cfCH z^g_ypFxw++jaOmDU`yZ=y!Bf;Y1>FTw*iJ$Ag^{!OyDKoj)weV>F z6T>5tp)Ic)d0Kluo2YK;TUPzK>&WG=jXYnopQ|q1^|Md6uCu2xvP<-Unq5P&{tA;u zA&E|3&l;B_ESg~qyMHh=p54LD-+wRt`_#Qh-BbSG`E>7JqjycigS?D11?SHG8C>5B zE=V@==-MT5-3g9w`kbH>{!uWw*q{5J@QE9bl#e}`r`4c3VP!|ZM0fQrj#&=N)a;UY z-Zkr2EYq?}%6ND8$O5LByMA<77RQ4tGj1`R8SMX9**5$TUOid2f`Ng7!PC{xWt~$( F696@{gA4!w diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java index a4568538bc..c08fb5c5f5 100644 --- a/core/src/mindustry/ai/types/CommandAI.java +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -98,8 +98,8 @@ public class CommandAI extends AIController{ }else if(local.size > 1){ int count = 0; for(var near : local){ - //has arrived - if(near.isCommandable() && !near.command().hasCommand() && targetPos.equals(near.command().lastTargetPos)){ + //has arrived - no current command, but last one is equal + if(near.isCommandable() && !near.command().hasCommand() && targetPos.epsilonEquals(near.command().lastTargetPos, 0.001f)){ count ++; } } @@ -181,6 +181,11 @@ public class CommandAI extends AIController{ return targetPos != null; } + public void setupLastPos(){ + lastTargetPos = targetPos; + + } + public void commandPosition(Vec2 pos){ targetPos = pos; lastTargetPos = pos; diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 7c4cfe37f4..d1971683d5 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3149,8 +3149,9 @@ public class UnitTypes{ itemCapacity = 0; setEnginesMirror( - new UnitEngine(34 / 4f, 31 / 4f, 3f, 45f), - new UnitEngine(35 / 4f, -38 / 4f, 3f, 315f) + //new UnitEngine(34 / 4f, 31 / 4f, 3f, 45f), + new UnitEngine(35 / 4f, -38 / 4f, 3f, 315f), + new UnitEngine(39 / 4f, -16 / 4f, 3f, 315f) ); weapons.add(new Weapon("avert-weapon"){{ diff --git a/core/src/mindustry/io/TypeIO.java b/core/src/mindustry/io/TypeIO.java index 00ed8bb0d6..43cd8ef89b 100644 --- a/core/src/mindustry/io/TypeIO.java +++ b/core/src/mindustry/io/TypeIO.java @@ -490,6 +490,7 @@ public class TypeIO{ }else{ ai.targetPos = null; } + ai.setupLastPos(); if(hasAttack){ byte entityType = read.b(); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index acd7f9e7d9..465950c38f 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -518,8 +518,8 @@ public class Block extends UnlockableContent implements Senseable{ addBar("liquid-" + liq.name, entity -> new Bar( () -> liq.localizedName, liq::barColor, - () -> entity.liquids.get(liq) / liquidCapacity) - ); + () -> entity.liquids.get(liq) / liquidCapacity + )); } /** Adds a liquid bar that dynamically displays a liquid type. */