From b1b89290b97160466d5d840f03a23a20b370f6fa Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 7 Aug 2021 12:08:30 -0400 Subject: [PATCH] Implemented Anuken/Mindustry-Suggestions/issues/2809 --- .../blocks/production/disassembler.png | Bin 2260 -> 2264 bytes core/src/mindustry/input/Placement.java | 9 ++++++++- gradle.properties | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/assets-raw/sprites/blocks/production/disassembler.png b/core/assets-raw/sprites/blocks/production/disassembler.png index 7dbfcb14742caad5cde944dc723cfc0c919f96e7..4e4a4d3433803439bff11a56c0b27d58b65d9bca 100644 GIT binary patch delta 1796 zcmca2ctdc4Vf`de7srr_Id5ZayJO5nY~y&!WMh2VbYpll)egFP$chR36l^>?Nl9mk zv7U3CL)V|44LiIef^s*uawqqAPSm z^ZOF@mvhQhZC`rr`u6$a`t|JF%P(^OUO%rp(J%ka&PS0Ce4D%K#XIMoOzHahb4|8V z^p%aw4AFwu+UI^btaRv4%{EaTXKs1xpYpvNKmV@fcw6&kinxW~ir4a+I0S2Ae*bHq z9~W$X?6KgddxGB+R*6q-xBu~6-%wdyzII!QudqM!`^}##f+W2&s;7C2O<0gCY$Cas zL&H&UQK!0MQ%!@K^`hT#qV)_BB8^^WK83AuZqfK8yhSOZC6Sfkl~RPSP{dk}i%--& zlp@wP!YjPEl(XWed5OFTEQ}% z|wMmB4=fMQq8%c?#NK^I1o zC(rkS%6;*z9HERhPo95&_I$J2 zC*dfU3rAwNb6h{VT=>BWe~+1~T6MYW{=C@nYt1iN&aX4t`T4{@9TNQe=3{Z-ii2-s zufKV)wSM`1nF)6D>rm2*P>(R);?j* zzt^+J>bA(Im0PMq-S612+~#;LX#3>(OsRf%Y1cYk{)j#mpi{@$Ev_JV0zz1`RO|K3%d(@GFs$aea} z&Xv-;?5z*Kd?#D_W740WM_W}b|9rcH(85Bw?A+S8U*WgF#P@#DVtw|yy`pFd0X>A73%k}+L>>7m_^qKdhD zo!p$)3vq}za)k>k7OkAJt@?Iz%>hfPU4DXV_%`O;%2t!lkl@|g!|8dUE1{G#{W4EU z{r5@y7VSzxS(m5DxzzeIY~q;sB)k4^Xm*AWLqso!-1YII<1uv2nL2tLW)#CqdUUjU<^0LEYo*c&+47Mk(|4{Puc{EI;NLn*3%$|H5?(*i{?%!^!1EVPg6Ri z>cQ>&>3*P6h4^H1f6qLrpPXBl2430fD}M0FG$GG_7tiU2?vPTOtm)?OXHZqNC`#|B zkXfBF0Oy152H_oh$amavlgwQutUwsnk5dm<(`aELhA ziA4NZ5!tkpYg1X^{ql$(3tV25bzN#_;g(M=-EvnqmG^}1!BocREy|IH{$B{F;urq^ SyOM!{fx*+&&t;ucLK6V>AVz!u delta 1791 zcmca1ctvo6VSS&ci(^Q|oVT&I{V}E@wvn!0SyPfEawjIa7%mX$=*pU^~~mQvOx5zShS0VQ=pcX%f=?nMVi|r-uej!PHqcuxmRIx{rl2n=}9Oy0_`^x3AaP{Q7zI!8g6C#Q#r?4bQynwGFr7-ji7$@KI@_@k}2>`}w85 zDcx3O3<=tYer=ds7vVBv{`qZ9sTmKG)&DORRNTK`bm83oxu2NSnM(iGiYYerXWy^+ z{a5?du?icfd)ANSe7-LF^nv~VAJw!cPn!Lwt;>9r`JlE;&R;8;GxvPaNhYB!xlL-x zB8;jUP9`5!Tqf{eNO3Q@U%#4(p<5}SGxAg390;}={r(S7>xz*Pl@qfA0Sf97Yu*KnV?qwUU#g&h44 zgbvR77I@h;R!Bj8{~ou_2erXrs!rWow{|ReyGW12VPd?J_`<6`)!hPtS6%BPn8f39 zS{lvYI{dR=)%Ql#DaHD+pkwsErEWX6G)=0}>M{Q)BXy`xFO{3MpQfG{5pqzfH=5bSTf8shk(d%oSC&YogkQuV%}XMv*q`8R)Rwuu~fs`G!M#E^S6)ycOdDmrv+(~6D7+CLAx zHdkJM&aAaY>uuasL393tW``;_ zJL-^C`NC}tt64a_7Z}~}`uDKe`J1zrzDD?q%hJ`}q1`OKsuk`<-ZNMkQUsMw_)l<| zaANtqm5l06B0m|7>*YV(eQ>|^e|o)5JlEoteNiXQC+a5nT4cZXR+gE%UA$iZ)A!%Y z<0llZ7F$r*Hc9H4#wW(xGX%u9T@~`mh~w$=-p17>;MjezK%;MIhRcPPja>oG+CLi> z@kX?AG(UWOukYCHCgmGRs%w>8Ch%)WKb)te@=17)QbpU^y-F?<`6cSzoYg01%yx>$uh_y>j09)=R&nr|Jiu$XK!L`r@rE?f>^Cy!W1FU_bxii=vjr zrvpE0$-ZmWZ@+$1JH_OSR-=R9k^)mfrRiRoySLk(V4t&i;cJnDuLMpn+ne@@F;)4E zs3Z4UjHQEYF#r5J9S)dn0#tfU}V_M5hFdxrQ?IUuTqA)uW5&pJckIw3uPx3v#B)-5e>R; zI7Ab^JUJpVulls|?wz-0n(~^QJ0RA=d7-(cSASBA$-FHqm0CCwROdVYe73#gLFD}U zHLg=Q&N6*bu|KHnboy6{u98cJP=e?ab(awL@XXu^9Pc=1p2%CY?cmjp1(ABJN4gxg zD&FFhygp?~X_A^!Ow$$vmH)D;P34A_pQk)oHgSGHw3KV??GizsJk5zuZ_gx$!uBIZR@flPB|yW&SJu!minJZS*`WYD4y?svUwKEqAIsA_qCU$ zs~?pg{&zav;?ScBuD&+kTh0U>n{&1Ec*lMNj#4r?p?L)tjE~ZswMLxt?oF_ky@Z zAyw|dPt>>9zYY8TCCK8vd;HAfVV{C`n!J0tw7lfA&{7$hpCN3~I*wANSN&eOOpO1x z?^O5a)3qKgTlDq-$*3W8zIE_`^b)@{DRwvJKPCO+<8*X*S9hOXs| zSFM?N_A0z>&c1$6JmSZS$fliKo5}+3mqz?p;PRrZ>(cMZ>p4V4`Y#q@FJP$&QZ diff --git a/core/src/mindustry/input/Placement.java b/core/src/mindustry/input/Placement.java index f4afb96683..55044dc8e0 100644 --- a/core/src/mindustry/input/Placement.java +++ b/core/src/mindustry/input/Placement.java @@ -108,7 +108,13 @@ public class Placement{ points.addAll(result); } + public static boolean isSidePlace(Seq plans){ + return plans.size > 1 && Mathf.mod(Tile.relativeTo(plans.first().x, plans.first().y, plans.get(1).x, plans.get(1).y) - plans.first().rotation, 2) == 1; + } + public static void calculateBridges(Seq plans, ItemBridge bridge){ + if(isSidePlace(plans)) return; + //check for orthogonal placement + unlocked state if(!(plans.first().x == plans.peek().x || plans.first().y == plans.peek().y) || !bridge.unlockedNow()){ return; @@ -170,6 +176,8 @@ public class Placement{ } public static void calculateDuctBridges(Seq plans, DuctBridge bridge){ + if(isSidePlace(plans)) return; + //check for orthogonal placement + unlocked state if(!(plans.first().x == plans.peek().x || plans.first().y == plans.peek().y) || !bridge.unlockedNow()){ return; @@ -180,7 +188,6 @@ public class Placement{ var result = plans1.clear(); var team = player.team(); - var rot = plans.first().rotation; outer: for(int i = 0; i < plans.size;){ diff --git a/gradle.properties b/gradle.properties index fb533c1a2f..dc2ce3354d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,4 +8,4 @@ kapt.include.compile.classpath=false kotlin.stdlib.default.dependency=false #needed for android compilation android.useAndroidX=true -archash=e226c78ba913d348c97430e453f038e824c06bcb +archash=28f7dea17ba559a28e79111adc93cf0496ced031