From 4a584b778b1bf20db3d584027b3ff2c1d8158ff8 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Thu, 4 Mar 2021 12:17:29 +0100 Subject: [PATCH] PA fixes. Improved unlit layers for control box. Fixed rotation bugs. Fixes #3479 --- .../ParticleAcceleratorControlBoxComponent.cs | 2 +- .../PA/ParticleProjectileComponent.cs | 4 ++-- Resources/Changelog/Parts/pa_fix.yml | 4 ++++ .../Engines/PA/control_box.rsi/boxc.png | Bin 1587 -> 1446 bytes .../Engines/PA/control_box.rsi/meta.json | 8 +++++++- .../Engines/PA/control_box.rsi/unlitp.png | Bin 551 -> 511 bytes .../Engines/PA/control_box.rsi/unlitp0.png | Bin 549 -> 526 bytes .../Engines/PA/control_box.rsi/unlitp1.png | Bin 573 -> 533 bytes .../Engines/PA/control_box.rsi/unlitp2.png | Bin 605 -> 537 bytes .../Engines/PA/control_box.rsi/unlitp3.png | Bin 625 -> 870 bytes 10 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 Resources/Changelog/Parts/pa_fix.yml diff --git a/Content.Server/GameObjects/Components/PA/ParticleAcceleratorControlBoxComponent.cs b/Content.Server/GameObjects/Components/PA/ParticleAcceleratorControlBoxComponent.cs index 0a05714982..36bc1037aa 100644 --- a/Content.Server/GameObjects/Components/PA/ParticleAcceleratorControlBoxComponent.cs +++ b/Content.Server/GameObjects/Components/PA/ParticleAcceleratorControlBoxComponent.cs @@ -454,7 +454,7 @@ namespace Content.Server.GameObjects.Components.PA Vector2i RotateOffset(in Vector2i vec) { - var rot = new Angle(Owner.Transform.LocalRotation + Math.PI / 2); + var rot = new Angle(Owner.Transform.LocalRotation); return (Vector2i) rot.RotateVec(vec); } } diff --git a/Content.Server/GameObjects/Components/PA/ParticleProjectileComponent.cs b/Content.Server/GameObjects/Components/PA/ParticleProjectileComponent.cs index 2fb3bc8bdf..da93efeb7e 100644 --- a/Content.Server/GameObjects/Components/PA/ParticleProjectileComponent.cs +++ b/Content.Server/GameObjects/Components/PA/ParticleProjectileComponent.cs @@ -82,9 +82,9 @@ namespace Content.Server.GameObjects.Components.PA physicsComponent .EnsureController() - .LinearVelocity = angle.ToVec() * 20f; + .LinearVelocity = angle.ToWorldVec() * 20f; - Owner.Transform.LocalRotation = new Angle(angle + Angle.FromDegrees(180)); + Owner.Transform.LocalRotation = angle; Timer.Spawn(3000, () => Owner.Delete()); } } diff --git a/Resources/Changelog/Parts/pa_fix.yml b/Resources/Changelog/Parts/pa_fix.yml new file mode 100644 index 0000000000..17c8272e08 --- /dev/null +++ b/Resources/Changelog/Parts/pa_fix.yml @@ -0,0 +1,4 @@ +author: PJB +changes: + - type: Fix + message: Fixed the Particle Accelerator diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/boxc.png b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/boxc.png index cb9e35f3b798ded8ef553915ea97e631ed8826cf..0636a46df9baaafaea66ad875e65680a6ca24945 100644 GIT binary patch delta 1416 zcmV;31$X+h45kZ^FnjxMT|K<&czaq!L9iJP4 z86l-q*CfpIyv6C0zY&m9s`-3=O@3rq<}`v2e*MD9vn;y`Ie(XL8o?L;gPDoQCzHuV z$@lv`vMj@?79N|wWdKh8`1p7c^4)HS$z+24e&2{!fC7NP7>Z-@1HgZ-LYE?U$x?s{ zfFJ+@GQ^nt1g8P6jaSF}*zjfm;LrK&?FKF?tW6S>D$WFqha* zKLkcM0IkC`1b+e`c=5nb`1GrQa}wO`c2_5-?r$@|82o@?0Gc3dJElt@&vX6$f@8&B z0IWvlCo~K&pU+X2C8pCU%Cf|Iy@r%hkDD}25yx?3PfhuGTAt^KqDaf3Cs)8W1jghi z1iz<)E7yQ(YMhd)hINGWxTQXDNM z0nm$|z6JxTJYOI4Jl7;H{LXVc8F^ggNKwu~2B6CK#wrC4l0ElR7N{RMNeh z)3UzRGJm9$iprVgza8FN{8Wzfa~(LL5pKw0aufh%+XtAHQNUrWKIeH$cw!+4Y ze1s+}FP#tk?9iv4H>lEPx{gom^=QP=1Zx^VnKLh+R8~?VVQH?4CXRR4#FiW;Z-v^R z*7C;WXL3_`C1u0NuDZ0qy9Juv#`;S-(#&)&i+>LRmamh42$$_=axKp{w}#LUHb5M9*C4>iS2f)*H`|`q{MTY zVpWHE7tHepDQuu$&Br4%s2lXPMGI* zzR&SS2e0tIR{6VsfJuJ$55V0&0KnZp0Kho+^S=4L`3GF1%sH~W-VNRY?gsF!fNyy7 z5AcPX@(;KLc=HeNg`4pYxD|Ny59q=_?|&a)!_E5#Y&IJ#77OeBJWm^PKku9Wq<=tF zRXX!xvA|}tK^TSrfU2r=9HA(RLHF~%`3L(4aD@OM3`5N4^M>PuiLU$kq5Qw=R{SDF zgC98FBMjj`+dqKgN1Eb$eKX^daw-3S@AdN!<0MR{Q>UDZ`v-8m_Kw@yY;42MNNe z?oJ^S$Q7k{UP;R1f)GNPhM_XVzkg!gI1ED_UK+ZQuBKtkNm?5~N~x-*MP0%$L6p741)(AIhF!0rLG~D{144{!v6+= WJU8~4=}G_q002ovPDHLkU;%>Tdc#)$ delta 1558 zcmV+x2I={x3$qN6Fn<69XF*Lt006O%3;baP00009a7bBm000id000id0mpBsWB>pK z$Vo&&RCr$Pnz3%|L==V{phyu#inQsLhBBg|ONBzSqM-|KuqE%n@&q)Ll<97&n+Cd6 zC{-$y7sz&5DN>Xosh0E4o_{!VJa+8ewGB7>q0yN$o|*sncz?$0Ft^z8&e>BN8IQ+H zt#-nEJ}+rn`qobzh@YOGs@DxSH#e0@7(zc*tT;M#ft}wcVJQ7l0w{iPa1iXacz%8k zmKs$F=v)7@(CVQ0(b3UX3dr4%Z1yFJx{<#0K{f$^1GhnLF5I|0f<2U661vtWl?mvY zU(^Cy@0-CA0Dti0b5Fld21~%tQn&?BABx@+z_5-|lf#0Qn8+}}}pdVvtqc3e?3&aGpDOMc#1Z+Z+SiF9c zfY8zs+-z|C9_Sk# zj;BWG$7}Rg)kyRu3BmdVAUj%J0iSJ1f)S2&`hTRV-Oo*=-=6*yGWZDR;g%t6XMffa zBV+b@Rr&$B$c%+zmQA*ZShk(TUbk~W2Zh(w*6O#>%9Wh{WHJeU@+Ek3a#9=~9%@TH zRc~IjgQ~YO-p16ql)e%?N_aWd>DSHM<`>E9f1&MJo}QkHySuya29*F4dn0x#6JW`~ z$A66g`eP%sE><6UK}Qo|by1)fbg3`4iT>wm(Q$Tsd|bS~zQzJ^OoDpO{wWrF^GwG7 zHJJq8UdMO@0H5XI;h})e$E&Ll_;>R3Wi2j$m3~e1U*wy?>)Pv0^{+%NJ8ug+zfZzY`lSR=ysz_lGL(Mye~b5dKA)pc{mOFz4%`Oo z%+;5EWdhy{y9B6xxAdL>zU7C)>+e>8+TP&D$WVCwcfSI%UxM5I3M2R$^Iu|QD1ZGV z0b1=05iOn1lcDuP0J$UO5STlnUbV?}{O7FR$eTyh(6kJy-$r~i8cDr;K9BZrt%0}? zU`YLVJdR~SuvDa7y_A=i7p<+>-`@}W>Vy9O`rJQtu}hC|3AWY8zXbrtqfxNb2Rujc z)al0rYyxin$2U%9tT^xqXiF1KOMjJqJTKn_98%zp>#gKu6`3u3-m=xJ(Gao zDH2Ht2FvU0?5w!HzAhGvMH1-6#RW{lwe-dLp1KLxmv%1B!>z>mEq)BzeBwk8hoV_c zi=FFXu?TJ0rqnNe2>E}sXkIP>>?IW3Gz#i~{ZJ5`9|x?Dy_+L928GAt^nY2`L_|Gb z!XU-o8}*X}@Wo>JNwS6l5CnZJKNL;`i^6O4E#CJa;M^D#%n5z^yv8^f7Yf>0_xP7| zTtZl4_6^TvlbfWD-!e($T!6vj@bdQdHd*31ea|}a)afS)Kx6JW`K|N!b zm>lQun3V4Uw)5ucTZ{2_J``ea-eUV&eQyzuj{`pAY^tBE0IfCxf&gM|!ISbg-&UWj z69@G1lPCfFn*jfl(IvSj-?x6#?}-0BlGT`4TSo$lqA30WXy(Gl6%XOpCjbBd07*qo IM6N<$g3%@vApigX diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/meta.json b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/meta.json index 8af845e426..e5444a86fb 100644 --- a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/meta.json +++ b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/meta.json @@ -32,7 +32,13 @@ }, { "name": "unlitp3", - "directions": 4 + "directions": 4, + "delays": [ + [0.5, 0.5], + [0.5, 0.5], + [0.5, 0.5], + [0.5, 0.5] + ] }, { "name": "boxw", diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp.png b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp.png index 7fb11ea3d6174119d6e6cfc6ce0c13c55d6f59dd..6064c769357340674156f5b6a33fa925fe699420 100644 GIT binary patch delta 473 zcmV;~0Ve*Z1pfn&FnX~5^Wg18K)4XW@=C?g%@ zo(6JH3BLav2nGpB2qUc+`@b2FKnVTyM=-3tB7~58#`GHihR*!~-q9<;*Qc2uRaV~^ zJA_BC`0i9fU(Ei1ITK3j%jlwucnrAk@|;)w=Xcq7CH;rg^MCQai|+f5#l|e9lzw;x zB#5R4VLrZR1F5ASHQ?I7bD^OhH6VqjG~H&`qBEue+18N6Q8yZkMfZEW2+5yyN^^c-U z38teXH1iU!0Bym!tDCYyajPE$U=rM}Kfsp7ixB>fKfIUZGZv>fMXz1e>;JBLI(fzjgSc_VHF$3a(zD}3({BaB;?!=uER%C#NzL)_d8d`uv zLnC76Tce>b8h=28#w|yfTs+BEXy_Mbz*>PCH1x3(%o@;%rNtB4`V#}JQN0h?Ixv8v zSzrK1v%mn3W`O}5%>n~Bngs@MG>iJb!IEmQ)|^lr{o&s|51^}JIs>#X2yTI#r0eW~pfY|yiFh^RvlnR+WsMQxU zARZ_bC-Htj#TcM#}oB?YEYS7TfPB3dgCzcjZXzNc5utxPh zVC%pDj%I-Y9L)j)IGP0pa5M`H;Aj>Yz|kzm4H$-R6ExAnP6YvG00000NkvXXu0mjf DYcl72 diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp0.png b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp0.png index b7316a64a7014ad8e9f99421ca892d02599d0313..45134518715dadcb1ae62811adb67907c365e707 100644 GIT binary patch delta 488 zcmVX@GNFL0pE@232Inl#vc{ zr-9s4g6}T}f4#T9 zf@rD{=GZS9QcFMT0N+3yX6;>U^ma7#qYemRy2+5I!?dTII-IXhU6GAEyMELG?&Ln) z`kXhep@PaV!jh|$QovANLDPhJ6|L1G#Kdb>`_EO`z6r~`bHnqx0gc=OZL4?AG( zhf8jh^#8>IrGLJ|Mbct{()w;JFf{@K2-D4X6zr zP}_jo&;hj#sLe$`if$noj?U1GOSl5G1(%*~$_mNJ)nTmw?Xdjn9H5Q&6}aX60Jo0$ z0m0tP53pf=zy>3jA8;Ye4^Yr&en6~|`2oxiV17V7m>*C^pZNhn??_j-_*B;kJSqhF4(+=X-XK_=hc zY2E)PsebQ9-l-4wf<4)voB0MD%`CTIXH#MOROR)j@3*h^;x9LO zCcJ8>wku6-Xsi1y@PS=RXNR(AmVgw~rC+iA2Sa}RdT>p7ZNE#x$ z8r$r$9qK*_Z7hsYuCKm$Vg0#=&;w`fk0s{FTt5+K^5yJ#W&>dzDT9u^=h(M=HD`-h zoGn-2d4QoSt&vgWEEBWFELOGv6KL$=*8Ch?{*3?qL(EX z)H)ilc=h#H>4$&zGgz>&|1aZ_O6Hz5+#&awKP}D5dudgtzIBhR#L|lMX$>Ll8|)Pn zOjtJ9CoukI7OGo)UTVVpJuXn!tTs*%J@Bu=uO+YPu8BRX+l8b99IJRGj>J7@zV%C* rdCf&r{v9d_46d88I`A=@&t>)G&}*-bu33}-j9ms#S3j3^P6}?si#Z$-Ga6(tiq_gMW{GbiY5g>wIlf(9rjf zfW#o?h}}YN{h$Hnban?-iI^r?D;W*_=m>C$kJ(kjoYFS99JfuDiF|SWpaFL0BAxT& zAZ(!}FI+=EI0?25E?X?faj;9Fp&vA0SDDEsGE6l6UFd_$G2}J$gO7l#Q*%0tC`^D_ z`hEjaUtE?(Nq_%pEs*OyTx8x_Ah*7~78pJR1Q679x7(HIjHv;6dq-b(bpnCFF8gz) z{Y?AwZ~688?j(oPlTt`VZ;bIG4kZjQt1%zXrDe4JaKzX=p&{07^px zN(WFH8c;fb($Ij?0hA{BN6~xnE=Nabu1h!qv;|{#cWBNCS(4R_0PSV@>I~4v`3O96 zet=!a`~Yuj<_9o8ASsABVzL4+wq8`~c<$FhAg`j`;yvFh3xVKJx>-?kN2~ lzqb4ULI@#*5JCvqB!Bq*j$t&Fp40#U002ovPDHLkV1kt~<%<9S delta 536 zcmbQrvX^CoK|KRYx}&cn1H;CC?mvmF3=9mM1s;*b3=DjSK$uZf!>fUTf$@^3i(^Pd z+}l|Pa}OKvxUQXN?DRfX;d|Z%!=MGsq8Z0du=5|if+iZ!6bd%=EUk#Rt4v7ciQ|>cQyIa3$2II@0sV7#Rn7@2k&Grk+ z&&-zmpuMmD_$;I6+e3xdd`)GZC%4hHbG`R`Mz>#As~zg@CVT2J2RzShxpJ>*$;sa> zyOt<#6~4+7aeL>~FNOD}FpB+}t=Cwy{)X@6wy9qOGhT=D zKA6jV=jZ$6eYvTz%-r>VS26DSteR2qRAK9e3;E|5gce8(FID1QXLe$3#EaeY*^l@X zTx@V$BWshe*53Gl^xe-5)yg~vUQ9D!SR8$bp(l@%*_q(^%U1hjuDR7_N0L8JBul=gw<*xny zxnTyUo|Hky)@JrKU(?wt7FWv^D>?Qk4rgwsm UG#Rwyfzi(3>FVdQ&MBb@03k2$Y5)KL diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp2.png b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp2.png index ce98927bd401c085303fa3fa8812f12ab5ef237c..4002ea9fb60d8fd4656e844ad1cd2e79d94c0208 100644 GIT binary patch delta 499 zcmVV+45QWE8mpuY|F2K5+pd5orJw;A|M2^v( zpj~r;?t29GuM6Y+7{^HzdyL?HQsfXEzsd8DVi*xZ$RlIi34r$Ec86f?h2ZDVUFNB0rKDdT{)PPW9&iQVT&iT~6uAx791T+DejR1CTnz{`# z$B@_1pFIN1@qZ+uumEc54;wJ|#U(XL`r-G0OibAe!+z#I}{uGFAh8_VL zP&$Cp(16kbl!gYB4xltNpmYGGp#h}>D9!92MVB(T9c=BOxi8@e&=wr)-6fUTf$@{4i(^Pd z+}l~cen$*=TGiKBGF9stROcNqWb0&BG(7%*?agzhH2pl34|-A( z@^q*EyYnW#){f^StId{d@i;gorS`xig9gbD;#bR?Yq!^nXe-#-@XhS{^Y2>7d$C_3 zmE6pAN51RtSbFB=&qbWqe!XV9bN`{fS53_~$%G~Gd)b~W|Eu)LZOX5r`MMuAYCu?~ zt3)ptIdH%Hx@9Gk&X?W(jWrg>OKgs(P4Q#Q{rm2=0*CWrmpuN=yqao}Tfah?pFCjc zWR5>>W4>=~V|{DgRR&87hDRpc465pruN-jNzmqAg(Ihr@xk`qZhUL5^Vq(AE&1Zh( zxgq0#f}X5R!rJ`?2c++wXT0tv(Qr{Wk-=?y3!}tcA-04PZC|U*pz2ovVvl15Gk73;GP$R!VaB260v|aC+lwTMou$*P%d35O@^R-{x%zG~Wl_|(=VKhW@ hI?ONK#mr^9^Os+h`rB>SR0K>G44$rjF6*2UngHiC^D+Pc diff --git a/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp3.png b/Resources/Textures/Constructible/Specific/Engines/PA/control_box.rsi/unlitp3.png index 6faa6c5088ec116b2e7ab6a8946331f9f81700ec..63d8adc2c79d62ab45d7ef684b32e057e01a9604 100644 GIT binary patch literal 870 zcmV-s1DX7ZP)Px&AW1|)RCt{2oy(2eFcd`}gOoA*X~64D1(`BpAXT`E0qio83X-)O$Uc3%EHvau z6!qojDt`9>f&^LO75Vs)WL`*w5JHGmoZnE@kDV{Cnmjra{q@7e`HN>OfPMnLHhAH9e+?|?&$a+}y@w_2yA7LP9QnbqnHQI?wFv4d?aGw=y7$RA>Q9gaibwVb#QU2210ASiiYHU};vw zqx%!!{(#Ag1Nj4vl7HCz_}2Q<0WjhZK>q`EH28-M7zO|g0|15r0K)))VF17|0ALsZ zFbn_~1^^5L0A_ZINEJc83mS09>FJg#K99s{g z5VPVziJS}H^$u89%k20XzjJ4dUS|#4)qhJ)EbRL9yzck9m#te)&sf%3ZMMWDx=Hio zucqQd42cKgL+;CdzZAV#? zp8HSv@#~%O0gwH^cxJ?X+pHn2@%6Kz@`;@Ssmx33?9w{3Shx6GaH_KB3vFnv`>tzX zJ3slC#qqQ$d5pP#->r8PTGrOO;K~HunWk%bytaG|pU+rS)YPKr7f`t{GkIaW=>ii= zBZdtYM^48V{S2{NPN#SMdiR}iqp*(D2ElA`|A^P;c|N#( zw|j7ngV|!2D$j!#(+nCGM;~J7%j1L!h<%Q4)?I!uEW7LQ#rS`Be>0rwdd;=L&*Ki0 z>hbMW`qw}CP1tau|381iG~R+Dy?|P_6PG1iZaS=--!JKSt`*`v?-1<;sZC;j$HSOK z6BgdD<$e(3Cl_G0u!K9~b$LDSqY^Q0$CZlFM%hu4Q!-w!w_|?tgoV?2&Vo-)mybE^ z&vM8tN?}MS>#5`f!N(joLxO{Z*O6gxhn({ILCYAZ5_jQRx4XKjpjGNWWwO->gTe~ HDWM4fQCtk4