diff --git a/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.md5 b/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.md5
new file mode 100644
index 0000000..a3c3259
--- /dev/null
+++ b/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.md5
@@ -0,0 +1,3 @@
+source_md5="9f3599f4ed5f050bd5c7966b39434aeb"
+dest_md5="d8b8d051422c7cd9a641096cbf8c2f89"
+
diff --git a/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.stex b/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.stex
new file mode 100644
index 0000000..dff60d4
Binary files /dev/null and b/client/.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.stex differ
diff --git a/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.md5 b/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.md5
new file mode 100644
index 0000000..6800538
--- /dev/null
+++ b/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.md5
@@ -0,0 +1,3 @@
+source_md5="6940d8b74a5d117d0f1394bc85a70f08"
+dest_md5="26b29806d463d634a6663c71a6300823"
+
diff --git a/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample b/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample
new file mode 100644
index 0000000..7b3ea12
Binary files /dev/null and b/client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample differ
diff --git a/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.md5 b/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.md5
new file mode 100644
index 0000000..8b66dce
--- /dev/null
+++ b/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.md5
@@ -0,0 +1,3 @@
+source_md5="e857b8bb76d4617adc95c76a5fb540c2"
+dest_md5="27ac0f89acdd7606843ba589e23aa7f4"
+
diff --git a/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex b/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex
new file mode 100644
index 0000000..85780e1
Binary files /dev/null and b/client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex differ
diff --git a/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.md5 b/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.md5
new file mode 100644
index 0000000..ec2dfa7
--- /dev/null
+++ b/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.md5
@@ -0,0 +1,3 @@
+source_md5="9f8274a56b9edd5fe16c5dcae157c341"
+dest_md5="723b7c3af22143822b4ea69f4a5e464d"
+
diff --git a/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex b/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex
new file mode 100644
index 0000000..1a09aa2
Binary files /dev/null and b/client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex differ
diff --git a/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.md5 b/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.md5
new file mode 100644
index 0000000..6d6ea8b
--- /dev/null
+++ b/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.md5
@@ -0,0 +1,3 @@
+source_md5="92d246cc32866075f51865b0c9e4b50d"
+dest_md5="9d219f887655916bb7f150706addfff2"
+
diff --git a/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.sample b/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.sample
new file mode 100644
index 0000000..84dec1f
Binary files /dev/null and b/client/.import/door.wav-70d1c6c21053f788540da37913f73e07.sample differ
diff --git a/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.md5 b/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.md5
new file mode 100644
index 0000000..097c4e9
--- /dev/null
+++ b/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.md5
@@ -0,0 +1,3 @@
+source_md5="5b41ef10ccf43be3d97758534e00a060"
+dest_md5="0caff325d8ab4f8082321efcb4d4b513"
+
diff --git a/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.sample b/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.sample
new file mode 100644
index 0000000..2e18536
Binary files /dev/null and b/client/.import/fast_talker.wav-815bea77f740c5942d549f691957e082.sample differ
diff --git a/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.md5 b/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.md5
new file mode 100644
index 0000000..5bdc50a
--- /dev/null
+++ b/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.md5
@@ -0,0 +1,3 @@
+source_md5="2f7965f6ed7cfc058782a0ace48244d8"
+dest_md5="d5e78494fde1ccac9d6172b3e6af34e1"
+
diff --git a/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample b/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample
new file mode 100644
index 0000000..9787415
Binary files /dev/null and b/client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample differ
diff --git a/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.md5 b/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.md5
new file mode 100644
index 0000000..042120d
--- /dev/null
+++ b/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.md5
@@ -0,0 +1,3 @@
+source_md5="1fc89dcdb28dde7f2c550bc7fb764a9a"
+dest_md5="43cd0d2da5e6d2246e38223d967eaef9"
+
diff --git a/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex b/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex
new file mode 100644
index 0000000..2c69d96
Binary files /dev/null and b/client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex differ
diff --git a/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.md5 b/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.md5
new file mode 100644
index 0000000..5be1c02
--- /dev/null
+++ b/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.md5
@@ -0,0 +1,3 @@
+source_md5="a44cdfde3fe6df51cb14453b6f8b1544"
+dest_md5="a9ee1a40eb796495a96862aa22a8c4c9"
+
diff --git a/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex b/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex
new file mode 100644
index 0000000..0708d7b
Binary files /dev/null and b/client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex differ
diff --git a/client/Assets/Art/32x32mask.png b/client/Assets/Art/32x32mask.png
new file mode 100644
index 0000000..5b8f97e
Binary files /dev/null and b/client/Assets/Art/32x32mask.png differ
diff --git a/client/Assets/Art/32x32mask.png.import b/client/Assets/Art/32x32mask.png.import
new file mode 100644
index 0000000..e6c2272
--- /dev/null
+++ b/client/Assets/Art/32x32mask.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Art/32x32mask.png"
+dest_files=[ "res://.import/32x32mask.png-be04be029e61a03cd171da2b42b2f742.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/client/Assets/Art/Characters/worker.aseprite b/client/Assets/Art/Characters/worker.aseprite
new file mode 100644
index 0000000..13f7fd2
Binary files /dev/null and b/client/Assets/Art/Characters/worker.aseprite differ
diff --git a/client/Assets/Art/Characters/worker.png b/client/Assets/Art/Characters/worker.png
new file mode 100644
index 0000000..92b495b
Binary files /dev/null and b/client/Assets/Art/Characters/worker.png differ
diff --git a/client/Assets/Art/Characters/worker.png.import b/client/Assets/Art/Characters/worker.png.import
new file mode 100644
index 0000000..0476f75
--- /dev/null
+++ b/client/Assets/Art/Characters/worker.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Art/Characters/worker.png"
+dest_files=[ "res://.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/client/Assets/Art/Objects/datapad.aseprite b/client/Assets/Art/Objects/datapad.aseprite
new file mode 100644
index 0000000..bd498bc
Binary files /dev/null and b/client/Assets/Art/Objects/datapad.aseprite differ
diff --git a/client/Assets/Art/Objects/datapad.png b/client/Assets/Art/Objects/datapad.png
new file mode 100644
index 0000000..a298d6d
Binary files /dev/null and b/client/Assets/Art/Objects/datapad.png differ
diff --git a/client/Assets/Art/Objects/datapad.png.import b/client/Assets/Art/Objects/datapad.png.import
new file mode 100644
index 0000000..f0a47ef
--- /dev/null
+++ b/client/Assets/Art/Objects/datapad.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Art/Objects/datapad.png"
+dest_files=[ "res://.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/client/Assets/Art/Objects/door.aseprite b/client/Assets/Art/Objects/door.aseprite
new file mode 100644
index 0000000..932d189
Binary files /dev/null and b/client/Assets/Art/Objects/door.aseprite differ
diff --git a/client/Assets/Art/Objects/door.png b/client/Assets/Art/Objects/door.png
new file mode 100644
index 0000000..4ea81f9
Binary files /dev/null and b/client/Assets/Art/Objects/door.png differ
diff --git a/client/Assets/Art/Objects/door.png.import b/client/Assets/Art/Objects/door.png.import
new file mode 100644
index 0000000..46f1c04
--- /dev/null
+++ b/client/Assets/Art/Objects/door.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Art/Objects/door.png"
+dest_files=[ "res://.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/client/Assets/Art/Objects/table.aseprite b/client/Assets/Art/Objects/table.aseprite
new file mode 100644
index 0000000..2accaa1
Binary files /dev/null and b/client/Assets/Art/Objects/table.aseprite differ
diff --git a/client/Assets/Art/Objects/table.png b/client/Assets/Art/Objects/table.png
new file mode 100644
index 0000000..85b5b3a
Binary files /dev/null and b/client/Assets/Art/Objects/table.png differ
diff --git a/client/Assets/Art/Objects/table.png.import b/client/Assets/Art/Objects/table.png.import
new file mode 100644
index 0000000..590b8ff
--- /dev/null
+++ b/client/Assets/Art/Objects/table.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Art/Objects/table.png"
+dest_files=[ "res://.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/client/Assets/Sfx/Speakers/ceo.wav b/client/Assets/Sfx/Speakers/ceo.wav
new file mode 100644
index 0000000..0f2ecc7
Binary files /dev/null and b/client/Assets/Sfx/Speakers/ceo.wav differ
diff --git a/client/Assets/Sfx/Speakers/ceo.wav.import b/client/Assets/Sfx/Speakers/ceo.wav.import
new file mode 100644
index 0000000..625eb9d
--- /dev/null
+++ b/client/Assets/Sfx/Speakers/ceo.wav.import
@@ -0,0 +1,21 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample"
+
+[deps]
+
+source_file="res://Assets/Sfx/Speakers/ceo.wav"
+dest_files=[ "res://.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample" ]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop=false
+compress/mode=0
diff --git a/client/Assets/Sfx/Speakers/fast_talker.wav b/client/Assets/Sfx/Speakers/fast_talker.wav
new file mode 100644
index 0000000..50ff59b
Binary files /dev/null and b/client/Assets/Sfx/Speakers/fast_talker.wav differ
diff --git a/client/Assets/Sfx/Speakers/fast_talker.wav.import b/client/Assets/Sfx/Speakers/fast_talker.wav.import
new file mode 100644
index 0000000..6ba3313
--- /dev/null
+++ b/client/Assets/Sfx/Speakers/fast_talker.wav.import
@@ -0,0 +1,21 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/fast_talker.wav-815bea77f740c5942d549f691957e082.sample"
+
+[deps]
+
+source_file="res://Assets/Sfx/Speakers/fast_talker.wav"
+dest_files=[ "res://.import/fast_talker.wav-815bea77f740c5942d549f691957e082.sample" ]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop=false
+compress/mode=0
diff --git a/client/Assets/Sfx/Speakers/robot.wav b/client/Assets/Sfx/Speakers/robot.wav
new file mode 100644
index 0000000..f32b1eb
Binary files /dev/null and b/client/Assets/Sfx/Speakers/robot.wav differ
diff --git a/client/Assets/Sfx/Speakers/robot.wav.import b/client/Assets/Sfx/Speakers/robot.wav.import
new file mode 100644
index 0000000..1d669e2
--- /dev/null
+++ b/client/Assets/Sfx/Speakers/robot.wav.import
@@ -0,0 +1,21 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample"
+
+[deps]
+
+source_file="res://Assets/Sfx/Speakers/robot.wav"
+dest_files=[ "res://.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample" ]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop=false
+compress/mode=0
diff --git a/client/Assets/Sfx/door.wav b/client/Assets/Sfx/door.wav
new file mode 100644
index 0000000..6d65de0
Binary files /dev/null and b/client/Assets/Sfx/door.wav differ
diff --git a/client/Assets/Sfx/door.wav.import b/client/Assets/Sfx/door.wav.import
new file mode 100644
index 0000000..e841ec4
--- /dev/null
+++ b/client/Assets/Sfx/door.wav.import
@@ -0,0 +1,21 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/door.wav-70d1c6c21053f788540da37913f73e07.sample"
+
+[deps]
+
+source_file="res://Assets/Sfx/door.wav"
+dest_files=[ "res://.import/door.wav-70d1c6c21053f788540da37913f73e07.sample" ]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop=false
+compress/mode=0
diff --git a/client/Assets/Stories/english_story.tres b/client/Assets/Stories/english_story.tres
index 0a9ba39..fc26e90 100644
--- a/client/Assets/Stories/english_story.tres
+++ b/client/Assets/Stories/english_story.tres
@@ -7,11 +7,16 @@ script = ExtResource( 1 )
TYPE = "EXP_Story_editor"
names = {
"into_speak_ceo": 5,
+"intro_major_worker": 11,
"intro_meet_ceo": 4,
+"intro_misc_worker_1": 9,
+"intro_misc_worker_2": 10,
"intro_science": 1,
"intro_science_followup": 3,
+"intro_shipping_codex": 8,
"intro_text": 2,
-"intro_transportship": 6
+"intro_transportship": 6,
+"unconfigured": 7
}
story = {
1: {
@@ -152,7 +157,7 @@ and killing this individual.
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
-"text": "Good. You have been given Level 3 security clearance
+"text": "Good. You have been given Level 1 security clearance
in Ravenwork facilities.",
"type": "line"
},
@@ -691,6 +696,226 @@ suppose to be carrying the biological shipment?",
"type": "line"
}
}
+},
+7: {
+"available_nid": [ ],
+"groups": [ ],
+"human_readable_description": "Default interaction for dialog interaction",
+"name": "unconfigured",
+"nodes": {
+1: {
+"graph_offset": Vector2( 200, 20 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "This is an object.",
+"type": "line"
+}
+}
+},
+8: {
+"available_nid": [ 2 ],
+"groups": [ "Introduction" ],
+"human_readable_description": "Messages related to biological materials",
+"name": "intro_shipping_codex",
+"nodes": {
+1: {
+"graph_offset": Vector2( 40, 40 ),
+"links": {
+
+},
+"rect_size": Vector2( 448, 170 ),
+"slot_amount": 1,
+"text": "Cargo load:
+Organic Matter - MISSING
+Stem Cells - MISSING
+Cubic Carbon - MISSING",
+"type": "line"
+}
+}
+},
+9: {
+"available_nid": [ ],
+"groups": [ "Introduction" ],
+"human_readable_description": "Misc worker talk",
+"name": "intro_misc_worker_1",
+"nodes": {
+1: {
+"graph_offset": Vector2( 40, 40 ),
+"links": {
+0: 2
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "How are we missing another shipment?",
+"type": "line"
+},
+2: {
+"graph_offset": Vector2( 340, -280 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "I hope the supervisor doesn't replace us.",
+"type": "line"
+}
+}
+},
+10: {
+"available_nid": [ ],
+"groups": [ "Introduction" ],
+"human_readable_description": "Misc worker talk",
+"name": "intro_misc_worker_2",
+"nodes": {
+1: {
+"graph_offset": Vector2( 40, 40 ),
+"links": {
+0: 3,
+1: 2,
+2: 4
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 3,
+"text": "Hey Aura! How have you been?
+Aura?
+You know me?
+I am Scene.",
+"type": "line"
+},
+2: {
+"graph_offset": Vector2( 440, -200 ),
+"links": {
+0: 5,
+1: 3
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 2,
+"text": "Yeah, we met a few days ago.
+Weird
+No?",
+"type": "line"
+},
+3: {
+"graph_offset": Vector2( 440, -360 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "Oh... nevermind.",
+"type": "line"
+},
+4: {
+"graph_offset": Vector2( 440, 0 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "Oh, sorry Scene.",
+"type": "line"
+},
+5: {
+"graph_offset": Vector2( 920, -200 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "Yeah, we don't see many faces like yours around here.",
+"type": "line"
+}
+}
+},
+11: {
+"available_nid": [ ],
+"groups": [ "Introduction" ],
+"human_readable_description": "Work who drove spacecraft",
+"name": "intro_major_worker",
+"nodes": {
+1: {
+"graph_offset": Vector2( 40, -180 ),
+"links": {
+0: 2,
+1: 4
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 2,
+"text": "I can't believe we got rerouted.
+Rerouted?
+What happened to the cargo?",
+"type": "line"
+},
+2: {
+"graph_offset": Vector2( 540, -220 ),
+"links": {
+0: 3
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "During the flight over here, the navigation computer redirected to
+the lower levels.",
+"type": "line"
+},
+3: {
+"graph_offset": Vector2( 1020, -220 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "When I got there, Ravenworks workers unloaded the craft.",
+"type": "line"
+},
+4: {
+"graph_offset": Vector2( 540, -40 ),
+"links": {
+0: 5,
+1: 7
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 2,
+"text": "Are you looking for it?
+Yes
+No",
+"type": "line"
+},
+5: {
+"graph_offset": Vector2( 1020, -40 ),
+"links": {
+0: 6
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "I lost the cargo after my stop at the lower levels. I was just
+following the navigation computer and it was taken by
+Ravenwork staff!",
+"type": "line"
+},
+6: {
+"graph_offset": Vector2( 1500, -40 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "Please do not terminate me!",
+"type": "line"
+},
+7: {
+"graph_offset": Vector2( 1020, 140 ),
+"links": {
+
+},
+"rect_size": Vector2( 324, 137 ),
+"slot_amount": 1,
+"text": "Oh, well it was unloaded by Ravenwork staff at the lower level.",
+"type": "line"
+}
+}
}
}
available_dids = [ ]
diff --git a/client/Nodes/Door.tscn b/client/Nodes/Door.tscn
new file mode 100644
index 0000000..6f36b0f
--- /dev/null
+++ b/client/Nodes/Door.tscn
@@ -0,0 +1,200 @@
+[gd_scene load_steps=14 format=2]
+
+[ext_resource path="res://Assets/Art/Objects/door.png" type="Texture" id=1]
+[ext_resource path="res://Assets/Sfx/door.wav" type="AudioStream" id=2]
+[ext_resource path="res://Scripts/Entities/Door.gd" type="Script" id=3]
+[ext_resource path="res://Assets/Art/32x32mask.png" type="Texture" id=5]
+
+[sub_resource type="RectangleShape2D" id=7]
+extents = Vector2( 16.0007, 15.9043 )
+
+[sub_resource type="AtlasTexture" id=1]
+atlas = ExtResource( 1 )
+region = Rect2( 0, 0, 32, 32 )
+
+[sub_resource type="OccluderPolygon2D" id=8]
+polygon = PoolVector2Array( -5, 18, -5, 0, -2, 0, -2, 4, 2, 4, 2, 0, 5, 0, 5, 18 )
+
+[sub_resource type="AtlasTexture" id=2]
+atlas = ExtResource( 1 )
+region = Rect2( 0, 32, 32, 32 )
+
+[sub_resource type="AtlasTexture" id=3]
+atlas = ExtResource( 1 )
+region = Rect2( 0, 64, 32, 32 )
+
+[sub_resource type="OccluderPolygon2D" id=9]
+polygon = PoolVector2Array( 5, -18, 5, 0, -5, 0, -5, -18 )
+
+[sub_resource type="Animation" id=5]
+resource_name = "Close"
+length = 0.5
+tracks/0/type = "bezier"
+tracks/0/path = NodePath("Top:position:x")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/1/type = "bezier"
+tracks/1/path = NodePath("Top:position:y")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/keys = {
+"points": PoolRealArray( -32, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/2/type = "bezier"
+tracks/2/path = NodePath("Top:rotation_degrees")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/3/type = "bezier"
+tracks/3/path = NodePath("Bottom:position:x")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/4/type = "bezier"
+tracks/4/path = NodePath("Bottom:position:y")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/keys = {
+"points": PoolRealArray( 32, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/5/type = "bezier"
+tracks/5/path = NodePath("Bottom:rotation_degrees")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+
+[sub_resource type="Animation" id=4]
+resource_name = "Open"
+length = 0.5
+tracks/0/type = "bezier"
+tracks/0/path = NodePath("Bottom:position:x")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/1/type = "bezier"
+tracks/1/path = NodePath("Bottom:position:y")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 32, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/2/type = "bezier"
+tracks/2/path = NodePath("Bottom:rotation_degrees")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/3/type = "bezier"
+tracks/3/path = NodePath("Top:position:x")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/4/type = "bezier"
+tracks/4/path = NodePath("Top:position:y")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -32, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+tracks/5/type = "bezier"
+tracks/5/path = NodePath("Top:rotation_degrees")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/keys = {
+"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
+"times": PoolRealArray( 0, 0.5 )
+}
+
+[sub_resource type="RectangleShape2D" id=6]
+extents = Vector2( 40.2987, 16.0621 )
+
+[node name="Door" type="Area2D"]
+script = ExtResource( 3 )
+
+[node name="StaticBody2D" type="StaticBody2D" parent="."]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
+shape = SubResource( 7 )
+
+[node name="Bottom" type="Sprite" parent="."]
+z_index = 25
+texture = SubResource( 1 )
+
+[node name="LightOccluder2D" type="LightOccluder2D" parent="Bottom"]
+occluder = SubResource( 8 )
+
+[node name="Top" type="Sprite" parent="."]
+z_index = 25
+texture = SubResource( 2 )
+
+[node name="Color" type="Sprite" parent="Top"]
+texture = SubResource( 3 )
+
+[node name="LightOccluder2D" type="LightOccluder2D" parent="Top"]
+occluder = SubResource( 9 )
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+anims/Close = SubResource( 5 )
+anims/Open = SubResource( 4 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource( 6 )
+
+[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource( 2 )
+bus = "Sfx"
+
+[node name="Mask" type="Light2D" parent="."]
+enabled = false
+texture = ExtResource( 5 )
+mode = 3
+range_item_cull_mask = 2
diff --git a/client/Nodes/NPCs/Thadd.tscn b/client/Nodes/NPCs/Thadd.tscn
index 17317be..1e3e5d7 100644
--- a/client/Nodes/NPCs/Thadd.tscn
+++ b/client/Nodes/NPCs/Thadd.tscn
@@ -4,8 +4,8 @@
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
[ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3]
-[sub_resource type="RectangleShape2D" id=3]
-extents = Vector2( 5, 8 )
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 14.1446, 9.58948 )
[node name="Scientist" type="Area2D"]
position = Vector2( 167.084, 231.933 )
@@ -15,7 +15,7 @@ script = ExtResource( 1 )
texture = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource( 3 )
+shape = SubResource( 1 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )
diff --git a/client/Nodes/Player.tscn b/client/Nodes/Player.tscn
index fc584cd..879d91b 100644
--- a/client/Nodes/Player.tscn
+++ b/client/Nodes/Player.tscn
@@ -2,7 +2,7 @@
[ext_resource path="res://Assets/Materials/SmoothScaling.tres" type="Material" id=1]
[ext_resource path="res://Assets/Art/Characters/player_parts.png" type="Texture" id=2]
-[ext_resource path="res://animation_reference.png" type="Texture" id=3]
+[ext_resource path="res://Assets/Art/basic_light.png" type="Texture" id=3]
[ext_resource path="res://Scripts/Entities/Player.gd" type="Script" id=4]
[sub_resource type="AtlasTexture" id=1]
@@ -870,13 +870,9 @@ anims/Idle = SubResource( 17 )
anims/RunLeft = SubResource( 18 )
anims/RunRight = SubResource( 19 )
-[node name="Sprite" type="Sprite" parent="."]
-visible = false
-modulate = Color( 1, 1, 1, 0.423529 )
-position = Vector2( -28.5601, 3.4707 )
-scale = Vector2( 0.055, 0.055 )
-texture = ExtResource( 3 )
-flip_h = true
-
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 20 )
+
+[node name="Light2D" type="Light2D" parent="."]
+texture = ExtResource( 3 )
+energy = 0.25
diff --git a/client/Nodes/Wall Light.tscn b/client/Nodes/Wall Light.tscn
index 0951596..1ad3f75 100644
--- a/client/Nodes/Wall Light.tscn
+++ b/client/Nodes/Wall Light.tscn
@@ -1,15 +1,28 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=6 format=2]
[ext_resource path="res://Assets/Art/basic_light.png" type="Texture" id=1]
[ext_resource path="res://Assets/Art/Objects/wall_light.png" type="Texture" id=2]
+[ext_resource path="res://Scripts/Component/LightLoader.gd" type="Script" id=3]
+[ext_resource path="res://Scripts/Entities/Wall Light.gd" type="Script" id=4]
+
+[sub_resource type="CircleShape2D" id=1]
+radius = 200.0
[node name="Wall Light" type="Sprite"]
texture = ExtResource( 2 )
+script = ExtResource( 4 )
[node name="Light2D" type="Light2D" parent="."]
+visible = false
texture = ExtResource( 1 )
texture_scale = 3.0
energy = 1.1
-shadow_enabled = true
-shadow_filter = 5
shadow_filter_smooth = 0.5
+shadow_item_cull_mask = 3
+
+[node name="Area2D" type="Area2D" parent="."]
+script = ExtResource( 3 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+visible = false
+shape = SubResource( 1 )
diff --git a/client/Scenes/Title.scn b/client/Scenes/Title.scn
index 978a6e0..11d38bc 100644
Binary files a/client/Scenes/Title.scn and b/client/Scenes/Title.scn differ
diff --git a/client/Scenes/World.scn b/client/Scenes/World.scn
index cf781bf..9f9ebbe 100644
Binary files a/client/Scenes/World.scn and b/client/Scenes/World.scn differ
diff --git a/client/Scripts/Component/Interactable.gd b/client/Scripts/Component/Interactable.gd
index bfec2fa..940f7ec 100644
--- a/client/Scripts/Component/Interactable.gd
+++ b/client/Scripts/Component/Interactable.gd
@@ -1,6 +1,7 @@
extends Area2D
signal interacted
+var player
func _ready():
connect("body_entered", self, "_on_body_enter")
@@ -8,6 +9,7 @@ func _ready():
func _on_body_enter(body):
if body.has_method("add_interactable"):
+ player = body
body.add_interactable(self)
func _on_body_exit(body):
diff --git a/client/Scripts/Component/InteractableDialog.gd b/client/Scripts/Component/InteractableDialog.gd
new file mode 100644
index 0000000..e8539cb
--- /dev/null
+++ b/client/Scripts/Component/InteractableDialog.gd
@@ -0,0 +1,9 @@
+extends "res://Scripts/Component/Interactable.gd"
+
+export var dialog_name : String = "unconfigured"
+
+func _ready():
+ connect("interacted", self, "_on_interact")
+
+func _on_interact():
+ $Speaker.start_dialog(dialog_name)
diff --git a/client/Scripts/Component/LightLoader.gd b/client/Scripts/Component/LightLoader.gd
new file mode 100644
index 0000000..7432c28
--- /dev/null
+++ b/client/Scripts/Component/LightLoader.gd
@@ -0,0 +1,14 @@
+extends Area2D
+
+func _ready():
+ connect("body_entered", self, "_on_body_enter")
+ connect("body_exited", self, "_on_body_exit")
+ get_parent().get_node("Light2D").enabled = false
+
+func _on_body_enter(body):
+ if body.has_method("add_interactable"):
+ get_parent().get_node("Light2D").enabled = true
+
+func _on_body_exit(body):
+ if body.has_method("remove_interactable"):
+ get_parent().get_node("Light2D").enabled = false
diff --git a/client/Scripts/Component/StorySpeaker.gd b/client/Scripts/Component/StorySpeaker.gd
index 391ffbc..c50a264 100644
--- a/client/Scripts/Component/StorySpeaker.gd
+++ b/client/Scripts/Component/StorySpeaker.gd
@@ -83,5 +83,4 @@ func move_dialog_forward(decision = 0):
func _process(delta):
if(Input.is_action_just_pressed("ui_accept") and choices == 0 and final_display_message == gui.current_dialog()):
- print("YEET")
move_dialog_forward(0)
diff --git a/client/Scripts/Entities/Door.gd b/client/Scripts/Entities/Door.gd
new file mode 100644
index 0000000..d482e26
--- /dev/null
+++ b/client/Scripts/Entities/Door.gd
@@ -0,0 +1,65 @@
+extends Area2D
+
+
+var opened = false
+
+export var locked = false
+export var security_level = 0
+var player_level = -1
+
+func lock():
+ locked = true
+ $Top/Color.modulate = Color.red
+
+func unlock():
+ locked = false
+ set_color()
+
+func set_color():
+ match(security_level):
+ 0:
+ $Top/Color.modulate = Color.green
+ 1:
+ $Top/Color.modulate = Color.blue
+ 2:
+ $Top/Color.modulate = Color.yellow
+ 3:
+ $Top/Color.modulate = Color.orange
+ 4:
+ $Top/Color.modulate = Color.red
+ 5:
+ $Top/Color.modulate = Color.purple
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ connect("body_entered", self, "_on_body_enter")
+ connect("body_exited", self, "_on_body_exit")
+ if locked:
+ lock()
+ else:
+ unlock()
+
+func _on_body_enter(body):
+ if body.has_method("add_interactable"):
+ if body.clearance_level >= security_level and not locked:
+ open()
+
+func _on_body_exit(body):
+ if body.has_method("remove_interactable"):
+ close()
+
+func open():
+ if not opened:
+ $AnimationPlayer.play("Open")
+ $AudioStreamPlayer2D.play()
+ $StaticBody2D.collision_layer = 0
+ $StaticBody2D.collision_mask = 0
+ opened = true
+
+func close():
+ if opened:
+ $AnimationPlayer.play("Close")
+ $AudioStreamPlayer2D.play()
+ $StaticBody2D.collision_layer = 1
+ $StaticBody2D.collision_mask = 1
+ opened = false
diff --git a/client/Scripts/Entities/NPCs/CEO.gd b/client/Scripts/Entities/NPCs/CEO.gd
index fde1954..eddbbe8 100644
--- a/client/Scripts/Entities/NPCs/CEO.gd
+++ b/client/Scripts/Entities/NPCs/CEO.gd
@@ -5,11 +5,14 @@ var state : int = 0
func _ready():
connect("interacted", self, "_on_interact")
$Speaker.speaker_name = "CEO Grant Blevins"
+ $Speaker.speaker = "ceo"
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
func _on_interact():
if state == 0:
$Speaker.start_dialog("intro_meet_ceo")
+ if player:
+ player.clearance_level = 1
else:
$Speaker.start_dialog("into_speak_ceo")
diff --git a/client/Scripts/Entities/NPCs/IntroScientist.gd b/client/Scripts/Entities/NPCs/IntroScientist.gd
index e445a9a..a44d13d 100644
--- a/client/Scripts/Entities/NPCs/IntroScientist.gd
+++ b/client/Scripts/Entities/NPCs/IntroScientist.gd
@@ -2,6 +2,7 @@ extends "res://Scripts/Component/Interactable.gd"
func _ready():
connect("interacted", self, "_on_interact")
+ $Speaker.speaker = "fast_talker"
$Speaker.speaker_name = "Dr.Thadd"
#$Speaker.start_dialog("intro_science")
diff --git a/client/Scripts/Entities/Player.gd b/client/Scripts/Entities/Player.gd
index 5554c04..241d100 100644
--- a/client/Scripts/Entities/Player.gd
+++ b/client/Scripts/Entities/Player.gd
@@ -1,5 +1,7 @@
extends KinematicBody2D
+export var clearance_level = 0
+
# Environment variables
export var baseGravity : float = 9.8
@@ -23,10 +25,6 @@ func remove_interactable(interactable):
if loc >= 0:
interactables.remove(loc)
-func _process(delta):
- if Input.is_action_just_pressed("ui_accept") and len(interactables) > 0 and not gui.is_in_dialog():
- interactables[0].interact()
-
func _physics_process(delta):
# Gravity
@@ -38,6 +36,8 @@ func _physics_process(delta):
gui = get_node("/root/World/GUI")
elif not gui.is_in_dialog():
user_input()
+ else:
+ moveMotion = 0
# Apply velocity limits
moveMotion = clamp(moveMotion, -maxMoveVelocity, maxMoveVelocity)
@@ -49,6 +49,9 @@ func _physics_process(delta):
func user_input():
+ if Input.is_action_just_pressed("ui_accept") and len(interactables) > 0 and not gui.is_in_dialog():
+ interactables[0].interact()
+
if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"):
position.y = position.y + 2
return
diff --git a/client/Scripts/Entities/Wall Light.gd b/client/Scripts/Entities/Wall Light.gd
new file mode 100644
index 0000000..1dda072
--- /dev/null
+++ b/client/Scripts/Entities/Wall Light.gd
@@ -0,0 +1,7 @@
+extends Sprite
+
+export var shadows : bool = false
+
+func _ready():
+ $Light2D.show()
+ $Light2D.shadow_enabled = shadows
diff --git a/client/Scripts/Entities/Zone.gd b/client/Scripts/Entities/Zone.gd
new file mode 100644
index 0000000..6306c57
--- /dev/null
+++ b/client/Scripts/Entities/Zone.gd
@@ -0,0 +1,19 @@
+extends Node2D
+
+export var load_on_start = false
+export var music : AudioStream
+
+func _ready():
+ if load_on_start:
+ load_zone()
+ else:
+ unload_zone()
+
+func load_zone():
+ if $"/root/MusicManager".stream != music:
+ $"/root/MusicManager".play_stream(music)
+ show()
+
+func unload_zone():
+ hide()
+
diff --git a/client/Scripts/Entities/ZoneLoader.gd b/client/Scripts/Entities/ZoneLoader.gd
new file mode 100644
index 0000000..ce7a108
--- /dev/null
+++ b/client/Scripts/Entities/ZoneLoader.gd
@@ -0,0 +1,17 @@
+extends Area2D
+
+export var load_zone : String = ""
+
+func _ready():
+ connect("body_entered", self, "_on_body_entered")
+
+func _on_body_entered(body):
+ if body.has_method("user_input"):
+ var parent = get_parent()
+ for i in range(0, parent.get_child_count()):
+ var child = parent.get_child(i)
+ if child.has_method("load_zone"):
+ if child.name == load_zone + "Zone":
+ child.load_zone()
+ else:
+ child.unload_zone()
diff --git a/client/Scripts/Singletons/WorldManager.gd b/client/Scripts/Singletons/WorldManager.gd
index b135c00..8919e5a 100644
--- a/client/Scripts/Singletons/WorldManager.gd
+++ b/client/Scripts/Singletons/WorldManager.gd
@@ -9,7 +9,7 @@ func _ready():
gui_manager = $GUI
audio_player = AudioStreamPlayer.new()
add_child(audio_player)
- $CanvasLayer/ColorRect.show()
+ $Fader/ColorRect.show()
play_sound(preload("res://Assets/Sfx/intro/processed.wav"))
func play_sound(audio_stream):
diff --git a/client/default_bus_layout.tres b/client/default_bus_layout.tres
index 94fa4a6..13b562c 100644
--- a/client/default_bus_layout.tres
+++ b/client/default_bus_layout.tres
@@ -5,5 +5,11 @@ bus/1/name = "Music"
bus/1/solo = false
bus/1/mute = false
bus/1/bypass_fx = false
-bus/1/volume_db = -5.04538
+bus/1/volume_db = -8.39524
bus/1/send = "Master"
+bus/2/name = "Sfx"
+bus/2/solo = false
+bus/2/mute = false
+bus/2/bypass_fx = false
+bus/2/volume_db = 0.0
+bus/2/send = "Master"
diff --git a/client/project.godot b/client/project.godot
index 9ebae2c..a736f3a 100644
--- a/client/project.godot
+++ b/client/project.godot
@@ -36,6 +36,20 @@ enabled=PoolStringArray( "EXP-System-Dialog" )
[input]
+ui_left={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
+ ]
+}
+ui_right={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
+ ]
+}
ui_up={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
@@ -43,6 +57,13 @@ ui_up={
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
]
}
+ui_down={
+"deadzone": 0.5,
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
+ ]
+}
[rendering]