Added first quests
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
join vesna center
|
join vesna center
|
||||||
|
[quest_complete quest_resource="res://resources/quests/demo/2_collect_ducks.tres"]
|
||||||
That’s the last one. I should get back to Yeli.
|
That’s the last one. I should get back to Yeli.
|
||||||
|
[quest_activate quest_resource="res://resources/quests/demo/3_talk_yeli_2.tres"]
|
||||||
[end_timeline]
|
[end_timeline]
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
join Yeli right
|
join Yeli right
|
||||||
join vesna left
|
join vesna left
|
||||||
|
[quest_complete quest_resource="res://resources/quests/demo/1_talk_yeli_1.tres"]
|
||||||
Yeli (_part_side): Come here, you little quacking beast!
|
Yeli (_part_side): Come here, you little quacking beast!
|
||||||
- What a mess!
|
- What a mess!
|
||||||
- How did you call me?
|
- How did you call me?
|
||||||
Yeli (_part_side): Vesna, oh, thank goodness!
|
Yeli (_part_side): Vesna, oh, thank goodness!
|
||||||
Yeli (_part_side): Please could you get the runner ducks back into their coop?
|
Yeli (_part_side): Please could you get the runner ducks back into their coop?
|
||||||
|
[quest_activate quest_resource="res://resources/quests/demo/2_collect_ducks.tres"]
|
||||||
[end_timeline]
|
[end_timeline]
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
if {ACTIVEQUEST} == "1_talk_yeli_1":
|
||||||
|
jump quest1_ducks_start/
|
||||||
|
else:
|
||||||
|
No Dialog for active quest {ACTIVEQUEST}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://do3c5uofv5m7b
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[gd_scene load_steps=3 format=3 uid="uid://bworek1jcmq0e"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dl2uhq12p3qks" path="res://scripts/CSharp/Common/Quest/QuestManager.cs" id="1_anowe"]
|
||||||
|
[ext_resource type="Script" uid="uid://bukwr1h3hn8sx" path="res://scripts/GdScript/dialogic_var_setter.gd" id="4_v86gc"]
|
||||||
|
|
||||||
|
[node name="QuestManager" type="Node"]
|
||||||
|
script = ExtResource("1_anowe")
|
||||||
|
|
||||||
|
[node name="DialogicRelay" type="Node" parent="."]
|
||||||
|
script = ExtResource("4_v86gc")
|
||||||
|
|
||||||
|
[connection signal="DialogicActiveQuest" from="." to="DialogicRelay" method="_SetActiveQuestVar"]
|
||||||
+51
-1
@@ -29,9 +29,9 @@ SceneTransition="*res://scenes/SceneTransition.tscn"
|
|||||||
Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"
|
Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"
|
||||||
InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs"
|
InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs"
|
||||||
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
|
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
|
||||||
QuestManager="*res://scripts/CSharp/Common/Quest/QuestManager.cs"
|
|
||||||
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
||||||
InputService="*res://scripts/CSharp/Common/Services/InputService.cs"
|
InputService="*res://scripts/CSharp/Common/Services/InputService.cs"
|
||||||
|
QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn"
|
||||||
|
|
||||||
[dialogic]
|
[dialogic]
|
||||||
|
|
||||||
@@ -67,6 +67,7 @@ directories/dtl_directory={
|
|||||||
"yeli_intro_05": "res://dialog/Scene1_farm_outside/yeli_intro_05.dtl"
|
"yeli_intro_05": "res://dialog/Scene1_farm_outside/yeli_intro_05.dtl"
|
||||||
}
|
}
|
||||||
variables={
|
variables={
|
||||||
|
"ACTIVEQUEST": "none",
|
||||||
"MAGICWORD": "Hokus Pokus!s",
|
"MAGICWORD": "Hokus Pokus!s",
|
||||||
"PLAYERMOOD": "Good",
|
"PLAYERMOOD": "Good",
|
||||||
"SHOW": "IGF"
|
"SHOW": "IGF"
|
||||||
@@ -106,6 +107,55 @@ translation/id_counter=22
|
|||||||
translation/locales=["de", "en"]
|
translation/locales=["de", "en"]
|
||||||
text/autopauses={}
|
text/autopauses={}
|
||||||
glossary/glossary_files=["res://dialog/farming_equipment_glossary.tres"]
|
glossary/glossary_files=["res://dialog/farming_equipment_glossary.tres"]
|
||||||
|
directories/tres_directory={
|
||||||
|
"1_talk_yeli_1": "res://resources/quests/demo/1_talk_yeli_1.tres",
|
||||||
|
"2_collect_ducks": "res://resources/quests/demo/2_collect_ducks.tres",
|
||||||
|
"3_talk_yeli_2": "res://resources/quests/demo/3_talk_yeli_2.tres",
|
||||||
|
"Babushka_NPC_Namebox_background": "res://dialog/Babushka_NPC_Namebox_background.tres",
|
||||||
|
"InputFieldsStyle": "res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres",
|
||||||
|
"MainTheme": "res://addons/dialogic/Editor/Theme/MainTheme.tres",
|
||||||
|
"NPC_narrative": "res://dialog/NPC_narrative.tres",
|
||||||
|
"New_File": "res://addons/dialogic/New_File.tres",
|
||||||
|
"PickerTheme": "res://addons/dialogic/Editor/Theme/PickerTheme.tres",
|
||||||
|
"ResourceMenuHover": "res://addons/dialogic/Editor/Events/styles/ResourceMenuHover.tres",
|
||||||
|
"ResourceMenuNormal": "res://addons/dialogic/Editor/Events/styles/ResourceMenuNormal.tres",
|
||||||
|
"ResourceMenuPanelBackground": "res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres",
|
||||||
|
"SectionPanel": "res://addons/dialogic/Editor/Events/styles/SectionPanel.tres",
|
||||||
|
"SimpleButtonHover": "res://addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres",
|
||||||
|
"SimpleButtonNormal": "res://addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres",
|
||||||
|
"TextBackground": "res://addons/dialogic/Editor/Events/styles/TextBackground.tres",
|
||||||
|
"TitleBgStylebox": "res://addons/dialogic/Editor/Common/TitleBgStylebox.tres",
|
||||||
|
"beet": "res://resources/items/beet.tres",
|
||||||
|
"beetRoot": "res://resources/quests/beetRoot.tres",
|
||||||
|
"choice_panel_focus": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/choice_panel_focus.tres",
|
||||||
|
"choice_panel_hover": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/choice_panel_hover.tres",
|
||||||
|
"choice_panel_normal": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/choice_panel_normal.tres",
|
||||||
|
"default_bus_layout": "res://audio/default_bus_layout.tres",
|
||||||
|
"default_stylebox": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_SpeakerPortraitTextbox/default_stylebox.tres",
|
||||||
|
"default_vn_style": "res://addons/dialogic/Modules/DefaultLayoutParts/Style_VN_Default/default_vn_style.tres",
|
||||||
|
"farming_equipment_glossary": "res://dialog/farming_equipment_glossary.tres",
|
||||||
|
"hoe": "res://resources/items/hoe.tres",
|
||||||
|
"preview_character": "res://addons/dialogic/Modules/Character/preview_character.tres",
|
||||||
|
"rake": "res://resources/items/rake.tres",
|
||||||
|
"scythe": "res://resources/items/scythe.tres",
|
||||||
|
"selected_styleboxflat": "res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres",
|
||||||
|
"shovel": "res://resources/items/shovel.tres",
|
||||||
|
"simple_fade": "res://addons/dialogic/Modules/Background/Transitions/Defaults/simple_fade.tres",
|
||||||
|
"simple_swipe_gradient": "res://addons/dialogic/Modules/Background/Transitions/simple_swipe_gradient.tres",
|
||||||
|
"speaker_textbox_style": "res://addons/dialogic/Modules/DefaultLayoutParts/Style_SpeakerTextbox/speaker_textbox_style.tres",
|
||||||
|
"speechbubble": "res://dialog/speechbubble.tres",
|
||||||
|
"test": "res://resources/items/test.tres",
|
||||||
|
"test_01": "res://resources/quests/test_01.tres",
|
||||||
|
"test_02": "res://resources/quests/test_02.tres",
|
||||||
|
"test_03": "res://resources/quests/test_03.tres",
|
||||||
|
"textbubble_style": "res://addons/dialogic/Modules/DefaultLayoutParts/Style_TextBubbles/textbubble_style.tres",
|
||||||
|
"tomato": "res://resources/items/tomato.tres",
|
||||||
|
"tomato_seed": "res://resources/items/tomato_seed.tres",
|
||||||
|
"unselected_stylebox": "res://addons/dialogic/Editor/Events/styles/unselected_stylebox.tres",
|
||||||
|
"vn_textbox_default_panel": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Textbox/vn_textbox_default_panel.tres",
|
||||||
|
"vn_textbox_name_label_panel": "res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Textbox/vn_textbox_name_label_panel.tres",
|
||||||
|
"wateringcan": "res://resources/items/wateringcan.tres"
|
||||||
|
}
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://cm8kftow8br00"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_xjwrv"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_xjwrv")
|
||||||
|
id = "1_talk_yeli_1"
|
||||||
|
title = "Talk to Yeli"
|
||||||
|
description = ""
|
||||||
|
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://cy0na3ukvpoou"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_wactd"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_wactd")
|
||||||
|
id = "2_collect_ducks"
|
||||||
|
title = "Collect the Ducks"
|
||||||
|
description = "Collect all 6 ducks running around the farm by aporaching them and pressing [E]"
|
||||||
|
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://mf0rdejw8fuk"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_70pjl"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("1_70pjl")
|
||||||
|
id = "3_talk_yeil_2"
|
||||||
|
title = "Talk to Yeli again"
|
||||||
|
description = "All ducks are collected. Head back to yeli."
|
||||||
|
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
|
||||||
@@ -67,6 +67,8 @@
|
|||||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="52_lwk6t"]
|
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="52_lwk6t"]
|
||||||
[ext_resource type="PackedScene" uid="uid://sbf12hin4kes" path="res://prefabs/Interactables/trash_object.tscn" id="53_ycj14"]
|
[ext_resource type="PackedScene" uid="uid://sbf12hin4kes" path="res://prefabs/Interactables/trash_object.tscn" id="53_ycj14"]
|
||||||
[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="62_i36hd"]
|
[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="62_i36hd"]
|
||||||
|
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="66_2065p"]
|
||||||
|
[ext_resource type="Resource" uid="uid://cm8kftow8br00" path="res://resources/quests/demo/1_talk_yeli_1.tres" id="67_tm0yg"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
|
||||||
shader = ExtResource("13_7p0hq")
|
shader = ExtResource("13_7p0hq")
|
||||||
@@ -1021,7 +1023,8 @@ y_sort_enabled = true
|
|||||||
|
|
||||||
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
|
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
|
||||||
position = Vector2(6403, 3362)
|
position = Vector2(6403, 3362)
|
||||||
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest2_tomatoes_start", "quest2_tomatoes_interim", "quest2_tomatoes_end")
|
_timelinesToPlay = PackedStringArray("yeli_quest_select")
|
||||||
|
_retriggerSameTimeline = true
|
||||||
|
|
||||||
[node name="Vesna" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
|
[node name="Vesna" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
|
||||||
z_index = 1
|
z_index = 1
|
||||||
@@ -2309,6 +2312,9 @@ offset_top = 0.228533
|
|||||||
offset_right = -456.339
|
offset_right = -456.339
|
||||||
offset_bottom = 30.2285
|
offset_bottom = 30.2285
|
||||||
|
|
||||||
|
[node name="Control" parent="CanvasLayer" index="3"]
|
||||||
|
visible = true
|
||||||
|
|
||||||
[node name="Audio" type="Node" parent="."]
|
[node name="Audio" type="Node" parent="."]
|
||||||
|
|
||||||
[node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"]
|
[node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"]
|
||||||
@@ -2350,6 +2356,14 @@ max_distance = 2e+07
|
|||||||
playback_type = 2
|
playback_type = 2
|
||||||
script = ExtResource("40_w3jkj")
|
script = ExtResource("40_w3jkj")
|
||||||
|
|
||||||
|
[node name="QuestInstantStart" type="Node" parent="."]
|
||||||
|
|
||||||
|
[node name="QuestTrigger" type="Node" parent="QuestInstantStart"]
|
||||||
|
script = ExtResource("66_2065p")
|
||||||
|
questResource = ExtResource("67_tm0yg")
|
||||||
|
toStatus = 1
|
||||||
|
makeCurrent = true
|
||||||
|
|
||||||
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"]
|
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"]
|
||||||
[connection signal="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"]
|
[connection signal="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"]
|
||||||
[connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"]
|
[connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"]
|
||||||
@@ -2359,14 +2373,9 @@ script = ExtResource("40_w3jkj")
|
|||||||
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
|
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
|
||||||
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
|
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
|
||||||
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck3" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck4" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck5" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck6" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck7" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
|
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
|
||||||
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
|
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
|
||||||
|
[connection signal="ready" from="QuestInstantStart" to="QuestInstantStart/QuestTrigger" method="Trigger"]
|
||||||
|
|
||||||
[editable path="YSorted/Vesna"]
|
[editable path="YSorted/Vesna"]
|
||||||
[editable path="YSorted/Brünnen/InteractionArea"]
|
[editable path="YSorted/Brünnen/InteractionArea"]
|
||||||
|
|||||||
@@ -2256,12 +2256,6 @@ script = ExtResource("59_0knno")
|
|||||||
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
|
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
|
||||||
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
|
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
|
||||||
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck3" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck4" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck5" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck6" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="DuckCollected" from="YSorted/ducks/Duck7" to="YSorted/ducks" method="Increment"]
|
|
||||||
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
|
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
|
||||||
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
|
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://cohyenfo1rtxh" path="res://audio/sfx/Animals/SFX_Cat_Meow_01.wav" id="16_d7yky"]
|
[ext_resource type="AudioStream" uid="uid://cohyenfo1rtxh" path="res://audio/sfx/Animals/SFX_Cat_Meow_01.wav" id="16_d7yky"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="16_dhsxs"]
|
[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="16_dhsxs"]
|
||||||
[ext_resource type="AudioStream" uid="uid://b2cmf5ie7cwka" path="res://audio/sfx/Animals/SFX_Cat_Meow_02.wav" id="17_7a68a"]
|
[ext_resource type="AudioStream" uid="uid://b2cmf5ie7cwka" path="res://audio/sfx/Animals/SFX_Cat_Meow_02.wav" id="17_7a68a"]
|
||||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_k0k8c"]
|
[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_k0k8c"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cttisejnt2l8f" path="res://audio/sfx/Animals/SFX_Cat_Meow_03.wav" id="18_dhsxs"]
|
[ext_resource type="AudioStream" uid="uid://cttisejnt2l8f" path="res://audio/sfx/Animals/SFX_Cat_Meow_03.wav" id="18_dhsxs"]
|
||||||
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="18_dw4nn"]
|
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="18_dw4nn"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cbmagiou0n0t3" path="res://audio/sfx/Animals/SFX_Cat_Meow_04.wav" id="19_k0k8c"]
|
[ext_resource type="AudioStream" uid="uid://cbmagiou0n0t3" path="res://audio/sfx/Animals/SFX_Cat_Meow_04.wav" id="19_k0k8c"]
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="21_blyw3"]
|
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="21_blyw3"]
|
||||||
[ext_resource type="AudioStream" uid="uid://r2f6xmjvyyjv" path="res://audio/sfx/Animals/SFX_Cat_Purr_01.wav" id="21_ytap8"]
|
[ext_resource type="AudioStream" uid="uid://r2f6xmjvyyjv" path="res://audio/sfx/Animals/SFX_Cat_Purr_01.wav" id="21_ytap8"]
|
||||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="22_tggq2"]
|
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="22_tggq2"]
|
||||||
[ext_resource type="Resource" uid="uid://cbpurnewhyefa" path="res://resources/quests/beetRoot.tres" id="22_yd2gv"]
|
[ext_resource type="Resource" path="res://resources/quests/beetRoot.tres" id="22_yd2gv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="24_yd2gv"]
|
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="24_yd2gv"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"]
|
||||||
@@ -558,7 +558,6 @@ position = Vector2(-565, 464)
|
|||||||
|
|
||||||
[node name="dialogic_toggle" type="Node2D" parent="Yeli"]
|
[node name="dialogic_toggle" type="Node2D" parent="Yeli"]
|
||||||
script = ExtResource("17_k0k8c")
|
script = ExtResource("17_k0k8c")
|
||||||
metadata/_custom_type_script = "uid://cvkw4qd2hxksi"
|
|
||||||
|
|
||||||
[node name="Beetroot Quest trigger" type="Node2D" parent="Yeli"]
|
[node name="Beetroot Quest trigger" type="Node2D" parent="Yeli"]
|
||||||
script = ExtResource("21_blyw3")
|
script = ExtResource("21_blyw3")
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
[node name="BabushkaSceneStartMenu" type="Node2D"]
|
[node name="BabushkaSceneStartMenu" type="Node2D"]
|
||||||
script = ExtResource("1_fj2fh")
|
script = ExtResource("1_fj2fh")
|
||||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn")
|
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_farm_outside_2d.tscn")
|
||||||
|
|
||||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ public partial class TalkingCharacter : Node2D
|
|||||||
{
|
{
|
||||||
[Export] private AnimatedSprite2D? _sprite;
|
[Export] private AnimatedSprite2D? _sprite;
|
||||||
[Export] private string[] _timelinesToPlay;
|
[Export] private string[] _timelinesToPlay;
|
||||||
|
[Export] private bool _retriggerSameTimeline = false;
|
||||||
|
|
||||||
private bool _isTalking = true;
|
private bool _isTalking = true;
|
||||||
private int _timelineIndex = 0;
|
private int _timelineIndex = 0;
|
||||||
@@ -32,7 +32,8 @@ public partial class TalkingCharacter : Node2D
|
|||||||
_sprite.Animation = "talk";
|
_sprite.Animation = "talk";
|
||||||
_isTalking = true;
|
_isTalking = true;
|
||||||
EmitSignal(SignalName.Talking, _timelinesToPlay[_timelineIndex]);
|
EmitSignal(SignalName.Talking, _timelinesToPlay[_timelineIndex]);
|
||||||
_timelineIndex++;
|
if (!_retriggerSameTimeline)
|
||||||
|
_timelineIndex++;
|
||||||
}
|
}
|
||||||
if (_sprite != null)
|
if (_sprite != null)
|
||||||
_sprite.Play();
|
_sprite.Play();
|
||||||
|
|||||||
@@ -16,13 +16,19 @@ public partial class QuestManager : Node
|
|||||||
[Signal]
|
[Signal]
|
||||||
public delegate void QuestsChangedEventHandler();
|
public delegate void QuestsChangedEventHandler();
|
||||||
|
|
||||||
|
[Signal]
|
||||||
|
public delegate void DialogicActiveQuestEventHandler(string value);
|
||||||
|
|
||||||
|
[Export(PropertyHint.ArrayType)]
|
||||||
|
public QuestResource[] questsAccessibleFromDialogic;
|
||||||
|
|
||||||
public override void _EnterTree()
|
public override void _EnterTree()
|
||||||
{
|
{
|
||||||
Instance = this;
|
Instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Godot.Collections.Dictionary<QuestResource, QuestStatus> _questStatus = new();
|
private Godot.Collections.Dictionary<QuestResource, QuestStatus> _questStatus = new();
|
||||||
|
|
||||||
private QuestResource? _followQuest;
|
private QuestResource? _followQuest;
|
||||||
|
|
||||||
|
|
||||||
@@ -37,6 +43,7 @@ public partial class QuestManager : Node
|
|||||||
value.status = newStatus;
|
value.status = newStatus;
|
||||||
|
|
||||||
EmitSignalQuestsChanged();
|
EmitSignalQuestsChanged();
|
||||||
|
EmitSignalDialogicActiveQuest(_followQuest?.id ?? "none");
|
||||||
|
|
||||||
if (newStatus == QuestStatus.Status.Active)
|
if (newStatus == QuestStatus.Status.Active)
|
||||||
{
|
{
|
||||||
@@ -57,7 +64,7 @@ public partial class QuestManager : Node
|
|||||||
{
|
{
|
||||||
if (_questStatus.TryGetValue(questResource, out var status))
|
if (_questStatus.TryGetValue(questResource, out var status))
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
status = new QuestStatus();
|
status = new QuestStatus();
|
||||||
_questStatus.Add(questResource, status);
|
_questStatus.Add(questResource, status);
|
||||||
return status;
|
return status;
|
||||||
@@ -72,5 +79,14 @@ public partial class QuestManager : Node
|
|||||||
{
|
{
|
||||||
_followQuest = questResource;
|
_followQuest = questResource;
|
||||||
EmitSignalQuestsChanged();
|
EmitSignalQuestsChanged();
|
||||||
|
EmitSignalDialogicActiveQuest(_followQuest?.id ?? "none");
|
||||||
|
}
|
||||||
|
|
||||||
|
// functions to call from Dialogic
|
||||||
|
public void DlSetQuestActiveAndFollow(string questId)
|
||||||
|
{
|
||||||
|
var resource = questsAccessibleFromDialogic.First(qr => qr.id == questId);
|
||||||
|
ChangeQuestStatus(resource, QuestStatus.Status.Active);
|
||||||
|
SetFollowQuest(resource);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ public partial class QuestStatus : GodotObject
|
|||||||
{
|
{
|
||||||
public enum Status
|
public enum Status
|
||||||
{
|
{
|
||||||
Hidden,
|
Hidden = 0,
|
||||||
Active,
|
Active = 1,
|
||||||
Done,
|
Done = 2,
|
||||||
Canceled,
|
Canceled = 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
public Status status = Status.Hidden;
|
public Status status = Status.Hidden;
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
func _SetActiveQuestVar(value:String):
|
||||||
|
Dialogic.VAR.ACTIVEQUEST = value
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://bukwr1h3hn8sx
|
||||||
Reference in New Issue
Block a user