Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b93f60aa0 | |||
| bea02afbc5 | |||
| 28f8f493ea | |||
| a26da07f43 | |||
| 7528cba7d7 | |||
| afde971c17 |
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="9f3599f4ed5f050bd5c7966b39434aeb"
|
||||||
|
dest_md5="d8b8d051422c7cd9a641096cbf8c2f89"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="29f28fa741ffa711826400e7fea90a27"
|
||||||
|
dest_md5="2fe6ef3f4c5624748dc861a0b95a251b"
|
||||||
|
|
||||||
BIN
client/.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="6940d8b74a5d117d0f1394bc85a70f08"
|
||||||
|
dest_md5="26b29806d463d634a6663c71a6300823"
|
||||||
|
|
||||||
BIN
client/.import/ceo.wav-aab08c0f38fc04ff530aa8c0850ff092.sample
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="e857b8bb76d4617adc95c76a5fb540c2"
|
||||||
|
dest_md5="27ac0f89acdd7606843ba589e23aa7f4"
|
||||||
|
|
||||||
BIN
client/.import/datapad.png-4bbf160a5e12d834f3ab9e5a5ae04fe4.stex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="9f8274a56b9edd5fe16c5dcae157c341"
|
||||||
|
dest_md5="723b7c3af22143822b4ea69f4a5e464d"
|
||||||
|
|
||||||
BIN
client/.import/door.png-e04cdcd8fd750f3408b18042a792b164.stex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="92d246cc32866075f51865b0c9e4b50d"
|
||||||
|
dest_md5="9d219f887655916bb7f150706addfff2"
|
||||||
|
|
||||||
BIN
client/.import/door.wav-70d1c6c21053f788540da37913f73e07.sample
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="5b41ef10ccf43be3d97758534e00a060"
|
||||||
|
dest_md5="0caff325d8ab4f8082321efcb4d4b513"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="a2e5738b2c3c72b7747d4619c999f663"
|
||||||
|
dest_md5="52ebec391e52938a37545ccc6f79cf74"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="66ca8a87ea50ca711ae82b664f60a2a4"
|
||||||
|
dest_md5="369b1a9c914d86a94dc9b0795e76649f"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="7dca0d73f2612d088326ffc420d70d33"
|
||||||
|
dest_md5="4441e90ddb4675a44bc124eeb8d327f5"
|
||||||
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
source_md5="47313fa4c47a9963fddd764e1ec6e4a8"
|
source_md5="6e103468c0ac9e27a0bd095c017a88fe"
|
||||||
dest_md5="2ded9e7f9060e2b530aab678b135fc5b"
|
dest_md5="369df4dc1fce005b32f634b984bb3ad7"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="3be96f8f0b1f368b29579f8fe6c79e53"
|
||||||
|
dest_md5="fb332b986c94f47353bb21064d61380b"
|
||||||
|
|
||||||
BIN
client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="2f7965f6ed7cfc058782a0ace48244d8"
|
||||||
|
dest_md5="d5e78494fde1ccac9d6172b3e6af34e1"
|
||||||
|
|
||||||
BIN
client/.import/robot.wav-e505041745c56f152980013cf06aa1d6.sample
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="1fc89dcdb28dde7f2c550bc7fb764a9a"
|
||||||
|
dest_md5="43cd0d2da5e6d2246e38223d967eaef9"
|
||||||
|
|
||||||
BIN
client/.import/table.png-1c6f2619a22fe5d0e462e196536f39b0.stex
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="6c5effbee182861293c67eb96f5fb23e"
|
||||||
|
dest_md5="9a076a710fba7054180bf80ce4546229"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="e2da7fb14b8d464f2eaa56db492be5df"
|
||||||
|
dest_md5="9b1d426abdf28a2ad8eba161f0c4bb57"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="91f5d4eea59932d76e700385fdb07f7c"
|
||||||
|
dest_md5="b993fb99d8dba17607022d8f7269597a"
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
source_md5="a44cdfde3fe6df51cb14453b6f8b1544"
|
||||||
|
dest_md5="a9ee1a40eb796495a96862aa22a8c4c9"
|
||||||
|
|
||||||
BIN
client/.import/worker.png-a978fbc5cdb9016e5df7bd0462241682.stex
Normal file
BIN
client/Assets/Art/32x32mask.png
Normal file
|
After Width: | Height: | Size: 202 B |
34
client/Assets/Art/32x32mask.png.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Art/Characters/aura.aseprite
Normal file
BIN
client/Assets/Art/Characters/aura.png
Normal file
|
After Width: | Height: | Size: 362 B |
34
client/Assets/Art/Characters/aura.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Characters/aura.png"
|
||||||
|
dest_files=[ "res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.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
|
||||||
BIN
client/Assets/Art/Characters/worker.aseprite
Normal file
BIN
client/Assets/Art/Characters/worker.png
Normal file
|
After Width: | Height: | Size: 228 B |
34
client/Assets/Art/Characters/worker.png.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Art/Objects/datapad.aseprite
Normal file
BIN
client/Assets/Art/Objects/datapad.png
Normal file
|
After Width: | Height: | Size: 100 B |
34
client/Assets/Art/Objects/datapad.png.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Art/Objects/door.aseprite
Normal file
BIN
client/Assets/Art/Objects/door.png
Normal file
|
After Width: | Height: | Size: 319 B |
34
client/Assets/Art/Objects/door.png.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Art/Objects/flashlight.aseprite
Normal file
BIN
client/Assets/Art/Objects/flashlight.png
Normal file
|
After Width: | Height: | Size: 91 B |
34
client/Assets/Art/Objects/flashlight.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/flashlight.png-9efdbc2b7641e3d048bb739e7ca8b977.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Objects/flashlight.png"
|
||||||
|
dest_files=[ "res://.import/flashlight.png-9efdbc2b7641e3d048bb739e7ca8b977.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
|
||||||
BIN
client/Assets/Art/Objects/table.aseprite
Normal file
BIN
client/Assets/Art/Objects/table.png
Normal file
|
After Width: | Height: | Size: 164 B |
34
client/Assets/Art/Objects/table.png.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Art/Objects/transport_ship.aseprite
Normal file
BIN
client/Assets/Art/Objects/transport_ship.png
Normal file
|
After Width: | Height: | Size: 506 B |
34
client/Assets/Art/Objects/transport_ship.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Objects/transport_ship.png"
|
||||||
|
dest_files=[ "res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.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
|
||||||
BIN
client/Assets/Art/Objects/wall_light.aseprite
Normal file
BIN
client/Assets/Art/Objects/wall_light.png
Normal file
|
After Width: | Height: | Size: 121 B |
34
client/Assets/Art/Objects/wall_light.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Objects/wall_light.png"
|
||||||
|
dest_files=[ "res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.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
|
||||||
BIN
client/Assets/Art/flashlight_map.aseprite
Normal file
BIN
client/Assets/Art/flashlight_map.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
34
client/Assets/Art/flashlight_map.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/flashlight_map.png-07edc3c3fd79a9ce4de9ab28aa95564c.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/flashlight_map.png"
|
||||||
|
dest_files=[ "res://.import/flashlight_map.png-07edc3c3fd79a9ce4de9ab28aa95564c.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
|
||||||
BIN
client/Assets/Art/head_bg_less.png
Normal file
|
After Width: | Height: | Size: 732 KiB |
34
client/Assets/Art/head_bg_less.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/head_bg_less.png"
|
||||||
|
dest_files=[ "res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.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
|
||||||
BIN
client/Assets/Art/logo.aseprite
Normal file
BIN
client/Assets/Art/logo.png
Normal file
|
After Width: | Height: | Size: 853 B |
34
client/Assets/Art/logo.png.import
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/logo.png"
|
||||||
|
dest_files=[ "res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.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
|
||||||
BIN
client/Assets/Sfx/Speakers/ceo.wav
Normal file
21
client/Assets/Sfx/Speakers/ceo.wav.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Sfx/Speakers/fast_talker.wav
Normal file
21
client/Assets/Sfx/Speakers/fast_talker.wav.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Sfx/Speakers/robot.wav
Normal file
21
client/Assets/Sfx/Speakers/robot.wav.import
Normal file
@@ -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
|
||||||
BIN
client/Assets/Sfx/door.wav
Normal file
21
client/Assets/Sfx/door.wav.import
Normal file
@@ -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
|
||||||
@@ -6,11 +6,19 @@
|
|||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
TYPE = "EXP_Story_editor"
|
TYPE = "EXP_Story_editor"
|
||||||
names = {
|
names = {
|
||||||
|
"aura_meeting": 12,
|
||||||
|
"aura_meeting_gun": 13,
|
||||||
"into_speak_ceo": 5,
|
"into_speak_ceo": 5,
|
||||||
|
"intro_major_worker": 11,
|
||||||
"intro_meet_ceo": 4,
|
"intro_meet_ceo": 4,
|
||||||
|
"intro_misc_worker_1": 9,
|
||||||
|
"intro_misc_worker_2": 10,
|
||||||
"intro_science": 1,
|
"intro_science": 1,
|
||||||
"intro_science_followup": 3,
|
"intro_science_followup": 3,
|
||||||
"intro_text": 2
|
"intro_shipping_codex": 8,
|
||||||
|
"intro_text": 2,
|
||||||
|
"intro_transportship": 6,
|
||||||
|
"unconfigured": 7
|
||||||
}
|
}
|
||||||
story = {
|
story = {
|
||||||
1: {
|
1: {
|
||||||
@@ -151,7 +159,7 @@ and killing this individual.
|
|||||||
},
|
},
|
||||||
"rect_size": Vector2( 324, 137 ),
|
"rect_size": Vector2( 324, 137 ),
|
||||||
"slot_amount": 1,
|
"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.",
|
in Ravenwork facilities.",
|
||||||
"type": "line"
|
"type": "line"
|
||||||
},
|
},
|
||||||
@@ -671,6 +679,281 @@ not be too far out of reach.",
|
|||||||
"type": "line"
|
"type": "line"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
6: {
|
||||||
|
"available_nid": [ ],
|
||||||
|
"groups": [ "Introduction" ],
|
||||||
|
"human_readable_description": "Interact with landed transportship",
|
||||||
|
"name": "intro_transportship",
|
||||||
|
"nodes": {
|
||||||
|
1: {
|
||||||
|
"graph_offset": Vector2( 40, 40 ),
|
||||||
|
"links": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"rect_size": Vector2( 324, 137 ),
|
||||||
|
"slot_amount": 1,
|
||||||
|
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this
|
||||||
|
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?
|
||||||
|
<choice>Aura?</choice>
|
||||||
|
<choice>You know me?</choice>
|
||||||
|
<choice>I am Scene.</choice>",
|
||||||
|
"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.
|
||||||
|
<choice>Weird</choice>
|
||||||
|
<choice>No?</choice>",
|
||||||
|
"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.
|
||||||
|
<choice>Rerouted?</choice>
|
||||||
|
<choice>What happened to the cargo?</choice>",
|
||||||
|
"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?
|
||||||
|
<choice>Yes</choice>
|
||||||
|
<choice>No</choice>",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
12: {
|
||||||
|
"available_nid": [ ],
|
||||||
|
"groups": [ ],
|
||||||
|
"human_readable_description": "Meeting your clone for the first time",
|
||||||
|
"name": "aura_meeting",
|
||||||
|
"nodes": {
|
||||||
|
1: {
|
||||||
|
"graph_offset": Vector2( 40, 40 ),
|
||||||
|
"links": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"rect_size": Vector2( 324, 137 ),
|
||||||
|
"slot_amount": 1,
|
||||||
|
"text": "Hello Veronica.",
|
||||||
|
"type": "line"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
13: {
|
||||||
|
"available_nid": [ ],
|
||||||
|
"groups": [ ],
|
||||||
|
"human_readable_description": "Getting shot by your clone",
|
||||||
|
"name": "aura_meeting_gun",
|
||||||
|
"nodes": {
|
||||||
|
1: {
|
||||||
|
"graph_offset": Vector2( 40, 40 ),
|
||||||
|
"links": {
|
||||||
|
|
||||||
|
},
|
||||||
|
"rect_size": Vector2( 324, 137 ),
|
||||||
|
"slot_amount": 1,
|
||||||
|
"text": "I'm sorry Veronica.",
|
||||||
|
"type": "line"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
available_dids = [ ]
|
available_dids = [ ]
|
||||||
|
|||||||
200
client/Nodes/Door.tscn
Normal file
@@ -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
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
[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]
|
[ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=3]
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
extents = Vector2( 5, 8 )
|
extents = Vector2( 14.1446, 9.58948 )
|
||||||
|
|
||||||
[node name="Scientist" type="Area2D"]
|
[node name="Scientist" type="Area2D"]
|
||||||
position = Vector2( 167.084, 231.933 )
|
position = Vector2( 167.084, 231.933 )
|
||||||
@@ -15,7 +15,7 @@ script = ExtResource( 1 )
|
|||||||
texture = ExtResource( 3 )
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource( 3 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
[node name="Speaker" type="Node" parent="."]
|
[node name="Speaker" type="Node" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
[gd_scene load_steps=25 format=2]
|
[gd_scene load_steps=28 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Assets/Materials/SmoothScaling.tres" type="Material" id=1]
|
[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://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]
|
[ext_resource path="res://Scripts/Entities/Player.gd" type="Script" id=4]
|
||||||
|
[ext_resource path="res://Assets/Art/flashlight_map.png" type="Texture" id=5]
|
||||||
|
[ext_resource path="res://Assets/Art/Objects/flashlight.png" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://Scripts/Entities/Flashlight.gd" type="Script" id=7]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=1]
|
[sub_resource type="AtlasTexture" id=1]
|
||||||
flags = 8
|
flags = 8
|
||||||
@@ -766,6 +769,31 @@ __meta__ = {
|
|||||||
"_edit_bone_": true
|
"_edit_bone_": true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="flashlight" type="Node2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D"]
|
||||||
|
visible = false
|
||||||
|
rotation = -0.0242677
|
||||||
|
script = ExtResource( 7 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_group_": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="flashlight" type="Sprite" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"]
|
||||||
|
z_index = 10
|
||||||
|
texture = ExtResource( 6 )
|
||||||
|
|
||||||
|
[node name="Light2D" type="Light2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"]
|
||||||
|
enabled = false
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
offset = Vector2( 46, 0 )
|
||||||
|
texture_scale = 0.35
|
||||||
|
shadow_enabled = true
|
||||||
|
shadow_gradient_length = 0.1
|
||||||
|
|
||||||
|
[node name="Glow" type="Light2D" parent="Torso/RightArm/RightForearm/LeftHand/Node2D/flashlight"]
|
||||||
|
enabled = false
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
energy = 0.5
|
||||||
|
|
||||||
[node name="Hips" type="Sprite" parent="Torso"]
|
[node name="Hips" type="Sprite" parent="Torso"]
|
||||||
material = ExtResource( 1 )
|
material = ExtResource( 1 )
|
||||||
position = Vector2( 0, 2.75 )
|
position = Vector2( 0, 2.75 )
|
||||||
@@ -870,13 +898,10 @@ anims/Idle = SubResource( 17 )
|
|||||||
anims/RunLeft = SubResource( 18 )
|
anims/RunLeft = SubResource( 18 )
|
||||||
anims/RunRight = SubResource( 19 )
|
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="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
visible = false
|
||||||
shape = SubResource( 20 )
|
shape = SubResource( 20 )
|
||||||
|
|
||||||
|
[node name="Light2D" type="Light2D" parent="."]
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
energy = 0.25
|
||||||
|
|||||||
28
client/Nodes/Wall Light.tscn
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
[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_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 )
|
||||||
7
client/Scenes/Area2D.gd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
extends "res://Scripts/Component/Interactable.gd"
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
connect("interacted", self, "_on_interact")
|
||||||
|
|
||||||
|
func _on_interact():
|
||||||
|
$Speaker.start_dialog("intro_transportship")
|
||||||
BIN
client/Scenes/Credits.scn
Normal file
@@ -1,6 +1,7 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
signal interacted
|
signal interacted
|
||||||
|
var player
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
connect("body_entered", self, "_on_body_enter")
|
connect("body_entered", self, "_on_body_enter")
|
||||||
@@ -8,6 +9,7 @@ func _ready():
|
|||||||
|
|
||||||
func _on_body_enter(body):
|
func _on_body_enter(body):
|
||||||
if body.has_method("add_interactable"):
|
if body.has_method("add_interactable"):
|
||||||
|
player = body
|
||||||
body.add_interactable(self)
|
body.add_interactable(self)
|
||||||
|
|
||||||
func _on_body_exit(body):
|
func _on_body_exit(body):
|
||||||
|
|||||||
9
client/Scripts/Component/InteractableDialog.gd
Normal file
@@ -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)
|
||||||
14
client/Scripts/Component/LightLoader.gd
Normal file
@@ -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
|
||||||
14
client/Scripts/Component/Pickup.gd
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
extends "res://Scripts/Component/Interactable.gd"
|
||||||
|
|
||||||
|
export var item : String
|
||||||
|
export var tip : String = ""
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
connect("interacted", self, "_on_interact")
|
||||||
|
|
||||||
|
func _on_interact():
|
||||||
|
player.add_item(item)
|
||||||
|
if len(tip) >= 1:
|
||||||
|
var gui = get_tree().root.get_node("World").get_node("GUI")
|
||||||
|
gui.display_tip(tip)
|
||||||
|
queue_free()
|
||||||
@@ -5,6 +5,7 @@ signal finished_text
|
|||||||
signal message_list_empty
|
signal message_list_empty
|
||||||
|
|
||||||
func speak(message):
|
func speak(message):
|
||||||
|
done = false
|
||||||
spoken_text = ""
|
spoken_text = ""
|
||||||
for character in message:
|
for character in message:
|
||||||
soundQueue.append(character)
|
soundQueue.append(character)
|
||||||
@@ -24,6 +25,7 @@ var speaker = "default"
|
|||||||
var soundQueue = []
|
var soundQueue = []
|
||||||
var spoken_text = ""
|
var spoken_text = ""
|
||||||
var playing_speech = false
|
var playing_speech = false
|
||||||
|
var done = true
|
||||||
export var voice_pitch : float = 1
|
export var voice_pitch : float = 1
|
||||||
|
|
||||||
func play_audio():
|
func play_audio():
|
||||||
@@ -61,7 +63,9 @@ func play_audio():
|
|||||||
print("No sound for: " + str(speaker))
|
print("No sound for: " + str(speaker))
|
||||||
else:
|
else:
|
||||||
playing_speech = false
|
playing_speech = false
|
||||||
|
if len(soundQueue) == 0:
|
||||||
emit_signal("finished_text")
|
emit_signal("finished_text")
|
||||||
|
done = true
|
||||||
|
|
||||||
func del_obj(obj):
|
func del_obj(obj):
|
||||||
obj.queue_free()
|
obj.queue_free()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ var did : int
|
|||||||
var choices : int = 1
|
var choices : int = 1
|
||||||
var selected_choice : int = -1
|
var selected_choice : int = -1
|
||||||
export var speaker_name = ""
|
export var speaker_name = ""
|
||||||
|
var final_display_message = ""
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
story_reader.read(story_file)
|
story_reader.read(story_file)
|
||||||
@@ -30,17 +30,23 @@ func _on_text_update():
|
|||||||
func start_dialog(record : String):
|
func start_dialog(record : String):
|
||||||
start_dialog_did(story_reader.get_did_via_record_name(record))
|
start_dialog_did(story_reader.get_did_via_record_name(record))
|
||||||
|
|
||||||
func start_dialog_did(dialog_id : int):
|
func intialize_dialog():
|
||||||
|
if not gui:
|
||||||
gui = get_node("/root/World/GUI")
|
gui = get_node("/root/World/GUI")
|
||||||
|
|
||||||
|
|
||||||
|
func start_dialog_did(dialog_id : int):
|
||||||
|
intialize_dialog()
|
||||||
if not gui.is_in_dialog():
|
if not gui.is_in_dialog():
|
||||||
nid = 1
|
nid = 1
|
||||||
did = dialog_id
|
did = dialog_id
|
||||||
|
|
||||||
process_message(story_reader.get_text(did, nid))
|
process_message(story_reader.get_text(did, nid))
|
||||||
|
|
||||||
func has_next_node():
|
func has_next_node():
|
||||||
return story_reader.has_slot(did, nid, 0)
|
return story_reader.has_slot(did, nid, 0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func process_message(message):
|
func process_message(message):
|
||||||
gui.clear_choices()
|
gui.clear_choices()
|
||||||
selected_choice = -1
|
selected_choice = -1
|
||||||
@@ -62,6 +68,7 @@ func process_message(message):
|
|||||||
i = i + 1
|
i = i + 1
|
||||||
|
|
||||||
speak(message)
|
speak(message)
|
||||||
|
final_display_message = message
|
||||||
|
|
||||||
func _on_choice(decision):
|
func _on_choice(decision):
|
||||||
move_dialog_forward(decision)
|
move_dialog_forward(decision)
|
||||||
@@ -75,5 +82,5 @@ func move_dialog_forward(decision = 0):
|
|||||||
gui.finish_dialog()
|
gui.finish_dialog()
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if(Input.is_action_just_pressed("ui_accept") and choices == 0 and playing_speech == false):
|
if(Input.is_action_just_pressed("ui_accept") and choices == 0 and final_display_message == gui.current_dialog()):
|
||||||
move_dialog_forward(0)
|
move_dialog_forward(0)
|
||||||
|
|||||||
12
client/Scripts/Component/TipArea.gd
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
export var tip = ""
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
connect("body_entered", self, "_on_body_enter")
|
||||||
|
|
||||||
|
func _on_body_enter(body):
|
||||||
|
if body.has_method("add_interactable"):
|
||||||
|
var gui = get_tree().root.get_node("World").get_node("GUI")
|
||||||
|
gui.display_tip(tip)
|
||||||
|
queue_free()
|
||||||
65
client/Scripts/Entities/Door.gd
Normal file
@@ -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
|
||||||
19
client/Scripts/Entities/Flashlight.gd
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
|
# Declare member variables here. Examples:
|
||||||
|
# var a = 2
|
||||||
|
# var b = "text"
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
var rot = global_position.angle_to_point(get_global_mouse_position())
|
||||||
|
rotation = rot + PI - get_parent().global_rotation
|
||||||
|
|
||||||
|
if Input.is_action_just_pressed("toggle_flashlight"):
|
||||||
|
$Light2D.enabled = !$Light2D.enabled
|
||||||
|
$Glow.enabled = !$Glow.enabled
|
||||||
45
client/Scripts/Entities/NPCs/Aura.gd
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
var state = 0
|
||||||
|
var timer : Timer
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
$Speaker.speaker_name = "Aura"
|
||||||
|
connect("body_entered", self, "_on_body_enter")
|
||||||
|
connect("body_exited", self, "_on_body_exit")
|
||||||
|
|
||||||
|
func _on_body_enter(body):
|
||||||
|
if body.has_method("add_interactable"):
|
||||||
|
state = 1
|
||||||
|
$Speaker.start_dialog("aura_meeting")
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if state == 1 and not $Speaker.gui.is_in_dialog():
|
||||||
|
$Sprite.frame = 0
|
||||||
|
$Speaker.start_dialog("aura_meeting_gun")
|
||||||
|
state = 2
|
||||||
|
elif state == 2 and not $Speaker.gui.is_in_dialog():
|
||||||
|
$"/root/MusicManager".stop()
|
||||||
|
if not timer:
|
||||||
|
timer = Timer.new()
|
||||||
|
add_child(timer)
|
||||||
|
timer.connect("timeout", self, "shoot_scene")
|
||||||
|
timer.start(0.5)
|
||||||
|
|
||||||
|
|
||||||
|
func shoot_scene():
|
||||||
|
$AudioStreamPlayer.play()
|
||||||
|
$CanvasLayer/Blood.show()
|
||||||
|
timer.disconnect("timeout", self, "shoot_scene")
|
||||||
|
timer.stop()
|
||||||
|
timer.connect("timeout", self, "start_fade")
|
||||||
|
timer.start(0.5)
|
||||||
|
|
||||||
|
func start_fade():
|
||||||
|
timer.stop()
|
||||||
|
var fader = get_tree().root.get_node("World").get_node("Fader").get_child(0)
|
||||||
|
fader.connect("fade_complete", self, "go_to_credits")
|
||||||
|
fader.fade(2, false)
|
||||||
|
|
||||||
|
func go_to_credits():
|
||||||
|
get_tree().change_scene("res://Scenes/Credits.scn")
|
||||||
@@ -5,14 +5,18 @@ var state : int = 0
|
|||||||
func _ready():
|
func _ready():
|
||||||
connect("interacted", self, "_on_interact")
|
connect("interacted", self, "_on_interact")
|
||||||
$Speaker.speaker_name = "CEO Grant Blevins"
|
$Speaker.speaker_name = "CEO Grant Blevins"
|
||||||
|
$Speaker.speaker = "ceo"
|
||||||
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
|
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
|
||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
if state == 0:
|
if state == 0:
|
||||||
$Speaker.start_dialog("intro_meet_ceo")
|
$Speaker.start_dialog("intro_meet_ceo")
|
||||||
|
if player:
|
||||||
|
player.clearance_level = 1
|
||||||
else:
|
else:
|
||||||
$Speaker.start_dialog("into_speak_ceo")
|
$Speaker.start_dialog("into_speak_ceo")
|
||||||
|
|
||||||
func _on_dialog_exit():
|
func _on_dialog_exit():
|
||||||
if state == 0:
|
if state == 0:
|
||||||
state = 1
|
state = 1
|
||||||
|
$Speaker.gui.display_tip("Press S and then SPACE\nto go down platforms")
|
||||||
|
|||||||
@@ -2,9 +2,14 @@ extends "res://Scripts/Component/Interactable.gd"
|
|||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
connect("interacted", self, "_on_interact")
|
connect("interacted", self, "_on_interact")
|
||||||
|
$Speaker.speaker = "fast_talker"
|
||||||
$Speaker.speaker_name = "Dr.Thadd"
|
$Speaker.speaker_name = "Dr.Thadd"
|
||||||
#$Speaker.start_dialog("intro_science")
|
$Speaker.connect("dialog_exited", self, "give_tip")
|
||||||
|
$Speaker.start_dialog("intro_science")
|
||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
$Speaker.start_dialog("intro_science_followup")
|
$Speaker.start_dialog("intro_science_followup")
|
||||||
|
|
||||||
|
func give_tip():
|
||||||
|
$Speaker.gui.display_tip("Used A & D to move\nleft and right")
|
||||||
|
$Speaker.disconnect("dialog_exited", self, "give_tip")
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
extends KinematicBody2D
|
extends KinematicBody2D
|
||||||
|
|
||||||
|
export var clearance_level = 0
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
export var baseGravity : float = 9.8
|
export var baseGravity : float = 9.8
|
||||||
|
|
||||||
@@ -15,6 +17,20 @@ var motion : Vector2 = Vector2(0,0) # Player's current velocity
|
|||||||
var gui
|
var gui
|
||||||
|
|
||||||
var interactables = []
|
var interactables = []
|
||||||
|
var items = []
|
||||||
|
var equiped = null
|
||||||
|
|
||||||
|
func add_item(item):
|
||||||
|
items.append(item)
|
||||||
|
equip_item(item)
|
||||||
|
|
||||||
|
func equip_item(item):
|
||||||
|
var node = get_node_or_null("Torso/RightArm/RightForearm/LeftHand/Node2D/" + item)
|
||||||
|
if node:
|
||||||
|
equiped = item
|
||||||
|
node.show()
|
||||||
|
else:
|
||||||
|
print("Tried to equip: " + item + " but item was missing!")
|
||||||
|
|
||||||
func add_interactable(interactable):
|
func add_interactable(interactable):
|
||||||
interactables.append(interactable)
|
interactables.append(interactable)
|
||||||
@@ -23,10 +39,6 @@ func remove_interactable(interactable):
|
|||||||
if loc >= 0:
|
if loc >= 0:
|
||||||
interactables.remove(loc)
|
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):
|
func _physics_process(delta):
|
||||||
|
|
||||||
# Gravity
|
# Gravity
|
||||||
@@ -38,6 +50,8 @@ func _physics_process(delta):
|
|||||||
gui = get_node("/root/World/GUI")
|
gui = get_node("/root/World/GUI")
|
||||||
elif not gui.is_in_dialog():
|
elif not gui.is_in_dialog():
|
||||||
user_input()
|
user_input()
|
||||||
|
else:
|
||||||
|
moveMotion = 0
|
||||||
|
|
||||||
# Apply velocity limits
|
# Apply velocity limits
|
||||||
moveMotion = clamp(moveMotion, -maxMoveVelocity, maxMoveVelocity)
|
moveMotion = clamp(moveMotion, -maxMoveVelocity, maxMoveVelocity)
|
||||||
@@ -49,6 +63,9 @@ func _physics_process(delta):
|
|||||||
|
|
||||||
|
|
||||||
func user_input():
|
func user_input():
|
||||||
|
if Input.is_action_just_pressed("interact") 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"):
|
if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"):
|
||||||
position.y = position.y + 2
|
position.y = position.y + 2
|
||||||
return
|
return
|
||||||
|
|||||||