86 Commits
Author SHA1 Message Date
TheRailGoat 656026aa09 Minor Level Tweaks +Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-29 23:07:44 -05:00
TheRailGoat 43b38b2428 Saw updates + experimental new level
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-28 23:28:40 -05:00
TheRailGoat 3b0b981337 Swinging Saws (plus prototype level select)
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-25 22:51:51 -05:00
TheRailGoat 4fd5347f85 More Meat Boys
ci/woodpecker/push/woodpecker Pipeline was successful
Ah, just pick one.
2026-10-19 21:01:05 -05:00
TheRailGoat 4cb37c624d Meat Boy Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-19 20:52:34 -05:00
Debugman c40cbc4574 web_art
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:55:59 -05:00
TheRailGoat 6d428ea773 New Pirate Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:51:08 -05:00
TheRailGoat 1b6d1bd09c Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:28:24 -05:00
Debugman 78d1c205de Update .gitignore
ci/woodpecker/push/woodpecker Pipeline was canceled
2026-10-18 23:28:18 -05:00
TheRailGoat 90b8cf1ca5 More Hats! 2026-10-18 23:28:15 -05:00
Debugman 83ed18c332 Hats
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:18:25 -05:00
yagigreg f79772cec3 Merge branch 'main' of ssh://git.egg:2222/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:04:00 -05:00
TheRailGoat 2efad0d7e8 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:03:07 -05:00
TheRailGoat 20f58f89ca ??? 2026-10-18 23:03:02 -05:00
Debugman 105931a173 Wizard1
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:02:23 -05:00
yagigreg 0b68c7beb0 Add floor to quadrant c to help alleviate teleportal wonkiness 2026-10-18 23:01:54 -05:00
Debugman 04a643e140 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 23:01:30 -05:00
Debugman 50566f8ee8 Push it real good 2026-10-18 23:01:23 -05:00
TheRailGoat 3abf25e1a0 Wizard Hat
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 22:59:28 -05:00
yagigreg a950e2b15f Merge branch 'main' of ssh://git.egg:2222/NanoYagi/JumpRopeOldTech 2026-10-18 22:50:01 -05:00
Debugman 5af8efa2d4 Favicon
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 22:27:33 -05:00
yagigreg 92f0cb57c0 Remove hidden teleportal class.
It doesn't do anything that the hidden group doesn't already, since the hidden logic is done in the player.
Also, hidden teleportal inherited the relative position bug that was since fixed in the regular one.
2026-10-18 21:57:35 -05:00
yagigreg 6848bd3d79 Merge branch 'main' of ssh://git.egg:2222/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:42:05 -05:00
TheRailGoat e363e614e7 Update world.tscn
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:45:45 -05:00
yagigreg abfb8002af Tweak quadrant C some more, add debug mode warp portals 2026-10-18 21:41:22 -05:00
Debugman 233bbcfacf Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:37:23 -05:00
Debugman 30b2ec013e Added hats 2026-10-18 21:37:11 -05:00
zozieee b86decec25 Update intro.gd
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:34:10 -05:00
Debugman ca04b528bc Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:16:08 -05:00
Debugman c3fd30b03c Less accidental crouching 2026-10-18 21:16:01 -05:00
TheRailGoat 97db316493 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:11:11 -05:00
TheRailGoat 7dac88aba2 More Saw Stuff 2026-10-18 21:10:30 -05:00
zozieee 821cdf28fd Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 21:04:01 -05:00
zozieee ad7bd76027 level design 2026-10-18 21:03:53 -05:00
Debugman 722f600b20 Level stuff
ci/woodpecker/push/woodpecker Pipeline was canceled
2026-10-18 21:03:50 -05:00
Debugman 7f899d56b4 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 20:43:20 -05:00
Debugman 4bf090754c Arrow keys 2026-10-18 20:43:14 -05:00
Debugman a673218fa9 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 20:38:40 -05:00
Debugman 12ed9ae894 Music while meditating 2026-10-18 20:38:29 -05:00
yagigreg 0a2c8211fd Fix teleporting from teleportals that are nested in a node, by using global position rather than relative position.
ci/woodpecker/push/woodpecker Pipeline was canceled
2026-10-18 20:34:31 -05:00
zozieee 3a8b18f821 story updates
ci/woodpecker/push/woodpecker Pipeline was successful
added reddit comic
edited and formatted epilogue
2026-10-18 20:30:34 -05:00
TheRailGoat f94d68efef Saws!
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 20:13:23 -05:00
yagigreg d1fb937a93 Add a "hidden in editor" group that causes all nodes in that group to be shown when the level loads.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:56:00 -05:00
yagigreg 457c6df5c0 Merge branch 'disk_3_zone'
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:51:48 -05:00
Debugman b535b67b9e Show world
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:55:55 -05:00
Debugman ecb1ac779a Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:46:02 -05:00
Debugman d9c0167b36 Spread disks around 2026-10-18 19:45:53 -05:00
yagigreg 5963dd8441 Merge branch 'main' into disk_3_zone 2026-10-18 19:45:33 -05:00
yagigreg c28463320a Teleportal fun 2026-10-18 19:41:03 -05:00
TheRailGoat 6eb19de382 New Saw Sprites
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:33:04 -05:00
Debugman 90bf329802 Smaller notepad
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:30:04 -05:00
yagigreg bafdae2cfd Merge remote-tracking branch 'origin' into disk_3_zone 2026-10-18 19:19:04 -05:00
yagigreg 5c8dccf9d7 Reduce scope of disk 3 quadrant, and make the hidden moving block also visible in editor. 2026-10-18 19:18:36 -05:00
Debugman 3fd117857c Text box art
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 19:04:09 -05:00
yagigreg 7072ddb73d initial stab at disk 3 area.
Also made hidden items visible by default since they will become hidden when the game starts anyway. This way they are visible in the editor.
2026-10-18 18:49:32 -05:00
Debugman 82ae4dfc7f Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 18:44:15 -05:00
Debugman 22abac2f11 Fixed moving blocks 2026-10-18 18:43:49 -05:00
TheRailGoat b35880212e Disk 2 Update
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 17:32:43 -05:00
Debugman e7e33fa481 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 17:20:03 -05:00
Debugman 2342c5b372 Improved moving platform 2026-10-18 17:19:50 -05:00
TheRailGoat b9f972f713 Tablet 2 Section Update
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 17:14:49 -05:00
zozieee 8aa0978aa0 change to niceGoat image
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 17:02:32 -05:00
debugman18 7bcdfb1f7a Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 16:51:11 -05:00
debugman18 8fa42abc6f Moving block added (buggy) 2026-10-18 16:10:14 -05:00
TheRailGoat 957bda4dc7 More Level
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 16:05:20 -05:00
debugman18 0209b1d02e Leap of faith sign
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 16:00:29 -05:00
debugman18 cf23f23e2e Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:54:21 -05:00
debugman18 f7f999abc5 Made meditation tutorial easier 2026-10-18 15:54:14 -05:00
yagigreg 008b2d2490 Adjust margin of objectives notepad.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:51:09 -05:00
yagigreg 9251a1dff6 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:48:20 -05:00
yagigreg 7c7a123f97 Add notepad background for objectives display and use a handwriting-like font. 2026-10-18 15:47:45 -05:00
debugman18 83026394fc Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:32:15 -05:00
debugman18 0bbc0d7c86 Fixed sign text 2026-10-18 15:32:09 -05:00
yagigreg 8f83d8b811 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:19:57 -05:00
debugman18 d1ee33e006 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:19:38 -05:00
yagigreg 0f7c52b776 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech 2026-10-18 15:19:03 -05:00
yagigreg 85847e3340 Add slight delay to opening the OC so we can see the sarco open. 2026-10-18 15:18:41 -05:00
debugman18 36fdee8182 Added directional signs 2026-10-18 15:17:49 -05:00
TheRailGoat 54ef522ee5 Extra Sarco
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:17:38 -05:00
yagigreg 05fb9fd89d Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 15:02:20 -05:00
yagigreg 741600b2ce Dynamically adjust E/Space hint in Old Computer depending on input mode. 2026-10-18 15:00:43 -05:00
zozieee 838e0d3b85 added end comic art
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:59:18 -05:00
debugman18 3ebe7d57f9 Dialogue visibility toggled
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:54:47 -05:00
debugman18 da73fd142e Smaller font
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:53:33 -05:00
debugman18 0f206ea46e Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 14:51:12 -05:00
debugman18 6a7a52da08 New font 2026-10-18 14:51:04 -05:00
123 changed files with 4659 additions and 302 deletions

No files matched your search

+2
View File
@@ -1,3 +1,5 @@
# Godot 4+ specific ignores # Godot 4+ specific ignores
.godot/ .godot/
/android/ /android/
/web_released
/web_released
+4 -2
View File
@@ -35,10 +35,12 @@ anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = 83.0 offset_left = 83.0
offset_top = 301.0 offset_top = 306.0
offset_right = -77.0 offset_right = -77.0
offset_bottom = -227.0 offset_bottom = -246.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
bbcode_enabled = true bbcode_enabled = true
fit_content = true fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://u2pls12umjb4" uid="uid://wbtg6085ukle"
path="res://.godot/imported/index.png-4e9e8d383724ead390b9cd460dfa0229.ctex" path="res://.godot/imported/FE0031B4.jpg-22e832d7b8cf85d577d1d3994d8e3ce0.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://web_released/index.png" source_file="res://FE0031B4.jpg"
dest_files=["res://.godot/imported/index.png-4e9e8d383724ead390b9cd460dfa0229.ctex"] dest_files=["res://.godot/imported/FE0031B4.jpg-22e832d7b8cf85d577d1d3994d8e3ce0.ctex"]
[params] [params]
+1 -1
View File
@@ -101,6 +101,6 @@ text = "[center]>> PharaOS 2000 Boot Sequence
>> [color=red]WARN[/color]: Detected anomalies! >> [color=red]WARN[/color]: Detected anomalies!
>> [color=red]WARN[/color]: Memory integrity at [color=red]%d%%[/color]! >> [color=red]WARN[/color]: Memory integrity at [color=red]%d%%[/color]!
>> [color=green]User[/color]: Please load backup data disk ([color=green]1 of 4[/color]) >> [color=green]User[/color]: Please load backup data disk ([color=green]1 of 4[/color])
>> [color=#4278ff]Player[/color]: Press [color=#4278ff]interact [E][/color] or [color=#4278ff]jump [Space][/color] to exit." >> [color=#4278ff]Player[/color]: Press [color=#4278ff]interact [{INTERACT}][/color] or [color=#4278ff]jump [{JUMP}][/color] to exit."
fit_content = true fit_content = true
vertical_alignment = 1 vertical_alignment = 1
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bexc8mxf4wunh" uid="uid://dbjb5a353bq5p"
path="res://.godot/imported/index.icon.png-cd84f171887b41d406500683c840dd56.ctex" path="res://.godot/imported/+Y6tTX.png-727916852968e76cc993d8b7d6d6d93a.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://web_released/index.icon.png" source_file="res://art/+Y6tTX.png"
dest_files=["res://.godot/imported/index.icon.png-cd84f171887b41d406500683c840dd56.ctex"] dest_files=["res://.godot/imported/+Y6tTX.png-727916852968e76cc993d8b7d6d6d93a.ctex"]
[params] [params]
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgyp2d3phoeqd"
path="res://.godot/imported/CwIZf+.png-d1acec1f682e0950ce7b5cc0bfb297db.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/CwIZf+.png"
dest_files=["res://.godot/imported/CwIZf+.png-d1acec1f682e0950ce7b5cc0bfb297db.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cluf02f4cbby5" uid="uid://dcyvfmgsg1nm5"
path="res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.ctex" path="res://.godot/imported/cap1.png-fc21e6cc068913c32843c2c7ea1072d3.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://art/saw4.png" source_file="res://art/hats/cap1.png"
dest_files=["res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.ctex"] dest_files=["res://.godot/imported/cap1.png-fc21e6cc068913c32843c2c7ea1072d3.ctex"]
[params] [params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://yfsrxlyjud4t"
path="res://.godot/imported/hat_pirate.png-80de1beb90325d56da29d3964ab05f41.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/hat_pirate.png"
dest_files=["res://.godot/imported/hat_pirate.png-80de1beb90325d56da29d3964ab05f41.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0sasam50end2"
path="res://.godot/imported/meatboy1.png-d06dfded7f5d860bfd690ed307415e07.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy1.png"
dest_files=["res://.godot/imported/meatboy1.png-d06dfded7f5d860bfd690ed307415e07.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfqdhwfoqlwy"
path="res://.godot/imported/meatboy2.png-bf250d529a9f88dbbd30439e9acead90.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy2.png"
dest_files=["res://.godot/imported/meatboy2.png-bf250d529a9f88dbbd30439e9acead90.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://donreb0qheu16"
path="res://.godot/imported/meatboy3.png-a2941ef2fc3948671036a07f525032ab.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy3.png"
dest_files=["res://.godot/imported/meatboy3.png-a2941ef2fc3948671036a07f525032ab.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnxgew788j5y"
path="res://.godot/imported/meatboy4.png-1b02cf586297202cfeafe72bb5606f1e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/meatboy4.png"
dest_files=["res://.godot/imported/meatboy4.png-1b02cf586297202cfeafe72bb5606f1e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qm5i00us5qaf"
path="res://.godot/imported/pickup_sprite.png-9ccf730289cc3dabf540e4bf37dff84b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/pickup_sprite.png"
dest_files=["res://.godot/imported/pickup_sprite.png-9ccf730289cc3dabf540e4bf37dff84b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3tqa3wkd5kf0"
path="res://.godot/imported/pope1.png-cad83b64a1f36e0b89fa07729920a666.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/pope1.png"
dest_files=["res://.godot/imported/pope1.png-cad83b64a1f36e0b89fa07729920a666.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chpue8w8jicmd"
path="res://.godot/imported/wizard1.png-45a9eeec5a2f111970eb5e1ad17b4526.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/wizard1.png"
dest_files=["res://.godot/imported/wizard1.png-45a9eeec5a2f111970eb5e1ad17b4526.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cdjuphq2uwxpy"
path="res://.godot/imported/wizard2.png-19319b0dd95a8e0ef4163ec961dadcb2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/hats/wizard2.png"
dest_files=["res://.godot/imported/wizard2.png-19319b0dd95a8e0ef4163ec961dadcb2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

@@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bf3kv2cgp3joy" uid="uid://wfsj2b8bpr56"
path="res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.ctex" path="res://.godot/imported/ie382o.png-08c93a780308d3a3514a4445a6140b23.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://art/saw5.png" source_file="res://art/ie382o.png"
dest_files=["res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.ctex"] dest_files=["res://.godot/imported/ie382o.png-08c93a780308d3a3514a4445a6140b23.ctex"]
[params] [params]
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l431ym5nib7x"
path="res://.godot/imported/notepad.png-c581b10e362aca42d2db61b666a08797.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/notepad.png"
dest_files=["res://.godot/imported/notepad.png-c581b10e362aca42d2db61b666a08797.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 588 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 664 B

After

Width:  |  Height:  |  Size: 578 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

After

Width:  |  Height:  |  Size: 575 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 638 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d22jcb3da431q"
path="res://.godot/imported/saw_chain.png-426bf95addbff87985501cf0b0665d08.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw_chain.png"
dest_files=["res://.godot/imported/saw_chain.png-426bf95addbff87985501cf0b0665d08.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfpi3jyp8rd0s"
path="res://.godot/imported/sign_arrow_right.png-40468b9a55319624f818ed21cb6386f8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/sign_arrow_right.png"
dest_files=["res://.godot/imported/sign_arrow_right.png-40468b9a55319624f818ed21cb6386f8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cq45l4dyop82b"
path="res://.godot/imported/sign_arrow_up.png-816fec318034c69092d9aa1cbda07b03.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/sign_arrow_up.png"
dest_files=["res://.godot/imported/sign_arrow_up.png-816fec318034c69092d9aa1cbda07b03.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cex4bvshv8q67"
path="res://.godot/imported/Endcomic.png-3ac3eb121fb3372be1133132c6d90e78.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Endcomic.png"
dest_files=["res://.godot/imported/Endcomic.png-3ac3eb121fb3372be1133132c6d90e78.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6pasbohqevvg"
path="res://.godot/imported/Obsessing.png-8b0f509d4e389e6ea44984fd546a9050.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Obsessing.png"
dest_files=["res://.godot/imported/Obsessing.png-8b0f509d4e389e6ea44984fd546a9050.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/high_quality_mode=0
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
mipmaps/preserve_alpha_test_coverage=false
mipmaps/alpha_test_threshold=0.5
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

-1
View File
@@ -9,7 +9,6 @@ func _process(delta: float) -> void:
pass pass
func on_contact(body: Node2D) -> void: func on_contact(body: Node2D) -> void:
print(body)
$AudioStreamPlayer2D.play() $AudioStreamPlayer2D.play()
visible = false visible = false
%Player2D.coins += 1 %Player2D.coins += 1
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://1wpbevbqjvxc"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_4o75i"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="DoubleBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(2, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_4o75i")
region_enabled = true
region_rect = Rect2(-32, -16, 32, 16)
Binary file not shown.
+36
View File
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://upa4xcblk35i"
path="res://.godot/imported/Micro5-Regular.ttf-bc5bffc0a2947a58905bf45b54935fbd.fontdata"
[deps]
source_file="res://fonts/Micro5-Regular.ttf"
dest_files=["res://.godot/imported/Micro5-Regular.ttf-bc5bffc0a2947a58905bf45b54935fbd.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
modulate_color_glyphs=false
hinting=3
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (c) 2011 by Ralph du Carrois, with Reserved Font Name 'Finger Paint' Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-micro)
This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: This license is copied below, and is also available with a FAQ at:
+20
View File
@@ -0,0 +1,20 @@
extends Node2D
@export var hat_type:= ""
var hat_texture = load("res://art/hats/" + str(hat_type) + ".png")
func _ready() -> void:
hat_texture = load("res://art/hats/" + str(hat_type) + ".png")
func _process(delta: float) -> void:
pass
func on_contact(body: Node2D) -> void:
print("BODY: " + str(body))
%Player2D/HatSound.play()
visible = false
%Player2D/Sprite2D/HatSprite.texture = hat_texture
%Player2D/Sprite2D/HatSprite.show()
await get_tree().create_timer(0.2).timeout
queue_free()
+1
View File
@@ -0,0 +1 @@
uid://47y55iry2pd6
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://bnuiagw3bblfh"]
[ext_resource type="Script" uid="uid://47y55iry2pd6" path="res://hat_pickup.gd" id="1_fs7cl"]
[ext_resource type="Texture2D" uid="uid://qm5i00us5qaf" path="res://art/hats/pickup_sprite.png" id="2_fs7cl"]
[sub_resource type="CircleShape2D" id="CircleShape2D_y0cpo"]
[node name="HatPickup" type="Node2D" unique_id=1739014101]
script = ExtResource("1_fs7cl")
[node name="HatSprite" type="Sprite2D" parent="." unique_id=813041394]
position = Vector2(0, -8)
texture = ExtResource("2_fs7cl")
[node name="Area2D" type="Area2D" parent="." unique_id=726438646]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=278855113]
position = Vector2(0, -7)
shape = SubResource("CircleShape2D_y0cpo")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
-1
View File
@@ -9,7 +9,6 @@ func _process(delta: float) -> void:
pass pass
func on_contact(body: Node2D) -> void: func on_contact(body: Node2D) -> void:
print(body)
$AudioStreamPlayer2D.play() $AudioStreamPlayer2D.play()
visible = false visible = false
%Player2D.coins += 1 %Player2D.coins += 1
+1 -1
View File
@@ -8,7 +8,7 @@
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6qpsl"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6qpsl"]
height = 26.0 height = 26.0
[node name="HiddenCoin" type="Node2D" unique_id=1739014101] [node name="HiddenCoin" type="Node2D" unique_id=1739014101 groups=["Hidden"]]
visible = false visible = false
script = ExtResource("1_4tl78") script = ExtResource("1_4tl78")
+2 -1
View File
@@ -3,7 +3,8 @@
[ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_llak8"] [ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_llak8"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_se82m"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_se82m"]
[node name="HiddenHorizontalLongBlock" type="RigidBody2D" unique_id=925152188] [node name="HiddenHorizontalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]]
modulate = Color(0, 0.54509807, 0.54509807, 1)
rotation = 3.1415927 rotation = 3.1415927
gravity_scale = 0.0 gravity_scale = 0.0
freeze = true freeze = true
+41
View File
@@ -0,0 +1,41 @@
extends RigidBody2D
@export var max_distance = 260.0
@export var moving = true
var alt_position = Vector2(position.x + max_distance,0)
@export var move_speed = 0.01
func _ready() -> void:
add_to_group("Hidden")
modulate = Color.DARK_CYAN
#Do not move collision boxes, it is fickle.
#on_leave(%Player2D)
alt_position = Vector2(position.x + max_distance,0)
add_to_group("MovingPlatform")
func _process(delta: float) -> void:
if position.x != alt_position.x:
position.x = move_toward(position.x, alt_position.x, move_speed)
else:
moving = false
%Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0
func on_enter(body) -> void:
if %Player2D.is_on_floor() and body == %Player2D:
print("Player on moving platform.")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
elif body == %Player2D and !%Player2D.is_on_wall_only:
print("Player but has not landed")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
elif body == %Player2D:
print("SOMETHING IS WRONG WITH PLAYER")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
func on_leave(body) -> void:
if body == %Player2D:
%Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0
+1
View File
@@ -0,0 +1 @@
uid://ckn8q0fyt01j3
+40
View File
@@ -0,0 +1,40 @@
[gd_scene format=3 uid="uid://b61sumdnt0qqh"]
[ext_resource type="Script" uid="uid://ckn8q0fyt01j3" path="res://hidden_horizontal_moving_block.gd" id="1_c4g4s"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="2_c7hrt"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(32, 13)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3uo2v"]
size = Vector2(32, 4.0000687)
[node name="HiddenHorizontalMovingBlock" type="RigidBody2D" unique_id=1409784601 groups=["Hidden"]]
modulate = Color(0, 0.54509807, 0.54509807, 1)
gravity_scale = 0.0
freeze = true
script = ExtResource("1_c4g4s")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
position = Vector2(0, -1.5)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_filter = 1
position = Vector2(-8, -2)
texture = ExtResource("2_c7hrt")
[node name="Sprite2D2" type="Sprite2D" parent="." unique_id=549053101]
texture_filter = 1
position = Vector2(8, -2)
texture = ExtResource("2_c7hrt")
[node name="Area2D" type="Area2D" parent="." unique_id=1910272404]
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308]
position = Vector2(0.000615094, -8.999966)
shape = SubResource("RectangleShape2D_3uo2v")
[connection signal="body_entered" from="Area2D" to="." method="on_enter"]
[connection signal="body_exited" from="Area2D" to="." method="on_leave"]
+1 -1
View File
@@ -8,7 +8,7 @@
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(26, 32)
[node name="HiddenSign" type="Node2D" unique_id=1201409437] [node name="HiddenSign" type="Node2D" unique_id=1201409437 groups=["Hidden"]]
script = ExtResource("1_a20ku") script = ExtResource("1_a20ku")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] [node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
+1 -1
View File
@@ -2,6 +2,7 @@ extends Node2D
func _ready() -> void: func _ready() -> void:
add_to_group("Hidden") add_to_group("Hidden")
modulate = Color.DARK_CYAN
func _process(delta: float) -> void: func _process(delta: float) -> void:
pass pass
@@ -11,4 +12,3 @@ func on_contact(body: Node2D) -> void:
print("SLASH KILL") print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play() %Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position) %Player2D.on_death(false,%Player2D.position)
print(body)
+1 -1
View File
@@ -6,7 +6,7 @@
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"]
size = Vector2(15, 7.5) size = Vector2(15, 7.5)
[node name="HiddenSpike" type="Node2D" unique_id=1739014101] [node name="HiddenSpike" type="Node2D" unique_id=1739014101 groups=["Hidden"]]
visible = false visible = false
script = ExtResource("1_k2eht") script = ExtResource("1_k2eht")
-44
View File
@@ -1,44 +0,0 @@
extends Node2D
@export var paired_teleporter: String
var checked_teleport
var telecam_speed_mult = 4
var enabled = true
var cooldown = 2
func _ready() -> void:
modulate = Color.PURPLE
add_to_group("TELEPORTERS")
add_to_group("Hidden")
func check_for_pair() -> String:
print(paired_teleporter)
return paired_teleporter
func disable():
enabled = false
$Sprite2D.modulate = Color.DARK_ORANGE
func enable():
enabled = true
$Sprite2D.modulate = Color.WHITE
func _process(delta: float) -> void:
pass
func _physics_process(delta: float) -> void:
pass
func _on_contact(body) -> void:
#get_tree().call_group("TELEPORTERS","disable")
for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"):
if teleporter != self:
if teleporter.paired_teleporter == paired_teleporter and enabled:
%Player2D.get_node("Camera2D").position_smoothing_enabled = false
if %Player2D.teleport_cooldown > 0:
return
body.set_position(teleporter.get_position())
%Player2D.on_teleport()
disable()
await get_tree().create_timer(cooldown).timeout
enable()
-1
View File
@@ -1 +0,0 @@
uid://btxx0p5ccar5f
-40
View File
@@ -1,40 +0,0 @@
[gd_scene format=3 uid="uid://7bjqgxckho"]
[ext_resource type="Script" uid="uid://btxx0p5ccar5f" path="res://hidden_teleporter.gd" id="1_52wed"]
[ext_resource type="Texture2D" uid="uid://d0tvtt4eu8jmt" path="res://art/block/portal.png" id="2_rx1y0"]
[ext_resource type="Texture2D" uid="uid://55ihxa2emnep" path="res://art/block/portal2.png" id="3_5admx"]
[ext_resource type="Texture2D" uid="uid://d4a5x8gwhl2wc" path="res://art/block/portal3.png" id="4_tfiuq"]
[sub_resource type="SpriteFrames" id="SpriteFrames_tuehi"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_rx1y0")
}, {
"duration": 1.0,
"texture": ExtResource("3_5admx")
}, {
"duration": 1.0,
"texture": ExtResource("4_tfiuq")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_7k7bx"]
radius = 9.0
[node name="HiddenTeleporter" type="Node2D" unique_id=1201409437]
script = ExtResource("1_52wed")
[node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=395479262]
sprite_frames = SubResource("SpriteFrames_tuehi")
autoplay = "default"
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("CircleShape2D_7k7bx")
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_contact"]
+2 -2
View File
@@ -3,8 +3,8 @@
[ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_tmhet"] [ext_resource type="Script" uid="uid://dcesonmhay5vo" path="res://hidden_vertical_long_block.gd" id="1_tmhet"]
[ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_667v4"] [ext_resource type="PackedScene" uid="uid://ckqable762x8v" path="res://block.tscn" id="2_667v4"]
[node name="HiddenVerticalLongBlock" type="RigidBody2D" unique_id=925152188] [node name="HiddenVerticalLongBlock" type="RigidBody2D" unique_id=925152188 groups=["Hidden"]]
visible = false modulate = Color(0, 0.54509807, 0.54509807, 1)
rotation = 1.5707964 rotation = 1.5707964
gravity_scale = 0.0 gravity_scale = 0.0
freeze = true freeze = true
+39
View File
@@ -0,0 +1,39 @@
extends RigidBody2D
@export var max_distance = 260.0
@export var moving = true
var alt_position = Vector2(position.x + max_distance,0)
@export var move_speed = 0.01
func _ready() -> void:
#Do not move collision boxes, it is fickle.
#on_leave(%Player2D)
alt_position = Vector2(position.x + max_distance,0)
add_to_group("MovingPlatform")
func _process(delta: float) -> void:
if position.x != alt_position.x:
position.x = move_toward(position.x, alt_position.x, move_speed)
else:
moving = false
%Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0
func on_enter(body) -> void:
if %Player2D.is_on_floor() and body == %Player2D:
print("Player on moving platform.")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
elif body == %Player2D and !%Player2D.is_on_wall_only:
print("Player but has not landed")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
elif body == %Player2D:
print("SOMETHING IS WRONG WITH PLAYER")
%Player2D.platform_speed = move_speed
%Player2D.is_on_moving_platform = true
func on_leave(body) -> void:
if body == %Player2D:
%Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0
+1
View File
@@ -0,0 +1 @@
uid://yaqgvctkobnq
+39
View File
@@ -0,0 +1,39 @@
[gd_scene format=3 uid="uid://div6quttr84u1"]
[ext_resource type="Script" uid="uid://yaqgvctkobnq" path="res://horizontal_moving_block.gd" id="1_3uo2v"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_m1vtb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(32, 13)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3uo2v"]
size = Vector2(32, 4.0000687)
[node name="HorizontalMovingBlock" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
script = ExtResource("1_3uo2v")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
position = Vector2(0, -1.5)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_filter = 1
position = Vector2(-8, -2)
texture = ExtResource("1_m1vtb")
[node name="Sprite2D2" type="Sprite2D" parent="." unique_id=549053101]
texture_filter = 1
position = Vector2(8, -2)
texture = ExtResource("1_m1vtb")
[node name="Area2D" type="Area2D" parent="." unique_id=1910272404]
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308]
position = Vector2(0.000615094, -8.999966)
shape = SubResource("RectangleShape2D_3uo2v")
[connection signal="body_entered" from="Area2D" to="." method="on_enter"]
[connection signal="body_exited" from="Area2D" to="." method="on_leave"]
+4 -1
View File
@@ -1 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 96 64">
<image width="96" height="64" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAYAAADlNHIOAAAACXBIWXMAAAsSAAALEgHS3X78AAABpklEQVR4nO3cMUoDQRTG8VnxPl7AYttgZyVYW3iAYBfBTnIAF0SshKQRUoS0i+QCHmXNAdZ6HrjDMMl+M+7/BykGks0kHy8vOztJ5ZzrHWTOeOu1CECMAMQIQIwAxAhA7Ly0Ce8+lhnM4m+z23nU/akAMQIQIwCx4npASPdzyHuCBhUgRgBiBCD273qAWl3X3gzath2cERUgRgBiBCCWfQ/Ife0nFRUgRgBiBCBW3HnA8+vWGz/cXQ3e/+b+yRv3vb8LZ908nvTxIVSAGAGIEYDY5AKoqsq7jf14iwoQIwAxAhDLfnt67FqQ+ppws/7yxlwPyBwBiBGAWPZrQaG9lqVfL6ACxAhAjADEknvA8nM36iuYX8+Oejy73m+tXhZHfT6LChAjADECEJv83tDUz3i79hOLChAjADECECu+B8T+Ltey+/ljhdb7Q6gAMQIQIwCxk/eAQ9d54+/98Gfm5q3xxnatyY73203yHJPQA8pGAGIEIDb6ecDFpf+9O9QTYo9n2ePbHrN4XyU9vz1eLCpAjADECECMvy4WowLECECMADBhzrlf4+1RaAhPjVAAAAAASUVORK5CYII="/>
</svg>

Before

Width:  |  Height:  |  Size: 995 B

After

Width:  |  Height:  |  Size: 920 B

+14 -10
View File
@@ -3,22 +3,26 @@ extends Control
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
$Slideshower.play_slideshow([ $Slideshower.play_slideshow([
{ "image": "Daydreaming",
"text": "Ever since he was a wee lad, Mr. Rhombini had always had one dream - to fly around in a blinged up jetpack." }, { "image": "Obsessing",
"text": "Mr.Rhombini heard rumors online of Ancient Technology hidden in the ruins of an ancient society." },
{ "image": "res://art/keyart_thumb.png", { "image": "res://art/keyart_thumb.png",
"text": "The internet has been abuzz with talks of a legendary Pharaoh's jetpack. Mr. Rhombini's day has come." }, "text": "When Mr. Rhombini heard of the legendary Pharaoh's jetpack, he could feel himself becoming obsessed." },
{ "image": "Journey", { "image": "Journey",
"text": "Under the cover of night, Mr. Rhombini sneaks into the famous pharaoh's pyramid. This night, of all nights, it seems to glow with strange energy." }, "text": "Under the cover of night, Mr. Rhombini decided to sneak into the pyramid." },
{ "image": "Goatcaphagus", { "image": "Goatcaphagus",
"text": "Mr. Rhombini stumbles upon an unusual sarcophagus, a blend of ancient craftsmanship and advanced technology. The antenna have been disconnected." }, "text": "Mr. Rhombini stumbled upon an unusual sarcophagus.
He notices that the antennae have been disconnected." },
{ "image": "Activate", { "image": "Activate",
"text": "Mr. Rhombini excitedly connects the antenna. The sarcophagus begins to hum." }, "text": "Mr. Rhombini excitedly connects the second antenna. He hears the Ancient Technoloy begin to hum." },
{ "image": "Opensofar", { "image": "Nicegoat",
"text": "The sarcophagus swings open to reveal, not a dead body, but an old computer. The computer begins to boot up, but an error message is visible on the main screen." }, "text": "The sarcophagus swings open to reveal, not a dead body, but a mysterious machine.
The Ancient Technology begins to boot up, but an error message is visible on the main screen." },
{ "images": ["PossessedbyOC", "Power_source"], { "images": ["PossessedbyOC", "Power_source"],
"text": "However, Mr. Rhombini's attention is instantly grabbed by the other object inside the open sarcophagus." }, "text": "Mr. Rhombini's attention is instantly grabbed by the other object inside the open sarcophagus." },
{ "image": "Glow", { "image": "Glow",
"text": "The Pharaoh's jetpack! Mr. Rhombini wastes no time in putting it on." } "text": "The Pharaoh's jetpack! The legends were true! ( It's definitely not cursed! )
Mr. Rhombini wastes no time putting on the Pharaoh's Jetpack." }
]) ])
func _on_slideshower_finished_playing() -> void: func _on_slideshower_finished_playing() -> void:
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://crmvdya3m7mll"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_c1qw8"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LevelBorderBlock" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(64, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_c1qw8")
region_enabled = true
region_rect = Rect2(-1024, -16, 1024, 16)
+21
View File
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://b4221qweamyvs"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_jmk5n"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LevelBorderBlockV" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(1, 36.56)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
rotation = 1.5707964
texture = ExtResource("1_jmk5n")
region_enabled = true
region_rect = Rect2(-512, 16, 512, 16)
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://c6n6v8ko733yd"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_m7sdc"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LongBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(10, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_m7sdc")
region_enabled = true
region_rect = Rect2(-160, -16, 160, 16)
-1
View File
@@ -11,4 +11,3 @@ func on_contact(body: Node2D) -> void:
print("SLASH KILL") print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play() %Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position) %Player2D.on_death(false,%Player2D.position)
print(body)
+20
View File
@@ -0,0 +1,20 @@
[gd_scene format=3 uid="uid://co7sblp40sat2"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_l676e"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 14)
[node name="LongishBlockS" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
scale = Vector2(5, 1)
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_repeat = 2
texture = ExtResource("1_l676e")
region_enabled = true
region_rect = Rect2(-80, -16, 80, 16)
+2
View File
@@ -12,5 +12,7 @@ func _on_toggled(toggled_on: bool) -> void:
if !first_press: if !first_press:
first_press = true first_press = true
%Player2D.get_node("BackgroundMusic").play() %Player2D.get_node("BackgroundMusic").play()
%Player2D.get_node("MeditateMusic").play()
toggled_on = !toggled_on toggled_on = !toggled_on
%Player2D.get_node("BackgroundMusic").stream_paused = !%Player2D.get_node("BackgroundMusic").stream_paused %Player2D.get_node("BackgroundMusic").stream_paused = !%Player2D.get_node("BackgroundMusic").stream_paused
%Player2D.get_node("MeditateMusic").stream_paused = !%Player2D.get_node("MeditateMusic").stream_paused
+16 -3
View File
@@ -6,8 +6,10 @@ var disks_loaded = []
var starting_integrity = 2 var starting_integrity = 2
var total_integrity = starting_integrity + len(disks_wanted) var total_integrity = starting_integrity + len(disks_wanted)
var base_text: String = ""
func _ready() -> void: func _ready() -> void:
$ConsoleText.text = $ConsoleText.text % get_memory_integrity() base_text = $ConsoleText.text % get_memory_integrity()
func load_disk(disk_num: int) -> bool: func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded): if !disk_num or (disk_num in disks_loaded):
@@ -34,7 +36,7 @@ func load_disk(disk_num: int) -> bool:
">> [color=green]System initialization complete[/color]. Beginning reactivation sequence." ">> [color=green]System initialization complete[/color]. Beginning reactivation sequence."
) )
printline( printline(
">> [color=#4278ff]Player[/color]: Press [color=#4278ff][E][/color] or [color=#4278ff][Space][/color] to return to the outside world." ">> [color=#4278ff]Player[/color]: Press [color=#4278ff][{INTERACT}][/color] or [color=#4278ff][{JUMP}][/color] to return to the outside world."
) )
return true return true
@@ -51,13 +53,24 @@ func has_finished_initialization() -> bool:
return disks_wanted.is_empty() return disks_wanted.is_empty()
func open() -> void: func open() -> void:
render_text()
visible = true visible = true
$BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader.show() $BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader.show()
%Player2D/Parallax2D.hide() %Player2D/Parallax2D.hide()
func printline(line: String) -> void: func printline(line: String) -> void:
open() open()
$ConsoleText.text += "\n" + line base_text += "\n" + line
render_text()
func render_text() -> void:
var interact_key = "E"
var jump_key = "Space"
if %Player2D.controller_ui:
interact_key = "B"
jump_key = "A"
$ConsoleText.text = base_text.replace("{INTERACT}", interact_key).replace("{JUMP}", jump_key)
func close() -> void: func close() -> void:
if has_finished_initialization(): if has_finished_initialization():
+5 -4
View File
@@ -4,6 +4,10 @@ func set_open (is_open: bool) -> void:
$Sprite2D.play("open" if is_open else "closed") $Sprite2D.play("open" if is_open else "closed")
func _on_interacted() -> void: func _on_interacted() -> void:
for sarcophagus in get_tree().get_nodes_in_group("sarcophagi"):
sarcophagus.set_open(sarcophagus == self)
await get_tree().create_timer(0.15).timeout
%OldComputer.open() %OldComputer.open()
#Accomodate some collision antics. #Accomodate some collision antics.
@@ -12,10 +16,7 @@ func _on_interacted() -> void:
if %Player2D.spawn_point != new_spawn_point: if %Player2D.spawn_point != new_spawn_point:
%Player2D.spawn_point = new_spawn_point %Player2D.spawn_point = new_spawn_point
%OldComputer.printline(">> Respawn point set to %s" % new_spawn_point) %OldComputer.printline(">> Respawn point set to %s" % new_spawn_point)
for sarcophagus in get_tree().get_nodes_in_group("sarcophagi"):
sarcophagus.set_open(sarcophagus == self)
var wanted_disk = %OldComputer.get_next_disk_num() var wanted_disk = %OldComputer.get_next_disk_num()
if %Player2D.complete_objective("sarc"): if %Player2D.complete_objective("sarc"):
-1
View File
@@ -12,7 +12,6 @@ func _process(delta: float) -> void:
pass pass
func on_contact(body: Node2D) -> void: func on_contact(body: Node2D) -> void:
print(body)
$AudioStreamPlayer2D.play(0) $AudioStreamPlayer2D.play(0)
visible = false visible = false
picked_up.emit() picked_up.emit()
+33 -12
View File
@@ -11,6 +11,9 @@ const JUMP_VELOCITY = -410.0
const DASH_LENGTH = 0.2 const DASH_LENGTH = 0.2
const BACKGROUND_COLOR = Color(Color.ORANGE.r + 0.80,Color.ORANGE.g + 0.20,Color.ORANGE.b - 0.10) const BACKGROUND_COLOR = Color(Color.ORANGE.r + 0.80,Color.ORANGE.g + 0.20,Color.ORANGE.b - 0.10)
var is_on_moving_platform = false
var platform_speed = 0.0
var death_cooldown = 0.0 var death_cooldown = 0.0
var fall_timer = 0.0 var fall_timer = 0.0
var teleport_cooldown = 0 var teleport_cooldown = 0
@@ -30,6 +33,16 @@ func _ready() -> void:
spawn_point = position spawn_point = position
DisplayServer.window_set_title("JUMPS EQUALS JUMPS") DisplayServer.window_set_title("JUMPS EQUALS JUMPS")
give_objective("sarc", 0, "Open the Sarcophagus") give_objective("sarc", 0, "Open the Sarcophagus")
for hidden_object in get_tree().get_nodes_in_group("Hidden in editor"):
hidden_object.show()
for hidden_object in get_tree().get_nodes_in_group("Hidden"):
hidden_object.hide()
if not OS.is_debug_build():
for object in get_tree().get_nodes_in_group("Debug Mode Only"):
object.queue_free()
#%Dialogue.show_text("Hello world!").dismiss_after(2) #%Dialogue.show_text("Hello world!").dismiss_after(2)
func refresh_dash(new_dashes): func refresh_dash(new_dashes):
@@ -93,8 +106,6 @@ func spawn_ghost(ghost_position):
var ghost = preload("res://ghost.tscn") var ghost = preload("res://ghost.tscn")
ghost = ghost.instantiate() ghost = ghost.instantiate()
get_parent().add_child(ghost) get_parent().add_child(ghost)
print(ghost)
print(ghost.position)
ghost.position = ghost_position ghost.position = ghost_position
func on_death(instant = false, player_position = position): func on_death(instant = false, player_position = position):
@@ -116,16 +127,19 @@ func on_death(instant = false, player_position = position):
#position = %LevelStart.position #position = %LevelStart.position
velocity = Vector2(0,0) velocity = Vector2(0,0)
position = spawn_point + Vector2(0,-100) var fall_offset = Vector2(0,-100)
position = spawn_point# + fall_offset
await get_tree().create_timer(0.1).timeout await get_tree().create_timer(0.1).timeout
death_cooldown = 0 death_cooldown = 0
func _process(delta: float) -> void: func _process(delta: float) -> void:
if is_on_moving_platform:
position.x = position.x + platform_speed
if Input.is_key_pressed(Key.KEY_W) or Input.is_key_pressed(Key.KEY_A) or Input.is_key_pressed(Key.KEY_S) or Input.is_key_pressed(Key.KEY_D): if Input.is_key_pressed(Key.KEY_W) or Input.is_key_pressed(Key.KEY_A) or Input.is_key_pressed(Key.KEY_S) or Input.is_key_pressed(Key.KEY_D):
print("KEYBOARD")
controller_ui = false controller_ui = false
elif Input.get_action_strength("move_horizontal") > 0: elif Input.get_action_strength("move_horizontal") > 0:
print("CONTROLLER")
controller_ui = true controller_ui = true
if Input.is_action_just_released("restart") or (Input.is_action_pressed("controller_restart_left") and Input.is_action_pressed("controller_restart_right")): if Input.is_action_just_released("restart") or (Input.is_action_pressed("controller_restart_left") and Input.is_action_pressed("controller_restart_right")):
@@ -161,9 +175,10 @@ func _process(delta: float) -> void:
velocity.y = -(0.001 * JUMP_VELOCITY) velocity.y = -(0.001 * JUMP_VELOCITY)
if Input.is_action_pressed("jump") and is_on_wall_only(): if Input.is_action_pressed("jump") and is_on_wall_only():
print("WALL HANGING") pass
#velocity.y = 0 #print("WALL HANGING")
#velocity.x = 0 #velocity.y = 0
#velocity.x = 0
var direction = Input.get_axis("move_left","move_right") var direction = Input.get_axis("move_left","move_right")
@@ -178,6 +193,9 @@ func _process(delta: float) -> void:
$Sprite2D.play("crouch") $Sprite2D.play("crouch")
$Parallax2D/Sprite2D.modulate = Color.CYAN $Parallax2D/Sprite2D.modulate = Color.CYAN
$MeditateMusic.volume_db = 0
$BackgroundMusic.volume_db = -100
for hidden_object in get_tree().get_nodes_in_group("Hidden"): for hidden_object in get_tree().get_nodes_in_group("Hidden"):
hidden_object.show() hidden_object.show()
@@ -196,18 +214,21 @@ func _process(delta: float) -> void:
elif direction and !dashing: elif direction and !dashing:
velocity.x = direction * SPEED velocity.x = direction * SPEED
$Sprite2D.play("running") $Sprite2D.play("running")
$Sprite2D/HatSprite.play("running") #$Sprite2D/HatSprite.play("running")
elif !dashing: elif !dashing and !is_on_moving_platform:
velocity.x = move_toward(velocity.x, 0, FRICTION) velocity.x = move_toward(velocity.x, 0, FRICTION)
$Sprite2D.play("idle") $Sprite2D.play("idle")
$Sprite2D/HatSprite.play("idle") #$Sprite2D/HatSprite.play("idle")
$Parallax2D/Sprite2D.modulate = BACKGROUND_COLOR $Parallax2D/Sprite2D.modulate = BACKGROUND_COLOR
$MeditateMusic.volume_db = -100
$BackgroundMusic.volume_db = 0
if get_tree(): if get_tree():
for hidden_object in get_tree().get_nodes_in_group("Hidden"): for hidden_object in get_tree().get_nodes_in_group("Hidden"):
hidden_object.hide() hidden_object.hide()
#Falling to death. #Falling to death.
if position.y >= death_threshold: if position.y >= death_threshold:
print("SLASH KILL") print("SLASH KILL")
+14 -29
View File
@@ -4,6 +4,7 @@
[ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_gt2ls"] [ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_gt2ls"]
[ext_resource type="Texture2D" uid="uid://dpdxs6gjmexgh" path="res://art/background.png" id="3_p3026"] [ext_resource type="Texture2D" uid="uid://dpdxs6gjmexgh" path="res://art/background.png" id="3_p3026"]
[ext_resource type="Script" uid="uid://544kxhmunfcp" path="res://background_music.gd" id="3_sxtm6"] [ext_resource type="Script" uid="uid://544kxhmunfcp" path="res://background_music.gd" id="3_sxtm6"]
[ext_resource type="AudioStream" uid="uid://8iiafankqo4i" path="res://sound/stepping.wav" id="4_ix7pg"]
[ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="4_nj6as"] [ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="4_nj6as"]
[ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_pmt5n"] [ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_pmt5n"]
[ext_resource type="Texture2D" uid="uid://ddhhtwgtowokp" path="res://art/player/crouch/frame1.png" id="6_3prq1"] [ext_resource type="Texture2D" uid="uid://ddhhtwgtowokp" path="res://art/player/crouch/frame1.png" id="6_3prq1"]
@@ -17,16 +18,15 @@
[ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="9_lu0ka"] [ext_resource type="Texture2D" uid="uid://lmje8plw76e1" path="res://art/player/running/frame2.png" id="9_lu0ka"]
[ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="9_ur4nw"] [ext_resource type="Texture2D" uid="uid://bko8dvawpul3c" path="res://art/player/crystal4.png" id="9_ur4nw"]
[ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="9_w0gjo"] [ext_resource type="Texture2D" uid="uid://m5djssna67e1" path="res://art/player/crouch/frame3.png" id="9_w0gjo"]
[ext_resource type="Texture2D" uid="uid://ba4kjeulthw1g" path="res://art/hats/dunce1.png" id="10_5s8kx"]
[ext_resource type="Texture2D" uid="uid://cn31x2l44je2t" path="res://art/dash_glow.png" id="10_ur4nw"] [ext_resource type="Texture2D" uid="uid://cn31x2l44je2t" path="res://art/dash_glow.png" id="10_ur4nw"]
[ext_resource type="Texture2D" uid="uid://biscdhn8jh8ha" path="res://art/jump_glow.png" id="11_3lee2"] [ext_resource type="Texture2D" uid="uid://biscdhn8jh8ha" path="res://art/jump_glow.png" id="11_3lee2"]
[ext_resource type="Texture2D" uid="uid://cp1v5uhvbfws6" path="res://art/hats/dunce2.png" id="11_4apft"]
[ext_resource type="Texture2D" uid="uid://dgq8el2qldlui" path="res://art/player/crystal.png" id="12_4apft"] [ext_resource type="Texture2D" uid="uid://dgq8el2qldlui" path="res://art/player/crystal.png" id="12_4apft"]
[ext_resource type="AudioStream" uid="uid://bkiipooikacjj" path="res://sound/patience.wav" id="12_5s8kx"] [ext_resource type="AudioStream" uid="uid://bkiipooikacjj" path="res://sound/patience.wav" id="12_5s8kx"]
[ext_resource type="Texture2D" uid="uid://d1tj8sw2hiwgw" path="res://art/dash_particle.png" id="16_ur4nw"] [ext_resource type="Texture2D" uid="uid://d1tj8sw2hiwgw" path="res://art/dash_particle.png" id="16_ur4nw"]
[ext_resource type="Texture2D" uid="uid://deacp021ytuew" path="res://art/jump_particle.png" id="18_fat58"] [ext_resource type="Texture2D" uid="uid://deacp021ytuew" path="res://art/jump_particle.png" id="18_fat58"]
[ext_resource type="AudioStream" uid="uid://b4dkj4gmvk7bg" path="res://sound/double_jump.wav" id="20_1741q"] [ext_resource type="AudioStream" uid="uid://b4dkj4gmvk7bg" path="res://sound/double_jump.wav" id="20_1741q"]
[ext_resource type="AudioStream" uid="uid://dc7bd22vwkf34" path="res://sound/death.wav" id="20_l50qk"] [ext_resource type="AudioStream" uid="uid://dc7bd22vwkf34" path="res://sound/death.wav" id="20_l50qk"]
[ext_resource type="AudioStream" uid="uid://q7eau835xuja" path="res://sound/secret.wav" id="27_sxtm6"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pmt5n"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_pmt5n"]
shader = ExtResource("3_gt2ls") shader = ExtResource("3_gt2ls")
@@ -82,28 +82,6 @@ animations = [{
"speed": 12.0 "speed": 12.0
}] }]
[sub_resource type="SpriteFrames" id="SpriteFrames_pmt5n"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("10_5s8kx")
}],
"loop": 1,
"name": &"idle",
"speed": 6.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("11_4apft")
}, {
"duration": 1.0,
"texture": ExtResource("10_5s8kx")
}],
"loop": 1,
"name": &"running",
"speed": 6.0
}]
[sub_resource type="SpriteFrames" id="SpriteFrames_5s8kx"] [sub_resource type="SpriteFrames" id="SpriteFrames_5s8kx"]
animations = [{ animations = [{
"frames": [{ "frames": [{
@@ -134,6 +112,14 @@ script = ExtResource("1_sy00s")
[node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239] [node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239]
stream = ExtResource("12_5s8kx") stream = ExtResource("12_5s8kx")
autoplay = true
playback_type = 1
script = ExtResource("3_sxtm6")
[node name="MeditateMusic" type="AudioStreamPlayer2D" parent="." unique_id=1027402564]
stream = ExtResource("4_ix7pg")
volume_db = -80.0
autoplay = true
playback_type = 1 playback_type = 1
script = ExtResource("3_sxtm6") script = ExtResource("3_sxtm6")
@@ -173,14 +159,10 @@ animation = &"crouch"
autoplay = "idle" autoplay = "idle"
frame_progress = 0.030440537 frame_progress = 0.030440537
[node name="HatSprite" type="AnimatedSprite2D" parent="Sprite2D" unique_id=1954184475] [node name="HatSprite" type="Sprite2D" parent="Sprite2D" unique_id=122612770]
visible = false visible = false
position = Vector2(0, -13) position = Vector2(0, -13)
scale = Vector2(0.9, 0.9) scale = Vector2(0.9, 0.9)
sprite_frames = SubResource("SpriteFrames_pmt5n")
animation = &"running"
autoplay = "idle"
frame_progress = 0.8061519
[node name="DaydreamSprite" type="Sprite2D" parent="Sprite2D" unique_id=67766652] [node name="DaydreamSprite" type="Sprite2D" parent="Sprite2D" unique_id=67766652]
@@ -225,3 +207,6 @@ stream = ExtResource("20_1741q")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021]
position = Vector2(0, 3) position = Vector2(0, 3)
shape = SubResource("CapsuleShape2D_ix7pg") shape = SubResource("CapsuleShape2D_ix7pg")
[node name="HatSound" type="AudioStreamPlayer2D" parent="." unique_id=508539941]
stream = ExtResource("27_sxtm6")
+88 -1
View File
@@ -25,6 +25,8 @@ window/stretch/mode="canvas_items"
[global_group] [global_group]
Hidden="" Hidden=""
"Hidden in editor"=""
"Debug Mode Only"=""
[gui] [gui]
@@ -205,10 +207,27 @@ dash={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), Object(InputEventKey,
"resource_local_to_scene": false,
"resource_name": "",
"device": -1,
"window_id": 0,
"alt_pressed": false,
"shift_pressed": true,
"ctrl_pressed": false,
"meta_pressed": false,
"pressed": false,
"keycode": 0,
"physical_keycode": 4194325,
"key_label": 0,
"unicode": 0,
"location": 0,
"echo": false,
"script": null
)] )]
} }
dash_down={ dash_down={
"deadzone": 0.2, "deadzone": 0.4,
"events": [Object(InputEventJoypadMotion, "events": [Object(InputEventJoypadMotion,
"resource_local_to_scene": false, "resource_local_to_scene": false,
"resource_name": "", "resource_name": "",
@@ -233,6 +252,23 @@ dash_down={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), 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": 4194322,
"key_label": 0,
"unicode": 0,
"location": 0,
"echo": false,
"script": null
)] )]
} }
dash_left={ dash_left={
@@ -261,6 +297,23 @@ dash_left={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), 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": 4194319,
"key_label": 0,
"unicode": 0,
"location": 0,
"echo": false,
"script": null
)] )]
} }
dash_right={ dash_right={
@@ -289,6 +342,23 @@ dash_right={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), 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": 4194321,
"key_label": 0,
"unicode": 0,
"location": 0,
"echo": false,
"script": null
)] )]
} }
dash_up={ dash_up={
@@ -317,6 +387,23 @@ dash_up={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), 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": 4194320,
"key_label": 0,
"unicode": 0,
"location": 0,
"echo": false,
"script": null
)] )]
} }
restart={ restart={
+27
View File
@@ -0,0 +1,27 @@
extends Node2D
@export var max_distance_x = 100.0
@export var max_distance_y = 100.0
@export var moving = true
var alt_position = Vector2(position.x + max_distance_x,0)
var alt_position2 = Vector2(position.x - max_distance_x,0)
@export var move_speed = 0.0
func _ready() -> void:
alt_position = Vector2(position.x + max_distance_x,0)
alt_position2 = Vector2(position.x - max_distance_x,0)
func _process(delta: float) -> void:
if position.x != alt_position.x:
position.x = move_toward(position.x, alt_position.x, move_speed)
else:
position.x = move_toward(position.x, alt_position2.x, move_speed)
moving = false
%Player2D.is_on_moving_platform = false
#%Player2D.platform_speed = 0.0
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
+1
View File
@@ -0,0 +1 @@
uid://dxgg37v8cxi76
+54
View File
@@ -0,0 +1,54 @@
[gd_scene format=3 uid="uid://c13khrhjy5nrj"]
[ext_resource type="Script" uid="uid://dxgg37v8cxi76" path="res://saw.gd" id="1_reoe3"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_b8b65"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_tse5f"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_yv4k5"]
[sub_resource type="CircleShape2D" id="CircleShape2D_axvpk"]
radius = 16.0
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("2_b8b65")
}, {
"duration": 0.3,
"texture": ExtResource("3_tse5f")
}, {
"duration": 0.3,
"texture": ExtResource("4_yv4k5")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_xp7he"]
radius = 18.0
[node name="Saw" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
script = ExtResource("1_reoe3")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
shape = SubResource("CircleShape2D_axvpk")
[node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=790714481]
texture_filter = 1
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.39573506
[node name="Area2D" type="Area2D" parent="." unique_id=1910272404]
position = Vector2(19, 7)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_xp7he")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
[connection signal="body_exited" from="Area2D" to="." method="on_leave"]
+184
View File
@@ -0,0 +1,184 @@
[gd_scene format=3 uid="uid://b0swgdy4faaac"]
[ext_resource type="Script" uid="uid://by82tj263c628" path="res://saw_swinging.gd" id="1_6frwm"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_4wovf"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_v0hit"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_h1a5w"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, -1.3089969389957472, 0.0, 1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_xp7he"]
resource_name = "halfswing_ccw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 1.8325957145940461, 3.141592653589793, 4.4505895925855405, 3.141592653589793]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.3089969389957472, 0.0, -1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_axvpk"]
resource_name = "halfswing_cw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 4.4505895925855405, 3.141592653589793, 1.8325957145940461, 3.141592653589793]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_ccw_2": SubResource("Animation_xp7he"),
&"halfswing_cw": SubResource("Animation_g2k3i"),
&"halfswing_cw_2": SubResource("Animation_axvpk")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("2_4wovf")
}, {
"duration": 0.3,
"texture": ExtResource("3_v0hit")
}, {
"duration": 0.3,
"texture": ExtResource("4_h1a5w")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawMoving" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_6frwm")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5258789e-05, 0)
shape = SubResource("CircleShape2D_ryup7")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5258789e-05, 0)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 7)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+28
View File
@@ -0,0 +1,28 @@
extends Node2D
@export var max_distance = 260.0
@export var spawn_delay = 0.0
var alt_position = Vector2(position.x + max_distance,0)
@export var fullswing_cw = false
@export var fullswing_ccw = false
@export var halfswing_cw = false
@export var halfswing_ccw = false
func _ready() -> void:
alt_position = Vector2(position.x + max_distance,0)
func _process(delta: float) -> void:
await get_tree().create_timer(spawn_delay).timeout
if fullswing_cw: $AnimationPlayer.play("fullswing_cw")
elif fullswing_ccw: $AnimationPlayer.play("fullswing_ccw")
elif halfswing_cw: $AnimationPlayer.play("halfswing_cw")
elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw")
else:
$AnimationPlayer.play("RESET")
%Player2D.is_on_moving_platform = false
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
+1
View File
@@ -0,0 +1 @@
uid://by82tj263c628
+151
View File
@@ -0,0 +1,151 @@
[gd_scene format=3 uid="uid://dgxovyasrduo5"]
[ext_resource type="Script" uid="uid://by82tj263c628" path="res://saw_swinging.gd" id="1_n4mys"]
[ext_resource type="Texture2D" uid="uid://d22jcb3da431q" path="res://art/saw_chain.png" id="2_31jf1"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_vwlp5"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_31jf1"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_3wt0e"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 2.0
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.3089969389957472, -1.3089969389957472]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 2.0
loop_mode = 2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [-1.3089969389957472, 1.3089969389957472]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_cw": SubResource("Animation_g2k3i")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("2_vwlp5")
}, {
"duration": 0.3,
"texture": ExtResource("3_31jf1")
}, {
"duration": 0.3,
"texture": ExtResource("4_3wt0e")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawSwinging" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_n4mys")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5195612e-05, 76)
shape = SubResource("CircleShape2D_ryup7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=141912847]
position = Vector2(5.9447484e-06, 34)
texture = ExtResource("2_31jf1")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5195612e-05, 76)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 83)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+28
View File
@@ -0,0 +1,28 @@
extends Node2D
@export var max_distance = 260.0
@export var spawn_delay = 0.0
var alt_position = Vector2(position.x + max_distance,0)
@export var halfswing_cw = false
@export var halfswing_ccw = false
@export var halfswing_cw_2 = false
@export var halfswing_ccw_2 = false
func _ready() -> void:
alt_position = Vector2(position.x + max_distance,0)
func _process(delta: float) -> void:
await get_tree().create_timer(spawn_delay).timeout
if halfswing_cw: $AnimationPlayer.play("halfswing_cw")
elif halfswing_ccw: $AnimationPlayer.play("halfswing_ccw")
elif halfswing_cw_2: $AnimationPlayer.play("halfswing_cw_2")
elif halfswing_ccw_2: $AnimationPlayer.play("halfswing_ccw_2")
else:
$AnimationPlayer.play("RESET")
%Player2D.is_on_moving_platform = false
func on_contact(body: Node2D) -> void:
if body==%Player2D and %Player2D.death_cooldown == 0:
print("SLASH KILL")
%Player2D/Jetpack/DeathSound.play()
%Player2D.on_death(false,%Player2D.position)
+1
View File
@@ -0,0 +1 @@
uid://chhyeigrkk5ux
+190
View File
@@ -0,0 +1,190 @@
[gd_scene format=3 uid="uid://c4o2dhhuwq4ty"]
[ext_resource type="Script" uid="uid://chhyeigrkk5ux" path="res://saw_swinging_b.gd" id="1_xp7he"]
[ext_resource type="Texture2D" uid="uid://d22jcb3da431q" path="res://art/saw_chain.png" id="2_axvpk"]
[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="3_rlgbm"]
[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="4_42yyr"]
[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="5_xd3ji"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ryup7"]
radius = 16.0
[sub_resource type="Animation" id="Animation_vwlp5"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="Animation" id="Animation_3wt0e"]
resource_name = "fullswing_ccw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, -6.2831855]
}
[sub_resource type="Animation" id="Animation_31jf1"]
resource_name = "fullswing_cw"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.2831855]
}
[sub_resource type="Animation" id="Animation_x3ve6"]
resource_name = "halfswing_ccw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, -1.3089969389957472, 0.0, 1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_xp7he"]
resource_name = "halfswing_ccw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 1.8325957145940461, 3.141592653589793, 4.4505895925855405, 3.141592653589793]
}
[sub_resource type="Animation" id="Animation_g2k3i"]
resource_name = "halfswing_cw"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.3089969389957472, 0.0, -1.3089969389957472, 0.0]
}
[sub_resource type="Animation" id="Animation_axvpk"]
resource_name = "halfswing_cw_2"
length = 4.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 5
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1, 2, 3, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [3.141592653589793, 4.4505895925855405, 3.141592653589793, 1.8325957145940461, 3.141592653589793]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3wt0e"]
_data = {
&"RESET": SubResource("Animation_vwlp5"),
&"fullswing_ccw": SubResource("Animation_3wt0e"),
&"fullswing_cw": SubResource("Animation_31jf1"),
&"halfswing_ccw": SubResource("Animation_x3ve6"),
&"halfswing_ccw_2": SubResource("Animation_xp7he"),
&"halfswing_cw": SubResource("Animation_g2k3i"),
&"halfswing_cw_2": SubResource("Animation_axvpk")
}
[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"]
animations = [{
"frames": [{
"duration": 0.3,
"texture": ExtResource("3_rlgbm")
}, {
"duration": 0.3,
"texture": ExtResource("4_42yyr")
}, {
"duration": 0.3,
"texture": ExtResource("5_xd3ji")
}],
"loop": 1,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_vwlp5"]
radius = 18.0
[node name="SawSwingingB" type="AnimatableBody2D" unique_id=1098290500]
script = ExtResource("1_xp7he")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1907671557]
position = Vector2(1.5195612e-05, 76)
shape = SubResource("CircleShape2D_ryup7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=141912847]
position = Vector2(5.9447484e-06, 34)
texture = ExtResource("2_axvpk")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1221437574]
libraries/ = SubResource("AnimationLibrary_3wt0e")
speed_scale = 1.5
[node name="SawBlade" type="AnimatedSprite2D" parent="." unique_id=760707152]
texture_filter = 1
position = Vector2(1.5195612e-05, 76)
sprite_frames = SubResource("SpriteFrames_lmieu")
autoplay = "default"
frame_progress = 0.40998712
[node name="Area2D" type="Area2D" parent="." unique_id=1356546922]
position = Vector2(19.000013, 83)
rotation = -6.834404e-05
[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=1586514592]
position = Vector2(-18.999523, -7.0012984)
shape = SubResource("CircleShape2D_vwlp5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+2 -2
View File
@@ -6,11 +6,10 @@
[ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="4_e8cgb"] [ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="4_e8cgb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(18, 35)
[node name="Sign" type="Node2D" unique_id=1201409437] [node name="Sign" type="Node2D" unique_id=1201409437]
script = ExtResource("1_q3tny") script = ExtResource("1_q3tny")
text_dismiss_timer = 3
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] [node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
position = Vector2(0, -16) position = Vector2(0, -16)
@@ -19,6 +18,7 @@ texture = ExtResource("2_q3tny")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] [node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] [node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
position = Vector2(0, -0.5)
shape = SubResource("RectangleShape2D_eumkw") shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=385403317] [node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=385403317]
+35
View File
@@ -0,0 +1,35 @@
[gd_scene format=3 uid="uid://big8haq2m0jxw"]
[ext_resource type="Texture2D" uid="uid://cfpi3jyp8rd0s" path="res://art/sign_arrow_right.png" id="1_i6k7h"]
[ext_resource type="Texture2D" uid="uid://dgdkh6ug00c1i" path="res://art/controls/a_button.png" id="3_ofmtg"]
[ext_resource type="Texture2D" uid="uid://bq82wmjgkgyr6" path="res://art/controls/e_key.png" id="4_hvlqt"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 63)
[node name="SignArrow" type="Node2D" unique_id=1201409437]
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
position = Vector2(0, -48)
texture = ExtResource("1_i6k7h")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
position = Vector2(0, 15.5)
shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=385403317]
visible = false
position = Vector2(0.99999994, -7.000002)
scale = Vector2(0.8, 0.8)
texture = ExtResource("3_ofmtg")
[node name="KeyPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1108548281]
visible = false
position = Vector2(0.99999994, -6.000002)
scale = Vector2(0.8, 0.8)
texture = ExtResource("4_hvlqt")
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
Loaded 100 of 123 files, more files were not shown because too many files have changed in this diff. Show more