From 32e33947fed154e5fd9ca38b8440f581fd13fd3b Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Fri, 25 Jun 2021 14:42:35 +0200 Subject: [PATCH] Premier commit --- gamedata/assets/grid.png | Bin 0 -> 6421 bytes gamedata/assets/gui/button/base/corner_dl.png | Bin 0 -> 5829 bytes gamedata/assets/gui/button/base/corner_dr.png | Bin 0 -> 5848 bytes gamedata/assets/gui/button/base/corner_ul.png | Bin 0 -> 5645 bytes gamedata/assets/gui/button/base/corner_ur.png | Bin 0 -> 5617 bytes gamedata/assets/gui/button/base/down.png | Bin 0 -> 5831 bytes gamedata/assets/gui/button/base/left.png | Bin 0 -> 5733 bytes gamedata/assets/gui/button/base/middle.png | Bin 0 -> 6484 bytes gamedata/assets/gui/button/base/right.png | Bin 0 -> 5770 bytes gamedata/assets/gui/button/base/up.png | Bin 0 -> 5880 bytes .../assets/gui/button/baseAct/corner_dl.png | Bin 0 -> 6104 bytes .../assets/gui/button/baseAct/corner_dr.png | Bin 0 -> 6087 bytes .../assets/gui/button/baseAct/corner_ul.png | Bin 0 -> 5892 bytes .../assets/gui/button/baseAct/corner_ur.png | Bin 0 -> 5906 bytes gamedata/assets/gui/button/baseAct/down.png | Bin 0 -> 6082 bytes gamedata/assets/gui/button/baseAct/left.png | Bin 0 -> 6064 bytes gamedata/assets/gui/button/baseAct/middle.png | Bin 0 -> 6286 bytes gamedata/assets/gui/button/baseAct/right.png | Bin 0 -> 6047 bytes gamedata/assets/gui/button/baseAct/up.png | Bin 0 -> 6086 bytes gamedata/assets/gui/slider/base/circle.png | Bin 0 -> 9814 bytes gamedata/assets/gui/slider/base/left.png | Bin 0 -> 795 bytes gamedata/assets/gui/slider/base/middle.png | Bin 0 -> 612 bytes gamedata/assets/gui/slider/base/right.png | Bin 0 -> 848 bytes gamedata/assets/gui/title.png | Bin 0 -> 3200 bytes gamedata/assets/icon.png | Bin 0 -> 909 bytes gamedata/assets/particles/beam/0.png | Bin 0 -> 789 bytes gamedata/assets/particles/beam/1.png | Bin 0 -> 1564 bytes gamedata/assets/particles/beam/10.png | Bin 0 -> 3940 bytes gamedata/assets/particles/beam/11.png | Bin 0 -> 4277 bytes gamedata/assets/particles/beam/12.png | Bin 0 -> 4126 bytes gamedata/assets/particles/beam/13.png | Bin 0 -> 4337 bytes gamedata/assets/particles/beam/14.png | Bin 0 -> 4326 bytes gamedata/assets/particles/beam/15.png | Bin 0 -> 4562 bytes gamedata/assets/particles/beam/16.png | Bin 0 -> 4582 bytes gamedata/assets/particles/beam/17.png | Bin 0 -> 4436 bytes gamedata/assets/particles/beam/18.png | Bin 0 -> 4701 bytes gamedata/assets/particles/beam/19.png | Bin 0 -> 5164 bytes gamedata/assets/particles/beam/2.png | Bin 0 -> 2249 bytes gamedata/assets/particles/beam/20.png | Bin 0 -> 4980 bytes gamedata/assets/particles/beam/21.png | Bin 0 -> 4666 bytes gamedata/assets/particles/beam/22.png | Bin 0 -> 4479 bytes gamedata/assets/particles/beam/23.png | Bin 0 -> 3913 bytes gamedata/assets/particles/beam/24.png | Bin 0 -> 3304 bytes gamedata/assets/particles/beam/25.png | Bin 0 -> 3068 bytes gamedata/assets/particles/beam/26.png | Bin 0 -> 2413 bytes gamedata/assets/particles/beam/27.png | Bin 0 -> 1845 bytes gamedata/assets/particles/beam/28.png | Bin 0 -> 1758 bytes gamedata/assets/particles/beam/29.png | Bin 0 -> 895 bytes gamedata/assets/particles/beam/3.png | Bin 0 -> 2194 bytes gamedata/assets/particles/beam/30.png | Bin 0 -> 787 bytes gamedata/assets/particles/beam/4.png | Bin 0 -> 2301 bytes gamedata/assets/particles/beam/5.png | Bin 0 -> 2389 bytes gamedata/assets/particles/beam/6.png | Bin 0 -> 2642 bytes gamedata/assets/particles/beam/7.png | Bin 0 -> 3005 bytes gamedata/assets/particles/beam/8.png | Bin 0 -> 3485 bytes gamedata/assets/particles/beam/9.png | Bin 0 -> 3574 bytes gamedata/assets/particles/bolt/0.png | Bin 0 -> 5784 bytes gamedata/assets/particles/bolt/1.png | Bin 0 -> 6004 bytes gamedata/assets/particles/bolt/2.png | Bin 0 -> 5628 bytes gamedata/assets/particles/circle/0.png | Bin 0 -> 682 bytes gamedata/assets/particles/circle/1.png | Bin 0 -> 632 bytes gamedata/assets/particles/circle/2.png | Bin 0 -> 584 bytes gamedata/assets/particles/hit/0.png | Bin 0 -> 4984 bytes gamedata/assets/particles/hit/1.png | Bin 0 -> 7958 bytes gamedata/assets/particles/hit/2.png | Bin 0 -> 8732 bytes gamedata/assets/particles/hit/3.png | Bin 0 -> 11162 bytes gamedata/assets/particles/hit/4.png | Bin 0 -> 11410 bytes gamedata/assets/particles/hit/5.png | Bin 0 -> 11380 bytes gamedata/assets/particles/hit/6.png | Bin 0 -> 9541 bytes gamedata/assets/particles/hit/7.png | Bin 0 -> 8690 bytes gamedata/assets/particles/hit/8.png | Bin 0 -> 7590 bytes gamedata/assets/particles/shield/0.png | Bin 0 -> 7509 bytes gamedata/assets/particles/shield/1.png | Bin 0 -> 6917 bytes gamedata/assets/particles/shield/2.png | Bin 0 -> 7509 bytes gamedata/assets/particles/shield/3.png | Bin 0 -> 7733 bytes gamedata/assets/shadow.png | Bin 0 -> 58221 bytes gamedata/definitions.py | 118 ++++++++++ gamedata/font.ttf | Bin 0 -> 75864 bytes gamedata/game.py | 216 ++++++++++++++++++ gamedata/objects/base.py | 17 ++ gamedata/objects/bg/backgrounddrawer.py | 29 +++ gamedata/objects/bg/menubackground.py | 21 ++ gamedata/objects/bg/movingbackground.py | 12 + gamedata/objects/button.py | 88 +++++++ gamedata/objects/gameloop.py | 61 +++++ gamedata/objects/info.py | 37 +++ gamedata/objects/menu/mainmenu.py | 28 +++ gamedata/objects/menu/menu.py | 52 +++++ gamedata/objects/menu/optionmenu.py | 16 ++ gamedata/objects/particles.py | 42 ++++ gamedata/objects/sliders/bgmslider.py | 16 ++ gamedata/objects/sliders/sfxslider.py | 16 ++ gamedata/objects/sliders/slider.py | 76 ++++++ gamedata/scenes.py | 23 ++ gamedata/sounds/sfx/click.wav | Bin 0 -> 21190 bytes launcher.py | 14 ++ 96 files changed, 882 insertions(+) create mode 100644 gamedata/assets/grid.png create mode 100644 gamedata/assets/gui/button/base/corner_dl.png create mode 100644 gamedata/assets/gui/button/base/corner_dr.png create mode 100644 gamedata/assets/gui/button/base/corner_ul.png create mode 100644 gamedata/assets/gui/button/base/corner_ur.png create mode 100644 gamedata/assets/gui/button/base/down.png create mode 100644 gamedata/assets/gui/button/base/left.png create mode 100644 gamedata/assets/gui/button/base/middle.png create mode 100644 gamedata/assets/gui/button/base/right.png create mode 100644 gamedata/assets/gui/button/base/up.png create mode 100644 gamedata/assets/gui/button/baseAct/corner_dl.png create mode 100644 gamedata/assets/gui/button/baseAct/corner_dr.png create mode 100644 gamedata/assets/gui/button/baseAct/corner_ul.png create mode 100644 gamedata/assets/gui/button/baseAct/corner_ur.png create mode 100644 gamedata/assets/gui/button/baseAct/down.png create mode 100644 gamedata/assets/gui/button/baseAct/left.png create mode 100644 gamedata/assets/gui/button/baseAct/middle.png create mode 100644 gamedata/assets/gui/button/baseAct/right.png create mode 100644 gamedata/assets/gui/button/baseAct/up.png create mode 100644 gamedata/assets/gui/slider/base/circle.png create mode 100644 gamedata/assets/gui/slider/base/left.png create mode 100644 gamedata/assets/gui/slider/base/middle.png create mode 100644 gamedata/assets/gui/slider/base/right.png create mode 100755 gamedata/assets/gui/title.png create mode 100644 gamedata/assets/icon.png create mode 100644 gamedata/assets/particles/beam/0.png create mode 100644 gamedata/assets/particles/beam/1.png create mode 100644 gamedata/assets/particles/beam/10.png create mode 100644 gamedata/assets/particles/beam/11.png create mode 100644 gamedata/assets/particles/beam/12.png create mode 100644 gamedata/assets/particles/beam/13.png create mode 100644 gamedata/assets/particles/beam/14.png create mode 100644 gamedata/assets/particles/beam/15.png create mode 100644 gamedata/assets/particles/beam/16.png create mode 100644 gamedata/assets/particles/beam/17.png create mode 100644 gamedata/assets/particles/beam/18.png create mode 100644 gamedata/assets/particles/beam/19.png create mode 100644 gamedata/assets/particles/beam/2.png create mode 100644 gamedata/assets/particles/beam/20.png create mode 100644 gamedata/assets/particles/beam/21.png create mode 100644 gamedata/assets/particles/beam/22.png create mode 100644 gamedata/assets/particles/beam/23.png create mode 100644 gamedata/assets/particles/beam/24.png create mode 100644 gamedata/assets/particles/beam/25.png create mode 100644 gamedata/assets/particles/beam/26.png create mode 100644 gamedata/assets/particles/beam/27.png create mode 100644 gamedata/assets/particles/beam/28.png create mode 100644 gamedata/assets/particles/beam/29.png create mode 100644 gamedata/assets/particles/beam/3.png create mode 100644 gamedata/assets/particles/beam/30.png create mode 100644 gamedata/assets/particles/beam/4.png create mode 100644 gamedata/assets/particles/beam/5.png create mode 100644 gamedata/assets/particles/beam/6.png create mode 100644 gamedata/assets/particles/beam/7.png create mode 100644 gamedata/assets/particles/beam/8.png create mode 100644 gamedata/assets/particles/beam/9.png create mode 100644 gamedata/assets/particles/bolt/0.png create mode 100644 gamedata/assets/particles/bolt/1.png create mode 100644 gamedata/assets/particles/bolt/2.png create mode 100644 gamedata/assets/particles/circle/0.png create mode 100644 gamedata/assets/particles/circle/1.png create mode 100644 gamedata/assets/particles/circle/2.png create mode 100644 gamedata/assets/particles/hit/0.png create mode 100644 gamedata/assets/particles/hit/1.png create mode 100644 gamedata/assets/particles/hit/2.png create mode 100644 gamedata/assets/particles/hit/3.png create mode 100644 gamedata/assets/particles/hit/4.png create mode 100644 gamedata/assets/particles/hit/5.png create mode 100644 gamedata/assets/particles/hit/6.png create mode 100644 gamedata/assets/particles/hit/7.png create mode 100644 gamedata/assets/particles/hit/8.png create mode 100644 gamedata/assets/particles/shield/0.png create mode 100644 gamedata/assets/particles/shield/1.png create mode 100644 gamedata/assets/particles/shield/2.png create mode 100644 gamedata/assets/particles/shield/3.png create mode 100644 gamedata/assets/shadow.png create mode 100644 gamedata/definitions.py create mode 100644 gamedata/font.ttf create mode 100644 gamedata/game.py create mode 100644 gamedata/objects/base.py create mode 100644 gamedata/objects/bg/backgrounddrawer.py create mode 100644 gamedata/objects/bg/menubackground.py create mode 100644 gamedata/objects/bg/movingbackground.py create mode 100644 gamedata/objects/button.py create mode 100644 gamedata/objects/gameloop.py create mode 100644 gamedata/objects/info.py create mode 100644 gamedata/objects/menu/mainmenu.py create mode 100644 gamedata/objects/menu/menu.py create mode 100644 gamedata/objects/menu/optionmenu.py create mode 100644 gamedata/objects/particles.py create mode 100644 gamedata/objects/sliders/bgmslider.py create mode 100644 gamedata/objects/sliders/sfxslider.py create mode 100644 gamedata/objects/sliders/slider.py create mode 100644 gamedata/scenes.py create mode 100644 gamedata/sounds/sfx/click.wav create mode 100644 launcher.py diff --git a/gamedata/assets/grid.png b/gamedata/assets/grid.png new file mode 100644 index 0000000000000000000000000000000000000000..698feaf1c3db9cbdeb3f75f11933cd1b5f434731 GIT binary patch literal 6421 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/corner_dl.png b/gamedata/assets/gui/button/base/corner_dl.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd051c72a99ee2a091771da9f6aa0f9343cfe97 GIT binary patch literal 5829 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Ɍi9vEMv5NODOGBef+y=y3Tjd* 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/corner_ul.png b/gamedata/assets/gui/button/base/corner_ul.png new file mode 100644 index 0000000000000000000000000000000000000000..6527f46ef8a623a3f6559d98b235b21bf4b2ad35 GIT binary patch literal 5645 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 KK6||uE&DfhaAsow literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/corner_ur.png b/gamedata/assets/gui/button/base/corner_ur.png new file mode 100644 index 0000000000000000000000000000000000000000..b605b861319135d58f76d5348f137ecb9e6c8f76 GIT binary patch literal 5617 zcmeHKX;>3i7mkW-N)@aN6eR?0u{dNB0$G}{2mw;rBot6vaWXSW2C^}kkbqioK?MZ0 zYK4N;qIGR;#jWlOpe>49(YBz7N&z=eu@n@gGXXJv^|PPP^Yx#3o+NYceb0N&eeXGE zX0l_V!W`^f>}fQbgCsm8mi)J)zP8rnZ~b!Xp){J6b4FYu5epgVI$SHqR4AQD*P(RO zgvn_%Q_bD@X?t#X4(?J6-)S|r-@M=N2^DGJskQxwH5nd93D$HTNK<{kL_B$1cEQuL zSIfGx=C2uaB0bMNYewo14NeN8M3i6Jf?V0}7FGjXsjcdq2RZF3J=wO$`0M#iPm0^e z63%l3HKQw=J8$O}?>%(6_Eg%B_s^dXr4y%BwNGb!;8eHx^8JswCCf_cfNw8~cGhk* z9V+&;aSI>alK*XTcyrjEsAGzvz_8!N`S)$U+H~!~Ea%Fj<)4I4Xqhl;-O3x4-w$hv z|Ljae6=3U#4HYH>3M_F`|XcXtfF5tQ$Ox>P4j+tR<}#+jVY_mxhVwqQi|wuq`L zLI;O<$%U~KpXMYw7IcQ=`xLN`0}^bRKZMyi`Bjr z=-Aj!n?DOj24rsvj4xbeD-3O3F}JuP)m@r>u*rJmosj<9et0_PF)7EW2XGe_`;OPp`=1=n%=o8iSS za0KhUC|S(L*%SRY7Q|LMuaKM0bO_*(Gg-NBC(N=FPnxi$A?Mzf?T=ixUP_c!coIw`Q zT-~zu^6LH0Bd=b_b6e#j-5>3#*hmbi6y0vmN>*#E4deHeo|_Q+E&U1TsV^T=d#818 zilH3m0^G#*ZRWNA=}z!?<_fdX1X)-%SdGE z7`yQWO#$n=@q`>Pc5;2m31inq%riP`z%1m>E>qDi8}+`gl;O@U3v!~-m7DiXx<7S5 z=i%bj``X-pN?!5X!Y}J9o0NGEJM3~wJM)HYxLR=HSp0{A3|p*Vay1~;jOngwvVS)_ zrFDA8$VXGYZX^Df)Y0g1`%&fjVNbmtWv3iJ(r?b!SA}ieW1ciFy`&$|d+Afy{@MCp znz?7Yj)WcQj2X2i|FA=MLNoWf1>N28?ng?l9&~#8-8rrQ+o4x^k0Kvc&AiyO&v&hz z$IZq=x7ws#b8-S2i!Rs7n)~e~lYm?6BMLl%SgbJse zC>~pJjeof1+KtDQAt2Q1sL{W|yPF?aBb^>++Q zjmBN=?X88Oa{|V=;aOD&zo?_phU8*o(@uhM8ADUQ^Rd2HgxHQbdfz$QXLC7DwqEZ;m$zh)q};o8fOy7vhLq5E~NOOF@oA z3?)J61WcyUX!JJvcx!P5lf~!rnIN0VW&GS`D4z zgk)L+A!0Ddb$Ty3xeAL-H-yzkq(GmpK-*u7VIPY@nPbCPNS(4j|{SL4d>J z`2dhFhX-)vJQVb0u{b`ymK4!AMpgo(vW$wNLP#o@&*yUZTpxhTmBC~*kPP7akVBZo zmh)w>4-W+S=4hyM5Cp|YL=3h!_NgR@_8L!88wr%vXW` z#w1m0jhg?B=Q*^GB?u>sT0A8hkCr8)F!5@hmx243V#!{oC-8L1KWyqhaKfH+4JU22 zc)EpuDVo|d>S;(S%q$h1Zf*hs2=0+z52c|!iAL(!vji(4jRGaRZEvYPo5x;~#t0kc z`LehO0D`_`^72?*K*p7WfG^5Ld_j(!BZE-$0r#=%wQ|A;;b@S8%mMP8$seQ#3!les0V$2wT6ODBs~NkkhpuXO(sU=KqC2BR9i_En)2xBtdSHkf69xKf_(!-Q9Dn`)6j)wGAw0 hgocJ%3#Nu8iD{g@R*u({yiO8IlZc~2wojZf?=PMZSakpZ literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/down.png b/gamedata/assets/gui/button/base/down.png new file mode 100644 index 0000000000000000000000000000000000000000..c089a42bf020b772c64a3b615a58def50e6df973 GIT binary patch literal 5831 zcmeHLc~}$I77tYxsZ_KD!J>qK7R5;>8(CyEM2NB}C?Hgv%uGTgo0Gu=+(1P^Y84lh zf{H~gt>`PYDxX-bP{mzPixw&ZTBV|BQK{C2cPAiX>$A`Az5XZP7sx&LcYf#Gvt4Gg zBg2F3Y=_y>Xf!)nNYE7UcL4RVu>!xFa;@xXwEn}=qGQP^h>@-*bPAOkr<19AoQ|7R z3L4E+e>*mQwfpFSPi}lLx4*}TA=S;!Wr9mrb>o{miW|7MAI!V8%x&OW+bQEmPbLeV zoxM`^B(w7P+^dU|LfO+l*gUW0lZ^V}wLh+Yu)}v^z3=6drynhHBU&$SIvd~UR=uIq zP(QJi)78Je-wCJ8ww%I!2Yx;Wj=X8BBgzGiZ&sCr4&mM@w*=H;LGI=jMMS^Le^s)@!YoNG(! z_G55vVN=F>&+>0wbb%v7)3+6Tl6(8tQ}I_4=HK7?1dAURI?buDbmOH#zs>%1M5Ux7 zuR^lGa=CJ0aGNx|Ij}vPKTnxEgMV+Q^lsSxhI@89P~Pz3e;q%nbS=A4E=c+5#4tpj z-#GmwTwDz&B`Ci91ax8~t z?cd%dyP3tfpW~f9Jg2_Y#gpe{NrXcw*-n>8izJ)3v38ryE3f z-H!e`fUzj&SeRv?GnVRV@7MApeJPm(V<>NwU$KoGS2P$W`j12i;@H&sU zjcInnrbhEs;e~~V*~5o)uvHUBD?LvKoQd7YcE3@1#36Bfwsd)3G$DN$ohVr`^{cvQ z!`17d62`tuTUC=F<4v1w?Q>hpCSBZ=Ho|64^HNvj2RBLZut%6?ciP!{cf%pY3h(3t zS%lS!!qUL8L`G3+;gaLdPH4o;gi-x$k~S5_jl7e}iCM*e=)(Sn0hbP3Q#fG_8*Uvp z+leHMczb-~Cl|YZ_|TuD9F?+gk%;@{+?nlOx+`DTU9T=;9-Zd+*)P#;s}?NQC{8Cd zb@FRs((c_{G^ob9wcmYz>l2p0Xa9Vnbu~_|FaDIVCPd`c@H=x;LU9jh{+R_Kfd~Hce)ABUr#Gb=y&i! zvEW|G)DagWDhBPoT6`|2R_Ih297{jsywRe9(ab#UrZ zC za5<6~m6PaTIWEgaQ4;PLBz4(iD=o2~l{syADD&x}QFgMNoZ_bG`nzb^&8C*p9gBC+ zZ5E^pMdH!>L$bRj*+Oz3VS9DO+?5r^^hhtx=~*9I^S)D$l22x@o8i!qSi2(pzFRty zA9u9S<4CjUV0-h`wvU%6Q#U_0+%Iv?vGB_^jjN1VLu_JTs$uT#eGt!^RsO9HM-rp2jY-c%Ek-7-8t(tl z^+|i(iSY1p*)S+FJDE6G)Ep20Ft-BB#n>IQ+Hcj?T`hv|54*vi72ir( zX*7P@*?A{_!b1NMu0-bP1D`e0X!h|cFtuaDLdB>~!$dHh9A}y|dN9>#G#`JH9zm0F zk}k)UDy=W$PQ@VxU4{8FV)$Wjm|lV>sY22SJSr_b8cj<^MHs{1&(_Bz1_TLk5G5Ai2Sq!=vLMHn%V#6Zo5*>llc}yM?hNLFd91g?JmhMAf3h|Vn2|W~G z<;zGSNxhiGG8&CcBbTWolq|MLBx1oF7KZ}?1Y}6nl86b?8r&(0ZjK<_fD$S_snTib z6el9rrI5Z12H2Z=cS!@_#C zwT7N3f_Sn_h@Qn}!YqyEB@F{9o%6!pD>V$!;PPZm!40|;0>!0sa4qTH*Qj2dV(4o# z#eh>Hv)^h=!2(X1E%((4mW4(3>QG@+sx*4D28Hg6#L!-xK7~-5F&N6i)wl*YVgStS zm++)Y@ghMlorl`_izC2XFaJyE=kYT8VveggNQb6SMrA?149Z_IrbAVj*!)$_!!ZRH z;X-VVw>QK?1m2Lyo6U!~0s$t+csvn;^ZHQ9v<4EWnsQ8FnfMEg{LJ%Pe@kDHINQetD z2;+13-WZo7;$YoWR35~EkuqNfhY6d>&5}qpLMn8G#+MPQ(x#YRY(%Rxcod0HL1TNv zJP}t2TodxxT)yB1Xc|r!K#^0NY?#U6n0GK#JOMBwpx9IzM2WNXTBUh|N{bjA1_TzN zdIK<<<=`x034tS|j)>Oj)V>VLGde|SZYjD?PqT1H`d=3r#|_N*qkvo>qG;9d&pir!?v{c38C>_Q-uu3% z%&AH65B~JD&p&7ZP`@?uM)7?cuD9WOqX@ha_-%E)4c8k*;Elj`97v?$$J1lu@fbu;)@apIxdJ2OX&Q`- z8RSwD$?$XcoOxBZJnUY`oc3Byw#aVpDes!l@USy$mG05)ie~(~9n`gHb@5@HVcKxx z(@S*Y*2>Pr;!9&=tj07>`ILh?b~l~ssy}qW4eHKUwRbEz=3pIi<$2m^-?oBt3wAEG zn*XF^^^=vb^!MM$oe=GthgDA6>bQN7126J`^5`BXYjtjOWyRIc*MENf;KeS#E6Ul` z*CRKsc(-)a5wvW)V@LjOQOlJb+qOR(R{L!DS&=4T;Q?52lR9~fz}9WfsbpE5^^r}I zJ^4YEi$*_Av^CgzBEx1}ldMrh(T|FCHMf1boxVveD5rB0d{b`J)N&8ozS}sD`f=}9 z9>urpcRO=`_5HTEwkI$6K{}kdziub%-)XhLrjBX9BBsTWyglf>IoWOwNKADo+LP_3K|83Ey z+m3q*3xh0Y2A5m?u;k}icbfODEqj0T)4V+!tWPDLywDCWbk5WXJjSCPcKLbJ=IqIp z1)W$^-+Z^ycIDa21=+Lrl6Sm!`)j46*P^qu0(aMj1FoK{cP>`cx1~vs*0$fxzgDXB zA_Z}-o*3J>FElrHwJr1PcR5Add1 z2lmMVab)oiTf?8PToTUsVk2`@kJllYi=r&iJYf3jnDSMDfu z@nP7nYMym&%)F#;MWG%kmzKUeKjZF~oy((L;N~88y9vpq`B4|W%f2bU#(XNfn7H?3 zt_S1xV~M@^Lat3=`wvlPj*aylc8fP|=FCTJ4I$dK({v*eR{YpBBkwchi;^~0;hNwE-H;l{jSF422(aQrDV~W@UD9W8ExIxiTf)}40ly)ljvP0? zy*Jz%eQ6(DlE-*#A6{qSzPb<&zWE^T_|xg*YuFQh{_V zO}$r^_3k{FPC7NJ{+DBTlJBCH<5iifKQr`HC3LtiYYl&tW6bC&3hlk&(x^YtsW;uO zxUs}z%|s`Gtud~}=j)Y5ukF8{?%}qYZhMNJZ7XNr|657uv&M`IoyjaWo9&_|pRym_ zdpnMFJreb1t~N$JFi!v7zs8su)7zSw-C-nEw?D3X!T-33M6y^Z4-AYJ1_r)tX3)aL zOY;R`CuX|VEEMG~bQ2vD5i>MGd3-7y1K9_ zFY@uEEM#-S$>Pa1t=#YKwcffjf2Ay~M^=R@L?u?#>^_#;R-upPG=I^#%P{YF=A^c$1IqWSDKiYWOvlBWq zxAOb(PupmA(#M;yigT{B>~iC?El1mUdTh;sDf_xg201_`KZN| z#Pt*WpSktkyLc)x@}Tgzhl8QAd)?@*OPzPcDW5;TeBjQsEaSL?KNbBRV_)#=Gk`bJh{I)B-4MQoA#r|>cZ<0j7FrChU=r9Cx zY3BN1H6mg_TczudB8Vr=fM{q8DxIcO4$;uz!Ks7xUa6sr1!o*B2Ggliv?vywim7mS zbE6tXiq70-iVh=0CchODDGfMfvTUvsDvXF8&>_MolPfhQ4FYYBl%NARO^Q}w!bngW zrofcI5glM=48h}a>0p9}?1xzSgCoG)0RIs5%Xpc5F~yY^q()N+qrxBoh47arQKNDR z&vYxsq--{u!-1GgL<+G`Z#Kl0!YIULN*OTX!)18;NX@8(DjklfP>i4gKRSvBWS3;vy0*1bf3QmeiZ$!-6q0iYTodbONF<_llsB04kWtVbM7Z2E_2` z^9DGAu`!5+zzhz|@Mig791|6h2VOw5P(XpH^g&6q0>Pzftx`YT#w14T}7GU!woHmyidUI<`BK(Wb{hzz4?R5H^7krp1< z38%PSdDO6;#X$bHTv@iTRBo&jGQUK!Ew}d7lDj5c*ZGWr1 zl*?aH##{vTVRM-<#AGlLh^P#R%VE+X30KTviM=szDMLJzU8k1fdPIu_$UqH%JcHIU z<(ceZs=nz%(fULT)QA_I!K2eDed+B__g}LgHik*Kpo1XC~@t-5k;v7PE5{_}nK0=QB9&X#?kd zf0+}L;4l2?Z=b)=0-%0tIrl90zV~){ zx;yLX8tWnu2tBroqZjxb~QlyLVW`o_@m>rnbR5e(8^p zD(QKvhjdBem{~2wH10^d3R=6;jc?pv@a(K)7#w_X)VVfEOc?`e2cPNO znX%!YdJhI_veKP@F}k;YbNm*|W3-LAbf+Y6WCaInlT3R>F1+ExpB2aYhTO~;h%w7E z>&lTjXZo^wNnZ0T3@9zpR@>(K>{w>YzS0&;qq%3COe}`34YdUX@6JC?{$4QDKn-JFsP{^qpTK=)~ zVX;k0Mbg6Zm$SuPhO{}|Z~g{f#3`?KwJvHpV1kT5Tl<^W9kER6Y$;8?ce%fqcLt=* zeiYKPAwe7Cy*%$OUKLj{bRE5BZS8ZE`y6+f$-08^W)Y@CWi*mR{}$u+Po64uo5HpxtA!x3o$usa9O9=!_3i zuO*+wbQ_7&V|90X{3FHw@~TnL@2Oq=Etf;V5no?g_1(d1midh*x0Su!RPr>?ZLmkW zy{;$n_zQl-%Zm=IM?i#~`ts5PzHl-tYkFgLKdjMhjXfD=5?xXo5E>xZ!#g|MFyrge zf`-H2wHDM09SY=q&CMw$#th+uy-lRErE5Zs3`;t9vpvcwoT<}lo-|aLEjs4&EPTJk z7h}og5_}KFw`tM5gGRGVkQRt9zPRbS7xgmh6*7IBG`+gmP;Tlh><2o{)4!G_1RhQ> zTM2aP6z-qX)8e=zSI+m1ur1zuXXn)A(#!fYD84m?dld4f^S3Pegke9&s%CcL@C}$Kv*^GmONOUNFryb*xACT}P|vD&P=%{OkkZH)s)2Cfu@So(LLoOX=+N%PG=i85M8mfpJ`E|?CugPDD z5@Fl>lGUpo;97;8!rnU(0gfFvS_EHUx{ss znRsCFK}Ar*mb4$w-OLyWew;2C172m1%mq}gW4rKMdup+qi>`fV4=cS0*UYqU1TmKQ z4^2UhbQHe~bDd>W)Et)=Byrw)X^kYjDGvb^Zr0ClNMhSi9{7vALJ!=x$y>X|>(t#% zNZqgMr}W;VhB0azy|UH|`8JOZBe(T7^BTMd7IMbckKR1`i!=82)#Fd^Z+t^kE!}dz zQd~>$T4d(fT3N2ba{Q`OF-LIN%4qC*pQYD_E@}I^=CQL&RLiUCHW<2@TAWJD^gx?+ z`EBmGk{!O#_4?Hr^3m_^j+FNXrmtG_?9~zW8^L4UZ&v?oZO5qbkE~Ama*X2^z<+eC zeSa>0WE7jWrFwA3EJWJHbD26XPS6b>m0@nbg*v+0!b?Ug5eTh#frEo5+ri=8nFF6R zhqk6NU25!1u59#9+Bk2TP2zNZfxDq2%cNA7RbUXB;J1i_eI2({kDZj1*S=Od1Qz$U zcbq)2;{}AK%41sPz~i6$HpB-i$SJuy1iMctP@5Er4_>psl6EbdCKE?dB zwz%5(#S`32{zxWN)M&DLW>P@h)Y-b0%a0@y(Pw&(2DsF3YpSvBez`=p;)!KUDyX$2 zBxRB9OS9hw?p$|wFJo6NH&7NoOP+mX>-++L(W_T?&-N{gdAp#j;ouuDy{ums|8T#l z+SzW78PdESwWZQaZdPJ4K(`(T6JTTFdv*Yi7ful7tyIa<^~xm0D2 zKakfSksK9u=K1r%Y^UwEre?B)x(f#$A`k}a1n@mTfE$MnN<>(IC*eX^rAP|jBOnkA zTcs2L!ypBU3k3_rO!Q#IMKnslW1{`ZZg@AT0~8`~QOO{0mAen93Il08wCyTghLR2w zh#&=kQi_CPIbF#_Yk2AKf3+BgMrk05FeW;{%@gGykwGXDmW0J)SV}=85xq(m#gOs% zbT3Dz2?}_`M29F8QaTP76%~bzvcgJa!8ihqM#JHWI3f`PBQWx4u>w$H#BvKY#W;r} zBnM>zsX`zTqtu)LR}!IMqS5d?YJwb|1zAd1IAK6N*3iopJRBPykl^*e02~pIr(*C# z43UPLtPjt+xxLpG%O|1;#}lUnq&NZ=j}wVL(vT}ykss{+p@!TCz7@lHL2^li41`#b zkXT_c*{D<)A)jnBLJp}#8oz}+J`Q$DV|lWUGuzGcy^cDJ!2*#~qoGDmM)JV-IBA4T zsKM|+93+H9up@GqneY)_A>e;V&`0Z0&-~62*xY;mkI?VprSU}*SGuDFj8Ge8J2KH~ zf9X64DB#gGeIGs6SvPB0?? z7n?u?1VcEfI9M~GP757g3>;WM-5W5oMh>rq?jVBzg+%5fkqDV+wXY~OrKY7&jEQEU zb0nZfQ3Hl}>VBK(xYa-~PBUcS{tWy(ChrhQl=y$+`2c;-VlPufNn~LjG7oMj1SS0am^WZxSKA0LfxNJ4=oR49~Y6QBd&c=+W& zB*fFC0FLAM6c_@CgCTggooKapa={;zF^|OMLJ*CIA#fqM69_auT*iDdhR378KY%p} zKhX*A+2s4xe_cPZDvcix+0tLeb@dS8LWRM2%0X{??@0|bRdKftM0r4(f4D}Z3=0=~KP=SnP{KC(gX_i*~llw_j9;DhwGCf z@JZm$)%7`CpA>;l0)MWq|690pKfE!3#PE%46#PEGS8MB3_+5gI)Fn`kKwvG@UoGXg zwvn(%ww(>i9^`IF*|8L=6;r4d2#hlc@UEnZG$(dNjs zoOMeGyImI9#i@jwH@L(E#_1UJR?NMFp0-14Xu9EbXSz(1cBbn)MV0fub8n|OUt6(@ SY=qIg31PF`9g9|Piu)I1D9`c$ literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/right.png b/gamedata/assets/gui/button/base/right.png new file mode 100644 index 0000000000000000000000000000000000000000..50cf5dff3d1460ff1cd23c7ce4c0aa7c7ff267c3 GIT binary patch literal 5770 zcmeHLc~}!?8jo8Ai>S0!5wsZMh2Z3v9Ashwas)`1AOhtOD@-PnFp|s3K!Spxf<>v~ zfvgCvrKq(QtcX~PQmt0S1FF`$9!T*P0Y%hBWoH6H*t&LocKe?^Pm=HWy}$SU-s@v# zNoYvmU^{0!8jUts7UUmB{=Q3n2HKF{^($>0XtZ~3&W(sB!eA5Kfa_J52Bi}z29%DP zF%^wwzE~X@v#QbE{@J-nHwFexUikaAwb`acre`wt^*cE0*Gi(09Y1`8Y|}VLZD;4X z+e4YHikg&Vu37Ph9~xIFgTK1)9XL;*YwuWdw&wd}(R_!slLL02J+@uH4XL{emC2uM ze__}$p@{SF+!%aTJD$ioR{V2CN!GpxKUQFOv#!@1^=)jwS>=#5?9q*cvaO$A1`pnC zD*dQs!I@%{BEoOKc$OPqU52$jZkf=3Tv^z%L9af=c~9Sq`eBqitdzR%UG4 zCAlGr_05@3xby_3bO*Q8yOvM=y>9s^_5D4y<@f;qiG^+fE8UYXGIj)oHJ!M$EZ~w< zyS+9bDDFLv5h`d~%O%g+CilRf(~#0(i@7dylCZY+YX$9f)0@Yt&7rB+>~<;rdGYqw z19Crh$n0nsw)E77wL`zUI?FG5(17O~poWYKd6%WFsmp*Vgv*8IlSLOQ3M&EIF9*(> zm*L|D2^N&y+!r9ta}o#KTD@Rq>FWIv1=ats$!jPb>|h&{QQf-y!OR@rs>10K*Uazx z{ov#px;VNnB{R1wD7*MxndwSL{h7e^sY3*x*$?tL;C3LUO!UY(fF-B;hRH@=iB0QVi=J@SX#7i z3(`NhDK>HE&=t@5PYM0yr=L9=Gd9*`{QCQ4Q@p3PPYHZ{=JQ`_zE?rdvLW4*8l=OLzoi`+ z`OiV$)!i13?ets`Yo-FjDw3U*e15-yIj0?|+8$Mu4_CVF1u4H%-%$GPqHpN~=Vu5Z(WI)NC7pk_0~BK6 z{lmNGZHq4gW3fDPjn*zkr(UJVmA7tenbH54H%_!gR{J4>2uWDO^ZvAz%uYFGR!v62s zxx0Ot4KjAz*$^FcV*cp^-nX8N$0s$qXRJi}jZawdq4$$9&+eZ+8WOTg_LG}~xx6X& zy)V-oH%DnZI?nIBJ29ivY1gU37h!|fJ{?zm@$~+{sm%hzoXe;4B=xxMNHeGmPafwj zcP$)n<(FH9r>1rSCn|5WpFMy0_B$&!Y;Ew|_meAoUCF(qT$5=>dwX+1K)Scf7(AnXpo?K$&K(fo#zgkj+okz;C^#h_at zM52TdEf1yp>2Z|KWAd16Kx)R4L57zdU5qPLqA>q}ZVGZHVI&ZQLBwL2OeUs@%hcm) z76*bL78_)NAV4AjV~UP|&4A80mZIq5@JEdZju{9{ucK3(utJ|iNEi%qpWaPQ?jlk% zx!A3Mnp^0NgpwsACp_{zB!C67*+PH~0wBb)mM3@R@*ZiOvD=HJKUrqjz~V63EUmVW zgprUY_v(A4gfW7=30YyNQJ;h(s5BYX5o4{D8Z=2pYn@3(lv=Xbtx>92q)`^l)-r)I zd1#LekyQpBFUK;$-_leN<=^gRSEIf01pHqK%sykfXfl^xrhLQIVfmF zF%8GaN`N)iR#8++k_u6BIH*v;19)tnC%{8M1Q7BR5P#W_&3Pa$C`9=v3a}Ljc^)Ci2Oy-_cdEkw}Z?o&IyWYqHZv=juUH>;lBXL CO@6ij literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/base/up.png b/gamedata/assets/gui/button/base/up.png new file mode 100644 index 0000000000000000000000000000000000000000..5e23727ad34ce3cbbd2a9c1115c8c25ab332a3ed GIT binary patch literal 5880 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 Sn!;{CgrSg!2W}ZLIrU%B37zi% literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/corner_dl.png b/gamedata/assets/gui/button/baseAct/corner_dl.png new file mode 100644 index 0000000000000000000000000000000000000000..1713b3535cccf498ed73182e39d825dec7e1ea61 GIT binary patch literal 6104 zcmeHLc~nzZ8V_2xAO!|R5vgfV#MD_X%Kf>P|<7f_*f?09B+&iogMvGAJI3q$q z%o-($WUl{t_Pni)?n9T{9k%#`v37}#Eu9HilK6#VCSPN!#!bRbZfw7ZfgkS)yu$6e zvEbydNlD+fm8Fzz^!}Q^=^D%5AY{LfvTf4%;nv1cAPsi!vF%d9IDM^8daTz@H#xn{p&SXNswa=MKDl^2uQL zuci%jIXi)F-f~lIW$+s3J!NNhYTD03?znPIsY|gXNaP&1X#>YE+TEPud9K#)qpe4; zxjZe-G1eN?-_}X!v8LdY2I|`OtY@qpwQgay<^A`p6{7BGx=Uo!4BpAhZ(fQlv9_a z=ek5THnaXQ7qjn|cYbYBR&|8BD!UfnLd9yN zu4wo=rW;n^%dqo?VX}W!VrK9cV>U?k^-nq!y*?tk@V0S!@}qim^WChj#2>D@7E7+i zl2$X1Qbyj|Jl^@tkO7A(_W2%XC4QcIrY?@I_#|yG&-d*0A`-fBK&CUCK5K!aXXO>K zSMsst`%)?HNuM?k_+|PS8z}wsnh|M~Po{6W)o`NnYdfe?$KM-%V29Vt9Ji_(zcJ%h z=CR6#VK;9LE!0TPln)CJ6u=jTRy*Zz;&078cI;+Kdg$R(n*#T53~8IWFfR(0dhqn; zps}d6bdEOvcCbrW(|6Ns=PiDif7dGChWG16`<3hY7tV}dlzr*wzIj=loJEHt8~xHb z?oSjp%1hbSTd%GOI(K~J;(m=nr{!P7p-R`d>di%o`@U~noi_Z$>M%FKIyX4_yh-ka zqbAiOpX;d`LLQgRzEipL(eTPF$+Z}FeE zJd^9@{=HN%W$2efIpmbwnwA;oo34(WP*GAx-ji|cV$DJE-P>it!=~0S=gw^B8(-a+ zgbueI_#tOc)WPbu3{~;vvGZ0vS>5&H{d?!{98St%B~}ldxODEarH)uD6zR~qqNB2Y zKrDY_X|(5!Dz_hRFMkn!QM$ywewh)PKIn`?`wC&bL;Hs5wz)1>I)C-KSQQf9n2Tdu zo)-lEHfBrL&I?sDo2updrKxTA?@`-STl7ndzb^@{yAl3PQD9f(uF@%W&7%`a@|VrL zf2Tm&6;ttI$Av0Y_Vd}SWnUheTzBz6Aj32LLjEvb%Xb(5mXZ5#G5gx8>wzOmY8g?3bOd=)rb^xAxT2)e(450PS{Cx4bo~qA^V%s}ui72zn!G#Zv&7=I<0=x# zDp}*>6DslXdD(41kJ*-xCJs0`W%TI<;inI*O?27ESL6jd`udGNLiWqETexDDOAx&) z(alD(HYKMa%Gd%QY-+fI=vxs}hKy2NwtX?EwD`!O%?|U!DCEPX{Bz}l&mXkD_{sX#gopei4#$5R zI`_WKvV3yol1=k9>YrS{FgPDOrdL;dWGw1G)YIwEgyKz~=WeX(*Q|OX)kHTq-kaYV zzqh&ZiB&+@?8nXx4R#}|raz5OF`2mSPn)yimreF^K{ub>amtZIvY)5{-9JJaB!mq* zx=dk^BXqOQ2u=qQNi^APl);M-oFYe58oij>TwF?}XcS`VY!4|@YV<+Wnt*r|36Bq+ z0mml8B~e|f-e$NBc!1e9|MX|AUZ^6 z()`StST@y@Oc9|9r7+CbzlQ>h#8fqo8-)yp$z-CNICKN5Vz2}P0fWhAu-P<#pkZ-( zTxO=}F;{}3o5L5uU{qtoH3mI};FQS?F}RpY1?!X^a#?3Ff_O5_G9!aUXEJoUJ`x!27yDY@8zrzA;1Fhn zA($Zsg%Q74M31}nR%+D7V7+z5Ul`H`y=R;hW&Fe)a(POww z4Ag5~p503|N%!W8@9we7B6|!CwA*cpaf=t`nDuPM@ zsF+-qLdoUwXiNl=(;$QctYHFX4>niMlk?atHj8DUBKAS(6)F)^*>vXXnNY0^R~k^A zm>Q(f$CzI)%+TnNa9l#4UsQIVEpYo zZvww!3In|k!_hd&pE&h9oTxip1Awdnjq9a99Qk|qsJkI)HI`6OD3&H5l)>HM$7HdH z!m8TV!#0JOp7YK8Af<G$pX!QDU;D4t^%|f9?Yd73W1X4 z!GV-)aCr7fjQ`#r5ra7JUZ$UjI1;2%VebSL5l4nlLUe}k7^6|ELD0U5`?8S#4X&4b zPt*7_@!qg*X&-|z4m4FY9%9nJRs9=)-3&n*7|~;fx0&7>(jAsw_X1#Z_Z+xyfa?q6 z)%~TXY>CeH7yk9^`d_F4P`_95PVs#ouJ_@3rwF_g_Pu8B|cW>U6W(M%W bJ^zptmpmX1-f)BhfFy}uuzU`=wZFlg$I;Xocjn*|hB`TVXK+SZ$L8nxy2|AgqC+LJl zrKHg;R~jb8>=@+Z_`I&SvFl*BgEKDmW(!uir_`nS>;%*;#x}>thB)f` zS-}$rr_wL7oR%q;oV{`Xaso4P@TU^fa=dj|ws+&|uWsIYp6X@TT=h#GG;ry9dFj`W z29xJ~dp30csQ6H8cEs+oQK#zp$L~x}{IvS^%F7R>@t%e<>A%MA*JLX~|5aRk?cwP; znde&T*61B`%GbB3gA`*%7Cq=9c}7Ngvh*QBnzY-VKjh1=yE=`n{02X^@XLFTKRRx= z!E||aPX5}%1!=Ah7KdTiyGW|=#3JvN*_W=epH?;xKXnD&ai|(^D4w03z0+jpNc*IIqw`jFAvX7KrU6$BA?`^59G=6-3k$-hB*5#3X{Ce%68L_N0=WZTY z=w9l*$d<_%?rJ-Xe(KrWCYS6&{<9Bbo4nH82YLOs(yqojScJtT}wQbu|kLg<@A}e+wX<^M!@uhD! zteA4=>Y6*jwF639E*M#<-ThUMUB>j|oIAdLsK0zoN>7goi0T)^j@>b{l?^AaX2-0r z@L+wD@8{*6t-^>yzqB*M0eY_tUNoLyyd| zt;eq&OSx89=21AdF5_WYZB^6JhWbs5^0Mizh3hV^|Mhg!AAw}vZv!5$xy|R6`MOly z3W%QOxYwm>jBhH>&@d>vrdJ6+*C}vM(ZDNX_rWcb$-G~0wK8wq+Awb#U8~J|RC=~` z;N8nVMJIiK{#5U@jJ(2)g*EvN9?fN!tG8|5?O4|>E@|80twD?TeG&Q9g6QqP-VVsW zer|49`Ra{c`M1aW<^56<>)9`MGP19SCof#PLLKkq{>#qBy(=WQ^XXwp?N=lk(G@CS4KtQ-GAmC+h0UafO zc8)ao@aTR=rbQmvo-x1wRw2GQ)GaWm-!A*0&Cb(5pV&Wy**bqnPgzFh`s&I0Camc9 z>Kj`NQVZy|bLI*~VxJ#_(_egI4=JR=d&f#Y%`P?14Tm@t(>;42ReaZ?%`3-k&*;DX zwqKv8F8;yF6>M+WjN*RN9yQ&6z&x~b^4HIdEnE6#+KkGvtmwN@Ugjs+tMbf$l%6_* zRZw16jt!Z*^l?so#xY&Kk?A1eCJu3JF85QgFP4vU-C6dXOPI^T3Gz*|ylxhqOwQan zam3E2(kBid^qoztsz(;O9A>Pb`=!n2*bhB4CT-%H-VSzGvUfK*mCQ+xwJ))cuZu-S@1n zc6P5A|1c%fZ00|D*tja?Ghe^{hTIe1l)KSrF2hxz*GJ1k#F$RQL~)&hU|KYKa2C*L z5?_lR#gYh;t{@UrS}CKkbU%Zx!ljH!JUJ}a2M~#>;1mN9nGza>r6ge@oZ&mlUSbgg z0u4c;bc;rYd5J$x7 zC=XWU@>kMYW4jlDKUo%3&tfxSmPXS_!bk?qe68<|62>TS)n91Q-S8z-`1~8%^*;E=dfne#i3DyNFEMl-3 z;8>KZ4Zv)j2YV3*7zmWq8KQJLwUj~GN~b8TB}JFC7mGMVhgk)!U;?M=t-a#>(FB%t zC}F(~{3oW!M4egtzwx|=zGCq+kY=4BDa;V2m`-5i+j-sue#I04dYzFpB+LF{Q~!aJ zw54k>kkuKIJLr!jX0(mk8j@ONbrqd%Z31ExYjeL5ok`%<5CA{6En$hMHh}=$w!PF| z&a2*##sZM30-S?G0+@q<+yiMW5+Q6zA%vBDj#2>X1MSRi)G0|bY9Ra)Kn{R7gVM6b znLgB-eLkJh=0pPI$Z(h~hG9lqc-zDM&+G?76kHxh2}8ID0hNsll#q}Q^IFExt2oLlckpM#>Ho{flB8)E(@p*suek3gFz2NOqHn+`z`v$nauwLC?+RK*eZ2#b2dpr0CH2~`OO5Vx8 z@7?v@UGL<9cLKl9uJ`VGCl9<6_5k%@Hb$!gNP zUVQ*)fGp52%Kbcs$HzbZ?aY}2bDdzevrYF64F6HMnu@@cih#-#W=H;eDIu0L18j-QK-4OLRn zZ>obDpXB8qz?$>^S%g;Z&3;tuD5@JV^+VpY>el8HRb{Fw;d`uz!P_r1XI`+oedC9N z-_9PoZ&{Fc+u(N}9_|YEzc90;Eqz=IkzVPeC+gLmImkG}exC=mb1pa^Tib%;2il6e z_+_0}#{KM0Up%SprzJ<1=E!diFhBAr=g({^(o?cLwH;soV`-6DU~uD&3;cqpt*(hI z-+uBP+d2oW`OIa@fc*nLv$t8Hg)7gw)K601aX(<3qnI|s_k(x*(l*`A4?J}_Y(&hS zOWu#FHkkKBRbIaB%E&N99*J@;>#Tp`?wt79CSK52Th14@Cgv?;2Fe>|F~s}%W~<&gnF>O_8XQX>we-$@9eayA{*T!63=5wZ)6Utwg zIFhk`$wc=;%QV#0e&nU1+$p@T1VaGWK-Kehe}snx2(iNN9rf7S}M+`*-e{kxnJ;|=gE0P zI2ln+&PkyOzD{xDS9jPva4s3hjmvcmobQx3-_O4CEd$7v?ylu)Twg@@e(#~zBb*n<%euXh>vf+ znjkW%L_;mL49PDSPnO#F4+=WGC}g5%rt5;n#?5C-r-T(MA-}ZG&!~Rn^Rclsr&oXDtpm2&;V4uN+!i-1uS9?2{Lw5^uGm-?^b<92@$b5v{v&D)-9P z?Z0iwt1fsddR*egyGd`jKFYSl=eBfkCY*HVe5EP2?6Z^wTcWi`{06z|;iBYilUuPz z72k;BZqYWanT(ek*F{~tcysy5Ez0$=d5X67@JebL(fNs+ zAZ@zsgRjS2t2yqLTeS47esH|{la?dms)IkSiK-4qp<#AW-sdt^?~PmTx$I!d*Z%f5 z6Mvn~cM}iG`7-Obnw_(97MeOvujv?(y=TrX`;krgKMb4UU!NCK)V1Ei_uf4tK)_fu zyntalKSI8y&L%Bqd{ca5!%41pc}bD&?Ht<2hn`GP51BrDSUOtm(3UJ%8M51@V}XcL zvNw53a#3^5!IbyfP8JRCJl43^|58%f(=Df;l~yFj?Xyhoif^ngy&X`no)pTSwV!yp z_H;vh>yFWvvR!^0QgHdF#-J@kdzGxKb5&Px+2>a@t-5GC*|nfJ3N~yzI-r?Cv6+vD zghWe2LY|KrFksfsSs@8OGT!T0a_q4kOLD!p2^8g#ZlPgbyQyL2P9H5u@Qz?~<@yei zF3I1}G+loW-PzjouWeiNw$ki#<_d%&|9#<$pM5}uigmHUsv2(Qmb2QWH^dBslG1lM}y_;vqvYp?ApKCIm&rq zylhkU$g4X~WajTm7`yAS8x!suAp0)LE z^Fy2Pn5p-NH#IrAH%xhym2WcfJ09IF&iXhg*xOK8_r*~+3dLy#4n}{XEJB3pGz>(c zlVc3CMh~tA3Pl`b)+1;dM$qJ#3fD^LcdM%DG+ZH}Pvyy2GJOb^iic+zu-L4~I5aB_ z6)NaKfmE?s1PC-3fzZqvwbm#yOXyZ!5%^AunRJ>JLZnIPiLz)~h|Yk~xC}0X1%;XM z4458BrHKs+r6?wJVh;saN$9Brp%*ckCXk24dM2B}Vrn!mX&8yHj2HG^sbP!*H!w2>GwRX} zC>EB1X$hacM)m4+V_%!;MvN3${Z=cKOyHE&a$lWEQdxAb4jD!juF+dHNOWJM0`0}= z(+z4XMu9RhHKqZM7y&c;B|L#EUnJ4#a0Hm^<$nqNJYH5`tZ@~E>dI|8E?8joWx>wx;NsU`WMWb1VfCxdm!*4_~FoiV*AdcNz zXey#rVPM+!wAyny{)#ddB3ur}g82{+MNo*V#MlsmabO7JfgK?l03_WN(aUbsDG3u| zz=Bnv20)%cYgzM58)dCN|CfC+rDC8)#<18T7K`4U-kx;-HRn-apmXE_2pG2<1;mx3 zC?w<{a)__w@L)vAV)M{|mp%O7&m(4%7sT^)iOCTvlZpB!R7{Rok(BJD*mS*KjbnzF z6aBpK{{ya%eovGAnR;JXw|0n5p9zLgDiLMUzSjIJfZYrcIErbFy4Shh7t$S;KKCf_ zxmyPAXK>v!d++<6GAAd&U-;A0K7XMFK>gOp8^!l+xZZ~AjUwlVB6q!Q iMT@7WXSvpQfPoVK$ad(wf(%=Lqe#OdL%*DmlKVUNq@6_o literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/corner_ur.png b/gamedata/assets/gui/button/baseAct/corner_ur.png new file mode 100644 index 0000000000000000000000000000000000000000..966214a57951478e2e5ccc20628bf3b96f901b0c GIT binary patch literal 5906 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/down.png b/gamedata/assets/gui/button/baseAct/down.png new file mode 100644 index 0000000000000000000000000000000000000000..44b6b3524989fcb8ee19266c0a445cc66c2cd07e GIT binary patch literal 6082 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/left.png b/gamedata/assets/gui/button/baseAct/left.png new file mode 100644 index 0000000000000000000000000000000000000000..ba149782247c6a301efbd373d0b414ef15edaae5 GIT binary patch literal 6064 zcmeHLX;f3!7LH1pQBlhvC^1?F^(MKQ6A6Qiu|#M(USBm3Rsb#*7FKYeTZ6o_zRo*B&c9?tlR?Fh7izVVMU+)o-s-~^n?0j1JN7vPw zz>>=qiMhYHNo-v{|Cl;A+~-Qy*dp)y^5Y43F_Fxz9I#w;{_ODDs_##&4%pv$$a`DW z)3OWAG2yidUbl}uxN~XtrjXT&h;jY5Es$Tm$;Ib@A&@ z1r4cis+}&gxt1|$>EcLNcj46m)oU)#gpcZl2lsun!7nqjxU56u711(gP)!xJw5!?I z^P$sz*9p%y%vy~<_5RA3w>dC;%+$QA%!1>GFL!cmJU*Xw^2@U6b(mk#iY3@qc7lU% z_KAoDg~<1Ue8#9exiT#L!-g?ZZNr&QwnycCS0BIE_Cnj~>`g}wM$NEt%_?v_*XX-k zP%s7`GHS8?e%tE#-UmdE%CKyJufWC;2I&zP!P|_3$6gd{?SuX4^-@pu(@$kGmZ^>j^tQ=LE;Ht&ZFiDfX}Ej%+a{O8hwcpAlhX7}=g6b&mt$*fl5>8Zap_$3g4*HGCF78f ztT&F_cWPhy++cJDel9-*Z%so$4-S)P9#g zLR7J0N!iN1@elMfsi$z`bDC=gt!&<(pt1(cD9x2_3C%PpCf>P0#PtKi=z}(=TA1ag+N_@v&h4ZuO?%p~ujkII9k@Gs?)h87*$;~ee0Vv2az{84ub z&!*)R#g8v~E_~)Nz`95ofa~Wk5Ie2LX!`}CY@TKv2!yN3ctog2W(2<2%GwqMq zC*GbGWH(&)%b=GwCrXPCZWuaSLbgA2f_JXc_I#m3-PqNS7Chh;4?X#Z#i&M= z7F2l>$v@DjMbKo7AWJa?t`<^SN>5P8xJ*cy$`;eb+7K)Wk4)ELvFVfJ(DY=KFQWto z*!vp=fIx*22-&Dos`Ub+kYeT)fVOFvMj@LaM6!@FO&miG(daNTi^`(Xp)ez!%Af?; zll^rvxj+&c-a`R;LP`=rXazKy!C;^om{g5UL4)~xK8?9Q_ffymRezb|A zn(Oc?F(PO3|v)xLWoCb_CYqpe$5Q$@YWlU~V;3}f4xC{)?=FalOaG|FMl8OD}R}7G5b{zszFmsN=2bUipgGq zOoQSwfw?KgKw3%+j<9QA3WeL_128}K`S{E&ygQ3LRdENx>Ws-nerzdo2qQ6+w zzu^44!!;7fYIJE9`eU)V-M#LDq{PjxB9qNUK!Bj#?$;x!J%I-N*gb_NA!-E%s%=lI zy&A{g5XO82<+Axq2E>G!2*hG=V2ICS(jggN%41167)K6E%^TdyuGh#31ERx%6(9z{ zK7-UU?=#ug9DRO$(S{@p#K<^0ETGdV-P_x<-G9$|*cc|`gA9fc1Opj_@}!WI&H*c9 z^1ukfLwKC-*#AFSkBrObVkjG|hsEMREH*eucnpjKp;88hFqkky3S)ge{@?G9Kh1RD zy$U~n(~%$+3oHZF-*jXMM5f9Ro1)b!aZJ}Ya9<_zzrk6^_Y{r461RkPONVH*X`rYk z5zz+qTh+e-*v$}yqnKK+d7J5$kZ!kF+zWus-DBXs0j@8!-up{W+JX@KJ3l?;;O|sH zCcjtmPX2xGuJ`VGCl9<6_F8kMSKrl79h#SEBja7H^so>p+ zwe;hNQ1e?7(zB4#MWAJ;jr>$kB2h=1zWt0l0#m`D4IvVT+1z%p8|>kwKXvb0Fyu~z zO(Q}yD$_$Psps*DY`}>mvguiC>XL!30OTPG4UTiWh$@qkp4Kk5VX;_rIy|^v_=hl1 XZDr-$zPctGz(}I7$)Vp&Ow9Nvb)(CN literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/middle.png b/gamedata/assets/gui/button/baseAct/middle.png new file mode 100644 index 0000000000000000000000000000000000000000..27eb98ae1222a68b12f40ddb8b82093171aab228 GIT binary patch literal 6286 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/button/baseAct/right.png b/gamedata/assets/gui/button/baseAct/right.png new file mode 100644 index 0000000000000000000000000000000000000000..8e918366a34266d5e06fc761fd0134384b9a17bd GIT binary patch literal 6047 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 L67*F-Qr5o#6S>v% literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/slider/base/circle.png b/gamedata/assets/gui/slider/base/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca48262ea63c9abb15948a0dc11f8dc6a12e263 GIT binary patch literal 9814 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/slider/base/left.png b/gamedata/assets/gui/slider/base/left.png new file mode 100644 index 0000000000000000000000000000000000000000..605384a05d3536f3e7262151da5abb6ebe80492e GIT binary patch literal 795 zcmV+$1LXXPP)EX>4Tx04R}tkv&MmKpe$iTcsi`4i*$~$WWauh)U_GRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRVO2K4+PavLUx?vG-5XUzy zo%23%gq0e3JS*_Mt`=0!Tp@O!u%ypWhNMR965FtQD9TikzAx5i4iir&ECq4Wlj$b5~Os)zT zITlcZ3d!+<|H1EW&EoWwn-od{y)U-?F$M&8fmXw|zmILZbpiyQfh(=!uQh?hC+Urj z7Ciz6wteSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{008qzL_t(2&!y8bj)Wi>1>gq?Mo7Q{8_(mh4K|#>b6A;Z zp%J#2z>d4aI+-=GG4IREFFyo-KjGC!au*)Q5kd$s#y}~3iBi}(ho)&Dr9@R#D2f7v zkjMKISZiU7fl>-Why*C5AmkA*pKGkO=(-MCYt(fO&Upd=exU#W#u#X=A*IZMOOtaB zN~zRPmgV;hyL%Hw;9mj$5JmI}Z2mv94d(`(m z)^$xd!W^b?E0$%!wr$w={T7nvbDE|JZQH(mP6R-h=NX)H0D$*C3qRVue{cE6_vx*h Z`vu%{WRSIPr~&{0002ovPDHLkV1l)ePOks} literal 0 HcmV?d00001 diff --git a/gamedata/assets/gui/slider/base/middle.png b/gamedata/assets/gui/slider/base/middle.png new file mode 100644 index 0000000000000000000000000000000000000000..995c18fc95ec91d4de78731197d7e177db5a5052 GIT binary patch literal 612 zcmV-q0-ODbP)EX>4Tx04R}tkv&MmKpe$iTcsi`4i*$~$WWauh)U_GRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRVO2K4+PavLUx?vG-5XUzy zo%23%gq0e3JS*_Mt`=0!Tp@O!u%ypWhNMR965FtQD9TikzAx5i4iir&ECq4Wlj$b5~Os)zT zITlcZ3d!+<|H1EW&EoWwn-od{y)U-?F$M&8fmXw|zmILZbpiyQfh(=!uQh?hC+Urj z7Ciz6wteSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{002BmL_t&t*L}pX4FE9+1i|I{Z;mENNG&-q;=Y5QU;wPl ygzh%?UNbY6Boq+{_{lcfUG&~V=Nwd30QdvL$R4CEZNAR{0000EX>4Tx04R}tkv&MmKpe$iTcsi`4i*$~$WWauh)U_GRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRVO2K4+PavLUx?vG-5XUzy zo%23%gq0e3JS*_Mt`=0!Tp@O!u%ypWhNMR965FtQD9TikzAx5i4iir&ECq4Wlj$b5~Os)zT zITlcZ3d!+<|H1EW&EoWwn-od{y)U-?F$M&8fmXw|zmILZbpiyQfh(=!uQh?hC+Urj z7Ciz6wteSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00AgTL_t(2&z+M&j>0euMPJgi5+L;`oPbRc$7aa^xCCt4 z1x2J)6B^HAlngKhhOuO25x>~+w-q2vo8sBUe!mxh5CYzNx~`+Ds+X{;>smwv5n&uh zhGD>3%jtAtwOUQWs_%ON5D`KM3GBL#^Z88EG_2R_J5XJ(*965f$8p3tN8k6fZOid^ zjGzKATI-ZwM9^B_Ie>F6g#bz`rHHPzPNy-3q9~ZnW|U>gZnsO1n_rz#Kh4UrjG`!* z&*zk7nX>6g9d5E`Sw^1cEEWs4+bsZ^7j|2Agx^9@zt~al{c|V=N5Q@KSZmpAHq+1} z;G9cBr>a8;atk~PY^|lPYnIDpf=md3cN5Vx&D|K8__;sM-nY1y%Y{#;+#C)EKHjJQ aZ0;9-#R0(79J28M0000;(?V+_JvMlW zNKbdoUp`ruxOC+QR5~a(d@tA<_fAgd74AgOp{Kiyzh9hoeW-~K zajCYnpxtG|uS`cY!ks-VjHtal(6G=cP(He_a`B%#%187Y7miwT>2o@doLDkpGlyQU z+%JG%>=K(O&7{Kv&&W+>qYHnWXz#r6$v{d+Bb)^=rJD-IxZP!>MvRHPn!zW) zphMf>u}oHHVh)Ln+&l!oNp2*oWSG|Gz9HQ+T^W!C4x0Jh^|$dn%cQ?xDP7a@cDW5G z=}O#*UXtiVetajdSPEeUdUIQBiaz^zx6T2oJUd++M-7zrnYS*02GnoiGT~(9%ia0~ z5=xi$8IJ_OTbByIxz1pP$n_s+$~!DF<98h-kAlK0wtbzDKFjcdV!v#uY<}yl7_h}~ zZeXJT+N`4~h<}DMJiUFK!^wD`PPQ?d6pds(DL)fynjRWBl+u6|N*LLct4nWv+A)#$ zHF5kE7EN(+LaEn>S*RRgTR3+sXJ>|^mHY~*2AS28SRGn?Zo}Q3LAN2TEe~(>y{P^* zJ)E)^Lq8K9#uZFhr8{DD?8O&$ztPK(Zuim5#by;L+_S_%;HNAGH!aBQ^k+%7uPQuray5io4*but~NxwUI3gMfLB1>eX z0G^cGc#9pjbyMmYiatvjACG_j8TlqGf<{eEX=Ew|UWM;_KFU81pnA80fJc=Lcs@CTnDC#+`u<)=L z({W|hsKndczWOM^oAi8;4O_4Z1 zMj+~nyvQePR&M(gw&Q-L+!9mNmf%s~KFd*d3djlLTBP3xlIy8mN$ws6cZ3b-+Nti+ z;uB#jzuW7+ba5HgUbLTCLYrN3)f1%(->y#I5$$EQLZc;jC$dq8nZ^%Q_L-u!&do1) z_v;w3PKZw_l#5juNAtNOTSn2S*BN1YP)B(zx#1w)O{G1tp#{6h43Yeg=v4@{m!b#7 zeq`|}F{u_3iedk9nPF?m@Qw<1)$GBb2_~UZ1fC7(;-AAD%$LVg+-FV~CmZ(~bZles zOuY!RLt?!RyEz1UNR%oCs)$o&XW=WjG|Rd}+fe>f(?L!v{rPYal>-Ux%JEUB?S#rw z?2ITrqQ<>I4Dlp<^vXBaG16EI?YN zzp4($^ja_O${V(QharEt@7IHl-^=0M<1%pHz(Jgu*4kexEJgyR2ILH1l?vzER{84T z?qmJ}UoVcw+L>u4OqtjCj}d<`i44sK>eSOxtE(-Z9tA4O&FV9;@e$fxUR|9s5Skc1 z+f2HOur+Dc67_ko^~JHinR#`QYq_|nxP+uC||mBLgnam zZiZ(ieyXhUEc?wCq{xpyP1x^ViK>723H@!HDca-oPZf`xs` zA9i~q%Idx&Jhb$l6EYXQD4n7D%i#79vd>Pk8XPf?+PBz#DVi_3<5xJMawv;jRajB+IL;`@4RPtS>7ehE9hSqIO<1$^EW>yOYNSUbG>gMH|h8 zeEeJDC8jyjB&@Sl5&$4~**fVBtUYvn?JRj37CGOs(y*#>Fqf-lYe;9>@Dmgvm~gri zP8bJ(gnyHBJ-wg(55%j{zzf9Jz-QxA7vY)2S;CP3+(}_;#lB2$siZ7ZZYFG)rwsM< zf-I=sl(Ogn01+!3`^6LUPJ zum3QlS#n%j0RXPsJN{7lJ>PMH;oe1s~esgWQ5=> zG)3zJ051K^$IYZoDq~W*T37}(VS$`=R(8%dCX5lC^_GD54746N4!|NDjMD)@vN{OVCzv*8q9jomlcTC-8~_WFZy z)UnKm(QIhYdZMR;+-*&jU@I$Rq*g>>qShS0$a1{YKjhj}mK-f7HCj_Nq7BOX5Z_aE TufBD;0v*_QIJ|C8Lhio+=a`@t literal 0 HcmV?d00001 diff --git a/gamedata/assets/icon.png b/gamedata/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..79b5283769d6eccd00b0960e99be33e3f863df9e GIT binary patch literal 909 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�QV&oFc|PfQR5ij5D?ezi%i8m! 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/12.png b/gamedata/assets/particles/beam/12.png new file mode 100644 index 0000000000000000000000000000000000000000..4aae1a57e163af45a9235a61ef4dce869ab7d736 GIT binary patch literal 4126 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/13.png b/gamedata/assets/particles/beam/13.png new file mode 100644 index 0000000000000000000000000000000000000000..e898ff46b40ae2d6cd30d141ff52080619c32ff8 GIT binary patch literal 4337 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 GBL4#cd literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/15.png b/gamedata/assets/particles/beam/15.png new file mode 100644 index 0000000000000000000000000000000000000000..46d3d573779b2b3ad266e7c13ab92397dfa53add GIT binary patch literal 4562 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 EKR2h9a{vGU literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/16.png b/gamedata/assets/particles/beam/16.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d96ba7654078fd396b3318f6fec34c3d89ed1d GIT binary patch literal 4582 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/17.png b/gamedata/assets/particles/beam/17.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f7e90abbf5cd985e8fce4ac8886e5dc01764c5 GIT binary patch literal 4436 zcmbVQXHXMdvks9ODH1|?AqXf42vU?PEg(n&NC!g+2>8-e66w;UcQ7JI4NZDil-{I? zNHYjXNgxsFy@e_lznOdg+_``5oH^&r&e_?S-F?nJI~!xDugwJF1_1y7CInp5_~P#S zyXk2!&PrreHUPlNgV0nr_03u*1ja)a?Y?YpUSmwVEGZ}8B?S%dNWUUQ{gfi%0x_|e zYjR^s_?hSc1KD~W1^8`2{%JB4w6yO7KEx!2T1S($BfzSk_8kNU&YA=o)k z(7RMqe!<9K>SM+TK~>i+1~4KXf7 zVf>^CDf%_{GN~J%#>~x3e^rCwA~3^TU{r%GqiaE`@b3)o?CW|i{A1eBuuFwvtjrIu z+g>ZU`SyRZRKf&Sd6J9n|GdV*M=5fGG<|99-gbT2t=)?J{*@)Nt8wW8XOqh|o!S>& zann%E>nJI%9$!gM69pY;IsUqhYgn=*QlTX@ysNgolU0qT02~^b-?0tSzI_3{a0!)_ zdS)L9_fmV;f`@R6vD=7voxeE}RQ5VY(V6yuZm`Ajj#4aHT&=5V8`$gGT$1-y%UsQ5 zX}a4zZ$Nr9x8+CT2-^84BVrn6;xBcgx^4{&8q1~*d}*|)*X8rtz5$~Wy@gbOM#d4m zLW);1@6%jP-Z0fm1|~@bp7`7X!LzJq5B49t14UdnU4G2>&gLU^$!j-`D!6dh;bG}^|EFRlzV^&|VY6Q!7xYb#+GStn3zo|ujXH&7X1Uv&8!}?Qce;#frr8AwOe;|7}BY=Ma2 zKx3`7B>pWeG@ZFw$VCnPOf8`T4U+T|7E~7%yuf!^_!R3Hq7}(LFM7*3*+>JS48d~Y z+S05lo6h$UM3kw$siN8YYu?A?-vh5Ep0LPmPlY`w>N26x5M(a^3to!=8pX3EwIA*$ z%iPo|%h18nQ!_+m@+QOmve%Nd?c&maU_Bdlk*5lw0gbgrp_`cw$RMlr02;8znE7(BM43_^T>U>_MDz-+Wc1-}}>z}OM8+u55# z>}tY=&)gNu{MrUy?t7+Ag~MN7+c=+@!><)RzjBTr4me3@N!Y+LwwB&l{M5c#|GKW1 zT|Y(Stp~6q&{_3af|!1u+gzUuv^yu1B;vSSH_3=QdF+3@^IHJ0n`n?YFF3^ING(Z_ zn?5sDkBJ5vTjpXE-nwNzSiiR$;taG0MNKc*DNW8cFhY{xB~11lH=#zmJj^lKKrow6 zjX4pY^>dNvKVQ|Yy6Tr3+`W|Z-AI(huj*_2FfB3m&@a@umT4#W6{XJu)Y?(Uy% z?&}s?qssvCmvV2V-|&R&mNT&_npJ@cN!wzQ-zpEo%) zHj5Z5Xc)unKX~dA>wU)!)BYJ7ugqm5?%fuX9;GX@k1pp^Pwz0-ZXB z4l8F{)d%CICl=RheJ5lL;Q>alQwC*DG3Fu<-@T2~Ve8QfOtLQ3cJ*WU)mDGGuwu(s zC*3N!t$YnYz7~taf6)pY!)bC!PKxtW1=z#fVCpwVU)(#%Rd_(lPN>=JD;55ZMjU1x z)&{omAG;-hxx&f)T<{Wqix<K_AF^}f?br~G31{6Dr32yi7P;ggL8fM3#scowCBsP`@FjtFOT`cdd3RzUF+Gp zZK#HQL2&Y0S`m(90gn%}_@O0*j*@IczTKGLn9lcfhcll7?`^2IE3&-&V-T!!#TIg< zmKD2xbfn67_sD!zxagAHnFVh7_o4Nry5?;3R!b23PkWVs^FD_AIseeRMkN;nL*&UJ zwOho~qbN|Tg5ywr*5Z?>F{4qs)g+#bj>&Z8UoVJ^*0jC&OxdjZ`kPQy5q?LP#kL)L z)k6}<^|(pS^ft6vWjK@6ZOr9+yS7jsBkF6>{Y-f)-#*?M-^S))>lG@^ z;Vbxkx4)j30~Z>WQ@_ya`Dj1x#k6105zF}1H(GLn$-*)I%wpBk|fu! zkm{eWPN?3jeHm)yWANVxSGWwZL|QFwS{+e@Jvaz9ah;?%pfU3JEXaJnpva0Zl8C?D z64zwlrQ+>W0u*?WPm>ss#Prqad|Lv?7l_2z`Wq=4O1_l@!JoSXlWMcA{Er5T(@!#k z+<&QU^$lc?a5kjJMqQeVcu49W6RVirsn~S*c$}|xp+DLyN$gv0-TX7R5>Y!#%cbmP zGsLWWgZTP|@=+B?oOQRoLwc2T`4;AQ=6OcFd1?(kRUs;U3{i@YuEgy-`~2(b&x9i9lG`ih%r#Ep=+rET%{gW}!h|lRk}B_*`hg&@0FMM3^G*`ht6Npj^f!h2i!LB}MCbP>@ze_G^dS3f z{W_0F#q45lr}-T5r+%fc=Un-s(4&lOW^cDEigM-mUy7a-J1fkL%cu=zESNvJvgzFIgpc$(|Dyi0g^fs{3Do|*@!_$(T#3QJR1Jsh zk9!xCuGfTAAUa!iG&HKYwtFApuk;b&`w!(Oq&=j*5A6^#0vjf6vPcdmHhYOo=4P1j zc^AdPXcU2)>X1*IwX%W>rmv9g=leN4QrlfPO^JkQuCDgcWjG0WKMqN1oDL>E?)t>@ zMB}kaP1n@Nf`2&yeDy6^qg{1HFI3)@dX0a!U+y$maweyIHsPXzGW(iO+)B9!iIaiF z##LLus&U|O(CN=sH8lAbZctK5@~%+dl%3ZPXqRQqgvvDKn&S1%MasR+_Z>mLtMpk} zSvZGJ%ibpvJ#VUh;hOJOsh@?QtQCEd4C<}K5>>~ur_qj4^Uvo{kVF{dg2o`|r3LYg zxi*8q?Ss3kZLhx~sh*c?@SX z!f2cUWkpDTGt=CZQ9Hr&9Eh@xlCLIrtZ>%Ko2ehFd&Nk*p;Elokd3*Ae+$TRytgF5B!7xX9P zHf#NIvz{{w^KV4%7aFLM_BNg=qD`8I+jMKv^$df2r{Qdjy=Uq?R1@&z;`EXt>|;l=)qeTY}NN=+bjczVK~#Slkc& zC6X zVutc43&U!UB`e};jDA0RB6O4Q>w&W(Dee8ALOq8+kNmyGS4yKe_4s|@-+kaC{Ey}#SZ8*|s8(hP z2aZbU^3(Hw9&_)Gn*YmETU_0uU3K85;#b$KR$Td<#yiDLQ>IuVLWEzM`^@6m4JaV9 z7d0?^OAh> z8>hsKKX*M{U;eti>B$*!-7zCBrN!Q(>7s!-@|68h9{sl+l>0wt4X0}9>6Cx72hANW QrX>J`mcC|{#-q^x0!n0$ivR!s literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/18.png b/gamedata/assets/particles/beam/18.png new file mode 100644 index 0000000000000000000000000000000000000000..c54166e58a745b8b0a38a40809621d49ec594abe GIT binary patch literal 4701 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 Y-@Y{aMgfG5yf&i1Xxu}V-nI$-7uGtpumAu6 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/19.png b/gamedata/assets/particles/beam/19.png new file mode 100644 index 0000000000000000000000000000000000000000..d57266c158e751e49c648c78b5e26f1dff6a34f8 GIT binary patch literal 5164 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/20.png b/gamedata/assets/particles/beam/20.png new file mode 100644 index 0000000000000000000000000000000000000000..4099d362d0f5327ad2f7e3113ce8a7bd0164bc5a GIT binary patch literal 4980 zcma)AcTiK`whj;lL`p)J7D7~-G?5+k7x7Pahw^p=?kv{9W3+Dg;04o}W zxJ4U#{@zSyY0r0eBGE!gREFaw9t{ z9L2?a>%vQk8dk0J8H~55>u}YU;{ht%++i?6u+2 z4($+266BG;$Q%$0zQ{#aL=etGxnI|$N7Qp7)%0SIkti7IJIL~Sf-o3%p;C7G!}=B$ zy8LhZ%y=ZN&H4VvcGRPU%3bHEbN}8|v>w>|Aaf;|>6i2k#$A&BWox7_2KQs>Bd+)z zZZBp+C1OxhP+(kLgqd&-3=^KaxY^KiKP}fjc(TT@q3ydf7OFa|i!AjClX47CVrWT% zHVQsIA&A}Q(l%)K{@_g81mfekVGBZ$#kv19h&s$S7yWGL*_(b~HT|ByFo zs4YZ^J}lTgNMc1>>+*ji3p4H-Rk!A$^uHE%>@*P0tJ2s>+FU(&^Tf~U=xcOFBwBI5t+^|s zRkiwCH=*Fm#{^h1PI7rjj^t{W+F{q3&{LOh2sH+=?2;n8t=P2aWgM@%W3v3i3+8Qy zdhT|1)RR#l?#edM&3J%@%-W5q<_uS4^+PxzuU|Zr>vFSTjks-z%T5Ma_}b~mTABSm zeNr$Km67J{KXIRIuL|f7@N|%30K?KqSc{Jn*@gd&)87zfzGSELR&U1br-VXy^vxWR z6uVW2py+1ZKakF73W3{G+t_cH<xkT+4(;gkLyEz}_%GAAyHPEv1@FbFK_-FvMS z)liP&|7&GKk$D)(9gw#C;*Jz27^cxoK)k!0`HhU4N4ZelGosqLAh<6Ec!e?Px{!`3Oo)bpSUfa| z)4W28mfwM)_E91^2+4or0dtPn<144v-VN*j@T1)DFbu(E)?tv5quD+gxmWS0Ss9SF z*MBnwR_te{@(YcN_lCC`#{vrA9-KZJwQ@%Aj#v$_%tP9eP(F9y8(WLNe_v<}HpI6} zyT1(IKoP`!Ns(C0raV@M8Nr^NYcayI`LrPqA9)gx+`J$bhm>~#wJpIwhoQXy{Z~H_g*_m&Jh-1yz{=+qS;=|oV+)@{! z$F$=;1qR4sC1=%|ttS6a-|dwX8Trrq?J!nsefppiu4K@p1!|l9zVnC2bEAH-8Fg$(jVA+)?meM7BL* zfYC zNAf|kl(Fe07)ot%Y2Y4P*O{i5T^%Q{Q=2O19zpskZTBXkj27CTEsfXW(#fCuMq&yM z3Z;(m5Q(bUvSgu_Pp?F-@<0%#|7@Nn@S7Yw>zmVGbNTTch$g6jVMwFw<+A(7)v2e4 z*om*tommK^!{Sj7i=DJdOyUgj&)21|bdkLSuj?~Klm{{x`mfdAzdQeyg_HS~nlu() zzs;-gy+JD^*x+E2e>Z;psE}84hB6Z+tf;nsIAp@--5qeaK5>#LFxe^Dz-Q=9c@;r~ zMF6Aqk}X+3-OM7Vz1`+zaD6a<4Fu?WlmGZ66ksA@ckWw^2Y%YX3jZU6J*ti3K;fTwj&wxVfU-*cHYWgSxtZ@TU$`11dI!Faw0%ueJ61*O++n3{h5{`{c3o5NnxwHlQI293$Zm`1BUweWGKSN{!)-d z;`-*<@tt|#ld$A{e_UMQzUyqV&F~9Xn;dRO+|^fTyO7H3EUwk7jCX{>tb%WEU`9Fe z+LLiekZQ5q-7hd>gjvTqoVi4;SbCo4^GJ`qf_e5=u*Oh@77G@V zU@8RDAT~|2rapG4ZJIdrZ}u20iLzf9m*GQHgAE)epr51PO)}RGux7(3L~`dyqeV% zn0;)?iXxbx@IQSF6r8T7oY*Ln>+(=N(A$u#7R%Yx7LM7V{#82NdYJz5U$GdgpAa5b zXw@otQn$i~HeoP(EnBj5&>ZAmE10NNQn?7QlPqTnfuj5yS77XZ=lRjlP{1>~6R-+f zqmihuAf4W~;c9j7*WaqgHv?uXKvq_FPB@>KM&;5duZzwvhQ!}y6uoerLzBr|SWk7`({Ad8F-%SKy)P_}=5)xY;;3#M}f!S+4 z`?%}88;lPw-}v+SHe2vA-_5q-7%pv4N48tbbRqfp)9+W^d!Hmye3mh{3H(bDk;Cfp zEk9)|M_z&8!L>&1gf*SiBXy^s#q`dQYf{$buV9?st$~v%%v!`RlI$gouP~?(_B6X{8=C5uv*^yl|7H+EEuK$ zCaEw6-v!{f5nH9dPoTe9e+sDjY6cS*!q?d~egzO$YEM!^D$F*#xSX#) zP4V{hKNf=0tm5*N-R}LLL(q(n?_%)T(d9npyC^=Q9T||tv`}uZ`j<{=ulFOp&&$X%RX@p~ldYG!c zt5&4}LXRf(PucBl7+D@rTP{T08ljZRMajypvjyXRhgCO`(>F!&jZMSwo(Y;Rgz&~qTSvUP=6 z3h^ckW$w&-j+mv5I5%PY=5kBa^WS^Oa?rUZY>pnIS0tCVZa*m0mjux>gX5n+8`NRn zHY-}15t(iB+A8;eBfTo@cHIPDJhu+$^O-uFfP0d0^81ZK2k<6DrEu5CvEIsb?d3hH z?x1XJI2JRsVZ-YbG`g9|w*UTmscCbGaeV{{(|OUaWK34B;L~1<{QGI!RhG|`dFuMO z8C=w+qbfzGTDW6m@=J!6mg1hI0v0mo)-&W9BU4o@z5~4HQG0Ia)b#v5dHNI z8C9xcHFa)kA081_+KGt+#=a=O>wCEp2(UAFH)DH#_L-U7qx7}cn1fuVTWXBNgBTv8 zEI2Xyg^IUcfULZufQZ-RuClqYID*65rppI2+ANx#8V(cZx6X>ql___CVzowF&RC6#a?MByT}^$-mm%LrL7|kMkf4lH{|5u-WG*QA zm+VdnnGzNBA}t3EQU&E{74GJPm8Ni03{6XnDEw4z8vR^V@R7KxnmkiO`Q>#i)a2K; zuVU3_bg+{{wK>#13Ox_-WYw6ebQ(z1fCp_p+>&|}U5COCV|Lpj1uU*K<)56L(1_7! zFV=IZ9%NWo!|-Vwb*00Jx(I3NVbcZ{gzRD?E0G5>x73At1TpWSvIb>^g*?98m53WK zlz(xs=wDSMA2{SDUp7(ogfb$)8|&#(+jFPxw0hsgB0Ky(p&*6zo`QYpOufAv(#@Ik zB2;_cj@w_MgA z(ha|M5|uUh&&#@(=u+edT@)0o6ACkYBN$X;iwqn{wA^^=OumqpK6*kbx=HO2ulj0v z%X<@UNbR<)eUxBsdPm;^i^3~x*?j3@c-hZWK-Vt93=jWxbk&-ATIXa%D+&#CLz5W2 zSvXtxQYI*}r`9Jzjr|c43 W+4~7z-8r;w8UT$nLX_z|2>lnHgIhWP literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/21.png b/gamedata/assets/particles/beam/21.png new file mode 100644 index 0000000000000000000000000000000000000000..684996aa86e49a247b5e2936cf69342120ea2273 GIT binary patch literal 4666 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 A$p8QV literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/23.png b/gamedata/assets/particles/beam/23.png new file mode 100644 index 0000000000000000000000000000000000000000..d56183ffb1104a348889ce96b2721a01bfab6f75 GIT binary patch literal 3913 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/24.png b/gamedata/assets/particles/beam/24.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c663f1ff0903f16a3e085c51d93925b349bcce GIT binary patch literal 3304 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/25.png b/gamedata/assets/particles/beam/25.png new file mode 100644 index 0000000000000000000000000000000000000000..d83fda7857c621e733b6a9764c65d3af00ec5000 GIT binary patch literal 3068 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 HUgW<3S}Lo| literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/26.png b/gamedata/assets/particles/beam/26.png new file mode 100644 index 0000000000000000000000000000000000000000..f156a517ae06d4cff1f73a6deca8d662317b8a36 GIT binary patch literal 2413 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 Hy%PTd`xXrw literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/29.png b/gamedata/assets/particles/beam/29.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4bdc05af9ec5fdbe89d3e5d3f2c290fbe12b58 GIT binary patch literal 895 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>f!WQ|#WAE}&f7a1^KLmXG(24V zYQn;^_uL=;ZMXCKmbP-&g@qH8xaxTg)j02~ryl4!qWP)*+fnuPX0y*S^!+Y*&3GVM zO@M=`QGrO}!_RBX32)-KHdy_z;p;1AX4=_1onv49U&~_>$$$TBxcPt2X6t>b(^}W= zxtbE_t~?{_?;nFU4>8pVPjmEmljnO(OP%=dT#mBwYF!tF(=(pF+NeC~DaVsvX}!&< zoGeWa3LG%v-1g4-$ziwKtM@p6OY;4mKKsOWdG-3lzh5eLeEgvGt!cCW>r*+VGt+_- zWuokD`#!$sv_AiNg8u$tdD*2Hu_a> zS6?2z_9w(?Pnb7(%67G4+2uJgrjqUdZ?|J_BU%b$nJmv=)P2vs-NAeAite1X`^%Yj_K5r3=d9kS rr`%!vaDRjV3zMV5C_&FKsAFc^F_THd$+QBPu^2pE{an^LB{Ts5Y7Yl8 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/3.png b/gamedata/assets/particles/beam/3.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8ba4fc8fbca3a2c5b9a6834b051cf33e467a44 GIT binary patch literal 2194 zcmeH}**DvZ7ROana4~3rAqH}t zw$aM1t=+V1GC21dtZj(e_+9U>?|m3kmiq?G#{uDNe}hi_*ADJ1wa5jubnCWgyZn%E;2t%X<>2H*NgLJjJg?!N1?nz)CXLmFCm^b6 ze(Lltad?Mjn<-NV1SF^VH(E7ku@?r!^3XM-m@Tm*h`gIiJ?#P`Br7Nv_g3_BT5mH{ z(C0eYD!v_mW>2oOSIq6Ch-}V^;Ns4nN`5252Kug2++{@IsA&l|b4`Kwmq5;#g%h^MG*WH4Uh^32k zc`r`5CD)2q@X^NZFM-^#0=q@*Am~Q($DsiF=t%N*gHQ&;62&J;d8XeBF5$_xVFZgflmyzL0zkN0L7d0-S7%vu9x#Xv2&~_@8^`8AgF?uQP4*6s3P7 zYB+N1Y{cR|5HTB9{2^R$elAI$VRQ}ZWpszpx(q;%QKAarB^glNBs~y zs_cSnf!%a^z7%$EXeSg9naY;<{`BhF+0aYqfWGq{?0Is(exuYQcKcSwolsrk{J?I5 zxsxj8($Yz|De+GD->85zfsaDMs(k}Re#Z@p&^y82&YcS8qc_65V<4tY+?$Kzdv`6rad!4kmFxP0qwvOkwr*`0AdJXQ1_Y} zaLnn|Cs>ThS&}tE4a8KS9}K`vAA2U#HQYZJ0c5srkupVo44$}uYGvN@8!&gQ;SR#9;g-G4+Q4cMWpt(R-0mf47e{`~4YUYw z*CQ0Fuf(5I2V!#IvuU>zj|ndV(}%oW&QddX(+dwz!h+@9ToGDF(KE}I9bLl8*DgQv zwTQiQWv2cSw~dGi^;VE9up5IVK0ODe;UWUqU&_9aP->02hi)_->NnO*Fe;ELC1OYEwBvRERerK{=4i;bK zD{1h34+sJGzSz7naIeXqlF-#rQE3>Ag^^aG=e*fdbh*Xy72D~QlnK~q>tv;br70fO zDIGbN_kMk^Rv#R_>{LR5pvBYiY>%(XEdy`(@s`X6CGFh1*>^#Uva@#aV9?M1twRY) X3C`*{vLoT>*AT)OTNsrY+>QD-or{>& literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/30.png b/gamedata/assets/particles/beam/30.png new file mode 100644 index 0000000000000000000000000000000000000000..372164af8cebc466bd24caa8f42f18bec0480355 GIT binary patch literal 787 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>f$5f~i(^Q|oVRy2<~?!{ak!{> zOUc(x*6V6N47rT-6K1slwD*cN$A;_>&>^Z)OwsI9hhEA9>OV-|g`!u~&N)2$-Cp5XQQ z=abJwZ%AjZwSRWzv7Juin$22$i#;dSSRH<1AwQ}6%lX`{ukr}@{r{^;`$bT-L1ItXyE0ErW+?e%#F?uveQ{-!+P{o6d{ zznUzU_U&=V-`Z_m{l;5C_{|=VaCfb~zm;OybG!XN&YQKvD{gU z_Q5^Zol1>4;r26He;uw!%(51=5fFbVz{2FHFiH%bF!;wbFE>f_{G1qbU}9(RboFyt I=akR{04!|A{{R30 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/4.png b/gamedata/assets/particles/beam/4.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2218f52a45800ab739964306a2f3d46ce1fe26 GIT binary patch literal 2301 zcmeH}`#;nP7srJdw=_g4x0sb{sTLENA?BtKu`Z#sb~S~PDIzRIjb@k`cSGd+E#y|1 z-A1Aqxoqx=CSw*O)3`HC?mN%V&mZvo^1NQ3bIvd4hx0z?b4%f0GS zGKX)55c#tRe6b_ z6Oy|W|F8db2T1hbnBCus-kr|6{?)h03<8EHz-+gAO)LsuhH`%mJnfV0ZgPJ7quo)+ zh^$_xqCV3&w!Wc#a2HoUfzv#(5J9#Mno?Q7hE|z)BLG4v;4xSZ>~t8QBfqy^jRtN@9RcvIuZS8w)4p}Oi}Icd58z@5G95~MtWUVgkzdh)`&f{i zaA)MC%7$I_QZt~~6Mbq7GOLe-)?a&HX!!uCf=V97xf&d?u)OtiIhAUV3_pR^?U0rd zZR;&3!AQ~?dX!V84R>4leKLNJGpXZIvu;J#1DAkbaw>e`_nVDGWE{Y&?!~S-O zlY+bD_z_C2v@zi!0?FnoR7Y6Y3q{_Da#O%E6WDkN6!s|2pR3D%Jy0E*{RljYrl_-k zQVUzW=_kKYVe{bTm4TSZ&_eZdb(>2l+9$$_t@(l|*lH4`sT3%UcUf3i+AlzsR|LQo zp)f==tL3J3q!JqGrGTbY1?2X|Y{cCb2&a+$zdUi&Rnn#KR9d08s1Fi;R>c@<<3{+~ zf#jKvo_s`|gC4DZm{l+1F&6IGNv_{ACZ=A5_Km?{BgiSvnV$8UbYah+dR&1Xg1Zs1vD@P@kl9skp4w^NN%uIs zYNMh{5hQjV^UL9W0lv=NbzC31biv0iPhSim;|AUbycxS`b+;zYO0`bh;I(LR=CbL^ zu+ucpW2wJmsBc^q?;ySE6;XOA9(%F3>0V*?aN@j=a0EMYRl&KZ?(@@Or!JWq5v$1Y zK$*A_%d;tx%wM;%_z69YwJ*vve%FA62it2Y$quh~pe>+)>s02_Ci?OC`~~@iz{>4fmYK z)ou=X)Fq++C9R^k{vo zQEEZ-a@j`lS+oF^I0MDfUqfM}i2?5BoH4E(Ex*QJ5=H}Z0QOG^=xiPKmLU+D@4>B4 zcttBaS;LI1+}lkemlH26_JJodMj7R`e!o4kV?PIiztu%)dUgl%T;{ik&3(L0sx8gw z>E@L83cdOON_-2xFh$!sWc2>f0<&{F!nAm1bMsf^N&`4m{&7OpIL$ycyW8=&zx8T1 z9>8Tiq~0Lp<9b{O($_l#M+gJO7YQ-(gw z*?|{D#K-yQY|eh-%b7J2BQ9Fp=B{CM8i2m1S^|I7*d4WS@PS=Tc$BDxi!jY>Tv}fG z0{HgUI;Lm$lrTxhTP>NeMziAznysB^0?X)t$<|Kybnd!o=Vetx@3l&Qsrkm&IAe|+ zF~dAD$Z(UOqs4}Ds5yPx_Nnli_Yhjaf;QPMZ@pjkPSKP)nli&P-Zn@*^#}^azMj6Z n=ZZ95XFTUVMB4nnwXHn#iTz3uam7pg)=1z`E{;`aE+_sAT)WG> literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/5.png b/gamedata/assets/particles/beam/5.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba0edbd6850c972dadd61f5f102bfad6f0cd4e9 GIT binary patch literal 2389 zcmeHJS5%V?7Q}!Ok!nPc8b}Zj0SnE56bXTkC`jmwND&)?5%`sa9t(sZq@bcGAb$dg znt&}RAT?BJMl{lk6hn*o=|!@*&-=Vj`*80)_sql0nKKWQdfLTNMoL9WOiWA$a6)3X zZu6f3@7UT*A6BlI*iJP7Y3G4^GCPnM)*Y?hB;?gf?P=HRacW6wdD!l?NS2XzzYEXS zQ_0dp6MgqU-Y~uq{YYVMqDCE*{SOHOs{2y#>w^lfiEQ5sZ>~}^YDfOcJZ5r*FDD7{ zd+1+Qx3bo>7`yxtD;QkFX$xx+b-=3I4|WOOY(qjL3MpL0r9U%8M19?nqrFaxVjnF zOdeRX0LpYo=UD8Z3&+k1F-T}e+t&_fIA5DG-M4t?=0F#if#6vdDUIkVpr{MK%&<#a zWb?&CjWHPaAKJRA;;Mv@Pid;j*x=A?rwOqXpB_LhW$Qt3BP$0UYk-Q4%-_%p^5-n# z++cPHFh?P)WE4qL2fZpdOk$YDAZtfF%fSrxcPaySY44RB4%K=h*uh&^-rThk@>O@^ zmumpcBL=<9we)^&R1pT)zf2bneU{=lDa*<`SvBl?=cT+zRB5eE)<|EtfxbPmC&foN z29NE2mSx%sjs25SxQ2k*?rISLFx_s~znJ+?WF7Yx78-1JPjl$YMWxq?q!yAsX?Iff zNm^=(uExgz9;-1yWy%(+pK6If=Hyr|HPsM5!~AiFHKV_rmIMKITzg#u+Ur9gqr6x< zbhZFz^;t?mmC#*0I8SKQ5GM}DNeOLGAtMly7eQI+j}c?-wbi#$#DGrVBaCU6K$cBUfor| zlRUtRT4~l2d5;p4qA0jv&0xyIP*{>)OrDx-gI%mW~sk(p+rdzjSSYN;It)o zn`gwVP;ZOx<3IX1gSHtc$S+!2Gf$=O=&;+AyHl?md({^EWCJf;nqtnbHM8a({7uFvlxAb$XuKC(+f8{A4PG3$Hex(DR5I}-{02*R!DHZ zKage#322KN?e*k$+USQLbz|JhT$r)~LVy2L^7icqhZojgyyBh)J?gfKdc*Y;yp($d z=ePOe!v(Wv2X)dr`yKY^Ln*C@IsAL?7;G)!PTF9=Qq7d{-d3O0otN`p?P`p#U~9N$ z8JQSmnNWL3STPBVe+olTFz1b+9@+6wO~g2EMIOzYX*XUwh~v`s!*@w)tF_ zq2>YqX9?>s=3rW~Wne~mxN3RKLY{l)Ocer;kK)=yF7sny#*fFG5rp>+PJHr>1YGV5&uqs(uWbz{7u_e#e8%@zcms478I zC~4L5`W3R?)5&Z`BMkM;xqZz3Q)$V!=zzsNPd~=?ljhe+wns3RC5nYE9#>bsTd&ev z8mgs%1IS2x=|2c%2d*P@t}XkBrb(}Hy7hV`yjaM#)X4JS=b60sKT2=uIyz*W`}j=4 zyEv0#Gjr)h80GFk>5aUlYW!H-CXdG8EhSEB0dlIYovV3*Uoff^^<=U&q*;$<1d5pH z2)CiY(?!f{ePmdzL)B}iL5s8R5!DOqy0Qmvt!wl~K?DnS*lZ+lXBw&`^`(du0Y7~= zBy2da=Tc}|6U)bUuKy rV48XdWI_u?nUQa@LjKp5v7-5Vn}l_XMVRqcT@nKvT#&32fj9pR*?J(` literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/6.png b/gamedata/assets/particles/beam/6.png new file mode 100644 index 0000000000000000000000000000000000000000..6af0ea829ecbec79287b6a06dac3197b0e99f475 GIT binary patch literal 2642 zcmeH}Ydq5p8^^`U*@mIyFf)fRN!(k`8MYB}xTA!WkkXt@PE9m(oWDaQ>0n5h9NL|8 zIV7h-MY$brMsvt=ScZGrQ}3Ub&&%h^Jt7Bw?HW&diGYCEA-v5=cVhACWKt$HP`P*gz0Zk9!blHS9jH{u5zF)xdAef| z|EUWmc+`Hs&6A5CPn!WU1$K@QgYv-ilUb6C+=9D}q@$F*~=>=X< zulESSi^Yh9FQlyJv;`7k2wYRsF0+WXwZy#-mtq29MhD{_?yP?cNQOaf_AlR#6S@gD z6x=5P5^dVx#KJ~EK;zXN z2TY0QkIq~AMMl;~!1-wNKG4ZBFvcC?E>=4EOhF}|xB6U8NSWyT@O#`4oI3FlN@gAb zhC|krSjLn*PH65NRqWv!K5^q?qom3-w+IVkybVK(va53$BphJ-JIZGn<~Jm`e;A}A z$OEliWMv`HyyhdCF+K3+l^twJ?8)s}4(EphJijqa%GJAk@xXbRi@nlv zTnvDLE#dT}PykFBbTPv`eVYgU3+~6k$&-ku8F}GB#>ruTias-7+3s$&_CoEMvib(Y zvm>gSx^~Cs-%Ry2C_K||txUK_8+B+lS2!wpmcG6_l8f@6$^a|y^9;$hNnc*(hheT2g%+#sGx6TwLd-bXgBO5y4`2JHbl>!?eLS#?T<<%8%Ru|Hvs)h*;TGR3GZtM=MEDQg-hf+5qzHX3glNa^@3%DM6KF58zn!E6<>W*T6Vc(0(8cxG)>eQ-G z<5F@@mP+bo_7|V&1IGVAbejjuw=Qd-B=U-GYU4ZZa_VWX(d9#j6qnD zWX@idi>R9uAJhAMsQEPV@ykuB!os~*~p%dswl)2 zp$Iuj!aO+Dk3k4vO)u$=%g?1{xO9W*7t3fB-+>#ux3l4@N%W|m)QHg`)ES=&;7#2+ zovLOcxL!Ts#O6%z4DeKYJskQ~eNt3iHyO*z`1nqoGMgHHL z{nTFHgp0W?R$WpTVAO4uf<_D=pX49+_6erxfmyK9!is5uVC=s^iSwa!p0i1PSx>^3 z;6j>g-84_J^90T)4pBp;wfw<87xA?=iHaB+NuHf7R|}h$x?{nwo#EN?EsThwO;_+4 z@`;v*zxh5jMYP@P)Xeq-x!$(|0^(ygryT;FTY9672=A6V(-%w0(4_h29ETef+S%g` zmSa61%5HVPTAYPoMFcD9q2InV(t7rqtbrm_pf1u)}GYfq6Vyl;YDs_iybdK+AFIyjE^E%bi{X+pCZx}ve{F{4M{=K5DrPr$0 zstEa-?+5u)a!io9D0Ay;$Av%R586We)T#Yn;~5x}CVl~P!PzK5U$s9!b~H*Tr-$PI zuJ1+Ncma*RgGJz*7}wf1DpX}$5ZRdO{^k_j-V3bbT4C;iz2hIB=;E zC#;@^4E0O7x5sL^n&^VMfp)>>ZqBqj6Zk(_gBAAsK1@}4O|&xqsb6_B6RO>(fXpeK zxHPt#XBq7Q+y@D%r-f9~2>9lXF}doNWk0o)EX4Iawo_%PF&|Z$<_iK^)%X~eMd7Dn zV`R}eri*8+c0s2}l)Fj&Wh9Ac2m87I;h~ovBawvgqsw-=r}h>nEn`CRXiI%!?P?B4_q-LwK%*AinRe z=%o%}j%f8PkqNxLh zO^j;8Qaje<;H3TIQ}?w#9aHGk{ryZVCw21u+u{js!znt_YkXwl3H#P6u#sE*FJXau z0g6{4ZMzv>Zs*-U*r2JVeyqys7UUPL@uFup)XMuS zv)p1AAdHO`l3vW0H)Y69T!gAqp>1(Gd|w5uL@MrGaCO4-6`~E36YU#7vVR7;E z3r@vnYhNFAeDJx=2^CKq8H{W9*e0Rpa3ZAbu&o^pWMCOjnIqnWiY)V8=D&}_xA)r0 zDTnVxzi?{Z?S@m(GCkLPEXD2+EhD)e8u$wS&ug=IFxl#4XDxYOCQPNtnM-nx#!t8Z zW2008NmFGHYq=>2+o=eyYq@Rt()F{fif_@#n<>(1(g^eJV}jEEwQT(aUjZMtBSRnU R{_2VXcv~kMy7h(R{{R}_pu+$F literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/7.png b/gamedata/assets/particles/beam/7.png new file mode 100644 index 0000000000000000000000000000000000000000..14733f8dc1e4d254747c5a64d84d67bd2176128f GIT binary patch literal 3005 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/8.png b/gamedata/assets/particles/beam/8.png new file mode 100644 index 0000000000000000000000000000000000000000..93ae500963b1991ec70491754d547608a36f0af7 GIT binary patch literal 3485 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 JEABps`7i9AYIFbq literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/beam/9.png b/gamedata/assets/particles/beam/9.png new file mode 100644 index 0000000000000000000000000000000000000000..df739a6d6762955ab1d41876c0a5fb8bff7be5f9 GIT binary patch literal 3574 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 Da?x)S literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/hit/1.png b/gamedata/assets/particles/hit/1.png new file mode 100644 index 0000000000000000000000000000000000000000..33c2821852c4da52ecdafd2acb8d71952bc1b677 GIT binary patch literal 7958 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 SoWTDG044_J`Y(0elKuy#Z`rv3 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/hit/3.png b/gamedata/assets/particles/hit/3.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5acd4f82a29734b642be36cd6c486bb511a23c GIT binary patch literal 11162 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 T4~NkzGyy%W+n8!ioACbur33~` literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/hit/4.png b/gamedata/assets/particles/hit/4.png new file mode 100644 index 0000000000000000000000000000000000000000..67134745f312c38079df2cad2fc7bac1de42fa95 GIT binary patch literal 11410 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 MDQQD$6|6q}AB|iVQUCw| literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/hit/6.png b/gamedata/assets/particles/hit/6.png new file mode 100644 index 0000000000000000000000000000000000000000..f9cbb97378e1732ebce74e738b5cd0538df8d37f GIT binary patch literal 9541 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/hit/7.png b/gamedata/assets/particles/hit/7.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe66b94a4ea8e458fa245bbe6e1e8a75c935ca4 GIT binary patch literal 8690 zcmbVx_dDC~_y03ysF7H;YJ_U4)LyMxi9J(d?>%Z%?U|y4Qlq6sYlLbAC3v0ASSBLEgW7G5<3# z&E?&t;?xfSpeJ4kgo!Q!ArKJg@9y=$4FKSo(V6#jy3{xm=g)OCMX!m8E@l+pv4XHa z91~?L*1)q{2TOk3XU>xqzIppuoKI(GVK*WEX?+z_Rh+;P<>Jap=^E^M%u6Pe%e>N1;j&dS!@zRF@6L!^;+wK5ze8IST;rQ&bvocQZfJ^QL>hTlB zE$*8l--8Nvc9@l7GHs}Jzh z^n;l}R)HM`TQA?(M$kZ1mc74Et&l(+qpfYTTsZTGpCFpTpuP;=n`-?IaDe2oZ>Us6 z;#jkKbTVhGh(I@|AU9WmP_H0Q0c~AF6N|@8R{?;(PZz0f7B;>0M&I96H)Q^s(4va8|6G)` z?nHg0w}8|1&KDO@qUvMGLIk8?{QDJuD*py@PvYTRpO23}SDdVni$J+Yi$~eJ))s=L z@bdw3G;xVnA`4x$vEI9nf7i-KrmayEw$c^3xKMn!h$QM_p8dbBNxrClhw2cTHTz8) zUy41BeI$MSLe7{Un!tYOG*TvX;J2-CdqQ{_gSy- zP&#H=3cyULAIDP*CkR;OAOVOAC!flv;j6G79$$*6=fw6%GWgvnl<}*|a(ItbR!!pr zv+V0Bf=E5qrvvY?oSBjo8f=(_XsqGpVvIv?_i|%_YTNhvcl{nT!?!6u(Fn!L^Nfs) zB&6UxzROA(xT=qPzd$<6;vK;dD|9j(hNBgsHMp(MI!{{7@VF`IM5U$}*%GxR1Zt;S zod5VJf%G}@N_x77GB5j2eN!LC8w?pd9dr0KW~20;l3zt|sDQ=Dfb_e>K0KTNXMu9M zba0ychzsB%NW}zh2B)jzo|EH$96*@h2eT+DWn9H^b_mmJLc#$A<9Vb8uj zdpGf4RGd{_k(9xP5F+)xC`V?Xuo&cFDc~Z&%beJ~8>Djk&6VKIsKDKQQCOVEiaF8; z;%Qcj=D%mdr0a}p)KXyu&Eah^_N&vH?S%-`eg|hfSgq)*fVa9JD1iYQiB&YgfB-h# zJjVWCuJXKwE8%m6u*C#O?|`gu83?u_ny14?2@DWlSn9uf_q;kUu?4(iH*ofV!P+Mi zqN}N^$pvA=iGVXe8qcuz*w=gEO82u$`#M-O-G*qelCUrL06(}hKSY|{5J}9ytCu-e zCO_|kyx9v2ZhWF3&N93yzu^!l!OGnQCg4$E;1!q=W(62PBq=dsM;Y>I^(-TtqX?gq zM8!TVUZ4yFWyk)Y#4rFXCN+ewFpUJAvlyeZnDg*_JqeXWEVeNE4?3N#I+&?rKrI1G zfTJMjWGtsyDupFbQuvSS87y_8& zTz|1zPJxLsl0H&aH5r$XsR^MuTETTV5l5Ve$#C7&0iD!@)D*1}PHH)VciUdsoB~@M z3`gx=D)!A+NoH@<|LO+_BT#`Yn;?CCQQ#uf@EA$ci%c3 zYO5YYU9D)CRinYG|8|Y-r{0!^8zx-*tf`;}1Hv$26rEKrWN>g(y2u-uje{pbP*lL< zjI?5BlOKISS&FL$c5(~^8W5v^rJ8|RHvunakhNOAVnwf+NxMps09n?QQoVIvc)niv zC6d&Z1OTM=i_ho3dsWxVF#bBHFZpgDHIN!=_t7OdEmWnbB~=693A{i*Mp7YRSQ<5f znncBZ*18;&Iur!<9}t2~G~cFUp?qsTI_5ps@2Ds?b^`P-Z$HxBkG=4}xHf;HKpH9H z%#fn7ncUd2Xb`k zLA?}}QAB_NMc6P)L%j8UgZGW)>bD%ZOpx`mBe*rM(S`^Y%)DeLbIcB9OK`+3-7F#m zngDU$`PKdNS9U(lz%BUkOZRgLaVH2AfSTok4GZ4t=3EbFkn+!y@9f${xF-tN0vqGa zchOSc%_1EpgE!xV5*DB+2uS^Ly8oMfQrn~Em!-OUYki}eh0#Y>t^?N?ub`oHf*TR_ z&%H^XJ#QXG?dh1=ue;&G?Yd(R?Ff1TdPv8Vm;xs4cvynvgXWW;O8!{7=fWe-!?ey% zTBdHwubEe%8*Seo29J-4ey4B-Oh8o1ZNc|rE>1{8sd8x)9VeuVpT$^)<9pfgMFd2+ z)I0XzyHjT2*{MfdLe)Hpl@&2NcHH?*HN)a#>Zu-Qk(mC^2lDNL$}j-h{>rsYRvZa^ z(M1b_vu4&N8}^J^JzR}Zsn~Rn3Xk!7r7Kd;wI319ph826pYg5Oa&NO!2ySK1v_{*Y z!C34>;Mdgag057<&mk;nQj)cyO$UIrY9X-5)t z7k}ozx&Dw~w~R~Y)WCQ$U_~3|5Lm)!Ny+K&{e2_5Nf&7Or$oft)6KiLs6wPm=5gppIcM6EySU%vmyFz%EoGfcnu_sUmby#+bzo|Lngoqc{UEv z)f}Jin|3%{95{@|(=vbX;y!9^Ke_vFPxaywZE&WaNERAna%-!2Y;P-AqMyYv2UyP0 zVMS#Pc`67G!H`O~EYA_iRyDR);jwUf>d`U3C0olx&X-a>*`g0L8)$%Dhr+Qno zZk~qH8u_9t_LM9``chT3F*wx?JMB+u|EmtWCxgRAW$si*l^>xcJN7cp7dj~m2HkTX zG4UyfEfhTYKJ_4B?;ll~)DKy4SF4nlFZK5Yi^wQVvl9GRFsu1w#qq}9z}$C-$&ae4 zLS~{j+pNT^Ic1x4v!)5&Ayt(Un)`a}=C~U4NDB0glR3%uhi~YCqT%0vyMO)@=^H+& zncfnWPp(uwTALjIJl(E%?bp@RLyMTgj!&>fAwUg{9+qWn@_jn9mAE~xYEERFZ4K2c zK_yRcg9SCL4j<=AQVFgqA9KoKk-pu!KPFadI&Z06=<-h2J3CV!LT@|q_-7Jqg1>4as4c5kmR;rM9Rs(!Y))^|J+($&2j`0sh)dB41O z(15U2j_4;)D2;tN*wNtWg!Ieh+FYX~5#6i=usC3emLyFOfDGRiYz1kx0udvQFmzDUmECm7J`iq4+sCt6cQYVdK*m zk%m3siG=_1qnE62uzYINeF2B6Ee9)fR%B2v1dR3WdSaT5(mfSLe{j3(3G03iy$HFO zSpOtO6h#zqu;=g+dt32}n2{M+@#{AddDGNV zJ?7Yid^^^9duDR*D9qWmQvP6S>Wkct!hV*&wYI=(_TJ32#IdkGvGX~$_&a$z>4NkXD4bm`ku`)HR;p98M%Umo0LO@sCIM=1ob#g}_!0H5 z5rKiSx^+Z9qwUu}XqmT-eY1#8A0q+_9PIQ1#PLmlV-&=aWcT62T+iOq`Wov>3Oqea zGJ){Oesbno!;qJ^*oUU^-qrMn@*m?#W_%mdOWuv9=xptDK2=sbdp3UPzPsoe!%lFw zsuI_dr`e*XZD93FDVZtG>mv|TI;rTukj_nCc5JQ4SesiMfdEfk1?rgEEFsaNJCueSUpruHCK(YGNr|q+S{G+(d3gZQf z_M_kR{dfNjM8!V89|TP;`8nQXF1 z^qLu~oIta-G1DKyGJdi1EM0wyZu?*xLHd*~)kHr$aAPTqyss#}S74rB_xZzzXX$)) zUn^})QD~5wCKXt)Bf`#WhUO?G;xmgNc8#Z&>U1a&BUT?4ai?qQfx*&4U8{mRxd)Qo zSqFdjJIU<|Ex{-IIXYt1w>cWDD&Y;!@*#3WaJYoAkyaOOzF+*QW9#ge{N$wBR;V&} zx~VgL`nRFYy?%&C2}?wH8BCr3UW*x!al^REo?*$s{J+j`QHBmb_QHj3C%*E3xUYH< zrBb-?K)$R_3@>&vFhBzptDoL=%uo&68QN_N-9EKp&%K@4eZH|+7wlV6xwjaF?RLx< zS{Z#<;GsnL5@R90K`2jF{29Ay94QtpWB{rjljmrMhiDMw$DG6H`uN@FHYA&lf?cuoZqB@Cmr z^)VP5m4yY#cK)g{w#t)cz1KR9n4`9ANsHOkc98BIk7-<-b*F5NzIMrfAk?D= zRd&_QX@+9)_%TBp@v4`_UT{8uqw;WK! z&nDkb|Jv5BXdT;(i+w*;>AvV>o_icR_wmUkYIurE^76hZm8hP59oYk?VP{~q7S@9p zQY6XWrUOJM^01y1MO*^z#8)L6DOfsya{@u)(=c#JjYbce1yRB}@6N-Vd7^a0GY9L& z1n#dL1QrN=)An01v_99Z+I+&QV^T_9h(d0;5jv6p!-82n`XE! ziyF~i4kR~UbQBOMoft_ra#AUDv^s?Mvq%q!sRVk)Cs#JJIOBku0>4u(DJ+GWz6mF6 z@pqX|Z^A1Pq^t%}kd^7x$Cn2YRw$!qepQCDrp10UT_x9=v1C z4Wy^PyKGuL_7VsePV@^REvvN$0&K2n>NUV+FZ%@n*OVBX}+0tS6j~h z8cW+s366?`B>w0>3*y8m%0)_zq!AS&{lwNN*_Q1Fc=~C z*HU{@GKG*YwrKYO_t(o-R?oEB`hxPF-FSN~{R*F9nIi8u0mDcE*n%x(=cEZKv}VT7 z^ML?&IWeOJ68>?zh`=I%BRHo*5vhP7k4nsu=fx#bIXK3Ti> zMj0=YbeBnU@L;}OG@g?ZE?A6T91rCBR!|x#^0zSN_(vqEki;OJsRi9)*pb6^c$zs| z9cI2_5)wnc5a6|Sgf@aRq#mUw>xtw+Mi`*!YztuYJF9|pS~sQF11oL+`n)2d0-aa( zxK_gBaN>&dmuX5U^DC z1dI}|7Yup)3o!A{EA9NZ@F1_PK`u%truphl@XC3NYLfD|jP)J>C3(kK3Q1X%lPlw6 z&}o36;H6wN1C`+=omPH@Npt;-UX8ifKWy9gjLCnh{y2xdt=g%6s^j2*g5&Cy*(wE5 zDbG|<6%G7mPjya3NbB6#+{b9==VjBrQTtm20^vr*_)1iG+qCFq=T|5+JUSthnELC4 zo4iINM&!TH*sHA4`i~}N{IkGbToe*H9o;+fmCSJ_JDF+@8_3Jr9?dQ4c2lQ0H?1QEjD~I)i0}Y9x!i`aFk2cL3!cvHFg)m00Nt5+>7C~8;}tU=Zy6fST{*5^*zDFwNzkzbl; z7>3CHifC|O`U{W*;9kT3LK6kreQ?I-w+lj0*uKW~!SBmE`cy!qWW_kx}C z@T9S-s`~fodakXV{a3%%>@z=}!x_7PBt)dWSsS^t8_vWw?L3@h)4U?`jpadp)2!dL z-Hy{{^pBe(d<^5TX?uH#=#l=4&L$T1(LdgkQAbZ5ns@%us@$bKZ6d-UB^a!-PYzbW zSB4JCWtN7uMA!6~+{t^y@cUN+X1$7}gLYkB5p-SQP-aR^KoNa-FU*7TYv{E~$%o35Adag!3`pBFM; z)m-ywj;PICc>J_p6HjhTmx_RSLyKuJ*63U4N^}DnEg?mN$`CWA?W)uHYoCZ6JH~sQ zOy6s>uBwjOoY2ksLsv^fOw6!G2CB;;i;mhtNj=P}r~Bc5$xUt-^GK?&xm)DFfpk5b z*V6Q|W6YdNFh%OZDa?YkJs!!7B`DA(dA*(z`*-K`OK(`){AA6{wp0DIx1AhHlb3I9 z@}2n;JtP@tUG7OqFj7aDv6}!?US_uUNfQ+ZO)BjlKBz>Vt}k6-x8mutah?`LRT?ms z-+}E*>AlYvX&RzCT{)<_O?zaQy0bPy0fAns`e-QnI+QvMC8w3FLcPR*>PJQbwi9T? zWIto2xy`hNTsI^ci^-*c-RbDUUmejy9^$4k8Wlx+!0#0!=6_9<6|?eYt(B+8lj(&q zN1fVNNT<&r&BRZLFZ5s^wJ`H5;Laq=EuZp=mA&o5;7dN{);3p8AYgUavJg8K)qprm z9^NwVcldOInhtjLgfKKyW+K>??15yaU%o3Yfwp1Ja7rI?HsD* zkzviovdBvHH#JPeKX7yu-yD4I{ zVYt9~7ve z6Mqd2LG-|m@x?y${p4MpEF_Chw>4`9SG>+OXA^UhL+c zyTJcCEda1XKYX(N;@yb$G2~@9&RD&fA%#gooMy5q!(}^ZKkHuI)k14(Xnx1TS(tCQ zQtj3lSzr+Q92A-`wIUDp8))irP8TdpP%o&Hb~5pYY}%iY#`lvpR$}IFj@msa0bng= z{!4dvBLzlMrnH>eheaS>4~U~sclo_Wk&OIQ&Lao~35w2%4f<_w-va0bc&A$-@P*>R z{`y`vR0+08MQ`)-9Fd@%Brew##@1ejM>jCeLy&{39$}MjQl8Pw1n} ztaGTDzJ4zC(!eI@9X%KY?>`|gn4lq0ER0)YY@y^BGS+BRK^STAEAqY9;9C*ARYc&v z#2pbaF^q;wMXVRiwC!oDLwi&=p0ivmFmErtx!Y^WrX(pN%_=RkSZ}1SaFwjdM6;vP zQIE2ptn_P+3_IS}Q$0VbHAi1j@aH~28|K~JZQr`NP#=5L5^`D16g2UCkj#~EdH^$! zFu^Tw$962*odWuVlUf5jEX(wIZ{zjkY*k!ux`bo9fBOT*`Q(cfB<9+x82xOtn!5NN*@RI50FBT7niPiJl2EE7uq{s)Mn5Ht9U^QPLcoiMQL`o}=NXqRQpD&TxZ zVPKu~S+VVFZ)}u?eWT8|P43;DovpbpnQGz%pfTqE!YXG?^vW(2j(XZi;Ld+@%gj3X zNrcd2*}A}yAo1jbPY5qSIAgcgjq)t!aA-*>=@1a7!4mUFBfkNpyBW0 zfN^o=4MtYg zw;I=Jki>tli*Sqzi;KQruO$XyPt}CnT=+uA zY8E@q2`(XtQ{;IbOnJx1za>un=WhRbrxR*m%op_Fe;!Y;i*Qw^bBD&udjJp)rCYS+ z-S0~JR-Fv6s!lD#9p~T_Z)HiW^Ps5!pu6PjPwDPhtWMxSF=-g&CTN(elB15rn2W8^v>2n;MD8{8Tm4as>wEU0? zHPbX9mz3m3piF~kQ7GLdP`7vK#!ljwcquJ{VBQ2(Qj@(svrL?FE|1DJ0Fg!@9mwWnS-}LWYoGA zdXkgH%h2k`Pp}P{k1ygCQ_#J@J58_Jwux`wTRK;xbOQdl$;m%Ka6q9_&+kIw1CzFF ze)aYDg>RoIwmx`yYJNJ9m~rg~eaIixvv1*Xx=Zo#V5a+}3i0WJH-m94UDt|lOH?|Z z{3Q^o@737A0ja1|qtpRp^w5|lt?7VplNMTEOtP3i{>Ey4eitDI(L*m!q9g@^-+)< z0OE0SR1&%5)PokDHk_X z>dGBbz(Phb_h$qSdlvz}vwL&>SV1@E^}qYpO6Qsts0#e6RV^K}r+ocgk`%^f#?0nT z!Mf{z!Q{U$;aUJ0s0yj^LF}u!4X;*1s?BW)%+N{8q-rm19OF9 zm6n$yyUh(W`@1!|3q z3~=XYb)U=UWnO1RrLBb`x-)kg1KV!?Ik!QOnp==zKBYjn9}Q+&f#2Tg8yaD$>~~jE z;gSa$&piFCt8*P_{Y3CI@ut~UQGMzuQipwG<)3f*n_EyD^f9WEl?b^!e@Af|tCLQa zTXrU$FB{&v$6!Jxi6n6r++rdROiU3yFiii8@R$jd&P^c~lg&5e&U$M-nt8*-%d+yI zk;;!jBQJi<6gf)`$-B|vcahNMcXZd5i5wa8UTik7Hn(d|BA{PR~-DpJgqcSRlEIl%BQF;68*eG1Rt-+eZ}6bZJjlIWL;D4B#P>knu7=gXY>p6h zi>_E|wH*cB=ulB7t0RE__mce4(~!w%xuu~zNEu3EuL@xsEhC$+2%VxnA!oKO^l3wLQvUlroR zNAL~atl$(*v%9$LH?3?p-hf@v>hp$%nrRLh<*be(r$43uiLQUr?fW0Ex3{(B=A{xT zfTdNo-}|@*2$`d~TaMf0nQ6OTl+#V3O^KPYr*XD zWZOKdLKA8tMVfj|AR)Sps)V8#{cG_{P|(rAPN!1>*qA1G;P;vw!44~W`mN%*~K8Cj{NK{uR^^RKVKohkk1 zca&jhA9~2M9Uc`1t={XDnU888`X(_9xmO2r!Qi5N)G!f}js5+KdFUU5oNoD8HuAy= zP7r_tn;#|8Vwd-6ai0|Ot-l~5m>WXX14r};#UM2tbc*&darOf z;r!o8pP=^(t2_Oa3LL;tYTu2DfzY@Kf6olyw~8AE1q%Oe7Sm(IOtrXt$joOX;%x7oVsFP^!?%cCUWl5kRFz7F;`}JQ`G^os&z<_nMV+yUr=6;Rl~hS_K?wHh@-NS&&B2h~ ztUp;1CB4yx-Ni=7>G_GuO!L!o;xY$l9ENjDk|E}*UbciE4%CLPvZbULF73N<+q?q> zLLOgUoE%j*6aGfuzgKIW8F*`gcCR-X(l9rP3t=^X%DEH8G@&uQy--fht!|In zA49fJ*25MQbDgXelYXU=dmNo?|h6DB1I0!DLo?Fee{SY=P#ey zhJBlcqqcKO3Ld^n&m*oGWBwwUZe*;46qe)Uiq25El?4L+?VRj>*nM)j zQ@&sTu-yV_4HUZVt6W@s$m4uc;0|mZDZFo*E|01_Z)|HA z=igeHiH2ho-J7jcHD1MHZDzRi`*}41MjU~ZWNx++O}A|iZ^ni^_I2!svW#b34Ogud2W@# zEKZV(=X=l#P7sQt|Iq6FVSioc+Hvr@kPlH<0C~2yO!-&UXCZk!cGtD9SwjB9+&QR| zhOwQvp|?J|NlCg}AyK!V=+cz}W1PlG%*(O;3cYQ1x3nUne<(uM8ULVqlbIyCf~1zv zS`a#r{+HjDu;9(D!ujN-G4X>9qxM3>+W4b?L9*+_so89Vkt3Xhx1gGXVd9LHgM@?c z`xyoFH12ZIpgr)A$6YzVu&!QPNV%o z#1jDPO=$lZ)svyefI_bDJB%H^Xm?UqQzwJ*V+y2nl^C99=X+5}!l|SZ-mGsnd;j#1 zSSaDw{WUgEIsNo>{IWy7kbEssWvOc%yl1tfde#s?cE`Ph=9#{`zA4*GvieqS;OR^t}9L zIQ$R6AxH4*`mg&;>;i;3ry%fRPj^&Kz=%F>1et`hU%l}iAOmgy)Y969S;&|iHVCxN zn?o#tX`DV_F;TMlDS>tm`7hJ9l|)f7_vNMpTBQcU(0sG zv1?WD>F#V%`e27MDdpHamv(jpcXqB7O%A4IbJL{4T!nn|osJ1`Ho0V}c)l{n9H`@1 z3Jq*1e>o{z2`UB4O3*a%;#a=~Yl{6^WI7tHl&!z9JUJO=H6vXx;_FnJ2#f6f`Oj#3 zscClt*h{qg7fE<@XfSff`Ej|9xaF!k$x{#V4GzYhpOdy@(3HW!&62~WWB@gv<0M&< z$)}MlTo%~I(~-e(#JE}w8_9K&w_I>ivzafNbyGlHnv{7$3pooj)qP>AUInSUn>E`V z4Z|aa(MzvqH;pIBly3vdW@IX?!I!)w?PtGpLk@o%7$GTK6-&B~9FHDKbr)WI+kD^A z5kEI~{p)UU-Q?iSVN+*8Y0@S5-~Hl&MVV}iCFVN}iU!meP!M-ngGFZ{|~4ECzT8I^=3=rbng+oJFhn+jqALqkxD&>Y#&2{gm*Jqp=}wX*{h5N@u* z8m@qmdh;)R!!4i}W8O@6kO-&=G@>q@nk=lV^K);4C?LU zv-napT#oIJ)HvKx(A0v(gqqKvcF7SZ#;1Vv9m&I5iIm7!1Sw5YFw(Uz&l?IYZ2J5; zmZfZq>N)nVo!!LLC;6vATqn<*ckL>7 zC!bD&!Uc!GyznN@DSwSMSPv>kAS!v3F!oyXyp3|UW@~rrTF?P(69Szz(MT%6ebUzt zWXz3AHDuv%$zjdc^l|dA!BD?{^!iiq$-Cv!Nt45|xL^($jR75lNjFAPya=qMpG~3< zTDv<5+-JIJ+uBGM)kDFgX^7M@V3dzuRA+o_Gd&pAWOz%*5Em0{9Wu@Z69KMj8nl44 z#VzEkT$jO*V>>g)uZP3iGR1d&%F#LFsM0VgiOO~7MmN00ayFScENh0ZuPOSz&-U@w z;>To9kJ8+b1WnJosDYL9VD1+t%rrhBm_OjB=WQn(WVwQbZ-(18DuWlc7}_&n6!VW(Q&In`%WrPRqmiO=d<@7rMP9D~0iQ-_>2jF~`PJ|O zJQ{9}Qz2mrR$R(Tww%gJd8N7yU0pOt1XW(@IP=S0~Yna$k=1dj+- z8G>)a1AtljYr@fPJdYnqRN$WM?c2n#X8G`wZ*9}rySg$$p}B%Z_%xg^cp@(Fx%!I_ z@RRJ&=h^Q7``(c-z!>6`;esZJ9&nDl$GbcAnr~2OYnKo2hp2d!#I889vovVhh-WbK znfLw-@dBRjV}c&sc8JA^qLAaU0K;nK#-Cr#N-FFIvjoM>6Y93m6%JwtPe*L#@w=9L z&cY&fpWx)D3nYcM{Pi<{oisH@p?_JBK9<)F#c#qk-A+1^)}n{JZZBy(y^R>B?0Di+ zIVT#HZ}{L9;WgPW0jS3s|o!AmaI`Q!A?!lB|El9Y27);l4?ZuSPiZ|qJ4q;u1+!1>Ya9!w-vW6UB{>}O}|OVD7p_?<^bFs-9O2( zIqZ!Mh)E#!RTLt>A_A4Hsy>uHcPK@fXfAucd$I2s4Lm`( z+zawF>z+j-dC5Zk8z}R)w-q1mC#oa+Lem5;Y|GaI6)zA+Hb{G@Ri=f_=H_4qP!g%3y!h`rS({3Yd)gHkqzO&F~C&A*9 zr_Zu~iebtP#91)&YncFVyG|>+V*g{rs*ieYLVKIWvvgB|bU@I%JB(vNVSNw_jTg4H zq;pZp{Cdy(ke({}Rj3Ak+iE8njue*C$;tJ#KNzLlk&gz9f`BBb;U+MWhK|=~R&WQT zA}glqpuoFX+sC1+FEhQlAq*#q{qsk7Yfhe2j9lK(8U_kl+>dysI(@IXPtilY@#@iZ z+Qb(k)PU6=-)>lerjP;&;GBLXy~epgx~YxndLfzu z&V%=ykE&{}gZVhH>`*+;9Rh{pr~-5t?1WNgr|}$Dh+k=?YJX7e*CgW9BI1D*hWZub z1DNyUH}uUjyUoL*WuUTnh$d1aNpQlx?tXV1&pdnhDhc%G&tC0edezS6*5FH%0F{He z>V*Xp>bEQP(e+hDv!Z|Y#ciO;;2B`zJ8g#4P({^-FGf0Y-BY*k7iR;X!ycj5!kN8P zO#MYnMGdyjQQO1W`hW*+@YDA=G$2F(X#w}@zYL*hiROYt2TcKn#YFOx;PytCY$OE*?e(~boMuAX~j0!@!^7=C^0yjg!}2| zr>DJK_r)wfuQPq$3>;I829U1^e$Gg33J+!hW>P5xFUzXV<8+)+o^*rca{ybwvogb` znK}H$(D0)#22p>0V$|h!Zkc=7MM(TP5E*MeyF2-yKuNPYk^3V@*5 zP$~do523u03C_v^f|4V4ZS(>Z1DTCY8@ zXfi0Lxxz$5Z?Bo6e74f{B~=OX#z*9P4~g?&U~jUJ$W~)JKaiZv&7v7=m4Q9E#*<16 z*e^zth_Q%XPjwBtB-V9Y94mT-T!OT)Mx)nue#nzSo2sjsF>Ng?p%mzi2%H-7j>Vnn zA~Z+V_&rGugKa`bspUVO5VF&%+3s4m0?R)%_SjnYNXvh_kSEs`%tZf^CjoZHfe-f| j{?8q)|G%*_>yoko2Nros=8bb+Y>~#yGmK?s%nU=cSR*M(vL!8+Y)L5* zA?t~dibxA7X*-=L4xQd-=#<{ydC%`XpZER!*L*%R&%J!F?{(eRa^Lqn2@YE}OD|cq z1OkCbTUnYrflp)MS3(^8En)^ef`DL>{3bmrfw(iSDNVU;dXP22A)|;w+J@dgM1R$x#I>eZs+4kk}4YSYDYYWag z-)@yBiYBdXJsj9_;9Q@5&O3{mX~TUF@iAZ6pYCCH1toIwCfQ2{XFu1GmX_GGXzatJ zj^iEPid-+<)f;^}P*v{8M#IaUFm_y98T67;oBs|n=U^W)wXQ7iv6cHi>qma4u2ep7 z4xfEYF~1P@P~CsiQ~V?3gHcHPDaX_o2c{1v#OWJ`b3+BZA~$H5g2tZr)&^&|5m@$H zqy47TA(yHk83wTo^-lQyA%L zE|)Uh^5Nosm!?y#FNj`;T%2~X#h%%@c>Y=xmn63FCb8ERe{&+NG{2GJQ-Rh1Bbxllpd;(IiHb zdS1pW%vLmRtWs@j-^75zbVF38m7aW_oKmZjgH7mmNGf+!Z(QD-m9(Q#Ez@}U`rRHb zWf}c=5eeD*A2}^BSU2<;p<&E75GNjFTd#4`q2gHpRJ0|0@JU{ps`7r}BCQH*bmZ~f?LSrXd#QVMyTty5D8(6|1E4?U@8xz&-T;cW%S(uW3;vPW)&xL@rT!)*$-WV&qzR19JNl zOU+6EAuioXf2lS zZ(k}eatig-B-@8m-o3O7xBRTAW#dRJiz2FdSLI@*Ttl>~bE4$0i#=5p-66)%JKnvn zM0Ev$Xxi{m+69K_HVs&d$f_#OyXopN@$2QQWy7IQfG@!-vL1I>C}mp|1|+?oZsfJgYfn zSXpgpLsVL=%X{aBAp+`Mop4hpwDHb8#&zSJ`iv88j^D zAMDX~nXr8GtKCEzq6Gbx%UKy+EbkEuFIu5ksVAp!tl?dJ#H9A8isH9gw~tBNDl5-+ zgrz=dK7h|i8glYTZ5v*1kw~edvc_JQ91$P(Jh)DD)dOCn*R0`Fuftc1Mc8@6Ex!}S^Ue+aFttE(++f{6{MXV?Ku=d$H~^N-!MV%*gL?9$PvHN z8`rNtUYIRDRdTMdj(*qKy2lEbfJjb-tx4*V!mO_UKx_1jG&^wJq`+C0&#pg)2#s

%!TXk~T{^g@soa3uvQekDUiN>Uj%ANe- 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 literal 0 HcmV?d00001 diff --git a/gamedata/assets/particles/shield/3.png b/gamedata/assets/particles/shield/3.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7a58854f35a1c7f19b05c072b1be1b420ac249 GIT binary patch literal 7733 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 J5<}LX|32MQR3ZwMt0L7(t?n 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

S-(L@eCd_&Aa#^dp4Tc&^9(*_ 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.get_width(): + px = 0 + if center: + px = (surface.get_width()-x+space)//2 + surface.blit(linesurf,(px,0)) + linesurf.fill([0]*4) + x=pos[0] + y+=font.size(' ')[1] + linesurf.blit(word_surface,(x,y)) + x+=word_width+space + linebreak = True + px = 0 + if center: + px = (surface.get_width()-x+space)//2 + surface.blit(linesurf,(px,0)) + linesurf.fill([0]*4) + x=pos[0] + y+=font.size(' ')[1] + +class Timer(): # Mannière de gerer les timers pour des espaces de temps flottants + def __init__(self,maxcount): + self.maxcount = maxcount + self.timer = maxcount + self.loops = 0 + def tick(self,avancement): + result = self.timer<=0 + self.timer-=avancement + if result: + self.timer+=self.maxcount + self.loops+=1 + return result + def getloops(self): + return self.loops + def getmax(self): + return self.maxcount + def getratio(self): + return max(min(1,self.timer/self.maxcount),0) + def add(self,amount): + self.timer+=amount + self.maxcount+=amount + +def get_save_dir(dirname): + path = "" + p = sys.platform + if p=="linux": + path = os.environ["HOME"]+"/.local/share/"+dirname + if p=="win32": + path = os.getenv('APPDATA')+"\\"+dirname + + # Je crée le dossier s'il n'existe pas + try: + os.mkdir(path) + except: + pass + + return path diff --git a/gamedata/font.ttf b/gamedata/font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dcca687a434d5c7b6a3027e65e0b7d8728b25c71 GIT binary patch literal 75864 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 literal 0 HcmV?d00001 diff --git a/gamedata/game.py b/gamedata/game.py new file mode 100644 index 0000000..7334bef --- /dev/null +++ b/gamedata/game.py @@ -0,0 +1,216 @@ +import pygame, os, math, time +import gamedata.definitions as lib +import gamedata.scenes as scenes +import gamedata.objects.gameloop as gameloop +from gamedata.objects.particles import Particle + +class Game(): + def __init__(self): + + self.datadir = lib.get_save_dir("slime") + self.DISPLAY_WIDTH, self.DISPLAY_HEIGHT = 1280, 720 + self.window = pygame.display.set_mode(((self.DISPLAY_WIDTH,self.DISPLAY_HEIGHT))) + pygame.display.set_caption("kfr 2 ???") + pygame.init() + pygame.mixer.init() + + font = "gamedata/font.ttf" + self.fontfile = pygame.font.Font(font,25) + self.fontfilesmall = pygame.font.Font(font,18) + self.fontfilebig = pygame.font.Font(font,60) + + self.running = True + self.init_inputs() + self.gameloop = gameloop.GameLoop() # Je crée une boucle de jeu + self.sprite_lib = self.init_assets("gamedata/assets/",pygame.image.load) # Dico qui contient chaques images du dossier assets + pygame.display.set_icon(self.sprite_lib["icon.png"]) + self.sound_lib = self.init_assets("gamedata/sounds/",pygame.mixer.Sound) # Pareil, mais pour les musiques / sons + + self.sound_volumes = {} + for i in self.sound_lib.keys(): + self.sound_volumes[i] = 1 + self.spriteLists = {} # Tiendra des listes préarrangées + + self.scenes = scenes # Je stoque mes modules à l'intérieur de ma classe pour y avoir accès partout + self.scene = None + self.lib = lib + self.pygame = pygame + self.math = math + + self.globals = {} # Un dico pour ranger toute les valeurs globales, pour communiquer entre objets par exemples + self.globals["camerax"] = 0 + self.globals["cameray"] = 0 + self.globals["scamerax"] = 3 + self.globals["scameray"] = 0 + + settings = {"sfx":1,"bgm":1} + self.globals["bgmvolume"] = settings["bgm"] + self.globals["sfxvolume"] = settings["sfx"] + + self.reinit_volumes() + + self.pasttime = time.time() + + # Je charge la scene de base + scenes.main(self) + + def set_camera(self,posx,posy): + self.globals["camerax"], self.globals["cameray"] = posx,posy + + def reinit_volumes(self): + + for i in self.sound_lib.keys(): # J'applique de base les volumes + if i.startswith("sfx/"): + self.sound_lib[i].set_volume(self.globals["sfxvolume"]*self.sound_volumes[i]) + if i.startswith("bgm/"): + self.sound_lib[i].set_volume(self.globals["bgmvolume"]*self.sound_volumes[i]) + + def set_volume(self,sound,newvolume): + self.sound_volumes[sound] = newvolume + self.reinit_volumes() + + def game_loop(self): + + self.dt = time.time()-self.pasttime + self.pasttime = time.time() + + self.check_events() # Détecte les entrées clavier + self.window.fill((0)*3) # Remplis l'écran de noir + if self.gameloop: # Si j'ai une boucle de jeu, la lancer + self.gameloop.step(self) # La logique de la boucle + self.gameloop.draw(self) # L'affichage de la boucle + if self.scene : + self.scene(self) + self.scene = False + pygame.display.update() # Mettre à jour l'affichage + + + def init_inputs(self): + + self.inputs = {} + self.inputs["unicode"] = "" + self.inputs["mouse"] = { + "pos" : [0,0], # Position + "rel" : [0,0], # Mouvement relatif + "click" : 0 # Timer du click + } + self.inputs["keys"] = { + "escape":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_ESCAPE # Code pygame de la touche en question + }, + "backspace":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_BACKSPACE # Code pygame de la touche en question + }, + "enter":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_RETURN # Code pygame de la touche en question + }, + "left":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_q # Code pygame de la touche en question + }, + "right":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_d # Code pygame de la touche en question + }, + "up":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_z # Code pygame de la touche en question + }, + "down":{ + "timer" : 0, # Timer de la touche + "pressed" : False, + "keycode" : pygame.K_s # Code pygame de la touche en question + } + + } + + self.no_unicode = [pygame.K_ESCAPE,pygame.K_BACKSPACE,pygame.K_RETURN] + + + def check_events(self): + self.inputs["unicode"] = "" + for event in pygame.event.get(): + if event.type == pygame.QUIT: + self.running = False + if event.type == pygame.KEYDOWN: + for i in self.inputs["keys"].keys(): + if event.key == self.inputs["keys"][i]["keycode"]: # Vérifie si une des touches du dico est préssée + self.inputs["keys"][i]["pressed"] = True + else: + if event.key not in self.no_unicode: + self.inputs["unicode"] = event.unicode # Je récupère la "lettre" de la touche préssée + if event.type == pygame.KEYUP: + for i in self.inputs["keys"].keys(): + if event.key == self.inputs["keys"][i]["keycode"]: # Vérifie si une des touches du dico est préssée + self.inputs["keys"][i]["pressed"] = False + + self.inputs["mouse"]["pos"] = pygame.mouse.get_pos() # Position + self.inputs["mouse"]["rel"] = pygame.mouse.get_rel() # Déplacement par rapport à la frame précédente + + # Augmente le timer si la touche est préssée, le reset sinon + for i in self.inputs["keys"].keys(): + if self.inputs["keys"][i]["pressed"]: + self.inputs["keys"][i]["timer"]+=1 + else: + self.inputs["keys"][i]["timer"]=0 + # Timer du click + boutons = pygame.mouse.get_pressed() + if boutons[0]: # Si click gauche + self.inputs["mouse"]["click"]+=1 + else: + self.inputs["mouse"]["click"] = 0 + + def init_assets(self,path,function): + dico = {} + self.scan_dir(path,path,dico,function) + return dico + + def scan_dir(self,dirpath,origin,dico,function): + scanner = os.scandir(path=dirpath) + for i in scanner: # Je passe à travers toutes les données d'un dossier, fichiers et sous dossiers compris + # i.path est le chemin du fichier, par exemple + # Si c'est une image, je l'importe et l'ajoute à la librairie + finalpath = i.path.replace("\\","/") + if i.is_file(): + finalpath = finalpath.replace(origin,'') # J'enleve l'origine (dans ce cas 'assets/' car c'est redontant, tout les sprites sont dedans + dico[finalpath] = function(i.path) + # Si c'est un dossier, je répete l'opération mais à l'intérieur de celui ci + if i.is_dir(): + self.scan_dir(i.path,origin,dico,function) + scanner.close() + + def getSpriteDir(self,directory,ext=".png",assetdir="sprite_lib"): + keys = (directory,ext,assetdir) + assetdir = getattr(self,assetdir) # Si je ne précise pas quel type de ressource, je cherche dans mes sprites + if keys in self.spriteLists.keys(): + return self.spriteLists[keys] + else: + # Organise les sprites + sprite_list = [] + index = 0 + while directory+str(index)+ext in assetdir.keys(): + sprite_list.append(assetdir[directory+str(index)+ext]) + index+=1 + # Le stoque pour éviter de les réorganiser à chaque fois + self.spriteLists[keys] = sprite_list + + return sprite_list + + def addParticle(self,sprites,posx,posy,velx=0,vely=0,modvelx=0,modvely=0,flipx=False,flipy=False,fps=15): + p = Particle(self,sprites,posx,posy,velx,vely,modvelx,modvely,flipx,flipy,fps) + self.gameloop.summon(p) + + def perror(self,msg): + print("ERROR: "+str(msg)) + + def pinfo(self,msg): + print("INFO : "+str(msg)) diff --git a/gamedata/objects/base.py b/gamedata/objects/base.py new file mode 100644 index 0000000..74a081b --- /dev/null +++ b/gamedata/objects/base.py @@ -0,0 +1,17 @@ +import pygame + +class BaseObject(): + def __init__(self,x,y,game,w=10,h=10): + self.rect = [x,y,w,h] + self.baserect = self.rect.copy() + self.sprite = game.sprite_lib["icon.png"] + self.spriteoffset = 0,0 + self.depth = 1 # Sa "profondeur", déterminera l'odre d'affichage des objets + + def step(self,game): + pass + + def draw(self,game): + if self.sprite: + game.window.blit(self.sprite,self.rect[:2]) + diff --git a/gamedata/objects/bg/backgrounddrawer.py b/gamedata/objects/bg/backgrounddrawer.py new file mode 100644 index 0000000..7366b5b --- /dev/null +++ b/gamedata/objects/bg/backgrounddrawer.py @@ -0,0 +1,29 @@ +from gamedata.objects.base import BaseObject + +class BackgroundDrawer(BaseObject): + + def __init__(self,x,y,game,w,h,sprite,ratio): + super().__init__(x,y,game,w,h) + self.ratio = ratio + self.depth = -1 + self.fill(sprite,game) # Générer notre sprite de l'objet, le remplissant avec le sprite argument + + def fill(self,sprite,game): + self.tilew = sprite.get_width() + self.tileh = sprite.get_height() + nbw = round(self.rect[2]/self.tilew+1.5) + nbh = round(self.rect[3]/self.tileh+1.5) + sw = nbw*self.tileh + sh = nbh*self.tileh + self.sprite = game.pygame.Surface((sw,sh),game.pygame.SRCALPHA) + + for i in range(nbw): + for j in range(nbh): + self.sprite.blit(sprite,(i*self.tilew,j*self.tileh)) + + def draw(self,game): + # Affichage du sprite de mannière répétée + px = (self.rect[0]-game.globals["camerax"]*self.ratio)%self.tilew + py = (self.rect[1]-game.globals["cameray"]*self.ratio)%self.tileh + + game.window.blit(self.sprite,(self.baserect[0]+px-self.tilew,self.baserect[1]+py-self.tileh)) diff --git a/gamedata/objects/bg/menubackground.py b/gamedata/objects/bg/menubackground.py new file mode 100644 index 0000000..e472f37 --- /dev/null +++ b/gamedata/objects/bg/menubackground.py @@ -0,0 +1,21 @@ +from gamedata.objects.bg.backgrounddrawer import BackgroundDrawer + +class MenuBackground(BackgroundDrawer): + + def __init__(self,game): + super().__init__(0,0,game,game.DISPLAY_WIDTH,game.DISPLAY_HEIGHT,game.sprite_lib["grid.png"],0.025) + + # Initialise son sprite + shadow = game.sprite_lib["shadow.png"] + self.shadow = game.pygame.transform.scale(shadow,(1500,1500)) # J'augmente la taille de l'ombre + + def step(self,game): + super().step(game) + destx = (game.inputs["mouse"]["pos"][0]-game.DISPLAY_WIDTH/2) + desty = (game.inputs["mouse"]["pos"][1]-game.DISPLAY_HEIGHT/2) + game.globals["camerax"] += (destx-game.globals["camerax"])/6 + game.globals["cameray"] += (desty-game.globals["cameray"])/6 + + def draw(self,game): + super().draw(game) + game.lib.drawcenter(game,self.shadow,game.DISPLAY_WIDTH/2,game.DISPLAY_HEIGHT*3/5) diff --git a/gamedata/objects/bg/movingbackground.py b/gamedata/objects/bg/movingbackground.py new file mode 100644 index 0000000..d99d5d1 --- /dev/null +++ b/gamedata/objects/bg/movingbackground.py @@ -0,0 +1,12 @@ +from gamedata.objects.bg.backgrounddrawer import BackgroundDrawer + +class MovingBackground(BackgroundDrawer): + + def __init__(self,x,y,game,w,h,sprite,ratio,spdx,spdy): + super().__init__(x,y,game,w,h,sprite,ratio) + self.spdx = spdx + self.spdy = spdy + + def step(self,game): + self.rect[0]+=self.spdx + self.rect[1]+=self.spdy diff --git a/gamedata/objects/button.py b/gamedata/objects/button.py new file mode 100644 index 0000000..d469180 --- /dev/null +++ b/gamedata/objects/button.py @@ -0,0 +1,88 @@ +import gamedata.objects.base as base + +class Button(base.BaseObject): + def __init__(self,x,y,game,w=100,h=64,folder="base",folderact="baseAct"): + super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments + self.text = "Hello" + + self.spritenon = self.gensprite(game,w,h,folder) + self.spriteact = self.gensprite(game,w,h,folderact) + + self.sfx = game.sound_lib["sfx/click.wav"] + + self.trigger = False + self.collision = False + + self.game = game + + def click(self,game): + print("hello world ! ") + self.click = click + self.skip = False # Si je passe l'effet sonore de base + + def gensprite(self,game,w,h,foldername): + # Initialisation des parties de sprites + sprites = {} + for i in ("middle","left","right","up","down","corner_ul","corner_ur","corner_dl","corner_dr"): + sprites[i] = game.sprite_lib["gui/button/"+foldername+"/"+i+".png"] # Je récupère tout les sprites correspondant aux boutons + basewidth = w-sprites["left"].get_width()-sprites["right"].get_width() # Largeur du sprite du milieu + baseheight = h-sprites["up"].get_height()-sprites["down"].get_height() # Hauteur du sprite du milieu + for i in ("left","right"): + sprites[i] = base.pygame.transform.scale(sprites[i],(sprites[i].get_width(),baseheight)) + for i in ("up","down"): + sprites[i] = base.pygame.transform.scale(sprites[i],(basewidth,sprites[i].get_height())) + + # Initialisation de son sprite + finalsprite = base.pygame.Surface((w,h)) + # Bordures haut et bas + finalsprite.blit(sprites["up"],(sprites["left"].get_width(),0)) + finalsprite.blit(sprites["down"],(sprites["left"].get_width(),sprites["up"].get_height()+baseheight)) + # Bordures gauche et droite + finalsprite.blit(sprites["left"],(0,sprites["up"].get_height())) + finalsprite.blit(sprites["right"],(sprites["left"].get_width()+basewidth,sprites["up"].get_height())) + # Coins du bouton + # Coins du bas + sprites["corner_dr"] = base.pygame.transform.scale(sprites["corner_dr"],(sprites["right"].get_width(),sprites["down"].get_height())) + finalsprite.blit(sprites["corner_dr"],(sprites["left"].get_width()+basewidth,sprites["up"].get_height()+baseheight)) + sprites["corner_dl"] = base.pygame.transform.scale(sprites["corner_dl"],(sprites["left"].get_width(),sprites["down"].get_height())) + finalsprite.blit(sprites["corner_dl"],(0,sprites["up"].get_height()+baseheight)) + # Coins du haut + sprites["corner_ur"] = base.pygame.transform.scale(sprites["corner_ur"],(sprites["right"].get_width(),sprites["up"].get_height())) + finalsprite.blit(sprites["corner_ur"],(sprites["left"].get_width()+basewidth,0)) + sprites["corner_ul"] = base.pygame.transform.scale(sprites["corner_ul"],(sprites["left"].get_width(),sprites["up"].get_height())) + finalsprite.blit(sprites["corner_ul"],(0,0)) + # Sprite du milieu + finalsprite.blit(base.pygame.transform.scale(sprites["middle"],(basewidth,baseheight)),(sprites["left"].get_width(),sprites["up"].get_height())) + return finalsprite + def step(self,game): + # Je vérifie si mon curseur de souris est dans le rectangle de l'objet + self.collision = True + nb = len(self.rect)//2 # Le nombre de dimensions, dans ce cas 2 + for i in range(nb): + self.collision = self.collision and self.rect[i]<=game.inputs["mouse"]["pos"][i]<=self.rect[i+nb]+self.rect[i] + + if self.collision and game.inputs["mouse"]["click"]==1: + self.trigger = True + + if self.trigger: + self.click(self,game) + if self.skip: + self.skip = False + else: + self.sfx.play() + self.trigger = False + + def draw(self,game): + # J'utilise le sprite special selection quand j'ai la souris dessus + self.sprite = self.spritenon + if self.collision: + self.sprite = self.spriteact + super().draw(game) + # Affichage du texte centré + value = 150 + if self.collision: # Eclaircissement du texte + value+=75 + img = game.fontfile.render(self.text, False, [value]*4) + posx = self.rect[0]+self.rect[2]/2-img.get_width()/2 + posy = self.rect[1]+self.rect[3]/2-img.get_height()/2 + game.window.blit(img, (posx, posy)) diff --git a/gamedata/objects/gameloop.py b/gamedata/objects/gameloop.py new file mode 100644 index 0000000..d77cfb9 --- /dev/null +++ b/gamedata/objects/gameloop.py @@ -0,0 +1,61 @@ +class GameLoop(): + def __init__(self): + self.reinit() + + def reinit(self): + # Réinitialise la boucle de jeu + self.objects = {} + self.maxid = 0 + + def summon(self,obj): + # Ajoute un objet à la boucle de jeu + obj.id = self.maxid # Donne un identifiant unique à l'objet + self.objects[self.maxid] = obj # Ajoute l'objet à la boucle + self.maxid+=1 # Change le prochain id disponible + + return obj # Retourne l'objet stocké, au cas ou !!!! + + def findname(self,name): + # Retournes tout les objets portants ce nom + result = [] + for i in self.objects.values(): + if type(i).__name__==name: # Si le nom de la classe correspond au nom donné, je retourne la classe + result.append(i) + return result + + def delid(self,id): + # Supprime un objet à partir de son id + del(self.objects[id]) + + def delname(self,name): + # Supprimes les objet à partir d'un nom + for i in self.findname(name): + self.delid(i.id) + + def step(self,game): + # Addoucie le secouement de la caméra + for i in ["x","y"]: + game.globals["scamera"+i]-=game.dt*5 + game.globals["scamera"+i]= max(0,game.globals["scamera"+i]) + + objs = list(self.objects.values()) + for i in objs: + i.step(game) + + def draw(self,game): + #Je secoue ma caméra + vx = game.globals["scamerax"] + vy = game.globals["scameray"] + rx = game.lib.random()*2*vx-vx + ry = game.lib.random()*2*vy-vy + game.globals["camerax"]+=rx + game.globals["cameray"]+=ry + # Je dessine + values = list(self.objects.values()) + tri = lambda x: x.depth # Donne la profondeur de l'objet + values.sort(key=tri) + for i in values: + i.draw(game) # Lancer le script d'affichage de chaques objets + # Je stabilise la caméra + game.globals["camerax"]-=rx + game.globals["cameray"]-=ry diff --git a/gamedata/objects/info.py b/gamedata/objects/info.py new file mode 100644 index 0000000..aaa39ec --- /dev/null +++ b/gamedata/objects/info.py @@ -0,0 +1,37 @@ +from gamedata.objects.base import BaseObject + +class Info(BaseObject): + + def __init__(self,game,message,color=[255]*3,temps=1): + + super().__init__(0,0,game,game.DISPLAY_WIDTH,game.DISPLAY_HEIGHT) + + self.timer = game.lib.Timer(temps) + + self.depth = 999 + + self.txtSurface = game.fontfilebig.render(message,False,color) + self.blackSurface = game.pygame.Surface((game.DISPLAY_WIDTH,game.DISPLAY_HEIGHT)) + self.blackSurface.fill([0]*3) + self.blackSurface.set_alpha(100) + + def step(self,game): + + self.timer.tick(game.dt) + if self.timer.getloops()>1: + game.gameloop.delid(self.id) + + def draw(self,game): + + self.txtSurface.set_alpha(255) + self.blackSurface.set_alpha(255) + + if self.timer.getloops()==1: + alpha = min(1,self.timer.getratio()) + self.txtSurface.set_alpha(alpha*100) + self.blackSurface.set_alpha(alpha*255) + + game.window.blit(self.blackSurface,[0,0]) + game.lib.drawcenter(game,self.txtSurface,game.DISPLAY_WIDTH/2,game.DISPLAY_HEIGHT/2) + + diff --git a/gamedata/objects/menu/mainmenu.py b/gamedata/objects/menu/mainmenu.py new file mode 100644 index 0000000..352691b --- /dev/null +++ b/gamedata/objects/menu/mainmenu.py @@ -0,0 +1,28 @@ +import gamedata.objects.menu.menu as menu + +class MainMenu(menu.Menu): + def __init__(self,x,y,game,w=100,h=100): + super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments + # Les dicos des boutons + def fnOptions(self,game): + game.scene = game.scenes.options + btnOptions= {"name":"Options","function": fnOptions} + def fnQuitter(self,game): + game.running = False + btnQuitter= {"name":"Quitter","function": fnQuitter} + + # L'espacement + self.vpadding = 20 + self.hpadding = 20 + + # Initialisation de la grille du menu + self.grid = [ + [btnOptions], + [btnQuitter] + ] + + self.create(self.grid,self.rect,game) + + def draw(self,game): + # affiche le titre du jeu + game.window.blit(game.sprite_lib["gui/title.png"],(0,self.baserect[1]-game.DISPLAY_HEIGHT/8)) diff --git a/gamedata/objects/menu/menu.py b/gamedata/objects/menu/menu.py new file mode 100644 index 0000000..61f7669 --- /dev/null +++ b/gamedata/objects/menu/menu.py @@ -0,0 +1,52 @@ +import gamedata.objects.base as base +import gamedata.objects.button as button + +class Menu(base.BaseObject): + def __init__(self,x,y,game,w=100,h=100): + + super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments + self.init = False + + # Initialisation de son sprite + self.sprite = None + + # Variables de styles + self.hpadding = 2 # Les espaces entre les différents boutons + self.vpadding = 2 + + # Liste qui se remplira avec les objets bouttons + self.lbuttons = [] + # Les dicos des boutons + def fnExemple(self,game): + print("Exemple") + btnExemple = {"name":"Bouton !!","function": fnExemple} + + # Initialisation de la grille du menu + self.grid = [ + [btnExemple], + [btnExemple,None] + ] + + #self.create(self.grid,self.rect,game) + + def create(self,grid,rect,game): + elementheight = (rect[3]-(len(grid)-1)*self.vpadding)//len(grid) + for i in range(len(grid)): + elementwidth = (rect[2]-(len(grid[i])-1)*self.hpadding)//len(grid[i]) + for j in range(len(grid[i])): + posx = rect[0]+j*(elementwidth+self.hpadding) + posy = rect[1]+i*(elementheight+self.vpadding) + if type(grid[i][j]).__name__=="dict": + # Si c'est un dico, l'emplacement est un bouton + folder = "base" + if "folder" in grid[i][j].keys(): + folder = grid[i][j]["folder"] + btn = button.Button(posx,posy,game,elementwidth,elementheight,folder) + btn.text = grid[i][j]["name"] + btn.click = grid[i][j]["function"] + btn.menuowner = self # Le bouton a une référence à son menu + self.lbuttons.append(btn) # Je le garde en memoire + game.gameloop.summon(btn) + if type(grid[i][j]).__name__ in ("tuple","list"): + # Sinon, c'est une sous-grille + self.create(grid[i][j],[posx,posy,elementwidth,elementheight],game) diff --git a/gamedata/objects/menu/optionmenu.py b/gamedata/objects/menu/optionmenu.py new file mode 100644 index 0000000..f6f13dc --- /dev/null +++ b/gamedata/objects/menu/optionmenu.py @@ -0,0 +1,16 @@ +import gamedata.objects.menu.menu as menu + +class OptionMenu(menu.Menu): + def __init__(self,x,y,game,w=100,h=100): + super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments + # Les dicos des boutons + def fnRetour(self,game): + game.scene = game.scenes.main + btnRetour= {"name":"Retour","function": fnRetour} + + # Initialisation de la grille du menu + self.grid = [ + [btnRetour] + ] + + self.create(self.grid,self.rect,game) diff --git a/gamedata/objects/particles.py b/gamedata/objects/particles.py new file mode 100644 index 0000000..c803839 --- /dev/null +++ b/gamedata/objects/particles.py @@ -0,0 +1,42 @@ +from gamedata.objects.base import BaseObject + +class Particle(BaseObject): + + def __init__(self,game,sprites,posx,posy,velx=0,vely=0,modvelx=0,modvely=0,flipx=False,flipy=False,fps=15): + + super().__init__(posx,posy,game) + self.vel = [velx,vely] + self.mod = [modvelx,modvely] + self.timer = game.lib.Timer(1/fps) # Les particules s'animent en 15 FPS par défaut + + self.sprites = [] + self.offsets = [] + for i in sprites: + self.sprites.append(game.pygame.transform.flip(i,flipx,flipy)) + w,h = i.get_size() + self.offsets.append([w/2,h/2]) + + self.alpha = 1 + + def step(self,game): + + for j in range(2): + self.rect[j]+=self.vel[j]*game.dt*60 + self.vel[j]+=self.mod[j]*game.dt*60 + + self.timer.tick(game.dt) + if self.timer.getloops()>=len(self.sprites): # Je me supprimme une fois l'animation finie + game.gameloop.delid(self.id) + + self.alpha = max(1-(((self.timer.getloops()+1-self.timer.getratio())/len(self.sprites)))**3,0) + + + def draw(self,game): + + spriteindex = self.timer.getloops() + posx,posy = self.rect[:2] + offx,offy = self.offsets[spriteindex] + pos = posx-offx-game.globals["camerax"],posy-offy-game.globals["cameray"] + self.sprites[spriteindex].set_alpha(self.alpha*255) + game.window.blit(self.sprites[spriteindex],pos) + self.sprites[spriteindex].set_alpha(255) diff --git a/gamedata/objects/sliders/bgmslider.py b/gamedata/objects/sliders/bgmslider.py new file mode 100644 index 0000000..e7c869f --- /dev/null +++ b/gamedata/objects/sliders/bgmslider.py @@ -0,0 +1,16 @@ +from gamedata.objects.sliders.slider import Slider + +class BGMSlider(Slider): + def __init__(self,x,y,game,w=100,h=64,folder="base"): + super().__init__(x,y,game,w,h,folder) # initialise l'objet de base avec les bons arguments + + self.currentvalue = self.getvalue(game) + + self.posttext = " % Musique" + + def change(self,game): + game.globals["bgmvolume"] = self.currentvalue/100 + game.reinit_volumes() + + def getvalue(self,game): + return game.globals["bgmvolume"]*100 diff --git a/gamedata/objects/sliders/sfxslider.py b/gamedata/objects/sliders/sfxslider.py new file mode 100644 index 0000000..b6fb377 --- /dev/null +++ b/gamedata/objects/sliders/sfxslider.py @@ -0,0 +1,16 @@ +from gamedata.objects.sliders.slider import Slider + +class SFXSlider(Slider): + def __init__(self,x,y,game,w=100,h=64,folder="base"): + super().__init__(x,y,game,w,h,folder) # initialise l'objet de base avec les bons arguments + + self.currentvalue = self.getvalue(game) + + self.posttext = " % Effets Sonores" + + def change(self,game): + game.globals["sfxvolume"] = self.currentvalue/100 + game.reinit_volumes() + + def getvalue(self,game): + return game.globals["sfxvolume"]*100 diff --git a/gamedata/objects/sliders/slider.py b/gamedata/objects/sliders/slider.py new file mode 100644 index 0000000..d607eb9 --- /dev/null +++ b/gamedata/objects/sliders/slider.py @@ -0,0 +1,76 @@ +import gamedata.objects.base as base + +class Slider(base.BaseObject): + def __init__(self,x,y,game,w=100,h=64,folder="base"): + super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments + + self.posttext = " %" + + self.max = 100 + + self.currentvalue = self.getvalue(game) + + self.bgsprite = self.gensprite(game,w,h,folder) + + self.sprite = game.pygame.transform.scale(game.sprite_lib["gui/slider/"+folder+"/circle.png"],(h,h)) + + self.maxwidth = w-h + self.rect = [self.getvalue(game)/self.max*(self.maxwidth)+self.baserect[0],self.baserect[1],h,h] + + self.sfx = game.sound_lib["sfx/click.wav"] + + self.dragged = False + + def change(self,game): + print("Value : "+self.currentvalue) + + def getvalue(self,game): + return game.globals["sfxvolume"]*100 + + def postovalue(self): + self.currentvalue = (self.rect[0]-self.baserect[0])/(self.maxwidth)*self.max + + def gensprite(self,game,w,h,folder): + + left = game.sprite_lib["gui/slider/"+folder+"/left.png"] + left = game.pygame.transform.scale(left,(round(h/left.get_height()*left.get_width()),h)) + right = game.sprite_lib["gui/slider/"+folder+"/right.png"] + right = game.pygame.transform.scale(right,(round(h/right.get_height()*right.get_width()),h)) + + middle = game.sprite_lib["gui/slider/"+folder+"/middle.png"] + middle = game.pygame.transform.scale(middle,(w-left.get_width()-right.get_width(),h)) + + surface = game.pygame.Surface((w,h),game.pygame.SRCALPHA) + surface.blit(left,(0,0)) + surface.blit(middle,(left.get_width(),0)) + surface.blit(right,(left.get_width()+middle.get_width(),0)) + + return surface + + + def step(self,game): + if self.rect[0]<=game.inputs["mouse"]["pos"][0]+game.globals["camerax"]<=self.rect[0]+self.rect[2]: + if self.rect[1]<=game.inputs["mouse"]["pos"][1]+game.globals["cameray"]<=self.rect[1]+self.rect[3]: + if game.inputs["mouse"]["click"]>1: + self.rect[0] = game.inputs["mouse"]["pos"][0]+game.globals["camerax"]-self.rect[3]/2 + self.rect[0] = min(self.rect[0],self.baserect[0]+self.maxwidth) + self.rect[0] = max(self.rect[0],self.baserect[0]) + self.dragged = True + + self.postovalue() + + if self.dragged and game.inputs["mouse"]["click"]==0: + # Le slider a été laché + self.change(game) + self.dragged = False + + def draw(self,game): + + game.window.blit(self.bgsprite,(self.baserect[0]-game.globals["camerax"],self.baserect[1]-game.globals["cameray"])) + game.window.blit(self.sprite,(self.rect[0]-game.globals["camerax"],self.rect[1]-game.globals["cameray"])) + + + txt = game.fontfile.render(str(round(self.currentvalue))+self.posttext,False,[255]*3) + px = self.baserect[0]+self.baserect[2]+50-game.globals["camerax"] + py = self.rect[1]+self.rect[3]/2-txt.get_height()/2-game.globals["camerax"] + game.window.blit(txt,[px,py]) diff --git a/gamedata/scenes.py b/gamedata/scenes.py new file mode 100644 index 0000000..8da14be --- /dev/null +++ b/gamedata/scenes.py @@ -0,0 +1,23 @@ +from gamedata.objects.menu.mainmenu import MainMenu +from gamedata.objects.bg.movingbackground import MovingBackground +from gamedata.objects.bg.menubackground import MenuBackground +from gamedata.objects.menu.optionmenu import OptionMenu +from gamedata.objects.sliders.bgmslider import BGMSlider +from gamedata.objects.sliders.sfxslider import SFXSlider + +def main(game): + game.gameloop.reinit() # Je réinitialis la boucle + bg = MenuBackground(game) + menu = MainMenu(game.DISPLAY_WIDTH/4,round(game.DISPLAY_HEIGHT*3/8),game,game.DISPLAY_WIDTH//2,game.DISPLAY_HEIGHT//2) + game.gameloop.summon(bg) + game.gameloop.summon(menu) + +def options(game): + game.gameloop.reinit() + game.globals["camerax"] = 0 + game.globals["cameray"] = 0 + s = BGMSlider(40,40,game,400,40) + s2 = SFXSlider(40,100,game,400,40) + menu = OptionMenu(round(game.DISPLAY_WIDTH/8),round(game.DISPLAY_HEIGHT*9/10),game,round(game.DISPLAY_WIDTH*6/8),round(game.DISPLAY_HEIGHT/10-game.DISPLAY_HEIGHT/30)) + game.gameloop.summon(s) + game.gameloop.summon(s2) diff --git a/gamedata/sounds/sfx/click.wav b/gamedata/sounds/sfx/click.wav new file mode 100644 index 0000000000000000000000000000000000000000..3cd4ee14505843548f1c1bfa99fa63be793081eb GIT binary patch literal 21190 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

Ye!=9Qq0Xl8t@r{+JfCw1xM|>#g*bwH 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