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])