7 Commits

64 changed files with 1342 additions and 364 deletions

View File

@ -0,0 +1,3 @@
source_md5="ac15d19b18183939f2cb938b48b83391"
dest_md5="0983b74d7b93c756eb0c5a98b4157abd"

View File

@ -0,0 +1,3 @@
source_md5="240c53764197402a0c89fe8fb8b2a878"
dest_md5="de36b355f43d62393cda8f9c25ab30ad"

View File

@ -0,0 +1,3 @@
source_md5="a43d1da157f5981d7d307fa0f05c7144"
dest_md5="de067c565a3ab4762ae06714e45fe0ae"

View File

@ -0,0 +1,3 @@
source_md5="3cacd4765fc525e57c7258a4805508e6"
dest_md5="2dab7bdfa7f0fc281860167c39ed10b6"

View File

@ -0,0 +1,3 @@
source_md5="8f26965afe0b4209670f48e30c0ac7d7"
dest_md5="5baf4f679ea1fa30b2a8de6c0cb4af9a"

View File

@ -0,0 +1,3 @@
source_md5="adff44dac2834f17108b17f4084591a1"
dest_md5="e2e7037a5692f3fe173da14e5c60805a"

View File

@ -0,0 +1,3 @@
source_md5="b13caddd7fdd2e51d2b7a6b20a8f47c3"
dest_md5="4475888cf6d0167b58105bf9f678979c"

View File

@ -0,0 +1,3 @@
source_md5="88515d8ae34cca55294e20310b7476c4"
dest_md5="0f70ef32cfa3623874dce680b21fdd79"

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-button-color.png-fe767a41ebb2e92445e76edbb2e18f7a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-button-color.png"
dest_files=[ "res://.import/elevator-button-color.png-fe767a41ebb2e92445e76edbb2e18f7a.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-button.png-77644fd41dc75c8e32a225dd140c8b38.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-button.png"
dest_files=[ "res://.import/elevator-button.png-77644fd41dc75c8e32a225dd140c8b38.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-door.png-c8a525f29a53c56da780c1ade7c02552.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-door.png"
dest_files=[ "res://.import/elevator-door.png-c8a525f29a53c56da780c1ade7c02552.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

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator.png-6104b47e90854ba939097ca22c392814.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator.png"
dest_files=[ "res://.import/elevator.png-6104b47e90854ba939097ca22c392814.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/animation_reference.png-0380e195c2981cbf6a12a964c592fbc3.stex"
path="res://.import/x07DLrX.jpg-800f7c21b25c7cf1a88b1ba7bf53d2e0.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://animation_reference.png"
dest_files=[ "res://.import/animation_reference.png-0380e195c2981cbf6a12a964c592fbc3.stex" ]
source_file="res://Assets/Art/UI/Credits/x07DLrX.jpg"
dest_files=[ "res://.import/x07DLrX.jpg-800f7c21b25c7cf1a88b1ba7bf53d2e0.stex" ]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/panel.png-cc4decc7b9943cbf17f375e8d90306c0.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/UI/panel.png"
dest_files=[ "res://.import/panel.png-cc4decc7b9943cbf17f375e8d90306c0.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=1
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/square_light.png-aadfc5d355cc8a74d0d2f8166db807ad.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/square_light.png"
dest_files=[ "res://.import/square_light.png-aadfc5d355cc8a74d0d2f8166db807ad.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

View File

@ -35,7 +35,7 @@ story = {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Welcome to Ravenworks.",
"text": "Welcome to Ravenworks. Your designation is SCENE.",
"type": "line"
},
2: {
@ -61,7 +61,7 @@ story = {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "You are in Ravenworks cloining facility in Central City.
"text": "You are in Ravenworks main facility in Central City.
<choice>Okay</choice>
<choice>Central City?</choice>",
"type": "line"
@ -83,13 +83,13 @@ story = {
},
"rect_size": Vector2( 441, 165 ),
"slot_amount": 1,
"text": "Central City is the location of the five corporate seats of power.",
"text": "Central City is the capital of the five corporate seats of power.",
"type": "line"
},
6: {
"graph_offset": Vector2( 1000, 80 ),
"links": {
0: 7
0: 10
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
@ -97,14 +97,13 @@ story = {
"type": "line"
},
7: {
"graph_offset": Vector2( 1480, 80 ),
"graph_offset": Vector2( 2120, 80 ),
"links": {
0: 10
0: 9
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There are reports that an executive here at Ravenworks is
working against the company's interests.",
"text": "You will now serve as an agent of Ravenworks.",
"type": "line"
},
8: {
@ -114,12 +113,11 @@ working against the company's interests.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You died hundreds of years ago and I do not have time to explain
to you over 100 years of history.",
"text": "You died hundreds of years ago and I do not have time to explain to you over 100 years of history.",
"type": "line"
},
9: {
"graph_offset": Vector2( 2440, 80 ),
"graph_offset": Vector2( 2600, 80 ),
"links": {
0: 12
},
@ -130,50 +128,46 @@ to you over 100 years of history.",
"type": "line"
},
10: {
"graph_offset": Vector2( 1960, 80 ),
"graph_offset": Vector2( 1600, 80 ),
"links": {
0: 9,
0: 7,
1: 11
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "The CEO of Ravenworks has decided to task you with finding
and killing this individual.
"text": "The CEO of Ravenworks has decided to clone your template to deal with a sensitive issue.
<choice>Okay</choice>
<choice>Why me?</choice>",
"type": "line"
},
11: {
"graph_offset": Vector2( 1960, 300 ),
"graph_offset": Vector2( 1920, 300 ),
"links": {
0: 9
0: 7
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I do not know.",
"text": "I do not know. ",
"type": "line"
},
12: {
"graph_offset": Vector2( 2920, 80 ),
"graph_offset": Vector2( 3080, 80 ),
"links": {
0: 13
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Good. You have been given Level 1 security clearance
in Ravenwork facilities.",
"text": "Good. You have been given Level 1 security clearance in all Ravenwork facilities.",
"type": "line"
},
13: {
"graph_offset": Vector2( 3400, 80 ),
"graph_offset": Vector2( 3560, 80 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "CEO Grant Blevins would like to speak to you about the
investigation. His office is located at the top of
Central Tower.",
"text": "CEO Grant Blevins would like to speak to you as soon as possible. His office is located at the top of Central Tower.",
"type": "line"
}
}
@ -284,7 +278,7 @@ for our services.",
"slot_amount": 2,
"text": "Did you need something?
<choice>No</choice>
<choice>You are the traitor!</choice>",
<choice>What do you think of Grant Blevins?</choice>",
"type": "line"
},
2: {
@ -294,8 +288,7 @@ for our services.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Don't make such false accusations. Get back to your job
and find the real culpurit.",
"text": "He has done good for me and Ravenworks.",
"type": "line"
},
3: {
@ -333,25 +326,26 @@ and find the real culpurit.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It's good to see they have not eliminated you yet. Most my attempts
to find the mole up until this point have ended in swift failure.",
"text": "It's good to see they have not eliminated you yet. Most my attempts to find the mole up until this point have ended in swift failure.",
"type": "line"
},
3: {
"graph_offset": Vector2( 1020, 0 ),
"links": {
0: 7,
1: 4
1: 4,
2: 30
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"slot_amount": 3,
"text": "You will not disappoint me, right Scene?
<choice>Of course not!</choice>
<choice>I will do my best</choice>",
<choice>I will do my best</choice>
<choice>What do you need me to do?</choice>",
"type": "line"
},
4: {
"graph_offset": Vector2( 1500, 100 ),
"graph_offset": Vector2( 1520, 100 ),
"links": {
0: 5
},
@ -367,8 +361,7 @@ to find the mole up until this point have ended in swift failure.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You will need more than just your wits to defeat this
traitor.",
"text": "You will need more than just your wits to defeat this traitor.",
"type": "line"
},
6: {
@ -382,7 +375,7 @@ traitor.",
"type": "line"
},
7: {
"graph_offset": Vector2( 1760, -80 ),
"graph_offset": Vector2( 1580, -80 ),
"links": {
0: 6
},
@ -442,8 +435,7 @@ but we both remeber how your final job went.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There has been a concerning amount of leaks of secret projects
and internal data to our competitor Duke Enterprises.",
"text": "There has been a concerning amount of leaks of secret projects and internal data to our competitor Duke Enterprises.",
"type": "line"
},
13: {
@ -453,8 +445,7 @@ and internal data to our competitor Duke Enterprises.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Due the volume and nature of the data, the one conspiring with
the Dukes must have extremely high security clearance.",
"text": "Due the volume and nature of the data, the one conspiring with the Dukes must have extremely high security clearance.",
"type": "line"
},
14: {
@ -464,8 +455,7 @@ the Dukes must have extremely high security clearance.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "That is why I have given you nearly full access to our facilities.
This traitor could be anyone.",
"text": "That is why I have given you nearly full access to our facilities. This traitor could be anyone.",
"type": "line"
},
15: {
@ -490,8 +480,7 @@ This traitor could be anyone.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I'm trusting you Scene. It's not a common thing in our time, but I have
little choice.",
"text": "I'm trusting you Scene. It's not a common thing in our time, but Veronica rarely fails me.",
"type": "line"
},
17: {
@ -501,8 +490,7 @@ little choice.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I have always been sympathatic to societies of the past. Things were done...
different than they are now.",
"text": "I have always been sympathatic to societies of the past. Things were done... different than they are now.",
"type": "line"
},
18: {
@ -512,8 +500,7 @@ different than they are now.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You were one of the best investigators of your time! It was sad
you got caught up in the events of the old capital.",
"text": "You were one of the best investigators of your time! It was a shame you got caught up in the events of the old capital.",
"type": "line"
},
19: {
@ -523,7 +510,7 @@ you got caught up in the events of the old capital.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It 3024, making it around 1000 years since your death.",
"text": "It 3024, making it around 1000 years since your death. Welcome to the future!",
"type": "line"
},
20: {
@ -535,8 +522,7 @@ you got caught up in the events of the old capital.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 3,
"text": "We have a shipment of biological materials coming in today. It seems
like the sort of thing we have had troubles with recently.
"text": "We have a shipment of biological materials coming in today. It seems like the sort of thing we have had troubles with recently.
<choice>Okay, where?</choice>
<choice>What sort of troubles?</choice>
<choice>Biological materials?</choice>",
@ -592,8 +578,7 @@ like the sort of thing we have had troubles with recently.
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective,
the closest thing to a centralized government.",
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective, the closest thing to the centralized government of old.",
"type": "line"
},
26: {
@ -603,8 +588,7 @@ the closest thing to a centralized government.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "In corporate politics, our opposition likes to put in place agreements that
hinder our success. We are not alone in ignoring many of these agreements.",
"text": "In corporate politics, our opposition likes to put in place agreements that hinder our success. We are not alone in ignoring many of these agreements.",
"type": "line"
},
27: {
@ -614,7 +598,7 @@ hinder our success. We are not alone in ignoring many of these agreements.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Anyway,",
"text": "Anyway...",
"type": "line"
},
28: {
@ -624,8 +608,7 @@ hinder our success. We are not alone in ignoring many of these agreements.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "This building's shipping facility is located on mid levels. They should
not be too far out of reach.",
"text": "This building's shipping facility is located on mid levels. They should not be too far out of reach.",
"type": "line"
},
29: {
@ -637,6 +620,16 @@ not be too far out of reach.",
"slot_amount": 1,
"text": "Keep me up to date on your progress.",
"type": "line"
},
30: {
"graph_offset": Vector2( 3380, 400 ),
"links": {
0: 12
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "That's unusual. In that case, we'll skip the pleasantries.",
"type": "line"
}
}
},
@ -694,8 +687,7 @@ not be too far out of reach.",
},
"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?",
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this suppose to be carrying the biological shipment?",
"type": "line"
}
}
@ -796,9 +788,9 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "Yeah, we met a few days ago.
"text": "Yeah, we worked together a few months ago.
<choice>Weird</choice>
<choice>No?</choice>",
<choice>I just got here?</choice>",
"type": "line"
},
3: {
@ -812,7 +804,7 @@ Cubic Carbon - MISSING",
"type": "line"
},
4: {
"graph_offset": Vector2( 440, 0 ),
"graph_offset": Vector2( 540, 80 ),
"links": {
},
@ -828,7 +820,7 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Yeah, we don't see many faces like yours around here.",
"text": "Yeah, we don't see many faces like yours around here. It's hard to forget.",
"type": "line"
}
}
@ -836,7 +828,7 @@ Cubic Carbon - MISSING",
11: {
"available_nid": [ ],
"groups": [ "Introduction" ],
"human_readable_description": "Work who drove spacecraft",
"human_readable_description": "Worker who drove spacecraft",
"name": "intro_major_worker",
"nodes": {
1: {
@ -859,8 +851,7 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "During the flight over here, the navigation computer redirected to
the lower levels.",
"text": "During the flight over here, the navigation computer redirected to the lower levels.",
"type": "line"
},
3: {
@ -893,9 +884,7 @@ the lower levels.",
},
"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!",
"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: {
@ -971,10 +960,9 @@ Ravenwork staff!",
1: 11,
2: 12
},
"rect_size": Vector2( 324, 137 ),
"rect_size": Vector2( 441, 221 ),
"slot_amount": 3,
"text": "As you can see now, you are not the first person cloned for Ravenworks profit
margins.
"text": "As you can see now, you are not the first Veronica cloned for Ravenworks profit margins.
<choice>Are you the traitor?</choice>
<choice>Return the shipment!</choice>
<choice>We can talk</choice>",
@ -983,7 +971,7 @@ margins.
5: {
"graph_offset": Vector2( 520, -120 ),
"links": {
0: 22
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
@ -1051,8 +1039,7 @@ surpress democratic sympathizers.
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save
lives, not be used for creating slaves.",
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save lives, not be used for creating slaves.",
"type": "line"
},
12: {
@ -1062,8 +1049,7 @@ lives, not be used for creating slaves.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There isn't much we can do sadly. I'm presuming you still have
your implant.",
"text": "There isn't much we can do sadly. I'm presuming you still have your implant.",
"type": "line"
},
13: {
@ -1073,7 +1059,7 @@ your implant.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Do you want to discuss terms of peace with us?
"text": "Do you want to discuss terms with us?
<choice>No</choice>",
"type": "line"
},
@ -1084,7 +1070,7 @@ your implant.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You weren't even given the choice. They programmed you to respond that way.",
"text": "You weren't even given the choice.",
"type": "line"
},
15: {
@ -1157,6 +1143,16 @@ out for anyone but their executives.",
"slot_amount": 1,
"text": "But after what I learned about the old capital... Never again.",
"type": "line"
},
22: {
"graph_offset": Vector2( 1000, -120 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It's sad to here they finally perfected the program.",
"type": "line"
}
}
},
@ -1191,8 +1187,7 @@ out for anyone but their executives.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account
for the recent increase in deliveries.",
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account for the recent increase in deliveries.",
"type": "line"
},
2: {
@ -1202,8 +1197,7 @@ for the recent increase in deliveries.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "To account for this change, we have moved all non-mandatory security officers
to the mid and upper levels.",
"text": "To account for this change, we have moved all non-mandatory security officers to the mid and upper levels.",
"type": "line"
}
}

View File

@ -12,7 +12,7 @@ story = {
"links": {
0: 2
},
"text": "Welcome to Ravenworks."
"text": "Welcome to Ravenworks. Your designation is SCENE."
},
2: {
"links": {
@ -30,7 +30,7 @@ story = {
0: 2,
1: 5
},
"text": "You are in Ravenworks cloining facility in Central City.
"text": "You are in Ravenworks main facility in Central City.
<choice>Okay</choice>
<choice>Central City?</choice>"
},
@ -44,27 +44,25 @@ story = {
"links": {
0: 8
},
"text": "Central City is the location of the five corporate seats of power."
"text": "Central City is the capital of the five corporate seats of power."
},
6: {
"links": {
0: 7
0: 10
},
"text": "Excellent."
},
7: {
"links": {
0: 10
0: 9
},
"text": "There are reports that an executive here at Ravenworks is
working against the company's interests."
"text": "You will now serve as an agent of Ravenworks."
},
8: {
"links": {
0: 2
},
"text": "You died hundreds of years ago and I do not have time to explain
to you over 100 years of history."
"text": "You died hundreds of years ago and I do not have time to explain to you over 100 years of history."
},
9: {
"links": {
@ -75,34 +73,30 @@ to you over 100 years of history."
},
10: {
"links": {
0: 9,
0: 7,
1: 11
},
"text": "The CEO of Ravenworks has decided to task you with finding
and killing this individual.
"text": "The CEO of Ravenworks has decided to clone your template to deal with a sensitive issue.
<choice>Okay</choice>
<choice>Why me?</choice>"
},
11: {
"links": {
0: 9
0: 7
},
"text": "I do not know."
"text": "I do not know. "
},
12: {
"links": {
0: 13
},
"text": "Good. You have been given Level 1 security clearance
in Ravenwork facilities."
"text": "Good. You have been given Level 1 security clearance in all Ravenwork facilities."
},
13: {
"links": {
},
"text": "CEO Grant Blevins would like to speak to you about the
investigation. His office is located at the top of
Central Tower."
"text": "CEO Grant Blevins would like to speak to you as soon as possible. His office is located at the top of Central Tower."
}
}
},
@ -169,14 +163,13 @@ for our services."
},
"text": "Did you need something?
<choice>No</choice>
<choice>You are the traitor!</choice>"
<choice>What do you think of Grant Blevins?</choice>"
},
2: {
"links": {
},
"text": "Don't make such false accusations. Get back to your job
and find the real culpurit."
"text": "He has done good for me and Ravenworks."
},
3: {
"links": {
@ -198,17 +191,18 @@ and find the real culpurit."
"links": {
0: 3
},
"text": "It's good to see they have not eliminated you yet. Most my attempts
to find the mole up until this point have ended in swift failure."
"text": "It's good to see they have not eliminated you yet. Most my attempts to find the mole up until this point have ended in swift failure."
},
3: {
"links": {
0: 7,
1: 4
1: 4,
2: 30
},
"text": "You will not disappoint me, right Scene?
<choice>Of course not!</choice>
<choice>I will do my best</choice>"
<choice>I will do my best</choice>
<choice>What do you need me to do?</choice>"
},
4: {
"links": {
@ -220,8 +214,7 @@ to find the mole up until this point have ended in swift failure."
"links": {
0: 6
},
"text": "You will need more than just your wits to defeat this
traitor."
"text": "You will need more than just your wits to defeat this traitor."
},
6: {
"links": {
@ -267,22 +260,19 @@ but we both remeber how your final job went."
"links": {
0: 13
},
"text": "There has been a concerning amount of leaks of secret projects
and internal data to our competitor Duke Enterprises."
"text": "There has been a concerning amount of leaks of secret projects and internal data to our competitor Duke Enterprises."
},
13: {
"links": {
0: 14
},
"text": "Due the volume and nature of the data, the one conspiring with
the Dukes must have extremely high security clearance."
"text": "Due the volume and nature of the data, the one conspiring with the Dukes must have extremely high security clearance."
},
14: {
"links": {
0: 16
},
"text": "That is why I have given you nearly full access to our facilities.
This traitor could be anyone."
"text": "That is why I have given you nearly full access to our facilities. This traitor could be anyone."
},
15: {
"links": {
@ -299,28 +289,25 @@ This traitor could be anyone."
"links": {
0: 15
},
"text": "I'm trusting you Scene. It's not a common thing in our time, but I have
little choice."
"text": "I'm trusting you Scene. It's not a common thing in our time, but Veronica rarely fails me."
},
17: {
"links": {
0: 18
},
"text": "I have always been sympathatic to societies of the past. Things were done...
different than they are now."
"text": "I have always been sympathatic to societies of the past. Things were done... different than they are now."
},
18: {
"links": {
0: 15
},
"text": "You were one of the best investigators of your time! It was sad
you got caught up in the events of the old capital."
"text": "You were one of the best investigators of your time! It was a shame you got caught up in the events of the old capital."
},
19: {
"links": {
0: 15
},
"text": "It 3024, making it around 1000 years since your death."
"text": "It 3024, making it around 1000 years since your death. Welcome to the future!"
},
20: {
"links": {
@ -328,8 +315,7 @@ you got caught up in the events of the old capital."
1: 21,
2: 22
},
"text": "We have a shipment of biological materials coming in today. It seems
like the sort of thing we have had troubles with recently.
"text": "We have a shipment of biological materials coming in today. It seems like the sort of thing we have had troubles with recently.
<choice>Okay, where?</choice>
<choice>What sort of troubles?</choice>
<choice>Biological materials?</choice>"
@ -365,34 +351,37 @@ like the sort of thing we have had troubles with recently.
"links": {
0: 27
},
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective,
the closest thing to a centralized government."
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective, the closest thing to the centralized government of old."
},
26: {
"links": {
0: 27
},
"text": "In corporate politics, our opposition likes to put in place agreements that
hinder our success. We are not alone in ignoring many of these agreements."
"text": "In corporate politics, our opposition likes to put in place agreements that hinder our success. We are not alone in ignoring many of these agreements."
},
27: {
"links": {
0: 28
},
"text": "Anyway,"
"text": "Anyway..."
},
28: {
"links": {
0: 29
},
"text": "This building's shipping facility is located on mid levels. They should
not be too far out of reach."
"text": "This building's shipping facility is located on mid levels. They should not be too far out of reach."
},
29: {
"links": {
},
"text": "Keep me up to date on your progress."
},
30: {
"links": {
0: 12
},
"text": "That's unusual. In that case, we'll skip the pleasantries."
}
}
},
@ -427,8 +416,7 @@ not be too far out of reach."
"links": {
},
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this
suppose to be carrying the biological shipment?"
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this suppose to be carrying the biological shipment?"
}
}
},
@ -489,9 +477,9 @@ Cubic Carbon - MISSING"
0: 5,
1: 3
},
"text": "Yeah, we met a few days ago.
"text": "Yeah, we worked together a few months ago.
<choice>Weird</choice>
<choice>No?</choice>"
<choice>I just got here?</choice>"
},
3: {
"links": {
@ -509,7 +497,7 @@ Cubic Carbon - MISSING"
"links": {
},
"text": "Yeah, we don't see many faces like yours around here."
"text": "Yeah, we don't see many faces like yours around here. It's hard to forget."
}
}
},
@ -528,8 +516,7 @@ Cubic Carbon - MISSING"
"links": {
0: 3
},
"text": "During the flight over here, the navigation computer redirected to
the lower levels."
"text": "During the flight over here, the navigation computer redirected to the lower levels."
},
3: {
"links": {
@ -550,9 +537,7 @@ the lower levels."
"links": {
0: 6
},
"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!"
"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!"
},
6: {
"links": {
@ -602,15 +587,14 @@ Ravenwork staff!"
1: 11,
2: 12
},
"text": "As you can see now, you are not the first person cloned for Ravenworks profit
margins.
"text": "As you can see now, you are not the first Veronica cloned for Ravenworks profit margins.
<choice>Are you the traitor?</choice>
<choice>Return the shipment!</choice>
<choice>We can talk</choice>"
},
5: {
"links": {
0: 22
},
"text": "Oh... They truely had you didn't they."
},
@ -652,28 +636,26 @@ surpress democratic sympathizers.
"links": {
0: 15
},
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save
lives, not be used for creating slaves."
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save lives, not be used for creating slaves."
},
12: {
"links": {
0: 13
},
"text": "There isn't much we can do sadly. I'm presuming you still have
your implant."
"text": "There isn't much we can do sadly. I'm presuming you still have your implant."
},
13: {
"links": {
0: 14
},
"text": "Do you want to discuss terms of peace with us?
"text": "Do you want to discuss terms with us?
<choice>No</choice>"
},
14: {
"links": {
},
"text": "You weren't even given the choice. They programmed you to respond that way."
"text": "You weren't even given the choice."
},
15: {
"links": {
@ -717,6 +699,12 @@ out for anyone but their executives."
},
"text": "But after what I learned about the old capital... Never again."
},
22: {
"links": {
},
"text": "It's sad to here they finally perfected the program."
}
}
},
@ -736,15 +724,13 @@ out for anyone but their executives."
"links": {
0: 2
},
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account
for the recent increase in deliveries."
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account for the recent increase in deliveries."
},
2: {
"links": {
},
"text": "To account for this change, we have moved all non-mandatory security officers
to the mid and upper levels."
"text": "To account for this change, we have moved all non-mandatory security officers to the mid and upper levels."
}
}
}

View File

@ -0,0 +1,55 @@
[gd_resource type="Theme" load_steps=11 format=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
[sub_resource type="StyleBoxEmpty" id=1]
[sub_resource type="StyleBoxEmpty" id=2]
[sub_resource type="StyleBoxEmpty" id=3]
[sub_resource type="StyleBoxEmpty" id=4]
[sub_resource type="StyleBoxEmpty" id=5]
[sub_resource type="StyleBoxEmpty" id=6]
[sub_resource type="StyleBoxLine" id=7]
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
[sub_resource type="StyleBoxEmpty" id=8]
[sub_resource type="DynamicFont" id=9]
size = 32
outline_size = 1
outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
font_data = ExtResource( 1 )
[resource]
default_font = SubResource( 9 )
Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 )
Button/colors/font_color_pressed = Color( 0.6, 0.835294, 0.858824, 0.784314 )
Button/constants/hseparation = 16
Button/fonts/font = null
Button/styles/ = SubResource( 1 )
Button/styles/disabled = SubResource( 2 )
Button/styles/focus = SubResource( 3 )
Button/styles/hover = SubResource( 4 )
Button/styles/normal = SubResource( 5 )
Button/styles/pressed = SubResource( 6 )
HBoxContainer/constants/separation = 64
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource( 7 )
Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
Label/constants/line_spacing = 3
Label/constants/shadow_as_outline = 0
Label/constants/shadow_offset_x = 1
Label/constants/shadow_offset_y = 1
Label/fonts/font = null
Label/icons/ = null
Label/styles/normal = null
Panel/styles/panel = SubResource( 8 )

View File

@ -0,0 +1,107 @@
[gd_resource type="Theme" load_steps=19 format=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
[ext_resource path="res://Assets/Art/UI/panel.png" type="Texture" id=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/targets-v3.1/Targets.otf" type="DynamicFontData" id=3]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/zapper-v1.1/Zapper.otf" type="DynamicFontData" id=4]
[ext_resource path="res://Assets/Art/UI/button1.png" type="Texture" id=5]
[ext_resource path="res://Assets/Art/UI/button2.png" type="Texture" id=6]
[sub_resource type="StyleBoxEmpty" id=1]
[sub_resource type="StyleBoxEmpty" id=2]
[sub_resource type="StyleBoxEmpty" id=3]
[sub_resource type="StyleBoxEmpty" id=4]
[sub_resource type="StyleBoxEmpty" id=5]
[sub_resource type="StyleBoxEmpty" id=6]
[sub_resource type="StyleBoxLine" id=7]
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
[sub_resource type="StyleBoxTexture" id=8]
texture = ExtResource( 2 )
region_rect = Rect2( 0, 0, 8, 8 )
axis_stretch_horizontal = 2
axis_stretch_vertical = 2
modulate_color = Color( 1, 1, 1, 0.686275 )
[sub_resource type="DynamicFont" id=9]
outline_size = 1
outline_color = Color( 0.313726, 0.627451, 0.85098, 0.176471 )
font_data = ExtResource( 4 )
[sub_resource type="DynamicFont" id=10]
size = 32
font_data = ExtResource( 3 )
[sub_resource type="StyleBoxTexture" id=11]
texture = ExtResource( 2 )
region_rect = Rect2( 0, 0, 8, 8 )
axis_stretch_horizontal = 2
axis_stretch_vertical = 2
modulate_color = Color( 1, 1, 1, 0.686275 )
[sub_resource type="DynamicFont" id=12]
size = 32
outline_size = 2
outline_color = Color( 0.313726, 0.627451, 0.85098, 0.176471 )
font_data = ExtResource( 1 )
[resource]
default_font = SubResource( 12 )
Button/colors/font_color = Color( 1, 1, 1, 1 )
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
Button/colors/font_color_hover = Color( 0.286275, 0.568627, 0.768627, 0.941176 )
Button/colors/font_color_pressed = Color( 0.1813, 0.361375, 0.49, 0.686275 )
Button/constants/hseparation = 16
Button/fonts/font = null
Button/styles/ = SubResource( 1 )
Button/styles/disabled = SubResource( 2 )
Button/styles/focus = SubResource( 3 )
Button/styles/hover = SubResource( 4 )
Button/styles/normal = SubResource( 5 )
Button/styles/pressed = SubResource( 6 )
HBoxContainer/constants/separation = 64
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource( 7 )
Label/colors/font_color = Color( 1, 1, 1, 1 )
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
Label/colors/font_outline_modulate = Color( 0.223529, 0.443137, 0.6, 0 )
Label/constants/line_spacing = 3
Label/constants/shadow_as_outline = 0
Label/constants/shadow_offset_x = 1
Label/constants/shadow_offset_y = 1
Label/fonts/font = null
Label/icons/ = null
Label/styles/normal = null
Panel/styles/panel = SubResource( 8 )
RichTextLabel/colors/default_color = Color( 1, 1, 1, 1 )
RichTextLabel/colors/font_color_selected = Color( 0.49, 0.49, 0.49, 1 )
RichTextLabel/colors/font_color_shadow = Color( 0, 0, 0, 0 )
RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 )
RichTextLabel/constants/line_separation = 1
RichTextLabel/constants/shadow_as_outline = 0
RichTextLabel/constants/shadow_offset_x = 1
RichTextLabel/constants/shadow_offset_y = 1
RichTextLabel/constants/table_hseparation = 3
RichTextLabel/constants/table_vseparation = 3
RichTextLabel/fonts/bold_font = null
RichTextLabel/fonts/bold_italics_font = null
RichTextLabel/fonts/italics_font = null
RichTextLabel/fonts/mono_font = null
RichTextLabel/fonts/normal_font = SubResource( 9 )
RichTextLabel/styles/focus = null
RichTextLabel/styles/normal = null
WindowDialog/colors/title_color = Color( 0.980392, 0.960784, 0.960784, 1 )
WindowDialog/constants/close_h_ofs = 18
WindowDialog/constants/close_v_ofs = 18
WindowDialog/constants/scaleborder_size = 4
WindowDialog/constants/title_height = 20
WindowDialog/fonts/title_font = SubResource( 10 )
WindowDialog/icons/close = ExtResource( 6 )
WindowDialog/icons/close_highlight = ExtResource( 5 )
WindowDialog/styles/panel = SubResource( 11 )

View File

@ -5,31 +5,28 @@
[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]
[sub_resource type="RectangleShape2D" id=1]
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, 0, 32, 32 )
[sub_resource type="OccluderPolygon2D" id=3]
polygon = PoolVector2Array( -5, 18, -5, 0, -2, 0, -2, 4, 2, 4, 2, 0, 5, 0, 5, 18 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 1 )
region = Rect2( 0, 32, 32, 32 )
[sub_resource type="AtlasTexture" id=3]
[sub_resource type="AtlasTexture" id=5]
atlas = ExtResource( 1 )
region = Rect2( 0, 64, 32, 32 )
[sub_resource type="OccluderPolygon2D" id=9]
[sub_resource type="OccluderPolygon2D" id=6]
polygon = PoolVector2Array( 5, -18, 5, 0, -5, 0, -5, -18 )
[sub_resource type="Animation" id=5]
resource_name = "Close"
[sub_resource type="Animation" id=7]
length = 0.5
tracks/0/type = "bezier"
tracks/0/path = NodePath("Top:position:x")
@ -92,8 +89,7 @@ tracks/5/keys = {
"times": PoolRealArray( 0, 0.5 )
}
[sub_resource type="Animation" id=4]
resource_name = "Open"
[sub_resource type="Animation" id=8]
length = 0.5
tracks/0/type = "bezier"
tracks/0/path = NodePath("Bottom:position:x")
@ -156,7 +152,7 @@ tracks/5/keys = {
"times": PoolRealArray( 0, 0.5 )
}
[sub_resource type="RectangleShape2D" id=6]
[sub_resource type="RectangleShape2D" id=9]
extents = Vector2( 40.2987, 16.0621 )
[node name="Door" type="Area2D"]
@ -165,31 +161,31 @@ script = ExtResource( 3 )
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
shape = SubResource( 7 )
shape = SubResource( 1 )
[node name="Bottom" type="Sprite" parent="."]
z_index = 25
texture = SubResource( 1 )
texture = SubResource( 2 )
[node name="LightOccluder2D" type="LightOccluder2D" parent="Bottom"]
occluder = SubResource( 8 )
occluder = SubResource( 3 )
[node name="Top" type="Sprite" parent="."]
z_index = 25
texture = SubResource( 2 )
texture = SubResource( 4 )
[node name="Color" type="Sprite" parent="Top"]
texture = SubResource( 3 )
texture = SubResource( 5 )
[node name="LightOccluder2D" type="LightOccluder2D" parent="Top"]
occluder = SubResource( 9 )
occluder = SubResource( 6 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Close = SubResource( 5 )
anims/Open = SubResource( 4 )
anims/Close = SubResource( 7 )
anims/Open = SubResource( 8 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 6 )
shape = SubResource( 9 )
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 2 )

View File

@ -0,0 +1,53 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator.png" type="Texture" id=1]
[ext_resource path="res://Scripts/Entities/Elevator.gd" type="Script" id=2]
[ext_resource path="res://Scripts/Component/ElevatorControls.gd" type="Script" id=3]
[ext_resource path="res://Scripts/Component/LandingArea.gd" type="Script" id=4]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 16, 2 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 10, 16 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 16, 1 )
[node name="Elevator" type="Node2D"]
script = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 1 )
[node name="Bottom" type="StaticBody2D" parent="."]
position = Vector2( 0, 18 )
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Bottom"]
shape = SubResource( 1 )
[node name="Top" type="StaticBody2D" parent="."]
position = Vector2( 0, -18 )
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Top"]
shape = SubResource( 1 )
[node name="ElevatorControls" type="Area2D" parent="."]
script = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="ElevatorControls"]
shape = SubResource( 2 )
[node name="LandingArea" type="Area2D" parent="."]
script = ExtResource( 4 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="LandingArea"]
position = Vector2( 0, 15 )
shape = SubResource( 3 )

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-button-color.png" type="Texture" id=1]
[ext_resource path="res://Scripts/Entities/ElevatorButton.gd" type="Script" id=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-button.png" type="Texture" id=3]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 3 )
region = Rect2( 0, 0, 16, 8 )
[sub_resource type="CircleShape2D" id=2]
radius = 16.0
[sub_resource type="Animation" id=3]
resource_name = "Done"
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
[sub_resource type="Animation" id=4]
resource_name = "Waiting"
length = 0.4
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 1, 0 ]
}
[node name="ElevatorButton" type="Area2D"]
script = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="Sprite" type="Sprite" parent="."]
texture = SubResource( 1 )
hframes = 2
frame = 1
[node name="Color" type="Sprite" parent="."]
modulate = Color( 0.0941176, 1, 0.14902, 1 )
texture = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 2 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Done = SubResource( 3 )
anims/Waiting = SubResource( 4 )

View File

@ -0,0 +1,174 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-door.png" type="Texture" id=1]
[ext_resource path="res://Assets/Sfx/door.wav" type="AudioStream" id=2]
[ext_resource path="res://Scripts/Entities/ElevatorDoor.gd" type="Script" id=3]
[ext_resource path="res://Assets/Art/32x32mask.png" type="Texture" id=5]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 1.65761, 15.9043 )
[sub_resource type="Animation" id=7]
length = 0.3
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.3 )
}
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( -24, -0.25, 0, 0.25, 0, -8, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
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.3 )
}
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.3 )
}
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( 24, -0.25, 0, 0.25, 0, 8, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
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.3 )
}
[sub_resource type="Animation" id=8]
length = 0.3
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.3 )
}
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( 8, -0.25, 0, 0.25, 0, 24, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
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.3 )
}
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.3 )
}
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( -8, -0.25, 0, 0.25, 0, -24, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
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.3 )
}
[sub_resource type="RectangleShape2D" id=9]
extents = Vector2( 14.4443, 16.0621 )
[node name="ElevatorDoor" type="Area2D"]
script = ExtResource( 3 )
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
shape = SubResource( 1 )
[node name="Bottom" type="Sprite" parent="."]
position = Vector2( 0, 8 )
scale = Vector2( 1, -1 )
z_index = 25
texture = ExtResource( 1 )
[node name="Top" type="Sprite" parent="."]
position = Vector2( 0, -8 )
z_index = 25
texture = ExtResource( 1 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Close = SubResource( 7 )
anims/Open = SubResource( 8 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 9 )
[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

View File

@ -1,23 +1,16 @@
[gd_scene load_steps=10 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Themes/default.tres" type="Theme" id=1]
[ext_resource path="res://Assets/Themes/main_theme.tres" type="Theme" id=1]
[ext_resource path="res://Scripts/Systems/GameGui.gd" type="Script" id=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/improbable-v1/Improbable.ttf" type="DynamicFontData" id=3]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/zapper-v1.1/Zapper.otf" type="DynamicFontData" id=4]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=5]
[ext_resource path="res://Scripts/Entities/Fader.gd" type="Script" id=6]
[sub_resource type="DynamicFont" id=1]
size = 18
font_data = ExtResource( 4 )
[sub_resource type="StyleBoxFlat" id=4]
bg_color = Color( 0.2, 0.376471, 0.368627, 0.694118 )
[sub_resource type="DynamicFont" id=2]
size = 48
font_data = ExtResource( 3 )
[sub_resource type="DynamicFont" id=3]
[sub_resource type="DynamicFont" id=2]
size = 32
outline_size = 2
outline_color = Color( 0, 0, 0, 0.45098 )
@ -40,7 +33,7 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Textbox" type="ColorRect" parent="Dialog"]
[node name="Textbox" type="Panel" parent="Dialog"]
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
@ -49,10 +42,6 @@ margin_left = -475.0
margin_top = -143.0
margin_right = 475.0
margin_bottom = -20.0
color = Color( 0.254902, 0.513726, 0.505882, 0.870588 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Speaker" type="Label" parent="Dialog/Textbox"]
margin_left = 12.0
@ -64,16 +53,13 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Body" type="Label" parent="Dialog/Textbox"]
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
[node name="Body" type="RichTextLabel" parent="Dialog/Textbox"]
margin_left = 12.0
margin_top = -16.5
margin_right = -39.0
margin_bottom = 49.5
custom_fonts/font = SubResource( 1 )
text = "Hello world!"
margin_top = 40.0
margin_right = 933.0
margin_bottom = 111.0
text = "Hello world! ' & * $"
scroll_active = false
__meta__ = {
"_edit_use_anchors_": false
}
@ -83,7 +69,6 @@ margin_left = 37.0
margin_top = -9.0
margin_right = 987.0
margin_bottom = 22.0
custom_styles/panel = SubResource( 4 )
__meta__ = {
"_edit_use_anchors_": false
}
@ -115,13 +100,14 @@ margin_bottom = 31.0
text = "Choice"
[node name="ZoneLabel" type="Label" parent="."]
visible = false
anchor_top = 1.0
anchor_bottom = 1.0
margin_left = 12.0
margin_top = -59.0
margin_right = 1257.0
margin_bottom = -8.0
custom_fonts/font = SubResource( 2 )
custom_fonts/font = SubResource( 1 )
text = "Entering: Depths"
valign = 2
__meta__ = {
@ -129,6 +115,7 @@ __meta__ = {
}
[node name="Tip" type="Label" parent="."]
visible = false
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
@ -137,9 +124,48 @@ margin_left = -386.0
margin_top = -110.5
margin_right = 386.0
margin_bottom = 110.5
custom_fonts/font = SubResource( 3 )
custom_fonts/font = SubResource( 2 )
text = "Press WASD to move"
align = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Fader" type="ColorRect" parent="."]
visible = false
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
color = Color( 0, 0, 0, 1 )
script = ExtResource( 6 )
__meta__ = {
"_edit_use_anchors_": false
}
start_with_fade_in = false
[node name="ElevatorDialog" type="WindowDialog" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -125.5
margin_top = -132.0
margin_right = 125.5
margin_bottom = 132.0
theme = ExtResource( 1 )
window_title = "Elevator"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Buttons" type="VBoxContainer" parent="ElevatorDialog"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 6.0
margin_top = 6.0
margin_right = -6.0
margin_bottom = -6.0
alignment = 1
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,28 +1,27 @@
[gd_scene load_steps=12 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://Assets/Sfx/intro/processed.wav" type="AudioStream" id=1]
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
[ext_resource path="res://Scripts/Entities/NPCs/Aura.gd" type="Script" id=3]
[ext_resource path="res://Assets/Art/Characters/aura.png" type="Texture" id=4]
[ext_resource path="res://Scripts/Entities/Fader.gd" type="Script" id=5]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 4 )
region = Rect2( 23, 0, 5, 16 )
[sub_resource type="StreamTexture" id=3]
[sub_resource type="StreamTexture" id=2]
load_path = "res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex"
[sub_resource type="AtlasTexture" id=4]
atlas = SubResource( 3 )
[sub_resource type="AtlasTexture" id=3]
atlas = SubResource( 2 )
region = Rect2( 19, 0, 3, 16 )
[sub_resource type="AtlasTexture" id=5]
atlas = SubResource( 3 )
[sub_resource type="AtlasTexture" id=4]
atlas = SubResource( 2 )
region = Rect2( 29, 0, 3, 16 )
[sub_resource type="RectangleShape2D" id=2]
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 62.9439, 20.084 )
[sub_resource type="Animation" id=6]
@ -160,16 +159,16 @@ texture = SubResource( 1 )
[node name="RightArm" type="Sprite" parent="Torso"]
position = Vector2( -3, 0 )
z_index = -1
texture = SubResource( 4 )
texture = SubResource( 3 )
[node name="LeftArm" type="Sprite" parent="Torso"]
position = Vector2( 3, 0 )
z_index = -1
texture = SubResource( 5 )
texture = SubResource( 4 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource( 2 )
shape = SubResource( 5 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )
@ -190,6 +189,18 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Fader" type="ColorRect" parent="CanvasLayer"]
visible = false
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
color = Color( 0, 0, 0, 1 )
script = ExtResource( 5 )
__meta__ = {
"_edit_use_anchors_": false
}
start_with_fade_in = false
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Idle = SubResource( 6 )
anims/Shoot = SubResource( 7 )

View File

@ -8,9 +8,7 @@
[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="Animation" id=17]
[sub_resource type="Animation" id=1]
resource_name = "Idle"
length = 2.0
loop = true
@ -471,7 +469,7 @@ tracks/44/keys = {
"values": [ Vector2( 0, -2.5 ) ]
}
[sub_resource type="Animation" id=21]
[sub_resource type="Animation" id=2]
resource_name = "InAir"
length = 1.5
loop = true
@ -716,7 +714,7 @@ tracks/23/keys = {
"times": PoolRealArray( 0, 0.8, 1.5 )
}
[sub_resource type="Animation" id=22]
[sub_resource type="Animation" id=3]
resource_name = "Jump"
length = 0.7
tracks/0/type = "bezier"
@ -870,7 +868,7 @@ tracks/14/keys = {
"times": PoolRealArray( 0, 0.4 )
}
[sub_resource type="Animation" id=18]
[sub_resource type="Animation" id=4]
resource_name = "RunLeft"
length = 0.9
loop = true
@ -1309,7 +1307,7 @@ tracks/42/keys = {
"times": PoolRealArray( 0, 0.5, 0.9 )
}
[sub_resource type="Animation" id=19]
[sub_resource type="Animation" id=5]
length = 0.9
loop = true
tracks/0/type = "bezier"
@ -1719,109 +1717,109 @@ tracks/39/keys = {
"times": PoolRealArray( 0, 0.5, 0.9 )
}
[sub_resource type="CapsuleShape2D" id=20]
radius = 1.5
height = 10.5
[sub_resource type="AtlasTexture" id=1]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 7, 3, 4 )
[sub_resource type="AtlasTexture" id=2]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 2, 6, 1, 1 )
[sub_resource type="AtlasTexture" id=3]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 1, 4, 4 )
[sub_resource type="AtlasTexture" id=4]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 7, 8, 1, 2 )
[sub_resource type="AtlasTexture" id=5]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 6, 10, 1, 2 )
[sub_resource type="AtlasTexture" id=6]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 6, 12, 1, 1 )
[sub_resource type="RectangleShape2D" id=6]
extents = Vector2( 3.06702, 6.9149 )
[sub_resource type="AtlasTexture" id=7]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 9, 8, 1, 2 )
region = Rect2( 1, 7, 3, 4 )
[sub_resource type="AtlasTexture" id=8]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 10, 10, 1, 2 )
region = Rect2( 2, 6, 1, 1 )
[sub_resource type="AtlasTexture" id=9]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 11, 3, 2 )
region = Rect2( 1, 1, 4, 4 )
[sub_resource type="AtlasTexture" id=10]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 13, 3, 1 )
region = Rect2( 7, 8, 1, 2 )
[sub_resource type="AtlasTexture" id=11]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 14, 3, 1 )
region = Rect2( 6, 10, 1, 2 )
[sub_resource type="AtlasTexture" id=12]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 15, 3, 1 )
region = Rect2( 6, 12, 1, 1 )
[sub_resource type="AtlasTexture" id=13]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 17, 1, 2 )
region = Rect2( 9, 8, 1, 2 )
[sub_resource type="AtlasTexture" id=14]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 19, 1, 2 )
region = Rect2( 10, 10, 1, 2 )
[sub_resource type="AtlasTexture" id=15]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 3, 17, 1, 2 )
region = Rect2( 1, 11, 3, 2 )
[sub_resource type="AtlasTexture" id=16]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 13, 3, 1 )
[sub_resource type="AtlasTexture" id=17]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 14, 3, 1 )
[sub_resource type="AtlasTexture" id=18]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 15, 3, 1 )
[sub_resource type="AtlasTexture" id=19]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 17, 1, 2 )
[sub_resource type="AtlasTexture" id=20]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 19, 1, 2 )
[sub_resource type="AtlasTexture" id=21]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 3, 17, 1, 2 )
[sub_resource type="AtlasTexture" id=22]
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 3, 19, 1, 2 )
[node name="Player" type="KinematicBody2D"]
collision/safe_margin = 3.0
collision_layer = 3
collision_mask = 3
script = ExtResource( 4 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "Idle"
anims/Idle = SubResource( 17 )
anims/InAir = SubResource( 21 )
anims/Jump = SubResource( 22 )
anims/RunLeft = SubResource( 18 )
anims/RunRight = SubResource( 19 )
anims/Idle = SubResource( 1 )
anims/InAir = SubResource( 2 )
anims/Jump = SubResource( 3 )
anims/RunLeft = SubResource( 4 )
anims/RunRight = SubResource( 5 )
[node name="Camera2D" type="Camera2D" parent="."]
current = true
zoom = Vector2( 0.187, 0.187 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
visible = false
shape = SubResource( 20 )
position = Vector2( -0.0595379, 2.35723 )
shape = SubResource( 6 )
[node name="Light2D" type="Light2D" parent="."]
texture = ExtResource( 3 )
@ -1834,13 +1832,13 @@ position = Vector2( 0, 2 )
material = ExtResource( 1 )
position = Vector2( 0, 0.001 )
z_index = 10
texture = SubResource( 1 )
texture = SubResource( 7 )
[node name="Neck" type="Sprite" parent="Sprite/Torso"]
material = ExtResource( 1 )
position = Vector2( 0, -2.5 )
z_index = -1
texture = SubResource( 2 )
texture = SubResource( 8 )
__meta__ = {
"_edit_bone_": true,
"_edit_ik_": true
@ -1849,7 +1847,7 @@ __meta__ = {
[node name="Head" type="Sprite" parent="Sprite/Torso/Neck"]
material = ExtResource( 1 )
position = Vector2( 0, -2.25 )
texture = SubResource( 3 )
texture = SubResource( 9 )
offset = Vector2( 0.5, 0 )
__meta__ = {
"_edit_bone_": true
@ -1862,7 +1860,7 @@ position = Vector2( -0.0449371, -1.88724 )
material = ExtResource( 1 )
position = Vector2( -2, 0 )
z_index = -1
texture = SubResource( 4 )
texture = SubResource( 10 )
__meta__ = {
"_edit_bone_": true
}
@ -1871,7 +1869,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( -0.5, 1.75 )
z_index = 3
texture = SubResource( 5 )
texture = SubResource( 11 )
__meta__ = {
"_edit_bone_": true
}
@ -1879,7 +1877,7 @@ __meta__ = {
[node name="LeftHand" type="Sprite" parent="Sprite/Torso/LeftArm/LeftForearm"]
material = ExtResource( 1 )
position = Vector2( 0, 1.35 )
texture = SubResource( 6 )
texture = SubResource( 12 )
__meta__ = {
"_edit_bone_": true
}
@ -1894,7 +1892,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 2, 0 )
z_index = -2
texture = SubResource( 7 )
texture = SubResource( 13 )
__meta__ = {
"_edit_bone_": true
}
@ -1903,7 +1901,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0.5, 1.75 )
z_index = -3
texture = SubResource( 8 )
texture = SubResource( 14 )
__meta__ = {
"_edit_bone_": true
}
@ -1912,7 +1910,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 1.35 )
rotation = 0.0242677
texture = SubResource( 6 )
texture = SubResource( 12 )
__meta__ = {
"_edit_bone_": true
}
@ -1951,7 +1949,7 @@ energy = 0.5
[node name="Hips" type="Sprite" parent="Sprite/Torso"]
material = ExtResource( 1 )
position = Vector2( 0, 2.75 )
texture = SubResource( 9 )
texture = SubResource( 15 )
__meta__ = {
"_edit_bone_": true
}
@ -1960,7 +1958,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 1 )
z_index = -2
texture = SubResource( 10 )
texture = SubResource( 16 )
__meta__ = {
"_edit_bone_": true,
"_edit_ik_": true
@ -1970,7 +1968,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 0.75 )
z_index = -2
texture = SubResource( 11 )
texture = SubResource( 17 )
__meta__ = {
"_edit_bone_": true
}
@ -1979,7 +1977,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 0.75 )
z_index = -2
texture = SubResource( 12 )
texture = SubResource( 18 )
__meta__ = {
"_edit_bone_": true
}
@ -1994,7 +1992,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( -1, 1.75 )
z_index = -2
texture = SubResource( 13 )
texture = SubResource( 19 )
__meta__ = {
"_edit_bone_": true
}
@ -2003,7 +2001,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 1.75 )
z_index = -2
texture = SubResource( 14 )
texture = SubResource( 20 )
__meta__ = {
"_edit_bone_": true
}
@ -2018,7 +2016,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 1, 1.75 )
z_index = -2
texture = SubResource( 15 )
texture = SubResource( 21 )
__meta__ = {
"_edit_bone_": true
}
@ -2027,7 +2025,7 @@ __meta__ = {
material = ExtResource( 1 )
position = Vector2( 0, 1.75 )
z_index = -2
texture = SubResource( 16 )
texture = SubResource( 22 )
__meta__ = {
"_edit_bone_": true
}

View File

@ -9,8 +9,6 @@
[ext_resource path="res://Assets/Art/Tiles/metal_tile.png" type="Texture" id=7]
[ext_resource path="res://Assets/Art/Tiles/techno_wall_tile.png" type="Texture" id=8]
[sub_resource type="OccluderPolygon2D" id=1]
polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )

View File

@ -5,8 +5,6 @@
[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

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
extends "res://Scripts/Component/Interactable.gd"
func _ready():
connect("interacted", get_parent(), "_on_interact")

View File

@ -0,0 +1,8 @@
extends Area2D
func _ready():
connect("body_entered", self, "_on_body_entered")
func _on_body_entered(body):
if body.has_method("handle_death"):
body.handle_death()

View File

@ -0,0 +1,25 @@
extends Area2D
var player_node
func _ready():
connect("body_entered", self, "_on_body_enter")
connect("body_exited", self, "_on_body_exit")
set_process(false)
func _on_body_enter(body):
if body.has_method("user_input"):
player_node = body
set_process(true)
func _on_body_exit(body):
if body.has_method("user_input"):
body.floor_speed = Vector2.ZERO
set_process(false)
func _process(delta):
if get_parent().motion.y > 0:
player_node.floor_speed = get_parent().motion
else:
player_node.floor_speed = Vector2.ZERO

View File

@ -0,0 +1,8 @@
extends Area2D
func _ready():
connect("body_entered", self, "_on_body_entered")
func _on_body_entered(body):
if body.saved_pos:
body.saved_pos = body.position

View File

@ -6,34 +6,43 @@ var opened = false
export var locked = false
export var security_level = 0
var player_level = -1
var color_node : Node2D
func lock():
locked = true
$Top/Color.modulate = Color.red
if color_node:
color_node.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
if color_node:
match(security_level):
0:
color_node.modulate = Color.green
1:
color_node.modulate = Color.blue
2:
color_node.modulate = Color.yellow
3:
color_node.modulate = Color.orange
4:
color_node.modulate = Color.red
5:
color_node.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 $Top/Color:
color_node = $Top/Color
elif $Color:
color_node = $Color
if locked:
lock()
else:
@ -60,6 +69,7 @@ func close():
if opened:
$AnimationPlayer.play("Close")
$AudioStreamPlayer2D.play()
$StaticBody2D.collision_layer = 1
$StaticBody2D.collision_mask = 1
opened = false

View File

@ -0,0 +1,65 @@
extends Node2D
signal elevator_stopped
export(Array, Vector2) var relative_positions = [Vector2(0,0)]
export(Array, String) var labels = ["Default"]
export(Array, NodePath) var doors = []
export var current_pos : int = 0
var moving : bool = false
var gui
var motion
var intial_pos : Vector2
export var elevator_speed = 25
func _ready():
motion = Vector2.ZERO
intial_pos = global_position
func _on_interact():
if not moving:
if not gui:
gui = get_node("/root/World/GUI")
gui.open_elevator_menu(self)
func _on_choice(index):
start_moving(index)
gui.close_elevator_menu()
func start_moving(index):
if current_pos != index:
moving = true
current_pos = index
# Close all doors while in transit
for door_path in doors:
var door = get_node(door_path)
door.close()
door.lock()
return true
return false
func stop_moving():
emit_signal("elevator_stopped")
moving = false
motion = Vector2.ZERO
# Alert doors of updated elevator state
for door_path in doors:
get_node(door_path).on_elevator_stop(current_pos)
func _physics_process(delta):
if moving:
# Move towards elevator stop
var target_pos = intial_pos + relative_positions[current_pos]
var angle = get_angle_to(target_pos)
var velocity = Vector2(cos(angle),sin(angle))
motion = velocity * elevator_speed
global_position += velocity * elevator_speed * delta
# Stop when elevator is at destination
if global_position.distance_to(target_pos) < 0.25:
global_position = target_pos
stop_moving()

View File

@ -0,0 +1,20 @@
extends "res://Scripts/Component/Interactable.gd"
export(NodePath) var elevator
export var call_to_index : int = 0
var elevator_node
func _ready():
elevator_node = get_node(elevator)
connect("interacted", self, "_on_interact")
$AnimationPlayer.play("Done")
func _on_interact():
if elevator_node.start_moving(call_to_index):
elevator_node.connect("elevator_stopped", self, "_on_finish")
$AnimationPlayer.play("Waiting")
func _on_finish():
elevator_node.disconnect("elevator_stopped", self, "_on_finish")
$AnimationPlayer.play("Done")

View File

@ -0,0 +1,10 @@
extends "res://Scripts/Entities/Door.gd"
export var level_index : int = 0
func on_elevator_stop(index):
if index == level_index:
unlock()
open()
else:
lock()

View File

@ -39,7 +39,7 @@ func shoot_scene():
func start_fade():
timer.stop()
var fader = get_tree().root.get_node("World").get_node("Fader").get_child(0)
var fader = $CanvasLayer/Fader
fader.connect("fade_complete", self, "go_to_credits")
fader.fade(2, false)

View File

@ -7,20 +7,53 @@ var baseGravity : float = 9.8
# Player movment variables
var maxMoveVelocity : float = 150
var moveAcceleration : float = 25
var moveAcceleration : float = 100
var moveFriction : float = 65
var jumpVelocity : float = -150
var jumped = false
var moveMotion : float = 0 # Player Input ( <- & -> )
var motion : Vector2 = Vector2(0,0) # Player's current velocity
var floor_speed : Vector2 = Vector2.ZERO
var gui
var gui # Node representing GUI object
var interactables = []
var items = []
var equiped = null
var interactables = [] # Objects in range to interact with
var items = [] # Items in player inventory
var equiped = null # Currently equiped item
var saved_pos
func _ready():
saved_pos = position
#==================
# Helper Functions
#==================
func is_movement_locked():
if gui and gui.is_in_dialog():
return true
return false
func check_for_nodes():
if not gui:
gui = get_node("/root/World/GUI")
#==================
# Death management
#==================
func handle_death():
print_debug("Player death not implemented!")
gui.fade_screen(0.25, false)
gui.connect("screen_fade_complete", self, "death_fade_complete")
func death_fade_complete():
position = saved_pos
gui.fade_screen(1, true)
gui.disconnect("screen_fade_complete", self, "death_fade_complete")
#==================
# Inventory System
#==================
func add_item(item):
items.append(item)
equip_item(item)
@ -33,25 +66,37 @@ func equip_item(item):
else:
print("Tried to equip: " + item + " but item was missing!")
#==============
# Interactions
#==============
func add_interactable(interactable):
interactables.append(interactable)
func remove_interactable(interactable):
var loc = interactables.find(interactable)
if loc >= 0:
interactables.remove(loc)
func interact():
interactables[0].interact()
#==========
# Game Loop
#===========
func _physics_process(delta):
check_for_nodes()
jumped = false
# Gravity
motion.y += baseGravity
if is_on_floor():
motion.y = 0
if not gui:
gui = get_node("/root/World/GUI")
elif not gui.is_in_dialog():
else:
motion.y += baseGravity
# Manage movement input
if not is_movement_locked():
user_input()
if jumped:
motion.y = jumpVelocity
else:
moveMotion = 0
@ -60,51 +105,68 @@ func _physics_process(delta):
# Apply velocity to frame
motion.x = moveMotion
motion = motion + floor_speed
animation_manager(moveMotion)
move_and_slide(motion, Vector2(0,-1))
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"):
var test_pos = Vector2(position.x,position.y+5)
if not test_move(Transform2D(0,test_pos), Vector2(0,8)):
position.y = position.y + 8
return
if(Input.is_action_pressed("ui_left")):
moveMotion -= moveAcceleration
if(Input.is_action_pressed("ui_right")):
moveMotion += moveAcceleration
if(is_on_floor() and Input.is_action_just_pressed("ui_up")):
motion.y = jumpVelocity
jumped = true
if is_on_floor() and (!Input.is_action_pressed("ui_left") and !Input.is_action_pressed("ui_right")):
if moveMotion > 0:
moveMotion = clamp(moveMotion - moveFriction, 0, moveMotion)
elif moveMotion < 0:
moveMotion = clamp(moveMotion + moveFriction, moveMotion, 0)
#===================
# Animation Manager
#===================
#
# Changes animation basd on current
# conditions
func animation_manager(motion : float):
if not is_on_floor():
if not test_move(transform, Vector2(0,1)):
$AnimationPlayer.play("InAir")
elif jumped:
if $AnimationPlayer.current_animation != "Jump":
$AnimationPlayer.play("Jump")
elif moveMotion > 0:
$AnimationPlayer.playback_speed = abs(motion)/200
$AnimationPlayer.playback_speed = abs(motion)/100
if $AnimationPlayer.current_animation != "RunRight":
$AnimationPlayer.play("RunRight")
elif moveMotion < 0:
$AnimationPlayer.playback_speed = abs(motion)/200
$AnimationPlayer.playback_speed = abs(motion)/100
if $AnimationPlayer.current_animation != "RunLeft":
$AnimationPlayer.play("RunLeft")
else:
$AnimationPlayer.playback_speed = 1
$AnimationPlayer.play("Idle")
#============
# User Input
#============
func user_input():
# Interactions
if Input.is_action_just_pressed("interact") and len(interactables) > 0 and not gui.is_in_dialog():
interact()
# Jumping
if Input.is_action_just_pressed("ui_up"):
if Input.is_action_pressed("ui_down"):
if is_on_floor():
var test_pos = Vector2(position.x,position.y+6)
if not test_move(Transform2D(0,test_pos), Vector2(0,1)):
position.y = position.y + 2
return
elif(test_move(transform, Vector2(0,1))):
jumped = true
# Move left and right <- & ->
# - - - - - - - - - - - - - - -
var movementModifier = 1
if not test_move(transform, Vector2(0,1)):
movementModifier = 0.5
# Movement input
if(Input.is_action_pressed("ui_left")):
moveMotion = -moveAcceleration * movementModifier
if(Input.is_action_pressed("ui_right")):
moveMotion = moveAcceleration * movementModifier
if is_on_floor() and (!Input.is_action_pressed("ui_left") and !Input.is_action_pressed("ui_right")):
if moveMotion > 0:
moveMotion = clamp(moveMotion - moveFriction, 0, moveMotion)
elif moveMotion < 0:
moveMotion = clamp(moveMotion + moveFriction, moveMotion, 0)

View File

@ -1,7 +1,9 @@
extends Sprite
export var shadows : bool = false
export var energy : float = 1.1
func _ready():
$Light2D.show()
$Light2D.shadow_enabled = shadows
$Light2D.energy = energy

View File

@ -1,5 +1,7 @@
extends CanvasLayer
signal screen_fade_complete
var in_dialog = false
var tip_timer : Timer
var zone_timer : Timer
@ -14,6 +16,7 @@ func _ready():
$Dialog.hide()
$Tip.hide()
$ZoneLabel.hide()
$Fader.connect("fade_complete", self, "_on_screen_fade_complete")
func is_in_dialog():
return in_dialog or $Dialog.is_visible_in_tree()
@ -111,3 +114,26 @@ func fade_zone_out():
$ZoneLabel.modulate.a = clamp($ZoneLabel.modulate.a - 0.1, 0, 1)
if $ZoneLabel.modulate.a == 0:
zone_timer.stop()
func fade_screen(seconds = 1, fade_in=true):
$Fader.fade(seconds, fade_in)
func _on_screen_fade_complete():
emit_signal("screen_fade_complete")
func open_elevator_menu(elevator):
for i in range($ElevatorDialog/Buttons.get_child_count()):
$ElevatorDialog/Buttons.get_child(i).queue_free()
var num = 0
for pos in elevator.relative_positions:
var button = Button.new()
button.text = elevator.labels[num]
button.connect("button_down", elevator, "_on_choice", [num])
$ElevatorDialog/Buttons.add_child(button)
num = num + 1
$ElevatorDialog.popup_centered()
func close_elevator_menu():
$ElevatorDialog.hide()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

View File

@ -5,7 +5,7 @@ bus/1/name = "Music"
bus/1/solo = false
bus/1/mute = false
bus/1/bypass_fx = false
bus/1/volume_db = -8.39524
bus/1/volume_db = -6.57885
bus/1/send = "Master"
bus/2/name = "Sfx"
bus/2/solo = false