diff --git a/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.md5 b/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.md5
new file mode 100644
index 0000000..041d15a
--- /dev/null
+++ b/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.md5
@@ -0,0 +1,3 @@
+source_md5="424bc2e8a11a2373217678abda0df97e"
+dest_md5="917df80dfa039af088b63b9a234e0ced"
+
diff --git a/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.stex b/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.stex
new file mode 100644
index 0000000..68e145a
Binary files /dev/null and b/client/.import/bkg.png-ea141b5c86a53d3760c4270db6a90b57.stex differ
diff --git a/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.md5 b/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.md5
new file mode 100644
index 0000000..687121d
--- /dev/null
+++ b/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.md5
@@ -0,0 +1,3 @@
+source_md5="46a58c40f5b6b62c3a59601b0fb55288"
+dest_md5="6c83115f14a9c0acf967eb87bf07fe4b"
+
diff --git a/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.stex b/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.stex
new file mode 100644
index 0000000..a82c72e
Binary files /dev/null and b/client/.import/metal_wall.png-68d707a54b36ade140524fb8e7a76ff5.stex differ
diff --git a/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.md5 b/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.md5
index 5d656fb..7bce99e 100644
--- a/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.md5
+++ b/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.md5
@@ -1,3 +1,3 @@
-source_md5="02860f21d0b06f5acf9d6f81718d443a"
-dest_md5="29b11c828e308d1479c7681a6d77bbda"
+source_md5="9161b62a08022547a51cb144c79b83c2"
+dest_md5="f5e5412b84c441a6c7bf7f80491ac049"
diff --git a/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.stex b/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.stex
index 1a19a98..e3e6384 100644
Binary files a/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.stex and b/client/.import/platform.png-fa6c1000359a082b3ed63552d71e9023.stex differ
diff --git a/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.md5 b/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.md5
new file mode 100644
index 0000000..164b681
--- /dev/null
+++ b/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.md5
@@ -0,0 +1,3 @@
+source_md5="c4e868a40fcea38649d43a73971cf969"
+dest_md5="d21853d8744e43202ee3050f2c706feb"
+
diff --git a/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.stex b/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.stex
new file mode 100644
index 0000000..84eacb1
Binary files /dev/null and b/client/.import/window.png-bc8282fbd0878885d99d7aa183c1441f.stex differ
diff --git a/client/Assets/Art/bkg.aseprite b/client/Assets/Art/bkg.aseprite
new file mode 100644
index 0000000..8f5124d
Binary files /dev/null and b/client/Assets/Art/bkg.aseprite differ
diff --git a/client/Assets/Art/bkg.png b/client/Assets/Art/bkg.png
new file mode 100644
index 0000000..f490a50
Binary files /dev/null and b/client/Assets/Art/bkg.png differ
diff --git a/client/Assets/Art/bkg.png.import b/client/Assets/Art/bkg.png.import
new file mode 100644
index 0000000..8a4cdac
--- /dev/null
+++ b/client/Assets/Art/bkg.png.import
@@ -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
diff --git a/client/Assets/Art/metal_wall.aseprite b/client/Assets/Art/metal_wall.aseprite
new file mode 100644
index 0000000..ba1aabc
Binary files /dev/null and b/client/Assets/Art/metal_wall.aseprite differ
diff --git a/client/Assets/Art/metal_wall.png b/client/Assets/Art/metal_wall.png
new file mode 100644
index 0000000..e69295e
Binary files /dev/null and b/client/Assets/Art/metal_wall.png differ
diff --git a/client/Assets/Art/metal_wall.png.import b/client/Assets/Art/metal_wall.png.import
new file mode 100644
index 0000000..df97324
--- /dev/null
+++ b/client/Assets/Art/metal_wall.png.import
@@ -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
diff --git a/client/Assets/Art/platform.aseprite b/client/Assets/Art/platform.aseprite
index ac44e24..23c272d 100644
Binary files a/client/Assets/Art/platform.aseprite and b/client/Assets/Art/platform.aseprite differ
diff --git a/client/Assets/Art/platform.png b/client/Assets/Art/platform.png
index 1bddf54..b03ae6c 100644
Binary files a/client/Assets/Art/platform.png and b/client/Assets/Art/platform.png differ
diff --git a/client/Assets/Art/window.aseprite b/client/Assets/Art/window.aseprite
new file mode 100644
index 0000000..6b0195a
Binary files /dev/null and b/client/Assets/Art/window.aseprite differ
diff --git a/client/Assets/Art/window.png b/client/Assets/Art/window.png
new file mode 100644
index 0000000..359ccfc
Binary files /dev/null and b/client/Assets/Art/window.png differ
diff --git a/client/Assets/Art/window.png.import b/client/Assets/Art/window.png.import
new file mode 100644
index 0000000..da3211c
--- /dev/null
+++ b/client/Assets/Art/window.png.import
@@ -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
diff --git a/client/Assets/Stories/english_story.tres b/client/Assets/Stories/english_story.tres
index 36e61e3..3152d2e 100644
--- a/client/Assets/Stories/english_story.tres
+++ b/client/Assets/Stories/english_story.tres
@@ -6,6 +6,7 @@
script = ExtResource( 1 )
TYPE = "EXP_Story_editor"
names = {
+"into_speak_ceo": 5,
"intro_meet_ceo": 4,
"intro_science": 1,
"intro_science_followup": 3,
@@ -629,6 +630,47 @@ not be too far out of reach.",
"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?
+Nothing yet
+Where is the shipping facility?",
+"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"
+}
+}
}
}
available_dids = [ ]
diff --git a/client/Nodes/NPCs/CEO.tscn b/client/Nodes/NPCs/CEO.tscn
index 6c8f273..c7c5c2a 100644
--- a/client/Nodes/NPCs/CEO.tscn
+++ b/client/Nodes/NPCs/CEO.tscn
@@ -5,7 +5,7 @@
[ext_resource path="res://Assets/Art/Characters/business.png" type="Texture" id=3]
[sub_resource type="RectangleShape2D" id=1]
-extents = Vector2( 5, 8 )
+extents = Vector2( 16.0863, 8 )
[node name="Scientist" type="Area2D"]
script = ExtResource( 1 )
diff --git a/client/Nodes/Tiles/tileset_science_lab.tres b/client/Nodes/Tiles/tileset_science_lab.tres
index c535502..ee83500 100644
--- a/client/Nodes/Tiles/tileset_science_lab.tres
+++ b/client/Nodes/Tiles/tileset_science_lab.tres
@@ -1,7 +1,9 @@
-[gd_resource type="TileSet" load_steps=98 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 )
@@ -625,3 +627,49 @@ points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 )
"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
diff --git a/client/Scenes/World.scn b/client/Scenes/World.scn
index 2c8ec33..e8d90f7 100644
Binary files a/client/Scenes/World.scn and b/client/Scenes/World.scn differ
diff --git a/client/Scripts/Component/StorySpeaker.gd b/client/Scripts/Component/StorySpeaker.gd
index 635d727..5cf3516 100644
--- a/client/Scripts/Component/StorySpeaker.gd
+++ b/client/Scripts/Component/StorySpeaker.gd
@@ -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()
@@ -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):
diff --git a/client/Scripts/Entities/NPCs/CEO.gd b/client/Scripts/Entities/NPCs/CEO.gd
index 2b83acb..fde1954 100644
--- a/client/Scripts/Entities/NPCs/CEO.gd
+++ b/client/Scripts/Entities/NPCs/CEO.gd
@@ -1,9 +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.start_dialog("intro_science")
+ $Speaker.connect("dialog_exited", self, "_on_dialog_exit")
func _on_interact():
- $Speaker.start_dialog("intro_meet_ceo")
+ 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
diff --git a/client/Scripts/Entities/NPCs/IntroScientist.gd b/client/Scripts/Entities/NPCs/IntroScientist.gd
index 1544d1d..e445a9a 100644
--- a/client/Scripts/Entities/NPCs/IntroScientist.gd
+++ b/client/Scripts/Entities/NPCs/IntroScientist.gd
@@ -3,7 +3,7 @@ extends "res://Scripts/Component/Interactable.gd"
func _ready():
connect("interacted", self, "_on_interact")
$Speaker.speaker_name = "Dr.Thadd"
- $Speaker.start_dialog("intro_science")
+ #$Speaker.start_dialog("intro_science")
func _on_interact():
$Speaker.start_dialog("intro_science_followup")
diff --git a/client/Scripts/Entities/Player.gd b/client/Scripts/Entities/Player.gd
index fa5138d..5554c04 100644
--- a/client/Scripts/Entities/Player.gd
+++ b/client/Scripts/Entities/Player.gd
@@ -24,7 +24,7 @@ func remove_interactable(interactable):
interactables.remove(loc)
func _process(delta):
- if Input.is_action_just_pressed("ui_accept") and len(interactables) > 0:
+ 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):
diff --git a/client/Scripts/Systems/GameGui.gd b/client/Scripts/Systems/GameGui.gd
index bf759d6..a131c9d 100644
--- a/client/Scripts/Systems/GameGui.gd
+++ b/client/Scripts/Systems/GameGui.gd
@@ -21,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])