From 843a79ac42c36f7aad8b353d3041b8511e2ddd68 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Sun, 6 Nov 2022 17:06:54 +0100 Subject: [PATCH] Use textured particles. --- graphics/Particles/xflare.png | Bin 0 -> 1507 bytes graphics/Particles/xpuff0.png | Bin 0 -> 1285 bytes graphics/Particles/xpuff1.png | Bin 0 -> 1289 bytes graphics/Particles/xpuff2.png | Bin 0 -> 1294 bytes graphics/Particles/xpuff3.png | Bin 0 -> 1246 bytes graphics/Particles/xpuff4.png | Bin 0 -> 1265 bytes graphics/Particles/xpuff5.png | Bin 0 -> 1289 bytes graphics/Particles/xpuff6.png | Bin 0 -> 1283 bytes graphics/Particles/xpuff7.png | Bin 0 -> 1190 bytes language.version | 4 +-- zscript/items/swwm_baseitem.zsc | 4 ++- zscript/items/swwm_powerups.zsc | 4 ++- zscript/swwm_blod.zsc | 20 +++++++---- zscript/swwm_common_fx.zsc | 57 +++++++++++++++++++++----------- 14 files changed, 58 insertions(+), 31 deletions(-) create mode 100644 graphics/Particles/xflare.png create mode 100644 graphics/Particles/xpuff0.png create mode 100644 graphics/Particles/xpuff1.png create mode 100644 graphics/Particles/xpuff2.png create mode 100644 graphics/Particles/xpuff3.png create mode 100644 graphics/Particles/xpuff4.png create mode 100644 graphics/Particles/xpuff5.png create mode 100644 graphics/Particles/xpuff6.png create mode 100644 graphics/Particles/xpuff7.png diff --git a/graphics/Particles/xflare.png b/graphics/Particles/xflare.png new file mode 100644 index 0000000000000000000000000000000000000000..58e179d7f55e8ff208d11b00308bfccdd1d91eda GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0y~yV9)_!4rT@h2F<8d#taM$9O*@lNem1OVjw*8#4b?= z1}63ZpAc6@Mn(n(1|}vZW@cs<78X`kRyH;^c6N3S4h~LEPA)DkZfQQ86(wadB}82?-S64STH+Oe;4-XGdPfsr|FCQNtUteE8KRF_PH*em&d-v|sr%#_fd-nYK^A|5(ynOlc?c2BS-o5+y z@#CjYpFV&7{PpYCKY#xG{rmUdzkmP#|DRQQ{2>Da17k^$UoeBivm0p)49sPoE{-7< zr)#I)E>boZaBj>ia@#hgBKYV3c%M_|p2jK6l@q=_+Nxcn{952{%0j6l;@u2?j#mC= zDmgU8{{Dmf-5n2j7q0!)@t^CmEra`oHpb>#FZC1M%q2L=R&sEgW&aC#?tin@XRF&} zj+;}|)C}L;Pbex}q+HFg0tQRR@Xdd^jdp5G@0d3+ zZ%M-@hKwF5(ek&mH-&FMaV<(E=`CZyxmqvZWs$xg%2UhSwxxESu~^e-#F3Qud{WkZ z-55p%MgyVT+?f-X2OnxR#LKP1|3bxy-C4eYm0P(5&~uW-e_#EH`Gp z**m%3#xM2sy~VPN%ze^tH<>M6F}rA1ucOSh&U-s$+AF_a*L=HrN+!!xX}JQsIz+fP(Jklo=QHoU1f`FR@jV zZOz^XES(z^0yczf+U|Qhjp1`urF&>5AtbE7bT=(9?de8cK>A&L2y{is%?g-Cs;E;GJnY`t5PoZV$&$mB!#cneUp5Bx= z(Qm@R6FiR^KPCKnTe*ARyz`HL?a7}weRHU3t|FuP1cvnJPz}px%U-{JeLHo2)a#{t zuIunDW)!e(Jy4zf`$1)Pw@k7&|Mx2C8KJ3n{`9;mFiY?8@t&0||2wWa@!;#QptnVL z6DO%mewN`K*1Jlmea7ch^Q^FwpZN~I{C!3$jV*6-!@fPehh`LuZ-2j-A!M?r@Q1BA zW}A*Z-Ne80*quDzJL;1HSIRCpC6Ti2M()j7>nvNW=a_d}I;k;4xMW^q*&FWrmbHKO z_ICy?TevrQ@3UO+OlJ48x()VBCziT8L?x-^-uxEO82V2{xWs?Cq~t=b=2?14i}&*^ z$T0CxJ<+82X!)D>7u|NS_udZ9^shf*R(Hxrow;w)kN*pQK73QG@SnYU%Y56!ooB@v Q7#J8lUHx3vIVCg!0C#YZ=>Px# literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff0.png b/graphics/Particles/xpuff0.png new file mode 100644 index 0000000000000000000000000000000000000000..d845e299ad7edd5efac8291835fbb4c98f8eebf1 GIT binary patch literal 1285 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z2Bv}lpAc6D1_lOZ1_l-e237_JHU?%kW)>C}7B&_Zb{1AvR#pyHR!&wnHa0dcHgVPkii(Pkj*f|miH(hojgOCui;ItsPXK|$ z#Kgp;q@?8Jgwv6nwr|$+Pb>B`uh3?5NK>{Y;0<3 zYHn_BX=!O~ZEbC9Yinz7Z*T7afzHm(&aSSm?(XiMo}S*`-oC!R{{H?66DCZYIC0XX zNs}i}o-$?1^y$-Q%$PBA=FC|jFnjjw*>mR1nLBsxy!rDNELgB`;i5&07A;=9c({T}xN+mAO`EoE-MYGBavTE#17k^$UoeBi zvm0p)3{3i-E{-7@6JsaeEE2U8a9JI)G)%vo@y$#{jvxR1l{pSP(_5Rja$9AB;lr9! zCqB<&f2exe>EzW{|BN2Kcj{MGZk)aITY7z~{S-yxq!}~XU;q1>UsEIFb#l&yrJfBl zPi%k7U-vytZh7XpIeYGx^S-`x`zbqv0mGT&nRfHeFK^_${q&yet8E9jobvx;Fzw}^ zAO8|rSXNKJb^Uj6hNT^&!GZRmV=sSvoBw@t_iv-CW#_MbJF;BcAVBkR$*jK9My)f& zPfg0zoztCU@W*`0%bExaN5u~>4)0Nm&fog9XqN%coav8e&)mhP-r>VyrC+S6#Ih$q zjz6D&@%G%sJc1n^0c~f_#8fECJv%&SPwb{%PN!Sj%nQ@bRX&;$H1k&qSLOfN6ZZol_i?cz~};K!lA%bs?m z=xudAbS-OZ#_Xty)Cv3IJ7=VsKR>u+Tj-V4>l^r3ZYwGZ1-b|N8bMYnIy1o(capBKc~ItWW3|!zW3hs zYj@7Z{{9{xzuLT~;C*RJRdBFi_lxMitq(or4(00iD6P7+dsh7K`%*PBZ0A@K*X_-H zbv<0@<9_BqF7C-|*MGca$PmFN@+|E3=`Z%i4LurXK3@6-D!V*g{an^LB{Ts57U=t* literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff1.png b/graphics/Particles/xpuff1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba46d97e2ce9b40042699084df12155620470514 GIT binary patch literal 1289 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z2BzEqpAc6D1_lNe1_o9J1~vu;b_QlvW)>C}7B&_Zb{1AvR#pyHR!&wnHa2!{c6J_i z4h{|uP7Y2^PEIaPE-o%EZZ2+aZf+iKZeDI49v)s^US2+4K0ZD^em*_{K7M|FenEZ# z0Rce)K|w)5At51QVPO#w5m8Z5F;OuwF)?v*aR~_tNl8g5DJf}bX&Gr585tQ_8Ch9b zSvgrbIXO9bd3gl|1w{o#MMXs=B_(BLWfc__RaI3rH8pj0bqx&-O-)TLEiG+rZ5l9H0r($ccBvhwosii(QL%F3#$s_N?Mnwpy0+SKy=^cgc|%$zw33}(-o4FYrK%$YlP?%a7`FdqaKELgA*1Qsn` zym;x-rOTHuU%7JSnl)?Iu3bC*$VYPq1_s8GAirP+hi5m^7#Nt$JY5_^G$zJQJ{=@u z$m6OSnYX)IZl;ooNO#D;|GRGpNF>aV+n=k+t)O!8)wFZpWZKT(w%BsPy>q_)KZ$2$ zN(wBZnr}7!Kb(KglG%ylR`J%SKg{pl|Is^JEx=()(5AKTEdL(7&$qksUj7UR#-&TH zZhvsT|9!>g=x0w)Kg{xOF{rZ1cPi3;`juDy&YSP;w_oc@ODukV`m}e-g!lPBPD$>* z8ykOLCgaPph`puiQ?AwBVPy78sk|r4$F9FNb<38Hth0rAcO>^!oo<_++8vdgVI#3D z^~sCZCDq3h);fw_jmp|p5|BJW^0sPfe1rKpiMOW96&9OqsxxCrmeO2m_4Z~nPiSuD zT7?v~=V{${w^r~qZtGdV0OgqPQ6>xVV*8nq4Z{wZEP#yOM=%ZB7=a?^&CoJL3APbNi2%>aJ#B z-Xo;Ag3+t{yy5PN&NWfzHEs6YEMjCZ_1XLUtVG$B8oudU;_k&}>q;jy-nyl6_REx{ zGYhBi2kZA9<55`bb^408j_ICj{^w6W7PVk{bJ%EGP_o_M=#$2=(%dFetDgK>^WR*J je}lzgg-M6foAxta`P`7Cv!nAqsQmJD^>bP0l+XkKkqzO; literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff2.png b/graphics/Particles/xpuff2.png new file mode 100644 index 0000000000000000000000000000000000000000..7943afe83dac3c0be4190810d58a53bd24ab6193 GIT binary patch literal 1294 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z2Bv}lpAc6D1_lOZ1_l-e237_JHU12kE-r2^Zf)z#C})7RJ6Hvj`e5HK<_GB!3gF)=YUH8nFcGdDLkw*Uc4OG_&&D{Cuj zYiny88yj0&TRS^DdwY8a2M0$-M<*vIXJ=;@7Z(>dH&<6zH#awTcXxLW5b*T$^z!oZ z_V)Ji@$vEX_4D)d_xJY?3=9Ye2n-Ai3JMAi4h{(k2@MSm3kwSm508k5h=_`cjEszm zii(boj*bC=*x1;(xVZTE_=JRn#KgoT5J(1tl$4Z|)YR0pw6yf}^b8Ql%*@Qp&d$!s z$;r*l&CAQn&(AL?C@3fdfuf?K;^N|xl9JNW(z3F$^78VEii*n0%BrfW>gwv6nwnY= zsH>~1tFNzbXlQ6`Y;0<3YHn_BX=!N%fws1`w)Xb+j*gDb&d#o`uC8tn=;`U{?d|RB z>+A3DpDFL%tMNj|l*J=;B`B8D>;@D0W#xp!c6Oxx+S-!6B`t_FU zJ;t6dYHO?Jz6jqbeOy3e!tSm5Z+Yv?`!0)gNZh@9`rGgSA4}|yPFZHraAH=Z=I#07 z3<3;0qNing98VQX&vX53*74`ZFJb-i$K3yREP46m-@m*r z=LP%hvzScSjn+(d*-1mJmaxs&y-7_-aV{gieS1PHTS6jSEEyl%p-%d=H}|} z?#}UF`Ze=X3g9)9gr^t#`>R!>h`CGf|#uh4hzi31z2O}oBU?0Z!9<^2K|QU${9 zUX$HWt6!~|7M6APH7iq%ztb+pOxwPkTUYMR-ey~0x$!Bx4r{?xGrlLQuCC2Id%u3y zw)p6zP6d4#C;hA}ReRgN>930Cs#xC9DsC{{zN^0apQ=%o?XI2M6=Y6q-TLSFZQ;2p so{t0`zopr0F&|Rvj6}9 literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff3.png b/graphics/Particles/xpuff3.png new file mode 100644 index 0000000000000000000000000000000000000000..09889ed48904037262dc962a18ffb7c86a6c907b GIT binary patch literal 1246 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z1}2{XpAc6D1_lOZ1_l-e237_JHU<_J78W)Z7Iqd^4pvr9RyH;^HcmD+E;bGh4h~KZ zPEJlvE>12kE-r2^Zf!Hm32_Mt2?VPkii(Pkj*g9ujg13?goOC`_=JRn#KgqJ^2E-oo4DJ?B6 zD=RB6FR!SmsI084s;a84uCA%6sjaQ8tE;OAfrf^LhQ`LmrlzLm=H?agw+9?&<02?d|RB>+A3DpD^XDh%msmYATS>U7A{=4c=6&TOO`BMx@_69WhK|SL1~S#B*-tA z!Qt7BGzJDH9Zwg>5RHkklTYT!SPHllt9D=QPCd-d{Q3WUGrJQ(r}u`4cBiDBb9~Ht zDp*NQV0i^cy`H*|Q-plI(x0yvBBxGdIapo0mH)>a^;DHGF6rEOz4sgUT$d~M3U*R) zH1ch0es-Fp4ugWCL+Lf?P&@w1=3{PXkW zoj+=Mn|9?|C)fPsQ(#!GGwa#qpB3{Gqnr}g-gbKU?<*_IgefXdcltDVdK=hWJwEr& zw?k?LUMiYPcN*|qRB|%R+uZW~-%nSEZognlxir`ODcxMZV}zozc~ef!T3%!&-*x20 zj6fIXNyoNrshZ+xk$Gv2mSE$FGd(?@AHMu_A+m$xumaNo8BIe?L6%P;DjN+Pd*Y%) zUmfETJjZeE4zm->A@;4?L_2J!h?SK~-mS_$?9;X}a`o-3#qOtOSEx4zZr{Z(oz&a0 zR!{0)(=O${Hk-Wb+pXFz-n-kjb*-cVThJ-5@Grz&ulukpAEcvD=z!4xxkL)A}3^~wM6bMZ;ZNLn!k2$W5f272i9(q>r!gm z{`K4EsAP5-}_?X>td!K|7CUW zcu2lWi^aFE^EywwI)8i9y6bPhpW}}|J!eM5OoqkROYhFRzTfo6@)TF4BMcj&UhkJz unUsIXp(WwM?ax16NH9$46jAyY_QAgFNDxENinJr3LdnzB&t;ucLK6V6(AYl! literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff4.png b/graphics/Particles/xpuff4.png new file mode 100644 index 0000000000000000000000000000000000000000..6a3ff1d8e97b7418ca1b1de5a93872a1f0d17b7e GIT binary patch literal 1265 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04mJh`25WP3VqSc;+8e}OGy^Lyw1s(H%W{E zT=gFf=O%iKd1(p=GBg}yV4i6_$^X^=cVC~go9@^w+hcYis<~sq*0vxnFWLX+&aCi0 zdiH+9hrjpk-zzz{@tV}NsEF*up3DO-R~o)^U5T0)!!vu^iuoQ}JgTuvmS__@B3BVP zZJU>7hv6Yh_O+%A2ddAnzwTYj>C+aGz1M3c=e4LWwf(1`HogAZb^2*jq6FV2?uv7g zhHghB9`0@5x|(x(YGi1H&~wYx{*7z5DJ+`i{#@qVb7Q^f+;x9`G`{|NtKsR)LPs}g4|Th_6m-!Mso`O}>G^fy+=nY^}al07c?e7pIa^XWa0JNCVozK~`&$4|ZI zaYvMP+&Uk1lwlq}EOYAvVA$4>Ao?i^t5`1?xN+n+?mGxULe9tT(TQ_U% z2}^k%H+;;$r6n zX14~hWS43?Dmig5_8(`yY@*oGAfX)O75%lOtu^)jcisNwmpKm`9I$L(_d4n(gM;SM z+=R7v*BN(&EjKnkR+#g1y4;13w>;9zW0SRo_zz#mx|Va%xVZS$CLP~TQQ9*qvuDoc zx^23)bal0+y;74ZxAUyNAnWVXu1RgVx>6^zf4|<#I7{&(5)+Esf>yoNtW;Oh2r}T} zTJqxb*{ro4hKr^&&H23Ck!!Xo@6M-1k<*?P-Ru`}bX@yPNbFO?mza~OUYv$*Pv-D% zl8wkY<+1);rRiKBT~GIHg)?{3rkqgi^VKvB=FCnzX23K5)IJ^V89P^Q=HGE`*S-7u z+CE-<@-$J?aB0Y7o##AhZH8&u@>f$tt{qyH=ji?U2K(7Paxy+~McGdbkExx_no<+s zG;5!MwG2a+>)O|Lr>|u!Np0IO%lF@O%fl-3L*8n4bF(hF_A9X?)~@(m?&ZC6yacm! z+lwYMD#m(0IaeGPou((bY)07f-;DaI8~HQ%*L}UE)cUhd?>)12D(|W*pA6^Dd&s%i z{#kak%Z1sQPn0u%GF+SS+;sn?qtj9y*L_vkyhhV!_r@6uHl6;Xy}^)8wBgg8lbD zR@gk)>(0R#JZGQXo2L^*4L3G$-`JF_vtRXm?S18z3w&jYEH?AcPknnjna}uHrQ4iE zzrIb8Ob(f<{l2kfqv0}BzMa#8vU0=j*qkr6X7IWE<>kk3x0!3Nm#^{Meo#Ty>s6H6 zjeQ$E>iIPv{HqK9|BWko7qf=o)^I7;R}Z>_xZXYdm%rX%|Ir5~v)@ipTpSX2>(Zou dua>@5moEJ0E3ux%l!1YP!PC{xWt~$(698^gQqKSY literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff5.png b/graphics/Particles/xpuff5.png new file mode 100644 index 0000000000000000000000000000000000000000..04f3de8c7655e989c14e0e1799e7f330f01c8ed1 GIT binary patch literal 1289 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z2ByjYpAc6D1_lOZ1_l-e237_JHUgww5?(XU7>Fw?9>+9?9 z@1HPX!o-OaCrz3(Wy+MPQ>RV?f$7tyPoFVk#>|;BXU&>5d-m)(bLPyQJ9pl^dGqJb zU$9`o!i5VLfxzM=OO`AJfo02=FJG}@#mbc{SFc{ZX3d&)>(*@ofz6vYZ{D(Hi(+uP zF#`hwV@Z%-FoVOh8)*y-Oj@2Ujv*QoV<(@?lXm1`^)#!VJu$`7t?AGI_ecAdUewt; z@rDlA*lQHKes(wY_f{U)P=EPznkVeb2T3PC9pN{>0je>;c4@2 zCTHq1ha9iaXJFuAD6nOJUd!<&K-)}VqTIFZ^*?HS8!eALm>?p0pwY9u_GkD0rEik= zxtOr&Urp1=mFO-ZT zLVeul9xAa@7jC{+E&W?j&AFw&vPW&oJiY0bk>RWtcTJByBcgR(D*FAC;57FmR#RMm zRlP|v<7-n)?n%sAz8cDMfRje61s2YOG;yq1*me4pOw-+#aEyIM5m`u=TeShQjt`Xs+U-F9c1 z`^wVa1#4ybTm)~~I!DU?-ZnMr`|W>;ugp#~l+=E`@cok8`mKMo<{SU8d;a9+!Yy`g zub*C@-togd<=cv_{bAyNZ%HuBNiU1K{ZaFvy-{(Ajf_V@5vcs~boFyt=akR{0Jd}K Ac>n+a literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff6.png b/graphics/Particles/xpuff6.png new file mode 100644 index 0000000000000000000000000000000000000000..00304578596852d88bf9157a25b5395f71b02bc8 GIT binary patch literal 1283 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z2B!1?pAc6D1_lOZ1_l-e237_JHU{c6JVS4h{|uP7Y2^PEIaPE-o%EZZ2+aZf+iK9v&VZULIavUS2+4K0ZD^ zeh}p6=NI4?5D*X$6ciK^5)u{`77-B<6%iE`6%`W`6Biek5SNgUkdTy=l#-H?mX?;0 zk&%^=m6es1la-T`larU1S5Qz;R8&+_Qc_k{R#8z=RaI3}Q&U%0*U-?=)YR0{($dz} z*3r??)z#J0)6>`2H!v_TG&D3aGBP$cHZd_VH8nLg0|9e$a|;U#OG`^DD=RB&Ft7mu zTU%RudwT~52S-OoM`sXladB~Vb#-%db9Z<5@bK{T^z`!b^7iuf_V)Ji@$vQb_4D)d z_xBG72nY-e3l%F4>l&d$ln$<58p%gf8p&o3w_C@d^2Dk>^2E-oo4 zDJ?B6D=RB6FR!SmsI084s;a84uC4)r+L~GrsH>~1udimX_Am z*0#2`_V)IUj*iaG&aSSm?(XiMo}S*`-oC!R{{H?66DCZYIC0XXNs}gnz?3OdrcRwY zZQ8Wy)2GjvF=HkO%$hZ8)|@$W=FXiv4+Q4VpFe-Wf&~i~E?l%|(c;C6mn>Pbbm`J% zAh3M-^5rX5tXRDU1lF!yyMF!p!e53b7#J8BOM?7@862M7NMm4NGV^qC4AGbvJNaah zh^GK+^652eS8tKv-Ne}Z|NrWpJf|5=UaeEz-tj=eVa6koXLYrGABz6EDCJH6%KGqq z`}xKhtq!`^^M85$zwEBK#NplAr&IRXCNnZLygX}A(sP7`A!;$puZjO(d_HUNwN^kV zB`6?o6?X;W?sqbHtIj-663fu&OA<=WWj7Yf(k zPRcSic4yoiCDr*n`7T$R1XuLUy(@Q1rskTyzv}CKj*U;F#UpRowU{;A_Wa#n;8L9A z#=br6T2`oe@{HXA%xr=okL)Jo`cKzg9y06N>NUEux0S!|J@LRP<<+yOqCy4_rj^!m zns$C?WF%!L>~dh}U}59=-O~}sAaEf1q~_AcE3(!-UCq6v**U7(Ixj8j^+l6h&qj_l z8XO1e=R4K3)K<^BaqVzu|Ledg?VqPVN9|*0yZtRszvOzLJ^j6Y?OOi@x^ER- z{6g=>X6rrO_3!4-68kbCmlIcb4i@{x_w6^Xc%jriVK#Hq^e^vMcf8;|?(pCN$J654 kyAljv)SVps{qb%7 literal 0 HcmV?d00001 diff --git a/graphics/Particles/xpuff7.png b/graphics/Particles/xpuff7.png new file mode 100644 index 0000000000000000000000000000000000000000..793f4aab7d8d8d31fa1c909693ac2d36d3f6e2d4 GIT binary patch literal 1190 zcmeAS@N?(olHy`uVBq!ia0y~yV2}f04rT@h2A+3u6Brm6IMRz8lNcBn_(6C=@N+c= z1}3EdpAc6D1_lNe1_o9J1~vv3b{1AvR#pyHR!&wnHa0dcHg*IXQWGc?AUpMMXs=B_(BL zWfc__RaI3rH8pj0bqx&-O-)TLEiG+rZ5 zF>BUrg?k4tGcYhPmIV0)GdMiEk;cHlBcQtPjvxMaaK1CoAs+^_s54)G zsq?MZT%8r*wmm9o^~4yLAbX!G1sY=sn-^V$Sim+um9` zS=)V3)qPn~xqC@L2E?&>_bjy0yvE@6r+d+otybx z9F^E6X{@nncPU7c+mN1WD8|6x68dxnuKcbD4(jxDohZR$sg`j@sO7|w zT{8tecvv*n@(UC_5s={YIhA=O%FFW%pHJA?&pCZ>^1_yUjhcU7NJzc>`?hdiJNcz& zGB-Pc5C=&=kEVk zur@ExEPdzd=|Q(=B!9WK{nzCyYh$bARRw08H+=SHYyJEEw)yX$$8A;;n(_5s`tR3l y4E=Afw6t8DwRPX$YNZdym0bj9EH?Qu^*`g6rNIrqj>n6E3KvgTKbLh*2~7a1Y{ZBF literal 0 HcmV?d00001 diff --git a/language.version b/language.version index 4e457af37..29c6c4c75 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r600 \cu(Sun 6 Nov 16:25:07 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r600 \cu(2022-11-06 16:25:07)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r601 \cu(Sun 6 Nov 17:06:54 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r601 \cu(2022-11-06 17:06:54)\c-"; diff --git a/zscript/items/swwm_baseitem.zsc b/zscript/items/swwm_baseitem.zsc index ac7e0a89f..e401d7f7a 100644 --- a/zscript/items/swwm_baseitem.zsc +++ b/zscript/items/swwm_baseitem.zsc @@ -124,6 +124,7 @@ Mixin Class SWWMOverlapPickupSound Class SWWMRespawnTimer : SWWMNonInteractiveActor { + TextureID flaretex; default { Args 0,3,2; @@ -153,12 +154,13 @@ Class SWWMRespawnTimer : SWWMNonInteractiveActor double str = 1.-special2/double(special1); int freq = int(clamp(30*(1.-str),3,30)); if ( (level.maptime+args[3])%freq ) return; + if ( !flaretex ) flaretex = TexMan.CheckForTexture("graphics/Particles/xflare.png"); int numpt = int(Random[ExploS](0,10)*str); for ( int i=0; i=.5; j-=.125 ) - A_SpawnParticle(b.fillcolor,0,int(12*sstr),2.*str*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.75,-1,-.02*sstr*j); + A_SpawnParticleEx(b.fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,int(12*sstr),2.*str*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.75,-1,-.02*sstr*j); } let s = Spawn("mkBloodSmoke",pos); s.SetShade(b.fillcolor); @@ -120,6 +122,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor mkBloodDrop prevblod, nextblod; Sector tracksector; int trackplane; + TextureID pufftex[8]; Default { @@ -217,7 +220,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor { if ( Random[Blood](0,2) ) continue; Vector3 ppos = level.Vec3Offset(pos,ndiff*i)-pos; - A_SpawnParticle(fillcolor,0,10,10.*scale.x*FRandom[Blood](.6,1.4),0,ppos.x,ppos.y,ppos.z,vel.x*.1+FRandom[Blood](-.1,.1),vel.y*.1+FRandom[Blood](-.1,.1),vel.z*.1+FRandom[Blood](-.1,.1),0,0,-.5,.5*alpha,-1,-1.*scale.x); + A_SpawnParticleEx(fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,10,10.*scale.x*FRandom[Blood](.6,1.4),0,ppos.x,ppos.y,ppos.z,vel.x*.1+FRandom[Blood](-.1,.1),vel.y*.1+FRandom[Blood](-.1,.1),vel.z*.1+FRandom[Blood](-.1,.1),0,0,-.5,.5*alpha,-1,-1.*scale.x); } SetOrigin(newpos,true); if ( (d.HitType == TRACE_HitFloor) || (pos.z <= floorz) ) @@ -250,7 +253,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor { Vector3 ndir = (floordir+SWWMUtility.Vec3FromAngles(FRandom[Blood](0,360),FRandom[Blood](-90,90))*.5).unit()*FRandom[Blood](.5,8.); for ( double j=1.; j>=.5; j-=.125 ) - A_SpawnParticle(fillcolor,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); + A_SpawnParticleEx(fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); } Destroy(); return; @@ -280,7 +283,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor { Vector3 ndir = (floordir+SWWMUtility.Vec3FromAngles(FRandom[Blood](0,360),FRandom[Blood](-90,90))*.5).unit()*FRandom[Blood](.5,8.); for ( double j=1.; j>=.5; j-=.125 ) - A_SpawnParticle(fillcolor,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); + A_SpawnParticleEx(fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); } vel *= 0; return; @@ -325,7 +328,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor { Vector3 ndir = (floordir+SWWMUtility.Vec3FromAngles(FRandom[Blood](0,360),FRandom[Blood](-90,90))*.5).unit()*FRandom[Blood](.5,8.); for ( double j=1.; j>=.5; j-=.125 ) - A_SpawnParticle(fillcolor,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); + A_SpawnParticleEx(fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); } vel *= 0; return; @@ -348,7 +351,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor { Vector3 ndir = (-(walldir.x,walldir.y,0)+SWWMUtility.Vec3FromAngles(FRandom[Blood](0,360),FRandom[Blood](-90,90))*.5).unit()*FRandom[Blood](.5,8.); for ( double j=1.; j>=.5; j-=.125 ) - A_SpawnParticle(fillcolor,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); + A_SpawnParticleEx(fillcolor,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,20,10.*scale.x*FRandom[Blood](.6,1.4)*j,0,0,0,0,ndir.x*j,ndir.y*j,ndir.z*j,0,0,-.25,.5*alpha,-1,-1.*scale.x*j); } Destroy(); return; @@ -373,6 +376,7 @@ Class mkBloodDrop : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); + for ( int i=0; i<8; i++ ) pufftex[i] = TexMan.CheckForTexture("graphics/Particles/xpuff"..i..".png"); SWWMHandler.QueueBlod(self); int jumps = Random[Blood](0,3); state dest = ResolveState("Spawn"); @@ -453,10 +457,12 @@ Class mkFlyingGib : Actor double rollvel; mkFlyingGib prevmeat, nextmeat; Vector3 oldpos; + TextureID pufftex[8]; override void PostBeginPlay() { Super.PostBeginPlay(); + for ( int i=0; i<8; i++ ) pufftex[i] = TexMan.CheckForTexture("graphics/Particles/xpuff"..i..".png"); frame = Random[Blood](0,5); double ang = FRandom[Gibs](0,360); double pt = FRandom[Gibs](-60,20); @@ -509,7 +515,7 @@ Class mkFlyingGib : Actor { if ( Random[Blood](0,2) ) continue; Vector3 ppos = level.Vec3Offset(oldpos,ndiff*i)-pos; - A_SpawnParticle(shadecol,0,40,20.*scale.x*FRandom[Blood](.6,1.4),0,ppos.x,ppos.y,ppos.z,vel.x*.1+FRandom[Blood](-1.,1.),vel.y*.1+FRandom[Blood](-1.,1.),vel.z*.1+FRandom[Blood](-1.,1.),0,0,-.25,.5*alpha,-1,-.5*scale.x); + A_SpawnParticleEx(shadecol,pufftex[Random[Blood](0,7)],STYLE_Shaded,0,40,20.*scale.x*FRandom[Blood](.6,1.4),0,ppos.x,ppos.y,ppos.z,vel.x*.1+FRandom[Blood](-1.,1.),vel.y*.1+FRandom[Blood](-1.,1.),vel.z*.1+FRandom[Blood](-1.,1.),0,0,-.25,.5*alpha,-1,-.5*scale.x); } } diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index 1ef82ac02..707dc6ed0 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -847,6 +847,8 @@ Class SWWMTeleportSparkle : SWWMNonInteractiveActor Class SWWMTeleportDest : SWWMNonInteractiveActor { + TextureID flaretex; + override void PostBeginPlay() { special1 = Random[ExploS](0,10); @@ -861,12 +863,14 @@ Class SWWMTeleportDest : SWWMNonInteractiveActor } if ( isFrozen() ) return; if ( (level.maptime+special1)%10 ) return; + if ( !flaretex ) flaretex = TexMan.CheckForTexture("graphics/Particles/xflare.png"); int numpt = Random[ExploS](0,2); for ( int i=0; i