From ea26c77a496125fe026c6643cfebdd4452f9915f Mon Sep 17 00:00:00 2001 From: Derek Dziedzic Date: Tue, 10 Jun 2025 20:55:53 -0500 Subject: [PATCH] testing, but also adding player state machine --- .../blockout4.blend.unwrap_cache | Bin 151176 -> 151176 bytes assets/player.tscn | 6 +- scripts/PlayerStateMachine.gd | 41 ++++++++ scripts/PlayerStateMachine.gd.uid | 1 + scripts/PlayerStates.gd | 91 ++++++++++++++++++ scripts/PlayerStates.gd.uid | 1 + scripts/StateMachine.gd | 3 +- 7 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 scripts/PlayerStateMachine.gd create mode 100644 scripts/PlayerStateMachine.gd.uid create mode 100644 scripts/PlayerStates.gd create mode 100644 scripts/PlayerStates.gd.uid diff --git a/assets/LevelBlockouts/blockout4.blend.unwrap_cache b/assets/LevelBlockouts/blockout4.blend.unwrap_cache index 8987429855f6ea4eaffad40ff81c98e57056b0e5..44bd41d0657587fe5cede5614b365846779fe683 100644 GIT binary patch delta 57661 zcmZUcbzD{1_pq^0u)D=>?B<@m5JATVTgGn3E^LoFjxh!*2-rQg0_u#8W8v7XGj<1d zjDa}DywAR{k@x%i<9?pA)?U5$ImqRL)0etUU+R`Og^PCP8oa z?QH@YrN}fNyNSF8ViS}hWLb+ju0zO_DMd)xmW{IB%j)8CpI0oe;&>Genb)#kNV--9 zQf5gJQnc0N%Du7e%WE*Nfb68>)r42+lrAoFNHrO!?@3*kR}WsDLiV<58&bG+rI5j` zUx)N>Q`~(W+Hk#+A!JUQdm$6st_UgK&O5}vb&it3^i+aZNnT}nZ6jbsf)Bv_M_$u; zO?D3%)2^4>MlLt=S{?GF-D1z_G!(`wl-F!tb9gP{70xSy*J575yk_#6yM1l@^eMLg z5!fe<9r&!Mx;NpP@+?+TJ=#-Pv}~yLZX1iJMj;oJv?!sP!DDzz$eQVQd0O81CDL|Y{2EnUbO2+ZWu0ILGzIBGqLEFZx}ZqpvsLOl{fw;F zb%922WSHE z0`bh2YB>sfvp&R598nJz77`%2fj(4PKa&E?=uN;Ileeo1i_R&Rzjml9@bkqTYTT5I z>cjknYS@^6)XBOLs?eD?s<=;tdiTdgW$Z8GHyXR|LKdoz=Oz3AOk?FMkk4m`sHnI(j@^@B7lWVNnmy8b>@ls^7{txnS?3-d= zia>9Xi^4?}QptJ}=+XWP7xzgkt6&^kl9%;&@CW=p!U*(_;56du__j`9IyHyG$mUSR zUE86?{}ZWtrixYBpeMXl{;fKTekVMAWrwQCA>0l}a=3QE(`DW!aVZmUlzyvxRfH811tjjFt{>z)y7YCtS`1 zTzY=f>q$IHruU(MGOSO+{!OcSY8Hof7ED*nP9@P?Xa|A%5W2OVr?zr&5-r!&;B}6RdSD258)B)&OTA(2MvZ>kY{p83c|EJ$pq%)jLc=dHzRBiFi$Nf zz+I@%PM+Qgx8MIBy6K5}y>1R+P7ZO|M0vW+g*nx$ImOz+obKhE@?6MHc52Lt*wgXKuNC=d9ZOs;E@HdsaO_K8>8hv$$;VvoET&T&(rGsP-%< zE=Rw-QNPbCE>Xw_a2V_QR(;3%G??ObQOR8YqIybz$H--K<(9_COV?$Vl4;+n+psSQ z!r&|t*UFqxCc$3FT~9@*=YPA)0^~37?3J@>L-vev+vcL|rEdzekgfSe6@`JJBEfb7 z7DfMhN%|yxL-aM4rkAql>xQ~Z3*@PAmzSFyNhSx5bCb9DcY$7ixk~^nv_7-g)w$?P zCuyM%9j1b_=r{#*ng4Affpic+C!JtP0#)-4Q_tu`vjlSLigTTE8dw~;5_*5^eXtK_ zV)>E7;O~D$r~=Q58rqVTkxXRN>EPk=#pMKhvy-hj>w8h14Y1^&&u>)r7FN>Me7t>D z9Yw#Rbfl`rR^2NVsir2Aqe<|%Qt_m9lhEk@I~k#}<5#_An7UQTE-pr44DL#pa>L+q zg}G`W1sOTPfx^(YrQkXQ$U`S@k>}BwkzJWUGdjP6J{@t4K9mMqU38aWOr)uy%|&ZQ z6PS#lmFKFi$oedVz}`2{s);ZKoRcM^Oes58V*DK7ow>PYzr6Bz_enK zDx3-Ft=$^JKSnv^yINYJCuz^+;tZos-O7?fjB+#b>P88N>?jWHx7_F#JT~ z*-#&zg-{=={%{6oVJg&T$q(wYq$ejNG}M#+4%yIAjOTw<6bBfUCv3&(-8I&Lzb zf@U(xD|9%ViL~anay`pGF0qd%V5!6cb)n1oC(GuSMP)VgW@08`tJ4u`3wq;6=g!7M z?IMvXnvS+NxTvx)YBTckY2K>N+y$oNF%+l^Z9^daK)TL|D{>}^a3(rjaCdG^EFJ1I zQ69Q8p@(ecED~*k<}B$$IQg8rn8RqV;4}_I@&BDl0vmlKhjS$B|9eP{ep0o$%GLoB z5A7cu+DPO(4mT;nrZVWt5wo zf&RoxS#z#>aN1p(-9M|`@Y~Coi#uz(OZmEC>JbZiBv+I14vEhq8?K-w+#BOxDg)cfb z6_4X~%uR(ad@iclurhbWYwUWZd#l>R_ik_1T>`h@cKWScaq&12p_((&c}z$@L9bCr zUAT(EHnF~ii9KP0rLkK}VIA?SO~FlR(EgW;5{z7bQON;=Io-8jEk>BQN79Q?^(NsR z0u6`y{v8Lem6@wzIJ|kdTk2BSSPtbB^y%m@h6het8cV}-#oVrDOU;(fs&F3{ zNc~p%VQ5ZmR&O`CP5~FjyUBJ&9A@)f4Y%Xvi3tywsjx1EPl5Wu)BzUdi`8a0oUf+Z zPCuAVK>eWFjlUm-ngaEMOy4bTCGCVqXwH%ekI*e85+0%Fpnim2g8C7ff^{FBe1)KX z4g{2%tELgauojQhRBbHj#}o8nYfHZHXuS@Pv6Z#aZ{T+9k8F6SXr!u(oWuT~)0>9V z>QASJFOM~pRI9eD!c7AtXjh23g**kmfl;6LsLJTyuiUPRmuVoUr=3=x(I10tpZLmo z*w3?p_@((nHAij)jcjQ5!eGq8?R>M5Kvx3&OoB!@OiZS)gFFYlVd1^?Wn7W^stEeY z$(SAei76RX4)lM)-zew+H2NdR1F`?NNr0@HlF?2waHEqJEL>~YQ3m0VXrLY;7eRmW z=T6cey;;ACTnK%)*9m&FJ`}ki`q!*?pkO2aN1TqxnHzPKn@p@a`Br_l_bA21E=HA; zg;|WWAY6fL=sL5L%s`(KUc+%A39csNbmZ>|yc|x&E)#Z3@i+21^jbD{QL(B(osm&R5+L2IguV5Idar9kq40)K7n%X;#F}^CBowq3 z>Pa+!eoXE%)CKDGND4R)ZQYR`-Mq0GRbLXN9+$9ZZ;|z$y@V;)ORd*iG6`94!9rNK zTmw1q-yY=+2xbkLd3-_Ja)Zc?EOawj;B0zB^fIuGkLs3$fIPNKsIxI8$cdI-PBn z3Hm(nmAv@(B3>>M7J}I*tSEdnA*0Gv#-_55dzAY_UwKSrjY>6;6;wJ2$LttpAW&0A z*ZPjHEM{v)-u0E)BsRQ{UKe2a5qV~4MpYWS5){xA-ld?&#LdWUJgIa8nYMbn%E?4L z*KSuo*d)F)=d>EaLbXqO)J+TzvPTXQD++iAw@}!A?EKlP-yYH7+|#Nu9W-Zh+epxx z4j2ARVH8+qrmsw;puJGv#zt1i8Gg!?q~C=6kizUiT$HEMX0v_e8i|5t`ARH%c!PlY za1HsVv{XLTLb7(qBE16}ODteMVI@(jDw z@Hy;$#gbFl_qbx&&WkiGXvI(*Ut`dm1lN#T!}`@-WO&!sA`d^PiLepOxuUH+Z4#?4 z_G~RLU>RhyZm9L0@qY$`bX*uqK`)`sr`LO2v6Cv1d{jE%TWXhcU9r|@Oe`eZB};xMaZPxYQC5d%*s==A_>!&6glw3F!s;L!(vU4W(5UYc z_GUQLdovn-PeDVW-s2I_o6(PfdQY1{y{F@S)^hzRox%GQ_zzp~^OFxMYme4) z6joaKP5$Be2UV7M>8iR&LG%Ty+MG%Zw^VkKoGh4tQ%ImYdqhAB>b=sVeC}0K8m;{{ zQawUF!SCQG^abf~0yJBo_qqbI8Mzl*Faz0aML)YmtO`T1gi5~>$gn6CK0~fe0f&ri@(QR*F+d z7HG$|idCLmd}S~1Q;6=MGP0rWeCE2g;!lSz=u^G?pi+}y`l}D>hhDA4>z@zmZwjfz zUUx?R2;abXwq^|RUQx(Q_!EV-qHx1aOuW?Uwzec*NN61w85Y-8&N#Tu;@ir*da>#V zd!FAfR;|Y|-`g6p>GO|D^Zk#rti>bCN&1n)oIJU8x=NqcS6mv5cXIyYmDZby^`u6| z1a93iUTIk~$L6|HHPbRnvr;wNPEvd=BXZ~MLQ8Y&iiyflC(;Q_!phmQ$e7x7EzMzZ zb5zDj^<@926-fzoA-aGHBslnaX_DU9nF8{ZP8HV{Zx_Ng=N;ue59mU7fpb(!`9PZot-^=)}(*36o$XNuBG2?rSG1 zLo*Sx6*{47iYdy_=*`4*qLSOED_uyd=HIqJPvVEYzxY~F!=dH88Pxr0%-X*T=-)tDM+E3`JmS4 zqX8}Ffm%LA!A_ZVohU#0OuI|S75ufV{gG|aiL_z&BCk#Wv$l^$z^S)3($IF zpM$_U;0Y4y#D}4lbphJW#A*1~swDYI^%8Px$tv}vx?Mud!W{zZ1znk@u2@qC()7)p z+sOgzb2$S&DxT9>XtiwForw*Lf0w~ofY~y$RsXxi&MmRobCXCX-d6ShFF?zt0Bxsb zW3TmEHia44*qes*1hk!|ZX`Kvz0jUf?1I`s%Vq+mpoCGCkfwQZJMD}dePxx3+x2aN zW|Brfe9>w(ku5V@XlV4ORQuRciLq9702*pLuk%I>ZFcA-r-C3B~V5|78$Haam|V79L5idAYMTW2O< z;`Gdt+o?BOXYvfZ<)`#lS=&5d%me4ljS9{Mqc?`;!PC0JW9!3*wqj&s--QQ@4rm@Y zy?&YDlnssEY(e6K$d+Gt(rHKYWHNzFL1x`dqyDQZbX?Oals z_4%+<%Nmkte|9OKOiqWK`%ew9_qpx**34z4cc`(>5V$zIjJ zFop+l9En_zfTQ6$6524K@^6Kj228;o+kK_y7fVt{m63^FX`}{?xqrwZJ<+dOluM?< zOJOOUdRs5FK~ejXhm^xGwU>vqMozu2u#`sj`2HLH(8tDERW{*qOqN zK2y6wGAuN0Qb81GJ1e|JXB~XpP^FosiIM!Ou7j8CpGQ&&=K#{lk6PrNxEnV)oe3 z=m%2pvex{w4eGODX!H>@xFl6AF=uIyZ4Oo9!dwpB$_{ms4&TNfvdXhI)stkielnW3 z=UkMSy*8cyMFX{qxhGA=bZqpmiMLO=C!G!Z9};@kP9sk#z;k}uq|uu#F#12}sEYTu zEihYQ^cC5XE{EKbw#vw63(QvL;0(Ns*Q0k%-j-(szJkK+p^=Tl_XNJmy4gb`8~gw0 zSg)HsHL|fcXUZhL5M4$NV4rYT*g51+4#OD~=Jwm$C*eLdx1piY|IPZ(+^*)#+(Pbf zxNOpGWhQEFzX0xvWuXbTo4(sj0q?jyAK4#CyuFO%fv>5o!jZB`4Wo6x!+tASH z&Fz|r^;>m3#L(!?eQ)BMt@w|Ed;Oa*FQE8rx>(TGvk!keC?g#Wy zJQ2+k&phe0e$%juVrcZ{cC}g0&J)(pPJE=AK<3dq8G`^G$woE~rXaI!p5;riKg%=U zBrwkhUHC?x6K37mPeDJLLus4SX*$fIzi1pPD`v!IvtH-!|W)9{8%oQ3GZjJ=saAqtxq z9-cH2ZEtG_Q>o1)p08S|)>COLpL8;M<7hh3g{@1UFd;oDGZ|e_kCXAr(CE#CbU~la ze{>e6iQaaO&g_-0=%eQsWoYzfq`HvIuX)#!LKpt^!8s{ifGH?pPd_MQXZ+0Qbz^6< zr%v4a52~3P-~UIj_ht*4@qPcRv)|5ymi4-RKVa+XmC8)WB+~lJ7j>WnKU0`VxZn@o zCm^9o+zt6IXTVHyy`4B}ZKyw7rVS3YOrSB;hsHRV^$8o=iT~ZM)`@z7lB4^4tIYOx zPFi8#$?MKr99NdNlfR)Lcf?LJKX!)a|7a(-kEc_%R@~#Fc%49}!YusSH7Rz9J=x= zupoigK%+NubJlxaNT)7Pxn@xc)_l}0p@4@_7ocTb=uM~__=QBZu{(|YW1%gM;uP>Z zj6se&Z>Lk`QKZ8le8s=2+lfC^+}?lH(CaT%c%3(DFs$b3E`y-fe_!r(()uTU&>V-SMx0tm7Ej*crWv=k&92j399gEQjN>H~fGR`EoM8AaE8wdTrK?{1W{( z{1#*Xa#gg-UigjE&&auu53z3aZ_Zp%Cy}4PN5t2(^+gs8b%4OJmsKhf8ABrvMt>g1 zS2zUHSwH0F@FsFUCX*X~-MNvCota<&_N|yy7!%bKGi0K+bEKw#yFr&#eFD9K7fJX4 zUZXHQp^?j?)jxDR7G@=3XQ%_6tC+AQuVF0`X;!@IF3a(+3VRXH2M#5%KkKXUJ5JpG z$muTg`HxdL)WqNsiA;h@$jvcKJMyv`22CLcaJ-r-^7awFVe|}<(yv?Vt z9Dq$OH;~TgOCN730q|6tcCzkNZJCbWFEC~EjuHv4p&tVKo@gn}y7!j__<6wHL ze3d-5xp>yCzkDUp%O3sZ8VmV*_Llbd<1@wdDwn>4I|{ZE4F*ual#CO{U=`hAlEMINs$i<@?o-S8=$_Jog4wiK-&%_OS9*-YrDcT2f=p@IBO zLBGR;Fr-0WS&qIJT!!7-=5|L}(!0OxqC-D;oz6SL@9A9Yzo+A!z52^0Ix@29+)U&l z>+dNv)6v?}qe(|e4+l_4J{U)V=Z@5tqNiI*2_`g`#6y|bYZ`LKwFzuSXciV=u4!sMXyj-n6^#53m9Jxz-@(6+wv=2G-&$eMhe!mRKRQr49B@|);L~NZtU2h-dWL{$ z)}ZjANqQ~YS}~f7`x64C-||`33>*!!6L1vk`3bm)Kqop|Y8mT4!!^i5UA@&5*7LGH z7Mk^)=;MiJ){VW1W9*4on8`noYf@@ylj`a$ile#*rXZW^XkY zu7DrVFD20)?0&<)!N@=fSTW0zWNbsBEs+}%uL3mk8+UINGcHixX0^T5c`iH}PP2Bv znO@VZW6&hZMxrPZ{7M1)p(*foR&O8O|Y2E=0?D8c$L2ReDJ#>@pF503T$Sj$hNCGO8EEIf&lYf#W7; zRNqzXB?X#IQTgDPtSyxT=J)YY)!`3QGpdyY+=N2}JVl^w=nGEDn6!QnInsZMdP= zW>iBbj*^yV7OI$0oh56>RcbnN?hdO|*3q5C^FfTdj9m48jA{U{r1s1< zdUj!wzme|-b(Zq@4P?FFS9_WogrW(Cnx}E>19hUilM@m}LR~-)n1l5=*yhVLmH)?4 za`0h{%8GpSQH=Ubz`c)SR8#!7ex0WNfU}TqVV4%!_*EJHEngEmS>ntr=)|Ug)yVCs z)KnaZyqN+_;5;Kb%P|rhLO-7bW?d(YeiEbhmme*CCl-@0#kN)m*A!j?)&>tRK^NF4fAPzPQMuMsb# zLPFvW6-Ucbuk7*=S;s4be0W`MWK>SUMZ$cx}00;a++ zbFnT`6*+&U(J~CVXW@i|jiF8$59?}D?l#-)MI!omOC7rV7F=VYT!}_8YHIw8&(MKTrp!aIlK#Y6~y_OrsbrcJl^_!u7 z(i!=Dp9Ye)ZB0I!?}k#*fba_YvktZ94F!P1aiPKAH)H#*R-;Dd{n*gKo%)T(!YZ zKF-PI?DQJ4?(jAArLeb9!C?ft&B(QU4Qko&GO}*K@FcQs)G%SI?UHhTWq=Hzvs3jO z$tY;#-8~z~jAVKvAN<8n;wh}md_T!gLcfB)^&oX*}5)JZ{0Ac4`&oKe)*SomfLJm__Bn%CJgFBiEKM>qkI@N z=Tw`8RLJ^t8ZN{^@13Cw>nj1W36g-*6 zhQ{&lzc$Tk%IJ@(SmA!5i>?e&$X!f!ra-l`8QUf+j zb_SBpLZaUInKR)^p=+2-YWOn+l(9J!`Y=qy;d0{!Nr%K6IScy2tlw?kAc>ig(}nRX zR;&D^JB8kE=qD{Wq+=WT$wuTuv;3q#g&HnIo=$$JpxK9OjOpxokPeY3|FyT^43g*$B2GH>dUTn~w5< zt@-?xZyK7^lsgUlcaFPogQK*oYFBN38&kJ?>OC4VK|4RBGjk6IMk=R7A(ZxeTDjN`Kv_( zS&H2@sPCd9PzQbh^<5MR^x ze4updN7WSWrSgVwI+cD&(L!cUid84!A5^^j_kNOVZ#s#AW9ObxWwF~#!QuY}$S+eq zs$bw5{54nN-wHndF;}oS9xlMm@E~#lNwv!+&4 z{P}$?$raK=8jkmqo#=1)n zYQs`KSe~fAck{mb33=`LC^ce5CpmQYzIwg9lWe_zUwJI+BrS_yQ9DEHNkqtAH3|A) zmwibm*>O5boyV?&$7R*GY(4P^-={j3$h@NP-w{}P2~uD+_O7BNGxBt6)YO(y7=G8NsSG7RQxeWP+SfVyK2Rqf3a>S7Dxq*X2`V4! zD`6xq4~>2rZ`HIU;9{sd)o<14PQBqm61zg3=MUbh8AYBW?(OAv_7c!;FW0^+BQ4f6 zOXBiPHJk>T8GXKY>NT~4rq)jlNziK=S+6J8-*}MQDH}g6>%^KmpVqgqxzLL33laip z>Vh=2fu?cXaW5g@PN)mfvgVO32?cBFzsB{Zg~<5hw>o~AC`)(-m!v7A-&z<;z-Xuo z41-(7e(xATyx4bv4jm`#b)Yj&Y+Rs27uuPh3*^uZ9OM1}(HPc8p)2YIV_zk7b`|P` zpWuoy-#c!?2omPR(f56z;{kF8>{GlR$ahJBj`bvNj;sq?<*!WJM<8X<=^3SnWq8at9jbxoNMtVF-pgP@(-{%@ES^f%eu4_BJ zuI0F=10-`Yy|L5!*VrvxIKXxq7=>|IvT%Si;X)WmLd}Z{2FqI<|Az12cJxN>M*&)I z3N$o&UC<@gNhmkZClvNK99YC2ESI?G5XIDZ~)W=l|0!>o)sM|>0ryL zV?=k{6vkf+kN~JBp%ayg7%U}8lmhC)vcRdt(ek=tgXQMqHu4KROdLP*&4e9nE*O|;6cD66xfhNu@qaFmGk14n@Ttb{a@B{iz#Cd?e4V;U<5^PRGbrubFPHg0&!M1Z$jZg$)=m#@n zxN_lOSxE=0Vd(TRa+V3rg}n%@<*Z?YB?RiNcsp&3w4*blPlbLs9qYrk_$=?1kgyk= zPW%;6Z|OqVjy(C#*#QzsqMYXfB*y|yD}i0%M@I7}>`LIKKU5O;F9D8M(bc5p=K#mD zt<|Lbp>~#$U;kHECd9O}9>cn^{*D*e73w&{%dE$u@7!*N*E94R%KLadM4nj8$1BZ~ zqVmM{^6_d+f;Sa>yc)s`j=)#lXL#L(JFx#qqP7{ly|zY@xcv;T74V0;K3>!NSCanU&+r-m?S%~j93@lw zNM$N44V%$HLpYNJ*jd5I0BIO z-4w5^$T<&)*Qdw)>V8UZuQTXZ)DLi^aq$r^{QsuFgNNH$tNT~7rCL27XC=CjGz89= zHNa7OTQ$j=Ex=(C)TNMII6lQO$CGx}F}T^)+gb3nEZ$yMH&>HYul*e}@&A2{zhgB1 z4my8IA=Cd8uVq`R$?5a{j@mS`aFf3y8oFbbZjfC`9-~+>sFDo4;P2=)xRP`s&@lq_ zY%#;@B0N0K$Ln`^qo}vn7#y>X@$ni2NBGb13WrhEyuH5C>0I~rmY&pCxAs;QI{loX zy>n8UOKG5Ns&D#>G;js^S39*2AFXOvaU1(-|Oj4+~HUfz50Xi z{Rog1c|~wS=X2ml3fKyDLEhzt%XpU$sy2Kw`=y#sVR_+XI0Cz&@C)mc$n!DK$A2|p5Lc}w4!~O;Z9A>>YJUVZJv|kB=) z$xwfLt!1qbgl=?lc>ZSf(lK6cWm}{Efmh*>3}a+#qa*4e@#cN;-Rv-pE<$=nDGP==YP*$hpvak=RUNW5{N8ob|ml`j7%QWnZIC zBmZsF@naOafOgLkCeZ{oAwUPHC!pEC-wbt~M026;I27h%BD10Hcq*(*!d0t|s?Usg zA=FzC2Fsuy3lHGG9O|vmg$559Dz@%q1{b>1r7$&xgu~|;)*-P8xQqm?kWHZ`zz^8X z$9@LuW_Zm=6~nKcU- zXbJqW#X##^fnl;4{hLIN9xzOT(6>oO0y*P6?vPKV!0%AUe5x4nI>2!3>cE5fhe?O- z`P4q%0eezmpml_JXDiqVftI7th5SJPKi(?4?my5P1s9WeBD@IC<{KuDDJ%@`DL2q+ zO(JgsD`dYO`PA{HBjkhUKx+~9o)sbb0QAo&V0E{AYG>YIQVV$#dc)uCuK8439DIA_ zQ(LI)H3i(}O~TV8jOIPO8_fq=nor9Qw3@+&ee$VQ1S-4nf-0If+M*2Ast$kvWIR=t21%6(+0HO&2~8n0$rC0o2uf4TgaMBCl%sp{zyWHo8| zg1^mo$YJN-rgEhE(dyAFT21zzX^rd|t?K?d$9k1_n`)E$kmL8>(P~fqASOy|xJ^CGA8z$obb?928`I!0rQ_*)LjEAB>)ajsJ*oOeOA<-(nnT9BE{fB7v)1)Bl66+nt1zFxqYE6!Cs|%AjQZ?AR z1UE*{vGU~Grk;)qwW=|x5nm@;V~`)_3b$5Zzj;ikm5xbAM9#4$q=*6=~mDoc2fwItP3wE}%U5?tE%t${b} zZMN+(j$kGbUgMiz43o$~yd}gBFC1*mU;+mUhg&&rigB2|H}=cu>}KC@du;aH#7)@q z7{|HhFO+WFr=K0IE}svwQZl-7qhcHj*yHQPf~^U35MCzO8pA}2bq=!XGdg>5kkt_R z$@3tqB^`CB7;LTLaOJ>mNZZ_UFRG->nV(z2ek~ybJLi`ba8X!(d5XUAm{MXROQAAS zGrFXtL7uU;g#2WqxYO~Q;^)z&vhBHhIeJ3FLa z2DyPjZ#pQ8!pQMdULCn4os^`2n{<{3o*PnH2BWWhldh5#w(mwsc~ZTYj3aQ+gS?Up zzi8xCz8Pd7e1U%m+`l2cw1QqkON;BnytcF_@j4t_!}H5V_y?UohmV3v$sr6=q;{9t z$i5@>WWEJxL!h3>Q<+RS9sNY7FLsoWJ@E9J67nnhmYqsU8z$lg)4+;M?q}$a{beSb zYc0S3JClo+HA_fdM(@~JLIRNE2viJtJF*EJv_8H3h<+Xk{LydQlwJ9}`%Hor&wsgcjN;e3-x`4n;jW&9}XzoMQATU}Fl|RIOMN z-xF{n9i%5!cVbzljw^5kXprL0F&AUZ^O}6F&RXGYmwg#FC`UVxsBaOBY>GP1EZ4QM~{ z(TUSaImr93ZVPxzFrw%+*Nyt!;=J?^ZR(s zCc%j`KF$t?7xD4>n?S|AeZ0OebV;S6Kuuj(WB8cFV`1}ZzFz;9cbBFqeY|3j!wUI$ zr6cfV3Tc46o&xSu$g?Ms6xZY#PrjTsZ7A4y2Z2MndwXpl z@J~y;z0CUbo_v_Je*szj`&h}bvarlW&I|{H+Y*U>D(oehr4Ikj>;nr!tzU|r-4(?= z9JOLC?10=Chl~U;hWT;Ovf*&nC#0w##n6v~YY8+7#^C=W9LYaaTM?%%)PDMh(ZT5Z zK%Hj+c9pHnx-eVHa-l1$0d+;CU`gbisVaz0v>WOKd*D_awLD?hSed5-Lfvr#r~{9J z{OKu~2DSZYSe1CXkgLeuU_RupI}_|{{c4XD4;)JTI#v!6usqZOjcfv$gm+o@NL@j0 z!kdoFQcKJD>q6hANhtI^{ECuajB&;P3|Oy?OrJnTFj<_$PdwiAOK`+i>~*2dYtX+r;^ncn<-uG~-*Z zunTIw`>>>drho(UFDTda-va24zbDW{3e&uZUvsz{yIaID1*gq+L(L(cX(*ZkHXzM#$_8=AnT<6ErfC6Vzn6A3@^K;6YJ1ZHF1@agOeYBQ5E z6Y6p70ssDIq-I3Z4m?mF1NcN7{F0VYFSww-Ae+wqw`1K|<`%XLpaISI*x$#m0Q#$N z5_-)tbNFvt$TOaVx`6TXi0f}ln!^v2{UzNniTm?``WM9%79Jv-O3fY`$Dzj`sCSIm zjZU7q4U_zihw2gUlzgc1P@RQKJT9p1a8$kv>NsqZ`-a*G8_9Ji2cpl-!4ARB6W*`! z&{n0nNJpS7ur3Y)tK*>gb=C#-frOJtoQ5s(t@}{DB48z$mi78MFQ|;LIXsVkA^MHn zT4vn^y?!srtk+NvRS4_7@?22$(Mulw|Cb09*K=HOe!E>AgI+A?K+U1DT;+#brDWFB z)J{%Xomv{Ft|Z?Tc1_}!8Bg~UdBeY`fWjP{Is05YQnm(DQI7i(S5cH5cfOpe=* z?GNo(>wV7Kj^7DX7Damkw^>);>({tg>*Bdvjv#nHy1v(c1jzHVuh)es6RlCd`*;;z z8ERGe)yHc{Q4*f=@v6xBpVxf6vfhbx#%YRQRPNi3Ix{G=VLdOG_pwRqq1Ebnjh#5r z@*U&rHPBA+$eK2%zE{h1kE~XgZaFlEc-(f3N%c)G*6y~$g^66~03XF#(>mRD?4sbS z$U7HKv>G+N?HEb{-#5JNsP-||^7yl^*WdO;D_wQ|GlT1gtxMJBsfE|$tO5V7Rj+Tv zSaYK4Bo$F-{Y%Q!290280bS-H_4hg*uy zQgfjP>zzNvS!M9|KYrNh*9q#xTVSiNYgKmqOgFF%)p?-#BY>p;>DBhd66A`W?uI z14&RXKF<0azgE>r@xfY@;up1*0y?JpMOD3(zyJyfO8JXwb@H&~Q^203)=@x*0{n@j zYlp4o1!pNmqHZMkFXacT7zO3pci0+NW4hYDB~)$5I9T2O8m=B2h^RJDr)QIt53mi+}m3HglG!okxAt)Ss8ApGh=wT9m3oL8nKuUTB_b+u|E* zk}w+uPo{xY|Awns#rSU@ShxQ;Jx~1_8m0IlfXWsarS6=arxtIXuNKmAhYg|XFr6(} z!yl)mgNqO6tB*rOO(`6uo}ZYfe%Ll&JsBvw2QLUqZ0E}(e_blI~}Z?6{WVGLS7W5 zZXNPbMP@Ehjr)okQ7Fn8c=($6Ds+#JDl~nGDncjEzq4)33 zR}mDxc}0lYyWdAuoV7&B{=#y1Kzqs4qny-S*IPE9@{k%e?Lg_%s=U;@-YbbSs+E^3 z5q**juNU`}TfCcH_fsJ$-nhNodFdhT$F&m^aJ7%C#N6tY7%)&gv!s=$*c<)oLavf> zQ6I@4kVdX-GKmBEj}KgBkG;5$WY3mXikwC-9 zD&?gC>%Y+PRDNrEL-RCJWn*vY2<_@ydP{r(R~bhk<4$^r9|p!S8u^M>pnPeHA(i)` zlOjv|h{r1rX)?N$-u)=c>IX|l1|Cz}0xI*%iU;Cs&IY3rGM^w zz(c;|?UA&;u|N)4c@({!xUe)!PT9R+s1%)9MDD-oE?M@oS9yBKuDOM!deQD2pgJ;w zK<7dVODg0v`Ep3sV?(6;uEKnLr-!^dR$BtY_~{mL>hp_==_oWidi}ei^+Se=M?@VF ze$YK2e-5dBoF7zY&MATXCZ)X>!%a_mBn5KN+0TW$%c9+dW!|$MvV+9kmk*J7d2`5L zB>W9W{i~U`2yBrsAO1FW=XP>9VJix9%87+eoK-}!{nI_Ev04iXOFiN@WW9n%cUw%t zRwo!Cfy9sH4Gc!=!-!sWIt#E8NC}0FZo{$MzS6U zn_>Sh8Fj)p$iH6f#`}XLf*dzF{Cyv1LBGM)=zHNm{I_h*d_US;=!$-XDM>H@hTxcr z|A=BY?1%gq$1KRd!lB6Z&v%n?1X3^`3I2sg(I14*DIkmlzwJ&)5Ce65%?p2blWnj) zanmN!))xgj^pT9vR9Lwa_jt0(wLFQ0rhu^>`#2LCKU3fq^dBhT!AuV+acsEUgQY7C zlfL=ONCDUjt{px&NxnVPgU^4Xc!=ThXCtH^26=Jp4?~bmAfu0%;UP<~Uk-JG)o=rL zOQB9Q62GQH2g@zuHHI4sCd7$^S+S3T`LSCBLy2=^CilPV%Mmge$CPj@fy&_+fkAT} z067)<2x?FncWZsX7zxdr-J=`$s*-$6eEIi5t* zw4TI2!PFGe40~5N2{{{_$r;iGO@KP_MA(dYGc@rVD{g!b_xDH%#laiCuj?i)pzg3G z)B*pq`pduQQ>cWBQ$k&+=34x8fjKf|lH4TxFJmTYN?*}5sf6#SLO^4J(GqJYbpzXi~v(hrjV9hn!2;?aAPNI!tgh!aQY9I3wl&B!%h zBbx?SkY_i~5!1jI3a}@mFoCr~%L$|5zt(WD_sUI{_}=2z^ef1T#uu%y>YlO&xl|KR z+0^xklUK^!u@2QJBRi1)gl66F8h$b8jop9M_gV*$pI6^&TMGzy5QDT^D`+99QBUf>+TSIV*C$ZB=Au`8!sAc&4lU#LB~k zcGL?ui|)0esH`arp|B=U2kHWKpq(U~U9F59A;6Sm)E#Ph5D8|%W5b_VkFn3v_Lj9Q zw1QNHDVuxpqqBvda@|ApB^Lcw*hdAV<&>>j;Wo$XhAkH3n4{RB$@9hhKW! zvi?pM;4JdtkP1l&Iu+S#rJ{ky6gr0jmQ%n0xF2RiziIR>tE0c?|A}M&(D#1=zQd#|_5uZqo2rv7K|o>tv!HLOxbe(3hZY6|~%&qsLP!Lf`O znzQi9W3TlRz1aej&}_v|Oz;@%adY|WX{p9Z!Fgq6sJ)fP;puV`1iQj3U&kgHbVlB$ z#>?_qW%>jx{D=le6Ts+Kq2HQp-N;`@<#zgihUM|AN4zP+`X?kNU#XC?V*iN3 z6cCT$Q}2X?PoNI80QSaF>sOrRPpDDg61azAOjFr_WhEln% zG@6AM6mksyNx-T&?56T#6lCn4Apb z4sX`$!?Q7dsuysY&RtO-jKXn*y1M-6BS z7>Rxg{zkSbEDU)%`iA(Mb)%ondI$8j3AD`3%R2v89kmYXL z;vJzyo7n2oC_O@d^|;JI=SXgqIOyp7hoAb|Gu}~RH-DvAFS~9KUErt4}^Rlv?wCgCJ z{AnG(Q_%!EeF6{mJ?N-^!cUd>`oU3$%7gt6I;Nsu+%n#=3Jw^3(DCMopE@$@prh5F ze(KWNgN_E+#pjB5v_u|LHs0}^^+UDe9gT=Ht7^O>!#004wX(BgRlR1sstrEqD2~DI9}YSSli>GNX&p^t>Zoyy>de7}QSXPLj9AMBGpBWAIb6rNH8&2` zQLE;;I(E_d^I%u!h?_xu$kv6pIxM!pvCq{p=EOJNi*$9AV{()0^ZP%QZ=F!p&h(Qr z1COZ(jmAnmtc;uj{l@wIyJJ!?qZ;ox@;8@7}!=|F!GLd-6|TP zT_SXX2fp4Lc3yPDf}9?DUYr274LUDcDp>L#2(&cfQ_MhBEJ-X1{{?&p?esiNB%y4^BL4$)G!S^PR2w-Q`Nx2vC}?rLa7hcUIZ9jn_>>kT5Cd9^dW(P| zh&uz@Apbeyr=jlyM?qIp5cmYr9FA%TtVY2BCELh>9j6pEPz$fW;V6CKua70_kAZZ; zz&D_M186JYENB{VBdp`^9j3?}O&i0^bwRt4h)1Drd*ESH)W?kU$AT&6-KNOvAfVI|I*QfOUc4C^Qr8XeJ_nJK(388Uep+Pny~(vNNzP zrn)AOX4n$A2YF|KG?OcOHpdsoXyB3ZmTlkJN)E1<%DRnll!0yDvc=;a<@pdFz7Kv? zzlPokzYX&KDVG1A>s#h7EQ|6k*`~4%(Dmx1vMadub3^?{z>y<;_$OdoRtmce9Ga!1 zutO-6(Dp5Rr?r%ynxwL~z~tL0EDhN4WC|OK0riUU;hhs&$vM$J{L5HJIXU(%s{qWK z|CU`wo~jRAdCLNj?-_>yg*wVw=x_?*G9PY}*h;p0n!>iVvy{`q-m;y*a3%XKyBOjq zB}PbhByKfQSyf=Q;Xa0|)H#3o@ONm~CoP4A0PUCf@Dk|wM%`SNFxpYpZ=cKdqC>Y5 zx$N*LN4a!U3TuRcW-d-)Pq1K*qf^)$7fV@rG8PnhGu#HTyAMi8C8ONqTmkZs%=0C_4?SYx7b3J4O+l)Hj zM{i)uhg6kY1_c=WjYkBqzu`|D8o+e$9}5UzOCRJaV)*ws_BODpOzSa-y#b!_8pJ+5 z%oRhv#IbL{-gc;Z0Ta%fd~_1p%QfQ}xY+`v*%kaQdPS0xNI_{*LcXz<@W zG?3}huKBnCHt~M0_&9U}YxrkX*=k+@a|Y%Q-oX0YS8|10UL3OsLg68U4Cpy<5KFw9 zE9$<*3;@lS2C%1SP|t4z`wm_9S2=0EiOF(6jf+-xK37qe1a??pA`3SD_N#er@PBds z9Y1`xK*T#}rNOTtpogRD4kjm5vXT{1sNZ%gc?Jo6fkE((hrb3o^g>4#Ks8VGs{>Hu z)8no1A5TmY?m?Z&Hw(ln;3QxG{NAWDX$zC3u>i^hkUucOU|{O409leo?7RL_hj+vlD`~)x_Q9isOy_fs1%ak9+QO|8g>CjqYxE%=ouhy zqG1Zq2_2bt4loQT$m=(jU$b7cLLtJ@hPMII>fD{A7V0mBV}TQ^Iy zSMCQy>n6bl{Am@;YN5b7TsGGRs#=r?X1!5J^|!5V#*X=}5>?Ue6tMe<;ViP}Dp4-W zj4cDQg3`~jM_v!S z^R-3u75J|4jW7e6HCEnSQps`)Fn1hBVkZ@tiW08o$foNC)g)jg0SbW2O zzit3#HCrK8!JmkB(Lnm|Sg)mz#TWRmMxs4Bq?gfNL3_d}$a~-7ohXgE)u1Q*oGS_x z`n3v(GGT^1Q)-Tw4x9k|2)~KR9C758BAtP|Lube&(|IBQ`T*jtzgIDq2gIXH=ZK6kGvpE*f4*nMDekqzh5xw!oSQcE=g)y37Q67{@MrdS;V-^C z=Z}HkXPn~Jef;?uBQAhHroKNf`vFf@#JKQg!1x#!g>O|(@sbFH0`CuT;h_^w@x#E; zCNFrNw?A(Nya+4{|IiQ@PESZ2-R8p0$DZQh&=Dc0c-1Dyx#MSVS!H4dztFt1yxRCU zzXWuHZUKMXUm1LtU1tMⅇ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 void: + for child in get_children(): + if child is State: + states[child.name.to_lower()] = child + child.Transitioned.connect(on_child_transition) + + if initial_state: + initial_state.Enter() + current_state = initial_state + +func _process(delta: float) -> void: + if current_state: + current_state.Update(delta) + +func _physics_process(delta: float) -> void: + if current_state: + current_state.Physics_Update(delta) + +func on_child_transition(state,new_state_name): + if state != current_state: + return + + var new_state = states.get(new_state_name.to_lower()) + if !new_state: + return + + if current_state: + current_state.Exit() + + new_state.Enter() + + current_state = new_state + print("STATE CHANGED TO : ",current_state) diff --git a/scripts/PlayerStateMachine.gd.uid b/scripts/PlayerStateMachine.gd.uid new file mode 100644 index 0000000..3de2d19 --- /dev/null +++ b/scripts/PlayerStateMachine.gd.uid @@ -0,0 +1 @@ +uid://linvnr16djav diff --git a/scripts/PlayerStates.gd b/scripts/PlayerStates.gd new file mode 100644 index 0000000..6540818 --- /dev/null +++ b/scripts/PlayerStates.gd @@ -0,0 +1,91 @@ +extends State +class_name CharacterState + +@export var character : CharacterBody3D +@export var move_speed : float = 3 +@export var body_turn_speed : float = 3 +@export var head_turn_speed : float = 6.0 +@export var can_see : bool = true # indicates whether the character is able to see things in the state +@export var poi_investigate : bool = false +@export var poi_change_to_search : bool = false +@export var poi_update_waypoint_immediately : bool = false + +var move_target +var look_target + +func character_has_target(): + if character.player_last_seen != null: + return true + if character.point_of_interest != null: + return true + return false + +func update_move_target(): + if character.player_last_seen != null: + return character.player_last_seen + elif character.point_of_interest != null: + return character.point_of_interest["point"] + else: + return character.global_position + +func search_on_lost_target(): + if !character.is_player_visible(): + Transitioned.emit(self,"attack") + +func move_target_adj(position): + return Vector3(position.x,character.global_position.y,position.z) + +func rotate_to_face2D(object,target,target_offset_angle,delta,turn_speed): + #to allow both nodes and positions to be passed to this function, test the target and use Vector3 coords + var target_transformed + if target == null: + target_transformed = object.global_position + elif target is Vector3: + target_transformed = target + elif target is Node3D: + target_transformed = target.global_position + + var pos2d = Vector2(object.global_position.x,object.global_position.z) + var target_pos2d = Vector2(target_transformed.x,target_transformed.z) + var direction = (pos2d - target_pos2d) + return lerp_angle(object.global_rotation.y,atan2(direction.x,direction.y) + deg_to_rad(target_offset_angle),delta * turn_speed) + +func rotate_to_face3D(object : Node3D,target,target_offset_angle : Vector3,delta : float,turn_speed : float): + if target == null: + return + + var target_positon + + if target is Vector3: + target_positon = target + else: + target_positon = target.global_position + + var desired_rotation = object.global_transform.looking_at(target_positon,Vector3.UP).basis.get_euler() + var current_rotation = object.global_rotation + + #Interpolate each axis + current_rotation.x = lerp_angle(current_rotation.x,desired_rotation.x + target_offset_angle.x,delta * turn_speed) + current_rotation.y = lerp_angle(current_rotation.y,desired_rotation.y + target_offset_angle.y,delta * turn_speed) + current_rotation.z = lerp_angle(current_rotation.z,desired_rotation.z + target_offset_angle.z,delta * turn_speed) + + #clamp pitch + var max_downward_pitch = deg_to_rad(85) + var min_upward_pitch = deg_to_rad(-45) + current_rotation.x = clamp(current_rotation.x,min_upward_pitch, max_downward_pitch) + + object.global_rotation = current_rotation + +func move_to_nav_point(delta): + var destination = character.nav_agent.get_next_path_position() + var local_destination = destination - character.global_position + var new_velocity = local_destination.normalized() * move_speed + + character.nav_agent.set_velocity(new_velocity) + character.global_rotation.y = rotate_to_face2D(character,destination,0,delta,body_turn_speed) + +func velocity_computed(safe_velocity): + character.velocity = character.velocity.move_toward(safe_velocity,.25) + +func update_minimap(priority,duration,color): + SignalBus.emit_signal("ui_minimap_point",character,character.global_position,1,duration,color) diff --git a/scripts/PlayerStates.gd.uid b/scripts/PlayerStates.gd.uid new file mode 100644 index 0000000..c148f6a --- /dev/null +++ b/scripts/PlayerStates.gd.uid @@ -0,0 +1 @@ +uid://dk0vg5btak80a diff --git a/scripts/StateMachine.gd b/scripts/StateMachine.gd index 23ddd9d..4f335b2 100644 --- a/scripts/StateMachine.gd +++ b/scripts/StateMachine.gd @@ -1,6 +1,7 @@ extends Node -class_name StateMachine +class_name PlayerStateMachine +@export var player : Player @export var initial_state : State var current_state : State