diff --git a/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.md5 b/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.md5 new file mode 100644 index 0000000..3aaeadf --- /dev/null +++ b/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.md5 @@ -0,0 +1,3 @@ +source_md5="7dca0d73f2612d088326ffc420d70d33" +dest_md5="4441e90ddb4675a44bc124eeb8d327f5" + diff --git a/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex b/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex new file mode 100644 index 0000000..5391ff5 Binary files /dev/null and b/client/.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex differ diff --git a/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.md5 b/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.md5 new file mode 100644 index 0000000..118ed23 --- /dev/null +++ b/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.md5 @@ -0,0 +1,3 @@ +source_md5="3be96f8f0b1f368b29579f8fe6c79e53" +dest_md5="fb332b986c94f47353bb21064d61380b" + diff --git a/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex b/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex new file mode 100644 index 0000000..7af87cb Binary files /dev/null and b/client/.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex differ diff --git a/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.md5 b/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.md5 new file mode 100644 index 0000000..66b37a1 --- /dev/null +++ b/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.md5 @@ -0,0 +1,3 @@ +source_md5="6c5effbee182861293c67eb96f5fb23e" +dest_md5="9a076a710fba7054180bf80ce4546229" + diff --git a/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex b/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex new file mode 100644 index 0000000..ee11da8 Binary files /dev/null and b/client/.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex differ diff --git a/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.md5 b/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.md5 new file mode 100644 index 0000000..8efc7c9 --- /dev/null +++ b/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.md5 @@ -0,0 +1,3 @@ +source_md5="e2da7fb14b8d464f2eaa56db492be5df" +dest_md5="9b1d426abdf28a2ad8eba161f0c4bb57" + diff --git a/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex b/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex new file mode 100644 index 0000000..1e9f254 Binary files /dev/null and b/client/.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex differ diff --git a/client/Assets/Art/Objects/transport_ship.aseprite b/client/Assets/Art/Objects/transport_ship.aseprite new file mode 100644 index 0000000..d490408 Binary files /dev/null and b/client/Assets/Art/Objects/transport_ship.aseprite differ diff --git a/client/Assets/Art/Objects/transport_ship.png b/client/Assets/Art/Objects/transport_ship.png new file mode 100644 index 0000000..ab5629a Binary files /dev/null and b/client/Assets/Art/Objects/transport_ship.png differ diff --git a/client/Assets/Art/Objects/transport_ship.png.import b/client/Assets/Art/Objects/transport_ship.png.import new file mode 100644 index 0000000..4d8d2c3 --- /dev/null +++ b/client/Assets/Art/Objects/transport_ship.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Art/Objects/transport_ship.png" +dest_files=[ "res://.import/transport_ship.png-91a36c9b8473447e3e25d444470232bc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/client/Assets/Art/Objects/wall_light.aseprite b/client/Assets/Art/Objects/wall_light.aseprite new file mode 100644 index 0000000..ca65bb4 Binary files /dev/null and b/client/Assets/Art/Objects/wall_light.aseprite differ diff --git a/client/Assets/Art/Objects/wall_light.png b/client/Assets/Art/Objects/wall_light.png new file mode 100644 index 0000000..39ab684 Binary files /dev/null and b/client/Assets/Art/Objects/wall_light.png differ diff --git a/client/Assets/Art/Objects/wall_light.png.import b/client/Assets/Art/Objects/wall_light.png.import new file mode 100644 index 0000000..a9f5a95 --- /dev/null +++ b/client/Assets/Art/Objects/wall_light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Art/Objects/wall_light.png" +dest_files=[ "res://.import/wall_light.png-7d6cb84c22a36afd5e1ab9e6d92961a6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/client/Assets/Art/head_bg_less.png b/client/Assets/Art/head_bg_less.png new file mode 100644 index 0000000..8d4ab01 Binary files /dev/null and b/client/Assets/Art/head_bg_less.png differ diff --git a/client/Assets/Art/head_bg_less.png.import b/client/Assets/Art/head_bg_less.png.import new file mode 100644 index 0000000..fd30def --- /dev/null +++ b/client/Assets/Art/head_bg_less.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Art/head_bg_less.png" +dest_files=[ "res://.import/head_bg_less.png-4020d2069c2abefde54565f4a9dc2338.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/client/Assets/Art/logo.aseprite b/client/Assets/Art/logo.aseprite new file mode 100644 index 0000000..2a8c1cc Binary files /dev/null and b/client/Assets/Art/logo.aseprite differ diff --git a/client/Assets/Art/logo.png b/client/Assets/Art/logo.png new file mode 100644 index 0000000..c7be41c Binary files /dev/null and b/client/Assets/Art/logo.png differ diff --git a/client/Assets/Art/logo.png.import b/client/Assets/Art/logo.png.import new file mode 100644 index 0000000..9f0fbbf --- /dev/null +++ b/client/Assets/Art/logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Art/logo.png" +dest_files=[ "res://.import/logo.png-16478c0ca154a2aed3564dd7592b1a68.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/client/Assets/Stories/english_story.tres b/client/Assets/Stories/english_story.tres index 3152d2e..0a9ba39 100644 --- a/client/Assets/Stories/english_story.tres +++ b/client/Assets/Stories/english_story.tres @@ -10,7 +10,8 @@ names = { "intro_meet_ceo": 4, "intro_science": 1, "intro_science_followup": 3, -"intro_text": 2 +"intro_text": 2, +"intro_transportship": 6 } story = { 1: { @@ -671,6 +672,25 @@ not be too far out of reach.", "type": "line" } } +}, +6: { +"available_nid": [ ], +"groups": [ "Introduction" ], +"human_readable_description": "Interact with landed transportship", +"name": "intro_transportship", +"nodes": { +1: { +"graph_offset": Vector2( 40, 40 ), +"links": { + +}, +"rect_size": Vector2( 324, 137 ), +"slot_amount": 1, +"text": "This seems to be a Ravenetworks transport, but it's empty. Is this +suppose to be carrying the biological shipment?", +"type": "line" +} +} } } available_dids = [ ] diff --git a/client/Nodes/NPCs/Scientist.tscn b/client/Nodes/NPCs/Thadd.tscn similarity index 100% rename from client/Nodes/NPCs/Scientist.tscn rename to client/Nodes/NPCs/Thadd.tscn diff --git a/client/Nodes/Wall Light.tscn b/client/Nodes/Wall Light.tscn new file mode 100644 index 0000000..0951596 --- /dev/null +++ b/client/Nodes/Wall Light.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Assets/Art/basic_light.png" type="Texture" id=1] +[ext_resource path="res://Assets/Art/Objects/wall_light.png" type="Texture" id=2] + +[node name="Wall Light" type="Sprite"] +texture = ExtResource( 2 ) + +[node name="Light2D" type="Light2D" parent="."] +texture = ExtResource( 1 ) +texture_scale = 3.0 +energy = 1.1 +shadow_enabled = true +shadow_filter = 5 +shadow_filter_smooth = 0.5 diff --git a/client/Scenes/Area2D.gd b/client/Scenes/Area2D.gd new file mode 100644 index 0000000..31681e3 --- /dev/null +++ b/client/Scenes/Area2D.gd @@ -0,0 +1,7 @@ +extends "res://Scripts/Component/Interactable.gd" + +func _ready(): + connect("interacted", self, "_on_interact") + +func _on_interact(): + $Speaker.start_dialog("intro_transportship") diff --git a/client/Scenes/Credits.scn b/client/Scenes/Credits.scn new file mode 100644 index 0000000..d4c6f62 Binary files /dev/null and b/client/Scenes/Credits.scn differ diff --git a/client/Scenes/World.scn b/client/Scenes/World.scn index e8d90f7..cf781bf 100644 Binary files a/client/Scenes/World.scn and b/client/Scenes/World.scn differ diff --git a/client/Scripts/Component/Speaker.gd b/client/Scripts/Component/Speaker.gd index 70377de..cb0e768 100644 --- a/client/Scripts/Component/Speaker.gd +++ b/client/Scripts/Component/Speaker.gd @@ -5,6 +5,7 @@ signal finished_text signal message_list_empty func speak(message): + done = false spoken_text = "" for character in message: soundQueue.append(character) @@ -24,6 +25,7 @@ var speaker = "default" var soundQueue = [] var spoken_text = "" var playing_speech = false +var done = true export var voice_pitch : float = 1 func play_audio(): @@ -61,7 +63,9 @@ func play_audio(): print("No sound for: " + str(speaker)) else: playing_speech = false - emit_signal("finished_text") + if len(soundQueue) == 0: + emit_signal("finished_text") + done = true func del_obj(obj): obj.queue_free() diff --git a/client/Scripts/Component/StorySpeaker.gd b/client/Scripts/Component/StorySpeaker.gd index 5cf3516..391ffbc 100644 --- a/client/Scripts/Component/StorySpeaker.gd +++ b/client/Scripts/Component/StorySpeaker.gd @@ -13,7 +13,7 @@ var did : int var choices : int = 1 var selected_choice : int = -1 export var speaker_name = "" - +var final_display_message = "" func _ready(): story_reader.read(story_file) @@ -30,16 +30,22 @@ func _on_text_update(): func start_dialog(record : String): start_dialog_did(story_reader.get_did_via_record_name(record)) +func intialize_dialog(): + if not gui: + gui = get_node("/root/World/GUI") + + func start_dialog_did(dialog_id : int): - gui = get_node("/root/World/GUI") + intialize_dialog() if not gui.is_in_dialog(): nid = 1 did = dialog_id - process_message(story_reader.get_text(did, nid)) func has_next_node(): return story_reader.has_slot(did, nid, 0) + + func process_message(message): gui.clear_choices() @@ -62,6 +68,7 @@ func process_message(message): i = i + 1 speak(message) + final_display_message = message func _on_choice(decision): move_dialog_forward(decision) @@ -75,5 +82,6 @@ func move_dialog_forward(decision = 0): gui.finish_dialog() func _process(delta): - if(Input.is_action_just_pressed("ui_accept") and choices == 0 and playing_speech == false): + if(Input.is_action_just_pressed("ui_accept") and choices == 0 and final_display_message == gui.current_dialog()): + print("YEET") move_dialog_forward(0) 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/Singletons/CreditsManager.gd b/client/Scripts/Singletons/CreditsManager.gd new file mode 100644 index 0000000..300ffcc --- /dev/null +++ b/client/Scripts/Singletons/CreditsManager.gd @@ -0,0 +1,12 @@ +extends Control + +const SCROLL_SPEED = 25 + +func _ready(): + $"/root/MusicManager".play_music("Dystopian/The Story Continues") + +func _process(delta): + $Scolling.rect_position.y = $Scolling.rect_position.y - delta * SCROLL_SPEED + + if abs($Scolling.rect_position.y) > $Scolling.rect_size.y + 100: + get_tree().change_scene("res://Scenes/Title.scn") diff --git a/client/Scripts/Singletons/MusicManager.gd b/client/Scripts/Singletons/MusicManager.gd index f8a3570..30bc8a0 100644 --- a/client/Scripts/Singletons/MusicManager.gd +++ b/client/Scripts/Singletons/MusicManager.gd @@ -5,6 +5,7 @@ var looping : bool = false func _ready(): main_player = self + bus = "Music" func play_music(song, loop=true): var audio_file = "res://Assets/Music/" + song + ".ogg" diff --git a/client/Scripts/Systems/GameGui.gd b/client/Scripts/Systems/GameGui.gd index a131c9d..aeebf57 100644 --- a/client/Scripts/Systems/GameGui.gd +++ b/client/Scripts/Systems/GameGui.gd @@ -1,10 +1,13 @@ extends CanvasLayer func is_in_dialog(): - return in_dialog + return in_dialog or $Dialog.is_visible_in_tree() var in_dialog = false +func current_dialog(): + return $Dialog/Textbox/Body.text + func set_dialog(message, speaker=""): $Dialog.show() in_dialog = true diff --git a/client/default_bus_layout.tres b/client/default_bus_layout.tres new file mode 100644 index 0000000..94fa4a6 --- /dev/null +++ b/client/default_bus_layout.tres @@ -0,0 +1,9 @@ +[gd_resource type="AudioBusLayout" format=2] + +[resource] +bus/1/name = "Music" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = -5.04538 +bus/1/send = "Master" diff --git a/client/project.godot b/client/project.godot index a871777..9ebae2c 100644 --- a/client/project.godot +++ b/client/project.godot @@ -25,6 +25,8 @@ MusicManager="*res://Scripts/Singletons/MusicManager.gd" [display] +window/size/width=1280 +window/size/height=720 window/stretch/mode="2d" window/stretch/aspect="keep_width"