Compare commits

52 Commits
Author SHA1 Message Date
Debugman 83467a764e Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 12:42:53 -05:00
Debugman 53d1a7f775 Update world.tscn 2026-10-18 12:42:43 -05:00
TheRailGoat 2a62087316 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 12:07:27 -05:00
TheRailGoat 29afba326d Open Sarcophagus
(see above)
2026-10-18 12:07:20 -05:00
zozieee b858c8c1a7 goatcaphagus
ci/woodpecker/push/woodpecker Pipeline was successful
added updated goatcaphagus
2026-10-18 12:06:00 -05:00
Debugman 77530a2049 More signs
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 11:59:02 -05:00
Debugman 69b1a49e43 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 11:49:51 -05:00
Debugman 43dd344ff3 Fix 2026-10-18 11:49:50 -05:00
Debugman f5ca301fcf New monitor 2026-10-18 11:49:30 -05:00
TheRailGoat ee8b94bd94 Sawblade!
ci/woodpecker/push/woodpecker Pipeline was successful
It's a sawblade!
2026-10-18 11:17:05 -05:00
Debugman 80b861e5ae Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 10:54:17 -05:00
Debugman c91e4b5ba9 UI Changes 2026-10-18 10:54:10 -05:00
zozieee 019976f997 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 10:52:48 -05:00
zozieee 5dc2b06616 replaced screen
replaced screen
need to: center text
2026-10-18 10:52:30 -05:00
Debugman 0586eecdf4 New text box art
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 10:04:50 -05:00
Debugman a8bc90d361 Fixed the sun
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 09:40:39 -05:00
yagigreg 8bb2c5c840 Add ability to have two images in a slide.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 08:11:58 -05:00
yagigreg ddf7942890 Rudimentary comic/slideshow viewer and intro scene.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 07:16:08 -05:00
yagigreg eded968b4e Stubs for intro scene and slideshower control.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:29:46 -05:00
yagigreg 890541465b Record last known ground position. Idea is that when you die you drop the disks at the last place you stood. Doesn't seem to be reliable so I'm not using it at the moment;
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:21:33 -05:00
Debugman b416cd6d4f Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:20:10 -05:00
Debugman 2c203c8476 Teleporter tutorial 2026-10-18 03:20:05 -05:00
yagigreg f1c232847f Actually exit the game upon completing the main quest.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:10:37 -05:00
yagigreg 904c6e7f15 Fix issue where OldComputer crashes upon inserting the final disk. Add a message instructing player to press [E] to exit the game. 2026-10-18 03:08:33 -05:00
Debugman 82d1375871 Update world.tscn
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 03:02:26 -05:00
Debugman 4d9cb93483 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 02:38:28 -05:00
Debugman 4de204a122 Tutorial polish 2026-10-18 02:37:32 -05:00
yagigreg 9ba305b6a1 Hide dialogue box by default
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 02:08:56 -05:00
yagigreg 93baf56fd5 Move interactable input handling into Player2D so we can selectively block it from working if OldComputer is open
ci/woodpecker/push/woodpecker Pipeline was successful
We probably could have special-cased that check in Interactable now that I think about it
2026-10-18 02:05:51 -05:00
yagigreg f061e1905f Remove hello world dialogue demonstration. 2026-10-18 01:52:22 -05:00
yagigreg cb1b579544 Block all input other than E/Space when OldComputer is up. Make it so that exiting out of OldComputer does not jump.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:43:41 -05:00
yagigreg 954fd873bd Fix sign interaction
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:40:20 -05:00
Debugman eed1540c93 Added signs
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:35:58 -05:00
Debugman 01e8fbf4fe Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:22:17 -05:00
Debugman 9ffce48c38 Level tweaks 2026-10-18 01:09:25 -05:00
yagigreg a3d54fa9d3 .. fix indentation
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:03:03 -05:00
yagigreg f50b7da9eb Fix "respawn point set" message triggering even if that sarco is already the respawn point.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 01:01:00 -05:00
yagigreg 775338c4d2 fix issue where Open Sarcophagus objective did not complete, among other things 2026-10-18 00:59:08 -05:00
yagigreg c8ad334936 Merge branch 'main' of ssh://git.egg:2222/NanoYagi/JumpRopeOldTech 2026-10-18 00:57:35 -05:00
Debugman 4aae35ee49 Improved tutorial
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 00:53:35 -05:00
yagigreg c56a32555e Add rudimentary dialogue system. 2026-10-18 00:53:22 -05:00
Debugman b07d850b82 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-18 00:28:51 -05:00
Debugman c9510f8902 Some tutorial 2026-10-18 00:28:27 -05:00
yagigreg 8f2083bd9f When sarcophagus is interacted with, explicitly tell player respawn point is set.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 23:18:50 -05:00
yagigreg f8eb3cb378 Move "computer" related state to the OldComputer singleton.
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 23:13:48 -05:00
yagigreg 5ef5874d11 Merge branch 'main' of ssh://git.egg:2222/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 23:09:39 -05:00
yagigreg 770fdde083 Add an explicit objective to talk to the sarc. Completing that objective gives the first data disk objective. 2026-10-17 23:08:46 -05:00
Debugman d9d5bb3259 Condensed worlds
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 23:03:24 -05:00
Debugman d2a6aca452 Merge branch 'main' of http://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 22:53:49 -05:00
Debugman df188449f3 Checkpoints 2026-10-17 22:53:43 -05:00
zozieee 315c3c86d6 Merge branch 'main' of https://git.nanoyagi.com/NanoYagi/JumpRopeOldTech
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-17 22:52:23 -05:00
zozieee a80640d94d Update world.tscn
added levels south
2026-10-17 22:52:16 -05:00
96 changed files with 2297 additions and 157 deletions

No files matched your search

+44
View File
@@ -0,0 +1,44 @@
[gd_scene format=3 uid="uid://bla1cfndgad0"]
[ext_resource type="Texture2D" uid="uid://m5dwatby4pfc" path="res://art/text_box.png" id="1_4xg4g"]
[ext_resource type="Theme" uid="uid://bmerl7q2g67v4" path="res://themes/jump_rope_ui.tres" id="1_qtnsr"]
[ext_resource type="Script" uid="uid://byj4ibepgm6oa" path="res://dialogue.gd" id="1_tgtc2"]
[node name="Dialogue" type="TextureRect" unique_id=733911232]
visible = false
clip_contents = true
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_qtnsr")
texture = ExtResource("1_4xg4g")
script = ExtResource("1_tgtc2")
font_color = Color(0.14406255, 0.14406255, 0.14406255, 1)
[node name="Panel" type="Panel" parent="." unique_id=1878574619]
self_modulate = Color(1, 1, 1, 0)
clip_contents = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 185.0
offset_right = -163.0
grow_horizontal = 2
grow_vertical = 2
[node name="Text" type="RichTextLabel" parent="Panel" unique_id=1494828842]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 83.0
offset_top = 301.0
offset_right = -77.0
offset_bottom = -227.0
grow_horizontal = 2
grow_vertical = 2
bbcode_enabled = true
fit_content = true
+61 -8
View File
@@ -2,22 +2,39 @@
[ext_resource type="Script" uid="uid://d0lvnnd3mqfxh" path="res://old_computer.gd" id="1_6jyhx"] [ext_resource type="Script" uid="uid://d0lvnnd3mqfxh" path="res://old_computer.gd" id="1_6jyhx"]
[ext_resource type="Texture2D" uid="uid://brppyauh1xyif" path="res://art/computer/background.png" id="2_2wyuv"] [ext_resource type="Texture2D" uid="uid://brppyauh1xyif" path="res://art/computer/background.png" id="2_2wyuv"]
[ext_resource type="Texture2D" uid="uid://b2slrh32njho4" path="res://art/computer/backlight.png" id="2_eta3k"]
[ext_resource type="Shader" uid="uid://mmf86jusrkrr" path="res://shaders/warp_shader.gdshader" id="3_jwgiw"]
[ext_resource type="Script" uid="uid://3bqq3mfbby2c" path="res://warp_shader.gd" id="4_eta3k"]
[ext_resource type="Texture2D" uid="uid://biv3f67rqumak" path="res://art/level_start.png" id="5_vc1vx"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2wyuv"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2wyuv"]
bg_color = Color(0.28627452, 0.25490198, 0.22745098, 1) bg_color = Color(0.28627452, 0.25490198, 0.22745098, 1)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c8ncy"]
shader = ExtResource("3_jwgiw")
[sub_resource type="QuadMesh" id="QuadMesh_8ycgp"]
size = Vector2(1280, 720)
[node name="OldComputer" type="CanvasLayer" unique_id=1944134941] [node name="OldComputer" type="CanvasLayer" unique_id=1944134941]
visible = false visible = false
script = ExtResource("1_6jyhx") script = ExtResource("1_6jyhx")
[node name="BackgroundPanel" type="Panel" parent="." unique_id=1876350245] [node name="BackgroundPanel" type="Panel" parent="." unique_id=1876350245]
self_modulate = Color(1, 1, 1, 0)
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = -60.0
offset_top = -2.0
offset_right = -60.0
offset_bottom = -2.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
scale = Vector2(1.0710422, 1.0710422)
[node name="ForegroundPanel" type="Panel" parent="BackgroundPanel" unique_id=1797726425] [node name="ForegroundPanel" type="Panel" parent="BackgroundPanel" unique_id=1797726425]
self_modulate = Color(0, 0, 0, 0.48235294)
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@@ -26,25 +43,61 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_2wyuv") theme_override_styles/panel = SubResource("StyleBoxFlat_2wyuv")
[node name="PointLight2D" type="PointLight2D" parent="BackgroundPanel/ForegroundPanel" unique_id=256109389]
z_index = 1
position = Vector2(640, 359)
scale = Vector2(27.099607, 14.530945)
color = Color(0.18106043, 0.0350378, 0.10814872, 1)
energy = 16.0
texture = ExtResource("2_eta3k")
[node name="ScreenPanel" type="Panel" parent="BackgroundPanel/ForegroundPanel" unique_id=528166777] [node name="ScreenPanel" type="Panel" parent="BackgroundPanel/ForegroundPanel" unique_id=528166777]
self_modulate = Color(0.8490501, 0.00019233048, 0.74149054, 1)
layout_mode = 0 layout_mode = 0
offset_left = 82.0 offset_left = 82.0
offset_top = 42.0 offset_top = 114.00001
offset_right = 122.81183 offset_right = 122.81183
offset_bottom = 85.64739 offset_bottom = 152.69244
scale = Vector2(27.099607, 14.530945) scale = Vector2(27.099607, 14.530945)
[node name="OldComputerShader" type="CanvasLayer" parent="BackgroundPanel/ForegroundPanel/ScreenPanel" unique_id=1485637757]
layer = 2
visible = false
[node name="WarpShader" type="MeshInstance2D" parent="BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader" unique_id=1387834412]
material = SubResource("ShaderMaterial_c8ncy")
position = Vector2(624, 351)
mesh = SubResource("QuadMesh_8ycgp")
script = ExtResource("4_eta3k")
[node name="Sprite2D" type="Sprite2D" parent="BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader/WarpShader" unique_id=1356334288]
visible = false
texture = ExtResource("5_vc1vx")
[node name="Sprite2D" type="Sprite2D" parent="BackgroundPanel" unique_id=856709145] [node name="Sprite2D" type="Sprite2D" parent="BackgroundPanel" unique_id=856709145]
position = Vector2(618, 349) position = Vector2(639.5, 360.50003)
scale = Vector2(0.99765617, 0.99305564)
texture = ExtResource("2_2wyuv") texture = ExtResource("2_2wyuv")
[node name="ConsoleText" type="RichTextLabel" parent="." unique_id=715961645] [node name="ConsoleText" type="RichTextLabel" parent="." unique_id=715961645]
offset_left = 150.0 anchors_preset = 8
offset_top = 105.0 anchor_left = 0.5
offset_right = 1102.0 anchor_top = 0.5
offset_bottom = 652.0 anchor_right = 0.5
text = ">> Pharaoh OS 2000 Boot Sequence anchor_bottom = 0.5
offset_left = -542.0
offset_top = -306.0
offset_right = 410.0
offset_bottom = 241.0
grow_horizontal = 2
grow_vertical = 2
rotation = -0.008004447
scale = Vector2(1.0710422, 1.0710422)
bbcode_enabled = true
text = "[center]>> Pharaoh OS 2000 Boot Sequence
>> WARN: Detected anomalies! >> WARN: Detected anomalies!
>> WARN: Memory integrity at %d%%! >> WARN: Memory integrity at %d%%!
>> User: Please load backup data disk (1 of 4) >> User: Please load backup data disk (1 of 4)
>> Player: Press interact [E] or jump [Space] to exit." >> Player: Press interact [E] or jump [Space] to exit."
fit_content = true
vertical_alignment = 1
+88
View File
@@ -0,0 +1,88 @@
[gd_scene format=3 uid="uid://rcq5arl8mdes"]
[ext_resource type="Script" uid="uid://bdv4qahk8mumv" path="res://slideshower.gd" id="1_7e6iu"]
[ext_resource type="Texture2D" uid="uid://pwn1pdrp6ruh" path="res://art/keyart_thumb.png" id="2_puxm7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_puxm7"]
bg_color = Color(0.8203125, 0.8203125, 0.8203125, 1)
[node name="Slideshower" type="Control" unique_id=776393005]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_7e6iu")
[node name="VSplitContainer" type="VSplitContainer" parent="." unique_id=35480294]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 3.0
offset_top = 4.0
grow_horizontal = 2
grow_vertical = 2
split_offsets = PackedInt32Array(642)
split_offset = 642
[node name="ImageFrame" type="Panel" parent="VSplitContainer" unique_id=1582351824]
layout_mode = 2
[node name="SlideContainer" type="HBoxContainer" parent="VSplitContainer/ImageFrame" unique_id=975465325]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
alignment = 1
[node name="SlideImage" type="TextureRect" parent="VSplitContainer/ImageFrame/SlideContainer" unique_id=720362532]
layout_mode = 2
texture = ExtResource("2_puxm7")
expand_mode = 2
stretch_mode = 5
[node name="SlideImage2" type="TextureRect" parent="VSplitContainer/ImageFrame/SlideContainer" unique_id=746302187]
visible = false
layout_mode = 2
texture = ExtResource("2_puxm7")
expand_mode = 2
stretch_mode = 5
[node name="TextFrame" type="Panel" parent="VSplitContainer" unique_id=1381001186]
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_puxm7")
[node name="SlideText" type="RichTextLabel" parent="VSplitContainer/TextFrame" unique_id=1168262970]
layout_mode = 1
anchors_preset = -1
anchor_right = 0.86
anchor_bottom = 1.0
offset_right = 11.780029
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/default_color = Color(0, 0, 0, 1)
theme_override_font_sizes/normal_font_size = 21
theme_override_font_sizes/bold_font_size = 21
theme_override_font_sizes/bold_italics_font_size = 21
theme_override_font_sizes/italics_font_size = 21
theme_override_font_sizes/mono_font_size = 21
text = "The Pharaoh's Jetpack!"
[node name="ContinueButton" type="Button" parent="VSplitContainer/TextFrame" unique_id=1558725691]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.097
anchor_right = 1.0
anchor_bottom = 0.79
offset_left = 1133.0
offset_top = -0.013999939
offset_right = -14.0
offset_bottom = 0.020000458
grow_horizontal = 2
text = "Continue [E]"
[connection signal="pressed" from="VSplitContainer/TextFrame/ContinueButton" to="." method="_on_continue_button_pressed"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 444 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2slrh32njho4"
path="res://.godot/imported/backlight.png-3ae98dbe8b342fc3c6f850ffaa0b9746.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/computer/backlight.png"
dest_files=["res://.godot/imported/backlight.png-3ae98dbe8b342fc3c6f850ffaa0b9746.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: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0cd1alr8k706"
path="res://.godot/imported/interact_button.png-3356a9459d993b6fc378d0efcbed3cae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/interact_button.png"
dest_files=["res://.godot/imported/interact_button.png-3356a9459d993b6fc378d0efcbed3cae.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: 780 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cpftgnwkpx1rp"
path="res://.godot/imported/saw.png-d4ecf267cec33809882461da29311d30.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw.png"
dest_files=["res://.godot/imported/saw.png-d4ecf267cec33809882461da29311d30.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: 664 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfdjachaibh2u"
path="res://.godot/imported/saw2.png-1cb860a425ab144e66555f9409ff99f2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw2.png"
dest_files=["res://.godot/imported/saw2.png-1cb860a425ab144e66555f9409ff99f2.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: 635 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cwvvgwo87pct0"
path="res://.godot/imported/saw3.png-4e587a77799cf05dd0690fcd0123bd1f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw3.png"
dest_files=["res://.godot/imported/saw3.png-4e587a77799cf05dd0690fcd0123bd1f.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: 638 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cluf02f4cbby5"
path="res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw4.png"
dest_files=["res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.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: 639 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bf3kv2cgp3joy"
path="res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/saw5.png"
dest_files=["res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.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: 458 B

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djlqqmqpsd0kc"
path="res://.godot/imported/sign.png-f68c0bf044084530e7373ad6ed8f7c3f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/sign.png"
dest_files=["res://.godot/imported/sign.png-f68c0bf044084530e7373ad6ed8f7c3f.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.7 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1njkrglsofqk"
path="res://.godot/imported/Activate.png-5a9b65792bff5759f1905879cea1ebaa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Activate.png"
dest_files=["res://.godot/imported/Activate.png-5a9b65792bff5759f1905879cea1ebaa.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: 1.4 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkhnrtsstc3gs"
path="res://.godot/imported/Daydreaming.png-653e4d4bd093a39da88f576e50d6c4f0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Daydreaming.png"
dest_files=["res://.godot/imported/Daydreaming.png-653e4d4bd093a39da88f576e50d6c4f0.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: 1.8 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2mb7loqx4035"
path="res://.godot/imported/Glow.png-7fece8dff73930115c57f2c0ae3578d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Glow.png"
dest_files=["res://.godot/imported/Glow.png-7fece8dff73930115c57f2c0ae3578d8.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: 3.3 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5kfj40gjnltf"
path="res://.godot/imported/Goatcaphagus.png-d86b36347399a0816eebbbd8281279fc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Goatcaphagus.png"
dest_files=["res://.godot/imported/Goatcaphagus.png-d86b36347399a0816eebbbd8281279fc.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: 663 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3jk04ddh4tme"
path="res://.godot/imported/Journey.png-73c5508ef5224e4becee36594c39a18b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Journey.png"
dest_files=["res://.godot/imported/Journey.png-73c5508ef5224e4becee36594c39a18b.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.4 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ux1nk6tbgq3j"
path="res://.godot/imported/Nicegoat.png-23afaf5dd8e387c8bc31e13b770a5bc9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Nicegoat.png"
dest_files=["res://.godot/imported/Nicegoat.png-23afaf5dd8e387c8bc31e13b770a5bc9.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.4 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dd6rkyvutqrxb"
path="res://.godot/imported/Opensofar.png-a0b612c8052ea0cd9e0750c52238989d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Opensofar.png"
dest_files=["res://.godot/imported/Opensofar.png-a0b612c8052ea0cd9e0750c52238989d.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: 356 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bh6teffdplxy7"
path="res://.godot/imported/PossessedbyOC.png-96605a3f22a6b73e1293b2d1be720757.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/PossessedbyOC.png"
dest_files=["res://.godot/imported/PossessedbyOC.png-96605a3f22a6b73e1293b2d1be720757.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: 3.5 MiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2e5dbfb16dhq"
path="res://.godot/imported/Power_source.png-669b9d6c712b93bed5f0d8805876b0d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/slides/Power_source.png"
dest_files=["res://.godot/imported/Power_source.png-669b9d6c712b93bed5f0d8805876b0d5.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: 19 KiB

+43
View File
@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://m5dwatby4pfc"
path="res://.godot/imported/text_box.png-d58c3f415558f4d17ce4db7eb8cebb71.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/text_box.png"
dest_files=["res://.godot/imported/text_box.png-d58c3f415558f4d17ce4db7eb8cebb71.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
+1 -1
View File
@@ -3,7 +3,7 @@
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_im0tn"] [ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_im0tn"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 16) size = Vector2(16, 14)
[node name="Block" type="RigidBody2D" unique_id=1409784601] [node name="Block" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0 gravity_scale = 0.0
+19
View File
@@ -0,0 +1,19 @@
class_name Dialogue
extends Control
@export var custom_font = preload("res://fonts/IndieFlower-Regular.ttf")
@export var font_color: Color
func show_text(text: String) -> Dialogue:
visible = true
$Panel/Text.text = "[center][color=BLACK]%s" % text
return self
func dismiss_after(secs: float) -> Dialogue:
await get_tree().create_timer(secs).timeout
return dismiss()
func dismiss() -> Dialogue:
visible = false
return self
+1
View File
@@ -0,0 +1 @@
uid://byj4ibepgm6oa
+24
View File
@@ -0,0 +1,24 @@
[gd_scene format=3 uid="uid://hqmkjtv5shyk"]
[ext_resource type="Script" uid="uid://brlrpnqrsi2vn" path="res://spike.gd" id="1_bl7j6"]
[ext_resource type="Texture2D" uid="uid://bu5wgerfu7cbc" path="res://art/spike.png" id="2_24rqj"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"]
size = Vector2(15, 10)
[node name="Spike" type="Node2D" unique_id=1739014101]
script = ExtResource("1_bl7j6")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=813041394]
texture_filter = 1
position = Vector2(0, 2)
scale = Vector2(-1, -1)
texture = ExtResource("2_24rqj")
[node name="Area2D" type="Area2D" parent="." unique_id=170499029]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
position = Vector2(-0.5, -1)
shape = SubResource("RectangleShape2D_xfwl5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
Binary file not shown.
+36
View File
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://bj1s6gf1eckfn"
path="res://.godot/imported/FingerPaint-Regular.ttf-f284ebe5db8c3be027811309a29fe50f.fontdata"
[deps]
source_file="res://fonts/FingerPaint-Regular.ttf"
dest_files=["res://.godot/imported/FingerPaint-Regular.ttf-f284ebe5db8c3be027811309a29fe50f.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={}
Binary file not shown.
+36
View File
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://crk0pyhposrb7"
path="res://.godot/imported/IndieFlower-Regular.ttf-e0486e71948a8aaa3d1ad0ab77572a93.fontdata"
[deps]
source_file="res://fonts/IndieFlower-Regular.ttf"
dest_files=["res://.godot/imported/IndieFlower-Regular.ttf-e0486e71948a8aaa3d1ad0ab77572a93.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={}
Binary file not shown.
@@ -0,0 +1,36 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://bv5jfswk1or3m"
path="res://.godot/imported/JustMeAgainDownHere-Regular.ttf-0bbbce1d1304c77d7992dcf2ba905974.fontdata"
[deps]
source_file="res://fonts/JustMeAgainDownHere-Regular.ttf"
dest_files=["res://.godot/imported/JustMeAgainDownHere-Regular.ttf-0bbbce1d1304c77d7992dcf2ba905974.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={}
+93
View File
@@ -0,0 +1,93 @@
Copyright (c) 2011 by Ralph du Carrois, with Reserved Font Name 'Finger Paint'
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:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
+17
View File
@@ -0,0 +1,17 @@
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
add_to_group("Hidden")
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func on_contact(body: Node2D) -> void:
print(body)
$AudioStreamPlayer2D.play()
visible = false
%Player2D.coins += 1
await get_tree().create_timer(0.2).timeout
queue_free()
+1
View File
@@ -0,0 +1 @@
uid://7qhq76giye1v
+33
View File
@@ -0,0 +1,33 @@
[gd_scene format=3 uid="uid://be757jqlv785s"]
[ext_resource type="Script" uid="uid://7qhq76giye1v" path="res://hidden_coin.gd" id="1_4tl78"]
[ext_resource type="Texture2D" uid="uid://cr2wdd0yn1syy" path="res://art/coin_glow.png" id="2_17b6t"]
[ext_resource type="Texture2D" uid="uid://dftfxivu3peog" path="res://art/coin.png" id="3_n84lr"]
[ext_resource type="AudioStream" uid="uid://f2xmq6cgiiwj" path="res://sound/coin.wav" id="4_rxg23"]
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6qpsl"]
height = 26.0
[node name="HiddenCoin" type="Node2D" unique_id=1739014101]
visible = false
script = ExtResource("1_4tl78")
[node name="PointLight2D" type="PointLight2D" parent="." unique_id=2052227436]
color = Color(0, 0.5492828, 0.05646421, 1)
energy = 4.0
texture = ExtResource("2_17b6t")
texture_scale = 1.3
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=813041394]
texture = ExtResource("3_n84lr")
[node name="Area2D" type="Area2D" parent="." unique_id=170499029]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
shape = SubResource("CapsuleShape2D_6qpsl")
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." unique_id=1778061188]
stream = ExtResource("4_rxg23")
volume_db = 1.0
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+30
View File
@@ -0,0 +1,30 @@
[gd_scene format=3 uid="uid://ch0417iiviaxb"]
[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"]
[node name="HiddenHorizontalLongBlock" type="RigidBody2D" unique_id=925152188]
rotation = 3.1415927
gravity_scale = 0.0
freeze = true
script = ExtResource("1_llak8")
[node name="Block" parent="." unique_id=1409784601 instance=ExtResource("2_se82m")]
[node name="Block2" parent="." unique_id=54235726 instance=ExtResource("2_se82m")]
position = Vector2(15.999999, -9.536743e-07)
[node name="Block3" parent="." unique_id=474997430 instance=ExtResource("2_se82m")]
position = Vector2(-15, 0)
[node name="Block4" parent="." unique_id=1125897933 instance=ExtResource("2_se82m")]
position = Vector2(32, -1.9073486e-06)
[node name="Block5" parent="." unique_id=1104682129 instance=ExtResource("2_se82m")]
position = Vector2(-31, 0)
[node name="Block6" parent="." unique_id=200247655 instance=ExtResource("2_se82m")]
position = Vector2(48, -1.9073486e-06)
[node name="Block7" parent="." unique_id=519163182 instance=ExtResource("2_se82m")]
position = Vector2(-47, 3.8146973e-06)
+11
View File
@@ -0,0 +1,11 @@
extends Interactable
@export var sign_text = ""
@export var text_dismiss_timer = 2
func _ready() -> void:
add_to_group("Hidden")
modulate = Color.DARK_CYAN
func _on_interacted() -> void:
%Dialogue.show_text(sign_text).dismiss_after(text_dismiss_timer)
+1
View File
@@ -0,0 +1 @@
uid://b64hyvumk366h
+30
View File
@@ -0,0 +1,30 @@
[gd_scene format=3 uid="uid://dt43trxumfv0i"]
[ext_resource type="Script" uid="uid://b64hyvumk366h" path="res://hidden_sign.gd" id="1_a20ku"]
[ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_soj2u"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_7o2b3"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32)
[node name="HiddenSign" type="Node2D" unique_id=1201409437]
script = ExtResource("1_a20ku")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
position = Vector2(0, -16)
texture = ExtResource("2_soj2u")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1864817335]
visible = false
position = Vector2(0, -8.000002)
scale = Vector2(0.8, 0.8)
texture = ExtResource("3_7o2b3")
[connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
+44
View File
@@ -0,0 +1,44 @@
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
@@ -0,0 +1 @@
uid://btxx0p5ccar5f
+40
View File
@@ -0,0 +1,40 @@
[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"]
+1
View File
@@ -3,6 +3,7 @@ extends RigidBody2D
# 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:
add_to_group("Hidden") add_to_group("Hidden")
modulate = Color.DARK_CYAN
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void: func _process(delta: float) -> void:
+12 -6
View File
@@ -7,7 +7,7 @@ var checked_teleport
var telecam_speed_mult = 4 var telecam_speed_mult = 4
var enabled = true var enabled = true
var cooldown = 2 var cooldown = 2
var is_interactable = false var _is_interactable = false
func disable(): func disable():
enabled = false enabled = false
@@ -17,10 +17,12 @@ func enable():
enabled = true enabled = true
$Sprite2D.modulate = Color.WHITE $Sprite2D.modulate = Color.WHITE
func _process(delta: float) -> void: func is_interactable() -> bool:
if not (is_interactable and Input.is_action_just_released("interact")): return _is_interactable
return
func interact() -> void:
if not is_interactable():
return
interacted.emit() interacted.emit()
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
@@ -29,9 +31,13 @@ func _physics_process(delta: float) -> void:
func _on_approach(body) -> void: func _on_approach(body) -> void:
if body!=%Player2D: if body!=%Player2D:
return return
is_interactable = true _is_interactable = true
self.add_to_group("nearby_interactables")
$Sprite2D/ButtonPrompt.show()
func _on_abandon(body) -> void: func _on_abandon(body) -> void:
if body!=%Player2D: if body!=%Player2D:
return return
is_interactable = false _is_interactable = false
self.remove_from_group("nearby_interactables")
$Sprite2D/ButtonPrompt.hide()
+25
View File
@@ -0,0 +1,25 @@
extends Control
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$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": "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." },
{ "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." },
{ "image": "Goatcaphagus",
"text": "Mr. Rhombini stumbles upon an unusual sarcophagus, a blend of ancient craftsmanship and advanced technology. The antenna have been disconnected." },
{ "image": "Activate",
"text": "Mr. Rhombini excitedly connects the antenna. The sarcophagus begins to hum." },
{ "image": "Opensofar",
"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." },
{ "images": ["PossessedbyOC", "Power_source"],
"text": "However, Mr. Rhombini's attention is instantly grabbed by the other object inside the open sarcophagus." },
{ "image": "Glow",
"text": "The Pharaoh's jetpack! Mr. Rhombini wastes no time in putting it on." }
])
func _on_slideshower_finished_playing() -> void:
get_tree().change_scene_to_file("res://world.tscn")
+1
View File
@@ -0,0 +1 @@
uid://bo6557y41ps7i
+18
View File
@@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://p65fagt04vv8"]
[ext_resource type="Script" uid="uid://bo6557y41ps7i" path="res://intro.gd" id="1_ayt76"]
[ext_resource type="PackedScene" uid="uid://rcq5arl8mdes" path="res://Slideshower.tscn" id="1_s2ta7"]
[node name="Intro" type="Control" unique_id=1423273784]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_ayt76")
[node name="Slideshower" parent="." unique_id=776393005 instance=ExtResource("1_s2ta7")]
layout_mode = 1
[connection signal="finished_playing" from="Slideshower" to="." method="_on_slideshower_finished_playing"]
+14
View File
@@ -0,0 +1,14 @@
extends Node2D
func _ready() -> void:
pass
func _process(delta: float) -> void:
pass
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)
print(body)
+1
View File
@@ -0,0 +1 @@
uid://cvguf2l65n7xa
+32
View File
@@ -0,0 +1,32 @@
[gd_scene format=3 uid="uid://b1ccvtwwb1cl7"]
[ext_resource type="PackedScene" uid="uid://c8m4d77hcr0pj" path="res://spike.tscn" id="1_phdmj"]
[ext_resource type="Script" uid="uid://cvguf2l65n7xa" path="res://long_floor_spike.gd" id="1_rwckv"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_phdmj"]
size = Vector2(74, 9)
[node name="Spike" type="Node2D" unique_id=1739014101]
script = ExtResource("1_rwckv")
[node name="Spike" parent="." unique_id=324768327 instance=ExtResource("1_phdmj")]
[node name="Spike2" parent="." unique_id=1119131696 instance=ExtResource("1_phdmj")]
position = Vector2(15, 0)
[node name="Spike5" parent="." unique_id=356301870 instance=ExtResource("1_phdmj")]
position = Vector2(30, 0)
[node name="Spike3" parent="." unique_id=1414181030 instance=ExtResource("1_phdmj")]
position = Vector2(-15, 0)
[node name="Spike4" parent="." unique_id=333001001 instance=ExtResource("1_phdmj")]
position = Vector2(-30, 0)
[node name="Area2D" type="Area2D" parent="." unique_id=2124972792]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=371031870]
position = Vector2(0, 5.5)
shape = SubResource("RectangleShape2D_phdmj")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+48 -1
View File
@@ -1,14 +1,61 @@
extends CanvasLayer extends CanvasLayer
var disks_wanted = [1, 2, 3, 4]
var disks_loaded = []
var starting_integrity = 2
var total_integrity = starting_integrity + len(disks_wanted)
func _ready() -> void: func _ready() -> void:
$ConsoleText.text = $ConsoleText.text % %Pharaoh.get_memory_integrity() $ConsoleText.text = $ConsoleText.text % get_memory_integrity()
func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded):
return false
disks_loaded.push_back(disk_num)
disks_wanted.remove_at(disks_wanted.find(disk_num))
print("Loaded up disk ", disk_num)
printline(
">> Loaded data disk %d (of %d). Memory integrity now at %d%%" %
[disk_num, len(disks_wanted) + len(disks_loaded), get_memory_integrity()]
)
if has_finished_initialization():
printline(
">> System initialization complete. Beginning reactivation sequence."
)
printline(
">> Player: Press [E] or [Space] to return to the outside world."
)
return true
func get_next_disk_num() -> int:
if disks_wanted.is_empty():
return 0
return disks_wanted.front()
func get_memory_integrity():
return 100.0 / total_integrity * (starting_integrity + len(disks_loaded))
func has_finished_initialization() -> bool:
return disks_wanted.is_empty()
func open() -> void: func open() -> void:
visible = true visible = true
$BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader.show()
%Player2D/Parallax2D.hide()
func printline(line: String) -> void: func printline(line: String) -> void:
open() open()
$ConsoleText.text += "\n" + line $ConsoleText.text += "\n" + line
func close() -> void: func close() -> void:
if has_finished_initialization():
get_tree().quit()
visible = false visible = false
$BackgroundPanel/ForegroundPanel/ScreenPanel/OldComputerShader.hide()
%Player2D/Parallax2D.show()
+16 -35
View File
@@ -1,49 +1,30 @@
extends Interactable extends Interactable
var disks_wanted = [1, 2, 3, 4]
var disks_loaded = []
var starting_integrity = 2
var total_integrity = starting_integrity + len(disks_wanted)
func load_disk(disk_num: int) -> bool:
if !disk_num or (disk_num in disks_loaded):
return false
disks_loaded.push_back(disk_num)
disks_wanted.remove_at(disks_wanted.find(disk_num))
return true
func get_memory_integrity():
return 100.0 / total_integrity * (starting_integrity + len(disks_loaded))
func _on_interacted() -> void: func _on_interacted() -> void:
#%OldComputer.open() %OldComputer.open()
var wanted_disk = disks_wanted.front() #Accomodate some collision antics.
var new_spawn_point = global_position + Vector2(0,-10)
if %Player2D.spawn_point != new_spawn_point:
%Player2D.spawn_point = new_spawn_point
%OldComputer.printline(">> Respawn point set to %s" % new_spawn_point)
%Player2D.spawn_point = position var wanted_disk = %OldComputer.get_next_disk_num()
if not %Player2D.take_disk(wanted_disk): if %Player2D.complete_objective("sarc"):
if wanted_disk == 1 and not %Player2D.has_objective("disk%d" % wanted_disk): %OldComputer.open()
%OldComputer.open() %Player2D.give_objective(
%Player2D.give_objective( "disk%d" % wanted_disk,
"disk%d" % wanted_disk, wanted_disk, "Locate data disk %d" % wanted_disk
wanted_disk, "Locate data disk %d" % wanted_disk )
)
return return
if not load_disk(wanted_disk): if not (%Player2D.take_disk(wanted_disk) and %OldComputer.load_disk(wanted_disk)):
return return
%Player2D.complete_objective("disk%d" % wanted_disk) %Player2D.complete_objective("disk%d" % wanted_disk)
print("Loaded up disk ", wanted_disk) wanted_disk = %OldComputer.get_next_disk_num()
%OldComputer.printline(
">> Loaded data disk %d (of %d). Memory integrity now at %d%%" %
[wanted_disk, len(disks_wanted) + len(disks_loaded), get_memory_integrity()]
)
wanted_disk = disks_wanted.front()
if (not wanted_disk) or %Player2D.has_disk(wanted_disk): if (not wanted_disk) or %Player2D.has_disk(wanted_disk):
return return
+8
View File
@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"] [ext_resource type="Script" uid="uid://bh588bpddschq" path="res://pharaoh.gd" id="1_mt7kg"]
[ext_resource type="Texture2D" uid="uid://b2nldodte5p6s" path="res://art/sarco_closed.png" id="2_mt7kg"] [ext_resource type="Texture2D" uid="uid://b2nldodte5p6s" path="res://art/sarco_closed.png" id="2_mt7kg"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_6vea8"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32) size = Vector2(26, 32)
@@ -10,6 +11,7 @@ size = Vector2(26, 32)
script = ExtResource("1_mt7kg") script = ExtResource("1_mt7kg")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216] [node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
position = Vector2(0, -16)
texture = ExtResource("2_mt7kg") texture = ExtResource("2_mt7kg")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824] [node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
@@ -17,6 +19,12 @@ texture = ExtResource("2_mt7kg")
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165] [node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("RectangleShape2D_eumkw") shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1864817335]
visible = false
position = Vector2(0, -24)
scale = Vector2(0.8, 0.8)
texture = ExtResource("3_6vea8")
[connection signal="interacted" from="." to="." method="_on_interacted"] [connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"] [connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"] [connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
+29 -12
View File
@@ -7,16 +7,19 @@ const FRICTION = 100
const GRAVITY_MULT = 0.8 const GRAVITY_MULT = 0.8
const JUMP_VELOCITY = -410.0 const JUMP_VELOCITY = -410.0
const DASH_LENGTH = 0.2 const DASH_LENGTH = 0.2
const BACKGROUND_COLOR = Color.SANDY_BROWN const BACKGROUND_COLOR = Color(Color.ORANGE.r + 0.80,Color.ORANGE.g + 0.20,Color.ORANGE.b - 0.10)
var death_cooldown = 0.0
var fall_timer = 0.0 var fall_timer = 0.0
var teleport_cooldown = 0 var teleport_cooldown = 0
var jumps = 0 var jumps = 0
var dashes = 1 var dashes = 1
var dashing = false var dashing = false
var death_threshold = 1000 var death_threshold = 2000
var coins = 0 var coins = 0
var spawn_point var spawn_point
var last_ground_point
var data_disks = [] var data_disks = []
var objectives = {} var objectives = {}
@@ -24,6 +27,8 @@ var objectives = {}
func _ready() -> void: 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")
#%Dialogue.show_text("Hello world!").dismiss_after(2)
func refresh_dash(new_dashes): func refresh_dash(new_dashes):
if new_dashes: if new_dashes:
@@ -91,6 +96,7 @@ func spawn_ghost(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):
death_cooldown += 1
if !instant: if !instant:
await get_tree().create_timer(0.1).timeout await get_tree().create_timer(0.1).timeout
get_tree().paused = true get_tree().paused = true
@@ -107,14 +113,27 @@ func on_death(instant = false, player_position = position):
get_tree().paused = false get_tree().paused = false
#position = %LevelStart.position #position = %LevelStart.position
position = spawn_point velocity = Vector2(0,0)
position = spawn_point + Vector2(0,-100)
await get_tree().create_timer(0.1).timeout
death_cooldown = 0
func _process(delta: float) -> void: func _process(delta: float) -> void:
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")):
get_tree().reload_current_scene() get_tree().reload_current_scene()
if is_on_floor():
last_ground_point = global_position
#spawn_point = last_ground_point
if %OldComputer.visible:
if Input.is_action_just_released("interact") or Input.is_action_just_released("jump"):
%OldComputer.close()
return
if Input.is_action_just_released("interact"): if Input.is_action_just_released("interact"):
%OldComputer.close() for interactable in get_tree().get_nodes_in_group("nearby_interactables"):
interactable.interact()
if Input.is_action_just_pressed("jump"): if Input.is_action_just_pressed("jump"):
%OldComputer.close() %OldComputer.close()
@@ -128,15 +147,15 @@ func _process(delta: float) -> void:
$Jetpack/DoubleJumpSound.play() $Jetpack/DoubleJumpSound.play()
if jumps == 0: if jumps == 0:
$Jetpack/JumpIndicator.hide() $Jetpack/JumpIndicator.hide()
if Input.is_action_just_released("jump"):
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") print("WALL HANGING")
#velocity.y = 0 #velocity.y = 0
#velocity.x = 0 #velocity.x = 0
if %OldComputer.visible:
return
var direction = Input.get_axis("move_left","move_right") var direction = Input.get_axis("move_left","move_right")
if direction < 0: if direction < 0:
@@ -147,9 +166,7 @@ func _process(delta: float) -> void:
$Sprite2D/HatSprite.flip_h = false $Sprite2D/HatSprite.flip_h = false
if Input.is_action_pressed("dash_down") and is_on_floor(): if Input.is_action_pressed("dash_down") and is_on_floor():
print("Crouching")
$Sprite2D.play("crouch") $Sprite2D.play("crouch")
print("MODULATE: " + str($Parallax2D/Sprite2D.modulate))
$Parallax2D/Sprite2D.modulate = Color.CYAN $Parallax2D/Sprite2D.modulate = Color.CYAN
for hidden_object in get_tree().get_nodes_in_group("Hidden"): for hidden_object in get_tree().get_nodes_in_group("Hidden"):
@@ -178,8 +195,9 @@ func _process(delta: float) -> void:
$Sprite2D/HatSprite.play("idle") $Sprite2D/HatSprite.play("idle")
$Parallax2D/Sprite2D.modulate = BACKGROUND_COLOR $Parallax2D/Sprite2D.modulate = BACKGROUND_COLOR
for hidden_object in get_tree().get_nodes_in_group("Hidden"): if get_tree():
hidden_object.hide() for hidden_object in get_tree().get_nodes_in_group("Hidden"):
hidden_object.hide()
#Falling to death. #Falling to death.
if position.y >= death_threshold: if position.y >= death_threshold:
@@ -207,7 +225,6 @@ func _process(delta: float) -> void:
#get_tree().reload_current_scene() #get_tree().reload_current_scene()
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
if not is_on_floor(): if not is_on_floor():
velocity += (get_gravity() * GRAVITY_MULT) * delta velocity += (get_gravity() * GRAVITY_MULT) * delta
+9 -5
View File
@@ -124,10 +124,12 @@ animations = [{
"speed": 5.0 "speed": 5.0
}] }]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fj7yv"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ix7pg"]
size = Vector2(10, 16) radius = 6.0
height = 12.0
[node name="Player2D" type="CharacterBody2D" unique_id=889851478] [node name="Player2D" type="CharacterBody2D" unique_id=889851478]
safe_margin = 0.06
script = ExtResource("1_sy00s") script = ExtResource("1_sy00s")
[node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239] [node name="BackgroundMusic" type="AudioStreamPlayer2D" parent="." unique_id=299359239]
@@ -139,6 +141,7 @@ script = ExtResource("3_sxtm6")
[node name="WarpShader" type="MeshInstance2D" parent="CanvasLayer2" unique_id=88397728] [node name="WarpShader" type="MeshInstance2D" parent="CanvasLayer2" unique_id=88397728]
material = SubResource("ShaderMaterial_pmt5n") material = SubResource("ShaderMaterial_pmt5n")
position = Vector2(0, -1)
mesh = SubResource("QuadMesh_nj6as") mesh = SubResource("QuadMesh_nj6as")
script = ExtResource("4_pmt5n") script = ExtResource("4_pmt5n")
@@ -148,7 +151,7 @@ texture = ExtResource("4_nj6as")
[node name="Parallax2D" type="Parallax2D" parent="." unique_id=270393374] [node name="Parallax2D" type="Parallax2D" parent="." unique_id=270393374]
repeat_size = Vector2(1280, 720) repeat_size = Vector2(1280, 720)
autoscroll = Vector2(5, 0) autoscroll = Vector2(1, 0)
follow_viewport = false follow_viewport = false
ignore_camera_scroll = true ignore_camera_scroll = true
@@ -157,7 +160,7 @@ scale = Vector2(3, 3)
texture = ExtResource("3_p3026") texture = ExtResource("3_p3026")
[node name="Camera2D" type="Camera2D" parent="." unique_id=962368438] [node name="Camera2D" type="Camera2D" parent="." unique_id=962368438]
zoom = Vector2(1.75, 1.75) zoom = Vector2(2.2, 2.2)
process_callback = 0 process_callback = 0
position_smoothing_enabled = true position_smoothing_enabled = true
@@ -220,4 +223,5 @@ stream = ExtResource("20_l50qk")
stream = ExtResource("20_1741q") stream = ExtResource("20_1741q")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021] [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1294571021]
shape = SubResource("RectangleShape2D_fj7yv") position = Vector2(0, 3)
shape = SubResource("CapsuleShape2D_ix7pg")
+10 -2
View File
@@ -11,7 +11,7 @@ config_version=5
[application] [application]
config/name="JumpRope" config/name="JumpRope"
run/main_scene="uid://iivvrut0lfsr" run/main_scene="uid://p65fagt04vv8"
config/features=PackedStringArray("4.8", "Forward Plus") config/features=PackedStringArray("4.8", "Forward Plus")
boot_splash/image="uid://dhue32shjdpt8" boot_splash/image="uid://dhue32shjdpt8"
config/icon="res://icon.svg" config/icon="res://icon.svg"
@@ -123,7 +123,7 @@ move_left={
)] )]
} }
jump={ jump={
"deadzone": 0.2, "deadzone": 0.0,
"events": [Object(InputEventJoypadButton, "events": [Object(InputEventJoypadButton,
"resource_local_to_scene": false, "resource_local_to_scene": false,
"resource_name": "", "resource_name": "",
@@ -383,6 +383,14 @@ interact={
"location": 0, "location": 0,
"echo": false, "echo": false,
"script": null "script": null
), Object(InputEventJoypadButton,
"resource_local_to_scene": false,
"resource_name": "",
"device": -1,
"button_index": 1,
"pressure": 0.0,
"pressed": true,
"script": null
)] )]
} }
+3 -3
View File
@@ -4,8 +4,8 @@
shader_type canvas_item; shader_type canvas_item;
render_mode unshaded, skip_vertex_transform; render_mode unshaded, skip_vertex_transform;
const float curvature = 3.4; const float curvature = 3.5;
const float vignette_multiplier = 0.6; const float vignette_multiplier = 0.7;
uniform sampler2D screen_texture: hint_screen_texture; uniform sampler2D screen_texture: hint_screen_texture;
@@ -14,7 +14,7 @@ void fragment() {
vec2 uv_offset = centered_uv.yx / curvature; vec2 uv_offset = centered_uv.yx / curvature;
vec2 warped_uv = centered_uv + centered_uv * uv_offset * uv_offset; vec2 warped_uv = centered_uv + centered_uv * uv_offset * uv_offset;
vec3 cutoff = vec3(step(abs(warped_uv.x), 1.0) * step(abs(warped_uv.y), 1.0)); vec3 cutoff = vec3(step(abs(warped_uv.x), 1.0) * step(abs(warped_uv.y), 1.0));
vec3 scanlines = vec3(sin(1.5 * warped_uv.y * 720.0) * 0.25 + 0.75); vec3 scanlines = vec3(sin(1.5 * warped_uv.y * 720.0) * 0.35 + 0.75);
vec3 vignette = vec3(length(pow(abs(centered_uv), vec2(4.0)) / 3.0)); vec3 vignette = vec3(length(pow(abs(centered_uv), vec2(4.0)) / 3.0));
vec3 screen_color = texture(screen_texture, (warped_uv + 1.0) / 2.0).rgb * (scanlines * 1.3); vec3 screen_color = texture(screen_texture, (warped_uv + 1.0) / 2.0).rgb * (scanlines * 1.3);
+7
View File
@@ -0,0 +1,7 @@
extends Interactable
@export var sign_text = ""
@export var text_dismiss_timer = 2
func _on_interacted() -> void:
%Dialogue.show_text(sign_text).dismiss_after(text_dismiss_timer)
+1
View File
@@ -0,0 +1 @@
uid://dvo0iux2pcggi
+31
View File
@@ -0,0 +1,31 @@
[gd_scene format=3 uid="uid://bnkbkfto83owf"]
[ext_resource type="Script" uid="uid://dvo0iux2pcggi" path="res://sign.gd" id="1_q3tny"]
[ext_resource type="Texture2D" uid="uid://djlqqmqpsd0kc" path="res://art/sign.png" id="2_q3tny"]
[ext_resource type="Texture2D" uid="uid://d0cd1alr8k706" path="res://art/interact_button.png" id="3_e8cgb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_eumkw"]
size = Vector2(26, 32)
[node name="Sign" type="Node2D" unique_id=1201409437]
script = ExtResource("1_q3tny")
text_dismiss_timer = 3
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
position = Vector2(0, -16)
texture = ExtResource("2_q3tny")
[node name="Area2D" type="Area2D" parent="Sprite2D" unique_id=2050186824]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprite2D/Area2D" unique_id=1560168165]
shape = SubResource("RectangleShape2D_eumkw")
[node name="ButtonPrompt" type="Sprite2D" parent="Sprite2D" unique_id=1864817335]
visible = false
position = Vector2(0, -8.000002)
scale = Vector2(0.8, 0.8)
texture = ExtResource("3_e8cgb")
[connection signal="interacted" from="." to="." method="_on_interacted"]
[connection signal="body_entered" from="Sprite2D/Area2D" to="." method="_on_approach"]
[connection signal="body_exited" from="Sprite2D/Area2D" to="." method="_on_abandon"]
+57
View File
@@ -0,0 +1,57 @@
class_name Slideshower
extends Control
signal finished_playing
var slides = []
var slide = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
func play_slideshow(new_slides) -> void:
slides = new_slides
play_slide(0)
func _make_image_path(image_name: String) -> String:
if image_name.begins_with("res://"):
return image_name
return "res://art/slides/%s.png" % image_name
func play_slide(index) -> bool:
if index < 0 or index >= len(slides):
return false
slide = index
var slide_object = slides[index]
$VSplitContainer/TextFrame/SlideText.text = slide_object.text
if "image" in slides[index]:
$VSplitContainer/ImageFrame/SlideContainer/SlideImage.texture = load(_make_image_path(slide_object.image))
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.visible = false
else:
$VSplitContainer/ImageFrame/SlideContainer/SlideImage.texture = load(_make_image_path(slide_object.images[0]))
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.visible = true
$VSplitContainer/ImageFrame/SlideContainer/SlideImage2.texture = load(_make_image_path(slide_object.images[1]))
return true
func next_slide() -> bool:
var success = play_slide(slide + 1)
if not success:
finished_playing.emit()
return success
func prev_slide() -> bool:
return play_slide(slide - 1)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Input.is_action_just_released("interact") or Input.is_action_just_released("jump") or Input.is_action_just_released("move_right"):
next_slide()
if Input.is_action_just_released("move_left"):
prev_slide()
func _on_continue_button_pressed() -> void:
next_slide()
+1
View File
@@ -0,0 +1 @@
uid://bdv4qahk8mumv
+1 -2
View File
@@ -7,9 +7,8 @@ func _process(delta: float) -> void:
pass pass
func on_contact(body: Node2D) -> void: func on_contact(body: Node2D) -> void:
if body==%Player2D: if body==%Player2D and %Player2D.death_cooldown == 0:
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) print(body)
+2 -2
View File
@@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://bu5wgerfu7cbc" path="res://art/spike.png" id="2_7k7bx"] [ext_resource type="Texture2D" uid="uid://bu5wgerfu7cbc" path="res://art/spike.png" id="2_7k7bx"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_xfwl5"]
size = Vector2(15, 12) size = Vector2(15, 7.5)
[node name="Spike" type="Node2D" unique_id=1739014101] [node name="Spike" type="Node2D" unique_id=1739014101]
script = ExtResource("1_7k7bx") script = ExtResource("1_7k7bx")
@@ -17,7 +17,7 @@ texture = ExtResource("2_7k7bx")
[node name="Area2D" type="Area2D" parent="." unique_id=170499029] [node name="Area2D" type="Area2D" parent="." unique_id=170499029]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056] [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D" unique_id=1865546056]
position = Vector2(-0.5, 0) position = Vector2(0, 4.75)
shape = SubResource("RectangleShape2D_xfwl5") shape = SubResource("RectangleShape2D_xfwl5")
[connection signal="body_entered" from="Area2D" to="." method="on_contact"] [connection signal="body_entered" from="Area2D" to="." method="on_contact"]
+1 -1
View File
@@ -23,7 +23,7 @@ animations = [{
}] }]
[sub_resource type="CircleShape2D" id="CircleShape2D_7k7bx"] [sub_resource type="CircleShape2D" id="CircleShape2D_7k7bx"]
radius = 14.0 radius = 9.0
[node name="Teleporter" type="Node2D" unique_id=1201409437] [node name="Teleporter" type="Node2D" unique_id=1201409437]
script = ExtResource("1_tuehi") script = ExtResource("1_tuehi")
+30
View File
@@ -0,0 +1,30 @@
[gd_resource type="Theme" format=3 uid="uid://bmerl7q2g67v4"]
[ext_resource type="FontFile" uid="uid://bj1s6gf1eckfn" path="res://fonts/FingerPaint-Regular.ttf" id="1_wnb1w"]
[resource]
default_font = ExtResource("1_wnb1w")
default_font_size = 40
Button/fonts/font = ExtResource("1_wnb1w")
FoldableContainer/fonts/font = ExtResource("1_wnb1w")
Font/colors/FontColor = Color(0.14586785, 0.14586785, 0.14586785, 1)
Font/font_sizes/FontSize = 80
ItemList/fonts/font = ExtResource("1_wnb1w")
Label/fonts/font = ExtResource("1_wnb1w")
LineEdit/fonts/font = ExtResource("1_wnb1w")
LinkButton/fonts/font = ExtResource("1_wnb1w")
MenuBar/fonts/font = ExtResource("1_wnb1w")
PopupMenu/fonts/font = ExtResource("1_wnb1w")
PopupMenu/fonts/font_separator = ExtResource("1_wnb1w")
ProgressBar/fonts/font = ExtResource("1_wnb1w")
RichTextLabel/fonts/bold_font = ExtResource("1_wnb1w")
RichTextLabel/fonts/bold_italics_font = ExtResource("1_wnb1w")
RichTextLabel/fonts/italics_font = ExtResource("1_wnb1w")
RichTextLabel/fonts/mono_font = ExtResource("1_wnb1w")
RichTextLabel/fonts/normal_font = ExtResource("1_wnb1w")
TabBar/fonts/font = ExtResource("1_wnb1w")
TabContainer/fonts/font = ExtResource("1_wnb1w")
TextEdit/fonts/font = ExtResource("1_wnb1w")
Tree/fonts/font = ExtResource("1_wnb1w")
Tree/fonts/title_button_font = ExtResource("1_wnb1w")
Window/fonts/title_font = ExtResource("1_wnb1w")
+18
View File
@@ -0,0 +1,18 @@
[gd_scene format=3 uid="uid://byfgwmvln8ukh"]
[ext_resource type="Texture2D" uid="uid://blbaaqyrt8dtk" path="res://art/block/block.png" id="1_j20nc"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"]
size = Vector2(16, 16)
[node name="Block" type="RigidBody2D" unique_id=1409784601]
gravity_scale = 0.0
freeze = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047]
shape = SubResource("RectangleShape2D_f3sb7")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1680278216]
texture_filter = 1
rotation = 1.5707964
texture = ExtResource("1_j20nc")
+1 -1
View File
@@ -111,7 +111,7 @@ body {
<script src="index.js"></script> <script src="index.js"></script>
<script> <script>
const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":7850112,"index.wasm":32537295},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4}; const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":15227116,"index.wasm":32537295},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4};
const GODOT_THREADS_ENABLED = false; const GODOT_THREADS_ENABLED = false;
const engine = new Engine(GODOT_CONFIG); const engine = new Engine(GODOT_CONFIG);
Binary file not shown.
Binary file not shown.
+499 -78
View File
@@ -18,7 +18,15 @@
[ext_resource type="Script" uid="uid://d3rx82psovcpp" path="res://music_button.gd" id="14_70uel"] [ext_resource type="Script" uid="uid://d3rx82psovcpp" path="res://music_button.gd" id="14_70uel"]
[ext_resource type="Script" uid="uid://oyyhhy1gemg0" path="res://objectives_label.gd" id="14_ikiii"] [ext_resource type="Script" uid="uid://oyyhhy1gemg0" path="res://objectives_label.gd" id="14_ikiii"]
[ext_resource type="PackedScene" uid="uid://dr8h8xij3qw2h" path="res://pharaoh.tscn" id="15_hiqwa"] [ext_resource type="PackedScene" uid="uid://dr8h8xij3qw2h" path="res://pharaoh.tscn" id="15_hiqwa"]
[ext_resource type="PackedScene" uid="uid://bla1cfndgad0" path="res://Dialogue.tscn" id="19_26xuy"]
[ext_resource type="PackedScene" uid="uid://bcu7ftukipiyy" path="res://OldComputer.tscn" id="19_cbp6q"] [ext_resource type="PackedScene" uid="uid://bcu7ftukipiyy" path="res://OldComputer.tscn" id="19_cbp6q"]
[ext_resource type="PackedScene" uid="uid://b5ssjxl1l3fx0" path="res://hidden_vertical_long_block.tscn" id="20_26xuy"]
[ext_resource type="PackedScene" uid="uid://ch0417iiviaxb" path="res://hidden_horizontal_long_block.tscn" id="21_bc84e"]
[ext_resource type="PackedScene" uid="uid://be757jqlv785s" path="res://hidden_coin.tscn" id="22_wukud"]
[ext_resource type="PackedScene" uid="uid://bnkbkfto83owf" path="res://sign.tscn" id="24_wjb0r"]
[ext_resource type="PackedScene" uid="uid://byfgwmvln8ukh" path="res://vertical_block.tscn" id="25_mc2jv"]
[ext_resource type="PackedScene" uid="uid://dt43trxumfv0i" path="res://hidden_sign.tscn" id="26_bo7i5"]
[ext_resource type="PackedScene" uid="uid://b1ccvtwwb1cl7" path="res://long_floor_spike.tscn" id="27_4h6ng"]
[node name="World" type="Node2D" unique_id=1327991900] [node name="World" type="Node2D" unique_id=1327991900]
process_mode = 1 process_mode = 1
@@ -26,29 +34,112 @@ scale = Vector2(1, 1.0155824)
[node name="Player2D" parent="." unique_id=889851478 instance=ExtResource("1_aqk2v")] [node name="Player2D" parent="." unique_id=889851478 instance=ExtResource("1_aqk2v")]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2(-1004, -1335.1945) position = Vector2(-4838, 217.6091)
rotation = 0.0005533503
safe_margin = 0.08
[node name="StartingArea" type="Node2D" parent="." unique_id=130240736] [node name="StartingArea" type="Node2D" parent="." unique_id=130240736]
position = Vector2(-842, -1300.7314) position = Vector2(-4673, 390.9087)
[node name="LevelStart" parent="StartingArea" unique_id=2121809777 instance=ExtResource("4_ic0uy")] [node name="LongerBlock" parent="StartingArea" unique_id=1619185575 instance=ExtResource("6_dwbse")]
position = Vector2(-45, -31.508991)
[node name="LongerBlock" parent="StartingArea" unique_id=426800863 instance=ExtResource("6_dwbse")]
position = Vector2(-17, -17.72377) position = Vector2(-17, -17.72377)
[node name="LongerBlock3" parent="StartingArea" unique_id=1122236775 instance=ExtResource("6_dwbse")] [node name="LongerBlock2" parent="StartingArea" unique_id=426800863 instance=ExtResource("6_dwbse")]
position = Vector2(-193, -179.20744) position = Vector2(650, -17.72377)
rotation = 1.5707964
[node name="LongerBlock2" parent="StartingArea" unique_id=75325542 instance=ExtResource("6_dwbse")] [node name="LongerBlock5" parent="StartingArea" unique_id=1844119708 instance=ExtResource("6_dwbse")]
position = Vector2(-17, -65.97195) position = Vector2(1657, -18.708487)
[node name="LongerBlock7" parent="StartingArea" unique_id=2057011049 instance=ExtResource("6_dwbse")]
position = Vector2(2804, -19.693142)
[node name="LongerBlock8" parent="StartingArea" unique_id=74356311 instance=ExtResource("6_dwbse")]
position = Vector2(3174, -427.34094)
[node name="LongerBlock11" parent="StartingArea" unique_id=624436532 instance=ExtResource("6_dwbse")]
position = Vector2(3390, -1028.9663)
[node name="LongerBlock9" parent="StartingArea" unique_id=1224082804 instance=ExtResource("6_dwbse")]
position = Vector2(3723, -1028.9663)
[node name="LongerBlock10" parent="StartingArea" unique_id=1214700549 instance=ExtResource("6_dwbse")]
position = Vector2(4059, -1028.9662)
[node name="LongerBlock12" parent="StartingArea" unique_id=7918031 instance=ExtResource("6_dwbse")]
position = Vector2(4394, -1028.9662)
[node name="Pharaoh" parent="StartingArea" unique_id=1201409437 instance=ExtResource("15_hiqwa")] [node name="Pharaoh" parent="StartingArea" unique_id=1201409437 instance=ExtResource("15_hiqwa")]
position = Vector2(-62, -39.38623) position = Vector2(-62, -24.616333)
[node name="Pharaoh2" parent="StartingArea" unique_id=472779826 instance=ExtResource("15_hiqwa")]
position = Vector2(615, -24.616425)
[node name="Pharaoh3" parent="StartingArea" unique_id=1148075738 instance=ExtResource("15_hiqwa")]
position = Vector2(1609, -26.585724)
[node name="Pharaoh4" parent="StartingArea" unique_id=764966940 instance=ExtResource("15_hiqwa")]
position = Vector2(2751, -27.570404)
[node name="Pharaoh5" parent="StartingArea" unique_id=2064737854 instance=ExtResource("15_hiqwa")]
position = Vector2(3089, -433.24902)
[node name="LongBlock" parent="StartingArea" unique_id=426647893 instance=ExtResource("3_dwbse")]
position = Vector2(207, -17.72382)
[node name="Tutorial" type="Node2D" parent="." unique_id=1391494772] [node name="Tutorial" type="Node2D" parent="." unique_id=1391494772]
[node name="Block2" parent="Tutorial" unique_id=878186522 instance=ExtResource("2_036b0")]
position = Vector2(55, 118)
[node name="LongBlock3" parent="Tutorial" unique_id=1035095840 instance=ExtResource("3_dwbse")]
position = Vector2(950, 505.12885)
[node name="VerticalLongBlock2" parent="Tutorial" unique_id=1984351408 instance=ExtResource("4_pkg7o")]
position = Vector2(1695, 192.9927)
[node name="VerticalLongBlock3" parent="Tutorial" unique_id=485343370 instance=ExtResource("4_pkg7o")]
position = Vector2(1695, 81.72651)
[node name="VerticalLongBlock4" parent="Tutorial" unique_id=977741022 instance=ExtResource("4_pkg7o")]
position = Vector2(1589, 139.82124)
[node name="VerticalLongBlock5" parent="Tutorial" unique_id=923671040 instance=ExtResource("4_pkg7o")]
position = Vector2(1589, 29.539703)
[node name="Spike24" parent="Tutorial" unique_id=741914042 instance=ExtResource("12_k3n1d")]
position = Vector2(954, 520.88336)
rotation = -3.1415925
[node name="Spike25" parent="Tutorial" unique_id=1430493985 instance=ExtResource("12_k3n1d")]
position = Vector2(1827, 418.47906)
rotation = -3.1415925
[node name="Spike26" parent="Tutorial" unique_id=1849441610 instance=ExtResource("12_k3n1d")]
position = Vector2(1812, 418.47906)
rotation = -3.1415925
[node name="Spike27" parent="Tutorial" unique_id=102008874 instance=ExtResource("12_k3n1d")]
position = Vector2(1797, 418.47906)
rotation = -3.1415925
[node name="Spike28" parent="Tutorial" unique_id=1200843252 instance=ExtResource("12_k3n1d")]
position = Vector2(1871, 418.4791)
rotation = -3.1415925
[node name="LongBlock12" parent="Tutorial" unique_id=1003210040 instance=ExtResource("3_dwbse")]
position = Vector2(1299, 539.5918)
[node name="Spike29" parent="Tutorial" unique_id=1503247741 instance=ExtResource("12_k3n1d")]
position = Vector2(1303, 555.34625)
rotation = -3.1415925
[node name="LongBlock13" parent="Tutorial" unique_id=483038350 instance=ExtResource("3_dwbse")]
position = Vector2(1837, 628.21094)
[node name="Spike30" parent="Tutorial" unique_id=1550792049 instance=ExtResource("12_k3n1d")]
position = Vector2(1841, 643.96545)
rotation = -3.1415925
[node name="LongBlock7" parent="Tutorial" unique_id=1405051006 instance=ExtResource("6_dwbse")] [node name="LongBlock7" parent="Tutorial" unique_id=1405051006 instance=ExtResource("6_dwbse")]
position = Vector2(1946, 401.7399) position = Vector2(1946, 401.7399)
@@ -74,11 +165,41 @@ position = Vector2(663, -109.296875)
position = Vector2(999, -109.296875) position = Vector2(999, -109.296875)
[node name="LongBlock7" parent="Tutorial/LongBlock8/LongBlock8/LongBlock8/LongBlock8" unique_id=557909882 instance=ExtResource("6_dwbse")] [node name="LongBlock7" parent="Tutorial/LongBlock8/LongBlock8/LongBlock8/LongBlock8" unique_id=557909882 instance=ExtResource("6_dwbse")]
position = Vector2(663, -109.296875) position = Vector2(663, -109.29692)
[node name="LongBlock8" parent="Tutorial/LongBlock8/LongBlock8/LongBlock8/LongBlock8" unique_id=734234422 instance=ExtResource("6_dwbse")] [node name="LongBlock8" parent="Tutorial/LongBlock8/LongBlock8/LongBlock8/LongBlock8" unique_id=734234422 instance=ExtResource("6_dwbse")]
position = Vector2(999, -109.296875) position = Vector2(999, -109.296875)
[node name="LongBlock9" parent="Tutorial" unique_id=1208313767 instance=ExtResource("6_dwbse")]
position = Vector2(744, 1631.576)
[node name="LongBlock10" parent="Tutorial" unique_id=1996158905 instance=ExtResource("6_dwbse")]
position = Vector2(1080, 1631.576)
[node name="LongBlock7" parent="Tutorial/LongBlock10" unique_id=228676958 instance=ExtResource("6_dwbse")]
position = Vector2(663, -109.296875)
[node name="LongBlock8" parent="Tutorial/LongBlock10" unique_id=457017111 instance=ExtResource("6_dwbse")]
position = Vector2(999, -109.296875)
[node name="LongBlock7" parent="Tutorial/LongBlock10/LongBlock8" unique_id=50363720 instance=ExtResource("6_dwbse")]
position = Vector2(188, -613.4411)
[node name="LongBlock8" parent="Tutorial/LongBlock10/LongBlock8" unique_id=1860419138 instance=ExtResource("6_dwbse")]
position = Vector2(765, -254.04141)
[node name="LongBlock7" parent="Tutorial/LongBlock10/LongBlock8/LongBlock8" unique_id=411227111 instance=ExtResource("6_dwbse")]
position = Vector2(-1075, -89.60374)
[node name="LongBlock8" parent="Tutorial/LongBlock10/LongBlock8/LongBlock8" unique_id=1438907479 instance=ExtResource("6_dwbse")]
position = Vector2(-806, 950.1936)
[node name="LongBlock7" parent="Tutorial/LongBlock10/LongBlock8/LongBlock8/LongBlock8" unique_id=791758892 instance=ExtResource("6_dwbse")]
position = Vector2(663, -109.29692)
[node name="LongBlock8" parent="Tutorial/LongBlock10/LongBlock8/LongBlock8/LongBlock8" unique_id=114900579 instance=ExtResource("6_dwbse")]
position = Vector2(-580, -1348.9796)
[node name="LevelStart" parent="Tutorial" unique_id=1489270643 instance=ExtResource("4_ic0uy")] [node name="LevelStart" parent="Tutorial" unique_id=1489270643 instance=ExtResource("4_ic0uy")]
unique_name_in_owner = true unique_name_in_owner = true
visible = false visible = false
@@ -114,6 +235,36 @@ position = Vector2(1515, 384.01605)
[node name="Spike10" parent="Tutorial" unique_id=1398183079 instance=ExtResource("12_k3n1d")] [node name="Spike10" parent="Tutorial" unique_id=1398183079 instance=ExtResource("12_k3n1d")]
position = Vector2(1528, 383.03143) position = Vector2(1528, 383.03143)
[node name="Spike14" parent="Tutorial" unique_id=2022398205 instance=ExtResource("12_k3n1d")]
position = Vector2(2143, 892.0989)
[node name="Spike15" parent="Tutorial" unique_id=2049081011 instance=ExtResource("12_k3n1d")]
position = Vector2(2156, 891.11426)
[node name="Spike16" parent="Tutorial" unique_id=895962366 instance=ExtResource("12_k3n1d")]
position = Vector2(1788, 609.5024)
[node name="Spike17" parent="Tutorial" unique_id=1118175252 instance=ExtResource("12_k3n1d")]
position = Vector2(1801, 608.51776)
[node name="Spike18" parent="Tutorial" unique_id=906816478 instance=ExtResource("12_k3n1d")]
position = Vector2(1722, 1162.8794)
[node name="Spike19" parent="Tutorial" unique_id=847676590 instance=ExtResource("12_k3n1d")]
position = Vector2(1735, 1161.8948)
[node name="Spike20" parent="Tutorial" unique_id=889233939 instance=ExtResource("12_k3n1d")]
position = Vector2(1611, 1161.8949)
[node name="Spike21" parent="Tutorial" unique_id=183241466 instance=ExtResource("12_k3n1d")]
position = Vector2(1624, 1160.9103)
[node name="Spike22" parent="Tutorial" unique_id=1042460867 instance=ExtResource("12_k3n1d")]
position = Vector2(1583, 1505.54)
[node name="Spike23" parent="Tutorial" unique_id=872178034 instance=ExtResource("12_k3n1d")]
position = Vector2(1596, 1504.5554)
[node name="Spike11" parent="Tutorial" unique_id=887004075 instance=ExtResource("12_k3n1d")] [node name="Spike11" parent="Tutorial" unique_id=887004075 instance=ExtResource("12_k3n1d")]
position = Vector2(1225, 612.4564) position = Vector2(1225, 612.4564)
@@ -205,6 +356,15 @@ position = Vector2(1692, -166.40698)
[node name="Coin11" parent="Tutorial" unique_id=857910277 instance=ExtResource("8_ioo17")] [node name="Coin11" parent="Tutorial" unique_id=857910277 instance=ExtResource("8_ioo17")]
position = Vector2(691, 373.18488) position = Vector2(691, 373.18488)
[node name="Coin25" parent="Tutorial" unique_id=822879149 instance=ExtResource("8_ioo17")]
position = Vector2(348, 1070.3218)
[node name="Coin26" parent="Tutorial" unique_id=744887667 instance=ExtResource("8_ioo17")]
position = Vector2(914, 1665.0543)
[node name="Coin27" parent="Tutorial" unique_id=232633357 instance=ExtResource("8_ioo17")]
position = Vector2(1927, 1551.819)
[node name="Coin12" parent="Tutorial" unique_id=1595757142 instance=ExtResource("8_ioo17")] [node name="Coin12" parent="Tutorial" unique_id=1595757142 instance=ExtResource("8_ioo17")]
position = Vector2(731, 373.18488) position = Vector2(731, 373.18488)
@@ -227,7 +387,7 @@ position = Vector2(213, 95.511696)
disk_num = 1 disk_num = 1
[node name="Disk2" parent="Tutorial" unique_id=369042906 instance=ExtResource("10_2u3nc")] [node name="Disk2" parent="Tutorial" unique_id=369042906 instance=ExtResource("10_2u3nc")]
position = Vector2(285, 96.49635) position = Vector2(7895, -758.1856)
disk_num = 2 disk_num = 2
[node name="Disk3" parent="Tutorial" unique_id=224370384 instance=ExtResource("10_2u3nc")] [node name="Disk3" parent="Tutorial" unique_id=224370384 instance=ExtResource("10_2u3nc")]
@@ -241,81 +401,37 @@ disk_num = 4
[node name="WallSpike" parent="Tutorial" unique_id=287086441 instance=ExtResource("10_hiqwa")] [node name="WallSpike" parent="Tutorial" unique_id=287086441 instance=ExtResource("10_hiqwa")]
position = Vector2(1325, 629.1956) position = Vector2(1325, 629.1956)
[node name="WallSpike6" parent="Tutorial" unique_id=82967982 instance=ExtResource("10_hiqwa")]
position = Vector2(1256, 1631.576)
[node name="WallSpike2" parent="Tutorial" unique_id=234787573 instance=ExtResource("10_hiqwa")] [node name="WallSpike2" parent="Tutorial" unique_id=234787573 instance=ExtResource("10_hiqwa")]
position = Vector2(973, 630.18024) position = Vector2(973, 630.18024)
rotation = 4.712389 rotation = 4.712389
[node name="WallSpike4" parent="Tutorial" unique_id=300845871 instance=ExtResource("10_hiqwa")]
position = Vector2(1596, 1177.6493)
rotation = 4.712389
[node name="WallSpike5" parent="Tutorial" unique_id=122742691 instance=ExtResource("10_hiqwa")]
position = Vector2(568, 1633.5453)
rotation = 4.712389
[node name="WallSpike3" parent="Tutorial" unique_id=419913773 instance=ExtResource("10_hiqwa")] [node name="WallSpike3" parent="Tutorial" unique_id=419913773 instance=ExtResource("10_hiqwa")]
position = Vector2(1679, 181.17683) position = Vector2(1679, 181.17683)
rotation = 4.712389 rotation = 4.712389
[node name="ZoeLevel" type="Node2D" parent="." unique_id=980267417] [node name="LongBlock4" parent="Tutorial" unique_id=469408536 instance=ExtResource("6_dwbse")]
visible = false
[node name="LongBlock4" parent="ZoeLevel" unique_id=469408536 instance=ExtResource("6_dwbse")]
position = Vector2(544, 399) position = Vector2(544, 399)
[node name="LongBlock5" parent="ZoeLevel" unique_id=1807703449 instance=ExtResource("6_dwbse")] [node name="LongBlock5" parent="Tutorial" unique_id=1807703449 instance=ExtResource("6_dwbse")]
position = Vector2(880, 399) position = Vector2(880, 399)
[node name="LongBlock6" parent="ZoeLevel" unique_id=1328813509 instance=ExtResource("6_dwbse")] [node name="LongBlock6" parent="Tutorial" unique_id=1328813509 instance=ExtResource("6_dwbse")]
position = Vector2(1368, 401) position = Vector2(1368, 401)
[node name="LongBlock7" parent="ZoeLevel" unique_id=1016724328 instance=ExtResource("6_dwbse")] [node name="LongBlock11" parent="Tutorial" unique_id=1016724328 instance=ExtResource("6_dwbse")]
position = Vector2(1149, 629.44025) position = Vector2(1149, 629.44025)
[node name="Block" parent="ZoeLevel" unique_id=878186522 instance=ExtResource("2_036b0")]
position = Vector2(55, 118)
[node name="LongBlock" parent="ZoeLevel" unique_id=1035095840 instance=ExtResource("3_dwbse")]
position = Vector2(950, 505.12885)
[node name="VerticalLongBlock" parent="ZoeLevel" unique_id=1984351408 instance=ExtResource("4_pkg7o")]
position = Vector2(1695, 192.9927)
[node name="VerticalLongBlock2" parent="ZoeLevel" unique_id=485343370 instance=ExtResource("4_pkg7o")]
position = Vector2(1695, 81.72651)
[node name="VerticalLongBlock3" parent="ZoeLevel" unique_id=977741022 instance=ExtResource("4_pkg7o")]
position = Vector2(1589, 139.82124)
[node name="VerticalLongBlock4" parent="ZoeLevel" unique_id=923671040 instance=ExtResource("4_pkg7o")]
position = Vector2(1589, 29.539703)
[node name="Spike" parent="ZoeLevel" unique_id=741914042 instance=ExtResource("12_k3n1d")]
position = Vector2(954, 520.88336)
rotation = 3.1415927
[node name="Spike4" parent="ZoeLevel" unique_id=1430493985 instance=ExtResource("12_k3n1d")]
position = Vector2(1827, 418.47906)
rotation = 3.1415927
[node name="Spike5" parent="ZoeLevel" unique_id=1849441610 instance=ExtResource("12_k3n1d")]
position = Vector2(1812, 418.47906)
rotation = 3.1415927
[node name="Spike6" parent="ZoeLevel" unique_id=102008874 instance=ExtResource("12_k3n1d")]
position = Vector2(1797, 418.47906)
rotation = 3.1415927
[node name="Spike7" parent="ZoeLevel" unique_id=1200843252 instance=ExtResource("12_k3n1d")]
position = Vector2(1871, 418.4791)
rotation = 3.1415927
[node name="LongBlock2" parent="ZoeLevel" unique_id=1003210040 instance=ExtResource("3_dwbse")]
position = Vector2(1299, 539.5918)
[node name="Spike2" parent="ZoeLevel" unique_id=1503247741 instance=ExtResource("12_k3n1d")]
position = Vector2(1303, 555.3463)
rotation = 3.1415927
[node name="LongBlock3" parent="ZoeLevel" unique_id=483038350 instance=ExtResource("3_dwbse")]
position = Vector2(1837, 628.21094)
[node name="Spike3" parent="ZoeLevel" unique_id=1550792049 instance=ExtResource("12_k3n1d")]
position = Vector2(1841, 643.96545)
rotation = 3.1415927
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1637221343] [node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1637221343]
[node name="RichTextLabel2" type="RichTextLabel" parent="CanvasLayer" unique_id=1254950785] [node name="RichTextLabel2" type="RichTextLabel" parent="CanvasLayer" unique_id=1254950785]
@@ -348,8 +464,10 @@ script = ExtResource("3_wse8f")
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_top = 605.0 offset_left = 11.0
offset_bottom = 274.0 offset_top = 9.0
offset_right = -1086.0
offset_bottom = -575.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
bbcode_enabled = true bbcode_enabled = true
@@ -376,13 +494,35 @@ texture_pressed = ExtResource("13_70uel")
texture_disabled = ExtResource("13_70uel") texture_disabled = ExtResource("13_70uel")
script = ExtResource("14_70uel") script = ExtResource("14_70uel")
[node name="Pharaoh" parent="." unique_id=44054531 instance=ExtResource("15_hiqwa")] [node name="Dialogue" parent="CanvasLayer" unique_id=1025022375 instance=ExtResource("19_26xuy")]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2(192, 177.23824) anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
offset_left = -636.75256
offset_top = -284.2888
offset_right = 907.46716
offset_bottom = 12.490967
grow_vertical = 0
rotation = 4.9367074e-05
scale = Vector2(0.8267815, 0.8267815)
stretch_mode = 5
[node name="Pharaoh" parent="." unique_id=44054531 instance=ExtResource("15_hiqwa")]
position = Vector2(192, 193.97743)
[node name="Pharaoh2" parent="." unique_id=1541178727 instance=ExtResource("15_hiqwa")]
position = Vector2(6338, -42.34024)
[node name="OldComputer" parent="." unique_id=1951254108 instance=ExtResource("19_cbp6q")] [node name="OldComputer" parent="." unique_id=1951254108 instance=ExtResource("19_cbp6q")]
unique_name_in_owner = true unique_name_in_owner = true
visible = false
[node name="Sign9" parent="." unique_id=573430453 instance=ExtResource("24_wjb0r")]
position = Vector2(-1387, -44.309547)
scale = Vector2(1, 0.98465663)
sign_text = "HOLDING DOWN WILL MEDITATE"
text_dismiss_timer = 4
[node name="Block" parent="." unique_id=226580978 instance=ExtResource("2_036b0")] [node name="Block" parent="." unique_id=226580978 instance=ExtResource("2_036b0")]
position = Vector2(6637, -253.12886) position = Vector2(6637, -253.12886)
@@ -435,4 +575,285 @@ position = Vector2(7732, -109.12882)
[node name="VerticalLongBlock6" parent="." unique_id=200846556 instance=ExtResource("4_pkg7o")] [node name="VerticalLongBlock6" parent="." unique_id=200846556 instance=ExtResource("4_pkg7o")]
position = Vector2(7865, -18.128824) position = Vector2(7865, -18.128824)
[node name="Pharaoh4" parent="." unique_id=439750165 instance=ExtResource("15_hiqwa")]
position = Vector2(4097, 175.26888)
[node name="Pharaoh3" parent="." unique_id=998592579 instance=ExtResource("15_hiqwa")]
position = Vector2(-883, -642.9808)
[node name="HiddenVerticalLongBlock" parent="." unique_id=550983536 instance=ExtResource("20_26xuy")]
visible = true
position = Vector2(-1625, -449.00342)
rotation = 0.0
[node name="HiddenVerticalLongBlock11" parent="." unique_id=1548779318 instance=ExtResource("20_26xuy")]
visible = true
position = Vector2(-1806, -161.48367)
rotation = 0.0
[node name="HiddenVerticalLongBlock12" parent="." unique_id=225495194 instance=ExtResource("20_26xuy")]
visible = true
position = Vector2(-2003, -321.98273)
rotation = 0.0
[node name="HiddenHorizontalLongBlock" parent="." unique_id=252771458 instance=ExtResource("21_bc84e")]
position = Vector2(-4647, 485.43573)
[node name="Coin" parent="." unique_id=1292877109 instance=ExtResource("22_wukud")]
position = Vector2(-4646, 447.03412)
[node name="HiddenVerticalLongBlock3" parent="." unique_id=9509488 instance=ExtResource("20_26xuy")]
position = Vector2(249, -709.93744)
[node name="HiddenVerticalLongBlock4" parent="." unique_id=1392186992 instance=ExtResource("20_26xuy")]
position = Vector2(249, -600.64056)
[node name="HiddenVerticalLongBlock5" parent="." unique_id=1233145931 instance=ExtResource("20_26xuy")]
position = Vector2(248, -822.1883)
[node name="HiddenVerticalLongBlock6" parent="." unique_id=1910226562 instance=ExtResource("20_26xuy")]
position = Vector2(248, -932.46985)
[node name="HiddenVerticalLongBlock7" parent="." unique_id=808086224 instance=ExtResource("20_26xuy")]
position = Vector2(248, -1149.0942)
[node name="HiddenVerticalLongBlock8" parent="." unique_id=1783201320 instance=ExtResource("20_26xuy")]
position = Vector2(248, -1039.7974)
[node name="HiddenVerticalLongBlock9" parent="." unique_id=1967440515 instance=ExtResource("20_26xuy")]
position = Vector2(247, -1261.3452)
[node name="HiddenVerticalLongBlock10" parent="." unique_id=170869907 instance=ExtResource("20_26xuy")]
position = Vector2(247, -1371.6267)
[node name="Sign" parent="." unique_id=916197061 instance=ExtResource("24_wjb0r")]
position = Vector2(-4799, 365.30765)
sign_text = "JUMP WITH SPACE"
[node name="Sign2" parent="." unique_id=1141422640 instance=ExtResource("24_wjb0r")]
position = Vector2(-3949, 366.2922)
sign_text = "YOU CAN JUMP AGAIN IN THE AIR"
[node name="Sign3" parent="." unique_id=692258908 instance=ExtResource("24_wjb0r")]
position = Vector2(-2941, 365.30762)
sign_text = "DASH WITH SHIFT WHILE MOVING IN A DIRECTION"
[node name="Sign4" parent="." unique_id=335524344 instance=ExtResource("24_wjb0r")]
position = Vector2(-1851, 364.32297)
sign_text = "TOUCHING A FLOOR, WALL, OR EVEN CEILING WILL REFRESH YOUR AIR JUMP"
[node name="Sign5" parent="." unique_id=349011535 instance=ExtResource("24_wjb0r")]
position = Vector2(-2908, 365.30762)
sign_text = "DASH CAN BE USED EVEN AFTER JUMPING"
text_dismiss_timer = 4
[node name="Sign6" parent="." unique_id=1820216223 instance=ExtResource("24_wjb0r")]
position = Vector2(-3918, 366.2923)
sign_text = "THE RIGHT CRYSTAL FADES WHEN YOU HAVE NO JUMPS REMAINING"
text_dismiss_timer = 4
[node name="Sign7" parent="." unique_id=381974434 instance=ExtResource("24_wjb0r")]
position = Vector2(-4771, 365.30762)
sign_text = "HOLD SPACE TO JUMP FURTHER"
[node name="Block12" parent="." unique_id=888208031 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, -23.63176)
[node name="Block13" parent="." unique_id=501875762 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, -8.861908)
[node name="Block14" parent="." unique_id=705772034 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, 6.8925962)
[node name="Sign8" parent="." unique_id=460763419 instance=ExtResource("24_wjb0r")]
position = Vector2(-2876, 365.30762)
sign_text = "THE LEFT CRYSTAL WILL GO OUT WHEN NO DASHES REMAIN"
text_dismiss_timer = 4
[node name="HiddenSign" parent="." unique_id=1914486910 instance=ExtResource("26_bo7i5")]
position = Vector2(-1351, -44.30954)
sign_text = "MEDITATING REVEALS SECRETS"
text_dismiss_timer = 4
[node name="Sign10" parent="." unique_id=600787286 instance=ExtResource("24_wjb0r")]
position = Vector2(-1349, -644.9501)
sign_text = "PORTALS WORK AS EXPECTED"
[node name="Teleporter" parent="." unique_id=1261295038 instance=ExtResource("4_gbfbk")]
position = Vector2(-1295, -668.58185)
paired_teleporter = "C"
[node name="Teleporter2" parent="." unique_id=392920399 instance=ExtResource("4_gbfbk")]
position = Vector2(-1171, -669.5665)
paired_teleporter = "C"
[node name="Sign11" parent="." unique_id=933599424 instance=ExtResource("24_wjb0r")]
position = Vector2(-1115, -644.9501)
sign_text = "COINS AREN'T REAL"
[node name="HiddenCoin" parent="." unique_id=1654988120 instance=ExtResource("22_wukud")]
position = Vector2(-1063, -662.6739)
[node name="Spike" parent="." unique_id=1544295173 instance=ExtResource("12_k3n1d")]
position = Vector2(-4625, 356.4457)
[node name="Sign12" parent="." unique_id=1533943569 instance=ExtResource("24_wjb0r")]
position = Vector2(-4533, 366.29227)
sign_text = "DYING LEAVES BEHIND A GHOST"
text_dismiss_timer = 4
[node name="Sign13" parent="." unique_id=15457130 instance=ExtResource("24_wjb0r")]
position = Vector2(-4501, 366.29227)
sign_text = "YOU RESPAWN AT THE LAST TERMINAL ACCESSED"
text_dismiss_timer = 4
[node name="LongBlock2" parent="." unique_id=1734220379 instance=ExtResource("3_dwbse")]
position = Vector2(-3240, 372.2002)
[node name="LongBlock3" parent="." unique_id=327359058 instance=ExtResource("3_dwbse")]
position = Vector2(-2093, 371.21558)
[node name="Block15" parent="." unique_id=1277562320 instance=ExtResource("25_mc2jv")]
position = Vector2(-1660, 22.647102)
[node name="VerticalLongBlock" parent="." unique_id=2087990778 instance=ExtResource("4_pkg7o")]
position = Vector2(-1708, 309.1822)
[node name="WallSpike" parent="." unique_id=304175433 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 261.9187)
rotation = -1.5707964
[node name="WallSpike2" parent="." unique_id=2055829231 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 276.68854)
rotation = -1.5707964
[node name="WallSpike3" parent="." unique_id=1519898773 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 291.45837)
rotation = -1.5707964
[node name="WallSpike4" parent="." unique_id=100325476 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 306.22824)
rotation = -1.5707964
[node name="WallSpike14" parent="." unique_id=1457311024 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 320.01343)
rotation = -1.5707964
[node name="WallSpike15" parent="." unique_id=801452191 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 334.78326)
rotation = -1.5707964
[node name="WallSpike16" parent="." unique_id=1634890040 instance=ExtResource("10_hiqwa")]
position = Vector2(-1723, 349.5531)
rotation = -1.5707964
[node name="Spike2" parent="." unique_id=1172597986 instance=ExtResource("12_k3n1d")]
position = Vector2(-1709, 244.19485)
[node name="WallSpike5" parent="." unique_id=1269991014 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 259.94934)
[node name="WallSpike6" parent="." unique_id=212865086 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 273.73456)
[node name="WallSpike7" parent="." unique_id=1721993339 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 287.51974)
[node name="WallSpike8" parent="." unique_id=100234659 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 302.28958)
[node name="WallSpike9" parent="." unique_id=1956740484 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 316.07477)
[node name="WallSpike10" parent="." unique_id=1917002114 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 329.86)
[node name="WallSpike11" parent="." unique_id=1961892383 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 343.64517)
[node name="WallSpike12" parent="." unique_id=1236341270 instance=ExtResource("10_hiqwa")]
position = Vector2(-1693, 357.43036)
[node name="WallSpike13" parent="." unique_id=833353023 instance=ExtResource("10_hiqwa")]
position = Vector2(-1694, 371.21555)
[node name="WallSpike17" parent="." unique_id=1785334522 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9541, 29.539698)
[node name="WallSpike18" parent="." unique_id=1944691589 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 43.324905)
[node name="WallSpike19" parent="." unique_id=1174250473 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 57.110092)
[node name="WallSpike20" parent="." unique_id=2044591878 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9543, 71.87993)
[node name="WallSpike21" parent="." unique_id=208149461 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9539, 85.665115)
[node name="WallSpike22" parent="." unique_id=448818629 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9542, 99.45033)
[node name="WallSpike23" parent="." unique_id=1077905007 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9541, 113.23552)
[node name="WallSpike24" parent="." unique_id=1155541085 instance=ExtResource("10_hiqwa")]
position = Vector2(-1813.9545, 127.020706)
[node name="WallSpike25" parent="." unique_id=1154232223 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0306, 32.493668)
rotation = -1.5707964
[node name="WallSpike26" parent="." unique_id=910557166 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 46.278885)
rotation = -1.5707964
[node name="WallSpike27" parent="." unique_id=1655122091 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0309, 60.06407)
rotation = -1.5707964
[node name="WallSpike28" parent="." unique_id=681987755 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0309, 74.8339)
rotation = -1.5707964
[node name="WallSpike29" parent="." unique_id=74798139 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0305, 88.61909)
rotation = -1.5707964
[node name="WallSpike30" parent="." unique_id=2068253974 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 102.4043)
rotation = -1.5707964
[node name="WallSpike31" parent="." unique_id=2044392573 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0306, 116.18948)
rotation = -1.5707964
[node name="WallSpike32" parent="." unique_id=398655446 instance=ExtResource("10_hiqwa")]
position = Vector2(-1965.0308, 129.97469)
rotation = -1.5707964
[node name="VerticalLongBlock7" parent="." unique_id=273872899 instance=ExtResource("4_pkg7o")]
position = Vector2(-1829.9542, 78.77253)
[node name="VerticalLongBlock8" parent="." unique_id=109521298 instance=ExtResource("4_pkg7o")]
position = Vector2(-1950.0154, 79.75719)
[node name="LongBlock4" parent="." unique_id=635443484 instance=ExtResource("3_dwbse")]
position = Vector2(-1889, 128.00537)
[node name="LongBlock5" parent="." unique_id=826837835 instance=ExtResource("3_dwbse")]
position = Vector2(-1889, 30.524355)
[node name="Spike3" parent="." unique_id=1944305907 instance=ExtResource("27_4h6ng")]
position = Vector2(-1920, 13.7851925)
[node name="Spike4" parent="." unique_id=788276134 instance=ExtResource("27_4h6ng")]
position = Vector2(-1860, 13.7851925)
[node name="Sign14" parent="." unique_id=464943426 instance=ExtResource("24_wjb0r")]
position = Vector2(-1804, 363.3383)
sign_text = "YOUR DASH WILL ALSO BE REFRESHED..."
text_dismiss_timer = 4
[connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"] [connection signal="toggled" from="CanvasLayer/MusicButton" to="CanvasLayer/MusicButton" method="_on_toggled"]