Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b6373e6a2b | |||
| 6050f3c297 | |||
| 486cfb5546 | |||
| b92eb909ad | |||
| d2c7302ab2 | |||
| 5affc48dc5 | |||
| cdb6b83124 | |||
| a4f9511892 | |||
| 7a3e96d679 | |||
| e38c391e1c | |||
| eaedf8c396 | |||
| ffa20bbdf8 | |||
| b77b6e3a52 | |||
| c7d56301fc |
@@ -95,6 +95,8 @@ func _make_visible(visible:bool) -> void:
|
||||
func _save_external_data() -> void:
|
||||
if _editor_view_and_manager_exist():
|
||||
editor_view.editors_manager.save_current_resource()
|
||||
|
||||
DialogicResourceUtil.update_directory('.tres')
|
||||
|
||||
|
||||
func _get_unsaved_status(for_scene:String) -> String:
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
@tool
|
||||
extends DialogicEvent
|
||||
class_name DialogicQuestActivateEvent
|
||||
|
||||
|
||||
# Define properties of the event here
|
||||
var quest_resource: String
|
||||
|
||||
func _execute() -> void:
|
||||
var resource = ResourceLoader.load(quest_resource)
|
||||
QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.ACTIVE)
|
||||
QuestManager.SetFollowQuest(resource)
|
||||
finish() # called to continue with the next event
|
||||
|
||||
|
||||
#region INITIALIZE
|
||||
################################################################################
|
||||
# Set fixed settings of this event
|
||||
func _init() -> void:
|
||||
event_name = "Activate Quest"
|
||||
event_category = "Quest"
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region SAVING/LOADING
|
||||
################################################################################
|
||||
func get_shortcode() -> String:
|
||||
return "quest_activate"
|
||||
|
||||
func get_shortcode_parameters() -> Dictionary:
|
||||
return {
|
||||
#param_name : property_info
|
||||
"quest_resource" : {"property": "quest_resource", "default": ""},
|
||||
}
|
||||
|
||||
# You can alternatively overwrite these 3 functions: to_text(), from_text(), is_valid_event()
|
||||
#endregion
|
||||
|
||||
|
||||
#region EDITOR REPRESENTATION
|
||||
################################################################################
|
||||
|
||||
func build_event_editor() -> void:
|
||||
add_header_label("Activate Quest")
|
||||
add_header_edit(
|
||||
"quest_resource",
|
||||
ValueType.DYNAMIC_OPTIONS,
|
||||
{
|
||||
"mode":2,
|
||||
"suggestions_func":QuestEventUtils.quest_resource_suggestrions
|
||||
})
|
||||
|
||||
#endregion
|
||||
@@ -0,0 +1 @@
|
||||
uid://br3a7napsjmg3
|
||||
@@ -0,0 +1,55 @@
|
||||
@tool
|
||||
extends DialogicEvent
|
||||
class_name DialogicQuestCompleteEvent
|
||||
|
||||
|
||||
# Define properties of the event here
|
||||
var quest_resource: String
|
||||
|
||||
func _execute() -> void:
|
||||
var resource = ResourceLoader.load(quest_resource)
|
||||
QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.DONE)
|
||||
QuestManager.SetFollowQuest(null)
|
||||
finish() # called to continue with the next event
|
||||
|
||||
|
||||
#region INITIALIZE
|
||||
################################################################################
|
||||
# Set fixed settings of this event
|
||||
func _init() -> void:
|
||||
event_name = "Complete Quest"
|
||||
event_category = "Quest"
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region SAVING/LOADING
|
||||
################################################################################
|
||||
func get_shortcode() -> String:
|
||||
return "quest_complete"
|
||||
|
||||
func get_shortcode_parameters() -> Dictionary:
|
||||
return {
|
||||
#param_name : property_info
|
||||
"quest_resource" : {"property": "quest_resource", "default": ""},
|
||||
}
|
||||
|
||||
# You can alternatively overwrite these 3 functions: to_text(), from_text(), is_valid_event()
|
||||
#endregion
|
||||
|
||||
|
||||
#region EDITOR REPRESENTATION
|
||||
################################################################################
|
||||
|
||||
func build_event_editor() -> void:
|
||||
add_header_label("Complete Quest")
|
||||
add_header_edit(
|
||||
"quest_resource",
|
||||
ValueType.DYNAMIC_OPTIONS,
|
||||
{
|
||||
"mode":2,
|
||||
"suggestions_func":QuestEventUtils.quest_resource_suggestrions
|
||||
})
|
||||
|
||||
#endregion
|
||||
@@ -0,0 +1 @@
|
||||
uid://c8mtjwpe7c0h
|
||||
@@ -0,0 +1,33 @@
|
||||
class_name QuestEventUtils
|
||||
|
||||
enum QuestStatus{
|
||||
HIDDEN = 0,
|
||||
ACTIVE = 1,
|
||||
DONE = 2,
|
||||
CANCLED = 3
|
||||
}
|
||||
|
||||
|
||||
static func quest_resource_suggestrions(search_text:String) -> Dictionary:
|
||||
var ret_val = {}
|
||||
var quest_paths = get_all_file_paths("res://resources/quests")
|
||||
|
||||
for path in quest_paths:
|
||||
var res = ResourceLoader.load(path)
|
||||
ret_val[res.id]= {"value":path, "tooltip":res.title + "\n\n" + res.description}
|
||||
|
||||
return ret_val
|
||||
|
||||
static func get_all_file_paths(path: String) -> Array[String]:
|
||||
var file_paths: Array[String] = []
|
||||
var dir = DirAccess.open(path)
|
||||
dir.list_dir_begin()
|
||||
var file_name = dir.get_next()
|
||||
while file_name != "":
|
||||
var file_path = path + "/" + file_name
|
||||
if dir.current_is_dir():
|
||||
file_paths += get_all_file_paths(file_path)
|
||||
else:
|
||||
file_paths.append(file_path)
|
||||
file_name = dir.get_next()
|
||||
return file_paths
|
||||
@@ -0,0 +1 @@
|
||||
uid://d1x2343wpkdku
|
||||
@@ -0,0 +1,8 @@
|
||||
@tool
|
||||
extends DialogicIndexer
|
||||
|
||||
func _get_events() -> Array:
|
||||
return [
|
||||
this_folder.path_join('event_quest_activate.gd'),
|
||||
this_folder.path_join('event_quest_complete.gd')
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
uid://wup1fvm05rqv
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5ade1s2ijunu"
|
||||
path="res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png"
|
||||
dest_files=["res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 123 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xtci0n8tquc0"
|
||||
path="res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/farm/farming/farmobjekte/beetroot_00.png"
|
||||
dest_files=["res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.5 KiB |
@@ -4,12 +4,11 @@ importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b3kyrsoobmkhp"
|
||||
path="res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"
|
||||
valid=false
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/mockups/3d/best_house_blender.blend"
|
||||
dest_files=["res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
join vesna left
|
||||
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.
|
||||
[quest_activate quest_resource="res://resources/quests/demo/3_talk_yeli_2.tres"]
|
||||
[end_timeline]
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
join Yeli center
|
||||
join Yeli right
|
||||
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!
|
||||
- What a mess!
|
||||
- You haven’t called me that way yet.
|
||||
Yeli (_part_side): Vesna, oh, thank goodness!
|
||||
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]
|
||||
|
||||
@@ -8,8 +8,8 @@ Vesna2: What?
|
||||
Domovoi: Just say it!
|
||||
Vesna2: Rosty…rosty?
|
||||
# Hier wächst die rote Beete magisch. Mit einem Signal/Ereignis?
|
||||
[signal]
|
||||
[signal arg="MagicWord"]
|
||||
Vesna2: It worked! How did it work?
|
||||
Vesna2: Thank y…and he’s gone.
|
||||
Vesna2: Thank y…and he’s gone.
|
||||
What a truly quirky individual.
|
||||
[end_timeline]
|
||||
|
||||
@@ -2,4 +2,5 @@ join Chuga center
|
||||
Chuga: I believe you’ve seen enough for today.
|
||||
Chuga: And yes, you too.
|
||||
Thank you for playing!
|
||||
do SceneTransition.ChangeSceneToFileThreaded("res://scenes/Babushka_scene_credits.tscn")
|
||||
[end_timeline]
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
join vesna center
|
||||
[text_input text="What shold I say?" var="MAGICWORD" placeholder="Expelliarmus!" allow_empty="true"]
|
||||
if {MAGICWORD} == "Rosty Rosty":
|
||||
vesna: That did the trick!
|
||||
[signal arg="MagicWord"]
|
||||
else:
|
||||
vesna: Didn't seem to work...
|
||||
[end_timeline]
|
||||
@@ -0,0 +1 @@
|
||||
uid://dtcypgqal1ids
|
||||
@@ -1,7 +1,6 @@
|
||||
join Yeli center
|
||||
Yeli: Woah, what's going on here?
|
||||
Yeli: Seems like this room isn't ready for business yet.
|
||||
Yeli: Let's wait until the developers are done with it, shall we?
|
||||
Yeli: See you at {SHOW}!
|
||||
Yeli: Thank you for your help out there.
|
||||
Yeli: You must be tired. Please rest. I prepared a bed for you. It's in the room to the left.
|
||||
Yeli: There is nothing interesting to see here.
|
||||
leave Yeli
|
||||
[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
|
||||
+2
-2
@@ -9,7 +9,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="_builds/Babushka_win_0_3/Babushka.exe"
|
||||
export_path="_builds/Babushka_showcase_win_04/Babushka.exe"
|
||||
patches=PackedStringArray()
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
@@ -79,7 +79,7 @@ custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="_builds/Babushka_linux_0_2/Babushka.x86_64"
|
||||
export_path="_builds/Babushka_showcase_lux_04/Babushka.x86_64"
|
||||
patches=PackedStringArray()
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://sbf12hin4kes"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bylgmr0skwtrs" path="res://art/farm/farming/farmobjekte/broken tools atlas.png" id="1_k4ca3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="2_gcgfd"]
|
||||
[ext_resource type="AudioStream" uid="uid://be6g8b3v3u1ai" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PickUp_01.wav" id="3_ktmp7"]
|
||||
[ext_resource type="AudioStream" uid="uid://cgjsajsdrrn0j" path="res://audio/sfx/Kitchen/SFX_Cooking_Knife_PutDown_01.wav" id="4_ic616"]
|
||||
[ext_resource type="AudioStream" uid="uid://br4drgupled6c" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_01.wav" id="5_dx175"]
|
||||
[ext_resource type="AudioStream" uid="uid://dd3qyaox6mx4i" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_02.wav" id="6_u7jgg"]
|
||||
[ext_resource type="AudioStream" uid="uid://b1qhh35hugoy0" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_03.wav" id="7_bu430"]
|
||||
[ext_resource type="AudioStream" uid="uid://ceob726q4obuw" path="res://audio/sfx/Kitchen/SFX_Cooking_Utensils_02.wav" id="8_gnu24"]
|
||||
[ext_resource type="AudioStream" uid="uid://tjuxapc4wuss" path="res://audio/sfx/Kitchen/SFX_Cutlery_02.wav" id="9_vmxy4"]
|
||||
[ext_resource type="AudioStream" uid="uid://duiyhe7yiyotb" path="res://audio/sfx/Kitchen/SFX_Cutlery_03.wav" id="10_aqih4"]
|
||||
[ext_resource type="AudioStream" uid="uid://bc216pfieuc8h" path="res://audio/sfx/Kitchen/SFX_Cutlery_04.wav" id="11_kb03l"]
|
||||
[ext_resource type="AudioStream" uid="uid://dp6qen84ptlvx" path="res://audio/sfx/Kitchen/SFX_Cutlery_05.wav" id="12_kka6u"]
|
||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="13_wswkg"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dich4"]
|
||||
streams_count = 10
|
||||
stream_0/stream = ExtResource("3_ktmp7")
|
||||
stream_1/stream = ExtResource("4_ic616")
|
||||
stream_2/stream = ExtResource("5_dx175")
|
||||
stream_3/stream = ExtResource("6_u7jgg")
|
||||
stream_4/stream = ExtResource("7_bu430")
|
||||
stream_5/stream = ExtResource("8_gnu24")
|
||||
stream_6/stream = ExtResource("9_vmxy4")
|
||||
stream_7/stream = ExtResource("10_aqih4")
|
||||
stream_8/stream = ExtResource("11_kb03l")
|
||||
stream_9/stream = ExtResource("12_kka6u")
|
||||
|
||||
[node name="trashObject" type="Sprite2D"]
|
||||
texture = ExtResource("1_k4ca3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(57, 493, 334, 475)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("2_gcgfd")]
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_dich4")
|
||||
bus = &"SFX"
|
||||
playback_type = 2
|
||||
script = ExtResource("13_wswkg")
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="queue_free"]
|
||||
[connection signal="Interacted" from="InteractionArea" to="AudioStreamPlayer2D" method="PlayOneShot"]
|
||||
@@ -458,6 +458,7 @@ expand_mode = 1
|
||||
[node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")]
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
|
||||
@@ -471,7 +471,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://3pj2q7wtuion" path="res://art/farm/farming/farmobjekte/hoe.png" id="815_1ia2b"]
|
||||
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="816_1a3c1"]
|
||||
[ext_resource type="Script" uid="uid://bcskt5ckh3rqa" path="res://scripts/CSharp/Common/Farming/FarmingControls2D.cs" id="817_6nrw3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="818_16w6h"]
|
||||
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/tomato_field.tscn" id="818_16w6h"]
|
||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_cus02"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_msuq8"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_21et0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_4k6eh"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_rrmd3"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yi42k"]
|
||||
resource_local_to_scene = true
|
||||
radius = 201.345
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
|
||||
resource_local_to_scene = true
|
||||
radius = 194.926
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_femni")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_femni")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_cus02"), ExtResource("4_msuq8"), ExtResource("5_21et0")])
|
||||
Tilled = ExtResource("6_4k6eh")
|
||||
Watered = ExtResource("7_rrmd3")
|
||||
_growingCollider = NodePath("BasePlant/InteractionArea")
|
||||
|
||||
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
|
||||
_field = NodePath("..")
|
||||
|
||||
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
|
||||
position = Vector2(6, -161)
|
||||
|
||||
[node name="InteractionArea" parent="FieldBehaviour/BasePlant" index="3"]
|
||||
z_index = 3
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/InteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_yi42k")
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_femni")
|
||||
|
||||
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
|
||||
position = Vector2(0, -291.3)
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_msuq8")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_4k6eh")
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
|
||||
|
||||
[editable path="FieldBehaviour/BasePlant"]
|
||||
[editable path="FieldBehaviour/BasePlant/InteractionArea"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,87 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://d4m5iy5mwqpq3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_tp1yj"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_c6u1a"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_b5av1"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_yav45"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_pdgar"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_a35l4"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_us3kg"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/beet_plant.tscn" id="8_tgwxi"]
|
||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="9_b5av1"]
|
||||
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="10_yav45"]
|
||||
[ext_resource type="Script" uid="uid://drle5aies8ye4" path="res://scripts/GdScript/dialogic_event_forward.gd" id="11_yav45"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tp1yj"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_tp1yj")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_c6u1a")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_b5av1"), ExtResource("4_yav45"), ExtResource("5_pdgar")])
|
||||
Tilled = ExtResource("6_a35l4")
|
||||
Watered = ExtResource("7_us3kg")
|
||||
_growingCollider = NodePath("../InteractionArea2")
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_yav45")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_a35l4")
|
||||
|
||||
[node name="BeetRoot" parent="FieldBehaviour" node_paths=PackedStringArray("_smallPlants", "_field") groups=["PlantGrowing"] instance=ExtResource("8_tgwxi")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
|
||||
_state = 2
|
||||
_field = NodePath("..")
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BeetRoot/BigPlant" index="0"]
|
||||
visible = true
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_tp1yj")
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="0"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="02" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="1"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="03" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="2"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="04" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="3"]
|
||||
scale = Vector2(3, 3)
|
||||
|
||||
[node name="dialogic-starter" type="Node2D" parent="."]
|
||||
script = ExtResource("9_b5av1")
|
||||
|
||||
[node name="DialogicOverlay" type="Node2D" parent="dialogic-starter"]
|
||||
script = ExtResource("10_yav45")
|
||||
_timelinesToPlay = PackedStringArray("talk_to_plant")
|
||||
_startOnReady = false
|
||||
|
||||
[node name="DialogicEventListener" type="Node" parent="dialogic-starter"]
|
||||
script = ExtResource("11_yav45")
|
||||
eventName = "MagicWord"
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicOverlay" method="ToggleDialogue"]
|
||||
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicEventListener" method="_register"]
|
||||
[connection signal="Dialogue" from="dialogic-starter/DialogicOverlay" to="dialogic-starter" method="open"]
|
||||
[connection signal="dialogicEventTriggered" from="dialogic-starter/DialogicEventListener" to="FieldBehaviour/BeetRoot" method="SayMagicWord"]
|
||||
|
||||
[editable path="FieldBehaviour/BeetRoot"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,205 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c3hwbwo423nbm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_0kfos"]
|
||||
[ext_resource type="Texture2D" uid="uid://xtci0n8tquc0" path="res://art/farm/farming/farmobjekte/beetroot_00.png" id="2_rvwu0"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_up8td"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="4_cfgyx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="5_25lcb"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="6_aml5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="7_rvwu0"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
|
||||
shader = ExtResource("3_up8td")
|
||||
shader_parameter/speed = 3.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.36
|
||||
shader_parameter/strengthScale = 100.0
|
||||
shader_parameter/interval = 3.5
|
||||
shader_parameter/detail = 1.0
|
||||
shader_parameter/distortion = 0.0
|
||||
shader_parameter/heightOffset = 0.635
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2tt5u"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BeetRoot" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_0kfos")
|
||||
_seeds = [NodePath("Seeds/BeetSeet"), NodePath("Seeds/BeetSeet2"), NodePath("Seeds/BeetSeet3")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
|
||||
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
|
||||
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
|
||||
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
|
||||
_magicEffect = NodePath("magic vfx")
|
||||
|
||||
[node name="Seeds" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
|
||||
[node name="BeetSeet" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(166, 289, 28, 38)
|
||||
|
||||
[node name="BeetSeet2" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(166, 289, 28, 38)
|
||||
|
||||
[node name="BeetSeet3" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(243, 207, 35, 69)
|
||||
|
||||
[node name="SmallPlant" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="SmallPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(37, 178, 72, 116)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="SmallPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(313, 179, 73, 115)
|
||||
|
||||
[node name="BigPlant" type="Node2D" parent="."]
|
||||
position = Vector2(0, 2)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(6, 5, 136, 151)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(148, 58, 111, 140)
|
||||
|
||||
[node name="03" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(264, 4, 131, 152)
|
||||
|
||||
[node name="04" type="Sprite2D" parent="BigPlant"]
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(18, 311, 129, 142)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("4_cfgyx")]
|
||||
position = Vector2(0, 2.3)
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("5_25lcb")]
|
||||
position = Vector2(0, 2.3)
|
||||
IsActive = false
|
||||
|
||||
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
|
||||
_blueprint = ExtResource("6_aml5p")
|
||||
|
||||
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
|
||||
visible = false
|
||||
|
||||
[node name="PickupErrorLabel" parent="ReadyPlantInventoryItem" index="2"]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2tt5u")
|
||||
|
||||
[node name="Icon" parent="ReadyPlantInventoryItem" index="4"]
|
||||
visible = false
|
||||
|
||||
[node name="ReadyPlant" type="Node2D" parent="ReadyPlantInventoryItem"]
|
||||
|
||||
[node name="01" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(18, 311, 129, 142)
|
||||
|
||||
[node name="02" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(6, 5, 136, 151)
|
||||
|
||||
[node name="03" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(264, 4, 131, 152)
|
||||
|
||||
[node name="04" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rvwu0")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(148, 58, 111, 140)
|
||||
|
||||
[node name="magic vfx" type="CPUParticles2D" parent="."]
|
||||
position = Vector2(-133, -347)
|
||||
rotation = -0.333807
|
||||
emitting = false
|
||||
amount = 20
|
||||
texture = ExtResource("7_rvwu0")
|
||||
lifetime = 0.5
|
||||
randomness = 1.0
|
||||
local_coords = true
|
||||
draw_order = 1
|
||||
emission_shape = 2
|
||||
emission_sphere_radius = 128.0
|
||||
linear_accel_min = 44.07
|
||||
linear_accel_max = 78.81
|
||||
scale_amount_min = 0.01
|
||||
scale_amount_max = 0.1
|
||||
color = Color(0.400601, 0.62444, 0.791217, 1)
|
||||
hue_variation_max = 0.4
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
|
||||
|
||||
[editable path="ReadyPlantInventoryItem"]
|
||||
[editable path="ReadyPlantInventoryItem/InteractionArea2"]
|
||||
@@ -0,0 +1,60 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://b1d2e7ely6hyw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_vl3uw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_uqkef"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_di17a"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_4a8nv"]
|
||||
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_l7j4c"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_f504p"]
|
||||
[ext_resource type="PackedScene" uid="uid://gishbn0a8eke" path="res://prefabs/farm/tomato_plant.tscn" id="8_jrdc4"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_jrdc4"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_l0vvv"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
scale = Vector2(0.9, 1)
|
||||
script = ExtResource("2_vl3uw")
|
||||
_fieldSprite = NodePath("MaskedField/FieldTexture")
|
||||
_maskSprite = NodePath("MaskedField")
|
||||
_maskTexture = Array[Texture2D]([ExtResource("3_uqkef"), ExtResource("4_di17a"), ExtResource("5_4a8nv")])
|
||||
Tilled = ExtResource("6_l7j4c")
|
||||
Watered = ExtResource("7_f504p")
|
||||
_growingCollider = NodePath("BasePlant2/GrowingInteractionArea")
|
||||
|
||||
[node name="BasePlant2" parent="FieldBehaviour" node_paths=PackedStringArray("_field") groups=["PlantGrowing"] instance=ExtResource("8_jrdc4")]
|
||||
_field = NodePath("..")
|
||||
_magicWordNeeded = false
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/GrowingInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_jrdc4")
|
||||
|
||||
[node name="Label" parent="FieldBehaviour/BasePlant2/GrowingInteractionArea" index="1"]
|
||||
text = "[E] Grow
|
||||
"
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_l0vvv")
|
||||
|
||||
[node name="Label" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea" index="1"]
|
||||
text = "[E] Harvest"
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
texture = ExtResource("4_di17a")
|
||||
|
||||
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
|
||||
texture = ExtResource("6_l7j4c")
|
||||
|
||||
[editable path="FieldBehaviour/BasePlant2"]
|
||||
[editable path="FieldBehaviour/BasePlant2/GrowingInteractionArea"]
|
||||
[editable path="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea"]
|
||||
@@ -1,16 +1,17 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c3hwbwo423nbm"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://gishbn0a8eke"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_tikj4"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="2_goh03"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_rmjrk"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_goh03"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_u4cty"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_tikj4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_u4cty"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_yntkb"]
|
||||
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_66p1c"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_vjw4j"]
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_7hdur"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="4_hmj2d"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_3j24b"]
|
||||
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_gdrin"]
|
||||
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_di4m0"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="8_evgr8"]
|
||||
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="9_vjw4j"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
|
||||
shader = ExtResource("2_goh03")
|
||||
shader = ExtResource("3_7hdur")
|
||||
shader_parameter/speed = 3.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.36
|
||||
@@ -21,19 +22,24 @@ shader_parameter/distortion = 0.0
|
||||
shader_parameter/heightOffset = 0.635
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2tt5u"]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_vjw4j"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant")]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_7hdur"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_tikj4")
|
||||
script = ExtResource("1_66p1c")
|
||||
_seeds = [NodePath("Seeds/TomatoSeed"), NodePath("Seeds/TomatoSeed2"), NodePath("Seeds/TomatoSeed3")]
|
||||
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), NodePath("SmallPlant/03"), NodePath("SmallPlant/04")]
|
||||
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
|
||||
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
|
||||
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
|
||||
_magicEffect = NodePath("magic vfx")
|
||||
|
||||
[node name="Seeds" type="Node2D" parent="."]
|
||||
position = Vector2(0, 0.5)
|
||||
@@ -41,7 +47,7 @@ position = Vector2(0, 0.5)
|
||||
[node name="TomatoSeed" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-2, 15, 85, 81)
|
||||
@@ -49,7 +55,7 @@ region_rect = Rect2(-2, 15, 85, 81)
|
||||
[node name="TomatoSeed2" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(15, 177, 84, 108)
|
||||
@@ -57,7 +63,7 @@ region_rect = Rect2(15, 177, 84, 108)
|
||||
[node name="TomatoSeed3" type="Sprite2D" parent="Seeds"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
flip_v = true
|
||||
region_enabled = true
|
||||
region_rect = Rect2(3, 337, 85, 82)
|
||||
@@ -69,7 +75,7 @@ position = Vector2(0, 0.5)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(203, 1, 128, 164)
|
||||
|
||||
@@ -77,7 +83,7 @@ region_rect = Rect2(203, 1, 128, 164)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(218, 204, 112, 130)
|
||||
|
||||
@@ -85,7 +91,7 @@ region_rect = Rect2(218, 204, 112, 130)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(224, 399, 105, 105)
|
||||
|
||||
@@ -93,18 +99,18 @@ region_rect = Rect2(224, 399, 105, 105)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("2_rmjrk")
|
||||
texture = ExtResource("2_vjw4j")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(228, 600, 85, 92)
|
||||
|
||||
[node name="BigPlant" type="Node2D" parent="."]
|
||||
position = Vector2(0, 2)
|
||||
position = Vector2(0, -300)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="BigPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-8, 1, 498, 682)
|
||||
|
||||
@@ -112,7 +118,7 @@ region_rect = Rect2(-8, 1, 498, 682)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(575, 82, 516, 591)
|
||||
|
||||
@@ -120,7 +126,7 @@ region_rect = Rect2(575, 82, 516, 591)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(-25, 694, 521, 687)
|
||||
|
||||
@@ -128,39 +134,51 @@ region_rect = Rect2(-25, 694, 521, 687)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("3_goh03")
|
||||
texture = ExtResource("4_hmj2d")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(546, 697, 535, 687)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("5_tikj4")]
|
||||
[node name="GrowingInteractionArea" parent="." instance=ExtResource("5_3j24b")]
|
||||
position = Vector2(0, 2.3)
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_u4cty")]
|
||||
[node name="CollisionShape3D" parent="GrowingInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_vjw4j")
|
||||
|
||||
[node name="Label" parent="GrowingInteractionArea" index="1"]
|
||||
text = "[E] Grow"
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_gdrin")]
|
||||
position = Vector2(0, 2.3)
|
||||
IsActive = false
|
||||
|
||||
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
|
||||
_blueprint = ExtResource("7_yntkb")
|
||||
_blueprint = ExtResource("7_di4m0")
|
||||
|
||||
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
|
||||
visible = false
|
||||
z_index = 100
|
||||
text = "[E] harvest"
|
||||
|
||||
[node name="PickupErrorLabel" parent="ReadyPlantInventoryItem" index="2"]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2tt5u")
|
||||
[node name="PickupInteractionArea" parent="ReadyPlantInventoryItem" index="3"]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_7hdur")
|
||||
|
||||
[node name="Icon" parent="ReadyPlantInventoryItem" index="4"]
|
||||
visible = false
|
||||
|
||||
[node name="ReadyPlant" type="Node2D" parent="ReadyPlantInventoryItem"]
|
||||
position = Vector2(0, -400)
|
||||
|
||||
[node name="01" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(399, 3, 679, 808)
|
||||
|
||||
@@ -168,7 +186,7 @@ region_rect = Rect2(399, 3, 679, 808)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(1077, 109, 633, 695)
|
||||
|
||||
@@ -176,7 +194,7 @@ region_rect = Rect2(1077, 109, 633, 695)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(415, 838, 639, 817)
|
||||
|
||||
@@ -184,11 +202,31 @@ region_rect = Rect2(415, 838, 639, 817)
|
||||
visible = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_u4cty")
|
||||
texture = ExtResource("4_u4cty")
|
||||
texture = ExtResource("8_evgr8")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(1167, 863, 528, 785)
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
|
||||
[node name="magic vfx" type="CPUParticles2D" parent="."]
|
||||
position = Vector2(-133, -347)
|
||||
rotation = -0.333807
|
||||
emitting = false
|
||||
amount = 20
|
||||
texture = ExtResource("9_vjw4j")
|
||||
lifetime = 0.5
|
||||
randomness = 1.0
|
||||
local_coords = true
|
||||
draw_order = 1
|
||||
emission_shape = 2
|
||||
emission_sphere_radius = 128.0
|
||||
linear_accel_min = 44.07
|
||||
linear_accel_max = 78.81
|
||||
scale_amount_min = 0.01
|
||||
scale_amount_max = 0.1
|
||||
color = Color(0.400601, 0.62444, 0.791217, 1)
|
||||
hue_variation_max = 0.4
|
||||
|
||||
[connection signal="Interacted" from="GrowingInteractionArea" to="." method="Grow"]
|
||||
|
||||
[editable path="GrowingInteractionArea"]
|
||||
[editable path="ReadyPlantInventoryItem"]
|
||||
[editable path="ReadyPlantInventoryItem/InteractionArea2"]
|
||||
[editable path="ReadyPlantInventoryItem/PickupInteractionArea"]
|
||||
@@ -43,12 +43,12 @@ theme = SubResource("Theme_harr4")
|
||||
text = "thewe waf a pwoblem wiph picking up te item UWU"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("4_xu8me")]
|
||||
[node name="PickupInteractionArea" parent="." instance=ExtResource("4_xu8me")]
|
||||
|
||||
[node name="CollisionShape3D" parent="InteractionArea2/Area2D" index="0"]
|
||||
[node name="CollisionShape3D" parent="PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_tlhp6")
|
||||
|
||||
[node name="Label" parent="InteractionArea2" index="1"]
|
||||
[node name="Label" parent="PickupInteractionArea" index="1"]
|
||||
z_index = 5
|
||||
offset_left = -68.0
|
||||
offset_top = -111.0
|
||||
@@ -62,6 +62,6 @@ position = Vector2(5, -300)
|
||||
scale = Vector2(0.868852, 0.868852)
|
||||
texture = ExtResource("5_harr4")
|
||||
|
||||
[connection signal="Interacted" from="InteractionArea2" to="." method="TryPickUp"]
|
||||
[connection signal="Interacted" from="PickupInteractionArea" to="." method="TryPickUp"]
|
||||
|
||||
[editable path="InteractionArea2"]
|
||||
[editable path="PickupInteractionArea"]
|
||||
|
||||
@@ -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"]
|
||||
+57
-4
@@ -24,12 +24,12 @@ buses/default_bus_layout="uid://b6dwkmkyb0axk"
|
||||
|
||||
[autoload]
|
||||
|
||||
SceneTransition="*res://scenes/SceneTransition.tscn"
|
||||
Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"
|
||||
InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs"
|
||||
QuestManager="*res://scripts/CSharp/Common/Quest/QuestManager.cs"
|
||||
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
||||
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
|
||||
SceneTransition="*res://scenes/SceneTransition.tscn"
|
||||
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
||||
QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn"
|
||||
|
||||
[dialogic]
|
||||
|
||||
@@ -57,14 +57,18 @@ directories/dtl_directory={
|
||||
"quest5_forest_end": "res://dialog/quest5_forest_end.dtl",
|
||||
"quest5_forest_start": "res://dialog/quest5_forest_start.dtl",
|
||||
"semi_cat": "res://dialog/semi_cat.dtl",
|
||||
"talk_to_plant": "res://dialog/talk_to_plant.dtl",
|
||||
"test_time_line": "res://dialog/test_time_line.dtl",
|
||||
"yeli_intro_01": "res://dialog/yeli_intro_01.dtl",
|
||||
"yeli_intro_02": "res://dialog/yeli_intro_02.dtl",
|
||||
"yeli_intro_03": "res://dialog/yeli_intro_03.dtl",
|
||||
"yeli_intro_04": "res://dialog/yeli_intro_04.dtl",
|
||||
"yeli_intro_05": "res://dialog/yeli_intro_05.dtl"
|
||||
"yeli_intro_05": "res://dialog/yeli_intro_05.dtl",
|
||||
"yeli_quest_select": "res://dialog/yeli_quest_select.dtl"
|
||||
}
|
||||
variables={
|
||||
"ACTIVEQUEST": "none",
|
||||
"MAGICWORD": "Hokus Pokus!s",
|
||||
"PLAYERMOOD": "Good",
|
||||
"SHOW": "IGF"
|
||||
}
|
||||
@@ -103,6 +107,55 @@ translation/id_counter=22
|
||||
translation/locales=["de", "en"]
|
||||
text/autopauses={}
|
||||
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]
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[gd_resource type="Resource" script_class="ItemResource" load_steps=3 format=3 uid="uid://0mnsr4anoaiq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://b5ade1s2ijunu" path="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png" id="1_wddc8"]
|
||||
[ext_resource type="Script" uid="uid://cbskymrxs6ksu" path="res://scripts/CSharp/Common/Inventory/ItemResource.cs" id="2_5t85d"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_5t85d")
|
||||
name = "Tomato"
|
||||
color = Color(0.451671, 0.0462732, 0.396459, 1)
|
||||
icon = ExtResource("1_wddc8")
|
||||
maxStack = 20
|
||||
metadata/_custom_type_script = "uid://cbskymrxs6ksu"
|
||||
@@ -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"
|
||||
@@ -5,6 +5,5 @@
|
||||
[node name="BabushkaSceneBootstrap" type="Node2D"]
|
||||
|
||||
[node name="BabushkaSceneStartMenu" parent="." instance=ExtResource("1_15ton")]
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn")
|
||||
|
||||
[node name="SceneParent" type="Node" parent="."]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://c52tlxxc480dv"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://cmpw8lhwnwuo6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_f5860"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7atj6ohlmir3" path="res://art/ui/StartScreen/titlescreen.png" id="1_kesja"]
|
||||
[ext_resource type="Texture2D" uid="uid://du612t3xytly3" path="res://art/ui/StartScreen/babushkalog_white.png" id="2_f5860"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfrhmcyhs2i53" path="res://art/ui/UI/WhiteWashBackground.png" id="3_dvwtm"]
|
||||
@@ -9,6 +10,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cwbv2i8ntq15d" path="res://art/logos/FS_Logo_2zeilig_rot.png" id="7_03xwf"]
|
||||
|
||||
[node name="BabushkaSceneCredits" type="Node2D"]
|
||||
script = ExtResource("1_f5860")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_startMenu.tscn")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(1030, 483)
|
||||
@@ -427,3 +430,16 @@ texture = ExtResource("6_l0rmr")
|
||||
position = Vector2(1751, 917)
|
||||
scale = Vector2(0.496692, 0.496693)
|
||||
texture = ExtResource("7_03xwf")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Button" type="Button" parent="CanvasLayer"]
|
||||
anchors_preset = 1
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
offset_left = -75.0
|
||||
offset_bottom = 71.0
|
||||
grow_horizontal = 0
|
||||
alignment = 2
|
||||
|
||||
[connection signal="pressed" from="CanvasLayer/Button" to="." method="LoadScene"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=98 format=3 uid="uid://gigb28qk8t12"]
|
||||
[gd_scene load_steps=107 format=3 uid="uid://gigb28qk8t12"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"]
|
||||
[ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
|
||||
@@ -60,7 +60,13 @@
|
||||
[ext_resource type="Texture2D" uid="uid://lvhbicmwqab5" path="res://art/farm/tilable grounds/böden/fruchtbarer wilder trockender boden.png" id="47_loeum"]
|
||||
[ext_resource type="AudioStream" uid="uid://c43a6x43jkikl" path="res://audio/sfx/Farming/SFX_GettingWater_Well_01_Reverb.wav" id="49_d77e7"]
|
||||
[ext_resource type="Texture2D" uid="uid://blb3agipyxnal" path="res://art/farm/farming/farmobjekte/zaun/fence_door.png" id="49_i36hd"]
|
||||
[ext_resource type="Script" uid="uid://l6iq8rpym5io" path="res://scripts/CSharp/Common/Util/Counter.cs" id="49_uxa2m"]
|
||||
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="51_uxa2m"]
|
||||
[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://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"]
|
||||
shader = ExtResource("13_7p0hq")
|
||||
@@ -149,11 +155,23 @@ size = Vector2(1041, 368)
|
||||
resource_local_to_scene = true
|
||||
radius = 371.058
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2nee2"]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ycj14"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ipqaa"]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2065p"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_tm0yg"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_lbnqo"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_l4wxt"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
@@ -1003,11 +1021,12 @@ y_sort_enabled = true
|
||||
|
||||
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
|
||||
position = Vector2(6403, 3362)
|
||||
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest1_ducks_end", "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")]
|
||||
z_index = 1
|
||||
position = Vector2(-2031, 2949)
|
||||
position = Vector2(9322, 2018)
|
||||
_fieldParent = NodePath("../Farm visuals/FieldParent")
|
||||
_hoe = ExtResource("28_6b2nr")
|
||||
_wateringCan = ExtResource("28_ipqaa")
|
||||
@@ -1046,8 +1065,8 @@ position = Vector2(6095, 2087)
|
||||
[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("26_ipqaa")
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2nee2")
|
||||
[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_ycj14")
|
||||
|
||||
[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
|
||||
position = Vector2(8192, 3507)
|
||||
@@ -1055,11 +1074,8 @@ position = Vector2(8192, 3507)
|
||||
[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("28_ipqaa")
|
||||
|
||||
[node name="InteractionArea2" parent="YSorted/CanGenericPickup" index="3"]
|
||||
position = Vector2(0, -159)
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/CanGenericPickup/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_ipqaa")
|
||||
[node name="CollisionShape3D" parent="YSorted/CanGenericPickup/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2065p")
|
||||
|
||||
[node name="RakeGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
|
||||
position = Vector2(8391, 2060)
|
||||
@@ -1067,8 +1083,8 @@ position = Vector2(8391, 2060)
|
||||
[node name="SpawnWithItem" parent="YSorted/RakeGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("28_6b2nr")
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_ipqaa")
|
||||
[node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_tm0yg")
|
||||
|
||||
[node name="ScytheGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
|
||||
visible = false
|
||||
@@ -1077,8 +1093,8 @@ position = Vector2(15642, 2158)
|
||||
[node name="SpawnWithItem" parent="YSorted/ScytheGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("29_wtdui")
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/ScytheGenericPickup/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_ipqaa")
|
||||
[node name="CollisionShape3D" parent="YSorted/ScytheGenericPickup/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_lbnqo")
|
||||
|
||||
[node name="ShovelGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
|
||||
visible = false
|
||||
@@ -1087,8 +1103,8 @@ position = Vector2(5454, 2049)
|
||||
[node name="SpawnWithItem" parent="YSorted/ShovelGenericPickup" index="0"]
|
||||
_blueprint = ExtResource("27_ipqaa")
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/ShovelGenericPickup/InteractionArea2/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_ipqaa")
|
||||
[node name="CollisionShape3D" parent="YSorted/ShovelGenericPickup/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_l4wxt")
|
||||
|
||||
[node name="Farm visuals" type="Node2D" parent="YSorted"]
|
||||
position = Vector2(-60, 122)
|
||||
@@ -2067,10 +2083,11 @@ rotation = 1.5708
|
||||
scale = Vector2(0.1, 10.8)
|
||||
texture = ExtResource("21_if5vh")
|
||||
|
||||
[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"]
|
||||
[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("_allowedArea")]
|
||||
position = Vector2(53, 20)
|
||||
scale = Vector2(1, 0.993819)
|
||||
script = ExtResource("25_0qu0h")
|
||||
_allowedArea = NodePath("Area2D")
|
||||
metadata/_custom_type_script = "uid://dhxtdhfqx3bte"
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="YSorted/Farm visuals/FieldParent"]
|
||||
@@ -2119,6 +2136,8 @@ position = Vector2(-106.663, 182.891)
|
||||
shape = SubResource("RectangleShape2D_ycj14")
|
||||
|
||||
[node name="ducks" type="Node2D" parent="YSorted"]
|
||||
script = ExtResource("49_uxa2m")
|
||||
_goal = 6
|
||||
|
||||
[node name="Duck2" parent="YSorted/ducks" node_paths=PackedStringArray("_penTarget") instance=ExtResource("62_i36hd")]
|
||||
position = Vector2(4374, 2652)
|
||||
@@ -2150,6 +2169,14 @@ rotation = 3.14159
|
||||
scale = Vector2(1, -1)
|
||||
_penTarget = NodePath("../../pen/penSlot6")
|
||||
|
||||
[node name="DialogicToggle" type="Node2D" parent="YSorted/ducks"]
|
||||
script = ExtResource("51_uxa2m")
|
||||
_timelinesToPlay = PackedStringArray("quest1_ducks_end")
|
||||
_startOnReady = false
|
||||
|
||||
[node name="dialogic starter" type="Node2D" parent="YSorted/ducks"]
|
||||
script = ExtResource("52_lwk6t")
|
||||
|
||||
[node name="pen" type="Node2D" parent="YSorted"]
|
||||
|
||||
[node name="penSlot1" type="Node2D" parent="YSorted/pen"]
|
||||
@@ -2170,6 +2197,44 @@ position = Vector2(-4659, 2897)
|
||||
[node name="penSlot6" type="Node2D" parent="YSorted/pen"]
|
||||
position = Vector2(-5016, 3361)
|
||||
|
||||
[node name="trash" type="Node2D" parent="YSorted"]
|
||||
|
||||
[node name="trashObject" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(1269, 3170)
|
||||
|
||||
[node name="trashObject2" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(3183, 2369)
|
||||
region_rect = Rect2(207, 1184, 149, 142)
|
||||
|
||||
[node name="trashObject3" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(4724, 3519)
|
||||
region_rect = Rect2(400, 1053, 163, 141)
|
||||
|
||||
[node name="trashObject4" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(5385, 3391)
|
||||
region_rect = Rect2(1048, 1092, 348, 106)
|
||||
|
||||
[node name="trashObject5" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(8051, 2541)
|
||||
region_rect = Rect2(531, 1207, 176, 167)
|
||||
|
||||
[node name="trashObject6" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(9629, 3312)
|
||||
region_rect = Rect2(207, 1184, 149, 142)
|
||||
|
||||
[node name="trashObject7" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(12050, 3391)
|
||||
|
||||
[node name="trashObject8" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(14589, 2505)
|
||||
rotation = 1.77025
|
||||
region_rect = Rect2(629, 81, 227, 829)
|
||||
|
||||
[node name="trashObject9" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
|
||||
position = Vector2(15197, 3447)
|
||||
rotation = 1.77025
|
||||
region_rect = Rect2(1048, 1092, 348, 106)
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource("32_2nee2")]
|
||||
|
||||
[node name="Inventory" parent="CanvasLayer" index="1"]
|
||||
@@ -2192,7 +2257,7 @@ offset_right = -456.339
|
||||
offset_bottom = 30.2285
|
||||
|
||||
[node name="Control" parent="CanvasLayer" index="3"]
|
||||
visible = false
|
||||
visible = true
|
||||
|
||||
[node name="Audio" type="Node" parent="."]
|
||||
|
||||
@@ -2235,6 +2300,14 @@ max_distance = 2e+07
|
||||
playback_type = 2
|
||||
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="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"]
|
||||
@@ -2243,18 +2316,22 @@ script = ExtResource("40_w3jkj")
|
||||
[connection signal="InteractedTool" from="YSorted/Farm visuals/Static/EnterHouseInteraction" to="." method="LoadSceneAtIndex"]
|
||||
[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="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
|
||||
[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="ready" from="QuestInstantStart" to="QuestInstantStart/QuestTrigger" method="Trigger"]
|
||||
|
||||
[editable path="YSorted/Vesna"]
|
||||
[editable path="YSorted/Brünnen/InteractionArea"]
|
||||
[editable path="YSorted/HoeGenericPickup"]
|
||||
[editable path="YSorted/HoeGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/HoeGenericPickup/PickupInteractionArea"]
|
||||
[editable path="YSorted/CanGenericPickup"]
|
||||
[editable path="YSorted/CanGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/CanGenericPickup/PickupInteractionArea"]
|
||||
[editable path="YSorted/RakeGenericPickup"]
|
||||
[editable path="YSorted/RakeGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/RakeGenericPickup/PickupInteractionArea"]
|
||||
[editable path="YSorted/ScytheGenericPickup"]
|
||||
[editable path="YSorted/ScytheGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/ScytheGenericPickup/PickupInteractionArea"]
|
||||
[editable path="YSorted/ShovelGenericPickup"]
|
||||
[editable path="YSorted/ShovelGenericPickup/InteractionArea2"]
|
||||
[editable path="YSorted/ShovelGenericPickup/PickupInteractionArea"]
|
||||
[editable path="YSorted/trash/trashObject"]
|
||||
[editable path="CanvasLayer"]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=70 format=3 uid="uid://dfyb4dckoltpw"]
|
||||
[gd_scene load_steps=70 format=3 uid="uid://bb6r385qvyoba"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_vl6d5"]
|
||||
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="3_jrqoq"]
|
||||
@@ -28,7 +28,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://hk8ahyp6dgl6" path="res://prefabs/fight/fight_base_scene.tscn" id="27_55b52"]
|
||||
[ext_resource type="PackedScene" uid="uid://bp64p6y72j71w" path="res://prefabs/fight/fighters/enemy_blob_fighter.tscn" id="27_hfhye"]
|
||||
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="29_3jjxs"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddpl8cbck7e6s" path="res://prefabs/characters/Chugar.tscn" id="29_26tkn"]
|
||||
[ext_resource type="PackedScene" path="res://prefabs/characters/Chugar.tscn" id="29_26tkn"]
|
||||
[ext_resource type="PackedScene" uid="uid://cr66tpdr5rma5" path="res://prefabs/fight/fighters/enemy_mavkha_fighter.tscn" id="29_hfhye"]
|
||||
[ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="30_l10vl"]
|
||||
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="31_c2gvt"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=32 format=3 uid="uid://bm21nqepnwaik"]
|
||||
[gd_scene load_steps=40 format=3 uid="uid://bm21nqepnwaik"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_3vr4f"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="2_ubg3a"]
|
||||
@@ -18,11 +18,18 @@
|
||||
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="15_7a68a"]
|
||||
[ext_resource type="Script" uid="uid://31p67cdowuw4" path="res://scripts/CSharp/Common/Animation/AnimationStarter.cs" id="15_27bwy"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4q12jiligcl7" path="res://art/animals/katze.png" id="15_sndxu"]
|
||||
[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="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_k0k8c"]
|
||||
[ext_resource type="AudioStream" uid="uid://b2cmf5ie7cwka" path="res://audio/sfx/Animals/SFX_Cat_Meow_02.wav" id="17_7a68a"]
|
||||
[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="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://bk1bj01fokjp7" path="res://audio/sfx/Animals/SFX_Cat_Meow_05.wav" id="20_dw4nn"]
|
||||
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="21_blyw3"]
|
||||
[ext_resource type="Resource" uid="uid://cbpurnewhyefa" path="res://resources/quests/beetRoot.tres" id="22_yd2gv"]
|
||||
[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="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"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a2ood"]
|
||||
@@ -33,6 +40,15 @@ size = Vector2(3836, 1086)
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_b6vf7"]
|
||||
streams_count = 6
|
||||
stream_0/stream = ExtResource("16_d7yky")
|
||||
stream_1/stream = ExtResource("17_7a68a")
|
||||
stream_2/stream = ExtResource("18_dhsxs")
|
||||
stream_3/stream = ExtResource("19_k0k8c")
|
||||
stream_4/stream = ExtResource("20_dw4nn")
|
||||
stream_5/stream = ExtResource("21_ytap8")
|
||||
|
||||
[sub_resource type="Animation" id="Animation_j5d18"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
@@ -192,7 +208,7 @@ _data = {
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_wuntg"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
radius = 209.703
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yd2gv"]
|
||||
resource_local_to_scene = true
|
||||
@@ -201,7 +217,7 @@ radius = 472.086
|
||||
[node name="IndoorTest" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_3vr4f")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d.tscn")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn")
|
||||
|
||||
[node name="Foreground" type="Node" parent="."]
|
||||
|
||||
@@ -370,6 +386,11 @@ scale = Vector2(2, 2)
|
||||
texture = ExtResource("15_sndxu")
|
||||
offset = Vector2(-8, -126)
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="BackWall/Katze"]
|
||||
stream = SubResource("AudioStreamRandomizer_b6vf7")
|
||||
bus = &"SFX"
|
||||
script = ExtResource("22_tggq2")
|
||||
|
||||
[node name="Room assets" type="Node" parent="BackWall"]
|
||||
|
||||
[node name="wood" type="Sprite2D" parent="BackWall/Room assets"]
|
||||
@@ -490,15 +511,18 @@ offset = Vector2(0, -296)
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2576, 802, 219, 64)
|
||||
|
||||
[node name="InteractionArea" parent="BackWall" instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-4064, 244)
|
||||
|
||||
[node name="Vesna" parent="." instance=ExtResource("15_7a68a")]
|
||||
position = Vector2(-1464, 136)
|
||||
position = Vector2(-920, 319)
|
||||
|
||||
[node name="Yeli" parent="." instance=ExtResource("16_dhsxs")]
|
||||
position = Vector2(-2912, 432)
|
||||
_timelinesToPlay = PackedStringArray("quest3_beets_start")
|
||||
position = Vector2(-1395, 16)
|
||||
_timelinesToPlay = PackedStringArray("yeli_intro_05")
|
||||
|
||||
[node name="CollisionShape3D" parent="Yeli/InteractionArea/Area2D" index="0"]
|
||||
position = Vector2(-205.348, 131.907)
|
||||
position = Vector2(-207.487, 136.185)
|
||||
shape = SubResource("CircleShape2D_wuntg")
|
||||
|
||||
[node name="Label" parent="Yeli/InteractionArea" index="1"]
|
||||
@@ -515,7 +539,6 @@ position = Vector2(-565, 464)
|
||||
|
||||
[node name="dialogic_toggle" type="Node2D" parent="Yeli"]
|
||||
script = ExtResource("17_k0k8c")
|
||||
metadata/_custom_type_script = "uid://cvkw4qd2hxksi"
|
||||
|
||||
[node name="Beetroot Quest trigger" type="Node2D" parent="Yeli"]
|
||||
script = ExtResource("21_blyw3")
|
||||
@@ -550,6 +573,7 @@ _id = 1
|
||||
|
||||
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room01PechkaDoor/InteractionArea" method="ToggleActive"]
|
||||
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room assets/hand" method="PlayAnimation"]
|
||||
[connection signal="Interacted" from="BackWall/InteractionArea" to="BackWall/Katze/AudioStreamPlayer2D" method="PlayOneShot"]
|
||||
[connection signal="timelineEnded" from="Yeli/dialogic_toggle" to="Yeli/Beetroot Quest trigger" method="Trigger"]
|
||||
[connection signal="InteractedTool" from="VesnasRoomDoor" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="InteractedTool" from="OutsideDoor" to="." method="LoadSceneAtIndex"]
|
||||
|
||||
@@ -22,7 +22,7 @@ radius = 509.071
|
||||
[node name="VesnasRoom" type="Node2D"]
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_c6eln")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn", "res://scenes/Babushka_scene_forest_fight_1_2d.tscn")
|
||||
|
||||
[node name="Colliders" type="Node2D" parent="."]
|
||||
position = Vector2(1297, 5292)
|
||||
@@ -96,6 +96,7 @@ _followNode = NodePath("../Vesna/CharacterBody2D")
|
||||
|
||||
[node name="BedInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(-1429, 487)
|
||||
_id = 1
|
||||
|
||||
[node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(777, 201)
|
||||
@@ -104,6 +105,7 @@ _id = 0
|
||||
[node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_2spkc")
|
||||
|
||||
[connection signal="InteractedTool" from="BedInteraction" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="Interacted" from="DoorInteraction" to="." method="LoadScene"]
|
||||
|
||||
[editable path="Vesna"]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,7 @@
|
||||
|
||||
[node name="BabushkaSceneStartMenu" type="Node2D"]
|
||||
script = ExtResource("1_fj2fh")
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_farm_outside_2d.tscn")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
|
||||
@@ -63,8 +63,7 @@ public partial class FieldBehaviour2D : Sprite2D
|
||||
|
||||
public void Water()
|
||||
{
|
||||
FieldState = FieldState.Watered;
|
||||
_fieldSprite.Texture = Watered;
|
||||
UpdateFieldState(FieldState.Watered);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -26,8 +26,12 @@ public partial class PlantBehaviour2D : Node2D
|
||||
[Export] private PlantState _state = PlantState.None;
|
||||
[Export] private FieldBehaviour2D _field;
|
||||
[Export] private ItemOnGround2D _harvestablePlant;
|
||||
[Export] private CpuParticles2D _magicEffect;
|
||||
[Export] private bool _magicWordNeeded = true;
|
||||
|
||||
private string _magicWordDialogicEventName = "MagicWord";
|
||||
private Sprite2D _currentPlantSprite = null;
|
||||
private bool _magicWordSaid = false;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -35,11 +39,12 @@ public partial class PlantBehaviour2D : Node2D
|
||||
/// </summary>
|
||||
public void Grow()
|
||||
{
|
||||
if (_field.FieldState != FieldState.Watered)
|
||||
if (_field.FieldState != FieldState.Watered || _magicWordSaid != _magicWordNeeded)
|
||||
return;
|
||||
|
||||
GetTree().CallGroup("PlantGrowing", Player2D.MethodName.PlayFarmingAnimation);
|
||||
|
||||
// todo:
|
||||
// find out why the last plant stage is being skipped the second time around
|
||||
switch (_state)
|
||||
{
|
||||
case PlantState.None:
|
||||
@@ -63,19 +68,21 @@ public partial class PlantBehaviour2D : Node2D
|
||||
_state = PlantState.Ready;
|
||||
_currentPlantSprite.Visible = false;
|
||||
_currentPlantSprite = GetRandomSprite(_readyPlants);
|
||||
_harvestablePlant.IsActive = true;
|
||||
_currentPlantSprite.Visible = true;
|
||||
ActivatePickupAfterDelay(true);
|
||||
break;
|
||||
case PlantState.Ready:
|
||||
_state = PlantState.None;
|
||||
_currentPlantSprite.Visible = false;
|
||||
_currentPlantSprite = null;
|
||||
ActivatePickupAfterDelay(false);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
_field.UpdateFieldState(FieldState.Tilled);
|
||||
_magicWordSaid = false;
|
||||
}
|
||||
|
||||
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
|
||||
@@ -83,4 +90,27 @@ public partial class PlantBehaviour2D : Node2D
|
||||
Random rand = new Random();
|
||||
return sprites[rand.Next(sprites.Length)];
|
||||
}
|
||||
|
||||
public async void ActivatePickupAfterDelay(bool activate)
|
||||
{
|
||||
await ToSignal(GetTree().CreateTimer(1.0f), "timeout");
|
||||
SetActiveHarvestablePlant(activate);
|
||||
}
|
||||
|
||||
private void SetActiveHarvestablePlant(bool active)
|
||||
{
|
||||
_harvestablePlant.IsActive = active;
|
||||
_harvestablePlant.UpdateVisuals();
|
||||
}
|
||||
|
||||
public void SayMagicWord(string wordEvent)
|
||||
{
|
||||
if (_magicWordDialogicEventName != wordEvent)
|
||||
return;
|
||||
|
||||
_magicEffect.Emitting = true;
|
||||
_magicEffect.OneShot = true;
|
||||
_magicWordSaid = true;
|
||||
Grow();
|
||||
}
|
||||
}
|
||||
@@ -6,9 +6,9 @@ public partial class ItemOnGround2D : Node
|
||||
{
|
||||
private ItemInstance _itemInstance;
|
||||
|
||||
[Export] public bool IsActive = true;
|
||||
[Export] private bool _infiniteSupply = false;
|
||||
[Export] private int _finiteSupply = 1;
|
||||
[Export] public bool IsActive = true;
|
||||
|
||||
private int pickUpCounter = 0;
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ public partial class DialogicOverlayStarter : Node2D
|
||||
public void ToggleDialogue()
|
||||
{
|
||||
ToggleDialogue(_timelinesToPlay[_timelineIndex]);
|
||||
GD.Print("Toggling Dialogue");
|
||||
}
|
||||
|
||||
public void ToggleDialogue(int index)
|
||||
|
||||
@@ -6,7 +6,7 @@ public partial class TalkingCharacter : Node2D
|
||||
{
|
||||
[Export] private AnimatedSprite2D? _sprite;
|
||||
[Export] private string[] _timelinesToPlay;
|
||||
|
||||
[Export] private bool _retriggerSameTimeline = false;
|
||||
|
||||
private bool _isTalking = true;
|
||||
private int _timelineIndex = 0;
|
||||
@@ -32,7 +32,8 @@ public partial class TalkingCharacter : Node2D
|
||||
_sprite.Animation = "talk";
|
||||
_isTalking = true;
|
||||
EmitSignal(SignalName.Talking, _timelinesToPlay[_timelineIndex]);
|
||||
_timelineIndex++;
|
||||
if (!_retriggerSameTimeline)
|
||||
_timelineIndex++;
|
||||
}
|
||||
if (_sprite != null)
|
||||
_sprite.Play();
|
||||
|
||||
@@ -16,13 +16,19 @@ public partial class QuestManager : Node
|
||||
[Signal]
|
||||
public delegate void QuestsChangedEventHandler();
|
||||
|
||||
[Signal]
|
||||
public delegate void DialogicActiveQuestEventHandler(string value);
|
||||
|
||||
[Export(PropertyHint.ArrayType)]
|
||||
public QuestResource[] questsAccessibleFromDialogic;
|
||||
|
||||
public override void _EnterTree()
|
||||
{
|
||||
Instance = this;
|
||||
}
|
||||
|
||||
private Godot.Collections.Dictionary<QuestResource, QuestStatus> _questStatus = new();
|
||||
|
||||
|
||||
private QuestResource? _followQuest;
|
||||
|
||||
|
||||
@@ -37,6 +43,7 @@ public partial class QuestManager : Node
|
||||
value.status = newStatus;
|
||||
|
||||
EmitSignalQuestsChanged();
|
||||
EmitSignalDialogicActiveQuest(_followQuest?.id ?? "none");
|
||||
|
||||
if (newStatus == QuestStatus.Status.Active)
|
||||
{
|
||||
@@ -57,7 +64,7 @@ public partial class QuestManager : Node
|
||||
{
|
||||
if (_questStatus.TryGetValue(questResource, out var status))
|
||||
return status;
|
||||
|
||||
|
||||
status = new QuestStatus();
|
||||
_questStatus.Add(questResource, status);
|
||||
return status;
|
||||
@@ -72,5 +79,14 @@ public partial class QuestManager : Node
|
||||
{
|
||||
_followQuest = questResource;
|
||||
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
|
||||
{
|
||||
Hidden,
|
||||
Active,
|
||||
Done,
|
||||
Canceled,
|
||||
Hidden = 0,
|
||||
Active = 1,
|
||||
Done = 2,
|
||||
Canceled = 3,
|
||||
}
|
||||
|
||||
public Status status = Status.Hidden;
|
||||
|
||||
@@ -13,6 +13,7 @@ public partial class MVPDuck : Node2D
|
||||
[Export] private AnimationPlayer _animationPlayer;
|
||||
[Export] private string _flapAnimationName = "flapFlap";
|
||||
|
||||
[Signal] public delegate void DuckCollectedEventHandler();
|
||||
|
||||
public void TransferToTargetAfterDelay()
|
||||
{
|
||||
@@ -28,8 +29,10 @@ public partial class MVPDuck : Node2D
|
||||
|
||||
public async void MoveAfterDelay()
|
||||
{
|
||||
await ToSignal(GetTree().CreateTimer(1.0f), "timeout"); // 1.0f seconds
|
||||
Position = _penTarget.GlobalPosition; // Now this works!
|
||||
await ToSignal(GetTree().CreateTimer(1.0f), "timeout");
|
||||
if(!_penTarget.Equals(null))
|
||||
Position = _penTarget.GlobalPosition;
|
||||
EmitSignal(SignalName.DuckCollected);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Util;
|
||||
|
||||
public partial class Counter : Node2D
|
||||
{
|
||||
[Export] private int _startFrom = 0;
|
||||
[Export] private int _goal = 0;
|
||||
|
||||
private int _counter;
|
||||
|
||||
[Signal] public delegate void CounterChangedEventHandler(int amount);
|
||||
[Signal] public delegate void GoalReachedEventHandler();
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_counter = _startFrom;
|
||||
}
|
||||
|
||||
public void Increment()
|
||||
{
|
||||
_counter++;
|
||||
EmitSignal(SignalName.CounterChanged, _counter);
|
||||
|
||||
GD.Print(_counter);
|
||||
if (_counter == _goal)
|
||||
{
|
||||
GD.Print("Emitting goal reached signal");
|
||||
EmitSignal(SignalName.GoalReached);
|
||||
}
|
||||
}
|
||||
|
||||
public void Decrement()
|
||||
{
|
||||
_counter--;
|
||||
EmitSignal(SignalName.CounterChanged, _counter);
|
||||
|
||||
if (_counter == _goal)
|
||||
{
|
||||
EmitSignal(SignalName.GoalReached);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://l6iq8rpym5io
|
||||
@@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
@export var eventName : String
|
||||
|
||||
signal dialogicEventTriggered(name)
|
||||
|
||||
func _ready():
|
||||
Dialogic.signal_event.connect(_on_dialogic_signal)
|
||||
|
||||
func _on_dialogic_signal(argument:String):
|
||||
if argument == eventName:
|
||||
dialogicEventTriggered.emit(argument)
|
||||
@@ -0,0 +1 @@
|
||||
uid://drle5aies8ye4
|
||||
@@ -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