From 54c3421aeaee1b90885fe9f47aba33719430c689 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Mon, 3 Oct 2022 16:34:06 +0200 Subject: [PATCH] Death animation and refined drop through platform --- assets/blobby/Blobby.png | Bin 0 -> 5461 bytes assets/blobby/Blobby.png.import | 35 +++ assets/blobby/blobby-spritesheett.aseprite | Bin 15383 -> 15762 bytes assets/blobby/blobby-spritesheett.png | Bin 0 -> 5469 bytes assets/blobby/blobby-spritesheett.png.import | 35 +++ .../blocks/DropThrough-Vine-Block.aseprite | Bin 2106 -> 2108 bytes .../blocks/DropThrough-Vine-Block.png | Bin 442 -> 450 bytes .../blocks/DropThrough-Vine-BlockEnd.aseprite | Bin 0 -> 562 bytes .../DropThrough-Vine-BlockEnd.aseprite.import | 26 ++ .../DropThrough-Vine-BlockEnd1.aseprite | Bin 0 -> 632 bytes ...DropThrough-Vine-BlockEnd1.aseprite.import | 26 ++ .../blocks/DropThrough-Vine-BlockEnd1.png | Bin 0 -> 243 bytes .../DropThrough-Vine-BlockEnd1.png.import | 35 +++ .../DropThrough-Vine-BlockEnd2.aseprite | Bin 0 -> 640 bytes ...DropThrough-Vine-BlockEnd2.aseprite.import | 26 ++ .../blocks/DropThrough-Vine-BlockEnd2.png | Bin 0 -> 249 bytes .../DropThrough-Vine-BlockEnd2.png.import | 35 +++ assets/environment/blocks/SlopeTest.aseprite | Bin 0 -> 649 bytes .../blocks/SlopeTest.aseprite.import | 26 ++ assets/environment/blocks/SlopeTest.png | Bin 0 -> 198 bytes .../environment/blocks/SlopeTest.png.import | 35 +++ assets/environment/blocks/SlopeTestSlow.png | Bin 0 -> 239 bytes .../blocks/SlopeTestSlow.png.import | 35 +++ src/Actors/Blobby/Blobby.gd | 28 +- src/Actors/Blobby/Blobby.tscn | 251 ++++++++++++++++-- src/Actors/Blobby/BlobbyCam.gd | 10 +- src/Actors/Blobby/BlobbyStateMachine.gd | 1 + src/Autoload/PlayerData.gd | 7 +- .../Platform/DropThroughPlatform.tscn | 65 ++++- src/Contraptions/Platform/Spring.tscn | 1 + src/Environment/AlienShipTileSet.tres | 52 +++- src/Levels/01 Level.tscn | 37 +-- 32 files changed, 704 insertions(+), 62 deletions(-) create mode 100644 assets/blobby/Blobby.png create mode 100644 assets/blobby/Blobby.png.import create mode 100644 assets/blobby/blobby-spritesheett.png create mode 100644 assets/blobby/blobby-spritesheett.png.import create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite.import create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd1.png create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd2.png create mode 100644 assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import create mode 100644 assets/environment/blocks/SlopeTest.aseprite create mode 100644 assets/environment/blocks/SlopeTest.aseprite.import create mode 100644 assets/environment/blocks/SlopeTest.png create mode 100644 assets/environment/blocks/SlopeTest.png.import create mode 100644 assets/environment/blocks/SlopeTestSlow.png create mode 100644 assets/environment/blocks/SlopeTestSlow.png.import diff --git a/assets/blobby/Blobby.png b/assets/blobby/Blobby.png new file mode 100644 index 0000000000000000000000000000000000000000..54b59be707e3f119ab6102776771ee03723e9aa5 GIT binary patch literal 5461 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 literal 0 HcmV?d00001 diff --git a/assets/blobby/Blobby.png.import b/assets/blobby/Blobby.png.import new file mode 100644 index 0000000..131b069 --- /dev/null +++ b/assets/blobby/Blobby.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Blobby.png-554d4a075b6d3934353e2891595fdca2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/blobby/Blobby.png" +dest_files=[ "res://.import/Blobby.png-554d4a075b6d3934353e2891595fdca2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/blobby/blobby-spritesheett.aseprite b/assets/blobby/blobby-spritesheett.aseprite index 74732e542a7fbee4d26b4c00d7d24d86369a6bf9..274385a3ad9f3a42a52681b6d06d81541cc445c6 100644 GIT binary patch delta 422 zcmV;X0a^Z+c#?Yul05(b;H5v22YCT)v4Q6V2dDu602m+-vu_270T@02J^%m!00000 z0001`rKbP|0AzV-ZfCRj1|KzlV*vmF`tbn(WB>pF0RR91Qvm<~1t0(b000F5{{jF2 z00000001BW8vuBmy;a){!Y~Ys1nkj4n1au;5v;%tY`{k+;FB3xB2d%_$34H&f~Aw7 zaqj#|lG1-Izm5OSlX>n4&Wg*VFW(e%cDMQ3y=*BXXu zj?NVSulY#)|IAB^qkIZNqzH9*>2 z&%%N_}>p5c6IGv=`vbpUs-Z7xgn{ayD-oH=Rk3 zpQO)g&*vSTtKD`3p`BA@q_5Qg zFV*9<=W8f$t`FX37(>ZDqR(d@beS&zUNJp?g9=pcW4f+_c#+1`jArN Q9XIL=Yw(?a0b5%e%QkPg8~^|S delta 39 vcmbPKJ-vcm+=hYS!BV@4?3Ik68ylaquuouQV31JY+nmqZ$+%g7UEUM`{|gIi diff --git a/assets/blobby/blobby-spritesheett.png b/assets/blobby/blobby-spritesheett.png new file mode 100644 index 0000000000000000000000000000000000000000..be57d8c3c238114547f3401486ca3737dc9b56b1 GIT binary patch literal 5469 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 delta 183 zcmV;o07(D55V{ZnI*|c?0lKk);06KNlVS%rf0ic3Cy|p@cenPfcb&|S^LyT6nEH4= zf_Vt5{hu1*Irlc6cAe)$_dOqQ9w@zh#K`TCP7caTd)(FI`{xq~{*;UGYnwo;cTaI9KY+x#?~C lA@_JroYpt@9_g3+mppaNq?`KkNHsi{dTXr~X9X%&mCU3oU@HIs diff --git a/assets/environment/blocks/DropThrough-Vine-Block.png b/assets/environment/blocks/DropThrough-Vine-Block.png index 82ab23e9296bee15b2f17872481b7d49a3ac0b68..53f63fccbb53efba5119d49307d11efcb29923c9 100644 GIT binary patch delta 411 zcmV;M0c8HV1HuE4F@JnXL_t(Ijg?Y8Yr`-QeG)E|2G8wO8hgqj2wj@NWC?_T$By|G z{Z07^8M_z{9!i!hnq-+wNmpT$$?A}tBIg6r1LKqK-MgnJvFX=`#W6Ok9bVs`FY^D? z&Vz4OI|sTaZs8w(n$AZUE;G#lfc^xKnP%6>;x543S@}lQ6|i zXIMausxpY%5X*ec0AYzl@xIGxxKqfzyaZ&f*}j?B&*`tj2fixB4ff5%K0bZ3G!b@D zZJoNJtdGNi!GHKLlvFRO?a_PT$VpT{s^-xFJe(<{iEvMs$SL;C#13c5*;AA?VuV;! zTgTzs8~|{(kawg&Ri*Ht z)^QsiPT+5zPUOY7Z&7x3E-_~uGSf`nDxUA(s@>E72Nc!I{%8gFF(WocRJDJ^VQ&JtHlP7FZU<@ ze{yXTtHs8GuCYt_o1dNcF-FL=Bmm$)17up#IkK=05Y~Ygmw#zVN@xuGT@3qOD+mC@ zg-IM4B{V*s9smG&v4s*EGA(H^>KU1ql*Ex?0?xCj>jSW7;gWM901W$G3uX+HpUZP& zN@!24!-cBS2*~4WOkU6@c__qyHY}9zZ;v|yKhS3$jqv> z?Jh62M{!^002ovPDHLkV1gW`y-NT9 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..d6e8ef74a7e61530544adc3eb49e02457cd1ac1e GIT binary patch literal 562 zcmcJN!7D^T9LIledF^EnPU5tav~lwGCE9GQl#AVi_OOzJ)njYlVMP*=B&GJU7bUw6 zN^V?Sl!J?-oV6TKTop&u_{>|f|A5~#pMGzq=KGn~xFM0pV@o0oC65RGWZyW>^K0O>uYhol5U+)7{WbCSWSH1fBdAoGLv*ucqPj%`?2d|ALwlshys~ z?TsB+^nEy)%fjW6GCXlzSfB9V?b-#b?2WqTv$U0DasM#~NjPk;N2E z91+A0HN23*2p!|1H5Mq4PdLfMl1U(GL`6-KYJtCnf`lbAvpTn^;=O#>s^ SV&%Zgci2ap>ms3HvAzN0;EKoq literal 0 HcmV?d00001 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import new file mode 100644 index 0000000..19e4eca --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/DropThrough-Vine-BlockEnd.aseprite-93f6ee58c7f451fae0c1132a634751f7.res" + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd.aseprite" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd.aseprite-93f6ee58c7f451fae0c1132a634751f7.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..77e6643521f6f1a247618d627304d223becf1c70 GIT binary patch literal 632 zcmcJN%PT}t9LLX?8MCpl6012)n(T~89#I~}!lR~Hj6|7fP;T-{8k8`i#zG`wELhl? z1s2M}#>OONqwz>6Hjs!-h=0KEbUydo->LikoZImw330iq6DbTSbV7(`=5Nu9 zH$^JrKk9|AzeSCSR3iatOp{DR{)szfogw9S$NXm}u~b4>WG<}8Du%6vIdIBV1TVU+ z@MO6a-tR8L_gEfWxN$&j#|HCfJ79HNHgr~JLVIx`EGg-QHuorO=(vL3pn^>Y*Kq&r z11d_0U}y`D4Nbr{O@s9=C+sT^z%{!ap453^WN;f!%~!!dr%h=bz!3lMk_Ct01nA?A zIMyiRi!7#S;)o!2sNsbaM(D&{l)?f9@(CxISTYGDjVN>`xrU`zl2 literal 0 HcmV?d00001 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import new file mode 100644 index 0000000..03344c9 --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/DropThrough-Vine-BlockEnd1.png-fb22d99cf41d10135054918fe1f77691.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd1.png-fb22d99cf41d10135054918fe1f77691.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..ecfe752e7a3ed8e1b80c73ee52b3d695e4c2be7d GIT binary patch literal 640 zcmcJN&nv@W9LJxTS!yANWt2T6IVfKvvy4S?z(EeQBxb1Xu;oW)DG8+(aZrBD!G#l- zU6ca{D+f6^2?@o;f#x8gzFr%$f57MIdG&lh&*A<0e81nR6d`W6G{V4=LL-FeXa5zw zcvEDt{-wx&kLePrIs%Mry-Y+V#a(hXN%_+;C*35Dst|>;5;m6D;h?P?E_T$wo1tQO zu{j8zj@IGFOBGyuXoKDZ1zMMVu*Fjb+gpmD#cqQR$0$^Kr(u`x4!XlC>^Z%MCs&_P zrGyCY?!no~Iq30vp|hhMjx~hfj>Q5mI^FPmVjnK9G{cZzQN0Y18h`JS14A$Y`nV&G zHOlxRiz%8oB8VMocp-%mI&l|O#R3KL2`8CYG6^J&D04hXYT<98AoQZu6&x6r@9rM?@{`6zTX6~x3Hk*#3 x^*PZdqxMWOWUH}Lov$uZx0>Hy;d)%Up7B{DPNh~kEVx>D@~4#w(QOY#zW^z=tCRo$ literal 0 HcmV?d00001 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import new file mode 100644 index 0000000..e9176a7 --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite.import @@ -0,0 +1,26 @@ +[remap] + +importer="aseprite.wizard.plugin" +type="SpriteFrames" +path="res://.import/DropThrough-Vine-BlockEnd2.aseprite-58b0f49126d8fed5bbcaa4fd67ae3fdb.res" + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.aseprite" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd2.aseprite-58b0f49126d8fed5bbcaa4fd67ae3fdb.res" ] + +[params] + +split_layers=false +exclude_layers_pattern="" +only_visible_layers=false +sheet_type="Packed" +sprite_filename_pattern="{basename}.{layer}.{extension}" +texture_strip/import_texture_strip=false +texture_strip/filename_pattern="{basename}.{layer}.Strip.{extension}" +texture_atlas/import_texture_atlas=false +texture_atlas/filename_pattern="{basename}.{layer}.Atlas.{extension}" +texture_atlas/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Atlas.{extension}" +animated_texture/import_animated_texture=false +animated_texture/filename_pattern="{basename}.{layer}.{animation}.Texture.{extension}" +animated_texture/frame_filename_pattern="{basename}.{layer}.{animation}.{frame}.Texture.{extension}" diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png new file mode 100644 index 0000000000000000000000000000000000000000..509111f8e1f85b47c1a338bb8402205e9790350c GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k#^NA%Cx&(BWL^R}n>}3|Lo_BP zm*{W$asI%810PYK zvWUuqCU3bt2T~cCyFb~-v3aZJ@wl#8zCZDM^HL#mW*}$=3S0E%NVl~;{=UyhX8-r8 z5A`mmw|%}nRq~xt?Xi^-dCX^~349M{`Fo&6Cv)Wy-f}*@*)uNq+SI+*zGHubL7ACZ qg>Qmru4N5px{vVzlLw&pTX1B&t;ucLK6Ua<5<)H literal 0 HcmV?d00001 diff --git a/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import new file mode 100644 index 0000000..f5742ab --- /dev/null +++ b/assets/environment/blocks/DropThrough-Vine-BlockEnd2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/DropThrough-Vine-BlockEnd2.png-dc687a6cab3a2739c0f2c2c547d35834.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" +dest_files=[ "res://.import/DropThrough-Vine-BlockEnd2.png-dc687a6cab3a2739c0f2c2c547d35834.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/environment/blocks/SlopeTest.aseprite b/assets/environment/blocks/SlopeTest.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..a7e989a7e197fe45b43d7bc976e23f72e8d4b1db GIT binary patch literal 649 zcmcJN%PT}t9DvVY(v$@oQOZeP3o$0q#Id}1W=iV6$5aM!KBOnb6x74?Rl_ z@NRz*zCEPF1z#z&@91HMqXiZ=roghoSZK&HLX)Wj>T8E!Rm&B$Iu&Sf-@wC*cc?Hz zIM=t}aQ_HwwA*22c^T}?9fxZM1N2l_;aTrCoSZL!|DBgi_vEc}&SKm!67DZCfyvqws1>RMMfyH+;)I+%#e~FfDA7Z-@+}U1DzEw0K v{!M?YUPtHg72D6Hh?bmPs+#q?`vm*nUtZnsW^Y#jx`n~h)z4*}Q$iB}ig!tk literal 0 HcmV?d00001 diff --git a/assets/environment/blocks/SlopeTest.png.import b/assets/environment/blocks/SlopeTest.png.import new file mode 100644 index 0000000..4d9816f --- /dev/null +++ b/assets/environment/blocks/SlopeTest.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SlopeTest.png-0a30cb72614a53dfafdb14a98f113800.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/environment/blocks/SlopeTest.png" +dest_files=[ "res://.import/SlopeTest.png-0a30cb72614a53dfafdb14a98f113800.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/environment/blocks/SlopeTestSlow.png b/assets/environment/blocks/SlopeTestSlow.png new file mode 100644 index 0000000000000000000000000000000000000000..42ff3a17651984195f4632d5e113d6bcaffd4ee8 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^20$#q!3HGv{H?nKq!^2X+?^QKos)S9+ruU{!SsUvoU;^f9r;(Hw1I!~>hHgN3gQHhB)*tYuGn`=P<0P?;O>PT z<%;tj@8vGM#B<8^%cgTDdkt+LXv(OuKWRC9r9uCpf#CubnN`gHTAWiGTr6hsP2h3= z%J{t9-ALvt+ZBtq+K-r{TAgzoUKjk4TOiu^i1F6LA2tWPEH<%6a36oou=?Q+*#uje nlMQi)3VB}W$|P^M|8tiuH$PI)SWVCj=x7E{S3j3^P6 Vector2: func handle_wallslide_movement(delta: float, direction: Vector2) -> Vector2: return calculate_wallslide_velocity(velocity, delta, direction) + func calculate_duck_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: @@ -114,6 +115,7 @@ func calculate_duck_velocity( return out_vel + func is_on_dropThrough(): var bodies: Array = $BlobbySkin.get_overlapping_bodies() for i in range(0, bodies.size()): @@ -122,6 +124,7 @@ func is_on_dropThrough(): return true return false + func calculate_grounded_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: @@ -350,13 +353,34 @@ func execute_airstrafe( func execute_movement() -> void: - velocity = move_and_slide(velocity, FLOOR_NORMAL,false, 4, 0.785398,false) + print(get_floor_angle()) + if is_equal_approx(get_floor_angle(), 0): + print("slide") + velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + else: + print("snap") + velocity = move_and_slide_with_snap(velocity, Vector2.DOWN, FLOOR_NORMAL) + if is_on_floor(): + pass + #rotate_to_ground() + + + +func rotate_to_ground() -> void: + rotation = -get_floor_angle(FLOOR_NORMAL) func die() -> void: - queue_free() + z_index = 1 + $BlobbyCam.position = position + $BlobbyCam/AnimationPlayer.play("deathCam") + $BlobbySprite/AnimationTree.active = false + $BlobbySprite/BlobbymationPlayer.play("dying") + PlayerData.is_dead = true PlayerData.deaths += 1 +func respawn() -> void: + get_tree().reload_current_scene() # This problem stems from trying to decelerate a walk # that was caused by the moving environment and not by input diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index c5da85b..76c688d 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=112 format=2] +[gd_scene load_steps=115 format=2] [ext_resource path="res://assets/blobby/blobby-effects-spritesheet.png" type="Texture" id=1] [ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=2] @@ -7,10 +7,10 @@ [ext_resource path="res://assets/meta/new_dynamicfont.tres" type="DynamicFont" id=5] [sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 12.9698, 8.9748 ) +extents = Vector2( 14.9127, 5.98593 ) [sub_resource type="StreamTexture" id=62] -load_path = "res://.import/Blobby.png-42eed5028ccb56a7415a0793b79ec61e.stex" +load_path = "res://.import/blobby-spritesheett.png-31ad471e3ad73a5f4a303e582c829ff7.stex" [sub_resource type="AnimationNodeAnimation" id=126] animation = "duckTurn" @@ -1079,6 +1079,21 @@ tracks/11/keys = { "values": [ false ] } +[sub_resource type="Animation" id=184] +resource_name = "dying" +tracks/0/type = "value" +tracks/0/path = NodePath(".:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 30 ] +} + [sub_resource type="Animation" id=6] length = 0.1 loop = true @@ -4393,6 +4408,207 @@ tracks/2/keys = { "values": [ Vector2( -1, 1 ) ] } +[sub_resource type="Animation" id=185] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotating") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ true ] +} +tracks/6/type = "value" +tracks/6/path = NodePath(".:rotation_degrees") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/7/type = "value" +tracks/7/path = NodePath(".:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} + +[sub_resource type="Animation" id=186] +resource_name = "deathCam" +length = 3.0 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 2.5 ), +"transitions": PoolRealArray( 1, 0.5 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ), Vector2( 0.002, 0.002 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0, 2.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ 0.0, 360.0 ] +} +tracks/6/type = "value" +tracks/6/path = NodePath(".:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -4 ) ] +} +tracks/7/type = "method" +tracks/7/path = NodePath("..") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 3 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "respawn" +} ] +} + [node name="Blobby" type="KinematicBody2D" groups=["player"]] collision_mask = 248 collision/safe_margin = 0.001 @@ -4406,17 +4622,18 @@ process_priority = -1 collision_mask = 254 [node name="CollisionPolygon2D" type="CollisionShape2D" parent="BlobbySkin"] -position = Vector2( 1, -8.975 ) +position = Vector2( 0.0286326, -10.0053 ) scale = Vector2( 1.03, 1.04 ) shape = SubResource( 2 ) [node name="BlobbySprite" type="Sprite" parent="."] position = Vector2( 0, -16 ) +scale = Vector2( -1, 1 ) texture = SubResource( 62 ) offset = Vector2( 1, 0 ) hframes = 6 -vframes = 5 -frame = 6 +vframes = 6 +frame = 5 __meta__ = { "_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo=" } @@ -4446,6 +4663,7 @@ anims/duckRun = SubResource( 67 ) anims/duckTurn = SubResource( 68 ) anims/ducking = SubResource( 69 ) anims/duckingLeft = SubResource( 107 ) +anims/dying = SubResource( 184 ) anims/falling = SubResource( 6 ) anims/fallingLeft = SubResource( 106 ) anims/idleTurn = SubResource( 70 ) @@ -4482,7 +4700,6 @@ anims/airstrafing = SubResource( 182 ) anims/airstrafingLeft = SubResource( 183 ) [node name="BlobbyStateEffects" type="Sprite" parent="."] -visible = false position = Vector2( 3.07106, -16.064 ) scale = Vector2( -1, 1 ) texture = ExtResource( 1 ) @@ -4491,17 +4708,13 @@ hframes = 10 frame = 8 [node name="BlobbyBody" type="CollisionShape2D" parent="." groups=["player"]] -position = Vector2( 1, -8.975 ) +position = Vector2( 0.0392303, -10.002 ) shape = SubResource( 1 ) [node name="BlobbyCam" type="Camera2D" parent="."] -position = Vector2( 70, 0 ) +rotating = true current = true zoom = Vector2( 0.75, 0.75 ) -limit_left = 0 -limit_top = 0 -limit_right = 0 -limit_bottom = 0 drag_margin_h_enabled = true drag_margin_v_enabled = true drag_margin_left = 0.05 @@ -4513,6 +4726,10 @@ script = ExtResource( 2 ) [node name="ShiftTween" type="Tween" parent="BlobbyCam"] +[node name="AnimationPlayer" type="AnimationPlayer" parent="BlobbyCam"] +anims/RESET = SubResource( 185 ) +anims/deathCam = SubResource( 186 ) + [node name="BlobbyStateMachine" type="Node" parent="."] script = ExtResource( 3 ) @@ -4542,13 +4759,13 @@ position = Vector2( 0, -1 ) [node name="LeftWallRaycast" type="Node2D" parent="WallRaycasts"] [node name="Left_Wallcast1" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"] -position = Vector2( -12, -10.686 ) +position = Vector2( -11.9763, -5 ) enabled = true cast_to = Vector2( -1.5, 0 ) collision_mask = 56 [node name="Left_Wallcast2" type="RayCast2D" parent="WallRaycasts/LeftWallRaycast"] -position = Vector2( -12, -1.942 ) +position = Vector2( -11.9763, 5 ) enabled = true cast_to = Vector2( -1.5, 0 ) collision_mask = 56 @@ -4556,14 +4773,14 @@ collision_mask = 56 [node name="RightWallRaycast" type="Node2D" parent="WallRaycasts"] [node name="Right_Wallcast1" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"] -position = Vector2( 14, -10.686 ) +position = Vector2( 12.0551, -5 ) enabled = true exclude_parent = false cast_to = Vector2( 1.5, 0 ) collision_mask = 56 [node name="Right_Wallcast2" type="RayCast2D" parent="WallRaycasts/RightWallRaycast"] -position = Vector2( 14, -1.942 ) +position = Vector2( 12.0551, 5 ) enabled = true exclude_parent = false cast_to = Vector2( 1.5, 0 ) diff --git a/src/Actors/Blobby/BlobbyCam.gd b/src/Actors/Blobby/BlobbyCam.gd index d4ac0df..10ebe11 100644 --- a/src/Actors/Blobby/BlobbyCam.gd +++ b/src/Actors/Blobby/BlobbyCam.gd @@ -15,8 +15,9 @@ onready var original_y_zoom = zoom.y func _ready(): _set_boundaries() -func _process(_delta: float) -> void: - _adapt_to_movement() +func _physics_process(_delta: float) -> void: + if(!PlayerData.is_dead): + _adapt_to_movement() prev_camera_pos = get_camera_position() func _set_boundaries(): @@ -72,4 +73,7 @@ func _adapt_to_movement(): Tween.TRANS_SINE, Tween.EASE_OUT ) - tween.start() \ No newline at end of file + tween.start() + +func _death_cam(): + pass \ No newline at end of file diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 6c590f4..48928cd 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -25,6 +25,7 @@ func _ready(): add_state("fall") add_state("wallslide") state = states.idle + PlayerData.is_dead = false set_state(states.idle) diff --git a/src/Autoload/PlayerData.gd b/src/Autoload/PlayerData.gd index d4948f3..45518ec 100644 --- a/src/Autoload/PlayerData.gd +++ b/src/Autoload/PlayerData.gd @@ -6,6 +6,8 @@ signal player_died #TODO Easteregg pls var score: = 0 setget set_score var deaths: = 0 setget set_deaths +var is_dead: = false setget set_dead + func reset() -> void: score = 0 @@ -18,4 +20,7 @@ func set_score(value: int) -> void: func set_deaths(value: int) -> void: deaths = value - emit_signal("player_died") + #emit_signal("player_died") + +func set_dead(value: bool) -> void: + is_dead = value \ No newline at end of file diff --git a/src/Contraptions/Platform/DropThroughPlatform.tscn b/src/Contraptions/Platform/DropThroughPlatform.tscn index 7d813d9..d4639c1 100644 --- a/src/Contraptions/Platform/DropThroughPlatform.tscn +++ b/src/Contraptions/Platform/DropThroughPlatform.tscn @@ -1,12 +1,17 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://assets/environment/blocks/DropThrough-Vine-Block.png" type="Texture" id=1] +[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd1.png" type="Texture" id=2] +[ext_resource path="res://assets/environment/blocks/DropThrough-Vine-BlockEnd2.png" type="Texture" id=3] -[sub_resource type="OccluderPolygon2D" id=3] -polygon = PoolVector2Array( 0, 0, 24, 0, 24, 12, 0, 12 ) +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 24, 0, 0, 0, 0, 0, 24, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=4] -points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 12, 0, 8, 0, 8, 0, 12, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 5, 0, 0, 0, 0, 0 ) [sub_resource type="TileSet" id=2] 0/name = "DropThrough-Vine-Block.png 0" @@ -16,27 +21,69 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) 0/region = Rect2( 0, 0, 24, 12 ) 0/tile_mode = 0 0/occluder_offset = Vector2( 0, 0 ) -0/occluder = SubResource( 3 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 4 ) +0/shape = SubResource( 3 ) 0/shape_one_way = true 0/shape_one_way_margin = 1.0 0/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": true, "one_way_margin": 1.0, -"shape": SubResource( 4 ), +"shape": SubResource( 3 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 0/z_index = 0 +1/name = "DropThrough-Vine-BlockEnd1.png 1" +1/texture = ExtResource( 2 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 0, 0, 12, 12 ) +1/tile_mode = 0 +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape = SubResource( 6 ) +1/shape_one_way = true +1/shape_one_way_margin = 1.0 +1/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": true, +"one_way_margin": 1.0, +"shape": SubResource( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +1/z_index = 0 +2/name = "DropThrough-Vine-BlockEnd2.png 2" +2/texture = ExtResource( 3 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 0, 0, 12, 12 ) +2/tile_mode = 0 +2/occluder_offset = Vector2( 0, 0 ) +2/navigation_offset = Vector2( 0, 0 ) +2/shape_offset = Vector2( 0, 0 ) +2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +2/shape = SubResource( 5 ) +2/shape_one_way = true +2/shape_one_way_margin = 1.0 +2/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": true, +"one_way_margin": 1.0, +"shape": SubResource( 5 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +2/z_index = 0 [node name="DropThroughPlatform" type="TileMap"] tile_set = SubResource( 2 ) -cell_size = Vector2( 24, 24 ) +cell_size = Vector2( 12, 12 ) cell_quadrant_size = 8 cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) collision_layer = 128 collision_mask = 128 format = 1 +tile_data = PoolIntArray( -65510, 1, 0, -65509, 0, 0, -65507, 2, 0 ) diff --git a/src/Contraptions/Platform/Spring.tscn b/src/Contraptions/Platform/Spring.tscn index 32ae85c..dc495a7 100644 --- a/src/Contraptions/Platform/Spring.tscn +++ b/src/Contraptions/Platform/Spring.tscn @@ -34,6 +34,7 @@ collision_mask = 41 [node name="CollisionShape2D" type="CollisionShape2D" parent="SpringBody"] position = Vector2( 0.00390673, 0 ) shape = SubResource( 1 ) +one_way_collision = true [node name="EnteringVelocityDetector" type="Area2D" parent="."] position = Vector2( 0, -3.04889 ) diff --git a/src/Environment/AlienShipTileSet.tres b/src/Environment/AlienShipTileSet.tres index b7f70fb..f66b0f6 100644 --- a/src/Environment/AlienShipTileSet.tres +++ b/src/Environment/AlienShipTileSet.tres @@ -1,10 +1,12 @@ -[gd_resource type="TileSet" load_steps=10 format=2] +[gd_resource type="TileSet" load_steps=14 format=2] [ext_resource path="res://assets/environment/blocks/Alien-ship1-Edge-Unanimated.png" type="Texture" id=1] [ext_resource path="res://assets/environment/blocks/Alien-ship1-innerPart-Unanimated.png" type="Texture" id=2] [ext_resource path="res://assets/environment/blocks/alienShip1EdgePartTile/alienShip1EdgePartTile.tres" type="Texture" id=3] [ext_resource path="res://assets/environment/blocks/alienShip1innerPartTile/alienShip1InnerPart.tres" type="Texture" id=4] [ext_resource path="res://assets/environment/blocks/Alien-ship1-Edge-DropThrough-Unanimated.png" type="Texture" id=5] +[ext_resource path="res://assets/environment/blocks/SlopeTest.png" type="Texture" id=6] +[ext_resource path="res://assets/environment/blocks/SlopeTestSlow.png" type="Texture" id=7] [sub_resource type="ConvexPolygonShape2D" id=7] points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) @@ -18,6 +20,12 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) [sub_resource type="ConvexPolygonShape2D" id=10] points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 24, 0, 24, 0, 24, 24, 0, 24 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 24, 12, 48, 0, 48, 24, 0, 24 ) + [resource] 0/name = "alienShip1EdgePartTile.tres 0" 0/texture = ExtResource( 3 ) @@ -117,3 +125,45 @@ points = PoolVector2Array( 0, 0, 24, 0, 24, 0, 0, 0 ) "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 4/z_index = 0 +5/name = "SlopeTest.png 5" +5/texture = ExtResource( 6 ) +5/tex_offset = Vector2( 0, 0 ) +5/modulate = Color( 1, 1, 1, 1 ) +5/region = Rect2( 0, 0, 24, 24 ) +5/tile_mode = 0 +5/occluder_offset = Vector2( 0, 0 ) +5/navigation_offset = Vector2( 0, 0 ) +5/shape_offset = Vector2( 0, 0 ) +5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +5/shape = SubResource( 11 ) +5/shape_one_way = false +5/shape_one_way_margin = 1.0 +5/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +5/z_index = 0 +6/name = "SlopeTestSlow.png 6" +6/texture = ExtResource( 7 ) +6/tex_offset = Vector2( 0, 0 ) +6/modulate = Color( 1, 1, 1, 1 ) +6/region = Rect2( 0, 0, 48, 24 ) +6/tile_mode = 0 +6/occluder_offset = Vector2( 0, 0 ) +6/navigation_offset = Vector2( 0, 0 ) +6/shape_offset = Vector2( 0, 0 ) +6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +6/shape = SubResource( 12 ) +6/shape_one_way = false +6/shape_one_way_margin = 1.0 +6/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +6/z_index = 0 diff --git a/src/Levels/01 Level.tscn b/src/Levels/01 Level.tscn index b73f51d..2bb76e6 100644 --- a/src/Levels/01 Level.tscn +++ b/src/Levels/01 Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] @@ -11,6 +11,7 @@ [ext_resource path="res://src/Levels/Grass Test Level.tscn" type="PackedScene" id=9] [ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=10] [ext_resource path="res://src/Contraptions/Platform/DropThroughPlatform.tscn" type="PackedScene" id=11] +[ext_resource path="res://src/Contraptions/Platform/Spring.tscn" type="PackedScene" id=12] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -29,34 +30,9 @@ wait_time = 20.0 position = Vector2( -60, -3.8147e-06 ) scale = Vector2( 0.878906, 0.936025 ) -[node name="CollisionPolygon2D" parent="Blobby/BlobbySkin" index="0"] -position = Vector2( 0.0286326, -10.0053 ) - -[node name="BlobbySprite" parent="Blobby" index="1"] -scale = Vector2( -1, 1 ) -frame = 5 - [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 4 ) -[node name="BlobbyStateEffects" parent="Blobby" index="3"] -visible = true - -[node name="BlobbyBody" parent="Blobby" index="4"] -position = Vector2( 0.0392303, -10.002 ) - -[node name="Left_Wallcast1" parent="Blobby/WallRaycasts/LeftWallRaycast" index="0"] -position = Vector2( -11.9763, -5 ) - -[node name="Left_Wallcast2" parent="Blobby/WallRaycasts/LeftWallRaycast" index="1"] -position = Vector2( -11.9763, 5 ) - -[node name="Right_Wallcast1" parent="Blobby/WallRaycasts/RightWallRaycast" index="0"] -position = Vector2( 12.0551, -5 ) - -[node name="Right_Wallcast2" parent="Blobby/WallRaycasts/RightWallRaycast" index="1"] -position = Vector2( 12.0551, 5 ) - [node name="Collectibles" type="Node2D" parent="."] [node name="Coin" parent="Collectibles" instance=ExtResource( 6 )] @@ -91,7 +67,7 @@ cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) collision_layer = 8 collision_mask = 8 format = 1 -tile_data = PoolIntArray( -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 1610612736, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 1610612739, 0, -65542, -1610612734, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 1610612739, 0, -6, -1610612736, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 1610612739, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0 ) +tile_data = PoolIntArray( -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 1610612736, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 1610612739, 0, -65542, -1610612734, 0, -131066, 6, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 1610612739, 0, -6, -1610612736, 0, -65533, 5, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 1610612739, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0 ) [node name="Spikes" parent="TileMap" instance=ExtResource( 3 )] position = Vector2( 708, 12 ) @@ -112,10 +88,10 @@ position = Vector2( 1212, -36 ) position = Vector2( 1236, -36 ) [node name="Spikes3" parent="TileMap" instance=ExtResource( 3 )] -position = Vector2( 684, 12 ) +position = Vector2( 8, -16 ) [node name="DropThroughPlatform" parent="." instance=ExtResource( 11 )] -tile_data = PoolIntArray( -131072, 0, 0, -65512, 0, 0, -65511, 0, 0 ) +tile_data = PoolIntArray( ) [node name="TreeWhyButtons" parent="." instance=ExtResource( 8 )] position = Vector2( -108, -7 ) @@ -144,6 +120,9 @@ next_scene = ExtResource( 9 ) [node name="GameplaySignalManager" type="Node2D" parent="."] script = ExtResource( 10 ) +[node name="Spring" parent="." instance=ExtResource( 12 )] +position = Vector2( 272, -72 ) + [connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"] [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"]