From aa948eb252077d74d08f07f416897fda7c52b034 Mon Sep 17 00:00:00 2001 From: Evgenij Titarenko Date: Sat, 17 Aug 2024 12:32:14 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B2=D0=B5=D1=80=D0=B8,=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B5=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B4=D0=B8=D0=B0?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2,=20=D0=BE=D0=B1=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=B5=D1=81=D1=83?= =?UTF-8?q?=D1=80=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + CREDITS.md | 16 ++ Node2d.cs | 40 ++++ chill-jam-10.csproj | 2 +- fonts/ZxSpectrum7-nROZ0.ttf | Bin 0 -> 96264 bytes fonts/ZxSpectrum7-nROZ0.ttf.import | 39 ++++ fonts/ZxSpectrum7Bold-1GpEB.ttf | Bin 0 -> 89336 bytes fonts/ZxSpectrum7Bold-1GpEB.ttf.import | 34 +++ prefabs/Dialog.tscn | 42 ++++ prefabs/Door.tscn | 14 ++ prefabs/Interactable.tscn | 9 +- prefabs/NPC.tscn | 18 ++ prefabs/Player.tscn | 40 +++- project.godot | 20 +- resources/sprites/Sub/Sub.png | Bin 0 -> 120057 bytes .../Sub.png.import} | 8 +- resources/sprites/player/mc-walk-side.png | Bin 635 -> 0 bytes resources/sprites/player/player.png | Bin 0 -> 3160 bytes resources/sprites/player/player.png.import | 34 +++ resources/sprites/player/player.tres | 75 ++++--- scenes/test.tscn | 154 ++++++++++++- scripts/Door.cs | 26 +++ scripts/Interactable.cs | 7 + scripts/NPC.cs | 47 ++++ scripts/Player.cs | 203 ++++++++++++++++-- 25 files changed, 755 insertions(+), 74 deletions(-) create mode 100644 CREDITS.md create mode 100644 Node2d.cs create mode 100644 fonts/ZxSpectrum7-nROZ0.ttf create mode 100644 fonts/ZxSpectrum7-nROZ0.ttf.import create mode 100644 fonts/ZxSpectrum7Bold-1GpEB.ttf create mode 100644 fonts/ZxSpectrum7Bold-1GpEB.ttf.import create mode 100644 prefabs/Dialog.tscn create mode 100644 prefabs/Door.tscn create mode 100644 prefabs/NPC.tscn create mode 100644 resources/sprites/Sub/Sub.png rename resources/sprites/{player/mc-walk-side.png.import => Sub/Sub.png.import} (66%) delete mode 100644 resources/sprites/player/mc-walk-side.png create mode 100644 resources/sprites/player/player.png create mode 100644 resources/sprites/player/player.png.import create mode 100644 scripts/Door.cs create mode 100644 scripts/NPC.cs diff --git a/.gitignore b/.gitignore index 4709183..e1c0a28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ # Godot 4+ specific ignores .godot/ +*.csproj.old diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..e7ddac4 --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,16 @@ +# Credits + +## Who made this game + + - friendlywithmeat - coding + - mrzuerg - graphics and level design + +## Used resources + + - zx spectrum font - Sizenko Alexander from [Style-7](http://www.styleseven.com) + +## Tools + + - Godot 4.3 with C# + - Jetbrains Rider + - Aseprite \ No newline at end of file diff --git a/Node2d.cs b/Node2d.cs new file mode 100644 index 0000000..7bc6071 --- /dev/null +++ b/Node2d.cs @@ -0,0 +1,40 @@ +using Godot; +using System; + +public partial class Node2d : CharacterBody2D +{ + public const float Speed = 300.0f; + public const float JumpVelocity = -400.0f; + + public override void _PhysicsProcess(double delta) + { + Vector2 velocity = Velocity; + + // Add the gravity. + if (!IsOnFloor()) + { + velocity += GetGravity() * (float)delta; + } + + // Handle Jump. + if (Input.IsActionJustPressed("ui_accept") && IsOnFloor()) + { + velocity.Y = JumpVelocity; + } + + // Get the input direction and handle the movement/deceleration. + // As good practice, you should replace UI actions with custom gameplay actions. + Vector2 direction = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down"); + if (direction != Vector2.Zero) + { + velocity.X = direction.X * Speed; + } + else + { + velocity.X = Mathf.MoveToward(Velocity.X, 0, Speed); + } + + Velocity = velocity; + MoveAndSlide(); + } +} diff --git a/chill-jam-10.csproj b/chill-jam-10.csproj index 10bd672..feaf5c6 100644 --- a/chill-jam-10.csproj +++ b/chill-jam-10.csproj @@ -1,4 +1,4 @@ - + net6.0 net7.0 diff --git a/fonts/ZxSpectrum7-nROZ0.ttf b/fonts/ZxSpectrum7-nROZ0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9a1989dbeb2b3d9810004e95f788a1828dd35f58 GIT binary patch literal 96264 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¿!0mn_|yu08ZTrB6DveCxvw zFE+b39zOhF)iXprxhs72I={(lx%SYl4_mx79lrTy z>b&;Q%JQwRy7}hCn>CJnd|UcpPeCX37CbB$2okD8ka)yxomV|xl_^_UUZh|}o|gJ~ z_!_l6cHq(19(sg&x_tN|2{1{}lC_U#FE%>6rdbX@5p#v-(YHe@^*?a{A8o^U6n* z)A#NA&1!##a>l^*i^{ovm-6k(8583f);{A|I(g~+=Po;V+5BbmEAtQOD7kEY`QXYy z6&+mB3HDY_965312)}!8QLa60ox5$fnPAbf#vJuNab z`yfH@5{>%P0lfrlbgBW?5Cu}%O+gLcj-Uawz!108~hp?VX2+XN!p2;7vrG_GnUnr_XgYX?_4#{k@kBf#s_ z(IbMA`X_BIT95t#AK)~`DTC9P!O5wOF+;7R4b^416{;JdZzJ9}E*%hfAPSfPf?{|O zUG#5G=$;YS4k|riy*n~+$a)9h;63$EtNrhmg|v_sJ7c0B^@yGfD^H((_@MN=I{OSK zB-(-5XnV|0j@d~HpyV;-3(BW;QBX8FR17|$TqqLCT~K~bgNHn{LK5?gb-tpJEfnaP zpN43*Q?T7xZjjN4<$9qps78PW9h_9YMfqlR5H^Fw=rEmwt>&~3J1q*c`-~rqT_8Ne z@SF}iD(@UKSbB0qECJ&4CISV%z^sAoM0)aZQG3Ta2owOJQ)6&QrouA%LWPj^h}{a{ zl5S;;<25^r`ruS;odfFC2_6H2M_1n}$~z$*ecIZ*5k1K8A8eqTC7gkq77=808kz%| zF4Qi)|8f^=s`)&2tJF7w`b3f|HLXO=xP>L8ke4sTJ1p=ioLJ<#8*{c-I>4oKfo zlFI3+Az zfdsZc1f2gFJ(a|1i-9(}azX=NNN*HJiBISCL*_#qiDT{49B7(R4*GU9oVJd{J1!08 zs<&5lbxS@6RE$2<)V$N=vdJ9j78}{hoVe%U$`O}~lO`ikGa)85N|Z{&FD5Hx0}NrH zUD!htMH04DN-Y{&;xNNvLewNxw=99ZY$EZ9_~qVPOvjy?R2TL9ooH30Y4*r``h;u- z!E;8xZGvII7fK5F&Z%z1E-(hQCJFQL!rCxz*$~vjNA%mO76Y2}65#K(&=%$ys^gbUU{L?i;)eIfe3+QA}`@uIT zYoAkA2_Va0H*9Epcp1N^CS^wjZhP_iw*I5WTS0Odrzi&xbalQNWs4&U`qpNEwFo~1fuqp@ zYNLaQ`O8FnnS=n+`P9*Bcz3wfFS2!8qM_TF^qt2o$c7!O2g1@O)43DSvBn4Z0XY&F zaDqvs0%cPT-L|kT=znItN_V=gJK(Ym z-C4^rbZ0+Vwy5SY6giJv0CWG|vJ6y$R-g&t0$~Ujc{Z(m>!0?yZkuwhL!KdjL!Keq z)|O{-1w{`0K@x%_^e!M`ec8{-0IRgNvX)Hyd8d8oq2_o@1Q1A0&tX+GCnH#g{#zQM zCX`++$!KdLLF-}f1tVbR!GA`R${liU5oD8vk*@?pFm|cKqj~fiIc}YC!~m8;=WaPs zgHlXay61~_Vq6%;v_0I=d$CQz6!wu1iG(|_p?>HL86r55$dePRZ&m$wtM-X>)7sX% zw-j-Yv8KhA<$9Lpz0=UR`uUKKw4InuE~SMDa5KbP5`)-Gz+>Qc^CSPwDIf_7*rFZW zM0*#+GqiJ^%!$r39zHCuvZLs-`~rEFgMNu72>cS;;gUgJGH928S73@*2gc|t@LlUh zs2<#MU2sRCt(I!sj0V~423M%Y@S#ymlp%*kv_Gm}xD4cwQjisbAV`TYg@Z{b6`-U& z2w4cH&`nm9?2B`RW1e2mG&CnK$@N%}NTY|`V=}Kv`Uh}#!F#nA-VUKD2kKM+)ph{t zlz=*AKn0i>8dDm<7B0UI_Zl3m`VNv1SZKpg-EbAv*hYcgKtkMbFgst^s91sU z5Re62fCjC~(1RoaNsw%S3}YrhwoUuk{YI8jl>(2eeUv6L2YW_h+$25H2Rkk{=&abQ zQv%WJ1$1%r7X9d9a5y6dc|e3-!z}cAZf(1!&;uT)M>l%Kc`q$crQ^R5*=EPM$}&8g zyf*t=+6sAnhX$iTRpXdYdvEYDj4~Eg8sh+R5F+EiJcQ0E3qqV(dpt$J>vrPB^#G@2 zFZJ_W981k$WLZnPhUUe8aIMQYCfO%c*VticRMW5Iluy5#R>^gGpOUBP%Kj8+Xkaq859_-V|fsp7&MHc3h<~HZ>=h7 zGd184q6-N+3r{Z3$OC7z2Ulh?Uk)6?%93d%n@jX7Kin-2_|)Wn;l~MKU(v5AF)8wE zP@x0zS#q<;;Z)QZoCCpeR1C>yr{e85)g&_Y4IgD=1tDDRcraB&P7uxwTnGz0nr z1cX895M$@kP9-Gt3Xlrjr|!_eN_+F^xW}T9TFCW& zQVXjHi3RNkzmcCw9I6g+_KIX^*AT8e^bYidzl2U?1^{3NqPLzzH-?0h{(aS!PS-Nx9NDT0`wZ*u6HK0@Enb(!U9(L*)|3&XD~ z!Us)+GZ1xLb15^+!WSYLF)cS!K}5VG^%)_}T;@c2LT?PS)rYPo)m;-I%Hgd5FDP(v zVzeR-@gC$>Pe3dP37^lYVRoa#Y_Jc^kOknez^4U{LbKj4KuuppPCA&IKB+%5%rSvb zAYzC-fasDC6A4#%T?=Y5`@Af4mBgH!UgYvRR!OjsVL0N1)a$`8% zKVZJ5Y|O~F36}w>rn$>zkbuG=qEC42vY+PCXEg-j3hlx?FB%ZA0QX_si0g$^W(;j& zMJGT|u;gaHKz^4lz{&y$0A*Tv(L=3BSW7{-{J9(}E0Z-D<35jsQC3eNA}(M7LhWOsxbU=;!o6Qpp6tQ37y}5L&Luiwr1F~y*1y$DGD^O$nW6I0; zThyBQu~2JO0mV)EL;B&^~NV|6yZD1+tlLti~3WT9$Je zRIloHd1Ypl>P6lmUVUID>diLH9s%$_b<`aK?Th%#9gyfOw$O|w%YV{sglUbWwh`d1 zzyy*L0tXxG*afBI-m&$t0d_+DgOO1G0ML2K0o!d3IHs-;*-4vr%@7h>%-AzqK&n+U z>IG+bKEHolQ3UQ$T4Fe4Ja52Es$tg(AnB3 zkf^a~5~OCQ4hFG=7>$RWNe4hVIqZX->GIU34Kf%G68Ds)GNW}#W|yEIh&r!at zoI&kdTa&ivs8}l_ZC`_S=$M>N zfrWl7Pp1M?bjUEGYv~Zsb(_JV8|uKVa^MI&=Vg_<(F)yXY0#MFk_$w&0a9ZtEu?qg zf4VG~QSSaHG7xKl?g9(o7}{u5-Jxu*nPF?er*N~6x*mOu0w};ZG(&EI6P1A;nhK!@ zq++yXjvEzd)B^?OnQn2pR_$mzbu_4lBMsQr#unY@ak4diz_nu$genDNsoc&n0&><6 z23f!~&-;BgXwzjp(t}x*TEDmyz#?JrFeJ2yY=sQ46v&aSlozej)9W>S9^C@W19c`b zbsQ8(xxro4(*+a}Xr(KNb#j`d9DLA)8XqBfSyP+;va6JN+1b{ESb+m*&es2qrUxCD z3A?WSkqt0&SRq1sK7v1Ppp2a*Lm%4LD$GE zwy>&X!og)$^0SHn)lW!LNDxK3L8K!aN5m-cedW93`!bH&_r?A(9#xKh7|)Hb!{xbe~bJ3 zGY26VT9_}raU`$pztZ|atb3%ZmNu{g(mYPgDIC#)d-)N->=h0(qR}^3TuSx5u&kUO;AfsB(Q9W`M^8~|@>xyg@CX5bD*Rg__ zQ5qu5oGl^+2@~regqMmYyvni`CXb*P;w4hH)(C9MoV8^p&#3kZn1Fhdq-Z9VH< zkOf+W&1@Ud2IK(3ky%I>6xl+KECAMcywFFH2`%_$dXP9|Zrr^B#1s@vAP3%oMt~#L zZ_;tNC9bcWqRlNdH#yS^VjzozkPsS^+eP^qnwP11^&BY%+F~R$2f9Efq)2l#U*->L zxoXyVP1ROV13kn8kl5trGD6H%2h1-t!}`XE%!9F3M$e07{(A zg_(jz7F81+i;%G+j-c5Dj0{_zp@Nowsc6}mY)vpzKCJo~1GXAD6aXdACV)dJQC^;% zXi-FdK&~jiT15Bw!%pc85Hbt}9ohth(=bS<;hDzca>cEMEe9`~_c)p1iy1mN7eP|V z4717nnXJ$wtzH+(sR53Bu$efU4-i?{G)XgOX>#H1>YOMdsG;j|sjg{~kP!%fWW+CASwK5q>hXuwhNsjinb0+Zq#A7g&$6A;K92 z4M8EM0egM>g7_MyhWM`DcXhVzB(Xi@zsWJ{8ge-IjrB0Ebv`_+d5F@xx-%hnhfX>R z^im)!ja>!+pv2yJh=+6pSJz)!yMPFBlLBkF=n!lQt*wGufNpJ50OeR64_zRrjL+7F zZtlP7kKV;P^fS!f;3CQx2T0?2q`VME+OH%1X8~1(Jn{U1Kjd-3`)C}{NrQfywquLtw#+S0>iq^YB4C=tgSn@R_VM|(E zcmrFq)@9uk;hL7nu-lD}VAiz;UCyQVxCO?X%vN=^;Tb^!b&hGo5P%Ta{vudjy&-t_ z99)TDfuWSJz(7==Cj=tYZgw$txhX+Kd-w}oF#fzA5wu3`j@N{;u`_jWK(@H^?7*Tge0I+_} zc65=DZN%=SpQMtB)Vgl&>f07*1`9rD2l9tzY;Co^a_5V7uZ|t&qM2SFVy^vau)&(% zJ7edV?YRC9eme^n0MMR4XJstJP#l+aBMMTExG|9AY&UV z{iGiQd#;1!p&ml49JBmnM0sniOaV!Yy6agTQ{i3Vc~yqJF-XPwfqXgyx1!w48&uAO zOGMZrLJC)V>Tc>831xNGW!+DQ5m_ z%>{o=s6hrm4n)_XpcZs$73?cBeK01rs8c^Mwb=~UMh>{3rRUjE6CDwXuvr}Xoo$`D z^b4+25PMiV(@ySs`-Dhg#t&xf0GdF{&@##s6o87NWm^1D%UZ|;Op;R-*s(zA96B~(+p-U`0M~fm6^cD(3zheQRLyr267+pr3zkdS1bTC~Mp3|DXL{@xq;>>^0 z@_P^FHhRePr;XKJRK`kYQP^dy8Dqs;EcQu>yanc{B9M-7XWR&PNQY~17Tw}wIWk_a zA}${0XSnW#BbEhzjof_jX;xpj-&7I(z%N+Vz#1*ZvwbmFT&y~VZsYwAeUF66YU7I=ShwJ?p40%#TT)su&C1DO8n85{ zN_g*uB|PB#z$0$95I;x#SOMvAKjKh1@`ng^{UM8YRMze-J{tkrCM~e!oKe38M>HX% z&@j~}su9a4vummx0*Bz?J7^ICDuZ*v-j@j+ zQ^i7UxJEkQu|r8Q26#v*&oxe@_v-#WcIPHk%$<-vhUL|A`?H=OMJiyqY|C(?`h`zq_ij$7(- zE#>dCce&aRQ@#@=L`k{8;pds+;GSu^#Mz*x%;KqF|TCzwT z8VMbbWQ2&&=MZ0`%ON5xFn%FXd_2vV4CXT8B`>vZ4R}wdkGZ{tP$NRVfl*5@Fq0;o z+{FD(Zh7Yz@<0X;bOam2U39i^SB6MY6`7t&L6_`+F4Z%$E|fFiP!-NaZFON_5D-uo zqBUbA3j!cL;Ubs{U9m&&n_TWlhUp`GCgiu+T(B=E!Omn^$*g)Xs(oxxdO?nnjKF7B z5d#>-jWLWB&v~qPMvVcD&W$B3Jg*K^SgJzZELQ=T<(+1&DEV$2xZTxD&c-Mhs~!Z~ zO2O9b;vt>NE11+81-rOnmtSGa5Y>%sbU{B%8Ojh{bostnl;ID!fxD!-m&N?jZOtFF zslSXKL;|63!;BNB**EqA7%Pl3Hu->@2X})v31ustXBIiXTZ$ifzamV!oL>*th%InFODN41w#Q!S2P zcf}?zKBeEh^pu>JrDA6E%2A{XtcRvD`qw_~A`Iv&LVz(qm8Z9YQx=e}WdYSrM#nobovf3KNvH?xxwMPxgLSAq9T)LTk20zigw(NJ!5!>ZikACyVG&+3J zrA%u+vy7+KF>8@rkXn#f_>Yi%jKOTPW_FnPE^`*Q`*X5d1Et!~zGJPr_--^kGJM6g z*X(l;ytzQ_Z2Xrlh@$^%qoSo))L#d) z=ONV?2g(q($*~tizKnPi{nFTtt6~UoXN5Tj@xSI;C-jzX0bF9rOps#rF}5{dotQ<5 zE%{-&k+g_=3g`{heOm7?l#Q^~b?V!_*RWW?>htT43F6-%CRJCNL&bhe8aTEvfPtyQ zk_GXim9WcM^5D)dmJ>ITL%^tOh!|*(D5o5VhLeCEXd+sTGQ|#Jp#|f{4fM_Xs<(Ap z%za1Fnt5KD4u$g)b@Etai1vqXKpGY}eTOhP2ANLtJ+ZK2c$csajPad@g7~|_TV1j6WACom1E`5QSxnq)3kC7Vo-xV z0r%()j+dJmmqN#?3Eryp1#hzl9lXh&d@apdM4OABeg+*B13Zo7lmkcL2`X_f0*2dk zjM^i|h+9;?M{wN-im=2o23pjaBHoJK@#RM)w6G!_+%}? zT-ZaMK$Yg;&9GxkN}GI>j21u2*hNxnvjlybk7R~HczOPdH`e@#h*@w5cyxvO=RNK} zZ$P1gSRbGpG%|Ju!dgE%4VzG2*88tZZD&GVu8qpr0kx0ao1|$d3~L5M%B>V}C$UP0 zi><`Oz8fY|X%NvI!8O1IQPprO2R(ebKt$Gc^0ab)I~{ZHKm;^G-PF1JDqhaG!voGED zUDqSN0=09f#XXHj!?w#bDLJS&MoSWEzM`HB7}Qf_{hvvRXJ~1pLa z8pa9njwXSC;AO-S7ywfogAuL+BV31g;yjq4KCE)uL%PxqVvG9s^kS^=ezC%YA;j)F z&$;lbdYtMuE^Cd9?h3n&#wT?gDstoJT{Jk|!$5GFccaI!?~oi>ip29T!lwm3!5tzb z|KO6wN@qgRxd_7~zsF9pmU!iLuwKj4>z#tik1PIEHtWEr_XGuhqf|~Su=ZH zgtnS_6C~MZT#~V7l8{hRTNV-2KAZ|?g1-P0bOCEg><9`#0$V)$t2yXvmU)(AGQhNT^79eGiuoA} zyxYlSeTEPcoOx=X)6qUqn1_2P*FF$JQ5T7xr`R$|m)TE2O6IfXbq?a~ zJ)LJO?km~}E(<&Abk>|)EzywI51r@lbQGA*O__d1oze!th@7B8Z-1&TUbSV0QX-!x>EjpGDjUfm~}9H-zUy zC`0eT`j~iT=E41 zwVVT@7N8Im0~y0V7`^m^b)1ki>I|Oa96ZKxiEy+~m02dwcH^2eJbxt#z^AXyC8B)% z2zx3=PX%dDB(7Kb@)l;jmd5=u4+Ucrnyircuvief?8(BU#=tW=uvCl#%BP{>#>;BK zudCC!PtL){jd~`rc|-fZ9Ty4_=V}h&c6o6aLPRT0A=I%0Y#V{f0-O9MemSO zpa=+VQ(j9a%EQ{h4&^-DLOI+*J>E{g zAhd`PVZ_y1*L`}oix~cS`T@?~C^&U>YiBp@VPn9zp!0x@aBWBXOKN|Q^1V7<(Qirn z_frn|&eQ(6I!_MR&Q%WB_A9^8?6R!bSk~#&7%TDYEOJ}kOco3BYC`*K5+hz)AZc!^ z#1*vj|78ZVXV5RISJbBMwlj~Mx*dH@^tn^r!eK|!Mc z9Hc;>(B_!-S-q)2#UqE3YdmsDyw{$SF;7;EL6=QCxehm*W-guEc?$t8**M1ddKAZI z$9Rhrb;BRzX5%Q2m=bhZ^9a{WpL9Y&iGnyZIXnQbz#AZ)W4=biOq%hFau5!|EGh@- z7}d+lDF@+P2eN7N+_f#=Jn>mbzf1XJ4eW)|_xemIBB!|q*co8C>5*r>Cr}|&J>Mwy zxWm>FC?>0T?*UcP`lbxJ!PS67Zjr}}nxs8f-y*wYV7^G@?Q+_%0H7MABUFbEGMsbP zLidx7YK!mz7h#S2+|56;dZu zNIi%)u0!N-9U_POFK(!FV@Z7h#CSn9wSP8}+J(XCO6Z_dGn~}rUb+t2WoRfg1BJi` zEkox)$ADrt<;wRcXXt zJ97hXCDq!<!&4A#RO;e z%u?o-;^JnTr4(doR0;}-bjONgZRC)kQoDH}@`qJko@#Qf#*;NnESY@QpwL#z2;1`B zdgFI&Nj<08?@5q#R#z2sVXdi~pd*)AVPf;_cDAbhJ?S{uJntb@ljn&9?-|~YhPEUg zIIDp%$XMTo-XktJsXU%x8`F6JQ)ahoIc0*Y1c#U!@pYS_N})WeglQvMj9}rIrl}f1 zf)GI@qRQ-9#ySp)6kfI^McBMr_+T%e%JNpjtHw8%-rio18qx{LQX<}6MlRZ_9*3_( zbtwazn8Q!pkw2$$iL79CczR`j2GDO3l zY>WRC-x{=apNB+8dcR}QCNUodQUOFfrN=Sa0wO3{qGvv=m=CR}W6P^uH{1Z3Fp~VxK zxGXAYOj6=ZZq(Oi56r^%C3ww^PsV9kN1hGBj0HRd8GAZF&0|G$D&)sT#Q~NR+zbR(zHIwND-XI(wD?j z={;?kl^svKLk-}FsyAuWdJDJ(czCg>1S(c@_695-SZsadscii-*A;6Cei(a5JsH*y zD`hyk_~YEp?-mZ>9p(NOAhcXe*CChos}Hmf zR7RCkhRj76(jTCNQ%89%BoQ*Ty?;L)hrN%Vy z3Zwlc<=lrg#`yOt=lYd=yiYmT6`!C*_bqq0#j<&YrE$hqRR$xF!@k%hXkau2!UKRH zHS76B5EU8&Hh1=RfQ63`b`>^%c*!WY@DTuB*j5ah0pkoYUHEBCrZwjw3q>tg7yWHi&_CSKQ!_($5FNl*m>IR5~W5^k8a50((NV9c$3V1g44bM?Rkpr8)}CWQUlFj-9hSYQ%sb`~3YSAf9OBA*x&V`GenYB&cm&3$Ek!P&x_N$QQc*D2F|Be*x{u1cPXX zv*q>Em4n@oY(pxh>bt2_D#1iyi`#=nm!uMa%qMxaz;(lDUR1&?(OeTvg?fO>tj>;F zDSq$pNyjb94GE2H#g))2bc&Wh!4>GV^kh*AS#6ZKX9?)fXr9JbElfbLLAZBb9EPTIo4L^s0aj2O!j>!kTAiq8_-BgQipNyh=O z;V~6pM(~!vD^w0%!6#2?*ogD-f^yEUBgb3u!InRo zKU`K^soI1xi=sRn1i5aN2y#oc1{7pxRXwm)_5t1&<+#%<5~}SjH!55-x>Xwt zCd<^`m5Bh-A5S#PN)0B%^1^#-!0M9}E`Gue9lS~MXDt8sDy90)t^8-ru!ceA-?>#BhOa>bFPr5& zab)l&!Aa!T1E=p~<%mln=X$y`nI*ABHPtX22cM%aLF#FaYqP3y)6R|0wZ;bn=Qm;6 zSQrmayg&o;&h3RYHXgSDVn9nipe#EK?+fYY%6R5Mphy<2S4NO^lF3x!h^!M}Y}iU% zS!CzBICFm37HC>S}b2%B(Re87Z#r8kf_kB0<@gvQa^k zkWxqaRHG$vtmBZHRmmpW4g6BoQ0r3j;+OaS7a4O=qLD2s-NW;yu(v} zHrp%d6ii1PsEkL?Yz)au20KXiN$L419S_;Kg69YiKqwpVTk-miON!L|=EBa#rmFCP zV_XrQLCsXWXYYt+o;w_wJR%%j{fYLFw|a@RdoY7tV_IZI{kVDj4qO_facFNs9YA)F z`)DWfJG*1Fh&o0KJP>h=8a?ZyceR7o11ebAa4f0=QMlO5qqR8p3j-ae1iAyXwkd~Y z=nh60jt%8>hw?>?A%dYfFsOCWCdrzodYn!isIJnwK`Zh>PzQX&p8j#yXb2Iah_?3Y zdND+-p@#{&UL=EL1AbT!kaFSiFBpe7^%Q=uIfG|)d1kla459%RdbJ%fhYRp5!xVQU zYOJXk@nD#sJb0RmPN9uD-hpd2fe97JKq ztz$LSwjx}Dgc#vA{W|(l24Q0!T3k;#mJZDtxKBFqL&7wR`RL}NHx2Cs8Pgp|nXdI% zK}IjUwMKK9q8@A@y~)pnia@CMjM$CjTuHFnxYHm^vv^jL=4wEhz&$=a;^Ds zY+GOlOtE?4F{En*Dj6g&C7)N$Alb+305A-Wd+GsFCxfI;1_}I$=On+L8@)V0JKT?w>3Z3qosA+O_#$WZVJ4vO{D@}tTmP=pg5?X@=mTJZ)5q`;0? zK9Ce>hNK`TWF{m-4#~JT5FUU}RPg<;t`K89GOmZ+^k)GG*F|tb8y#xVrK^v^hO<0l;@+**w64bc#{QUaf>PNs2?I!K&W64`naZv#q{|C zgN@^fQz9adC!&!-p-EUlf;bmc1C_x2hD$>Fe8Oc7}XtRjZU@fIBi?2rdYO<)HMfhE$C z&NB!GgFJyHkSE-?PVBHhYzY1q}t$ZFsttd#4dUtfA`R!Y>3g+mzY(LtRj+Lx=@N z_(aT~%bC~w`CPhJ;zE3yG`jk^O0x-9%_h_voUZeoVTC3-3Qcqrw2*@3DZ}feKC zs>0Z(LbL`I;sl^2D2Ht*r(&*$Z7>de4N9i6%-2{*=9C11p%i>GJKA_z_T{Mjqq+2L z4!eGD#9-8nil7yvEf#Z28`hr1SY827Kh0uP9#w@Vq&mjr?>bkMOVKUGIAqr?VB<+P zN!jxiVpIR7;cNtFiWSuIm|Ctu z%?`1!2*lJ*a}07Vhq?aFT{z6BG6nM{O_^!%zEI>ycm=gB%b0&6Y*~yCkL$qSgD0KO zNA%QUJ8m_qvv@!Sk7qXCUWahCYp5XmNNJqyyku0!|#t5v#I?giAo5h|vGbnV2x|}WhVIP|bb|#0^ zfeL+qDtv~Zf=(UkY9Lg?TtN-~))FyrvGKwm{`mr_&<=x*4hTrO4pc26L7s;w1ug2#BB(63 zD>D_u3Rn$(T(4)tXA>ILFO&^ALU>qxg$sbignslJDg_3N1#V%SVULBoKB039D#w@G zCET(84z=S3xvzD@lM6n#7@3p~-dnJGRzf|`?7HtJeMHRm#{_lpuEoLBQc{bd(V-r= z9Sp$RmFY2wtbGnCK`>cQ!FcZ_EQ%tVXuxo1_YaaqZ_(LRsKZpck@|aH8cLGy@inxtw zb`RGuGt7qLW@N(jpuHg3PP#A&3l3F) z$xU9oHNlEy2lkq{gCZz-xhvuALtC~OA3xV)q}azk)2AW}i9lyvF#ELvvu!dKkOSM) zWJlepAqFIB2yqV7QVy>Jq3x#!nXT3g4$1aL?3@jRFw^opP!B{RZrleVH9(ALP3b2>6-K~&a5N6VcD1syrvEUVez zx^uM8+98mPECV9T%HcrrG3As)U*zc2;6&&Q(Xpf)(ZORc!I3}^Hp2hsKBA-C7Y_Gs z9dm!{jTikPTmQdTP%~XcSM5^HwR9D-p{vwESHT@`rtK?haAR!Qk7Q4;%yF}* z7CRo7;OnopUKr)Sq$eG=N{8&~Y?oY+oCX7YNov+#2Q_Qbd8Z%jv;*ul;K|DPOa4x+!-u~t-Gcu^3QPGp~6}%R(vN2s&O|@*!5-?Gv z7@@Vd5^t}7k7^?ngA>CFxCFd`YrwI5)=7`biRc6f4W6)(eFZ@CfW9mW!(8(NY>c_s zNvsaBxz$*A$l79GZy0NfA#_u;>IeJChAqm+mD3Mo1d(f?L=I!kC-c1(dMz#2sIA>REb=&O&&%Y|`IJf6F+H6;IgKD;hCS}-RYeAKAI0R@06w9iHb)gtjm+}7D zFElifhGuE?fnHds{h(I^k7<=|TGTv$XH?uRIhQnUJl^eyxT_@z^UG@T&M_+yQE~cC zRtESxw&C}2{o8k)CE}x(e2nEOml|B@0G3O>x&oD-xkUoWksT7I#kBY6`g@X zp*CbrP-XCVN9FK1=Ybd3&nu@KSwsZs{ zvPGb_MoZ63-frth--)g1o+RTR6174|kvOmT_i=DZ|PNuN2hdjF|dHz?e?0dwKqCF%V?~=1`(%vb;%tA5m9J3OPeUq7auCI9!7!Tm$^5YYLQK$_n1H%)_ zp=fe~VdP*O`y}9nK;wESki5*Ud|}~-uTY}1W`NgJ-ndIfXH zMtA^fNW@;wgMml%P$`~;8@U88SS=e%F_C0PE$*7fsTksze8E!$JEd?X^G$ZEF~&&8 zph@r@9L;&~Ob%5c-@!Km7JM@hIv4onK8!5N(G76vHs#!ZTE4VEjZIvPl zK?6kU)epb`B!n!J>@3C143!1fG25-T^K6G%W zs7qK!Qedxc5HJNC4B1|FeWyY+Sw!cZV^-owgx-niLn}ZFzJkA6Gato9t!c$=RAW7bc>nSItzxeeDPvnVnyH9|#h z)v;244rC!|MkLlwvFrt105od*A86Ik=NPC1RcH|`K#SZrzqU_b)8ZFvy%f;tvFD8* z(SX^OuV8|&Y0q0Iw&vf#douB!A%g-I-zJR;QCZ$(lm}60qt@;%Lr=HnSDq{{NV&-5 zUXf0|_ZH!a=UIdj0(?b=s2_ZdZ#um~5JqTos&iRyBtee_W&Tj}p>AJ=Q|u?k{9`fZ z<62MRyi>;Rm>bO_1H6nFe!*UxZTRHOMjBpGFc1pf3`x~XTY*yNQG|8#)#2uG9aClK zbN)Om$asCmRAz89XUZ6b$2C_FuKh)F^C%ie;!blUV`hwD%5zPTqTyMd88vJ~_aUkARPwr_n%>PbD&uv}s5M~G1K-gWpYsI4FP71U zbr;y2(CEmT)#XSHJ5{Pgngrt-~o(2SwC5`5;_lz+uq?Tn1bg;vmJf5Jwih z>l$BI0+%DcrG8xRfLqbB#{)l9u!|xBvS16Wk_WHiZDWT)S4DPv=di!H7K;E2p;!c` zP1}a)cmu=fVOaF7w({!1pz(}pf4r>5G>VrfK=s*m$F=z~T0<9W2mk+hPF7}yy-R?# zLvInZuq^b$HwAL=E|DTI3%0R3u)f!MBVxT=Y^^7@sRDr)R0`EPl{#^Ru+MKpgko(~ zlwOl2`$GsaD~Scp<>6mMGQkYfQ?}l5SjzWn$`j2K_BL)}8zX7LRz^bHZr%pOph@_wcu@=Z%9$x8pYi(P8lZP$K@+omgLGAJ(k!d%qg;BMGor}E- zU&Ftw0Y!qB$Qt~GZyqk7rnED#+@^6aE@33dbAf^SJg6d4Ce zqt(Du7krpLG-9?eipe4qIYe%OjYvjzg+s{TqpvyGH?i`2Ri6-1=pNgk;J&u+0ad?< zBHZU_7TT((jYX==g*P!m-n`iOLyi3V|MgkoLWdLSM&VvG$VzZ%Ab1lGIPAFc-DH~1bn@nIV~#J8le^Io5iij#zm z8WWJWIThENFQFFII_R166)$r(Q^DvdM2;fkLXHMB{Hrgjn$Jb_Ed0#{^&*TA831rV zRn{T`@c`@71c0WAwph4S%fbCG^xBNAMv#gjamlTUqFHJU!GPDnCgdiMj494%A1C?xA$5M}N+Y6~&VJkg#hZ`~j2&ep9$x`Q=Ykd0Z^Zs9f zgEnCtu*u+I6rdfRAcF!3v&z91SS4pb+(&$t`@kaifkm90-O9NSY=YIjjbvLZ{#618 zS@xBJ`}|A^Ux;@^$BIdiJe>PDs=TJ|fJJRnfkcoFawoJ874K9I9LQNuOgx+K4z2ZU z$=pLaK6Pa-Y__))ViazTH^FIsxJ2St+J-f5_dHdRJmmr2EgkV3kvjgKHh+$e zMSqZSmQ6P9>GTGdtXSnp)ucWG0jQ6D0|n+==zC4cMapK1E8=0DF0*E0y?3gHRbAeS zS6kCaR;)%`d6p_Pb~MrAH~Ki3udc^|s6fVc)PKeTg-&W8wN=K@!b5>_TQR_JREe^Q zsvv4abujs~YyerBjrlt#lPABO>xiCQ)c}kp(RHT#v(KGzG6y{paYVl%^a3mJ2~8tR z84X`Jr3;iJOBhuvW>_#&-g~dxyNRhiOymm$UJsZ0tv$5`HPk~!E+Ne7>2Pl54gT>fDu-D7gd4HCBq|i(LUIYIB zZ{gZXrb|_gWE+#%z5B|1qX#*}TP4SI*59YY`Uj&Wok4m5jS?GZv2M+nwY5=VT7}94 zR#k?z3AizA0Vlo;XdXE!aO(%SQ6YfWL2Z_%Rz5JRB1cqqmBuWdImV|GFimXVr!MTh z@)ghMYis^CJJ%(nz0t@*H>IC#GI8=~sNHBjQ@X!bFJl&*0&l)6ztZ_Ky>?sB47z5( z&YcR7_gc3mU9Zow6zewR5KTjE9M|>`lv~?D)Xe&5WN>KAeT~L!@%~zfEbwRict1VJY<1!du&G#^T>t0z_u%P(F04peZb{7U+1gk zIP?zs?I{7}*hf$&a2!*PK&j3vhtdK%KrMI~<^WpDYxDAbgjOuc4XDKj==(#@dkal% zQ?H;Wa%}amUHd_oIajf94vI98HhvYbyCFV!lP(b8D}L>qU!d;ZCDk&r1vXtu!ceiBcnfQt>J|I3w0z&-a`i2lUpf+H) zd_sua1f)}YuN!DGGW6F(`bKe#APaO6&m9c_n*peWQvlRa;>Fr;S;}2@OSe5H;OKq} zqA5qtdKl```yV8tV!{M=k?Jc>pa6BO;-881I>#m9FmM_AE{rfjeBhDBfm#5k z;I+jCEem2@muS#jBBM?{s3g>4x8mYp!g++6s8SbRr_*cQ-|2l90-iwax4~A$&uL*Q z%SQt{#0Gf`ofP)6=8|>W$6+ zRXxJsf}`O;LQ+rx)UeJhTFc8SKyI7QjM%&^)r)*)#13dPsZB5VS47Nmt6n4_qBb|U zqUE{tZs&G9cqBYEGNOPfoX<#zB7))>?H4|7v2Dv%t4E?0Vixy7CO|gek#HwzXuu9>yjb%a&%b0TLWjUy0vs+~` zapH4mpk5HNRXGkYz~%74sY~W(`Fe)ml1rh!2aip-P@gcNKJN$fO`M96VC9p8t)Ld{ z0wQ$ClXYevi|xr&P5)32gM=WE;+vJDX@W2)L!y(@90cl-USZ1!M6w3|Mt}NNdS8Sz8dwQ35;e>_C6U96X>0j6wPLo~p=5%RF zT|!4R7L$%CuPr8M8}|*!g{6wuNnmUu%Lh|q9m9N z28Vz~l-CT2ziGi&Vi)Ps>7*2R#m{ZLGDj9CVQnpslLfFPCdNo@gPw~b}EGMrJa zBR8->5X#vUbU3AU;Ae~no9}DBzTnNjK}cL?uqQ5aCK@?|xqmDMNCH(*MZgfD>`-(E ziPxwXboh^fRh)*P5{V?)#WgKBKo2se4IDaV3) z>^!Vb;*gl@9qos`w~pq?-IbLDq4>gXC>(`_k%bIFUzAk(&j)$#Wc@Ri!f~O^pIIVOgm9u^#)Ck@THqMVgjL<_ zBW+Ds<#Xjt11*$HGXptYee$_w8qRRVjL%W_Y9;~?1_d>Q$wW{ANB|`|0g)i$(MX&_ zT5^u1cKc-eN*VwiNwdNN&ac&eeP^x#x%Tja`!xk^u!$XNFn2 zMXd-z{pNjPQ>Xxl5sQO7(f%P@3m>#7p-_3T0H~&>2mo%eHB}9jKouYZ@d%X!kQj7u z#;EoI5P<5P>gCxfd2I1{Yi8{m03auvUQCx5-LE~*yB7!+y*Q56CN%WiN-JFKaB-Q zNk?%FZ(!{3?w#wE|EuSco4H=XBf#}2a#)M{UEUgOk+<)1%IfzfZ+L>{(SS%<(20~K zFI1Izu#Ee(SWeYIMK#+6B~d*iV}uYf*VXdV?M>MuQoR0gL~Kq8&SOl!iJ2HNo2?m! znZWr<=V|}x=9UZ0)*_yAMa$j4Pjk!L1XEN7q7^k#`};BZ8S~7DxbW{0kxRN~Sw9T5 zy~@vi&e_GDBP*vuSK32)6sv3oR*z{qeUB=ZEFaMi6CtVM zSX&0^W7m+waf}r~Ypl>an^|Zh+jym*nEI-l*ibh#`~yA1`qbFqg*Lxnk(sbd%n~tc zginmx8j+A0TKhhow)5qLc$aSU91w1>Dh^(ERcmil8IhT*ovXFX#&(X`PJ8@_1>k|X z$?ce%z+>kZ3LdjKqH;q$*h(lKxMaRiWAFzP)N{&Rt(%=I%l4qf9GeA(4d5h&v~OQ% zHSi7ELobD{7kIOjKM~CL-rNh`cy1Po4_gQhFgs5BcMkq>!>CXg(LVfP*}eul0~lP=P+Mjh^Meb# zrqZ#Zt>ZiJ{Z?f;EU+Qza`A;*(xC*&GJ_PQ<>CQV94a`RAZXl&&5&?)m~Yji>%O$g z27yth@VnHJ^Ni^po)!LM*Rvggh8bb%2eja>HQ!2uXgx##`I*hP7K~@EF9q2GEPhTQ zfieXJ=&<<687|BQrs)aRALU3x%8`Z}&aj4<7hrg1&0B1 zlz>r!^4|GX-s@oI9_|DkH){x^uZHz~n_DgL%|j_9)Wu5bdNa2QU*OpalBN-l3ioD% zo9)Tms{C1ETRgpi>J3<;W@E)Ts(4g`M&uNJZh11r)-H4myCT7WTSV&vra{ZFxW%_} z6mwp)M|!Id6e~weVI6!233Cxc7u{-&@yg)zT)A24jfgc(P(Xw69Hv3mP(4ek*B zbK#k_=QazDG7mV8G89Hm0!X!`02X2^P$Q!8bq}n07meSydCgWIN}~Me`brwcdUKgNE-3jyT2!LT_RNfh)`nju|+(DmZG%iI#RKhOz4E zUKHt-H#U$eM-b5gv?BrwY>@Ycj==^(42;kzBzj=POjnip+jOxcYpckjf{Ko0k{9%$ ze2`$C1$(w-T;zDhL^`{9(88Q8xD;;9a4A~T#{*nKP@};b`I6`8G?Hc>)WThQQAjlp zYO-d6H5B)09(0`%^y;NRB*=raT@_TSKg$_K@-f}f{j8_dmizjx-q(;VLGP#*)HQYD zyFnDK+0S+QnIT=Ss3A?K1G3HBr&t!6IC1Ya0a(-pea-YRUB7oF=EcYJgZop;$1R>k zG!fD*cFM;5(&}v%VMV6Z9EHeY2rx;gU>{C_e>E(dJh!1S8&(a@C?~JW>Tic3BTj4n zv%onIMOv~%Kg0Hl&~vyFy*8MOA=9SWa)`Gw*qhW*-dd+;9-w5YC<-!ymdqdEIo>}! z&bxTb@zm@_<8TgZ9LO}r!y*@`lw$%k_53I2HaAaZwAi<0`M1orqG{TJag-vBI*Yib z0Rlh=Av~eHR||2DDYEW)Pn7r?)1DbPrpYTC8@uqn&Uv0bj!_pe%9c&&v$rxrEXrt; zwm1YCt!9^%IK8i_$}@Y+(lE18dwYZtkPm1ofM{6FIcl8qC=L`v@#0&Ut)&B0SR_Qj z304EL8BrIMOA}@#sBE+L5npq~uCOf;k512&CleXO@L6nT-iG-d z0t_K9HyX&gXde6Q&jb}grdNV?&3kV1NziR(oxy&!#)s%Q#yVqw1x_u=)iSLoIy z5@3RWTtK*U6QME)=OG;#Hx2;-0d`{I(53!=y@TCoM;0N|hIxKNYv&|G=flTu<~am1 z=*dlW>;WS&dj@3nfqAa=9U@P0T+ADWJc7iDSRf#3{%Xh7v)(9PPK(i65~|iLV>y;e zBN$2W4-yHv3lTvq6`>Ftbhl5bd8r~0bHy1QCNO@V8wQ~>6qDv1M>oR6c;rM>dG_8d zvJo|aWj48Xw775qlMVjZetcpCLPo+Ol*`+Vnir&Lg%(SAEI=UtwCg>HvQv*msX zoJRTjDxx&02_kBkV2D}7FK7Td$eS|f(}G43@ok%?A2dR`pYDV|$ca@P#-aFb5uz|V z&xAb7ujNCO0b~2InB&mEAqmx~q;E_OWEyqCa_KtJ*mGG97p|*mG?`#_#;vtKz?tMh ze_MBks6}$1l=CtJ>lTYlh?_)ze0{+^jswEHtY`nPcj9{#^(e#&PK8XA6}y-<;Iny0 z#5B){Fr&v)D=<+|FeVnVC%nTDd{8n>SNyI_xCP%W_d73pb5*T+F}J&ruR6gVB)wTg za0PDF=93{h7cfV4rqBD z?kvWIK-4`csRG8NI;am56rn{stUW-6BMlI2G1WwSw9lJ6d8rbL17<{N*e9(RsVPW{ z;%dY?%HuZtDQSGMzmPx^?rOXtar#CN&*Gg*jCEtRS%g;xPc7SHWhx*Z(9mnig&u_* z(51+LklUyb01&hWgY}=wRp)h$eNavymX3kxy5@8n z+ej1yC7Ij=_>J3ah55tnc|ItwEBG5#--i!3h$u4}z-w#x@085S>k9JDF)IB z*w}W`p})>Lf|hAp#4^#Fdf9+e0&N5^0W1_bs~m|&-o1>#B43RGQ7t17_vOhB7!kTH zQy%t641AgAYyP9(QPlD#OF>rz79rTu00o|CGt9{hlND;lhyKXo;9TL~DSDb)FUN>ZC4(ng-2^5^b}BP$E(8slcwRl82+|#b?w0#xk(( z5M!Z3Xrtk-PHDlpt!q>UTza4FtJatBrdRjlONaw48!{TEM@`_n!yDwq{4BLbD-_2s0=$Wd@H* zSb2^jJ7K~GbBC}pW)ROTWO_Q0PRI^8AP7z*RKS3Mg$->F(JKfoV_92{JxdQRN>}XH zA~;bUPc$s43$-Rhj-xNo6`>m_LpLy-UY&q0pq#~aT!${;zVhyh7R9tM(9#xb$*sbg zE%i~q8Ml6Ox&^<~AJBkP2-v5Tqsu^pPcC{HW8jSzzF5$lLqiLwu%D2lX(3w&JuK4$ z-H=rTnc3O+_>_Cb68JP=3mNVf?D-DG!$VIyR}865D0#S7cNTiA8H&XTJc>hiFoo?M zXflNz$1)WyZbCbUox6ELua+*@^xzB0vW`^A7_d$>npa)58F;l#JO|;XF4z(Y+Ar_= z(oD9f?5mG!nn1;hXfO>mZ*w+ST!d>;<&2w1=&<%FVW!sm=50^*2>fQVy@s62=6o?%|=gO{j?sJui( z6lNM29cQo^UWzQf@Qub;#M&~J*|kivF=k^-VwnxGEMttjF~+zl*Rm{YYh#SrY>3&) zuT;#rP0wXFCY4QhP50^B=YHS0ea=18)3>{aK6)6A2BS6(eq6f;VYFOZj=GP2PwUU5 zj^2l`;@`){=}yOElZ9|4t|RN%+{9-z#72pU?2q^go?o z^vrQARM}5GmQGlhvdquYN+NyOmk~3Og&+$({eLN0ey2Xm?pqj5A8bU1y#<~1V0|KQ zjAamZVU$g@W?f649-p^|TxPsGzH|Juh^B~p6KoTnMAk(f ziu@?5H|mXOd-R=&^2DJSbIj1Bq)9cC22C-hX484o$mF*t-;4FeKAhs7awaZ5?#xun z)J;<_##`bqPdlDqOSq8mI5CiTCh_k{rlhK*E7RkrS4{s_vN^df`Pz)Q8Fe$Rr8rZX zQ|`_*&+MJ~(CjvEHh(m0(X1naNl<4yXP-=sNo`2ooqB&x?VP)5rnK6$n{%CW2j-5< z3(PM|x1`_7$j*44Y0j+3ypolYRhre1rDomAuF8qb8MFwN2f4$!pNRvKNxC2(kgr+O zteb47Y$JJ}+T-o%j&8?Or|3NEigi`FZoA{%>Fx&ip!?$muwd`PxP_+|gzS$nulx4*IukGuf4vmb=@a*{`H3S*Xv8` z2kW10XxebU!Q1d?WBtb4n<}(-zK+R-8QuCg<7nhYmaMJLlL2- z&`3vLXG~{XS7g_Lu1nqa?h8EwJtNy!Z-24l(2nQ5oxOKeaA47aD+kLCUOm)%IO*`o z!}pH}N8UYh_vql!>w|{DC&w;o5toR`TIyyS74*^WCZJ^;ZH>z8GN68!0pRm4~l|qJ*uyzH6)~aG6Y$a23^o74^TGRiY|NSEH)D zN&-a?gf{2_6@1VFtq=kM(!m26w3a~xiIzE<#I^)zB3%J0Nv{X|pwK=CSg53cw*0gn z!)e#H6lf;}`gjbD46sYDvDBB@#f5k}{Y#(`q$KLk$#h1TLa!t-!z?nFy+eBrq`_R6 z2lFXxG9VMOAe(~1LarSR9xK=&5A5VDC%DMzufYOX2#e@>i+pNsAq8MDEP)bO3d>+Q zl)?%qgOyMYt6(*(A-7gS6;wkFtfe4WM+bL3)WZg7fQ_&T8Yy?&fb;Nk_zvub>+k?> z!pATS@4!>|5&Re~!w+FUT!J6Khm^&BPnqfa@CWz_yajtH;46lPoX1M+f;9+=gGn`|vBc zL;0;4eoGneH}E|Q#S!=l{0{EJ2js#(!JpwEY$j)Kp}_T%bI+2yw^5L=@adqC?j(0T zC&zE6ZnXn;LN8_1Z@}x&2mP=MK7mi+Dn{T0jKnC6#)%k%lhA~dF&3v_98Se}oQ4UQ zh)FmdlW_*7;7mHlpf?`kY)r*Dn1*w49?r*f%)m^{qPHUCpapYLL|Ani$;l;GSh9;; z;vDuchh*b;5=W6Zio{W5jv{juIgBF8+&-D($=p7fBg-6F=Ezo#Y~{#Sj%?+}z{)wS zoWsgFtenHjIjo$+#yM=9!^SymoWsUB#*T}PbJ#eCjdR#Ihn-tx=QZrShMm{2^BN9r zm4n;j;I=rpEe?+C;K&Y+?BK`_j_l;fPTpQ8=WuckC+Bc-4kzbuatb8=WuZj z7w2$s4j1QeaSj*faB&XD7)qFfdWasok{I4AiD3>&40A|gm_ri79FiF3ki;;DB!=4| diJU{?9Ah@;h08?OXbrn$&C|Yi@a0Q@e*v(bb&dc4 literal 0 HcmV?d00001 diff --git a/fonts/ZxSpectrum7Bold-1GpEB.ttf.import b/fonts/ZxSpectrum7Bold-1GpEB.ttf.import new file mode 100644 index 0000000..9117974 --- /dev/null +++ b/fonts/ZxSpectrum7Bold-1GpEB.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://blrrssv7yvot2" +path="res://.godot/imported/ZxSpectrum7Bold-1GpEB.ttf-90e16e9694eef89eadb4ded82bfb64ea.fontdata" + +[deps] + +source_file="res://fonts/ZxSpectrum7Bold-1GpEB.ttf" +dest_files=["res://.godot/imported/ZxSpectrum7Bold-1GpEB.ttf-90e16e9694eef89eadb4ded82bfb64ea.fontdata"] + +[params] + +Rendering=null +antialiasing=0 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=false +force_autohinter=false +hinting=0 +subpixel_positioning=0 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/prefabs/Dialog.tscn b/prefabs/Dialog.tscn new file mode 100644 index 0000000..82a6072 --- /dev/null +++ b/prefabs/Dialog.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=5 format=3 uid="uid://cmn7af4dsj8v2"] + +[ext_resource type="FontFile" uid="uid://dwn20pw40jpxm" path="res://fonts/ZxSpectrum7-nROZ0.ttf" id="1_e4s1h"] + +[sub_resource type="Theme" id="Theme_gtdw8"] +default_font = ExtResource("1_e4s1h") +default_font_size = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_tctyf"] +bg_color = Color(0.532017, 0.646565, 0.382003, 1) + +[sub_resource type="LabelSettings" id="LabelSettings_8nvov"] +font = ExtResource("1_e4s1h") +font_size = 10 +outline_color = Color(0, 0, 0, 1) + +[node name="Dialog" type="PanelContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -544.0 +offset_bottom = -451.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +theme = SubResource("Theme_gtdw8") +theme_override_styles/panel = SubResource("StyleBoxFlat_tctyf") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "Test dialog" +label_settings = SubResource("LabelSettings_8nvov") + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "NPC name" diff --git a/prefabs/Door.tscn b/prefabs/Door.tscn new file mode 100644 index 0000000..74d269d --- /dev/null +++ b/prefabs/Door.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://coogmsw6rsdun"] + +[ext_resource type="Script" path="res://scripts/Door.cs" id="1_nwv7e"] +[ext_resource type="PackedScene" uid="uid://x6pqolxtgwvy" path="res://prefabs/Interactable.tscn" id="1_yb42q"] + +[node name="Door" type="Node2D"] +script = ExtResource("1_nwv7e") + +[node name="Interactable" parent="." instance=ExtResource("1_yb42q")] +SpriteOffset = Vector2(0, -40) +AreaRadius = 20.0 + +[connection signal="PlayerLeft" from="Interactable" to="." method="_on_interactable_player_left"] +[connection signal="PlayerNearBy" from="Interactable" to="." method="_on_interactable_player_near_by"] diff --git a/prefabs/Interactable.tscn b/prefabs/Interactable.tscn index 57ebe60..56edd7c 100644 --- a/prefabs/Interactable.tscn +++ b/prefabs/Interactable.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=4 format=3 uid="uid://x6pqolxtgwvy"] -[ext_resource type="Script" path="res://scripts/Interactable.cs" id="1_4jn0u"] -[ext_resource type="SpriteFrames" uid="uid://bvnfvjn7am8tc" path="res://resources/sprites/key.tres" id="2_meac6"] +[ext_resource type="Script" path="res://scripts/Interactable.cs" id="1_4ni08"] +[ext_resource type="SpriteFrames" uid="uid://bvnfvjn7am8tc" path="res://resources/sprites/key.tres" id="2_0s1fq"] [sub_resource type="CircleShape2D" id="CircleShape2D_w4p6k"] [node name="Interactable" type="Node2D"] -script = ExtResource("1_4jn0u") +script = ExtResource("1_4ni08") [node name="Area2D" type="Area2D" parent="."] @@ -15,7 +15,8 @@ shape = SubResource("CircleShape2D_w4p6k") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] visible = false -sprite_frames = ExtResource("2_meac6") +scale = Vector2(0.5, 0.5) +sprite_frames = ExtResource("2_0s1fq") autoplay = "default" frame = 1 frame_progress = 0.336703 diff --git a/prefabs/NPC.tscn b/prefabs/NPC.tscn new file mode 100644 index 0000000..e2a67f7 --- /dev/null +++ b/prefabs/NPC.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=4 format=3 uid="uid://c5ndo6b0unkst"] + +[ext_resource type="Script" path="res://scripts/NPC.cs" id="1_xeo83"] +[ext_resource type="PackedScene" uid="uid://x6pqolxtgwvy" path="res://prefabs/Interactable.tscn" id="2_hcfxj"] +[ext_resource type="SpriteFrames" uid="uid://e8ybb7seykdx" path="res://resources/sprites/player/player.tres" id="2_x8mtv"] + +[node name="Npc" type="Node2D"] +script = ExtResource("1_xeo83") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("2_x8mtv") + +[node name="Interactable" parent="." instance=ExtResource("2_hcfxj")] +SpriteOffset = Vector2(0, -25) +AreaRadius = 20.0 + +[connection signal="PlayerLeft" from="Interactable" to="." method="_on_interactable_player_left"] +[connection signal="PlayerNearBy" from="Interactable" to="." method="_on_interactable_player_near_by"] diff --git a/prefabs/Player.tscn b/prefabs/Player.tscn index 2846157..6a16bf6 100644 --- a/prefabs/Player.tscn +++ b/prefabs/Player.tscn @@ -1,21 +1,53 @@ -[gd_scene load_steps=4 format=3 uid="uid://dfdsnwub212o6"] +[gd_scene load_steps=8 format=3 uid="uid://dfdsnwub212o6"] [ext_resource type="Script" path="res://scripts/Player.cs" id="1_68nsf"] [ext_resource type="SpriteFrames" uid="uid://e8ybb7seykdx" path="res://resources/sprites/player/player.tres" id="1_be2ex"] +[ext_resource type="FontFile" uid="uid://dwn20pw40jpxm" path="res://fonts/ZxSpectrum7-nROZ0.ttf" id="3_w5ojp"] +[ext_resource type="PackedScene" uid="uid://cmn7af4dsj8v2" path="res://prefabs/Dialog.tscn" id="4_owmws"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_sed4o"] -size = Vector2(20, 29) +size = Vector2(22, 51) + +[sub_resource type="Theme" id="Theme_8jldp"] +default_font = ExtResource("3_w5ojp") +default_font_size = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_l7l8c"] [node name="Player" type="CharacterBody2D"] +z_index = 10 script = ExtResource("1_68nsf") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] texture_filter = 1 sprite_frames = ExtResource("1_be2ex") -frame_progress = 0.641559 +animation = &"walk" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(0, 0.5) +position = Vector2(0, -0.5) shape = SubResource("RectangleShape2D_sed4o") [node name="Camera2D" type="Camera2D" parent="."] +offset = Vector2(0, -20) +zoom = Vector2(2, 2) + +[node name="ChatLog" type="PanelContainer" parent="Camera2D"] +offset_left = 160.0 +offset_top = -140.0 +offset_right = 276.0 +offset_bottom = 100.0 +theme = SubResource("Theme_8jldp") +theme_override_styles/panel = SubResource("StyleBoxFlat_l7l8c") + +[node name="HFlowContainer" type="VBoxContainer" parent="Camera2D/ChatLog"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Camera2D/ChatLog/HFlowContainer"] +layout_mode = 2 +text = "Chat" + +[node name="Dialog" parent="Camera2D/ChatLog/HFlowContainer" instance=ExtResource("4_owmws")] +layout_mode = 2 + +[node name="Dialog2" parent="Camera2D/ChatLog/HFlowContainer" instance=ExtResource("4_owmws")] +layout_mode = 2 diff --git a/project.godot b/project.godot index 4c7de4f..6f0dbe1 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="chill-jam-10" run/main_scene="res://scenes/test.tscn" -config/features=PackedStringArray("4.2", "C#", "GL Compatibility") +config/features=PackedStringArray("4.3", "C#", "GL Compatibility") config/icon="res://icon.svg" [display] @@ -29,12 +29,12 @@ project/assembly_name="chill-jam-10" move_right={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) ] } move_up={ @@ -45,6 +45,20 @@ move_down={ "deadzone": 0.5, "events": [] } +Interact={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +] +} +show_chat={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":67,"key_label":0,"unicode":99,"location":0,"echo":false,"script":null) +] +} + +[physics] + +2d/default_gravity=9800.0 [rendering] diff --git a/resources/sprites/Sub/Sub.png b/resources/sprites/Sub/Sub.png new file mode 100644 index 0000000000000000000000000000000000000000..b9f7b39a8cabfd6ee090bd21275c0db37a71a653 GIT binary patch literal 120057 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%0AS|9-QjEHneRMllTr@!wuQ&0waX3hKyLWVp6mKk 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ⅈIV0TS&haiw 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 literal 0 HcmV?d00001 diff --git a/resources/sprites/player/mc-walk-side.png.import b/resources/sprites/Sub/Sub.png.import similarity index 66% rename from resources/sprites/player/mc-walk-side.png.import rename to resources/sprites/Sub/Sub.png.import index acec1bd..b55777a 100644 --- a/resources/sprites/player/mc-walk-side.png.import +++ b/resources/sprites/Sub/Sub.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b3brymekuuwkh" -path="res://.godot/imported/mc-walk-side.png-a5332ee9ed87bd7d0e1a7707263121ef.ctex" +uid="uid://b5baxx5o21qy1" +path="res://.godot/imported/Sub.png-ebfb8b118769124e707231ad3147612a.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://resources/sprites/player/mc-walk-side.png" -dest_files=["res://.godot/imported/mc-walk-side.png-a5332ee9ed87bd7d0e1a7707263121ef.ctex"] +source_file="res://resources/sprites/Sub/Sub.png" +dest_files=["res://.godot/imported/Sub.png-ebfb8b118769124e707231ad3147612a.ctex"] [params] diff --git a/resources/sprites/player/mc-walk-side.png b/resources/sprites/player/mc-walk-side.png deleted file mode 100644 index c2e1189594f77ce85e78747785afc1ef437d9a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmV->0)+jEP)001Be1^@s6m49>f0006)Nklkwn)s|Fz+9Z>Qc5~HV(FW0z@Vp|lfzx`#Ec)t z&XXe`yZAlR+Z6%Cj`9Fye*q0d-OERu2p`NGFyn`_wGD8E;!Ctu5gf$ypkmLAfKUUD z*WRWGPS-_yaA9j2;L^pXm#c zWxFC+*eP-1N3o|HAR+h_CinjooP#&cX~hk2x#FkvSNQt~WccVSC6q8~r> z)YGf$p@)H{(b`8eKQIT{_>p|K+?yI8!hllJ?&ZN}=RiBGvG^*k<|vL?d=39nXd_&R zy%m4AjcBHJS_CjRp;e#vT7<9@fEGLc*UDoAJUS9<=jQ>#)md#G{-jhR;I-?|KJH@i z?_LhyF7rtUOKkoTMrRH?V({sS<%=2!fdaoqML@@a5A8i`$O z5qIcO+-xV1-h#DowAlQn>Zd{)9^9uQY+3Seei%W*Fnrg_4)Gu;03!z>w|^^JvI^#R zF|LO33p%kShoAR!*WQ3Kq1^aB*g)B(I2NGav_ z#Ztsc2)pr__*H?ZL!qHi%jX}_2wRH~RPeJ7*?gpjOByfih1V=!&7A$`L`O#u{Qw#r VO;a}DuAu+`002ovPDHLkV1l1LFfafB diff --git a/resources/sprites/player/player.png b/resources/sprites/player/player.png new file mode 100644 index 0000000000000000000000000000000000000000..774ffa6e4ef2549b97b0e24e8cc979455915b76b GIT binary patch literal 3160 zcmZ`*c{JNw*Z#$nRBNjC)vCEDo#;eMNf1Q6NYT2j8Y(4GN?jpBNC-u>DEF31)vP*k zuc0xAnyNKK)jSp#MMOjl8F6lduu64MM(evq-+py zM*t9k34ItuLO8CAe^wPvpkPO9bD*?G=_df}-?o99IfuPuWIJHoIu5t@%C~9BWrp7! zz@n}r{LO21iZ9Ck@ue-=%ax*byIvOZ?B4YcwQFD8@5!MH;yP!%?>^SST)%H_=v$xo zSCJSv;(9&ezCW%YAm)_3(*0NDBo@P589#}cpRC!NpA7EVB7>9j(Nj#yi{PG@##<&D zLOB1+JX>>@_X9>X!I<;G#L$gh2wP4_#&z4lrAJS^d6ze?7;G$AjK<&i%RQtvF-S0zb zii~r)4%~DF*f~TFV2K$jQ~o(S^%@u!rRG(JON{HtH>-c%y1M1%h@Op6-(=XEe?Duh~(#aP^0LoM!KX* zJ%GVYN?lFCMgk;4We2Hok?9RC(VNG{NeI-RDpo4wHH%6qvPn@B+$8#{!%0DQ=G71{ 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 b_}JM2Cx!n1pa15R{_B>Fr9HgV+%x7s@wY5@ literal 0 HcmV?d00001 diff --git a/resources/sprites/player/player.png.import b/resources/sprites/player/player.png.import new file mode 100644 index 0000000..1c2d778 --- /dev/null +++ b/resources/sprites/player/player.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c50svxafnldco" +path="res://.godot/imported/player.png-bebb91e5c714faf81a7082ad25f1bd3c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/sprites/player/player.png" +dest_files=["res://.godot/imported/player.png-bebb91e5c714faf81a7082ad25f1bd3c.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/resources/sprites/player/player.tres b/resources/sprites/player/player.tres index b30e9ba..3974eaf 100644 --- a/resources/sprites/player/player.tres +++ b/resources/sprites/player/player.tres @@ -1,36 +1,48 @@ -[gd_resource type="SpriteFrames" load_steps=8 format=3 uid="uid://e8ybb7seykdx"] +[gd_resource type="SpriteFrames" load_steps=11 format=3 uid="uid://e8ybb7seykdx"] -[ext_resource type="Texture2D" uid="uid://b3brymekuuwkh" path="res://resources/sprites/player/mc-walk-side.png" id="1_338ik"] +[ext_resource type="Texture2D" uid="uid://c50svxafnldco" path="res://resources/sprites/player/player.png" id="1_dm8qi"] -[sub_resource type="AtlasTexture" id="AtlasTexture_s7byu"] -atlas = ExtResource("1_338ik") -region = Rect2(0, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_1e4dj"] +atlas = ExtResource("1_dm8qi") +region = Rect2(0, 0, 64, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_654fl"] -atlas = ExtResource("1_338ik") -region = Rect2(32, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_plu4p"] +atlas = ExtResource("1_dm8qi") +region = Rect2(64, 0, 64, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_tdjd0"] -atlas = ExtResource("1_338ik") -region = Rect2(64, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_2o31q"] +atlas = ExtResource("1_dm8qi") +region = Rect2(128, 0, 64, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_xicac"] -atlas = ExtResource("1_338ik") -region = Rect2(96, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_12s7x"] +atlas = ExtResource("1_dm8qi") +region = Rect2(192, 0, 64, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_b6h1b"] -atlas = ExtResource("1_338ik") -region = Rect2(128, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_xohba"] +atlas = ExtResource("1_dm8qi") +region = Rect2(256, 0, 64, 64) -[sub_resource type="AtlasTexture" id="AtlasTexture_ukomw"] -atlas = ExtResource("1_338ik") -region = Rect2(0, 0, 32, 32) +[sub_resource type="AtlasTexture" id="AtlasTexture_mtcky"] +atlas = ExtResource("1_dm8qi") +region = Rect2(320, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ru6d7"] +atlas = ExtResource("1_dm8qi") +region = Rect2(384, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6mglq"] +atlas = ExtResource("1_dm8qi") +region = Rect2(448, 0, 64, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vm47t"] +atlas = ExtResource("1_dm8qi") +region = Rect2(512, 0, 64, 64) [resource] animations = [{ "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_s7byu") +"texture": SubResource("AtlasTexture_1e4dj") }], "loop": true, "name": &"default", @@ -38,21 +50,30 @@ animations = [{ }, { "frames": [{ "duration": 1.0, -"texture": SubResource("AtlasTexture_654fl") +"texture": SubResource("AtlasTexture_plu4p") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_tdjd0") +"texture": SubResource("AtlasTexture_2o31q") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_xicac") +"texture": SubResource("AtlasTexture_12s7x") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_b6h1b") +"texture": SubResource("AtlasTexture_xohba") }, { "duration": 1.0, -"texture": SubResource("AtlasTexture_ukomw") +"texture": SubResource("AtlasTexture_mtcky") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ru6d7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6mglq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vm47t") }], "loop": true, "name": &"walk", -"speed": 5.0 +"speed": 14.0 }] diff --git a/scenes/test.tscn b/scenes/test.tscn index 7a034c9..12b9c03 100644 --- a/scenes/test.tscn +++ b/scenes/test.tscn @@ -1,15 +1,153 @@ -[gd_scene load_steps=3 format=3 uid="uid://dwii5fob7qy7c"] +[gd_scene load_steps=16 format=3 uid="uid://dwii5fob7qy7c"] -[ext_resource type="TileSet" uid="uid://pvri4kky8ok3" path="res://resources/sprites/tiles/QoL.tres" id="1_np3m5"] +[ext_resource type="Texture2D" uid="uid://b5baxx5o21qy1" path="res://resources/sprites/Sub/Sub.png" id="1_81pua"] [ext_resource type="PackedScene" uid="uid://dfdsnwub212o6" path="res://prefabs/Player.tscn" id="2_mmd6a"] +[ext_resource type="SpriteFrames" uid="uid://e8ybb7seykdx" path="res://resources/sprites/player/player.tres" id="3_cqsbi"] +[ext_resource type="PackedScene" uid="uid://c5ndo6b0unkst" path="res://prefabs/NPC.tscn" id="3_cu4p0"] +[ext_resource type="PackedScene" uid="uid://coogmsw6rsdun" path="res://prefabs/Door.tscn" id="4_22581"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_h0540"] +size = Vector2(640, 24) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_i40av"] +size = Vector2(25.5, 104) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3xi1q"] +size = Vector2(25.5, 104) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_nl627"] +size = Vector2(1697, 24) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f1hcn"] +size = Vector2(33.75, 199) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_hgf7s"] +size = Vector2(681, 24) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3d2ji"] +size = Vector2(2311, 24) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_1dgo4"] +size = Vector2(23, 302.5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ogw0u"] +size = Vector2(32.75, 104) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bafxi"] +size = Vector2(640, 24) [node name="Test" type="Node2D"] -[node name="TileMap" type="TileMap" parent="."] -texture_filter = 1 -tile_set = ExtResource("1_np3m5") -format = 2 -layer_0/tile_data = PackedInt32Array(0, 17, 0, 1, 17, 0, 65535, 17, 0, 2, 17, 0, 65534, 17, 0, 4, 17, 0, 3, 17, 0, 65533, 17, 0, 65532, 17, 0, -131065, 17, 0, -65529, 17, 0, 7, 17, 0, 6, 17, 0, 5, 17, 0, 65530, 17, 0, 65531, 17, 0, -6, 17, 0, -65542, 17, 0) +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_81pua") + +[node name="StaticBody2D" type="StaticBody2D" parent="Sprite2D"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(560, 51) +shape = SubResource("RectangleShape2D_h0540") + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(232, 11) +shape = SubResource("RectangleShape2D_i40av") + +[node name="CollisionShape2D3" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(889, 11) +shape = SubResource("RectangleShape2D_3xi1q") + +[node name="CollisionShape2D4" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(883, 171) +shape = SubResource("RectangleShape2D_nl627") + +[node name="CollisionShape2D5" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(34.875, 83.5) +shape = SubResource("RectangleShape2D_f1hcn") + +[node name="CollisionShape2D6" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1727, 127) +shape = SubResource("RectangleShape2D_3xi1q") + +[node name="CollisionShape2D7" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1397, 51) +shape = SubResource("RectangleShape2D_hgf7s") + +[node name="CollisionShape2D8" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1727, 5) +shape = SubResource("RectangleShape2D_3xi1q") + +[node name="CollisionShape2D9" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1068, 5) +shape = SubResource("RectangleShape2D_3xi1q") + +[node name="CollisionShape2D10" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(576.5, 292) +shape = SubResource("RectangleShape2D_3d2ji") + +[node name="CollisionShape2D11" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(-568.5, 135.25) +shape = SubResource("RectangleShape2D_1dgo4") + +[node name="CollisionShape2D12" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1540, 243) +shape = SubResource("RectangleShape2D_3xi1q") + +[node name="CollisionShape2D13" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(552.625, 246) +shape = SubResource("RectangleShape2D_ogw0u") + +[node name="CollisionShape2D14" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(231, 248) +shape = SubResource("RectangleShape2D_i40av") + +[node name="CollisionShape2D15" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(829, -268) +shape = SubResource("RectangleShape2D_i40av") + +[node name="CollisionShape2D16" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1172, -268) +shape = SubResource("RectangleShape2D_i40av") + +[node name="CollisionShape2D17" type="CollisionShape2D" parent="Sprite2D/StaticBody2D"] +position = Vector2(1032, -221) +shape = SubResource("RectangleShape2D_bafxi") + +[node name="Npc" parent="." instance=ExtResource("3_cu4p0")] +position = Vector2(752, 16) +NPCName = "Test" +Frames = ExtResource("3_cqsbi") [node name="Player" parent="." instance=ExtResource("2_mmd6a")] -position = Vector2(10, -15) +position = Vector2(263, 14) +Speed = 100.0 + +[node name="Door_3F" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(788, 14) +Exit = NodePath("../Door_3F2") + +[node name="Door_3F2" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(790, 134) +Exit = NodePath("../Door_3F") + +[node name="Door_MEDBAY" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(474, 134) +Exit = NodePath("../Door_MEDBAY2") + +[node name="Door_MEDBAY2" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(474, 255) +Exit = NodePath("../Door_MEDBAY") + +[node name="Door_SONAR" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(1180, 134) +Exit = NodePath("../Door_SONAR2") + +[node name="Door_SONAR2" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(1179, 14) +Exit = NodePath("../Door_SONAR") + +[node name="Door_QUOTERS" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(1436, 134) +Exit = NodePath("../Door_QUOTERS2") + +[node name="Door_QUOTERS2" parent="." node_paths=PackedStringArray("Exit") instance=ExtResource("4_22581")] +position = Vector2(1442, 255) +Exit = NodePath("../Door_QUOTERS") diff --git a/scripts/Door.cs b/scripts/Door.cs new file mode 100644 index 0000000..4ad1910 --- /dev/null +++ b/scripts/Door.cs @@ -0,0 +1,26 @@ +using Godot; +using System; + +public partial class Door : Node2D +{ + [Export] public Door Exit; + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + } + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + } + + private void _on_interactable_player_near_by(Player player) + { + player.InteractableObjects.Add(this); + } + + private void _on_interactable_player_left(Player player) + { + player.InteractableObjects.Remove(this); + } +} diff --git a/scripts/Interactable.cs b/scripts/Interactable.cs index d9fa807..1979832 100644 --- a/scripts/Interactable.cs +++ b/scripts/Interactable.cs @@ -3,6 +3,11 @@ using System; public partial class Interactable : Node2D { + [Signal] + public delegate void PlayerNearByEventHandler(Player player); + [Signal] + public delegate void PlayerLeftEventHandler(Player player); + [Export] public Vector2 SpriteOffset; [Export] public float AreaRadius; @@ -29,6 +34,7 @@ public partial class Interactable : Node2D if (body is Player player) { _sprite.Visible = true; + EmitSignal(SignalName.PlayerNearBy, player); } } @@ -37,6 +43,7 @@ public partial class Interactable : Node2D if (body is Player player) { _sprite.Visible = false; + EmitSignal(SignalName.PlayerLeft, player); } } } diff --git a/scripts/NPC.cs b/scripts/NPC.cs new file mode 100644 index 0000000..708e2a2 --- /dev/null +++ b/scripts/NPC.cs @@ -0,0 +1,47 @@ +using Godot; +using System; +using Godot.Collections; + + +public partial class NPC : Node2D +{ + [Export] public string NPCName; + [Export] public SpriteFrames Frames; + [Export] public Array DialogLines = new Array(); + + private AnimatedSprite2D _sprite; + + public override void _Ready() + { + _sprite = (AnimatedSprite2D)FindChild("AnimatedSprite2D"); + _sprite.SpriteFrames = Frames; + _sprite.Play("default"); + } + + public override void _Process(double delta) + { + } + + public void test() + { + if (_sprite.Animation == "walk") + { + _sprite.Play("default"); + } + else + { + _sprite.Play("walk"); + } + } + + private void _on_interactable_player_near_by(Player player) + { + player.InteractableObjects.Add(this); + } + + + private void _on_interactable_player_left(Player player) + { + player.InteractableObjects.Remove(this); + } +} diff --git a/scripts/Player.cs b/scripts/Player.cs index 42f60ef..290b6d8 100644 --- a/scripts/Player.cs +++ b/scripts/Player.cs @@ -1,45 +1,202 @@ using Godot; using System; +using System.Collections.Generic; public partial class Player : CharacterBody2D { - [Export] public const float Speed = 300.0f; + private const double TransitionTime = 0.5; + private const double CameraTransitionTime = 0.25; + public enum State + { + Normal, + Transition, + ReadChat + } + + private State _state; + + [Export] public State CurrentState + { + get => _state; + private set + { + _state = value; + switch (_state) + { + case State.Normal: + Visible = true; + break; + case State.Transition: + Visible = false; + break; + case State.ReadChat: + // ChatLog.Visible = !ChatLog.Visible; + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + } + + [Export] public float Speed = 300.0f; // Get the gravity from the project settings to be synced with RigidBody nodes. public float Gravity = ProjectSettings.GetSetting("physics/2d/default_gravity").AsSingle(); + + public List InteractableObjects = new List(); + public Node2D InteractableObject + { + get + { + if (InteractableObjects.Count == 0) return null; + var nearObj = InteractableObjects[0]; + var minDistance = (GlobalPosition - nearObj.GlobalPosition).Length(); + foreach (var obj in InteractableObjects) + { + var distance = (GlobalPosition - obj.GlobalPosition).Length(); + if (minDistance > distance) + { + minDistance = distance; + nearObj = obj; + } + } + + return nearObj; + } + } + protected AnimatedSprite2D Sprite; + protected PanelContainer ChatLog; + protected Camera2D Camera; + private Vector2 _newPosition; + private double _currentTransitionTime = 0; + private double _currentCameraTransitionTime = 0; + private Vector2 _previousPosition; + private Vector2 _nextPosition; + private Vector2 _cameraDefaultPosition = new(0, -20); + private Vector2 _cameraChatLogPosition = new(116, -20); public override void _Ready() { Sprite = (AnimatedSprite2D)FindChild("AnimatedSprite2D"); + ChatLog = (PanelContainer)FindChild("ChatLog"); + Camera = (Camera2D)FindChild("Camera2D"); } public override void _PhysicsProcess(double delta) { - Vector2 velocity = Velocity; + switch (CurrentState) + { + case State.Normal: + + if (Camera.Offset != _cameraDefaultPosition) + { + if (_currentCameraTransitionTime < CameraTransitionTime) + { + Camera.Offset = _cameraChatLogPosition.Lerp(_cameraDefaultPosition, (float)(_currentCameraTransitionTime * 1/CameraTransitionTime)); + _currentCameraTransitionTime += delta; + } + else + { + _currentCameraTransitionTime = 0; + } + } + + Vector2 velocity = Velocity; - // Get the input direction and handle the movement/deceleration. - // As good practice, you should replace UI actions with custom gameplay actions. - Vector2 direction = Input.GetVector("move_left", "move_right", "move_up", "move_down"); - if (direction != Vector2.Zero) - { - velocity.X = direction.X * Speed; - Sprite.Play("walk"); - Sprite.FlipH = direction.X switch - { - > 0 => false, - < 0 => true, - _ => Sprite.FlipH - }; - } - else - { - velocity.X = Mathf.MoveToward(Velocity.X, 0, Speed); - Sprite.Play("default"); - } + // if (!IsOnFloor()) + // { + // velocity += GetGravity() * (float)delta; + // } + // + // if (IsOnFloor() && !Visible) + // { + // Visible = true; + // } + + Vector2 direction = Input.GetVector("move_left", "move_right", "move_up", "move_down"); + if (direction != Vector2.Zero) + { + velocity.X = direction.X * Speed; + Sprite.Play("walk"); + Sprite.FlipH = direction.X switch + { + > 0 => false, + < 0 => true, + _ => Sprite.FlipH + }; + } + else + { + velocity.X = Mathf.MoveToward(Velocity.X, 0, Speed); + Sprite.Play("default"); + } - Velocity = velocity; - MoveAndSlide(); + Velocity = velocity; + MoveAndSlide(); + break; + case State.Transition: + if (_currentTransitionTime < TransitionTime) + { + GlobalPosition = _previousPosition.Lerp(_nextPosition, (float)(_currentTransitionTime * 1/TransitionTime)); + _currentTransitionTime += delta; + } + else + { + _currentTransitionTime = 0; + CurrentState = State.Normal; + } + + break; + case State.ReadChat: + if (Camera.Offset != _cameraChatLogPosition) + { + if (_currentCameraTransitionTime < CameraTransitionTime) + { + Camera.Offset = _cameraDefaultPosition.Lerp(_cameraChatLogPosition, (float)(_currentCameraTransitionTime * 1/CameraTransitionTime)); + _currentCameraTransitionTime += delta; + } + else + { + _currentCameraTransitionTime = 0; + } + } + break; + default: + throw new ArgumentOutOfRangeException(); + } + + } + + public override void _Input(InputEvent @event) + { + if (@event.IsActionPressed("Interact")) + { + if (InteractableObject is NPC npc) + { + npc.test(); + } + + if (InteractableObject is Door door) + { + _previousPosition = GlobalPosition; + _nextPosition = door.Exit.GlobalPosition; + CurrentState = State.Transition; + } + } + + if (@event.IsActionPressed("show_chat")) + { + switch (CurrentState) + { + case State.Normal: + CurrentState = State.ReadChat; + break; + case State.ReadChat: + CurrentState = State.Normal; + break; + } + } } }