4 Commits

Author SHA1 Message Date
497f251376 Bugfixes and Beauty 2020-05-16 11:22:41 -04:00
86637e395f Added Grant Blevins 2020-05-16 09:20:41 -04:00
02197de5ab Work report issues button 2020-05-16 07:14:10 -04:00
4d75252638 Added issue templates 2020-05-16 07:12:25 -04:00
43 changed files with 833 additions and 41 deletions

22
.github/ISSUE_TEMPLATE/1_bug_report.md vendored Normal file
View File

@ -0,0 +1,22 @@
---
name: 🐞 Bug report
about: Report a bug that has been encountered.
labels: 'bug'
---
**Version:**
<!-- x.x.x -->
**Environment:**
<!-- Server? Docker/CentOS -->
<!-- Client? Linux/Windows -->
**Issue description:**
<!-- Clear description of the issue you are seeing. -->
**Steps to reproduce:**
<!-- Give others an idea on how you can replicate the issue. -->

View File

@ -0,0 +1,9 @@
---
name: 💡 Feature Request
about: Ideas to improve!
labels: 'enhancement'
---
**Description**
<!-- Clear description of what you'd like to see. -->

9
.github/ISSUE_TEMPLATE/3_question.md vendored Normal file
View File

@ -0,0 +1,9 @@
---
name: ❓ Question
about: Have a question? Ask it!
labels: 'question'
---
**Question**
<!-- Provide any details to help others better understand your question. -->

9
.github/ISSUE_TEMPLATE/4_guidance.md vendored Normal file
View File

@ -0,0 +1,9 @@
---
name: 🧭 Guidance
about: Lost? Maybe someone can help.
labels: 'help wanted'
---
**Description:**
<!-- Clear description of what is going on. -->

View File

@ -0,0 +1,3 @@
source_md5="424bc2e8a11a2373217678abda0df97e"
dest_md5="917df80dfa039af088b63b9a234e0ced"

View File

@ -0,0 +1,3 @@
source_md5="46a58c40f5b6b62c3a59601b0fb55288"
dest_md5="6c83115f14a9c0acf967eb87bf07fe4b"

View File

@ -0,0 +1,3 @@
source_md5="9161b62a08022547a51cb144c79b83c2"
dest_md5="f5e5412b84c441a6c7bf7f80491ac049"

View File

@ -1,3 +1,3 @@
source_md5="4a4e86688ea9e233c2a97d2091f91210"
dest_md5="f46730c502307e961aea5b1794b64187"
dest_md5="0b5f4549065c5a8e08ef3984540c93ea"

View File

@ -0,0 +1,3 @@
source_md5="c4e868a40fcea38649d43a73971cf969"
dest_md5="d21853d8744e43202ee3050f2c706feb"

View File

@ -20,7 +20,7 @@ compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/filter=false
flags/mipmaps=false
flags/anisotropic=true
flags/srgb=2

Binary file not shown.

BIN
client/Assets/Art/bkg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

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

View File

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

View File

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

View File

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

@ -6,6 +6,8 @@
script = ExtResource( 1 )
TYPE = "EXP_Story_editor"
names = {
"into_speak_ceo": 5,
"intro_meet_ceo": 4,
"intro_science": 1,
"intro_science_followup": 3,
"intro_text": 2
@ -180,7 +182,7 @@ Central Tower.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Name: Veronica Dohwns",
"text": "Name: Veronica SCENE Gilmore",
"type": "line"
},
2: {
@ -220,7 +222,7 @@ Central Tower.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Welcome Veroinica!",
"text": "Welcome SCENE!",
"type": "line"
},
6: {
@ -264,8 +266,9 @@ for our services.",
"name": "intro_science_followup",
"nodes": {
1: {
"graph_offset": Vector2( -1300, -880 ),
"graph_offset": Vector2( -1300, -860 ),
"links": {
0: 3,
1: 2
},
"rect_size": Vector2( 441, 172 ),
@ -276,7 +279,7 @@ for our services.",
"type": "line"
},
2: {
"graph_offset": Vector2( -780, -840 ),
"graph_offset": Vector2( -780, -820 ),
"links": {
},
@ -285,6 +288,387 @@ for our services.",
"text": "Don't make such false accusations. Get back to your job
and find the real culpurit.",
"type": "line"
},
3: {
"graph_offset": Vector2( -780, -1000 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Okay then.",
"type": "line"
}
}
},
4: {
"available_nid": [ ],
"groups": [ "Introduction" ],
"human_readable_description": "First interaction with CEO Grant Blevins",
"name": "intro_meet_ceo",
"nodes": {
1: {
"graph_offset": Vector2( 60, 0 ),
"links": {
0: 2
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Hello Scene.",
"type": "line"
},
2: {
"graph_offset": Vector2( 540, 0 ),
"links": {
0: 3
},
"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.",
"type": "line"
},
3: {
"graph_offset": Vector2( 1020, 0 ),
"links": {
0: 7,
1: 4
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "You will not disappoint me, right Scene?
<choice>Of course not!</choice>
<choice>I will do my best</choice>",
"type": "line"
},
4: {
"graph_offset": Vector2( 1500, 100 ),
"links": {
0: 5
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Ha! Such a 21st century phrase.",
"type": "line"
},
5: {
"graph_offset": Vector2( 1980, 100 ),
"links": {
0: 6
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You will need more than just your wits to defeat this
traitor.",
"type": "line"
},
6: {
"graph_offset": Vector2( 2460, 20 ),
"links": {
0: 8
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "So much lost...",
"type": "line"
},
7: {
"graph_offset": Vector2( 1760, -80 ),
"links": {
0: 6
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "We will see. You had a great track record in the 21st century,
but we both remeber how your final job went.",
"type": "line"
},
8: {
"graph_offset": Vector2( 2940, 20 ),
"links": {
0: 9,
1: 10
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "What do you think of our facility here so far?
<choice>It's amazing!</choice>
<choice>I haven't seen much yet.</choice>",
"type": "line"
},
9: {
"graph_offset": Vector2( 3760, 20 ),
"links": {
0: 11
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It's always interesting hearing the perspectives of those from the past.",
"type": "line"
},
10: {
"graph_offset": Vector2( 3380, 240 ),
"links": {
0: 9
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Unfortunate.",
"type": "line"
},
11: {
"graph_offset": Vector2( 4240, 20 ),
"links": {
0: 12
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Now away with the pleasantries.",
"type": "line"
},
12: {
"graph_offset": Vector2( 4720, 20 ),
"links": {
0: 13
},
"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.",
"type": "line"
},
13: {
"graph_offset": Vector2( 5200, 20 ),
"links": {
0: 14
},
"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.",
"type": "line"
},
14: {
"graph_offset": Vector2( 5680, 20 ),
"links": {
0: 16
},
"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.",
"type": "line"
},
15: {
"graph_offset": Vector2( 6660, 20 ),
"links": {
0: 17,
1: 19,
2: 20
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 3,
"text": "Do you have any questions before we get started?
<choice>Why me?</choice>
<choice>What year is it?</choice>
<choice>Where do I start?</choice>",
"type": "line"
},
16: {
"graph_offset": Vector2( 6160, 20 ),
"links": {
0: 15
},
"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.",
"type": "line"
},
17: {
"graph_offset": Vector2( 7140, -100 ),
"links": {
0: 18
},
"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.",
"type": "line"
},
18: {
"graph_offset": Vector2( 7620, -100 ),
"links": {
0: 15
},
"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.",
"type": "line"
},
19: {
"graph_offset": Vector2( 7140, 80 ),
"links": {
0: 15
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It 3024, making it around 1000 years since your death.",
"type": "line"
},
20: {
"graph_offset": Vector2( 7140, 260 ),
"links": {
0: 28,
1: 21,
2: 22
},
"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.
<choice>Okay, where?</choice>
<choice>What sort of troubles?</choice>
<choice>Biological materials?</choice>",
"type": "line"
},
21: {
"graph_offset": Vector2( 7620, 300 ),
"links": {
0: 24
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Some of the data ending up in the Duke's hands is shipping information.",
"type": "line"
},
22: {
"graph_offset": Vector2( 7620, 500 ),
"links": {
0: 23
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Yes, for our cloning facilities among other things.",
"type": "line"
},
23: {
"graph_offset": Vector2( 8100, 500 ),
"links": {
0: 27
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Without such shipments, you wouldn't be standing here.",
"type": "line"
},
24: {
"graph_offset": Vector2( 8100, 300 ),
"links": {
0: 25,
1: 26
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "We have had too many missing shipments stopped by the coporate police.
<choice>Coporate police?</choice>
<choice>Why would they stop the shipments?</choice>",
"type": "line"
},
25: {
"graph_offset": Vector2( 8580, 260 ),
"links": {
0: 27
},
"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.",
"type": "line"
},
26: {
"graph_offset": Vector2( 8580, 420 ),
"links": {
0: 27
},
"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.",
"type": "line"
},
27: {
"graph_offset": Vector2( 9060, 260 ),
"links": {
0: 28
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Anyway,",
"type": "line"
},
28: {
"graph_offset": Vector2( 9580, 100 ),
"links": {
0: 29
},
"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.",
"type": "line"
},
29: {
"graph_offset": Vector2( 10060, 100 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Keep me up to date on your progress.",
"type": "line"
}
}
},
5: {
"available_nid": [ ],
"groups": [ "Introduction" ],
"human_readable_description": "Non-event CEO interactions",
"name": "into_speak_ceo",
"nodes": {
1: {
"graph_offset": Vector2( 0, -360 ),
"links": {
0: 2,
1: 3
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "Any updates?
<choice>Nothing yet</choice>
<choice>Where is the shipping facility?</choice>",
"type": "line"
},
2: {
"graph_offset": Vector2( 560, -420 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Ravenworks is counting on you.",
"type": "line"
},
3: {
"graph_offset": Vector2( 560, -220 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It is on the mid level.",
"type": "line"
}
}
}

View File

@ -0,0 +1,20 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://Scripts/Entities/NPCs/CEO.gd" type="Script" id=1]
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
[ext_resource path="res://Assets/Art/Characters/business.png" type="Texture" id=3]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 16.0863, 8 )
[node name="Scientist" type="Area2D"]
script = ExtResource( 1 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 1 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )

View File

@ -0,0 +1,21 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://Scripts/Entities/NPCs/IntroScientist.gd" type="Script" id=1]
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
[ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3]
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 5, 8 )
[node name="Scientist" type="Area2D"]
position = Vector2( 167.084, 231.933 )
script = ExtResource( 1 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 3 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )

View File

@ -6,82 +6,82 @@
[ext_resource path="res://Scripts/Entities/Player.gd" type="Script" id=4]
[sub_resource type="AtlasTexture" id=1]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 7, 3, 4 )
[sub_resource type="AtlasTexture" id=2]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 2, 6, 1, 1 )
[sub_resource type="AtlasTexture" id=3]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 1, 3, 4 )
[sub_resource type="AtlasTexture" id=4]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 7, 8, 1, 2 )
[sub_resource type="AtlasTexture" id=5]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 6, 10, 1, 2 )
[sub_resource type="AtlasTexture" id=6]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 6, 12, 1, 1 )
[sub_resource type="AtlasTexture" id=7]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 9, 8, 1, 2 )
[sub_resource type="AtlasTexture" id=8]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 10, 10, 1, 2 )
[sub_resource type="AtlasTexture" id=9]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 11, 3, 2 )
[sub_resource type="AtlasTexture" id=10]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 13, 3, 1 )
[sub_resource type="AtlasTexture" id=11]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 14, 3, 1 )
[sub_resource type="AtlasTexture" id=12]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 15, 3, 1 )
[sub_resource type="AtlasTexture" id=13]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 17, 1, 2 )
[sub_resource type="AtlasTexture" id=14]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 1, 19, 1, 2 )
[sub_resource type="AtlasTexture" id=15]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 3, 17, 1, 2 )
[sub_resource type="AtlasTexture" id=16]
flags = 12
flags = 8
atlas = ExtResource( 2 )
region = Rect2( 3, 19, 1, 2 )

View File

@ -1,6 +1,9 @@
[gd_resource type="TileSet" load_steps=96 format=2]
[gd_resource type="TileSet" load_steps=100 format=2]
[ext_resource path="res://Nodes/Tiles/tileset_science_lab.png" type="Texture" id=1]
[ext_resource path="res://Assets/Art/platform.png" type="Texture" id=2]
[ext_resource path="res://Assets/Art/metal_wall.png" type="Texture" id=3]
[ext_resource path="res://Assets/Art/window.png" type="Texture" id=4]
[sub_resource type="OccluderPolygon2D" id=1]
polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
@ -284,6 +287,9 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
[sub_resource type="ConvexPolygonShape2D" id=94]
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
[sub_resource type="ConvexPolygonShape2D" id=95]
points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 )
[resource]
47/name = "tileset_science_lab.png 47"
47/texture = ExtResource( 1 )
@ -591,3 +597,79 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
47/z_index = 0
48/name = "platform.png 48"
48/texture = ExtResource( 2 )
48/tex_offset = Vector2( 0, 0 )
48/modulate = Color( 1, 1, 1, 1 )
48/region = Rect2( 0, 0, 16, 16 )
48/tile_mode = 1
48/autotile/bitmask_mode = 0
48/autotile/bitmask_flags = [ ]
48/autotile/icon_coordinate = Vector2( 0, 0 )
48/autotile/tile_size = Vector2( 16, 16 )
48/autotile/spacing = 0
48/autotile/occluder_map = [ ]
48/autotile/navpoly_map = [ ]
48/autotile/priority_map = [ ]
48/autotile/z_index_map = [ ]
48/occluder_offset = Vector2( 0, 0 )
48/navigation_offset = Vector2( 0, 0 )
48/shape_offset = Vector2( 0, 0 )
48/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
48/shape = SubResource( 95 )
48/shape_one_way = true
48/shape_one_way_margin = 1.0
48/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": true,
"one_way_margin": 1.0,
"shape": SubResource( 95 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
48/z_index = 0
49/name = "metal_wall.png 49"
49/texture = ExtResource( 3 )
49/tex_offset = Vector2( 0, 0 )
49/modulate = Color( 1, 1, 1, 1 )
49/region = Rect2( 0, 0, 16, 16 )
49/tile_mode = 1
49/autotile/bitmask_mode = 0
49/autotile/bitmask_flags = [ ]
49/autotile/icon_coordinate = Vector2( 0, 0 )
49/autotile/tile_size = Vector2( 16, 16 )
49/autotile/spacing = 0
49/autotile/occluder_map = [ ]
49/autotile/navpoly_map = [ ]
49/autotile/priority_map = [ ]
49/autotile/z_index_map = [ ]
49/occluder_offset = Vector2( 0, 0 )
49/navigation_offset = Vector2( 0, 0 )
49/shape_offset = Vector2( 0, 0 )
49/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
49/shape_one_way = false
49/shape_one_way_margin = 0.0
49/shapes = [ ]
49/z_index = 0
50/name = "window.png 50"
50/texture = ExtResource( 4 )
50/tex_offset = Vector2( 0, 0 )
50/modulate = Color( 1, 1, 1, 1 )
50/region = Rect2( 0, 0, 16, 16 )
50/tile_mode = 1
50/autotile/bitmask_mode = 0
50/autotile/bitmask_flags = [ ]
50/autotile/icon_coordinate = Vector2( 0, 0 )
50/autotile/tile_size = Vector2( 16, 16 )
50/autotile/spacing = 0
50/autotile/occluder_map = [ ]
50/autotile/navpoly_map = [ ]
50/autotile/priority_map = [ ]
50/autotile/z_index_map = [ ]
50/occluder_offset = Vector2( 0, 0 )
50/navigation_offset = Vector2( 0, 0 )
50/shape_offset = Vector2( 0, 0 )
50/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
50/shape_one_way = false
50/shape_one_way_margin = 0.0
50/shapes = [ ]
50/z_index = 0

Binary file not shown.

View File

@ -0,0 +1,18 @@
extends Area2D
signal interacted
func _ready():
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"):
body.add_interactable(self)
func _on_body_exit(body):
if body.has_method("remove_interactable"):
body.remove_interactable(self)
func interact():
emit_signal("interacted")

View File

@ -1,5 +1,7 @@
extends "res://Scripts/Component/Speaker.gd"
signal dialog_exited
const Story_Reader_Class = preload("res://addons/EXP-System-Dialog/Reference_StoryReader/EXP_StoryReader.gd")
const story_file = preload("res://Assets/Stories/english_story.tres")
var story_reader = Story_Reader_Class.new()
@ -30,7 +32,7 @@ func start_dialog(record : String):
func start_dialog_did(dialog_id : int):
gui = get_node("/root/World/GUI")
if not gui.is_in_dialog():
nid = 1
did = dialog_id
@ -69,6 +71,7 @@ func move_dialog_forward(decision = 0):
nid = story_reader.get_nid_from_slot(did, nid, decision)
process_message(story_reader.get_text(did, nid))
else:
emit_signal("dialog_exited")
gui.finish_dialog()
func _process(delta):

View File

@ -0,0 +1,11 @@
extends Area2D
export var music : AudioStream
func _ready():
connect("body_entered", self, "_on_body_entered")
func _on_body_entered(body):
if body.has_method("user_input"):
if $"/root/MusicManager".stream != music:
$"/root/MusicManager".play_stream(music)

View File

@ -0,0 +1,18 @@
extends "res://Scripts/Component/Interactable.gd"
var state : int = 0
func _ready():
connect("interacted", self, "_on_interact")
$Speaker.speaker_name = "CEO Grant Blevins"
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
func _on_interact():
if state == 0:
$Speaker.start_dialog("intro_meet_ceo")
else:
$Speaker.start_dialog("into_speak_ceo")
func _on_dialog_exit():
if state == 0:
state = 1

View File

@ -1,7 +1,10 @@
extends "res://Scripts/Component/StorySpeaker.gd"
extends "res://Scripts/Component/Interactable.gd"
func _ready():
start_dialog("intro_science")
connect("interacted", self, "_on_interact")
$Speaker.speaker_name = "Dr.Thadd"
#$Speaker.start_dialog("intro_science")
func _on_interact():
start_dialog("intro_science_followup")
$Speaker.start_dialog("intro_science_followup")

View File

@ -12,6 +12,20 @@ export var jumpVelocity : float = -150
var moveMotion : float = 0 # Player Input ( <- & -> )
var motion : Vector2 = Vector2(0,0) # Player's current velocity
var gui
var interactables = []
func add_interactable(interactable):
interactables.append(interactable)
func remove_interactable(interactable):
var loc = interactables.find(interactable)
if loc >= 0:
interactables.remove(loc)
func _process(delta):
if Input.is_action_just_pressed("ui_accept") and len(interactables) > 0 and not gui.is_in_dialog():
interactables[0].interact()
func _physics_process(delta):
@ -20,6 +34,9 @@ func _physics_process(delta):
if is_on_floor():
motion.y = 0
if not gui:
gui = get_node("/root/World/GUI")
elif not gui.is_in_dialog():
user_input()
# Apply velocity limits
@ -32,6 +49,10 @@ func _physics_process(delta):
func user_input():
if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"):
position.y = position.y + 2
return
if(Input.is_action_pressed("ui_left")):
moveMotion -= moveAcceleration
if(Input.is_action_pressed("ui_right")):

View File

@ -14,5 +14,11 @@ func play_music(song, loop=true):
main_player.stream = track
main_player.play()
func play_stream(track, loop = true):
looping = loop
main_player.stream = track
main_player.play()
func stop_music():
main_player.stop()

View File

@ -1,21 +1,18 @@
extends CanvasLayer
func is_in_dialog():
return in_dialog
# 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.
var in_dialog = false
func set_dialog(message, speaker=""):
$Dialog.show()
in_dialog = true
$Dialog/Textbox/Speaker.text = speaker
$Dialog/Textbox/Body.text = message
func finish_dialog():
in_dialog = false
$Dialog.hide()
func clear_choices():
@ -24,6 +21,7 @@ func clear_choices():
$Dialog/Choices.get_child(i).queue_free()
func add_choice(speaker : Node, choice_id : int, choice_text : String):
$Dialog/Choices.hide()
var button = Button.new()
button.text = choice_text
button.connect("button_down", speaker, "_on_choice", [choice_id])

View File

@ -28,4 +28,4 @@ func _on_button_press(button):
"options":
get_parent().get_parent().get_node("OptionsDialog").popup_centered()
"bug":
OS.shell_open("https://github.com/josephbmanley")
OS.shell_open("https://github.com/josephbmanley/the-connection/issues/new?labels=bug&template=1_bug_report.md")

View File

@ -27,6 +27,16 @@ MusicManager="*res://Scripts/Singletons/MusicManager.gd"
enabled=PoolStringArray( "EXP-System-Dialog" )
[input]
ui_up={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
]
}
[rendering]
environment/default_environment="res://default_env.tres"