From 6d1b50d0d6ca150e7e2c48474a0c62818632e0cc Mon Sep 17 00:00:00 2001 From: Daydreel Date: Wed, 2 Apr 2025 18:02:13 +0200 Subject: [PATCH] lot's of stuff --- Assets/Characters/Female1.png | Bin 0 -> 27570 bytes Assets/Characters/Female1.png.import | 35 +++++++++++++++++ Assets/Characters/Male1.png | Bin 0 -> 27348 bytes Assets/Characters/Male1.png.import | 35 +++++++++++++++++ Assets/Emotes/emote_faceAngry.png | Bin 0 -> 281 bytes Assets/Emotes/emote_faceAngry.png.import | 34 +++++++++++++++++ Assets/Emotes/emote_faceHappy.png | Bin 0 -> 242 bytes Assets/Emotes/emote_faceHappy.png.import | 34 +++++++++++++++++ Assets/Emotes/emote_faceSad.png | Bin 0 -> 241 bytes Assets/Emotes/emote_faceSad.png.import | 35 +++++++++++++++++ Assets/Emotes/emote_hearts.png | Bin 0 -> 267 bytes Assets/Emotes/emote_hearts.png.import | 35 +++++++++++++++++ Assets/Emotes/emote_star.png | Bin 0 -> 264 bytes Assets/Emotes/emote_star.png.import | 35 +++++++++++++++++ Bullets/arrow.gd | 2 +- Bullets/arrow.tscn | 18 +++++---- Globals/EventBus.gd | 6 +++ Globals/EventBus.gd.uid | 1 + Towers/tower-b.tscn | 46 +++++++++++++++++++++++ Towers/tower.tscn | 14 +++++-- UI/health_bar_2d.gd | 9 +++++ UI/health_bar_2d.gd.uid | 1 + UI/health_bar_2d.tscn | 29 ++++++++++++++ UI/health_bar_3d.gd | 14 +++++++ UI/health_bar_3d.gd.uid | 1 + UI/health_bar_3d.tscn | 16 ++++++++ UI/shop_panel.tscn | 42 +++++++++++++++++++++ UI/tower_button.gd | 7 ++++ UI/tower_button.gd.uid | 1 + UI/tower_button.tscn | 25 ++++++++++++ UI/ui.tscn | 14 +++++++ VFX/death_particles.gd | 10 +++++ VFX/death_particles.gd.uid | 1 + VFX/death_particles.tscn | 37 ++++++++++++++++++ VFX/sad_particles.tscn | 37 ++++++++++++++++++ enemies/enemy-a.tscn | 19 +++++++--- enemies/enemy-b.tscn | 16 ++++++-- enemies/enemy.gd | 25 +++++++++--- icon.svg.import | 13 ++++--- project.godot | 7 ++++ spawner.gd | 1 - world.gd | 16 +++++++- world.tscn | 23 +++++++++++- 43 files changed, 657 insertions(+), 37 deletions(-) create mode 100644 Assets/Characters/Female1.png create mode 100644 Assets/Characters/Female1.png.import create mode 100644 Assets/Characters/Male1.png create mode 100644 Assets/Characters/Male1.png.import create mode 100644 Assets/Emotes/emote_faceAngry.png create mode 100644 Assets/Emotes/emote_faceAngry.png.import create mode 100644 Assets/Emotes/emote_faceHappy.png create mode 100644 Assets/Emotes/emote_faceHappy.png.import create mode 100644 Assets/Emotes/emote_faceSad.png create mode 100644 Assets/Emotes/emote_faceSad.png.import create mode 100644 Assets/Emotes/emote_hearts.png create mode 100644 Assets/Emotes/emote_hearts.png.import create mode 100644 Assets/Emotes/emote_star.png create mode 100644 Assets/Emotes/emote_star.png.import create mode 100644 Globals/EventBus.gd create mode 100644 Globals/EventBus.gd.uid create mode 100644 Towers/tower-b.tscn create mode 100644 UI/health_bar_2d.gd create mode 100644 UI/health_bar_2d.gd.uid create mode 100644 UI/health_bar_2d.tscn create mode 100644 UI/health_bar_3d.gd create mode 100644 UI/health_bar_3d.gd.uid create mode 100644 UI/health_bar_3d.tscn create mode 100644 UI/shop_panel.tscn create mode 100644 UI/tower_button.gd create mode 100644 UI/tower_button.gd.uid create mode 100644 UI/tower_button.tscn create mode 100644 UI/ui.tscn create mode 100644 VFX/death_particles.gd create mode 100644 VFX/death_particles.gd.uid create mode 100644 VFX/death_particles.tscn create mode 100644 VFX/sad_particles.tscn diff --git a/Assets/Characters/Female1.png b/Assets/Characters/Female1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb758cfc9a8a2314397b31c316f188945752a6ff GIT binary patch literal 27570 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

Q>5c5lpPTkD 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 Q{8ueQ15^ESJ;#Xu0@D2k-v9sr literal 0 HcmV?d00001 diff --git a/Assets/Characters/Female1.png.import b/Assets/Characters/Female1.png.import new file mode 100644 index 0000000..f4950b6 --- /dev/null +++ b/Assets/Characters/Female1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://315k07rsgf6t" +path.s3tc="res://.godot/imported/Female1.png-32c7b3afa8b348d789d25434c42d0b3a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Characters/Female1.png" +dest_files=["res://.godot/imported/Female1.png-32c7b3afa8b348d789d25434c42d0b3a.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/Characters/Male1.png b/Assets/Characters/Male1.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d35256cef19b669f12ae6242f4d815bb2ae698 GIT binary patch literal 27348 zcmdqIc|278-#>oFnvjqriDW5ZFm^GD78S}85@Q=nma!AVj3jF$MG~WZQ?{ZkGZI-d zm9l1E%R1H>#?0?MbzRqeeeU1=xj&!#{(Zmy{5&3G&Ybf;@9n(Lc|Kpy*YhNvHao_@ zdFN&bg7{628(TmS3~aI)ZsG!8F12s6z!#7Ial0T0Qr^q@z``FQLm_B$j+d2fu&wDS zT~~~+va=h;1+5(J>kmpp&_QIlzq6}1I#|jD?cwF8FFjXDl9uvv)0eibOZG4Wtf+>w*e=(ZSAA;l4h8LAv4k(!c7}1>3CMaA~PuMS{Kc zr4O+hl(IEFEoFoWL`!KXYbv>_s%uDT=_speBGh$s6s6QuRJGwM+Hh5blB%Yzx{9uv zn$#bE(xA0KH+NkN%!q-VPVQ)2xUy52V7N0M+dH=23J#40wt7! zF8T#Khb#F7?ftU`V|0*fpqGEJ7sgMDRim>DCL~y28uaw{5Pbdrs@5;)k7)uE1`l`k zhpQ^9u!i)jpquMo<@`eeeSS6W<_bsqpncJP!9k#`>R)BSESZ}ARs6rK*4Ov1(m}yT zLP3xI7~6kYI>_pxKN@a<4#I>4x}uMSf)@Aw*|DHt3-o_X&A)LvDE`;U{+^g%Opqt$ zpG?AEhyP(Jg1y}TNrS8-|4{SYv+?qC!-NIxXN~=jbI``l!DxMHH5D~gB^7lg6%8v@HC;7?E<*i)ikhy9%I~74 zV0F4V2Rr{)h1E565jy`+7~|&Ue(_%xb#v8q#{~L1gKOvI>+FGs`}=wPYR%MC*TgR< z*xAn&ZDOo14Z5oA<>jWUp{C}l=B%Qrr0R-5D7m?*Yb)uvXlpCEtEjr7RaI2o)e)M1 zo^OnC4PmV-*7?70F*l4WsN=5-qN}Qcc5!icR#$S>)>KtOsHtlyX=`X8lw4h0(eAEl z?k?^sYJb*d9_R(`a%Z2v*UIXZ8>mrB#Z?3C?2b@EySZyAx#*~?DrviDt0`${sOhMx zsGwC{+;ya-{-a$Zj1MNz6ypZw9P#)4CPqf512OJiKHxx*#j(RuCP$1kRdqBqmDH3~ zrKMOaLl^V|jLDgGFX~JGxzm=ltbIa$??kBl`h$a(S(onDS$6-bz<(UK_VWT)1B{!s zx^#ba)e=1DK$k#kzxJK>3P=0c8he4s4f@p$H4QN7|8dCfZ-+FrG+9rPUw5_9T(U$5{ITWZCH3nD)^&FMJp@0=gkcr==Hai@b^~!>Vnk&!S?>;y8HK@ zpa1->`M-Ca;4EVC`;h?u&rgfrzm0!S=26z=`32az|J8Hh-(86S!F2&1{DlzzvuFA5 z_A&ooF@d#kehvI@4C~KbfVQzV|Kf|_$6t&S?Fa7HK)@$=Ju}gTAk=_~@gb}5J2Tah z!MncY&aL~pwro*)ExTt5-BbeYdCi^T`vFF#H1QPcJKuT29&dEXc}MWA4Ch8pkJ^&# znx-)oz5|Y0!{dBc;!JGA`8ZBVWyEU-IH?$^v}vE`BuV*+bvFjKM0|ebqt9ip`Evc3 zcUGviO_Vt$5ADCM~#~&Qr zE&>VdPdmbiH*R)41CvT$utoIw+1feyUhEs_ZOJTc-(>K3`QB*VL|0u_Yv+E^x7_}W zpe8-3PSO+`1j#;pxCu8O!|7;oZZotasXirff_T@qwWT*=+~%x}_|0$MnHzwZ+Ns?nIEIB zrp1J*n~baY{=DEhq8DazM9OBPQW<*x*i4M?`#@iAQJ(i@QKEM@EhXzR{Gj0X`2$lw zxAvEt?<5pb6*i`n87p1#i|_-hp#IwkxKueka%~d?4MnY=wm5fTJFMecqSvP0Q|DyO z8sPhtZf0)sqpH147a%LDa{Uq%BbR#?$zZV_-O<;7W#% zKN_Qt*K+5J5;v+|C>V6|oZDy_L`3;h6J%-GZd(ld`e}=6Z^s8F#-gD@*tO|L;-KqRcwbOz2LUK4e zCv$|vm<-wPBbOURXkqA!;0MRD{u!KD+c&TY2 zF}-iU(lSh?@RraEpCR@(OM?y={tnyV2a+Oj7WSlaF6bMsnN6iIB4%uvQ`^I<&ZEOM z!9t))5CtD-E1N>JS~W8jDO3$w*r$f-21{b$L@8ucyu;xADQc`p=9udc><8+~9%8gX z`<+2-9{=&GwT#4z+)k9jB=P|pdZaQGbZPO-t5Fxo(CbsYZI>Z)ML!%cMQAXxvho4f zCCbUzfXgQs9=Co}LK7*?AqP$wK)WL52Plor5!17iwcckgCe|#%Zuy?BmrSY`S|b$0 zG>TWb54@U>`N}{y>`rK?kt|R#URw>89RwXX$f!X&yD^Vtf`GVEucE5T`sgq%^y%Pw ztjLFUGRbAAq4r7>s@tkCg)C|)g4L{7Iv1#VbOm>LuFwJV(o!%|>LTOmXy=Q{x^#Hu zT=$^p%)p{V%(N*TnEAew;8Iem}Y}GdV!y?z{;rJQ8#1diNJv#UlABG?fQ4 zJCetXZ_`(yEH9P@K+R_(y_4;{f@}k z*HSM=c^I9O?W&E(SN!=w_66=seg^IL9nxGszsFr+%tX%rEIIlkz+;$OO63RY$N-Z* zQ#~G}Ij{M3z%>!+eGK&NhNjFE^XaeabbC$BweLNpxxxHU-o|${gdY*IcUcR3`4y@5bTdZ!SMSeoz=eyphYYt8ibgX`%K}EAe4N8=>IR2`Ng3s7$?1(0M zgV2VnH~<5;Lq4hI$$kL{ir|VDF3ZY=x|?ycckQ7@xM6p*M{_5G>`wf|2Gwj@NMCtJ! zWyVEYF&cK9)V37n@w(jb;bGbRdv|vizdLl<{A#z&{zT^OHR?A5Ot9=7Dj{=&KuL>j zyFGQx(o;zxQ_1YfQ3Ydc2>sEgbL`L>d?^-}vU23`AsnpZYgV@9mwb|8(>D{{VaX-Y z9q9)Q((>Lpb8K*ezMlSkI?XO<1OMOvlwooMXU-|rBkGm9a^$vaZ0tTIxK>uf&Yac| zvGU7QyOuf6-k78-5wWV|yq!j`;6iNpu+&}r%Y0i#oJ=%Qte*>d`>@IIbIH%)E2!en z&$2_Qt#{()yR`dt0@d9xgj2*620#|77HR17F&Jc|uTO=C_1z5COP3~|C1UbRdBIRy z20bDs8b5!M#BEG{8g{=(BV$$P@VZQ9bB$<>H=*g6niC`$m?%rGO+kPk&cj~A80{F>OHCiiy*&1-3c;8JLJAi!6{b?E7$16 z${J9~4$3Bb!dpj|(d<=5Ox)fsUItTi$0v2)OM&^liZB`#aN94>! z2inGaGg=ri;cS^VGNs=HdmR>PcAsiPN@;CW68CIkeoz#=$Y1X=9wc`28g-5Ky}_Ub za=P6mJYI#Xv^`kznRHG3(tIRg1g?LH-Ml{;Fd4eu{Ajf{e)2c%Pp0+M9}&v-e+IRg6TgtJy_5^-;p6Boi7=zH+05 zSwpG24SrUxmN&F^0(4h_245KIXLdsVbC@)q7euhexvOOJCt>-$%-Rn}UvM6OgzH4$ z@5iUDjko2*x6Jv}zfQj3Ps@D)IbGBb>p!@^=@@vd^|4=j9YarEouh@pl)b9z5|&rx z72z)mZe-Hy$Xg6tar5`DzM;3BJ;;~|c{5QwGwyxUw1Ps%)>qVtZH$v@69ao@A4etar%<_KqP zI+@#$n~PS~_81RV~XO_5-WqNQ&SJ|J~hw*^3M-Z)b z0O`NJsFcYlZ#w?)kR$-&OOFXSPJ**sUNl1l9N~C)NMnElO$ROR(A98Xv#IA^s%Pe2 z6nQChx-57crNEqPJ*jUbBAd==7lB49)SSYOWxd7Au8j!LGse;-S=_;RhF_5mko4{F z=a&siY4nJ6Iv9yP9nrn9*wgn}_JVo79wXKFcqV?X_4!tV^(HoEjq&axSl$JwIkno8 z`O+OKJTj8z$1Tk)R?TuN95UTB5*NS&s&TIF!bZkFZ7Q)+OZ{Lbm{5%62dlI6bm>~B#{{g4Rar*lHaL)B}EBr z*Qa|-_D65qyFMcFHgf$;25#~lPPEw@<9jHda)D1WS`@Fv1YG6P(EB+T+6Uj-p8I-? zQ^iFwfS0A|&Chk6#-(+0bvJV{_pT#r8yQp&+&D8vBIlu6wj0&l4$8!QANR)O(iJ;F zV{0(Q2r5}Il6b6gxA_jNa1-+3UZc=xz$AAkN#-`UgMDSlIny&sq9+4+D}U0#&Gk&a78aj5}$HyWF?`4tDlsh%c7Eo_i<-0Gk@L{ z{fIV;y=K|5M4H5~@AUpDUl>0r@K)3)hNqJTAKI{(WcxzKed6saqrf5gAL{)#EzYpxcMN zDa((`Wqk2Yf+z$|y2-9&??FvJ#{NO}Pg4WqqGjQevpDjC6?88u-JNUq&mYAHHRC#@ z0gY*UBU?w zA&#VPjcm(o*~~^MjUCu_E?IA`k~}Ift)IZ63B66jQ!4_Hgs+}T(Q1AZX_2_zdP%#F zUa0`lbD{zBsH#Tua;@xE?<9c@V&%oskrioU`t%SYfJZcG#Z>N|PqZd=LVuCnf|Ee= z*x427e}bXUJV*tsBmL0f0vJ88Tbk&|7#??@=83;qbmu`YDP!gGdlu>GL$0L%y?n}?xNx)V z`t6;;uVz$|Ei`GO5j#Jb?sdB*A00|*d3K>!&QX3F9y^a2v2#iHWuU)rzhf+IDx65% zf;W~PyY|0kDu3~s=Hq~^1OP%X{dRWc$=R3GRjkq0nhR7!>yiUL=!3_tr=wS{J?*)B zy#+fpyjU1gB&w;&2Dxl(P*5LrLQZ&XDGGhkhWxCTelcroDEL&0aZeiZzPP6B| z2=Nw_?gi{P`?Y3|q~+Bd+{#!5{dp_$L+Aygl4!vu5YH`3#B?pm=en65v833Ej6NEv z?Y)*-nCzRSzyhI7t-0Q_%d}-(*Zdw*`;^ZDd^FXNug#p&wK!z?Sg{3dH55#DjTbms zNHpWA*?qArsk$f^uE#L*Ss%>O*)SKy}5vagr)@y3*w?@D%4G%2yNm)Z*eB}=} zQT@s+-+AO-PiCb3!B8v~x)(FEqTzQ0>Y}k=%M8 zUZ0A^XQ?~7)UB;snyGeq35mg^h>ix=7)j;lS8ygHvLA}y$6NXd-_jE`di>!*oq;9u zFiy0_l&x_y1me*c>RZppGFI>8nEe}%4?ua!9BX`tC|!0#Kx`lY$XA5oW3k{wxBE>b z4rVr8?b;c&PC}8tG^Fq{PL60m91=JSg3oJ3m+Y0R`9}w;ad#2WDGsN77a_jKM>lPw zEK~S#MQkBc%7<20>TZJXcS_8NJ;d_LlM&*cV6=@ze-fs$!*P z)Pm%jmwe$$N#_?a=WVvH+E_h*&?P&MrjaM3p`C1o*eL984k4;iDE;FofGCR&sa%R= zH&YPso;$%Cv#H8r{1rJ{MYLuE=9JuVY( z?UWD4_m&NMzz?GH7^S6vGjMDdKXqzdw)OI^?jM(6xQ@hPrDwv-r_ZT(b?^7C=g3K0N>2-*X9c;$iO3vhuQ9O!>nVw5F9yPi0Eh zra;j2=Fvg?PDnrYJx}kW{d{7JAuA+@L%2h=B>F|<`$~9#}pn|-c zgI!N7#7jSp(WRALn7suZBmt4;-ZPx$yl+Vz?iaFW6xz`_5w9mCAA3!pCOczh_)m*K zdL+;iPy}WquB8+{gVYR?<1fJ=|MtNiJC%*j8{G3pu>$+5nc2ak13+F0T0!U|XtK2iXAw&XtmCPhtj;Nt9-;Yg1LdUrLJbFW=JW#F$6R ze#ymENqfAYoZj=9@i|wlM_KuI}v- z<$={0dWfEAX}MW`=<;ucf~Wek$dPcL?|e`s>2iuClx#^^L2?z zu+MB~5uctmS>8|U1->I~K3}K3iLRlT`)D5_x6!V*rltU2uh*TE6k|=4&YMXsEEbM;C%QgxwHLA$`#F3?1?mC+>pTR{D z6gNTNT#-Tf85AM&=)oLJdoAl`BvudqV+_|!;-BQmwzRta=^A6!@6PVTZ2rt|fAEoEGDXe4wC_ji-xCGl5i(calaZIu19Ss= zka8WThq=7Ep}VvhH&O9wUha?fG1Mx=v9zjh`I5G31>JflutgFEO-HT8TnH*RcWMe7Y>I@PlFLs@bF6ShI&AQ6IByMAJyG%_HR-^ok{AJPb6Q|G>6fnm_&IJ! zl&w3TesYXZ9ZY$fR2WBoaGfwKz4sfT+PDAV0nkcxR$`095ULA8mSd-F<)2^sBAgEN zj#D4#Qe-a3NHgamH^i*v8pAri9UcgRsf=@f1Aao!3azh2@ z^*xmr;Xa1Umo^VVFXNnJ&xEy96pTN=W=2#+dj3-J;ooKSSE{BN)|Bo%LYf}gM)otq zK@`$lb{g!{Yq=SsYv~i#_0Lp%*UI;|sGf547DN0&=3#e8;o$*TqCiGV`F&jHfpNzt z`EF&w#94ZfLQRDS-ZFiHEk8)$6n2B|vkPDHt-r@*_S+v4zH6?#Q5UQjz*SZC(8RytsK$OdE<_vS0u+_6l_deGso8&d**5JkL&^g71d)&K?!Gz3TC`Cnl&!)mQ zom#W`yo$s{7SitUSKWNhtwiyd@x=J1f4SnefwX4kDRVknqTIhC7Y88Q$5Q0XI=I$( zVt}|5<)EkLqMf|@mD%eZTzzyBt(^4wR2=OMH_)-uuAX#dZ)5mI!E*(mWinmsBppmv zW;Ju+YVVC@oG$Y)iFYfIzCn-+8IlM6YgbByrR-^B{a{{*#<|a)c8b=+>~0l32SGc4 zW)9Un-BSV>B@lGQQNaN5+k#52Jh*gHh>~cI&BBTea4lJ@e-$5UdwF?Gtjb1CnkW}N zqqt*3bnOgH(p7Qjl&Q=E!QJ9nJ*hx0ujAqtG|+HIJ(OX1|7?LEOz@G{^LySf5k&dH zg16Bi#=Ym#J$(7XgTr+;4VcX@fGohQrN$_)?3hWue2KwU@Dz@C{NNBS=Ei}c=`Vsz zkcVIev>;gDI|(-gdIM;q_4X9Ej05b}seAND1?V&Jc+e~OmtEq!jJ1p3-2HH9$V+qt=uZU>lI)0 zBUV~qgVIUbqU4vE#cUN_-120RNeW|jP}kb+Q|do{)LvWZ&D?Q=0Jp6GYS>j-lpqO1QHVw2Hxx{Z`n^bb>!k|mKNdDQ#GyBI!7eT z(at6wbm5D^mTjPD>wX1|ixt#R&4Il0D*|=G{$^+PZ+9eqy?$Att71{0(Ug_Eri+&v zkA_6ZxEo}h;YlnckfWw8iK1m@w7OHut_!|iRWp&dz(jcZ*iP;~U5=A7*a(|KEh#!FFydOF zvx+Y@2i`od>Sv!?AxlzE zPM|(08UkIN8-{u_(!$fyulsf6f}Wr>i1)HMZfNj#NZ|T7Z8LE;oP$?axuVSJLs3u- z_2rB3pA6FL0vz~X4}L*-dB(g!e>mp!-7UAF>;JglO8O={t3O-be!!m#~oXE z71b-1lo&9AIt!HlbyjE`QeF_NicA1>%DGkG-fU(_c9rQ-1qZQ-zJ;~E9r}900L-<1 z`q{;Qx%qC1sdx?3Dj=;kir9EQ%)T~^48)S2bKFqMrDZiU0l1&&k@|wGU~{sH9+ImI zjsM80_!-kz(Y(+ofbW_udQu$|hop#cLq(AuZ^zP6@av?>7;Ys-_B7*SeQ5lV8J^&V zfnxq9A^%Zo^iU~5abDomC`^3tDOdh475f6$C(@J%H2bGoFRFR#o$cF*PYXMGCEN)y zmlpt5ZD*!nRwa8S%BW!qJF`!O(P^u}8TgVe-3`RUML1$bjb)S>427OuvxMA|S3OoS zD0p%qg5f80y0*Xbh8%O;v17%D_ABQeO`SUi7=;jP7$syBXrnMm zU^1Bm@&IpF(O-s0fI0N=s$?8z?&k$DByWHJyzDCwi?-O_>t(MIfF3hjj8|5N1k`n` zoyr`y5is!%W(d4huSfGYF{ahrLl>@0en!UrY+QFSkiXjb@;%=PeeEmRvbSM%Bu=j% zkRW!)HzTGgy9UxK>^n@5Lf^qmWDIN!hf+l~^VjQVJ9o;LP#`{a}Sxm!7^LZ%d^`|VOaPNwet zw1Z@1G4j&p(XPlon%16yUU8zE)B7wHEY;z=!7J#1jlemse205o(sUfw`)Acs;Qk`P zB~b{k(-_{}(ey^ff)_;E^}oCZ-C`y*A2M8;CwNgu>?Z0>)4`sP@`GulrER}8d5xV$ zVTo-pUs~83-{g0je*%I6LAXUs2C8X{%wgJkxKxgLBwDn_))I9EgydguaDPH*r+lUa zY}>x=R-tz@d-(kW7rgM`hD0E{H)mp@`R_*M&{jt*bd_Nz$ao&_sGg<6f7r~fomorb zd-aIeiv9dq_=x4lQSU^M{M*1baJ24arefnbyV415q$BE&u#@LV8 z$FLe1$_U{h|8(LOCf(=QG1w?do5~7v3p-&{XmH9La|ndcQ2zc`+flfPlV7+tZKr4~ z%3r@Dt5@qfGEQJKfT|h3(ay>7vy4^6-;M(J!Ml08TU^0;K&2l~u|G`rddH1#6d`B{ z7rAu1eAqG;%k)IadGPBQaITUxpEe++L9 z#;OBKy>sJ~iL?+(l2j&>r)Vl_BU3O%^)xgQ4_t zdLay}j%Q(?0Ny77DITnwWGKgo>l46R?EQXa)t2v3qB%|&U&a&dT!Us zJ97Dz$hxwk8zf49{#+umig2BrH?Xl_HiVU$ZJD(}GZ%^1qqcGWMMbEpDq6HGFdKnU zTm3&;k8$aJyLM_?Jv{~53h@3ouHIgG9TjB#ws^t`)9iad+nE0#c@pp zWKbs9DM6pjOrBgaWmK<=GTuwEr1%Xibkx_xrOo&Xwx({bvt=7?bsY5p&hEtzQC=_b z1DXMN#VOl&N?H9}3v>MddIy(V46gvRkZxjk($+YfpHP^FVL=1{_Q~jg$l7KAA24W3 z6w~>K@24@`XLbQLLkngf+|T9HjEV)Drl(IZG4rs%LbL`a=Ngbl(5#CH02Y}w0)*MQFX99!v zTzk&p#1i6vM);WXJV_?YLgmGE$L)!nOAV6vNR;2m=phT>g%P?Y zb}|bu#5VXNDuiNpKCqRfTC9Z-)m|ngRg-2J=JEzy8AY>XflAUAeYBxLP{-R2zL9L`xWQYgq%E8?`^G`}oMN~2!i=R8 zyf=AV@2Q7>*B9l)Sjp1ywKKo{ek-Fk(tWgs1A!eo1w@2qa3?xplgIHsW6u@wW>{+l zC3pjn+#%ov1?r2KtFY&+Dx&$&ZUB7f}(0EJ$-rz$nY&|K*8Ae^l89%$IA%> zeXRV=uU|*6;wn3Xds_yRm*!|wHGBpjGe7pZf1e#lq!TkhF1$6gG1HF;a`uV{=$jBo z(s~*GL*Cqsl{fFLTiaT$_;^F_;@Kv1`8@cNE~It!+Aj}Zv^!QTj8iWCc)M{eoI^VO z_}jhz3*+A36?wI_i~f%2QjZi6zNlp!mjq=#eM|i@4Gh_X2ikfLOd~IMdHC%; zAeBOBY}*n&*Yx?$3I-G3JWNnn&HQ>6cG`v`u!%Ia4!iL&&sk-jaeRP7{fu7!+zkuC z>UkK&T1T9Ut?zv2L7w4xgA{@rRLdW`xug#rW0nM_VYpSQ>E^U@SgzE!`Zyl`Zpp+s zm|ZM7#8@{vB;aoM771+jISc!Tz-`3V)5{4}%a1V*>aaZfYOA(l+|&M*|BFJ7d2Q}{=&qT zHI^eG0ecvfwXtzEJN8dXs7x>rQK>#krw$Yn$sO2Enh>jbk;ddQ&2mhlIM{#ee3-=* zFack64gSEnBR3$Xvs{LuJ}7^(riB@-!>UKlejNHLwhj^kKcoglneE?>Hl*+MtXQ%L zvI83sKI8p+2;WY~yUD_@5z?EXqazKG5fB9bz92mUWP9zLINCkMvOT%>kIsy4AH>gWV8dj%GIzR&DP9*oCLK| za7h4r>D!|F@WRCmCUJ2j$VXw1zF=Zu9>%<;g-l@EY^n+EDCs)Yss|O6MP#*+fre|q z)=K-X$PO_Y?!ATZEjybj&J$93;qW9;t?!$luC;cpVnm?D38`=fntu$+zd`N+K76N* zlkxMzSHwS`K680pi)q0liSOnTq3aNG(A&7#-q7j$)s^;X(o*=JByKbxHsVF*;<}^A zfdkKRcS-zjNe# zh1i{43^5VGq3@=jrp^(cor;*Y{Pokh4Vz1?P`75jeZ6$axMsyvGP z*0)RPi$43Eq(>p(Js_(m)vu2XG)E(C%7qXK3-O%$Z0 z{`da+t)%fC1$&+jUN>eb_Od9d?>iV(SxHH)w)pZ%N$U;W%@hrax5qneEmto0JS17D z?W^(OodC0*&b)c`YLlz0D-U*G5^&e6K{Wuvl(3s-nJInLibxZ6 z4fLoXen$^Fbh!c#*5)?QDgn9Jfzb8|gexf>{x&UEQEC=K0rjBw*6^L-n-0_v1 ztMoT7eK5Ea{be+-L*!S2b>!%1Fx;PdL5`!n5yPbut&s!Si_P>x+>fmtq~J|C(Vx># zLj#jZa*8=-8-&lx$*t3CS)Vff?8T&syNOX`Oy^qGmh8V2c)8MNnlV|*a%#PMYe`e> zc*kc+Dda8SwdM-gy9Qwifnr8|g%C`sfou0M2W; zf&Nq$R+MxjSkn6o0Mk7^3a+>ZaN^-JjP735z73FuNj|{F1t~s#p_XN8FqhHK!vcIo z3V3jmd!SRZ5LB0O8uo{YeuMvzT#EVhveMMbv9+QHWt%}qfB?@zX@Fa|4?1A=axmt~ z>)gXUwhreLUfZb4$lUcQo29b@WSIg6c}%NNx((>t;@gxH$3gft>q z`z&BYlaFbxi3S>N1w#B_H#da^Sghi6T4{aB>|_H^O|xLxR!swlHwX3dc3~~j5*(cl zCkY!K{6W+IoVu!~WU|kqVx5qE7-umxEVuYD}#CEu38gyBjrZSunq3 zSbF4p(;hHXm#w9(%X9jn0x#EAM#iTC@34B=s;GR3StDNy%uvFV^h2LenU&Rl(s?{$2H_Ma(K+U7*TH%0F__v#CId3ifCDt#52pD#7Ex`Lp69b%2 zeu1w#MXO0SbyxZy7JHIE88z6^fQu#Bor#s4`=N?@?i1@UI*_eI4}*brR0+6=g~JVF zYDch9bb!uSiDRj^A_<@*3_>>{KXWbW&7MGDGj0?O_)vKAZA!CAi-(M%=WP!I>G>+h&?H;&S%(1 z^C){ChkIJ=AvA{ch1ojT`&0pLu^7^R$wiUJmg#Ha#C3c7wwyxLcmKU-JGb-l7^@jb zLK0ZV3aTXiu0sWm$PePEaka-BJ{VuY=CSTm&qjdD`zp>3R5^pZzYe>6*5Qh5j95aR zP8#^y^rAwM<+ab!xUu)uPql;LM#A?z+D6`q-`;vIL`>OxpG`AL=vK@CW7eS^y!@6A zXRI;@<^S^9vwr+i@0;0*D$2T8xT!@x8EH&jT-RwNOBL(EIodKS!b*b?J+d&gGoPGu^1<$sPD= z!KR(EMiLF?x(j-#gjQaIk%tjVCxPBS-k;?GHjP@e{MsGy7tcQHbi7dl0eIF|$aM79 zS<6xUOdA8&;E8R75*WL|$Q2z*yM(99)Da5Eqp6jd%k@#rJGiWY$nGesw{mYI@-__c zprfAO(39HHLcW;j1VH!h&3qL296*;j{9HLBT85gqdT&3?yh>E0*;S%uw4Rj0@l^sR zx4t|6^`WwocSzSo3k~)RAlBbO17A9ErK5?RAC%_oPj*@Sm@HK0!2GhOWhy2L;|va4 zR;Yhz1FWEk@zBVG2J-DdHm;?HUZlWJu&?(wCyQ3HIzpjG&DP44t2?xbi|6>JBY7kH*O^d_8Z;wRzkP@~VlQddm6??VXBT57 z^KZqbWclW%c;9BTeKIj+98l)KcmN+ zaK{u&zESryk$RhE#*Q}`Za|(C?-G_^(7IDo*&0dy^YD#m$Uurgi{Ug~xXxZ~)Sz#!d8`Uv--eClK7jXi}x&i^CdcR*7vo(K5_Pt*gQk<6{QbMxIn z9jW;we6bO25D8-b7r=6m7CDc&_hXXfn!~i=p`y8PnYz5vvEOleA((^3Z)0*m74Vzo zw4M(E$P~E_UVLc65G%eba{Q^hJABM?X?cE3@z|mAstArS4b;y!)tdy7kcOHyvunsI2=4iv{(6%g2e8}YjUgrdY1Ga3nQ?`$h@s##6(1#gD z+f_*hvctBQ&wN|HlBP-_$7d((tY@B!y_SnhAV|dvz)3ue9JCAdn);=`<0 z#qGF)edr9Fvj^<=yLsL3SuX-iBZ{^VpUfCjx>dJk#}2ftM~p>+6sl07dXx-!68|4C z-hr3=9;8_P#XF|_(k_f8F;k*HUens8AJlIHj<9$}6aOB|*G95gw2t}-)Ra?U^*tC= zg#03kX=yt1P^YHnt}b&&dBvNpP*GV~GlU0GDobYPg(UH^udSPfYhnZ>==CBnBYDCq zihl=)+aHQv0>9ZI5cX%c$PrfeC&skV59H{-cRF9$;rKcK|LuYY1P8E{!*fk$VxE@Z zZ6Q$yi6cOhT@B+H7OMF^WtzbGpyJKxo{76w*s_BJ8uVZx8?cpDr`dy{FWI%_TLBo<_Pv+Uibjpm~}@yC=W?P-D9`gZ=QWK5Ir2%JX{Lft^(s9w`sfHPjSQWv;*;H#4vI zC?wa!Yq#H1aAv&eu2r&M34^o^7`cRdko$NsmI%(uv0D;q75`ul0qH0DN2 z=zmt-aTg1@$s0pO^R7;Q3-IpHr=x39gQyL!`^CsFS%FFK%rY7`0f+lS%#uyjSP7G~ z)_&BrVg0Fj&{-f|4AvCg=<@i9>^o#=PU0PugSi0*`5MiTe*TrE&@-nD+#DlrJ7kCf z5;#Gi#`e76aocczryaMb8xh&k%zipA9Qw2i0yZ7-=Mx|6+S16f1%sIOkIiv$@ z9>iba5SI{6=%O@q#d0r45^(B$08uQ6cg5z%<9QAkJy(7&p>fD(<44YiwnmeuzMqD0 zA-=@{4O(aS^az{%l*B|oc_0AZmA8Pt$l*sp0zsG{%k1#L#Q|s>QOq%z-eqiOdRnGK zx$n0OKUmMN^;?Elfc%7^Yr?FzC*@tcUoUr~oZF*tJU$Gx84U&a2MgI|neWU$y~@{q zinF`^gGC~qYyne6v0Hd-*+9wo(p&og!2nQs&+AaYm*qd=>!BmpvW_#o;2bVIpH80{ z{mE|!u?WlC-MvZ#*?eV#44>$V7`fZzS3qpG=?&SEl2CUc4VhujQsmD9SM?u?{5|%; z<=={Y6Y``1$nvbA>ibb)%*Vo#vB12|13z3s=dF~_f3`pWCCAry3tzbGW`r|nrH$aiO2n&(Ujk)&(D z>#1NMDQ?I4=>@RI2bnV_Nw@CgN*)UU=VZ>@-hOKPyFcJMu&v(vCld^n)?@En6kR6C z;d2f;NOAmH;xiVqr=UvtGUs!QXvY>YM!O?VICi3x3u;dQFMc+0K==_oLVX?cl#XEV zV)y=A_HtY?;*7edI})@v7i0iE+y!VCnUY_R{(5UJ{25MImm0E4GBx4m6%{2IeOK$S z+Ayb`r~w_h>+<6@a0$Kx`SR9kL$%lcjbA>|=KjO~&Dd^_|qys|6h5Qljg&SroU zRHaJQH&mmDoE}v_EkAJfql7SiqP)D!&}x~?MKsN%rlqFcFLGMYNG3Tw`hQA0^Khv8 z{*Rv-JB75^5-n~?D2cL-loqnI2zA@CObTO*tTWPLi7X*m1|^X)D3xkvtWyc4#Yi<6 z+hjMz3^Q|{@2Kagp8L74-}QT*KU`en%sF$;jPw3{U!V8qZH7bF9RpLXIw_eDmHmBE z?$iX%BhpSNWy;ZL*&+y+Biz|`mccjD>-R;NGPvzG*24VJ`)WMs-S28U`rZ;=lVT5> z`H8HlI)$;Sa-RsYm2|P_mVQNc7hs7hS7#{POW}_ z=2prH_|VDwKh5&0B--V*l`Kaf;p^7XgGk31qc9k>2fcM^Xk~m7d16)r6Dtbmi<^R_ zd-!#Y1R%}w&>K&XQb!o;{hzLvJ?>IR4=>81AJ4e zm)5X0AM-F>uW;{w@4GK;-x*mY#1#so<7W*jKguLB25EMP9@-T{s{0qPbI+3-3`7@9 z@}N8lqtnK>ewxu?f&LsZB(<(fH_rHjqN*h*kwRrch0SV%=dsr{u1y~<7dKI9`_2M> zQSv;#lGnt4TkYp)Js&zdp9bE~2~Eqz3N! zzwLLwhU)xfYb*AHOM|&6cZkf8ulA%Z*{Yty3TM@t^Ge21bR@YarYPPp_0l56m?B7+ z(zbUZPB0{M60tS@RyXOXQkjVI1nFjoN%$HyT&mknd&8U6fDhv;wk56*(i{n2livMI zT$JA3)m5*&O1{k-o(Z|Nkyje1Z6aDwF4~`l?VJ_38pOL)M>bAfdaE>Vf`z&$dA|7Y zF6~IuNV_&+6PKyelU>ZlJ}lDo2~;*50VVT12UgJ}UBlV8EL2Rf7@^jOueQ8;zrQnDm$A8MDg;kH|9wv2Zho$!Vt zv~G)|4V6<2m%kk#eMEK3t&(qkou%KKRzbt;(=$YMK4A*E)`B@i8*(7*j$OI2N0Q#+Fj#Lk)(X9Dk=11S0$rv&|5OwSRx6? zGmLLbSuc!94ff+~CFgMNInO*F#t$<+*r5bO;6BIn)>LQ-O2hkQ){FNrNPl|!shxsq z2U-pq5J!#zwb@;L4z0| zk3QlrMzZHuHGkXZ5>S&nbBf@EXdu60?zx1rTyKx zSDu_c)shfSvW9S7}N4`u?_gX`l3WRMQD+u&mV(IxKEFR zqrvk+R=*nZl85{q>B}M9HIVug97^xuJv|f9kOblGprV!b=64qWOT zR;N#!!MEd#r6=H1N6KF{qe6<*)LlYoc;44?n+w?0p@JJUD;j|y+z8p_9abFBny}ol zwNurOBax_Ov7VEdwK09w{NaO5B*O5Tpuv&G&f?NJU?;L@(fBXfd>uF9zhU$HZ{J+~ zE1L(GA>&?eTYFXx1(n;^j?YZjOa=E_9MzR{83nz4^U3!bHi~|_!%!uMjpM`=+~aoqffoOlbErY{fmd59%#ZVSIT+sqFoFOFW54kv6F}`c7U+t&odGAAuu6O3nH}d z=x7r_gZ!I%C79dY(Izx9Si$|UIMbt-?tIWBp|H-(G=THnIzOYw|2SkHlg;@J&8JNt zxc=~q5!B=1($~Ku1nHpxyXb#jY#NPtam3^h5yT8JLGcOg-p5}5n|1!HQ%uy(*z-%5 zyT7e6iwWZg;+$pkM=~+v=GU7AUsV~!&c4{y*x9Jf`k1oWUD%&zv`N?DxTAh0TIYhW zL~)Hf*lt_UoDWhtq0a^D$!SA5iOBc~=xNTQn0R5PRNLG?_PWvfa>ia*PeuE{_fGbW z?ULG!quZ;YTpI`bg;6cd)zR;#A4>{unk_mYaJ4B-2{`LTAp@yJ=M`)_gd0&=*6VIu zsgoW{)ZH?Hw#HjIh&)R|X$0ewt(tq%TIio06>lDcAA><^1k_`BdjgWKIHz&sW9E;< zn~Aq-=fz_2rA)HzE%5a#p#M9sEA`PRzNpQN`?uZEyMod-Qx`MyJ zmy!{is=?!l@eG^QxWfIPH>_RaB1Iz(Jvc?Fh(;7hgHya!UUnp0@h}_xlCQuXBZn-6$2_+H?k&m{jj;M(8M&a+UmN5g+N%w} znJ>nKp}uSVNfohHk=(u@ZDn_r7o;J@vzr_W*5j^yU=PRVZo+kupAiDWn|;{&vAI3k zN0$jgKn7JHxrVh3D#S?QQ>7C0%bC{g*xmf38`A?&;>jUJpt4iT6Qj4YDB_;H zu@|IEj=25sT`45*>)rc_Lf27{xPWmBQ zmNUvtOF+d};WuP2h17F8ifNn+uPhIk*6+%HG_j+42}GEk+<4`P-F5ojtjSmvfc-JG z_dc_*N1QHUcpmyZYF9isrt5q+GWcya}TkNRd-*a`Y-+LnCz7r2Y z#7foZNjIP2rB^cTkyEtuS>Qqr981>1JY}Dx49J-O9rdSNFo_}cukq!{h z7mRbZbobVi-cq;3PvdJK(3sW(YJZ(wd$U$S_Q-q3nn#2x$*u3+4UT~RecZeIO=if{ zOaDyQp}tb<;4*#rE2^yRs; zNkU`9ABZ*IuwPc1$Rq|gv~DwY*W-VG=+z|t_U*f37#+g_n@v71J@AA2yZA-5+96+L zzUNr>!Yy|y)V*W*rgid{569i#%#8rkfQOcQd|SaNNZ9!f0Or)~%?wd`RD57Wjq^G< z8B<=xLRZZXy#xLNLt>@HL#(MUCmld5Wb~tNTUQegRocy?#~#uZZ@>Hzw9`t$l=1(X zKmv>~nG1PzC(1;SI;JgvNE-URdGo2&L_lmn|L`(LPDvk=mzS{nW``1%XAF40qfZ_$ zyMvu2A0Yx~BJ$(0Hp+;PlH@-#T4GZUvJL1HUQoj4`RR^cJPnw(Osl|*`ECj{nzZ-* zdigJmvD5vtUuOn|@KXn$W~%Cotq+=LsRln5fsHD&Qd!SyTLOSTal&|@tSAc3W17^ zUos6d#+oK(M|XIKsYa8~QlL1Y@2OW+7BhK>#aQq_(Q$s-L1YtP^J@{ODfs6^ikolB z9iPc|YNls`mn$&iJy9lu8Z2_`PP&MKeOwQbpu&fE+0QZu$7}}Y4gmzU1`VUr`T{#!e|s(INSzPk&PQQrJ~AnPpx>F zms(1322o>VK%Hpsi#ru4q0Wf_2=rpdOoX6J#EGo+HKMRGZO*^G<_SM6XT7?z5EPU$ zRdpvl!0O(LXz+nVG@=A*2ddR`;?})t9rD=dT=jD51b{iscR-6|MLE$aSn@;*39yQ- z4m&(4+j527Y(n*O&U;z$68ZTN*nv&fGp(ip@4|9Nb7Cq}t0!e!bzEfa^Y(Pc;EEAQ z^T<|?hlay6f=u#zqKKR96FBj;Jz*06z{E`}Na0*=)lJwOtN7{`DR4SjTg`;Ch^hUU z9I3gP4Ord8RUGigrB)Ci!)f4yaE4g2LU_e`R*9(a_?>9(ltnQoQR?skYpVhQR=-=-s+Xe8thEm(L();; zFhA)(s3X&r|2*^9QS@dG7>2@O-z?YgYsfclKbCxUyo+gcr2JuPK*W+Y(KD0T56?-M z&#x&A?oRCc)plQ4R}WT{9A?i{5b?Y#!c}SYh?!g;S{6UXJ-zP%>>;l8L}`q=F|UC` z*{Zwb;)k03+{Y#oJ;h~L?A{Tt9XNF`4yc>W79=Q`7`xYCz{Aa8>7DUWTF1`ta9}pZDUx?z za;C_92V@G?;fR;QyDwx6LZ>c%;kbk1g`;2ZMQMJE`(=C#_0R|TXOm^ia#JmYP zl##<5QU;bqV}ZTPalzg3wmQU|vBQ&&CH+P4Qzd0KuXpV3mB<-R4ysG@-(qhjr7)px z7|NdCVsBcmY3Wf*FL)d;iT4oX2f&!lX?zasf~#&OCV?_e{ejprp-tODc3X^Y0nR+& zKowKb03F44k-nj#yfj;(98Scn_B{|m`om)X2pdvgUst*1r^o&b0yhZQy9Nyqfn7cX zl$+3lKf}RrU~w!#LyP+YU)A`H~NS&8Ow9v_@<^97!bm|4#dNaa0UhPx-GvK_p*M)Y&+Y!GQDxMSXR ztX$)klRxfPQ0V*v^uOgH_%y}Q+%^H+6Ue8Lrq-ZCk%hnH+4-rRD_MbgvWm)S$(<(s z=-o#GC4PI@UhSK%x zxgRZRu$}fu9e0L|Z7}qNSfOQ-XsN|UKc|pN4#Bsn^CRPMaGyH?v*g148b>Pr(7wT6a7)UckQyZD!QcG94Uf2VIpf5$x&R zXj;_DjLb)8Z6tEJZ`R>-L4-{N$Fmf?Ie=pDDSxx@{DGs+VvyWlAwTKNbDcM&6VJZ_ zqo~T36E?at23_VdMOQ|-o=iv6LsM+(vkf>uZem|f#PlAxsh{96WOvBPSMuBsynj$K zn(;f{FE72@41`~^<%qLvJ?L9F5avSM#!`BLAEYN8C!}Hr(z#j9zWJ`I8=@Y>HJ~><*zFMyQ=d7q61^N*DgMjz z$A1I*O?E>8RhSDil6#x&?I3x4)6O~w+Vlvm0jLCn1i(kFq#z`;fb_pqCR9?2Nsk zyeS3vUZc!^u-#uXMz64rl7Y*W!Q{V3n8Rl{=|* zyDZ9Xxyw0zOekpo%f~4T-5~{1jpRJBtu;$E`_LlTzOcA4u7l!q6Kdl0@kgpFe)RIy zLkX0_px*h3`1?wPnGHX4a3UAs>blUVnSaILfD6!{1m6`vP-0&#q*edR?AOk>+;g_9 zM=fqU4O{2iO}~jBvSAoNL2L0+7u?80%wpejZgTalfEP7pH2~xRgxJr5c2OQgJ#*Ua_oKLAW^;3NP5 literal 0 HcmV?d00001 diff --git a/Assets/Characters/Male1.png.import b/Assets/Characters/Male1.png.import new file mode 100644 index 0000000..c6ed1b6 --- /dev/null +++ b/Assets/Characters/Male1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn6ikwol6x8r0" +path.s3tc="res://.godot/imported/Male1.png-771345d3aff75b5160c1a6dbc860364e.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Characters/Male1.png" +dest_files=["res://.godot/imported/Male1.png-771345d3aff75b5160c1a6dbc860364e.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/Emotes/emote_faceAngry.png b/Assets/Emotes/emote_faceAngry.png new file mode 100644 index 0000000000000000000000000000000000000000..43d6c86a9e9822d827015b4e3f13910f657b41d5 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yJ!VDzCd0TD)DVB6cUq=Rpjs4tz5?O(Kg8-ip zR|6d#LtR}1Ff!ECG|<)tia-%i5W?2gHC9pr>Hw--a5?E9ki}mT;IjF*lh5lx+40u9yDKNM-uuJOWU0bv zKH)%&O5mRt7FJ?IixGlS_b(VDNPH Kb6Mw<&;$V1bZ5u_ literal 0 HcmV?d00001 diff --git a/Assets/Emotes/emote_faceAngry.png.import b/Assets/Emotes/emote_faceAngry.png.import new file mode 100644 index 0000000..6e9300b --- /dev/null +++ b/Assets/Emotes/emote_faceAngry.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y24ssl61l6uv" +path="res://.godot/imported/emote_faceAngry.png-aa3a262420ef633dc34c39681d1c910c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Emotes/emote_faceAngry.png" +dest_files=["res://.godot/imported/emote_faceAngry.png-aa3a262420ef633dc34c39681d1c910c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Emotes/emote_faceHappy.png b/Assets/Emotes/emote_faceHappy.png new file mode 100644 index 0000000000000000000000000000000000000000..19f7c0d14724cd1383359b815e0c8039c434998f GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yJ!VDzCd0TD)DVB6cUq=Rpjs4tz5?O(K-2k5u zR|6d#LtR}UX{@AV0A?6!YXi9uHk6^O3seqNHX~)(RUnJ6B*-uLy#0Ot`Rn!T`}6nv zzh`I^ye~8*AQyyy3@|cQQi5=S%7F^X)Vx*#S$riye!=tQ`oMXB?9!)#5(qM U$pxQGfEF-#y85}Sb4q9e0FT5<@&Et; literal 0 HcmV?d00001 diff --git a/Assets/Emotes/emote_faceSad.png.import b/Assets/Emotes/emote_faceSad.png.import new file mode 100644 index 0000000..cbaa13b --- /dev/null +++ b/Assets/Emotes/emote_faceSad.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuphn1ph86gv8" +path.s3tc="res://.godot/imported/emote_faceSad.png-3f79bde2b0a21130630738dd11746564.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Emotes/emote_faceSad.png" +dest_files=["res://.godot/imported/emote_faceSad.png-3f79bde2b0a21130630738dd11746564.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/Emotes/emote_hearts.png b/Assets/Emotes/emote_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..6c808d3f86433ad1f00ce1d5ab0c6130fa6d09c4 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yJ!VDzCd0TD)DVB6cUq=Rpjs4tz5?O(KtpJ}8 z*Z&Mb{~1F5Glc$U2!@eB22dpUA4AALkYFHCEl@FZsWvKyQW4#cK320Q%IO=*1W y(D+)T?&RKTb9UDU9{Jp}^2^^!e!1vS%E(ZlaF5Ub{){G|^$eb_elF{r5}E*cdSg=n literal 0 HcmV?d00001 diff --git a/Assets/Emotes/emote_hearts.png.import b/Assets/Emotes/emote_hearts.png.import new file mode 100644 index 0000000..437b80f --- /dev/null +++ b/Assets/Emotes/emote_hearts.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c37o831e05ljr" +path.s3tc="res://.godot/imported/emote_hearts.png-1ece24d239c76081343c286ae865cb90.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Emotes/emote_hearts.png" +dest_files=["res://.godot/imported/emote_hearts.png-1ece24d239c76081343c286ae865cb90.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/Emotes/emote_star.png b/Assets/Emotes/emote_star.png new file mode 100644 index 0000000000000000000000000000000000000000..872b258de397bc8a5c921159a9d7b1cc8193ebc0 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3P7yJ!VDzCd0TD)DVB6cUq=Rpjs4tz5?O(K-2k5u z*MBn@{?BCiKZ60v0J6bcpveDOF!oHKY7o2PmPkL4#a9yK7rcMH|NZ#-{`va$=il=) zh)@aF_Et|V z5z|xn&c`Eni1nHyOWZ+LKWCP22UzpoFn^5yu9WkUnbXE`(>FPf2fB8Rl?sj1HJEO% n4rKY|bN(J@ouPzN?E+SYgE|}&RTg|m2RY8u)z4*}Q$iB}VoG5z literal 0 HcmV?d00001 diff --git a/Assets/Emotes/emote_star.png.import b/Assets/Emotes/emote_star.png.import new file mode 100644 index 0000000..a3854ec --- /dev/null +++ b/Assets/Emotes/emote_star.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqyhhvxpwtpsy" +path.s3tc="res://.godot/imported/emote_star.png-d1f7308a1e87c81fd0d857808bfea092.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Emotes/emote_star.png" +dest_files=["res://.godot/imported/emote_star.png-d1f7308a1e87c81fd0d857808bfea092.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Bullets/arrow.gd b/Bullets/arrow.gd index e735fd7..d02413c 100644 --- a/Bullets/arrow.gd +++ b/Bullets/arrow.gd @@ -2,7 +2,7 @@ extends CharacterBody3D class_name Bullet var target : CharacterBody3D -var speed : int = 20 +@export var speed : int = 20 var bullet_damage : int = 1 func _physics_process(delta: float) -> void: diff --git a/Bullets/arrow.tscn b/Bullets/arrow.tscn index d576897..2c2b89c 100644 --- a/Bullets/arrow.tscn +++ b/Bullets/arrow.tscn @@ -1,27 +1,31 @@ [gd_scene load_steps=5 format=3 uid="uid://oykrff3g74eo"] -[ext_resource type="PackedScene" uid="uid://3nq3g7ddnphr" path="res://Assets/GLB format/weapon-ammo-arrow.glb" id="1_dsts2"] [ext_resource type="Script" uid="uid://b788twwo1o6l2" path="res://Bullets/arrow.gd" id="1_r5o86"] +[ext_resource type="Texture2D" uid="uid://dqyhhvxpwtpsy" path="res://Assets/Emotes/emote_star.png" id="2_r5o86"] [sub_resource type="SphereShape3D" id="SphereShape3D_r5o86"] -radius = 0.2 +radius = 0.1 [sub_resource type="SphereShape3D" id="SphereShape3D_dsts2"] -radius = 0.3 +radius = 0.12 [node name="Arrow" type="CharacterBody3D"] script = ExtResource("1_r5o86") - -[node name="weapon-ammo-arrow2" parent="." instance=ExtResource("1_dsts2")] +speed = 10 [node name="CollisionShape3D" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.123779) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0715332, 0) shape = SubResource("SphereShape3D_r5o86") +[node name="Sprite3D" type="Sprite3D" parent="."] +transform = Transform3D(2.5, 0, 0, 0, 2.5, 0, 0, 0, 2.5, 0, 0, 0) +billboard = 2 +texture = ExtResource("2_r5o86") + [node name="Impact" type="Area3D" parent="."] [node name="CollisionShape3D2" type="CollisionShape3D" parent="Impact"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.137329) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0714111, 0) shape = SubResource("SphereShape3D_dsts2") debug_color = Color(0.926858, 0.237749, 0.335021, 0.42) diff --git a/Globals/EventBus.gd b/Globals/EventBus.gd new file mode 100644 index 0000000..117e181 --- /dev/null +++ b/Globals/EventBus.gd @@ -0,0 +1,6 @@ +extends Node + + +#Emitter : TowerButton.gd +#Subscriber : World.gd +signal tower_selected(tower : PackedScene) diff --git a/Globals/EventBus.gd.uid b/Globals/EventBus.gd.uid new file mode 100644 index 0000000..6447eec --- /dev/null +++ b/Globals/EventBus.gd.uid @@ -0,0 +1 @@ +uid://cqrfsolhtr1k3 diff --git a/Towers/tower-b.tscn b/Towers/tower-b.tscn new file mode 100644 index 0000000..7e892ef --- /dev/null +++ b/Towers/tower-b.tscn @@ -0,0 +1,46 @@ +[gd_scene load_steps=5 format=3 uid="uid://dp846r4jscm5p"] + +[ext_resource type="Script" uid="uid://8kpvuurr5h5n" path="res://Towers/tower.gd" id="1_pb6ru"] +[ext_resource type="Texture2D" uid="uid://315k07rsgf6t" path="res://Assets/Characters/Female1.png" id="2_pb6ru"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_egfuc"] +size = Vector3(1, 0.1, 1) + +[sub_resource type="SphereShape3D" id="SphereShape3D_pajr1"] +radius = 3.0 + +[node name="Tower" type="StaticBody3D"] +collision_layer = 4 +collision_mask = 4 +script = ExtResource("1_pb6ru") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00914001, 0) +shape = SubResource("BoxShape3D_egfuc") + +[node name="Range" type="Area3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.923584, 0) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Range"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.475708, 0) +shape = SubResource("SphereShape3D_pajr1") + +[node name="Aim" type="Marker3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02026, 0) + +[node name="BulletContainer" type="Node" parent="."] + +[node name="Cooldown" type="Timer" parent="."] +wait_time = 1.5 + +[node name="Sprite3D" type="Sprite3D" parent="."] +transform = Transform3D(3.5, 0, 0, 0, 3.5, 0, 0, 0, 3.5, 0, 0.515442, 0) +billboard = 2 +texture = ExtResource("2_pb6ru") +hframes = 8 +vframes = 12 +frame = 75 + +[connection signal="body_entered" from="Range" to="." method="_on_range_body_entered"] +[connection signal="body_exited" from="Range" to="." method="_on_range_body_exited"] +[connection signal="timeout" from="Cooldown" to="." method="_on_cooldown_timeout"] diff --git a/Towers/tower.tscn b/Towers/tower.tscn index c84a292..774c851 100644 --- a/Towers/tower.tscn +++ b/Towers/tower.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://trg7ag3dqr2l"] [ext_resource type="Script" uid="uid://8kpvuurr5h5n" path="res://Towers/tower.gd" id="1_egfuc"] -[ext_resource type="PackedScene" uid="uid://bkrwjcxb47n0d" path="res://Assets/GLB format/tower-round-build-d.glb" id="1_ovc7u"] +[ext_resource type="Texture2D" uid="uid://bn6ikwol6x8r0" path="res://Assets/Characters/Male1.png" id="2_egfuc"] [sub_resource type="BoxShape3D" id="BoxShape3D_egfuc"] size = Vector3(1, 0.1, 1) @@ -10,10 +10,10 @@ size = Vector3(1, 0.1, 1) radius = 3.0 [node name="Tower" type="StaticBody3D"] +collision_layer = 4 +collision_mask = 4 script = ExtResource("1_egfuc") -[node name="tower-round-build-d2" parent="." instance=ExtResource("1_ovc7u")] - [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00914001, 0) shape = SubResource("BoxShape3D_egfuc") @@ -33,6 +33,14 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02026, 0) [node name="Cooldown" type="Timer" parent="."] wait_time = 1.5 +[node name="Sprite3D" type="Sprite3D" parent="."] +transform = Transform3D(3.5, 0, 0, 0, 3.5, 0, 0, 0, 3.5, 0, 0.515442, 0) +billboard = 2 +texture = ExtResource("2_egfuc") +hframes = 8 +vframes = 12 +frame = 75 + [connection signal="body_entered" from="Range" to="." method="_on_range_body_entered"] [connection signal="body_exited" from="Range" to="." method="_on_range_body_exited"] [connection signal="timeout" from="Cooldown" to="." method="_on_cooldown_timeout"] diff --git a/UI/health_bar_2d.gd b/UI/health_bar_2d.gd new file mode 100644 index 0000000..ce55c2e --- /dev/null +++ b/UI/health_bar_2d.gd @@ -0,0 +1,9 @@ +extends ProgressBar + +func setup_bar(amount : int, max_amount : int) -> void: + max_value = max_amount + value = amount + + +func update_bar(amount : int) -> void: + value = amount diff --git a/UI/health_bar_2d.gd.uid b/UI/health_bar_2d.gd.uid new file mode 100644 index 0000000..77189f9 --- /dev/null +++ b/UI/health_bar_2d.gd.uid @@ -0,0 +1 @@ +uid://c4037f8r3bomr diff --git a/UI/health_bar_2d.tscn b/UI/health_bar_2d.tscn new file mode 100644 index 0000000..b8a7a6d --- /dev/null +++ b/UI/health_bar_2d.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://cwl31nkib7ixp"] + +[ext_resource type="Script" uid="uid://c4037f8r3bomr" path="res://UI/health_bar_2d.gd" id="1_qpj2g"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qpj2g"] +bg_color = Color(0.341176, 0.0823529, 0.0941176, 0) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +expand_margin_left = 4.0 +expand_margin_top = 4.0 +expand_margin_right = 4.0 +expand_margin_bottom = 4.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xcn5x"] +bg_color = Color(0.921569, 0.419608, 0.415686, 1) + +[node name="HealthBar2D" type="ProgressBar"] +custom_minimum_size = Vector2(100, 10) +offset_left = 4.0 +offset_top = 4.0 +offset_right = 104.0 +offset_bottom = 14.0 +theme_override_styles/background = SubResource("StyleBoxFlat_qpj2g") +theme_override_styles/fill = SubResource("StyleBoxFlat_xcn5x") +value = 50.0 +show_percentage = false +script = ExtResource("1_qpj2g") diff --git a/UI/health_bar_3d.gd b/UI/health_bar_3d.gd new file mode 100644 index 0000000..ec82ef6 --- /dev/null +++ b/UI/health_bar_3d.gd @@ -0,0 +1,14 @@ +extends Sprite3D + +@onready var bar : ProgressBar = $SubViewport/HealthBar2D + +func _ready() -> void: + texture = $SubViewport.get_texture() + + +func set_up(value : int, max_amount : int) -> void: + bar.setup_bar(value, max_amount) + + +func update(value : int) -> void: + bar.update_bar(value) diff --git a/UI/health_bar_3d.gd.uid b/UI/health_bar_3d.gd.uid new file mode 100644 index 0000000..f5a0007 --- /dev/null +++ b/UI/health_bar_3d.gd.uid @@ -0,0 +1 @@ +uid://be8jd1w1bsfyt diff --git a/UI/health_bar_3d.tscn b/UI/health_bar_3d.tscn new file mode 100644 index 0000000..f4dd6c2 --- /dev/null +++ b/UI/health_bar_3d.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=4 format=3 uid="uid://daiqb0q373002"] + +[ext_resource type="Texture2D" uid="uid://bd7ed8dvc7m0v" path="res://icon.svg" id="1_dna40"] +[ext_resource type="Script" uid="uid://be8jd1w1bsfyt" path="res://UI/health_bar_3d.gd" id="1_l5e25"] +[ext_resource type="PackedScene" uid="uid://cwl31nkib7ixp" path="res://UI/health_bar_2d.tscn" id="2_l5e25"] + +[node name="HealthBar3D" type="Sprite3D"] +billboard = 2 +texture = ExtResource("1_dna40") +script = ExtResource("1_l5e25") + +[node name="SubViewport" type="SubViewport" parent="."] +size = Vector2i(108, 18) +size_2d_override_stretch = true + +[node name="HealthBar2D" parent="SubViewport" instance=ExtResource("2_l5e25")] diff --git a/UI/shop_panel.tscn b/UI/shop_panel.tscn new file mode 100644 index 0000000..e67a5f3 --- /dev/null +++ b/UI/shop_panel.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=3 format=3 uid="uid://he31g7f3ru1c"] + +[ext_resource type="PackedScene" uid="uid://bqpeu50pgsdfk" path="res://UI/tower_button.tscn" id="1_txsyf"] +[ext_resource type="PackedScene" uid="uid://dp846r4jscm5p" path="res://Towers/tower-b.tscn" id="2_oxe32"] + +[node name="ShopPanel" type="Panel"] +custom_minimum_size = Vector2(300, 0) +anchors_preset = 11 +anchor_left = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 0 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PierreButton" parent="VBoxContainer" instance=ExtResource("1_txsyf")] +layout_mode = 2 + +[node name="AlineButton" parent="VBoxContainer" instance=ExtResource("1_txsyf")] +layout_mode = 2 +text = "Aline +350 Trucs" +tower = ExtResource("2_oxe32") + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="CancelButton" type="Button" parent="VBoxContainer"] +custom_minimum_size = Vector2(0, 50) +layout_mode = 2 +text = "Cancel +" + +[editable path="VBoxContainer/AlineButton"] diff --git a/UI/tower_button.gd b/UI/tower_button.gd new file mode 100644 index 0000000..da17eb9 --- /dev/null +++ b/UI/tower_button.gd @@ -0,0 +1,7 @@ +extends Button + +@export var tower : PackedScene + + +func _on_pressed() -> void: + EventBus.tower_selected.emit(tower) diff --git a/UI/tower_button.gd.uid b/UI/tower_button.gd.uid new file mode 100644 index 0000000..7b0ad9c --- /dev/null +++ b/UI/tower_button.gd.uid @@ -0,0 +1 @@ +uid://dyhtr6g7kd1g2 diff --git a/UI/tower_button.tscn b/UI/tower_button.tscn new file mode 100644 index 0000000..543ff2f --- /dev/null +++ b/UI/tower_button.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=4 format=3 uid="uid://bqpeu50pgsdfk"] + +[ext_resource type="Texture2D" uid="uid://dqyhhvxpwtpsy" path="res://Assets/Emotes/emote_star.png" id="1_88p3s"] +[ext_resource type="Script" uid="uid://dyhtr6g7kd1g2" path="res://UI/tower_button.gd" id="1_i47ne"] +[ext_resource type="PackedScene" uid="uid://trg7ag3dqr2l" path="res://Towers/tower.tscn" id="2_4qiv5"] + +[node name="TowerButton" type="Button"] +custom_minimum_size = Vector2(300, 50) +text = "Pierre +250 Trucs" +script = ExtResource("1_i47ne") +tower = ExtResource("2_4qiv5") + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 4 +anchor_top = 0.5 +anchor_bottom = 0.5 +offset_top = -20.0 +offset_right = 40.0 +offset_bottom = 20.0 +grow_vertical = 2 +texture = ExtResource("1_88p3s") + +[connection signal="pressed" from="." to="." method="_on_pressed"] diff --git a/UI/ui.tscn b/UI/ui.tscn new file mode 100644 index 0000000..85a7885 --- /dev/null +++ b/UI/ui.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=2 format=3 uid="uid://dbx8ow3v45k4k"] + +[ext_resource type="PackedScene" uid="uid://he31g7f3ru1c" path="res://UI/shop_panel.tscn" id="1_2fwl4"] + +[node name="UI" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ShopPanel" parent="." instance=ExtResource("1_2fwl4")] +layout_mode = 1 diff --git a/VFX/death_particles.gd b/VFX/death_particles.gd new file mode 100644 index 0000000..1e221b8 --- /dev/null +++ b/VFX/death_particles.gd @@ -0,0 +1,10 @@ +extends CPUParticles3D + +func _ready() -> void: + call_deferred("play") + +func play(): + emitting = true + +func _on_finished() -> void: + queue_free() diff --git a/VFX/death_particles.gd.uid b/VFX/death_particles.gd.uid new file mode 100644 index 0000000..1c1bb86 --- /dev/null +++ b/VFX/death_particles.gd.uid @@ -0,0 +1 @@ +uid://c3cmwfdofbw0x diff --git a/VFX/death_particles.tscn b/VFX/death_particles.tscn new file mode 100644 index 0000000..9c5b4d1 --- /dev/null +++ b/VFX/death_particles.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=6 format=3 uid="uid://ddm57pv5ox171"] + +[ext_resource type="Texture2D" uid="uid://c37o831e05ljr" path="res://Assets/Emotes/emote_hearts.png" id="1_sjjhj"] +[ext_resource type="Script" uid="uid://c3cmwfdofbw0x" path="res://VFX/death_particles.gd" id="2_d4t8v"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_u5ixm"] +transparency = 2 +alpha_scissor_threshold = 0.252 +alpha_antialiasing_mode = 0 +blend_mode = 1 +shading_mode = 0 +albedo_texture = ExtResource("1_sjjhj") +billboard_mode = 2 +billboard_keep_scale = true + +[sub_resource type="QuadMesh" id="QuadMesh_8oxv1"] +material = SubResource("StandardMaterial3D_u5ixm") + +[sub_resource type="Curve" id="Curve_wov25"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.464378), 0.0, 0.0, 0, 0] +point_count = 2 + +[node name="DeathParticles" type="CPUParticles3D"] +emitting = false +amount = 6 +one_shot = true +explosiveness = 1.0 +mesh = SubResource("QuadMesh_8oxv1") +direction = Vector3(1, 1, 0) +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = 0.5 +initial_velocity_max = 1.0 +scale_amount_curve = SubResource("Curve_wov25") +script = ExtResource("2_d4t8v") + +[connection signal="finished" from="." to="." method="_on_finished"] diff --git a/VFX/sad_particles.tscn b/VFX/sad_particles.tscn new file mode 100644 index 0000000..74e821a --- /dev/null +++ b/VFX/sad_particles.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=6 format=3 uid="uid://m0vj2ac5oesx"] + +[ext_resource type="Texture2D" uid="uid://cuphn1ph86gv8" path="res://Assets/Emotes/emote_faceSad.png" id="1_kukuk"] +[ext_resource type="Script" uid="uid://c3cmwfdofbw0x" path="res://VFX/death_particles.gd" id="2_n3nax"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_u5ixm"] +transparency = 2 +alpha_scissor_threshold = 0.252 +alpha_antialiasing_mode = 0 +blend_mode = 1 +shading_mode = 0 +albedo_texture = ExtResource("1_kukuk") +billboard_mode = 2 +billboard_keep_scale = true + +[sub_resource type="QuadMesh" id="QuadMesh_8oxv1"] +material = SubResource("StandardMaterial3D_u5ixm") + +[sub_resource type="Curve" id="Curve_wov25"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.464378), 0.0, 0.0, 0, 0] +point_count = 2 + +[node name="SadParticles" type="CPUParticles3D"] +emitting = false +amount = 6 +one_shot = true +explosiveness = 1.0 +mesh = SubResource("QuadMesh_8oxv1") +direction = Vector3(1, 1, 0) +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = 0.5 +initial_velocity_max = 1.0 +scale_amount_curve = SubResource("Curve_wov25") +script = ExtResource("2_n3nax") + +[connection signal="finished" from="." to="." method="_on_finished"] diff --git a/enemies/enemy-a.tscn b/enemies/enemy-a.tscn index ce3d9b3..dd8a215 100644 --- a/enemies/enemy-a.tscn +++ b/enemies/enemy-a.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://dknt1oiyei5e5"] +[gd_scene load_steps=5 format=3 uid="uid://dknt1oiyei5e5"] [ext_resource type="Script" uid="uid://dg6f6na1nn2c6" path="res://enemies/enemy.gd" id="1_l7e03"] -[ext_resource type="PackedScene" uid="uid://52kknuv6xd3x" path="res://Assets/GLB format/enemy-ufo-a.glb" id="2_cmo2f"] +[ext_resource type="Texture2D" uid="uid://bn6ikwol6x8r0" path="res://Assets/Characters/Male1.png" id="2_l7e03"] +[ext_resource type="PackedScene" uid="uid://daiqb0q373002" path="res://UI/health_bar_3d.tscn" id="3_cmo2f"] [sub_resource type="SphereShape3D" id="SphereShape3D_7frlh"] @@ -9,12 +10,18 @@ [node name="EnemyA" type="CharacterBody3D" parent="."] script = ExtResource("1_l7e03") -health = 1 - -[node name="enemy-ufo-a2" parent="EnemyA" instance=ExtResource("2_cmo2f")] +speed = 1 [node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyA"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.289246, 0) shape = SubResource("SphereShape3D_7frlh") -[editable path="EnemyA/enemy-ufo-a2"] +[node name="Sprite3D" type="Sprite3D" parent="EnemyA"] +transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0) +billboard = 2 +texture = ExtResource("2_l7e03") +hframes = 8 +vframes = 12 + +[node name="HealthBar3D" parent="EnemyA" instance=ExtResource("3_cmo2f")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0) diff --git a/enemies/enemy-b.tscn b/enemies/enemy-b.tscn index 6f6bbb9..ce5c382 100644 --- a/enemies/enemy-b.tscn +++ b/enemies/enemy-b.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=4 format=3 uid="uid://bfngnvgbcbakd"] +[gd_scene load_steps=5 format=3 uid="uid://bfngnvgbcbakd"] [ext_resource type="Script" uid="uid://dg6f6na1nn2c6" path="res://enemies/enemy.gd" id="1_uehkb"] -[ext_resource type="PackedScene" uid="uid://dk8gnkd85ik25" path="res://Assets/GLB format/enemy-ufo-b.glb" id="2_uehkb"] +[ext_resource type="Texture2D" uid="uid://315k07rsgf6t" path="res://Assets/Characters/Female1.png" id="2_uehkb"] +[ext_resource type="PackedScene" uid="uid://daiqb0q373002" path="res://UI/health_bar_3d.tscn" id="3_s3rvm"] [sub_resource type="SphereShape3D" id="SphereShape3D_7frlh"] @@ -9,10 +10,17 @@ [node name="EnemyB" type="CharacterBody3D" parent="."] script = ExtResource("1_uehkb") -health = 2 [node name="CollisionShape3D" type="CollisionShape3D" parent="EnemyB"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.289246, 0) shape = SubResource("SphereShape3D_7frlh") -[node name="enemy-ufo-b2" parent="EnemyB" instance=ExtResource("2_uehkb")] +[node name="Sprite3D" type="Sprite3D" parent="EnemyB"] +transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0) +billboard = 2 +texture = ExtResource("2_uehkb") +hframes = 8 +vframes = 12 + +[node name="HealthBar3D" parent="EnemyB" instance=ExtResource("3_s3rvm")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, 0) diff --git a/enemies/enemy.gd b/enemies/enemy.gd index e72df74..cd31399 100644 --- a/enemies/enemy.gd +++ b/enemies/enemy.gd @@ -1,21 +1,29 @@ extends CharacterBody3D class_name Enemy +@onready var death_vfx_packed : PackedScene = preload("res://VFX/death_particles.tscn") +@onready var sad_vfx_packed : PackedScene = preload("res://VFX/sad_particles.tscn") + @export var speed : int = 2 -@export var health : int = 15 : +@export var max_life : int = 10 +var health : int = 0 : set(value): health = value - if health <= 0 and is_alive: + if health >= max_life and is_alive: death() @onready var Path : PathFollow3D = get_parent() + var is_alive : bool = true -#func _ready() -> void: - #$HealthBar3D.set_up(health) +func _ready() -> void: + $HealthBar3D.set_up(health, max_life) func _physics_process(delta: float) -> void: + if !is_alive: + return + Path.set_progress(Path.get_progress() + speed * delta) if Path.get_progress_ratio() >= 0.99: @@ -24,12 +32,17 @@ func _physics_process(delta: float) -> void: func take_damage(damage : int) -> void: - health -= damage - #$HealthBar3D.update(health) + health += damage + $HealthBar3D.update(health) func death() -> void: is_alive = false #Global.enemies_alive -= 1 #Global.money += 50 + $Sprite3D.visible = false + var death_vfx : CPUParticles3D = death_vfx_packed.instantiate() + get_tree().current_scene.add_child(death_vfx) + death_vfx.global_position = global_position + Path.queue_free() diff --git a/icon.svg.import b/icon.svg.import index 4a7e320..eab1575 100644 --- a/icon.svg.import +++ b/icon.svg.import @@ -3,25 +3,26 @@ importer="texture" type="CompressedTexture2D" uid="uid://bd7ed8dvc7m0v" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +path.s3tc="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc"], +"vram_texture": true } [deps] source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.s3tc.ctex"] [params] -compress/mode=0 +compress/mode=2 compress/high_quality=false compress/lossy_quality=0.7 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 -mipmaps/generate=false +mipmaps/generate=true mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" @@ -31,7 +32,7 @@ process/normal_map_invert_y=false process/hdr_as_srgb=false process/hdr_clamp_exposure=false process/size_limit=0 -detect_3d/compress_to=1 +detect_3d/compress_to=0 svg/scale=1.0 editor/scale_with_editor_scale=false editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot index b25c186..bb19bee 100644 --- a/project.godot +++ b/project.godot @@ -18,6 +18,7 @@ config/icon="res://icon.svg" [autoload] GameManager="*res://Globals/GameManager.gd" +EventBus="*res://Globals/EventBus.gd" [file_customization] @@ -39,3 +40,9 @@ build={ "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(344, 20),"global_position":Vector2(353, 68),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) ] } + +[layer_names] + +3d_physics/layer_1="floor" +3d_physics/layer_2="tower" +3d_physics/layer_3="baddy" diff --git a/spawner.gd b/spawner.gd index b1c1cc8..5da3af6 100644 --- a/spawner.gd +++ b/spawner.gd @@ -15,7 +15,6 @@ func spawn_next_wave() -> void: $SpawnTimer.start(current_wave.wait_time_before_next_wave) - func _process(delta: float) -> void: spawn_manager() diff --git a/world.gd b/world.gd index bd42ec0..3fdf67a 100644 --- a/world.gd +++ b/world.gd @@ -5,9 +5,12 @@ extends Node3D @onready var cam : Camera3D = $Camera3D @onready var selector : Node3D = $Selector +var in_build_menu : bool = false -#func _ready() -> void: - #$Spawner.spawn_next_wave() +func _ready() -> void: + $Spawner.spawn_next_wave() + $CanvasLayer/UI/ShopPanel.visible = in_build_menu + EventBus.tower_selected.connect(_on_EventBus_tower_selected) func _process(delta: float) -> void: handle_player_controls() @@ -43,3 +46,12 @@ func build_tower(scene : PackedScene) -> void: var temp_cannon : Tower = scene.instantiate() add_child(temp_cannon) temp_cannon.global_position = selector.global_position + + +func _on_EventBus_tower_selected(tower : PackedScene): + tower_blueprint = tower + + +func _on_recrutement_button_pressed() -> void: + in_build_menu = !in_build_menu + $CanvasLayer/UI/ShopPanel.visible = in_build_menu diff --git a/world.tscn b/world.tscn index 928af9c..27c55c7 100644 --- a/world.tscn +++ b/world.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://ky0uewndeuwv"] +[gd_scene load_steps=12 format=3 uid="uid://ky0uewndeuwv"] [ext_resource type="Script" uid="uid://qqid42jkpkmv" path="res://world.gd" id="1_fj7yv"] [ext_resource type="PackedScene" uid="uid://d1f6m15niwgt" path="res://Tiles/tile.tscn" id="3_aqk2v"] @@ -8,6 +8,7 @@ [ext_resource type="Script" uid="uid://chu8s12rtdeqx" path="res://Scripts/Wave.gd" id="6_gbfbk"] [ext_resource type="Resource" uid="uid://dkbuy7fetnihs" path="res://Waves/wave_1.tres" id="7_ioo17"] [ext_resource type="Resource" uid="uid://dvw6vm3vbpmdl" path="res://Waves/wave_2.tres" id="8_wse8f"] +[ext_resource type="PackedScene" uid="uid://dbx8ow3v45k4k" path="res://UI/ui.tscn" id="9_ioo17"] [sub_resource type="Curve3D" id="Curve3D_aqk2v"] _data = { @@ -152,4 +153,24 @@ environment = SubResource("Environment_036b0") transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 4, 6) light_color = Color(0.823308, 0.863845, 0.742102, 1) +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="UI" parent="CanvasLayer" instance=ExtResource("9_ioo17")] + +[node name="RecrutementButton" type="Button" parent="CanvasLayer/UI"] +custom_minimum_size = Vector2(200, 50) +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 29.0 +offset_top = -77.0 +offset_right = 229.0 +offset_bottom = -27.0 +grow_vertical = 0 +text = "Recrutement" + [connection signal="timeout" from="Spawner/SpawnTimer" to="Spawner" method="_on_spawn_timer_timeout"] +[connection signal="pressed" from="CanvasLayer/UI/RecrutementButton" to="." method="_on_recrutement_button_pressed"] + +[editable path="CanvasLayer/UI"]