From a688fe3b446a84643a024c9bd9c6e8a4ca901db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Wed, 27 Aug 2025 19:59:05 +0800 Subject: [PATCH] Add laser sound effect and implement BigLaser bullet behavior - Added laserbig.ogg sound effect import configuration. - Created BigLaser script extending BulletBase with AI targeting and dot application functionality. --- components/Bullets/BigLaser.tscn | 41 +++++++++++++++++++- components/Characters/Chick.tscn | 2 +- components/Characters/Rooster.tscn | 6 ++- components/Feeds/Cake.tscn | 6 +-- components/Feeds/Donut.tscn | 8 ++-- project.godot | 5 +++ resources/sounds/effect/laserbig.ogg | Bin 0 -> 48859 bytes resources/sounds/effect/laserbig.ogg.import | 19 +++++++++ scripts/Contents/Bullets/BigLaser.gd | 12 ++++++ scripts/Contents/Characters/Rooster.gd | 8 +++- scripts/Statemachine/BulletBase.gd | 6 +++ scripts/Statemachine/EntityBase.gd | 2 +- 12 files changed, 102 insertions(+), 13 deletions(-) create mode 100644 resources/sounds/effect/laserbig.ogg create mode 100644 resources/sounds/effect/laserbig.ogg.import create mode 100644 scripts/Contents/Bullets/BigLaser.gd diff --git a/components/Bullets/BigLaser.tscn b/components/Bullets/BigLaser.tscn index f981a38..f9f8f11 100644 --- a/components/Bullets/BigLaser.tscn +++ b/components/Bullets/BigLaser.tscn @@ -1,5 +1,42 @@ -[gd_scene load_steps=2 format=3 uid="uid://c8odsyb7xsu3i"] +[gd_scene load_steps=7 format=3 uid="uid://e7ci24ysgbyg"] [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_cqnkd"] +[ext_resource type="Script" path="res://scripts/Contents/Bullets/BigLaser.gd" id="2_oqfvl"] +[ext_resource type="Shader" path="res://shaders/Laser.gdshader" id="3_25t1x"] -[node name="BulletBase" instance=ExtResource("1_cqnkd")] +[sub_resource type="SpriteFrames" id="SpriteFrames_yip5k"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5n8cv"] +shader = ExtResource("3_25t1x") +shader_parameter/color = Color(0.823162, 0.116294, 1.92523e-07, 1) +shader_parameter/laser_width = 0.01 +shader_parameter/soft_edge = 0.5 + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_y85id"] +radius = 40.0 +height = 1000.0 + +[node name="BigLaser" instance=ExtResource("1_cqnkd")] +script = ExtResource("2_oqfvl") +fields = { +0: 0, +1: 15, +2: 1 +} +lifeTime = 5000.0 +needEnergy = 50.0 + +[node name="texture" parent="." index="0"] +rotation = 1.5708 +sprite_frames = SubResource("SpriteFrames_yip5k") + +[node name="rect" type="ColorRect" parent="texture" index="0"] +material = SubResource("ShaderMaterial_5n8cv") +offset_left = -40.0 +offset_top = -1000.0 +offset_right = 40.0 + +[node name="hitbox" parent="." index="1"] +position = Vector2(500, 0) +rotation = 1.5708 +shape = SubResource("CapsuleShape2D_y85id") diff --git a/components/Characters/Chick.tscn b/components/Characters/Chick.tscn index e9f9203..415593b 100644 --- a/components/Characters/Chick.tscn +++ b/components/Characters/Chick.tscn @@ -35,7 +35,7 @@ script = ExtResource("2_r6bub") cooldownUnit = 3000.0 displayName = "小鸡" drops = Array[int]([0, 1]) -dropCounts = Array[Vector2]([Vector2(10, 20), Vector2(7, 14)]) +dropCounts = Array[Vector2]([Vector2(10, 30), Vector2(15, 50)]) appleCount = Vector2i(2, 6) energy = 1000.0 diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index cf26c06..875c533 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://bm7ymrri6pykb"] +[gd_scene load_steps=13 format=3 uid="uid://bm7ymrri6pykb"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] @@ -9,6 +9,7 @@ [ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"] [ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"] [ext_resource type="AudioStream" uid="uid://4wuuf1osk0yv" path="res://resources/sounds/effect/Low Boing.wav" id="6_m5px1"] +[ext_resource type="AudioStream" uid="uid://q65xjxxq1m4j" path="res://resources/sounds/effect/laserbig.ogg" id="8_pssdt"] [sub_resource type="SpriteFrames" id="SpriteFrames_4v2ol"] animations = [{ @@ -55,6 +56,9 @@ stream = ExtResource("6_m5px1") [node name="attack0" parent="sounds" index="4"] stream = ExtResource("3_4syso") +[node name="attack1" type="AudioStreamPlayer2D" parent="sounds" index="5"] +stream = ExtResource("8_pssdt") + [node name="texture" parent="." index="1"] position = Vector2(0, -70) sprite_frames = SubResource("SpriteFrames_4v2ol") diff --git a/components/Feeds/Cake.tscn b/components/Feeds/Cake.tscn index a28b0cc..7f56d45 100644 --- a/components/Feeds/Cake.tscn +++ b/components/Feeds/Cake.tscn @@ -6,10 +6,10 @@ [node name="Cake" instance=ExtResource("1_f2mv8")] avatarTexture = ExtResource("2_ijk6h") displayName = "生日蛋糕" -fields = Array[int]([4, 8]) -fieldValues = Array[float]([0.06, 0.075]) +fields = Array[int]([4, 8, 15]) +fieldValues = Array[float]([0.06, 0.075, 1.0]) costs = Array[int]([1]) -costCounts = Array[int]([70]) +costCounts = Array[int]([125]) [node name="avatar" parent="container/info" index="0"] texture = ExtResource("2_ijk6h") diff --git a/components/Feeds/Donut.tscn b/components/Feeds/Donut.tscn index 0784749..f330828 100644 --- a/components/Feeds/Donut.tscn +++ b/components/Feeds/Donut.tscn @@ -6,10 +6,10 @@ [node name="Donut" instance=ExtResource("1_7gqm6")] avatarTexture = ExtResource("2_bv6j5") displayName = "甜甜圈" -fields = Array[int]([9, 7]) -fieldValues = Array[float]([1.0, -3.0]) -costs = Array[int]([0]) -costCounts = Array[int]([100]) +fields = Array[int]([9, 7, 16]) +fieldValues = Array[float]([1.0, -3.0, 1.0]) +costs = Array[int]([0, 1]) +costCounts = Array[int]([300, 100]) [node name="name" parent="container/info" index="1"] text = "[b]甜甜圈[/b]" diff --git a/project.godot b/project.godot index f83cf21..7d237ad 100644 --- a/project.godot +++ b/project.godot @@ -61,6 +61,11 @@ heal={ "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":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) ] } +attack2={ +"deadzone": 0.5, +"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":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} [physics] diff --git a/resources/sounds/effect/laserbig.ogg b/resources/sounds/effect/laserbig.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4aa6658cf608f90b2ba73c20f03e7ac3844779ce GIT binary patch literal 48859 zcmafabzEFMv+!A*0>xWgin~+XU5hO4Rw&k@#c7dJ+}*9XOL0nZcPZ}f6e#)~`aJJ@ z@BQn`FMD>*WM+~~W|B!ZtNiw@8UO?QoAzJDmpp;0JbvsD5{QevgNc>n69OXf7Y_iw zJdme%;5$V5iSxhdiSwys-tA!axya-HN}pi=5rYPnDj2(1aB(wpvNE%=vOSTLf**4` zQ+qRW2SKpV6fER^Dr6CG4+8(s_bV}R4G16t0F;h+^ip|_FZ?kG#NObq6NwF5 zAK;5AV16cISI`}xa*QO;%@hmLrTsJ-2?d@QzKDLr@edY7BKM~f)Qa|_5d@(iUJz&X zgu@W~&qI>e5-b%(BKBWr?g~0P2m4l^y7Yx;riS$Dd?Zxw#5(Qg; z!22D?e?YW=z@MHMiPWEr(+n4g1c1zJ+Td*3XBY%k&wyS4zz|Wv>G?p^7e&-pNrZxg zrVS5{1Aqk5$pq)hgm1`1Q))+3{molnix>y0{$}>S>@ooGMg>*!0}kR}J~IG7%H#>o z(+bYB4Bie3NAeFWfdPC001m8%Q(R3zI#yyt9XeBIJO973ZoE1EUv^N37~@tJg$O~c zu=ogn#{q1HFJ>@nr|*B1?29M&JR7-`cR6)EQ~P8tZwVNjqOs>8%zqvxLF9pW z4*hiBGC#}F7ZzlPvJWs;5B`1d9h6i*=SOAh#1LmF?Nn8><(k&AKH}X@_N&p*u`aDu zm7~jxReknXe`KKU#Srk#B2}Iwn*`B)OLcfgU+|AQ$)1J=0F=*&#xRNhC!Z3HU{a}I zfthK7oohl(66$O|6Ys2D@1;8%pnv7H2GVZ^NdSx|lBX1$|1r4mV{pO8@SUJ&%cS^%!eoa2{Da1_ z{r_J^`D@^m0N_L^?LaB5N-3!d0)MsZi~6KpqMvM(k`9amHrR8y)IP%PH-w>gNj9da@bKF$HCHsaM7KTgkIX* z%o!!#t=ySG+Rv%m7;L7AJ*sTtsNM0R{;}|&(%=9U(688f**b|FhGq9CC5L(GiSxR7 zr3-T=Rpcu3b@=7->eQ{*Q^D7M+B_ZkV&Xh?>!M1K2|xrtC|RSCxDXK>0QiKe`iw3h z)?}D&J5sfucZLfpYt2VEZRgaXi!Y#4b>_O4UYhaFiyVq`Pp@F9Gx(}sXSS3j;dmG zg#oInA$Wd~ywp^VN^-PWd2i(8v;3#U=qdwLb!y$Kf&05 zDA@C^H*%q+wK}??ykGvUJh&DVWnFm*7J#DU<+$qbti!o3lXZ&00_%5`Tgi^cY+JKx z)?D>?)?ghvps1~BQ!w~}eGX0!)UlsHzlVA9dpL4AHiRtEAhzvXP9(Oi)YxFQZL(Zd zwk;xmRrYPN*l5)!NcCA>ZnUa(R;;S(yHe2aVV?Y+kdx{KBIveMK;$#P=snTEnScr> zbk2pb?_6Sx6Z9t9KzaDfI48n__H1!A->y(ZNEV(J16 zIiZ>$Cf3#G!H{n4xAhD-h*KYYZfXFK@}Dd1llT66u3l&#XhZ* zPf%Vg)_-HO|B2H64+IZfEAs%?!n2ull{_L@DqoW4Lw5;KB#p9T+PRDvk@S4p3P34r122gVWX+nFFQh*OpO%Zu~`?fw@>_Y~RwEv2LS zFO=txAxHZ}2kI6>41D~n<^SNK|BF*q{SOWts(Rcq>=5X1P4(YXdZlWG5f{952NkY-^8E-hOX@o7H+fTNEN06p*+m}5jzf!zqwUwRN_ zz-Smuy+Au6&`u5`A;I}2Dy#Cx*yl5FMZc8R-~b(bLk=Gtp8L(lb+&(}H{?bPNnMv<&q>sK|*K8EF})87OHe zX-S^s(b6)|(=jp9GBPsIG0`y5)6>v0(a<*isA(CbX81utK}JSOPD4*!Q{Udv-kwv~ z+VrC_w^!%(@YqV(+6Wdn-Fcntb6T8G4w*R?tag6v2+XZ*k%dIq+>zX!y)0sd5J^ia zLGQd1@R4bJrM}d?R<0AJJ8xkp6VleCF~m+f2NteUSQt6#kpY3#*!vfMfLIuS!1umO z{yGMuO!?jba(T6QQR;cgVp?)Ler5muRUf>>6xOqhhfVotBpAS$%Zl^DEU_~B`(;5`#PE z1Rb)!sRc0NQ(@)0<7@eJx2+gdITMI~IY3t~z|ndBI?_%;g>&{sA2 zY~s_XB^v7sKVuv1ejN5OUG4Fn)(3fM#zed(L(}(sX2v2H%3_lH6QW>TD=Bhe%^?D* z_@@7uUW3=>%AOXo^L1|8CtpQKuKM_eg8m#ctrP?UMr#qk7dmFH%~MU~(w5N1_xTo` z^33DI~9{ zhtY`X@$rr!BY7~L)y{nK9M{SNvArKFt{YF*=(5h-?MmQGhD+*KGG!^(o=!kZhTWp9 zm+bp(Z;b|Fbbm+T8uPtxpGvijRkMDz*x9_ukCgCQjl@A;qN_i7_G98Xd40x%l$oU-K2ABxp?RLJk=|y8Sp%=IX?NUVDmTguw@yX(Q?7*Pf4%)%X4# z({iU)cF}j71h2eGRwp*a4TP8?l-*!$afO|{39P>0GE0`w!pA?O7JUW}$<&7c4tBhz zvS!_(%u=#O%59%f87Uuq9`4vUPD}#D2i5;Y=!vKD1<7x&+V;*B?t$@|CDcNQ11wr z6c7bFIccQZ)YHs(tx_pMyN_+46$-lJvju|d2hw{kwxSgS*G4Er&s4W8 z*V~s8;`3KKlPy_Tr~Sr>2SiqQ zAlw(9B1bArj&iUE+dj6vp3D3|wDEpmB%vV5{l0X~q*TKFHm?wl>W%MXPsYIUa{8IK z0iR$-=+|{jrk>9j&KCKpoiO~j+vQ1K`RhJx%)1|In(O>peocD&@Hg^%!@O>rTqo$U zy7y_k?|u~B=o+h4*=8Y_%`KTU(L7N4Jw`I)`*U^Az<8_W4^D-9YV<|{<(}(LwGddE zVkCaqNCjRv82)9LD#xU#*gfPhYg7pjAMXN#_y_y-N+UBb0T zBCCOt+h?kcCi>6wOR(drY>x_6?`DoKO9!U$d12!Dxhq{Q0V8-|hk`E`aFXPGmrcpK zjWpIxFxGkzL9Nq(I1txaLF}SyUFLSTNB2^5n0WunvWtXeLU+P2)s~7eG@bM@41v$B zHUGfjhpLs+2oXJWN%GB0$77~Xn>V`3eFlxw)*)FOi7cYrkJMiA3#nOFHNUN`VUoDt z1}T*};}V|ZSkWCspQ<`T?`;aaTJ_Bk;A%VcNpA`o?(LKKRFn|fHkg!r1mTX-^PuH3#FCR%Fwc+I81GMtX4sXWxIOoiYUeoM!;rOU~UEd4ZP}0)&W+w=w4hY zA-*qtW5sF<&mreIJ?-qVkJ+cSzn}xLjD{(0p@7ZetixhkW2E9cNQKIPu<6%B z2MTRhd%@e*O)nR9ecO(4JV0;eI^F`^%)%=*7}%_M!ac^tELnjsak!k6^I_nI*%8 z?6|WSFA4;oUE~Z+*xBY^&mB*6a_Pq1X;_vhEuJmGcf3We+EztJl=e^u3vx`z?!W$0nv}zldPXkVRP!eRse~`(o^H z4;LRa(2{!HT~Sh>8jlkD5M$PytEd$o19@a8-3{4`&f=U;A^>*N4Q`Jhub8!!ZE*66 z9+yO7y$xWd`7Wk&n1&C63H1J!H%t|eUF$RL$eXve(%dc_sy;`sS)OEixupITP6BAx zimQQdtGzY3sEwlMI@-Gmczhm(s<-?-@+%A(3}EOxloI!=I~XS|=7NvQr{6Ngz!>}0 zuPrp2w<+h@h>;K=6HdVKXLp}IuA1Y7PpU)Jt~*qB)n*saNpbhrUs&oW+V?8{KwqcId>17^Cn(YwM^*0LzR4o5tPT&;WX z6mJMi>7U`Dw374%wZY+)7;GmYC(}!j!NUPUst};c%pz9`E3y1Qxs3(Vzdoae%G}Rf zQ97UKWE~->a64cA#h&o+w}JZ!-36};AAaBaWpCf}VO4yS z*P?G34)M?qgP&0CPiH`hL%y5r4x=b?24l@W-%9TpA4#oK zZ`r1M;;OBMIj`2r=~Kz@ ziHo#7J(zAad9XD?k1-VUt2458#{2S=rHJ37=|f25ST1|z_*K{HLpoj!Ma$D%N%LYq zmkn@Dr8*nYmae^>yvDDDlP{p$T`utT+65A$G+Uu7W_;yC3&lPVb!Fh8)B}a z`tzlOm|HrdT`e3ska$GNG@=&~j%I;8+N+f(_pN*mV_P_5?BYbowUs@- zl){1i)z0b02hrZ*7bdydbN=-_6&Waz&Awa7vJ-CsiC)%ZXNi#$!2*hQyRGEu%5j}h zt{;Q)N$p4LePXbgCk^<0yw+=aV=$YpcdTBQBn|NF zk7h_*d?b`kHb}&5rX(Ql;B;xDin25>^{k`dr^el{>bunN=Z|cL)P~n5mpnPHaB))} zAL>-%e)RoOF%P1DBQ3fU^U2oT=UGM|_C`J*-ITTokz9H?5gBP(lr!cWfB#Z>Y2UPf zCeb+7>Lz35GN_V)$*4ES?X4bhJAUx-7VaD9N@CS{SoCqUSq4wJshRBfIgb#SaS zc%M8EJMV}iHx}-g^N=B(^!|7nYdX9dQ9+XpoeP}j$LPGKt8>mUPjU zROA)#hKBX_wXF`C^yG^apB3GxM`Dwi%V)X@RPbIjHeIvpfWop=&tj2AKV=Ba4wG$; zAU1-I>Um034#L_F5=^S6hWFjY`JE>(#LTqC}335E5R(oVL_ucyJ=n5MNl3p4-35+T+AMAp{dTSv^j zGM*-XX64agC~(6f3{${;jh9G)3z*GB_N(4nb+A(+uUyGqY)sc8j(H0(DZ8{WsP(8t zj+eS#e4GffLf122jQ0Tg0TJAlaUni&rUZOFp|vv@L~sZjaU6=vJ$NF|C{VceRBYas zx?DmOASFQhq0k(8PJ#Q3-a+fk-m#~!jT-d#(9q6}RuRfQ%>lK#@!{noY%atX+eq%Q zV)emOQ`B_WzHRaI!{Ols9}($D*2}p@X5G;R;jqYJJ?oI+Tl97ez)~(Vz*^rimICcm z(8sugf-cyOd+#v`pO^3SP{JHA+pIgM*{zR&;|4MvTb1iAkz)dl=Dy@`W*cD9eGI5;pPRc<^I>4 zh*a-iL3n`K;q&cQ(sm?39b&L=sw8iUXZ4=WvB_uUEd@y!H~r~Jfsz82;Y&c>w8i_@ z8z2ODs4D1wzVmWx=q0`NoatYGt$$hnmBsub!$!T1%;Qm)iGB)HZ@rTX>C4Eumq@Y@v%}#B9t0s@aPK4V$@wmunZ!z_#HH0;e4xeU6G|w%a6@zZ zmoGoaV4Swa94#N6W>I4SU^{g``RKbr{hnS#hH$=P;oGVCVwd*}#Bhf;h3;OI66P(f zcd%N3FA4lg-UlUI@^5yjo<2)GrD_`9pTn+tVh7c5eHu-dl^oG*wm+Z8UzL}RS;7Kr z$y9$r-|j0dMtzKm*kWTh(1s=u7W7Q#{{U>(d*3cB^>bjS;Q&18MpS>&5e+k-)?aO8 z>Tic-2!BT{Y01owDdwne`nx8Qw!;9NSfl4=8Y+gzG@*8OOUuh;yDO)O(pC}G5fMJf z<=*n4kYwF(=S8cRfEEPkwyXH@IgvS50f%CxC-*C5dk|uOU4(WiTJznt`TD1~S8ura zZy47pUOUaycj!yCZ5thii`DHP>vY zBafcVN2`_i$zU9|FF-+M&@GEoAEft3!=;w#4RDJ z)^cY}SK!cTREK9?P1ntl{@JTm|2m>NRP0tYXcq@wXp#)VQwmgC&${y{@CzR+7GG$5!@@4`Lk3QY}$yWD8rKe0}gl7AwlN}biZAms>tMXqhaMkxMw#ffL zP_ckf#!r=j^j|ehV`n#Ly_??hujw6=TICF#R)>Idk)AEf-Pd2}nV?S@!w~M&gj!R4 z?X)q(jZ;7QE@*f-bo+v8U43-KZjX{cZ?)!d$$J=01_F#X-2LSE67#k}v-q@CbVO>R zCaSmOa-$n)&RbWd}q%t4KQS&A@4^rD5kmx&`e8kjc5E8q;k* zvVU?oy7)E^?|8oTz0n5tmTVv+cwiu$HR}yL-J@y2-YMXqW;Zo0Es@FDww({R@BZ0- z->(hWY*O4-+^b2+g#zs#&RH!s=DkJ(kL;9xtC!v7Dqs66&nnBQktf3I?G~dehCyBc zPv_rGFMK<7JVrN;hb1ghLvkXqoc0C%*{>j~fG1x6SZR zgXIDu1@EWVNtYjn9-Ttux4xW9q$$^6oZ zvo^g^Uz+Ko)#^QdH!&Un0NJz4l67AGbgP)7aUZ8WQaI~Uf?bBRkvY@rT{}TQ-HNyk zT%ZA93J?xko}#bPHkG(tC;S#veehe`SyMn@ONCm1-)bNcqPKkFQ2*#e%?ArGbNu=B z!$bJpHs5Pkcr!SH2MZSh9rW{G9`?LkkznWo^N1+a&e|;k_)5V{E%a6&zE@r}Qx_5d zx0PXCM@_=5UOKqf3sSh79{{s`;A%_w=>UgjlqX@w^=m<qx85IwufVJ%0&?uM=d%_kM?khcq!Ht7`(wY zJVM5ScKBZ9SnZ*i(9`pg?b5{afs8iq^bD`v--m`IZ_Q%HR-1&g_4W~Gmk>ce;X_%O z;&XlNBic6Sq**kw`O%$wN#4{Z_#N(@Rm2^vFh8$`nRVLT3SuMA+OIjT^n%1Fxlw>wo{2!1+rTBknSxf!8> zjYR-1AIkccPo3b!oi=fM^6n|Z5m11W`aj9~ z#rL!G^Gi!Nc}A(Y`==lZyp*V)Cj!SA-kqmsH^T+{^@41CIp%QOm?l!D*_Ff;7&)!Z$VzO1FUt4`!cY&(Yd1?jv!6g)Qo3@xZ!6 z$H?-?AI^9pBRPv3(d(&G=OIFx@m^f| zGWY5JrP50*H{FcgET8f|j)W-p>zu@*=-U37t(S~-vDGNicwZ4xsZUn$TS}$P_FGW9 zDdJ{PZPxvm>#xg?g8}vVUL!SZ(qFJ?OO0R*1kzQ}^$-}_O-Iyn0u}~gYY-Y!al#}p z4<;v?Cw(~D+7!4S8_&@Obal0|6E*_X)%6K@tmhm%He#i9qj-xOswP|A-l-mTtE)2* zy+FrtcN{!aqBx6L@C$1zkzj#A@J%R_BKOgFJ9AWtmDy(XeTv`r$?KKYSR@PhP=e_#$%ecUhoT5Y)oUr_R@SdNeG^%ZM->Yy(I0}yT9c*qb*Drbe&2^RHl8$r-MQ(&% zmu(+rJ_Zs+$Fge}e0DjSMML?Jn6?~4f6TL)h`n{cXXs>UVpUt{(?wwGZ=)zV8I7HbECd+Ppn5767^5AI(f5g`Xgf5J(9Q<)4aA%MP>6$-M!)&4+ocWlii zkXd;Hp5z-s92nxg!#DAOlLSN3*SO!>SXI90?#({0&~loi7FWSX%(v1)pGZL8SxoHZ`q`tzJHQx947~hS` z_bsIxYxP^!b8EFzW}@Mf-`Jv?azW6c1j`w}{v2d-b`6rs5Lk$|FSt_AiBZn6OO`jY z%>Ai$M^#czoUdrh@X*X1UUPKj!kU&e$qhC&c#+L7OBA2Fn<-wS+j;7*g#nnErm-V*T8AZr0R&;E%O}I$1+md6cgE%6 zVI!#f6t~?N9)5+fT1l~>)MK?- z7=lqoG{rrD0Uj8vFt(VgyW(7?Qqxm9-JbceJ|nlAvw2~&ALN+wv=?)NA*yqWe>F)} zIEJ85)5lA4N~)kD-lrdKUx74^ZDU$;|Kqmna8d>qSm!vbA$Po+FN`~?hb}8`U%ZeB zFDu(Sh60`Mp|&UYXnVr+aHS!wcMW~!#|>|_+KLT08h=ntH7lV@!Va%03mF zbNO)D+7?6n%}JWABZDq~$9MK=Tf|Tod zZ@71_P;z+xw0c~DeotG&{gL#>Sd>p;Np^vNR~Kq-#@1o?NO0m_b;IBPT-_1nF#kE* zIJtRpmP50ms*e4Hg7&;6DmQN0sKvI>4R=nK{kpL{*nVbPR3c!d?9~Al_kKxz=s_AG zV=c`H9!m}$BTLg`le8EH)6CtKf18GMOiPfCus%1LkD zh3WQNC+}qbQiXcOpa&#>`!lpqkhD`gl_rZv7~B# zYiMs|C5BN;Z1~=DG%Q#}^j?~K_5GL^)qyexOQ4OgPc4pd#HdAmn||1`d|s@5d21tX zb3p+F^AFaX@HJ{P)u5xh%F3Guj^Y>-Ow`iBO;tti>Ob3gNYIJ zybRr{jSF*{pfff7Im#}2&v}NfNoI!Mh!t(Mu~jEIuKN08%Z%+LY8ov-!7Yy(ivfr=ly^STWYL(1};>7UP^-wiPn z*hgA7`W>IKB}Z*6*&Qd66um{>yEhu3j-IUa*TcQJn{sJh#oYnCiIluhIe`HyL%Ir^AcXq*7qFuf(IL}PbO=Fhu zHRHxv*Zk<2QZ@B6A9X!ZxN7eOI7loy{nr7jMh>tsoimKDe7Axh;RMncWd@CGo0u)1d3I zWNrlWbGCt|xy!GRkz%#oiA$q_pb=~{mqck^7>!<~pe-wTlD23hCkA`6u9s(Hcdx(D z*?zvO=wnrlLCvW)R!LE|4@s-dKBna@lER7Y&tzEBXn320SnIs~GNt~J6dS%<3F|v= z3OQa2;iTUO5zrRO%;{Gxfs^|e1B_zyxtYeF>MOplm83_CQu3PZW%7TEyoxA9oWy?sKUTI(Mpmb-1MJI*l_Wnm|y~dV~2{XSe zLQ1;SAJl0cqZ1VF^hvIlQ)Y#;@&PfsQ32l}i@_Onm?8UJ{*a|V%Q`h75YxzB;!B(! ztM_Y+q+eepG33t|TR8g7yOVxX&hEV_xC35Y`eH<V>wjJCU{NdDEoAj1Ny_ zLQKqk%*iCufMs4{RkaxPRkHq=sNzJ0_k=}$J=NjRyCye_vY8@D4&)Aw1|}xiMt{q^ znl=$iuMy0-;ufu5Zg@*xaRA6IG{!s9d(G`fQ%WnsajLauc) zU3apDH1@LKC7TQLvcPo8gxzy#nuUFw2&t}y_~8K0SNe-ft2t`D-*Vho;>QYg^R9ck zeh)FN8tNQP4I3+b;Il|oNn?_eeD{M)h=M4LJ&o~m_k?bFLh;Q!{nLZgftLUNevQcfaL-X4)I{q!?s(J7v&(OBoz!i!YaWnok#l3!+s$2EO z74YXU(=yW%9vc9cPjg#KO^EMXuf{s*pkFeDl7zm4gQ1_J@e0=8&)v_ts`1CipFeJM zhVz>c3nmh6Szer~A1w7-zC&3PAi>tFRxdKKCrHn}%$2Av;rb=n)h6^#FiMcN-h3$9 zDL|AhZ@!=Mgz$+1TS`impo}{ z>8KfLzz01o6)g<|9SDLrdRl5~S~?JHsxPc9FQ{v;E3J9ZWj03#*SkLvd2g*+WyeB9 za#WfI-@IY`#8ma$ekREi*HxKQmcB7!5l^#2D33(P%e*r^-Cu&`#`tc13SEqoWx|t0 zT*h%^prIY3<7PG5Nt(3%6XOB=UO!NaW%q5|9RZU;!=u7oXO_|^^i$~pgXdz28_Jnl z_r)(=H9Gq#bsPrUa-_?<7XSyYw?b(#oGYjU~Z=Bby@h5;F% zRpDp?lMvCymyjz(l?cAlaU;+Ofl8jhMT*gAxYG3QMGVpU)sdQ7JhRJVPZaf+YfFc? z`;VMnOo1&5ByYZ1sZ*#LOH&m(YjV)AW}z)ECwdT!?Z2sGk{aP7Nx=~kH#>Cd7RVWr z4sgYG2+gwz_S9IKuaNqDTZ4o(am#Ma&@dU2x6FJlC+pm|DiNgXiS+Kl`m6q`-&9t1 zz5-KvHo{x9$pj_Z?}uEezsKJZZ}v^gOT(utlnoH*i}ify3TX>URvkrmSC0jQeeF6gW7=tB1Q^>f3!%YZbC5 z#eZR?Y>$TJED&z&_;N_Rq;|TZti=t!7LHhe&#~ngemTlVY17{3-8J%#T$1e?>kyRM zq7Els)!#sqmnb_+If%(b=G%>@^)qj@vPrscO;Z{-iA*M+4sylu+c3Q3*m*;CZBhs( zyA`>PH1zhS@*NF%rWw}jo_4z>o#iauUyYJr>j8m$pwQ}=q`NuodL zg7O*utZbWMGPA4y#|jH9FougAU;kM{u3EUibn&%8!i=zsvw&)$N5~AXqzv^nFUoi? zRmxQ**kZdwByheR$>8Hwa~a&!S`2{?Nl!8s3w-`*BmGv(%-@ZO{rOe>?c^bH?@^=E zj|7p^Q`CTfyM^_d%m)&+cWK54Yzh`Qu7vWB*7>uHg--jHHf_t-WzR#529?b2J3c?> ziBb|GQ~$^%fE@Z>C~9KLP?L7`V!x+J1%kH;^UI^gmN;V0ER~u;;Y~$NHKzlORK&MD z`;jGciGz3?(R;I&O}9ox<E6IpY9~$Q;!=-&!Ya^Z%s!;xL+X9f2wA5!!53jwp7wA8Na&;=B@Bz z;vjrkZpS3_Yy5*3>4ZGcSQ9Ii*A*qZN+?(@I5};;N1|7~SFGx-iVT-sl0zZ!C9ins zC~@z*phaeM=BlJdkKr?vl27}Z#VH@;Hypa!=DAt1RUR$h=~BUc^kMp;wHiwo6%K7$kZ|e= zVSVNoe;;Lui@|xp!`990KFKWW4FNTVpDhChe$(#KN)eNSW4c{jjzB<=JK)5#83*Uvs8Gs=4L%mMkiwj**M51P)ycw5SM zRNRjGQ^)>f%+`DT$!(8qgi%YA>^i(88H4Azr^tr7uZJ;d$Q&taUyy8L4x9{fHG+?PmqMI`5Y_T9-y6`0Sslud8mhT&OU`IEQ3k zXYdGJpsRV^(}}$cPSs*%cfM)ga^fn+7#}28l`@541eSC!?a&W>Ar(-wGBm5$H1>(k zP!)_HcL7necaMFKRHbRDXP*p$e~nByciryk5{M#KD{*(t8xBk!ss__iWf%}v%1Drg z=MzzM)h8z@M43jYui3WeFG%V|2>2>@?e$dOLB*_cRA=a_`eQ%b+P$T^YN;OSu-27g z*)XV$_tqJ-+h*;uL0|x{ak09G>8_Tz#9dVpO*l|+cG;(PH^T=t}P@UFcrNMV4=`)jC} zv^8c~30)ErMBT=4A{XqR_S31<{XZ5|&ZKxG`%R}$8D1o_;Oxzgf@t85WA47fQ zcYj8~Fy2yLR(})JL^$V?zwkpY4JaHb)$8om7~ezl>?K;3%=@t`iX-gfv(%-fs7m9@ zvbiv*Z zgyuSN#h*3!#GK_OzQ71hy6JZ-OzWgM=)tF$p^*W~i5jBzOXVoF8B4!tg%hIHUD6hq zj)Me|c$d~gs?HTBot5eoj+{J3=iy%s4x*0&+`589sogo7RbD0oNB04K)bI)NbgGjgZ1|~nxEnGmrZwJ{K?&6j zLJmK)iu5TyWnrv&(L`}NZ(86rrBSq%b-tePD0i!O!#)miRoji(qsZq8u>U$rLC;lw zYmDOFm8GKgv5+P8w^3N7!=`y{jX#`FS}j&HG)gKTEAfemhpcbddgs}qYw9Uc>ZKUP28*0c<%~cZ3#^>x;Oj{ zLjv&~yK0393VY!?Ut!OCGpb-Vk77X-)@2Io(ZM@GoRC!FEwkh_DTh5`mBEFW>yqgc z6~=3BKUu(OTf`C9TZb4W2=Mj(u-$M1MU11 z9{fwawC5T=V}ZntST1a$EAtgFde%9-2e9DZ~du)vDaJW$fPytIw&IvEvnc zTl39!5BM$sMxY&&HA`!gAQUURs|sbF6Pcgjes3+Kk)1*9>hYR5A{qP>0d-Zs4r|cYfphzH5EMkNLxzwdTy;=j>%N{C z@R6+%uztqgeBnLDxsyWw(3*Tyi6m)l9h=Y{m@VOYkE!R)(kJoOqptr^A8j94*3%#UoxljP%W} zKTAKig^AHexuh?2I8Z5Br=~*(-9$Wk72S$s&~%+qFkYbWzxUHMDvYOH8}Oq$M44Rc z66M=D6Ykg2TA$|Ze+BsDbzdIjJ(pkN{LH2P@{G}2yBhYVfG^h!o($vwM!kRs46G#f zK52Sn9%v+x!1G-?8c!`B+XgzqJ7AsNZQZphP5xLYkk

vPvZodSiYZ?RzA%(pclMt6Z;~L0I+5W#E)==&oTa0@LM9_LaFad1Djw@V!a* z{vK6qf9=Nvw>osd7<4?fI9Z7b#Om0}Orxjfjtplq$EO-D@>>$^T?WhX5ttBIYQr=ew4m@ z9NoKy*Itx}UCVSga`d>4nibRxDLNmo-agmE@Hb?G zzIN{fKKmLhQXK{hUJdFB`dG;(x+DgXxheL;`@eI$L zqFgG}Aj+i1UG3LaD1Dug>?x`9(Q9m>H(q!;T;WY2*TnVDxtwR?D3_)r>T$0;q!h-=5Y6il)??Roy|Z}nTe zZv}?Mh`i~J=6TLUrLUW3)P+ZJXJguVv?=R|7i098K_$O)yZs3a!*4`ZF41?Tc$6Z+ z=9oRM-TJe85T&FI9S0OhBIt3@5mj?misLe`r(gIP&9-&n+vzL5cX>;HxlQ#XFk7CN zJ1gyX+C;_VDvm(;pwC;+Z~32X-AESq;hybPo!@MH38B0-w36cAStYd?g_W9!vA{x4M+#XiVI;4ywp!9#%!zpIN?AX6{eNj2T#7AlMI~kz$ z&LFVWXFA;hzae*!%N;oWd3+P$H!{Y})DTW!R5uZIeN}3p$a%4%$g%&`aSgKb#7Lw= zU3DEWdt~Yd!K3vFX(3o%>1YAz%WD}6gmn953%=69&eY){uj&%L6dTZ#idv@8{c=ig zt6Q=jG?#D27bydqm8$+2hQRs-ZjkA!Zt}ODS|el47!4MRUeFQNsH=zz|H~E2%DGI! zI=EeUti8zwTG0ItmumBx7dK8e66Bv>6-#ud6m}B+jUQQ22?4teEH~lJJ<|4`RMuc}oUjb3ldK%9F02$$qeR_ngS38wXNT z6>+HF|9I}$?~r?Tx_t85fiI4yp~RLdU_1_ z4%kTr^Cfe?iJCMv9Br5OqFdv#l`LE=nuk}#(B0gEcp${nhYWfO2~+w3{G7JT^%)gk z{jud+Jss9EzD){Iz$F`~f=eun0IAc>mz{&2?$#<^)q?}c0pNFT%kU=}ydc`$`hoaO z#+TH>&>!qKvT@fZtzl*7Tk9oToVjxtQX1pW;O(D_N~$=b@*wvC_5=O+m|z*^1xGsX z9;FWN-x?vE{vW&RBL-LXXx7gptk`O~EAo1%2jFT%GBA$zSBI>V3qIG&KTM#VX4&>P zDJ7r!ql`AOdJfSJYW~r0AF-Ro&YCQ2t}NkA;7pg^y|wy%fYp#fq2~rD9}=THU;?o7 z>?`isw1z0;LsIhL6OWit6{8On2aG?E8*QjT>3_u*KQ*G70Cn%jm^v2c8?L-vE zFvDtD`M@GG@wfj#6%vi*O1VqpfhYYZV&K=|t;=|a-(!+6IFqQo5HC%4O6P;~f=<~C zR|%ZfuE^o(Kf*f=o8a?-3Ao|Dxb@~@smPt*LE=}opL@hYEgL)0%0?&x$X4tz-5W>( zIx%wQ-eJBEJ&y=k7B#y1^(G#ff5JPeeEYpmhJD@ZZy_9TZkx_4#85VR37Ahqvf!je zWVNK-cwv|PieCn^cSRfBqd36Kt0kPh3NVDamU-R4$-_X*1NeE0IdN9|w5pg@{+ehb zti=0}tllVi1wC@I5nW17K@!R|MX>y9e&bJ00fQ*v`5R*Xe7g6O=@4S&_vgCz zdYOgKL<{P`Z@w9f#ED(me^-ylhu1A!KEX-L#+V4?I{qA;o%(Grl@!jBEU_nE}~gRt|FT5 z>JV*m?KB$i-oFf=;ELe_$$&TRcfRPu|p$Q^7b(P64eRV0Tc6uoYj zEKmX-D24y!HAFGdoXfRpWY;lC$BHTIb>=HYfEq@pY{#<9R<%fvgiaMY1vK% z>>&{ROLPm*_>3fdsM}Eri9I7aiGGBhFuO4kaE3)Otqs8fk!|Gk8+BEuk2SMe`g zEy)#@i9t!st8SG^T=N?EX%kFoH^ev6+Sc%f`xod<$Z_lcfJRK~Oy#Lb?UV8rV0E*~wWJ6GsEaT>-W#N=};TpDZgrdM22nd~1tq_+0sZtu}1E zn$oZwnBCLtjSg=h4xnDv=lsd%u8S{L0D|_sgz}yJoAk^Dw7yoG4;|1toQiuO@1%eO zMzD2#6lQfljEwvHS}Y3OjMYDtM?S2)J{99d16j2-fjhu7uvvG_k=-q-FYc4wKyDTL z@I%#cP8SDx&RMZ(9S-(czcqXVzy6y?JKIDqsi~PEUA~xHs;M^ly?rmr0h-$6O)SSS zLO!$Q{$IL>J@6zVIQ+9T-5+qkqx0LXC7a)8Pum%i>BSM?GZb=o>7{;$=hgEJLl9u9 zl2X$grS>p&gZkc6V6L2QjqzRNcyu)QsUh{PrBz$&4GgmtckE0S^9}AFd~R8H@BcZm zeFd!-j&J(f&T?P-sWQ6_hJ*STMaRO2ApwHOAQOJB*A;|`w+}atH&bV;OM6IbXL)=v ziWB-_Rp^2SY|cbZaPWcefc5^7W$IWdNj^?*Mh#i<0va=%;qjEcpej4f@Z;?h&4TPq zuA+9GygoX^T5}gSntiL-J_vSP`*}+rbhnCt*ilQ%I!g(~x$MXI;4j}i>oS)G^!@nP z#+5H9PpbG#1%I*7EH4sNgWCvACr<~&xHZt5r}s5Y|BlTTvr%&CQ3png)FE?nP9!z} zeD-G$f*Q!mr^w6CjP_?U_$JE@bD2-g8OuY21796=y$z-GUai{4*kU?&$_EPh$a`cF z4%p?<2I|;YM`2rb+GMB2c9Gc-?4pQ*?~hfI4|eP;telN}*?eXQLO0_IAo|5rm8}{Nd(G?cNRt4K@`J zO3Zxw7VZDYYQL(`dp7ok+c1vwl@MRDwcjAEdGeh+%CEgcSSHnaHzKQtuU#bUW2QmR z$s$Q@w*_RR6#{c&KHFDXVLZVDe9>=f%(-*xY=quC?(aRN>Vu&l&i>RL+^Hp+TxOHm3BhDMf@*YgdwJGK|B{ zDk+=h(|3~Sg7u;;=TL9m`YbPen0?aS=kuuR!e|PQ&)aOG+21uw3kKcZFB~LdM6wmH zr1T=grQX~01)3l%;5Xj;Q+Jzu+q{(Xym-^5R;paea` z@7*Yd3it8$;S~j*0grjn_#HkR)6H7xBY#@bgiL(IkCrEYP-CE@zUG+fLOpOa2+Hl5 z$l;q>A7{V7u*E)Ushs2I+4!pZP{YYU7Tx>aLZIQt&+fY=JK;(J(daWB@57FoRMcS8 zu;qIi;j$-L&*Jjx?ZLl;(*bh430h}qXp(u@R?a#V;^t5$_3(R-Zc9GNfQb`SycI;i zA0&D}#2*Mhx>WJqqhiLBrYKeCXRNx>(ZPq!64jaCgKk>M?tZ_}F#=!@s_-SvWdQIyUX z(?SZpY2yk87AB-RXf%D)2_jvhzrSKr?Ar~oM;3XxPkXfCm=BkJqj*<<{nR2>7NB+N zT1Y+2dLV0X(lJ^^^-|KCfcX|yyk|{f!4AFpAh>DNn}7PH`V>2zxakV8sW@V`7fZ1c zt^=0dP#=EgYohz=)L|av?|-tV>cMV!lIY`INIluM8@abUlOQZt)SSOzr2Y~jduEPY z^k$YUo+qpF8}V!5h6cqjUaj{&f?%w57(2JP~?3%n~ahL;lDC=?T1o1{swHe+ApKg6%azQDB2stg;XSJ{GSqLx@XF zP3T7X+Dm5DE{3c;^`g`f_flPD zh(5T<_-f)RB+4uy80{Sv4Bfe_04q2Q`D87tfzNiJyeAj_J9(K+)>Zz#qP-E-WNr@( zY{O%Gr(u>R$jK=wK9SbtuZJX@Xd_73lBTk?$EGP{v9(_Yip0=I(ny2#ss7NDV5>WW z?P{ZMyN?#=wc$$poFWaZS{!1c3Nv+w3tPx6h?BP1GM$PlHFGa=!)>jEysA;v`Jj0A zBdPjfVLyLZHn!fF_rzD z0i9Y7)P3B4>M<9q6PAHg@TqB~^_^^hL#h5dqS9gs_-BJkTTEyWZmm_zu`qMOk#|pP zZc&Md24h&D(KDgL^RdH2y-1%;X4uO`PBNG!`LG@$b(GR0%F`DyjLoPM%SVcvy6Vu) zmeoSsK%dmwfP0YIg1VZ#+1TW>k!175o!C4$HOZhiAqoaYLq?-$VDrW2Ssf zV<_Rb7>aD@(g#9Po0TRR^NyaS?VPE|kC_<7(o|lia;42(GC?8vU%l(Adi-@H!M9`> z?ilc&{|B1{qWu$#{TDX*Cm8S1NRVSiO^O-;GAziAm6nHZaD zo2x5J8|r^m)K>yDx2BS~t>1mm08R%ddvJQHBMtWKX=3n*YjpZH8 ztjzQ*&-P?Pv|+DQ5O1EMJ~bJ|t~7ge5;`kwIu7TehOpYx*suB{_l4?RgoHjee+=nI_|OlLR|k@nV$RCD8{qOEpV&vYhMeCA zkceax)UA>Qh3FM3;LviyH-8Pdwl{IPuXQ@G?NGaDHn9^GTTF%$yQ}_k3Yejb_~7}| z_wqC_ltWgNv_$CxPDK+&nRgvT#Lu-oJK7psm$DK{Gaif={9c{#1NrnX3{~WjW23-@ z9~P{a#*Ux6pUY(7Bt2fA(BzxEy=rr(L5sGpV|~@}$D~1hqnQU}6{*RrH_fwFty1d} zkqoNaB7Ix9HHu0AuWYMy&=mm>D-i1Fs%^XXn2M8@M*8~1R;bE#I#y65&OKIPso#`J zxiENj*n$-n`(-tDiD*Wwc~(=7_~QhJn_ZyZ=E`We9d>iLyfW+>xC8Us3HwjbxsjHB ze(3<{DhjNVhvFs{k+tlnJY_fj<&`hF1Cg&FjlG!t~i#5_zcg>92Z2r4DPmz z8g2Bs;eKBWV~G$_I+dR8J|uFr?36*3-v`z{1rLR9D;}sZckjfS_*^e^Jj}hVMVUTw#2wpg#o)rv^qrexuGIx=0Y`)AS~gShHZGyV5(9&WQUzwN#ppMaNc#QUut zpXK?_mknG}6Y?4a@TXW^yde^SH@RmA-V1r~z+4h+!}fRx>mU&I^ejQ&Iz%t3UqFgx zgl)w#DxNkh@GdxjEFr(+=hH2IHs8Ug`wVygcX6A-!uZSusGH%57}t+;vAfK+7#D47 zs$wy9I(-q5H8vJkM}JAauxEX#HZ(G_g5yCae#Z(9B2AABdX==$U|o*IcgD$FVUA~6 zMj}`HIbLcB9A+UD)rxNh1Ad?@Z5bw zRZ&|!gv2l)hqUh`cPtE<7*W)3n@@w)*f}EBW5@l!?tljofes&zEO^ zYE=87ge(RMI;_1c=4;?!DObs98Me|QOX0F68^>K=)h#PfshdaP^hBpULhe4_E^ZP5=lstA_h(#pd(&~W^uhY3Q{_}bp3&W@j+ zd@pPE>9vu9YSDs+J=%n2JYZAZZ@yFU_(Ea0J?%?3qC;O4_E&n9MK_`bg~g-3&L59+ z{m$0KsuypZoFUS{iDutxWH_1e-08?zf6y5ikH{!r=xl3V7)Jxj{;j?p+^eSHxJ-98 zM_4A4CKvT-C%d)a@V%vq(u*5baZ|i(*W&mN>HHf+aJH!(9EF?9g*u_zugqS;f(t*i=J*(j^bla9i&j%q z)zmYYb39d1jJ-P%b$^(&Mj~47%6wF|!IbYYQc^)ey47LDLiIPfLUgCF;)%ES3L(AKIkdpK|@fDzxB>h)eHB-@B#5FT}GkgeFO4kR}Ic zm>k;?yOy^@66MDR3#7f3y=H7(c#RD0E%^A8BgC(-L_x;AJRESSh9@mah(3;7)vkfx zHr|JfDnxY(dkXe^(y>^3pX^9DP|wbme045rbOGh- zum8tN0WKjNEl{0i7IUGy8B^n;7NL`KNBg{!FubpiOVtfIP35%xu5{8R*g1)VadW`@uUa1!gUk1*=?YuQr_^KH8Q_jq=C*fu(Hz=umW1&FiWz=7w+RgxC0lIK5q^`4 zE?v)rWf$+z{^G$}Exg0(OYZXFA|Zrq6`y7I>s;=l_&9Corp?S{@U~c$9ZdU8d~c?o zuRtXj(^rNizsW$yP;5I1&fiy0D~gNo$$vnqb^dU#siWNFQnVa`LZ2MvAuft91U zV=FW6y<#2V0*$9!^YN2CuE(HF2Rx6Y-n~mb(>B(M$0#~5J;yjVJFHGH%<7|_eue9F zpJfACUe&VkeotEQhN2~9T3R70&}7Q4{*G4RbvWSzS96w<-3a#9G-PcgxS~3i#@;1% zUqqE%uG`zn++VJKcE#t*Z;PFnQcGEpYTjN6x3}>IW{PGldDkAa`$GrNuU(tU+Z-H{ zYs5}mq12|iwz*3Lxe-qxJN3QS1kH-9vBg%>%fqLr)H2;J+Yke658RM+>r3LwN7*=C z$%h5fZk9Wdis~=$fQS9{m39RroDqqN*WncqXT1aLm2jJ(y@z+bNvN-oewe)Lp%#gd z+BR*FI|ehATpUycl-E6&-f%Lm@);ip%(HKA9oIJGO6O)=!p}L@%433*@*mHh%cDNZ*6u|$mDb*UlU;op=!xM?V?~#DL&`nzzIhD~vdt8IgqsJ%QGYduhMKA1(LF-Z^wRKkZiW5$ zbLY;VlZr;K2lIE8K^ASvkZfKFI>1zfWxq7zO}g!(b|d86xorQK7Hp?OFIh2q1yV*! z0F?J%2fX}~1C-)-K5nwUIV7KE5kQ5o$b54&{ks>L#`x))=!rn=AM^ zC99F>#SaMxv}jot7B;F+7YH`uNOQ5YHJDyL zP)`J1Em2>XzkzyQn16inl2Lv;vgj_w`lS7Nh4|gM-~CUz>%8z_c^PlXYSz5?!#65_ z8d(Dh`wq%N2y6QKVw2d$q~XxX43Do+VC=p@g`0GK*g#EgVp9D#wp4=XuPD-WJJPWl zR!s^Dsf}}{qucf7L1Pl*+!a#nhmRl#%s;Tr!Q0;ZBHr4>5w*Ib8<9FVTqVHkIOoPb zqR5<(IiA+gmXkQv>P$J=j0>iCpe_>oOv)kWaH8a#%#$sp%fi4kdr5)*p*!u(*kX|W z7tvfY4B zI!MECEt&f}-T{h}|!rC=eLiyG7VD9dXw~no3v-@+Wsvc1}(8 z;pw{;uBvUAZ{0M8hHd9Gb)5kw87S+3&@RYQ*EC&wX*AeH$9hazNj9p}`Q+u%Fp)hS z{%NrHM%z{Nd*Pyw?y5V#zWgthl$p!VSb={YSqj%P!rk8c?J4PnL46^h??gSy6H1r& zJo}&Ku4Suul+e8DE_Hc=_~`KrzBI%OCuGKV?rrHBanX1={_3Us?5u{#5_o`=xB~?} zMoA;pTF>V8wfwHkQ zb7qn8W1*rplNc!G(3A-4B$7FMBnU~R< z23_2q1Eo(K;UDthnGt!)FzyaYM7+2AFkLE<(+EOpq-C4DBpYKgTJP;YO8=hG8vbrJ zxTrqSZ#eT|6zsGA1DSTRcm4_@c;QYRYyaYSS2@60+bExBzKUj2vmHGG zbwn8KG+ki1Q$v~}`$t!znf@NnE4&z$ ziY$p0z+Xi49(+VJ?&A+AT@|Q?E%%b&xKL3P?w#HvFv9m8=xL4kcR(~=DvD2*+LH7V z8lIXp`o;(?!uJGktMJ<%Jl3KP?#d_t=2Ze6 z#N?AwWr5|g*=DI4RG8p?wA;giNf&_>`cAa(01B?&@x*Qv1~|a}6Zg;_1Fyl1fKAQt zhlphM3Ne3@wk!E%tB2GSYBG?Rs&TwFh4o~ENCM*_PlR0{ET~$v*Fh^_bk#>i*;S7E z*2SW9wc=KxOxk|CW%t_yoE^%ub~i zbMK8stnHg@>dL+L#O-_KAF^+arSC91zM$sC*r^#U=8$a%*F?nd2f@Gnx5~3cy&$AO zcv=2we4*bYk}j41RYnb`kO3X*ly1i6hxOK_eUTC06K3R(xIxNyuBiA~gNpr3dDNAX zr(R=Lk3Y3%{}qrwgu{;&PV%EQY+t3543|sM zvu7#^-2S6o5S3pLPJJ*WaH#bev*)Pkdd#7<;s}Qy;cV+*wsi;}+20X4K6M5;sQg;h zDkpDE5QqL5JxAo(AZrl!04^BLcY}5O{p*8w3f81VdxTx}`3#64%T@NPu8>`pyfskB zqmXFLhiOV?+NHblCYb^QyF~+|bYZG!SKemf<+4{-5coNZuXF``*KRTgWRxx0HL8mB z5@?k^K`NT_DC|@leByQ?`~!s3*&Rg-W9jbVst#wEI>Y%6N8h>};zUu3=LA}lpk+Qw zt@EU_tIa2znF72&tbM=tbVg&h$5?l;;ybKD6v>)lM_y!8*o&{6Y3vQxvK1r`N90iA zS*Qr;xGtIs_3?s z?a6zElzN~u`{yDm_zHOqF60+a%#Z(?80iOXcqM8ueu|z!qI!DhO-&@C)1AeV2>@oc zuG&=D-d@pSTZCOX@?k$qao}rbsHO|laX=~?1n#uGJmtrW$$R=2Yoa$fHA;quCi5B_ zXcODc$QWRw!lB_+hbfu-X|aAp_0pVme;6*%|C&pdF5fKYMB4ytyeOjodZX$b3!1rW zemN}wDti25?`^X^V=r;wz}G~md8wD8&azH9c&m*|4nBRmg~Aq>z65EcuBK0KliDge zioxP@^>bvkPp|r=@S?i2@ylq3V^=eGK2d{o+ri#SI9HiagYYH0TC;CqrIh!6Nyg>< z+3+M9>op4UJKR)8XnAHRuADuiDlY`gSR`;SN7(M^XhXPA=gl8R0!IUA+pD^hb|bvX zhxOpQ0v)R&W9a2_a!R6p@yq^_+F5=1*pV-};_}o?_e9SAQc&rCuwvi-@)uko6_1&J zC@IAru`v3j$d*l$pGlI}1a@CADx5hR6q?T0&?;~5@oS)r@HO0-Dgo<}ShoJ~)n`;= zMlb|7;;4GD$bX3vQo>j|#g+#QZS#B^F=4)oV)$il|56PP?T<9X1Y2qYc=dx~1W1ps z450;Xhj9PUiNNPN5!sJrGwaK!OBg!Y`j*zi2$yt*KVh0H)<3tHIj;dNz|pwOU=C{= zbb7>gwW)M;zVb=!)!`Vc!*kQums$qW z!^N|N!oMK+0SW++Nq>5RIwCp2NTl_7W$Cba_v4xa&iYu;fkc$~Ig8=u*Sq@%M}b2O zRe+)G~g9siuBUA-%sa z(f^I_Qz-ph)77sb?jdAfZfw{t>1NrrXdsNy8iUKI@KoU)B$~ah#W=q3ULOuV&tn%2V69Ig!Ws0CbLkbV89j{K>qbf$z^#K3v6~9_j3J&*04=818>NI~Nm& z4+J_1QGLg`>!{9oHQvzc%sFo!tGc!et-N?dmM!7~phLQoNd$EwU=Q)ONN=`EPz3sf z#-r$PjvW%NHMm`cT;FG3A@oYiB=fSPNU$Va3kgWhPtWWiIKkf$UfOF)QQ^yq#`o#Y zTTyxv9W~$tK>P3k(0}yPE7KE6?+|S5s6o5auMr(KRU?hD-ailHzv?}ExOKp|4$}2@ z%uXVp_)Ya;8-o6w-FL^cI#%z2nzH-~qGd^F?3}FjkF-$$1f|};M`myU#AyRf@Ojz5 zq=TW<8|8a z%R~5=1M)ySAO~l?!-B~EAv(&pYRPmFdVX!h*%;ZrOSh!Eh>I8sue>?3q5Tp$hgtvx zzGNz_IB7Mo(ZtRjq1}P|^~2xGoB7;LzEOuaJWQNIy#a6$0IgT2GF1^ll~i8Wcv)D4 ze)(+nKUBx&IzV3vpnxSfbeZ@wfP@O{2?X}Fr1lz`ReH~^K1UUWI}jCK)P;qzB?6W< zZ2~aECjxL2XoNO&@#C$U`QM57oBI)1($e;(j;qDN69ytZ$$j5J&_ta9zmH(W0BRtv={nMts&NDD9Y`@?a{&e}~|< z>v7-n5UQGpfDYs+MC}fK?)A7V;Hp^3$NK;g^D=Bn(=#Rhh+%jLdO>~ydJtgJSzm~; zwM6-z_PBcH)3i2}dhP}a&P$njHN&cW9ta0#2xWPZ5c{V|%R*ZJJVK;zq2jQ{59ejx zxGmkg>+xdBS~cD5W~b4d4I~&iY?IU$LjM3Txwem8Dn?vQ_hk?wC;Wx?6>B-h2f4*W zzZ4%-vWr-`j?#{;X2-+XMW6k|IkCm^R-&p74y;OJ_WLrs4&us&y{?&nW|@i3wQje} zfphe-fh#6rr=8cd#PqQyf3{cCL|r+;t}T~r2PSPb!wVj@eR98D`g7q=(f6|lSTV#U z=zUcu6$=cV`8*+Kq$|DCPp0jRxR-J$arfocnr;p+B~rGkWb*qT+kv(wtPqzK1o1;S zKnqHG{|5o)vlT%Cd4$Xs3*?n#zK9uH=cVVR^b5E>{|qS8DSHRFZPPu&I4DFnDu5&0 zc6b+NkrqjhA)e7PCTDMxk4%)Um^CJ$1f+LK?_kb8GT1E3X*ljJPK2G}Tn^^Vx*LGs z%U19>(aWX7U!BvQ0har$`>P1B`aKO{a*f5LAv{WYkmzi!o^E4CyjxjDG;Hpj191o!-MEY9^NmdU!lOv3+;-p<(z0eKF9&K}Rd>`?puLX1tH2C2;MacI6atgut4$ z@W3Ct(ANpgR`7ydM;_c*@8PMR^ID!P=KV7H3TK|P60zLRn!S5$my=BbM4*u@aE*O* zX~Xo|%yC~G7#FNyz?+{G4jiRUVWF*d6`q3z{keZm7V}kG^%}fm11{I5g-0Z|iehPc zz|9(?fpVCaRx?q78$5V4-fPpnO2(h@W$K!DSobAuY6)6SAbghLY9m*WwG`aVVPasvaf7jQ93!w2W~!O+3TZ2)i;~sPXfvf{ zEPzzs{9Mu7or&K3aM@cZqTb$HYljSbe|9L@yRhqq_2H>9F3%kB3&QR-s# zM6hLb7L0WQI%DjTU_?me-X3A5LVpaFIwT+)#^08wm#v6>F4@IN+|^$qRPe)0yWYPl zZJYmaV68{;B1!BU>7E>d;}zUS)_oz4x=iCl<5td172S-!y~y{)yt(BmA6&eV)IEUR z#gUkQbB?QppbV+~h&RFR8Y|54+wAM-TVPA~M$tCieEo*3Ei+v__Z_&i>*{zb;#cpQ zZSL~KD9RE6C(6|ixU@J@pwS>}a{A0324=lnj~&?Oj(MJVD(?t~@|uI$6s!wr2$2wE zbJw<*Yyui?I75e1N(B;ZgY~jn7~_5&59DfSAh|y5eB6WQ7hoeAW$5>NE}Gq2oA(uY zOE;5*(J<_hUb?0B!9KkhO!q_QyQ%-|Lw}g!Gkr()`}#T#W1p_}yNmXck!>IJhe-$| zm7m2>GU?JA`yupOz7h?6-wEOv)T>L-Fmx}>o1gYlb z9XVg`Xvn6c_2#d?ekM8-@9D$-7R&m)@wKHk+T-i7n+E~~%%6u#hrVxnZCrK4qH zB&TGiqoie`qi3S0XP~8`p<njo z9)f-Be0R_9Hm$>pGRAYb*A)LG%+nZxSPFVQBXZdsqS~vCD{m`X!9FK&ZuW^cg*Qc{ zj0L!W>7CUN_IUZ#mWi@w@G$qWXt*pDC6$f$hYx_^W|H*y%fBZ8vgy;YkqletGsHkd z!HEcrxPn;_XrGcfN@5+HJF*Jv~hc_ht zR3D-sZ1(UZ!57^W!hivkD?y#KM3EPs#=g(znJ&^?S<+sp+keRW>sv?1E~}?(8{Cp9 z6etelGy{`b>9@U{sZD*{uN}}p#mX$#&D1b5{~hC|SRgKtW7BC|=Tl5v^6|Nf|EZ~e z{eprz(WH6cOd^x}Q@VPy z#u?y2`$4X^&vvqOsYt-&76){XP8fSE@7h_kc!~W$xNO=z(auNRv1u)z7DsEF?qw7c zrWMSH@AP56Ym!m@a<8UM?#0M9#ljHBUTzn|YNB}l@Y)i(JBaBU2#=2Nua+7zi^g%T zV2iKXsGD#1ewW>&&!%s`@~4k4Xj_j)`fvTk^83e0$VOM#&uxD=_J|L!SW@IG9|!@%4r0a2Bz_jicjD`PGVo_1&XWa^g)NJP3M& zwn-KU%lx9QXX6Be3RCsYZsA_2?S*zV>)$(0HJqJYC!x9>BHVeuEWRcjAOSjA6fhq2 zj1bH^y#KCTd`4p1mzFtM8#M*P`V>rQ^S=B`-J+gqZJKorg+^;@L4I9*Lw#0Rv^No@ zxx#^(q5oiiqilZ|vg;3rO9SM1qh1nGAJ~;Ls&%i0Jw4}LFU}k(ZMAx~juaz-4iVP> z!@@KNLS2!FESC5R)RjPOi$zPpHIMGWb19GaSOnDQmP?4Mr+z8nU$szyR_9UY+aC)h zS*;4~(&(#fCxl=1d#u2Yq0uvGMKrKNYIA(z7GMO#-QkYD7c);!@6NPCn1YdkK9B8xk0d^bbWAmo? zE%yThUJxj700yMn8y;DUqKY!t*&T0BTd}JbfyiZ(qI6{{7q;;cm_E9q;|kW>A`rQ{ zpyfGwsBkK#(Y1@c>^+Zv$77g=S#0y|oh#xbEWxrrcN*~m(EJNw7~-d-M3zzooO>Vo z8=8<;(N=fgLAA+zM3a^2V5uFrowR?0Yxz~qH=LOe!BqQ_%&xE54`iJD5nQiENBkOh zwfEFh-x~hy_i7L-v$4-%VW$H*tEW6k(zn-@{2hzdcGMlx9Y6vAY~pLHIEp$=so6^|OnHUq?7anv zo>gdnp$c_&KXM%GuyVVSQC?K3f-7+})>9JJGuGiIUyfB;`6EFF6YrR;}!7tiK0!spsYOwrZGi0SbR>==Fb-ZIz37BbO<%ePU>+Np(O5*P^O0| z?jPE;umjSsFTcq#!R#{HkkKMS5f>BQhZ z;&*Yg;DG$Rk++t!r>(|j6}py1=1Z&vz%f<~0Q7<3v}t~qM{Vf`2I>X^hvzPjd(>aE z$*1OYNT(2C(^PSjOdNJ$_26;d97bU`#a$|$LBUYY)4cM#-Tl*e=k!n>OT5 z81a{haP6MXRW?p=5OeeOD%(fkxaU)w%o9v7e#QvL^0zhM1c3$t`Ulr2p1AQgK5O%Fat1B~6&2e@^f|B`#J%h`o)v(iGcb9GTL^llp0}+S-{6DPV4t|!t-!mgrsk9-X3ONSt zIRdc!QqyAkF03x^d{FX)naB6aM~xhtL4S+OMK|L$I;tYA#TI_B!6vNIKFtP}bl#cC)=+RA<8gvtW!tv~?U^FPD>-DpQscZXD1(@Znqeb~vHRbN^^PQnGM zwx{30(%JI7rf!r_(FL_+D{ z`W9l$eI|I|O)5}xvf(qWb=&bv-DQH9_Sr8sUzH-C1200mK|Fbz)&WMw$eoVE;VF4I z!|ZRSuYg~Td~t!598wDAh*>e>uQ}CSm(S7cQ@4LD`ELYEP6d?CoiI-|^6#w3ZW>2d zct)2Tmc&Xs{~rK98kXe}09@_k((8SIgaAOb046M{8SYCq5v+Jq z;8x}EUa0iIP;gB@Q~DGDbY~G#m41LK0N@D7tyLq@j(0Bk}dLFqCXG!=2cn&D_(_+{4yya>WjvS8DB> zU)uEdW4~mtk?>5yNWuT{LX=ZvA0Tah8|?`stby*S&j=~&Dk28U%WMcCU_F>3Wu zs&Or8^quxsW=l|tR87*KBmdeptUPR>?3C{Ftqu^Q=+@6Kb87EzKHIUFPR#KZk!Wvs zNzvEOY%hz|5;9i4Gd?=fd~|CuP7faZ=?`jKT50t*K?cLo*!XE{0A4(9GY-N)v)GEh zKa@96`(R7VnhgR$D-WIfB!cV|L*$L=r>^g-nRs<;96Q-U*Jd=Aq{n&QEGWzaY`1$G z-zuy$nJc1H4EpW~9xRRth7b(}GwolBATSFd=Y+_R0hyVREZYeIA+Ap!@6d3%2~mDY zb)(Brt0MKx+@`nExX-BW(Cq<)H92hj#ZCW7XkHst=IvqA`oV5@{}mDBAQso#(}$1_ z3J06IjTz_k7>6v|#UooGXW_uY9xA?O`-noq;+ZzoIgg%Fq7AodOPZ~gRr!iqs906r|9Ce(n~0Q}#nY!n>zM=_06)>|moz*|x2C!V zc#eb|?)F&dX=?j5LfuIPc&5pi_Wa<_v72kuP&?g!<}%GX>0yT?2hl%{aee;<*cpko z+y$*wz_sY(3<};mE*_VlCg|b&kE>(NM2bU$9&A9ym>Hdug24AGR*d`mX8$x9oQIn8 zjy}V`MU(evb1IJV8@4IsncfGpFjdXnPr`mvA#z-!GZedN=!i~yOl6wQXyGvjF8g1J z2KeYDRQDWK6>^+3r|dfIXG4_#D zw-09!pQNJ%a&*f0sYORQt!!!Ee7*+HDw^!JMrsD*Bi>?`_P<~B!In$Zk@F$Q{W0QJ zllbQ=2qN6>$fG@v><-MJ>LxN(@P?mv)^HCT-Ce=LON#({Zb3y6h;d#bQXUT9((m_-)z*_uPw%ThLC&(}d2P>;@_4LPovd3*M zkg9N^_Zrd8qQi`e@@!R8V;NLwOJ>Jk26-QsJ`!z>U9+|LvQ@qp>wY_l*0B6Kp;#WP z)@mimo=Q8jMO^#-2p~#>dKCbE9PXV4%)rPC?zeLaz3LTF>$+$9k`SSQD+zZAH;1rG zq+i<~yXQ-6qy*(Lx7y6e(4E~}jTB0~2VS5NtDDx8BAHio?&xBv5jI3b>>KkjDnAo> z?rWdI5n{MG$VJ30gl+&pt@k9!P4~oPze{5dGC8Yl`S6QaUw@hYjB1O({x>I9mPMyc zB{#1$7z`(>E)xCL%(UX#j~9T7Ge<(q6N~>%CjtRx2Hrca36zi;=wSb;nzTAHW`ous zg+_*k?3_d?13jCsbI)}7kE^DK;}2D#eWK?XD35FB`H;5%IqWY?IlgiqfAk8%U2G~r-w9`+ z4I~%?UOb)}2rOWM9QiL&lOZBwL^^D5CLp`)Xq*@#plj%9>Pz{MN%T(c;#ybZ)4s3dE*7`eGF3!)XGVmLP^CmhN_(j)P{6M@{$Ft$Esvk(ZDFlLVw z(Ln~v+IfRVmbm$JS;Bt5{ncRYo6-|HIqJP&v9)HHKf=Twoo(e+GUK^BP8)Y}(R*i4 z@R`{Dq^K8)+%^F24%%eqvgPQMzy-zo)b?DqzP>+2Yr-L^F7oc{U|_uT+U%6&k61U@ zvif4l?_4^0w7){Nstae!-7L-4yJ_D*W^jiN?52mPE7<_eZP}DF2-i0X0G>QvI}Rk^ zg86w8>^Aj|+(`B6)gWbh8D$|m8yM?c^WoR!H*Xrh5z-LOSE^wd?SJGDaSh$>4Xk(H zZV+!7c3Sk1{mTdVyS#fi+xDLja{}%!ej;rgeUts5^ z1&`cyVrnmT!j=59Ho`4B=lTqcb_Sz`!;0z61Qd9U)U+%KzDm|nab5AVs*60RZ1mtH z)TMGPJ5{ka*|nk8q1TQnwcIcY06r`pBTgd$E3CV#5W08C%+1VVJByttpue~p`-dbc znUCgXv%mg*|AsTQTJ6vL;R05|!dcH)?%oV{qOMY^ttIZjXzoOZ&*?Xrec_;gOpNj5<)(TK@X|3e_)fX>(u> z4@8C7Eh;6NF0?d@0{~t;9!HvB0V_pi$)+#%w6j+^W?3E z>%U#nGcHMwMUe5{zu>6s_c>XTv{y>afOY%V7bovup~`Rzzyiz39J6mCWJ&j9{3`xNEt#< z%nU0td8;Kc($WhDslL-*vMq78*v~WqEB*J8KGP{Z1|=DAPV)Z^0G=$K8V%Zj1?G2| zOX}V|n#d6Pkih6UL?vTvK)<;R9pQz(j2p1=)W7Z;j3jGST5BY~?W7lr4moQLib)Y-kh&8^01V#=;)XscgB?xO9A;~+ERkkG}Iw^-)J#gG%6kM@Y zYYEUJqqAu>=`JX(*i``l{yT1k6)*u8@T_)70Y`?cBh?@Rdgh=^Su_L~rWk74q2t%5 zf2_4EiAv5MBcEQ@Y=>~En6)BNoEt&o%l!4h;WPBe73jW_u5IZNj)P#7HH&Bn*&b`Z zS+1-3;La+~(Ju8q)=W_`83G%jkp7=NLh^FEn+B~^HMH3RL&Kwj&I{9Q>x`pG*&N!! z{@|ZL>a>gqTbp3V^$#;S3!3HKVbmFFw=Y!80lnM~trv5Er6~XazC4~A3;LMQBhC`- zEoo^tWE(vkX`-kU1mgYt)V3_?_OIFVxA$N8mhX{YFO_rHm|7RrJs0~qQb2jAs|5F< zGFJb_#?WCAOUUl9i7hb_lun7dLwa07Qct$EPHau15)s@92|w>&l2A`$9s|c@mx*my zks?Hd=+offvn4L*XQeIQuT~osFKpl3I!iQ9&FZ;Jy9wcO!oj26=5FME%hdWvobgBY z9*u3z(i?=DE8%80_8GedO}GL8emov05%hp&f#EMVIwI(p zPoLdtc5`3DD&M%z?_$GgesitP+%`AEi>&LWiGx-!@pS@C3^|czUjIC?%CB?qw1A{Z zGq92X@zN{f%-@-r$q(i6D4qc@sjz%cokCmD6RC*~arRlMeka<^cPk^`?!K~QY4ltP z;se@m72m*=dQd+$eR@3E6et6YY(s|UnVJOxmoCC=oIM(a)Hex9sdbQ;$LDk?%?Z+> z8-V{+0090gu8u|MWs~)Y_}A6!Av>GhBvu}~K#3!xbE2vOOLCGfi+PLqS-G2={)>(^ z%lX|=(GXvD#8$?*<5f#jnaqrPzYuDLom;(@Fz|8iR7V+|1)grXiyS*(KdKu$>l$p$ z^+K1ldi~|bC&D*}N*xOw+?dHKHbY~53yO@vFRj{HwF-GVx)L{~_BqkWWQRO2rqndoN?`k_|O@@@3>Z#bnNP z5T2EJ0~mcGlO}lzh&IrcRG;^3#ev8ES(D8 zpHgo!cO?syH-e##B}wj`W|XZLHT(b-z~wrn$kB`WYyH}S{z z1m9`6kl+ax0X~0_!5eVFHZVvaAN2Yb}-#BoIOH%R1`ep!eXBwBign} z+Owbk+>R;$zHDA+5%>Ur_eq3ay?XR+uxbgc9{qHl=j1FPU~@i~|5a-4Kc{qG?V-My zI&E$G+NEtH>f5Z+SFxIbmxdLAvSvCM4vH+);1s@YmTVr!-w9EvdR2&HmasCec}9IOyC`Y%s~-;ZT7Fp2c07CqbB|J zJH;`b@Keg^piW4H&pq=+a2L^iFuk8l1Kt*2fI9#HUQC{&4vY-wfnT-gS!_q@IJRv& z#D+kLCZh|X90O%XdM@!utUSMnE$e?RZjUskeJ)my=Y2O{EWSoV7}=Fy)&~EOfxGKtea@=9Gw?pFo$aj-Xd`rmfdC1iyerD*^maQMv3R?L zv^^Fw_XbkD@@t|t=R@M{wGxja4fx;jCmgCCB^~6YMpv zSQo5t{TFEmp&=)RUPcwmSWSG(T>VmOaidl?F~2ArLpulq-R)K1gw(CQCAs#1XB#hj za$BdsmZPfGeim^rayBA0-1%YfP7t~NQWRJf`YBi1$b6iwIWCQ;V%poXK*D~p*s?9B zYyX~3jseqBbjX5)2>Ja~g4w0DrFmYhQ5vlx0swwoo|_Il0AOF4Hf0R0bIy<)<)WvM zfj-X|mkR0nEnzG>W48X=KA0G%zV)bSW6GSuKOP|}NV({y&+;GnVp&9Vf9grleSKH*Va!zfXv$&LnZfAiT~>(9cFg_vM6q(3VKToL+N&mk?k z(`#+Q3_T?5cY7LV_d1Ff;Weg(>tWboCc{73Vlh59vtT_lIV*XC!H^l>@$N~-!juut zdRKbmYNAa5K5SmP3_Jkf*IC&JbFXx@Tp}#cyPu*#7lpv@<}WF&^p-?<3sW=4-@#vmX|no!s|_J7`k&U)s!B!99@lkRFvRS%+f6%?{sNR8(l!tw<)(wuD# z0wwR?o)@2EA*9{?f%Q2hi-`HMOtGHG+_>p3Z1u(cZ2 z-`E-eWNSa*(g#QZ06GVZDN9c!5xViLvEOp%C9Gyqy#PF-i~4}^soRsewRsOtbA zGozPDj*)>a(xyF_7VyQ??yGCk-JD%_d)~s~54_v-(_LHq=Rd=?rTqE-(L7>=K!o8E z$wy$G{#%l_>DJ!4O}$9<(7n~MQk;{xq+fhs%s7>iETJs3?ZGiA%?mz9I{htH$M3qK z_K217o@ZVglS|d;XnG(<4RbzvFGFZ0TBNKv?ijTrn5ukVz2R!)C!J&CU;!R{UPc}C0~WwO zrfQO&m5&sG2au*xj^XQ*-#n|57KE0uqk6jyqrXOYwIz(r$DS()7 z!|o0x%RO~FQgGR7xXv4QNWCO=aTceNtH)YjASs`?&gc+Yp1vP-!cVb;WYKp@N(Mw5ALA7S|s!_K0LK| zZy9Nvj(`Cj}tGx=Arh3$q0Q?(9dP0t7-$DG?2S-q)^TonmfECrQCWmp}Dp{i69 z`$!J}K1`mvY2YaU@KF>Tw5%htPQ*GIkm;wKQ6V$nIks;-Y#XnidZu@q#rI795!xd5 zocV~}FUxj9z_w$70A~-5JV+@DuKNX`PtrJW9&|%x_uYZ>v|^f1Uuf7}XtVi;>BIA8 z@s9Gxu)G$vrsGI+Dz{#LWu#!*>g!G7f0Qwr)QI)x4ODB&mMloiA`hA59aO(jkvBUv zF4*mn>`XpYP;MJ@shi?Df$)ps6=&W(Op@7FuweJ#cXH_H08eLUQvd+KX9EBL0002% zB9^QM00004QM2GIz_-1?zrn=0yTZf3x4^r*!MD7(#kE5y|uT!y|}Hio}8$h zdTw7;o^0M19U&e90Q)+L(9C)#do#T;YB{nL1g`vf|GmxY%e!sVP^~u(O-KJ-^Z&=Q zS!N?8u2&st$uDJ^7AgoGa7k!cAugLmAoF_0=;32~u8PbIWCvwt(8^K+UT1=J{n@H@ zzqF!xddLz>t*UUr7W(Sf7O5^RHMvnS-y`upz0KLknO8Yhw>R({kRMzl-o2%JikEeE z>6M;iKS|Jdv8%Oe=!AW11xe^D{F8S`L?pMPZb`tf)0Q78($6XY9&8?y34DMK*za|K zqeI9@c`>78A_exHa{6fR{b_#7()^*Zy|16ge_fKQ_1&Fsiu9Lo;K@DKrI=bBh?92Q zBK^LQk?~J?aJyHyI)2Y%Pibt3Bl*zXjhPKTM)GQ}T@_ie(Th(u8%%k0mxn`C6#M=G zbIIpuf#q!NC1*SLl`>NTHDp(UNF6SDWCd$Eqxt-ejz?2{|WRWkPp@Q3Ox zk%#7|ELQGb*`IM)$SR!wk?1ggWwmgIPU1HfvNx}DWxFg3^4Hul2(9iC(mnzJ{%fAQ z2#kOp*gp>hZHV5wXI4N1ix@503IeuPojdoCex{4UBv`%b(02*Zms5Y-e$2?``}_50 za0TD@HGQw4>rh2tEsSv(GAC&F_7RnH*)VdP|1%qz6!E+-Xa+k7=&+q1>o+`ORM`8f zZEtENQAJs?yvq>M>fgnm(cCI-2|~cxDK9d9`A>xPzGdh~l`uzmPvrR!BD2dvvlLm) zTR*gHIMnB>VGO>hKc=%{*ZR#U*_flHT1?faoWBYH-b^C)wtQA0ED*|QwRR)RuRe2#*Ls;;2- z=`rhMkNa}gM(A0fFf%p@D&bVUc;YN6@Y^t3$@iA_q5Td?2AHHFG080_D9|X$gTY3n z97#2rEFn;(xK4-gme125lSawh_FEa;EXdcEOGMgHrf8LLZEH1y?4yuH)cyfF(^1Du zc6bdCdu==?$PR#LK*4elwjUP-W1L{m{TW+%%D6}VNBLqo7c#-R3_L2E6U0?{?*(q z;}fN{tZmNi>i5%2P9wv~D=Jn7(^yBK@ari1c%E`GC{{Tn@-O2<_<1v#zQTE)`I_S7 z+ZTd#$yJo&`Lw&hR?IDv+kXea(Mnl73WVGDp%o+*%kA`Mn|m3ms9e|zjuObLzhM9X z9*d0=2$TjE$fDo7r=~l#x|XZ4&?sZ{LXad1%zq@~#@lBfPwo+h{>i~U&%R#eRNcbR zH#k%e596a1pB~l~ zhHLdDMCAbbst)M zvBnY!F$=UNWRbOMlmcNV+zeSjZPM5dn~?)D%m}gM8#^0+p@dpIUO|e)ckrhJzG`I) zETA;7Ko0#*<^@aCt?twmxl2l!r58nsTEG)|)(?rt8Hd}^!};}TlVx`OlB7Q){k(^{ z$(E94+X?*+ZBUt>G`^3`hqG>QZ}CwHDe0pBJ#XhkXJqHk;4usXe7L4%XFD2d?-f#( zNq6!)6)e0ryw~E6Ic^{vR=CukwMwJ}Qbe|BhAuWufF$r~lB1#B#P8X}Z2QH53G>|* zjs~ot8<(lv_OOqPP&69j8vo>Jp+hktyza(N3{7!7762Y91sYUf2UMsd(f5p%-Hy2n zy(|J~vXov#!GpF1tX8+0dnQY+Q}eNyI!-x);=bDy3v$w<$W|ieF}PtEUnxSLPacu4 zKO(Fkp77q}!7gNY+Mj>!m#Qgc)kj?q*tJ~FFZBwm`O$Wg4B8`#f9{M0-1SFyF=Xt# zyP#6Nd{6rH0-6zI0equ+wutrl@yI-qOSIc-$)hiDe(h(KPR!1U0HWUC-_vS(|h7q>j(E<%8q z<{Rq6v2#D5U#2(4@4Ciy-2V1jL|9ra(*2IuW+AvGXj0uGa;$wjnf!2$3GR{)^5FCn z%)HBoX{2$jlIKaTqE6z z-cd4GI9%VOfx$DCQhZq;Ivf@jRC8Ut{Du_Af7Pj77-=Sn9V{>LWpQ3qz>xsAdaG*H zhZ%nVJ!2u(Xg>L2hJ^i{+bVegoXWEYbPns4DeV#`^K$Ab7g`}@8!7oXn`HmOd+?~z zVCDFGxzS&d>{k)j`qH}HI#c1R39ebSZ6~TTMKIDZeu=aU0>lfN&O|?)J?XX4x{o^5 zn-Gzp^it9e39>;2l*gXLG|q~DBiGk;ol=_S5Z6{qlctE;uRkaUR)q?K z?2XVfZ}#STAE|93?Kx{#KH^ow0G4}gdh#ABOdscP-si^QM8JprIy~8vp=bwUjQPDh zLpBAzSt;X~7G1-hD!Z-Z01x`m2w9nVg}h!#m}8RAj9%f(u($Ugbp`yj_?h4t31lPR zK*viXK6YYn09U1ayoId+UZ@-Z0N@2w=*M$4ht6>54BI4tjHPr(<){TPZ2V+N-@H?n zq{p~eW6ioQVy_L!bAsk(SoA~rmGS7L>T$SLJY9?2#jUJc#jIz>5-_q_#_Z?;W9p!I zb4d$dQ#afG#yfJ!I=*_X`+V)&uBWbZcpjhub48s1!$De%tXK>?77HkguZWu1F64iv zhQ03(Z!1*I3RdKYW1EKeq`SoKcHu$VEbS%2l{aEajIg!L zRRl>7HGDg{u{@F6+Yvnih=m^g5vdat18n#2=w{cK+)NtJGpze+GX#~fkt`0=ISFZ;@PB#6=TgLiY{n+L5u#)#G6`^` zI?p^T__RS6?%bFiq^}=cw?_#pEWK%EGyoonR51te0y5O#;mn<(gTUD0pmhR9FFmx4 z2+RO^+pa~0@OnFDKG!n$Uemg*@)nOC1>LlyDbBTWnT-4U9zyj6^4bt9bk!an`T%D0 zM|_QIEeOy&{FJ^yJdM0O-(KzKP_D&!U(DX$r)Ev7eJX@}wq_pH-5-1y6EpK9r;(Cr zEFCDg%%S}3)|7BrJ-e_rt+k-osh;8;It1$on|-eDRP!P(){EkkVt@Ha1upYP zw&Ithih_nC!=nwMRLEjE1bj`{U(!wrKdP(_%ify3I<6C=_BlR)b>vFQl zOrFe;g>d_K+(JS9UEwt;Jke~=BpiSxsBv3a@1A)ByP4pnmyZ2#Mie`iUKLQ^4IQsR zqaOH|ckmpdm(@TXwN`hRGbjm6Xo@?J$L|&MUXe4MFREaUTR?JM-TQD6UX?g!8Z$U*#3U+)M* zk537y)Wo>yyk@%f9*(^@0rBD$qwf)w1`3PETe=Tot&AFb@JwuuNENwT=39-`I}*nS zP<~2i2VwNi!fbrU-_9`B1OOh1v?vM?V1ef2J_F&2eR39cn@J$kPx(F+1T_H5arRTW z|FW1>Pe}ikk2IKkqtDj=TlC+k(DL$2<471$p{uln*?yfP^RrxD7-CUV=2Nan7@${f zhe^H;x*B8OtLj1u4(rCKj;G^LN#$|%Ki!HYXOg?DLl0+~9 zSfPgb=;L&@-8zP7gq5(el-4*CLENh*sTlM$xX#tE%u>SNkrQZEo^*cu0Rt^2FJU z8owKNR1HR~0! zr6jvy8R_@v+Y+<@;_>e(cAme6mzZPVYd7~a-TxWPgW?7XL}BPFTOt9yxDa-01%4Ee zQgaaAgwgi&pzawPl+MirT50yV?$$@SJ^LzD`Bh;&@r1qbt79F^xTi72V`7{HnO9l@ zj+%v-8O*tl8h90G^_P-Hiv|v%m`it8Bp*|pd*=m6QYvE2BP$hA!>fOAM6Qe3IB?NU zp?&0Ecg&E+EPTh>06u68NHQ1!wO@?y8s3=|9HNfMd2=)}8ql-%&`&`c1S-UK>@wLN z#J248JsU!j{xR5G%XH*AvtAl2YcyMvdf4fYGx~(Bd126_Cf=Lc2Jg_zrL_r3k&z%P z*8~datTT*yD)rO_?bvFd(^3{Wb%?4QN^)n6FTIT=z*!kBA5kFQsT1C#LYWN*X$(O506}H^5ZWN~P7eoN!56bVeD~Z2)az zPyoJY3@8Z7AnBoo&+~*xj*b{%3u~64kupo6CdD)aXgf*!OOCbvcz0!c&U8PMCjZSO zv+#|St|MdXA~+>jNMG@a<7i62v3(haOIF+eL=Kq|R_VhN+nREfec#r${BH-BEop7Z zZs+nGL(SUJ`;=LQu(#8$2Wl|Yx)r}~Y`xyP`i!gNTg!*92}w#q=X+Wp?qs+p5FkRB z=VmrePrKphVkLVCnDn{wQUka7S>h*%u(Wr%3p5A@005q7v;h$yK!zIPlXDO3n~6 z8Y~Y$dbJ z1(Utfkd6d~jTHf-bNGfJ88@EHdOqJd^&wFZJD${OrK)QxtfvoY5|_aJy@588m- zjk}Wat)oIvJFiZ403K+}0T5il&_NBg^_)rTzTti|B-h64kSYjpKDj+Lz4g6iAFb$Z zy>9lqH(zRPPs7AF#pI2QcI{4rTV6l9(ZN2!iieSVE=aJtnb{=o=g-Lfb$xrEp{(sp z4>vbbTRNZEm*NNKxK{oA`M1;j9OEC_4u9Ur-n&i=PzA*Ik=iE(`tHs{%qT;7buOVm zy(Y8hNTq0k;tG1sQ9lYAt&voXJ3{^{c-*%62FVrlIv=rHpFdT>8#Fs zHPQw`ubEE}7xEY?kExz<^9Y5ya9|X!CVc1ge)ntqT>WDcys@nYbz@RVvC>qUCWje@ zRZ~(Fyv?HZpV1}e(x=riFk;i~!JlO@>9Wop4iU&`dod@iT9m@lYnn(Vx!7i~3K`)*EC3$!=`6Q|=iO|`_2essLuPi{t9 zcMXF?Tl~6T`4Q`c!GnyA-az#CK|BhWkMS0_VG?^Ac-kIdTFn2AO{=kN*cdS~!! zly+LAMac_prrV~T+xmj6$AOj6ZUw|j4|uRA_&He{#*V%jHfdd|`c{KI>=DDz(lmpf zK&hHoz0cfp6FKsa{CyvQcjukuYWE8OzGn z4i@l}Zr1lY>028Jh(%d!j^x&NlXaX|`cqO^uvWuv2Ps003TRQ~?Y;Ko2?S873{G*G0DlfF_66 z&@P!EptaD<^7Q@VH2c+&SC@8s+kUET&VK0vWg0GXdBC8olwo} zypYuF*%Zvs7G6&ezr=1F_Z%&sZxeQCk>3jd$@&LJcpx)TMxix@OjSKs4D!a(t;PGi ziMCN0s-vh4Evm~<9q@=2T-0*sXxb=}q?aHP1rv%jlTo}SPQ4@x&A@EN?bTQVtKc;2 z^f^)n0Dfi+2pHr8srK9~^yal%o4K-&I(KAf0(vi*CJF2;ARk)e8!~b}gVaq@{e~g_ z%S-)0RlSk>NO=xxV%XrLjHy&tx4L>Ad2m1Loi2b!&qZ|--$JpBH)a~!Mfa8SXHeY$ z2B99#nV{g$4Z>c)gH0Y?^yy_q`_)&yE^=PL)8lQ-ym`Ae1^`}Wv;hq~02nS~OyUnKeBcjl~A$Ol$)>U>o6IsB`(j7VEX2z!_ad>hQ?Ip8KAcT9*@>j$tUb1r9EU}jLpj~s zzQB*6eImBaVE1<>6zx7U(&N(+Sk?M_-drD_0U-sdzo|8%q`j68lF!f&9NX+o>(u;0 zZL;ae6jh%@OZ6zb6k9c?>q7v(m9&8l;s*+br9Af%X0wg0hdDCDCK5)bZFydbEnvL< z?l;r565W52V_beYXE^VOzI&aou&X`PmqpNJA@a3FPbzb^3F%}&yEm#@kg*!j;3;Y_ z+efggsL?XxN9>`RN6Y9-Hqv-lGQB<5b=$3l8qR8sSQGWEn}R(a$c5EDzIiA6uWZEM zCxB$Nf2AMiiHv9fMH#b!*eA}gQWJslg)8j=V>;*GoniSBOE>nksc#U_ z*j*zki^9r+!Yru+K9=;o{t*{61qsf|Qiz?`h!L9+jSWOEBT8M22xt_`I?qtkj^yhh zE~WqZzGOM2hd(%Oth=Cpdu!%-XCw{}8(BIgGznI_CrFY9lP8Tp2|%a#h3OdO013I? z&l~&6&{B(j*K!sSC$u-is;8v2-u)q(n#ofGnJh*55xyLyuAxhG-F9}Nd1tzuFoO_x zHt7nw#+-|clv!*CB)y&I-pnSySthtKZ_cU(X291bS0p}`Y||p4wFQO^-Xk-1BN;6= zB7p&#+IP^@3>gd%7B%^scDY03wwa{Mp5B*wB{8)|=|v`TWcJ)A>Rd3N$T2-+XkH3K z;k-}#&J)}=Q1R-gRrnxqr#--GOz~?iy(LJQ=c5KE1Fk)VEtX6KhOHMq25K!-U>Ap8 zTdXc10XiA4J+qgR!wy7$h2JJI_1Z5rojn^HdoV?@wBnfnUY6|Z@kgeKrdaShggPV8 zt?MJO09pHz9a#tl2zyY!k|mXWPW|1sS>Cx?Q@va%?ulG?613)1N8tUW2+>f$lrWO5 zyOspa`3(i{JE&h>iqBzU6DL+g>S3E*MP7d7!HVWYBtnh#GM0Fh#QHVG#UXsYg6X?8 zs#aP|KGD8i&Yl!m8cR46-lqnnkxS+hyX7?7&zQrrnJgv%K9<}s^A7?P#gK&iKnj^H z=E!Fzf}}+@EdUaXs3kENAiVka#H5wbvdS5fJ(gd?F%v(_;`+@otu)+KJ)QY0qbi;h zNj?4xy*N3j99&3d=mBJOnt%^4P34P$15^i-0{pzYxjkF(wxtzKq;x(G zlJ%6*=V|nf+k^mwW~4H$V?7D|CepTOezqgiN^5MS-5z-^L{&_?z3y7}0e%4mK9)Rg z#}^DF!;JR;pw*ojpat|;oF|K!0YC^j?u(qCYjRw-qiSV2f9bUs?e?hFN~63m28J{$ z>rhajpx)<*!RU$))^(kt<3#QXX+Kdjevr?7}rdz;7hEQx3F8dQ`050VxLRT z0}s`%^etvV&dl@K7Y4q5NwBF00002L1o4~xl6ph#9`+()%Mjhj$`E`C(iCl0Zzzs z-j1pvYveWryXi@)A0#<{XjQF@&>x-wcV&7+os$=Uc|KlCNOWT(xO&to{euRMFAOf5m78}990001hfc%nAD4=RfH@CO9{J@kRw4W}( z0J|44&UxK33r9d~c*)8=1ipvMs+`+a;m)-@&;WPxJ2M!7eismc1`417PiJRS00cm5 z0{{R3008SEmaGQ=0072OSY81<{*~N(uWyjW> ffGXAGM*<1Y{+O3pN`80dWl-*@#@QHvvvWuQLUe9k literal 0 HcmV?d00001 diff --git a/resources/sounds/effect/laserbig.ogg.import b/resources/sounds/effect/laserbig.ogg.import new file mode 100644 index 0000000..d11ef0f --- /dev/null +++ b/resources/sounds/effect/laserbig.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://q65xjxxq1m4j" +path="res://.godot/imported/laserbig.ogg-c68f8d84676af4ccb64c68f85992ce2d.oggvorbisstr" + +[deps] + +source_file="res://resources/sounds/effect/laserbig.ogg" +dest_files=["res://.godot/imported/laserbig.ogg-c68f8d84676af4ccb64c68f85992ce2d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/scripts/Contents/Bullets/BigLaser.gd b/scripts/Contents/Bullets/BigLaser.gd new file mode 100644 index 0000000..1ff9c51 --- /dev/null +++ b/scripts/Contents/Bullets/BigLaser.gd @@ -0,0 +1,12 @@ +extends BulletBase +class_name BigLaser + +func ai(): + rotation = (get_global_mouse_position() - position).angle() + position = launcher.texture.global_position +func applyDot(): + hitbox.disabled = true + await TickTool.millseconds(50) + hitbox.disabled = false + await TickTool.millseconds(50) + return true diff --git a/scripts/Contents/Characters/Rooster.gd b/scripts/Contents/Characters/Rooster.gd index f1f4239..f6e232b 100644 --- a/scripts/Contents/Characters/Rooster.gd +++ b/scripts/Contents/Characters/Rooster.gd @@ -11,7 +11,11 @@ func ai(): if direction.length() == 0: texture.play("idle") if Input.is_action_pressed("attack"): + cooldownUnit = 200 tryAttack(0) + elif Input.is_action_pressed("attack2"): + cooldownUnit = 6000 + tryAttack(1) if Input.is_action_just_pressed("sprint"): trySprint() if Input.is_action_just_pressed("heal"): @@ -19,8 +23,10 @@ func ai(): func attack(type): if type == 0: var weaponPos = findWeaponAnchor("normal") - # return BulletBase.generate(preload("res://components/Bullets/Pencil.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle()) return BulletBase.generate(preload("res://components/Bullets/PurpleCrystal.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle()) + elif type == 1: + var weaponPos = findWeaponAnchor("normal") + return BulletBase.generate(preload("res://components/Bullets/BigLaser.tscn"), self, weaponPos, (get_global_mouse_position() - weaponPos).angle()) func sprint(): move(Vector2( Input.get_axis("m_left", "m_right"), diff --git a/scripts/Statemachine/BulletBase.gd b/scripts/Statemachine/BulletBase.gd index 3310850..971e6c0 100644 --- a/scripts/Statemachine/BulletBase.gd +++ b/scripts/Statemachine/BulletBase.gd @@ -32,6 +32,7 @@ func _ready(): await animator.animation_finished if autoLoopAnimation: animator.play("loop") + dotLoop() func _process(_delta: float) -> void: if lifeTime > 0: if Time.get_ticks_msec() - spawnInWhen >= lifeTime: @@ -60,6 +61,9 @@ func fullPenerate(): return fields.get(FieldStore.Bullet.PENERATE) + launcher.fields.get(FieldStore.Entity.PENERATE) func timeLived(): return Time.get_ticks_msec() - spawnInWhen +func dotLoop(): + if await applyDot(): + await dotLoop() func ai(): pass @@ -67,6 +71,8 @@ func destroy(): queue_free() func spawn(): pass +func applyDot(): + pass static func generate( bullet: PackedScene, diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index ff87474..7cab8fd 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -83,7 +83,7 @@ func _physics_process(_delta: float) -> void: if isPlayer() or is_instance_valid(currentFocusedBoss): ai() move_and_slide() - storeEnergy(0.05) + storeEnergy(0.01) # 通用方法 func displace(direction: Vector2, isSprinting: bool = false):