diff --git a/.idea/.idea.Babushka/.idea/AndroidProjectSystem.xml b/.idea/.idea.Babushka/.idea/AndroidProjectSystem.xml deleted file mode 100644 index e82600c..0000000 --- a/.idea/.idea.Babushka/.idea/AndroidProjectSystem.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Babushka.sln.DotSettings.user b/Babushka.sln.DotSettings.user index 2de0701..349fb41 100644 --- a/Babushka.sln.DotSettings.user +++ b/Babushka.sln.DotSettings.user @@ -1,12 +1,15 @@  ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded \ No newline at end of file diff --git a/addons/babushkahelpers/babushka_dialogue_style.tres b/addons/babushkahelpers/babushka_dialogue_style.tres new file mode 100644 index 0000000..ec319c2 --- /dev/null +++ b/addons/babushkahelpers/babushka_dialogue_style.tres @@ -0,0 +1,68 @@ +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=18 format=3 uid="uid://b2fmyjrydbg57"] + +[ext_resource type="Script" uid="uid://dfx2htp24tuvm" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_hr3vo"] +[ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_cpmol"] +[ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="3_12uyf"] +[ext_resource type="PackedScene" uid="uid://by6waso0mjpjp" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_SpeakerPortraitTextbox/textbox_with_speaker_portrait.tscn" id="4_ncyk4"] +[ext_resource type="PackedScene" uid="uid://dsbwnp5hegnu3" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Glossary/glossary_popup_layer.tscn" id="5_qg2g4"] +[ext_resource type="PackedScene" uid="uid://dhk6j6eb6e3q" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/vn_choice_layer.tscn" id="6_c5ex4"] +[ext_resource type="PackedScene" uid="uid://cvgf4c6gg0tsy" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_TextInput/text_input_layer.tscn" id="7_bopa1"] +[ext_resource type="PackedScene" uid="uid://lx24i8fl6uo" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_History/history_layer.tscn" id="8_oycnw"] +[ext_resource type="Script" uid="uid://b14h380mah4av" path="res://addons/dialogic/Resources/dialogic_style.gd" id="9_i6i1n"] + +[sub_resource type="Resource" id="Resource_w535h"] +script = ExtResource("1_hr3vo") +overrides = {} + +[sub_resource type="Resource" id="Resource_j3dy5"] +script = ExtResource("1_hr3vo") +scene = ExtResource("2_cpmol") +overrides = {} + +[sub_resource type="Resource" id="Resource_d5o1r"] +script = ExtResource("1_hr3vo") +scene = ExtResource("3_12uyf") +overrides = {} + +[sub_resource type="Resource" id="Resource_g7mor"] +script = ExtResource("1_hr3vo") +scene = ExtResource("4_ncyk4") +overrides = {} + +[sub_resource type="Resource" id="Resource_wgjgg"] +script = ExtResource("1_hr3vo") +scene = ExtResource("5_qg2g4") +overrides = {} + +[sub_resource type="Resource" id="Resource_45hxc"] +script = ExtResource("1_hr3vo") +scene = ExtResource("6_c5ex4") +overrides = {} + +[sub_resource type="Resource" id="Resource_c53vn"] +script = ExtResource("1_hr3vo") +scene = ExtResource("7_bopa1") +overrides = {} + +[sub_resource type="Resource" id="Resource_n6k7j"] +script = ExtResource("1_hr3vo") +scene = ExtResource("8_oycnw") +overrides = {} + +[resource] +script = ExtResource("9_i6i1n") +name = "babushka_dialogue_style" +layer_list = Array[String](["10", "11", "12", "13", "14", "15", "16"]) +layer_info = { +"": SubResource("Resource_w535h"), +"10": SubResource("Resource_j3dy5"), +"11": SubResource("Resource_d5o1r"), +"12": SubResource("Resource_g7mor"), +"13": SubResource("Resource_wgjgg"), +"14": SubResource("Resource_45hxc"), +"15": SubResource("Resource_c53vn"), +"16": SubResource("Resource_n6k7j") +} +base_overrides = {} +layers = Array[ExtResource("1_hr3vo")]([]) +metadata/_latest_layer = "" diff --git a/addons/dialogic/vesna_style.tres b/addons/dialogic/vesna_style.tres new file mode 100644 index 0000000..89a40f3 --- /dev/null +++ b/addons/dialogic/vesna_style.tres @@ -0,0 +1,105 @@ +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=21 format=3 uid="uid://benfqi2myyn58"] + +[ext_resource type="Script" uid="uid://dfx2htp24tuvm" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_kc0s3"] +[ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_wjopr"] +[ext_resource type="PackedScene" uid="uid://cy1y14inwkplb" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Portraits/vn_portrait_layer.tscn" id="3_depsi"] +[ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="4_wy5ku"] +[ext_resource type="PackedScene" uid="uid://bquja8jyk8kbr" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Textbox/vn_textbox_layer.tscn" id="5_6srh5"] +[ext_resource type="PackedScene" uid="uid://dsbwnp5hegnu3" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Glossary/glossary_popup_layer.tscn" id="6_iipq0"] +[ext_resource type="PackedScene" uid="uid://dhk6j6eb6e3q" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Choices/vn_choice_layer.tscn" id="7_jxwbe"] +[ext_resource type="PackedScene" uid="uid://cvgf4c6gg0tsy" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_TextInput/text_input_layer.tscn" id="8_4ig6v"] +[ext_resource type="PackedScene" uid="uid://lx24i8fl6uo" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_History/history_layer.tscn" id="9_gni8k"] +[ext_resource type="Script" uid="uid://b14h380mah4av" path="res://addons/dialogic/Resources/dialogic_style.gd" id="10_l174f"] + +[sub_resource type="Resource" id="Resource_qnla8"] +script = ExtResource("1_kc0s3") +overrides = { +"global_bg_color": "Color(0.898039, 0.917647, 0.835294, 1)", +"global_font_color": "Color(0.258824, 0.12549, 0.054902, 1)", +"global_font_size": "30.0" +} + +[sub_resource type="Resource" id="Resource_awdqn"] +script = ExtResource("1_kc0s3") +scene = ExtResource("2_wjopr") +overrides = {} + +[sub_resource type="Resource" id="Resource_5pou4"] +script = ExtResource("1_kc0s3") +scene = ExtResource("3_depsi") +overrides = {} + +[sub_resource type="Resource" id="Resource_6xrvb"] +script = ExtResource("1_kc0s3") +scene = ExtResource("4_wy5ku") +overrides = {} + +[sub_resource type="Resource" id="Resource_k1327"] +script = ExtResource("1_kc0s3") +scene = ExtResource("5_6srh5") +overrides = { +"box_animation_in": "1", +"box_animation_out": "1", +"box_panel": "\"vn_textbox_default_panel.tres\"", +"name_label_box_modulate": "Color(1, 1, 1, 1)", +"name_label_box_panel": "\"res://dialog/Babushka_NPC_Namebox_background.tres\"", +"name_label_custom_font_size": "30.0", +"name_label_use_global_color": "false", +"next_indicator_enabled": "false", +"text_alignment": "1", +"text_size": "40.0", +"typing_sounds_end_sound": "\"res://audio/sfx/UI/Dialog/SFX_Dialog_Open_01.wav\"", +"typing_sounds_sounds_folder": "\"res://audio/sfx/typing\"" +} + +[sub_resource type="Resource" id="Resource_qtijl"] +script = ExtResource("1_kc0s3") +scene = ExtResource("6_iipq0") +overrides = {} + +[sub_resource type="Resource" id="Resource_nalij"] +script = ExtResource("1_kc0s3") +scene = ExtResource("7_jxwbe") +overrides = { +"font_size_custom": "30.0", +"text_color_disabled": "Color(0.605469, 0.605469, 0.605469, 1)", +"text_color_focused": "Color(1, 0.628906, 0.628906, 1)", +"text_color_hovered": "Color(0.882353, 0.572549, 0.572549, 1)", +"text_color_pressed": "Color(1, 0.882812, 0.53125, 1)", +"text_color_use_global": "false" +} + +[sub_resource type="Resource" id="Resource_ymn1b"] +script = ExtResource("1_kc0s3") +scene = ExtResource("8_4ig6v") +overrides = {} + +[sub_resource type="Resource" id="Resource_8j3qh"] +script = ExtResource("1_kc0s3") +scene = ExtResource("9_gni8k") +overrides = {} + +[sub_resource type="Resource" id="Resource_uu1x2"] +script = ExtResource("1_kc0s3") +scene = ExtResource("6_iipq0") +overrides = {} + +[resource] +script = ExtResource("10_l174f") +name = "vesna_style" +layer_list = Array[String](["10", "11", "12", "13", "14", "15", "16", "17", "18"]) +layer_info = { +"": SubResource("Resource_qnla8"), +"10": SubResource("Resource_awdqn"), +"11": SubResource("Resource_5pou4"), +"12": SubResource("Resource_6xrvb"), +"13": SubResource("Resource_k1327"), +"14": SubResource("Resource_qtijl"), +"15": SubResource("Resource_nalij"), +"16": SubResource("Resource_ymn1b"), +"17": SubResource("Resource_8j3qh"), +"18": SubResource("Resource_uu1x2") +} +base_overrides = {} +layers = Array[ExtResource("1_kc0s3")]([]) +metadata/_latest_layer = "13" diff --git a/art/farm/farming/farmobjekte/beetroot/beetroot_icon.png b/art/farm/farming/farmobjekte/beetroot/beetroot_icon.png deleted file mode 100644 index 1adc85d..0000000 Binary files a/art/farm/farming/farmobjekte/beetroot/beetroot_icon.png and /dev/null differ diff --git a/art/farm/farming/farmobjekte/beetroot/beetroot_template.png b/art/farm/farming/farmobjekte/beetroot/beetroot_template.png new file mode 100644 index 0000000..9316351 Binary files /dev/null and b/art/farm/farming/farmobjekte/beetroot/beetroot_template.png differ diff --git a/art/farm/farming/farmobjekte/beetroot/beetroot_icon.png.import b/art/farm/farming/farmobjekte/beetroot/beetroot_template.png.import similarity index 72% rename from art/farm/farming/farmobjekte/beetroot/beetroot_icon.png.import rename to art/farm/farming/farmobjekte/beetroot/beetroot_template.png.import index b844853..2af70d5 100644 --- a/art/farm/farming/farmobjekte/beetroot/beetroot_icon.png.import +++ b/art/farm/farming/farmobjekte/beetroot/beetroot_template.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://b5ade1s2ijunu" -path="res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex" +uid="uid://bmcs8bmwb5nti" +path="res://.godot/imported/beetroot_template.png-fb068996df8536deae290d1895ce0ea5.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"] +source_file="res://art/farm/farming/farmobjekte/beetroot/beetroot_template.png" +dest_files=["res://.godot/imported/beetroot_template.png-fb068996df8536deae290d1895ce0ea5.ctex"] [params] diff --git a/art/farm/farming/farmobjekte/beetroot_01.png b/art/farm/farming/farmobjekte/beetroot_01.png new file mode 100644 index 0000000..276345d Binary files /dev/null and b/art/farm/farming/farmobjekte/beetroot_01.png differ diff --git a/art/ui/UI/icons/icon-seed-tomatoe.png.import b/art/farm/farming/farmobjekte/beetroot_01.png.import similarity index 66% rename from art/ui/UI/icons/icon-seed-tomatoe.png.import rename to art/farm/farming/farmobjekte/beetroot_01.png.import index 25b7b20..e3fe595 100644 --- a/art/ui/UI/icons/icon-seed-tomatoe.png.import +++ b/art/farm/farming/farmobjekte/beetroot_01.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://ce04nexh36uwe" -path="res://.godot/imported/icon-seed-tomatoe.png-f99f14181586ef4f8a8e12cfb3c0a0d0.ctex" +uid="uid://diln6yxym4vsj" +path="res://.godot/imported/beetroot_01.png-c7d0efc83156722c5a904d189bb4c09e.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/ui/UI/icons/icon-seed-tomatoe.png" -dest_files=["res://.godot/imported/icon-seed-tomatoe.png-f99f14181586ef4f8a8e12cfb3c0a0d0.ctex"] +source_file="res://art/farm/farming/farmobjekte/beetroot_01.png" +dest_files=["res://.godot/imported/beetroot_01.png-c7d0efc83156722c5a904d189bb4c09e.ctex"] [params] diff --git a/art/farm/farming/farmobjekte/beetroot_01.png~ b/art/farm/farming/farmobjekte/beetroot_01.png~ new file mode 100644 index 0000000..402683b Binary files /dev/null and b/art/farm/farming/farmobjekte/beetroot_01.png~ differ diff --git a/art/farm/farming/farmobjekte/plant_template.png b/art/farm/farming/farmobjekte/plant_template.png new file mode 100644 index 0000000..fd199bc Binary files /dev/null and b/art/farm/farming/farmobjekte/plant_template.png differ diff --git a/art/farm/farming/farmobjekte/plant_template.png.import b/art/farm/farming/farmobjekte/plant_template.png.import new file mode 100644 index 0000000..11b5f07 --- /dev/null +++ b/art/farm/farming/farmobjekte/plant_template.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mrnc81ukugh6" +path="res://.godot/imported/plant_template.png-37e6b051a10ecd9e81ba89f8794363f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/farm/farming/farmobjekte/plant_template.png" +dest_files=["res://.godot/imported/plant_template.png-37e6b051a10ecd9e81ba89f8794363f1.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 diff --git a/art/farm/farming/farmobjekte/plant_template.png~ b/art/farm/farming/farmobjekte/plant_template.png~ new file mode 100644 index 0000000..b04c879 Binary files /dev/null and b/art/farm/farming/farmobjekte/plant_template.png~ differ diff --git a/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png b/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png index dde86fd..3945bbb 100644 Binary files a/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png and b/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png differ diff --git a/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png~ b/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png~ new file mode 100644 index 0000000..dde86fd Binary files /dev/null and b/art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png~ differ diff --git a/art/farm/farming/farmobjekte/tomaten/tomaten_template.png b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png new file mode 100644 index 0000000..1cc150f Binary files /dev/null and b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png differ diff --git a/art/farm/farming/farmobjekte/tomaten/tomaten_template.png.import b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png.import new file mode 100644 index 0000000..7e3c11c --- /dev/null +++ b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyyxqmphcrjj" +path="res://.godot/imported/tomaten_template.png-ec9351e1f99057077a67ecd23ac43d8c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/farm/farming/farmobjekte/tomaten/tomaten_template.png" +dest_files=["res://.godot/imported/tomaten_template.png-ec9351e1f99057077a67ecd23ac43d8c.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 diff --git a/art/farm/farming/farmobjekte/tomaten/tomaten_template.png~ b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png~ new file mode 100644 index 0000000..a20ca3f Binary files /dev/null and b/art/farm/farming/farmobjekte/tomaten/tomaten_template.png~ differ diff --git a/art/test_tomatos.png.import b/art/test_tomatos.png.import new file mode 100644 index 0000000..821515b --- /dev/null +++ b/art/test_tomatos.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4krfobwq3r3h" +path="res://.godot/imported/test_tomatos.png-46b768c505412676f924a2c122f4df61.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/test_tomatos.png" +dest_files=["res://.godot/imported/test_tomatos.png-46b768c505412676f924a2c122f4df61.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 diff --git a/art/ui/UI/icons/icon-fruit-beetroot.png b/art/ui/UI/icons/icon-fruit-beetroot.png new file mode 100644 index 0000000..50e1b98 Binary files /dev/null and b/art/ui/UI/icons/icon-fruit-beetroot.png differ diff --git a/art/ui/UI/icons/icon-fruit-beetroot.png.import b/art/ui/UI/icons/icon-fruit-beetroot.png.import new file mode 100644 index 0000000..0048f0a --- /dev/null +++ b/art/ui/UI/icons/icon-fruit-beetroot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djewfwrdt4iv3" +path="res://.godot/imported/icon-fruit-beetroot.png-75fa09af63bd298716dc0f3f16587a05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/ui/UI/icons/icon-fruit-beetroot.png" +dest_files=["res://.godot/imported/icon-fruit-beetroot.png-75fa09af63bd298716dc0f3f16587a05.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 diff --git a/art/ui/UI/icons/icon-seed-beetroot.png b/art/ui/UI/icons/icon-seed-beetroot.png new file mode 100644 index 0000000..ad21eb4 Binary files /dev/null and b/art/ui/UI/icons/icon-seed-beetroot.png differ diff --git a/art/ui/UI/icons/icon-seed-beetroot.png.import b/art/ui/UI/icons/icon-seed-beetroot.png.import new file mode 100644 index 0000000..befbc8a --- /dev/null +++ b/art/ui/UI/icons/icon-seed-beetroot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4pa77olxr14q" +path="res://.godot/imported/icon-seed-beetroot.png-2fc33feff3be637327ca65cd50543877.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/ui/UI/icons/icon-seed-beetroot.png" +dest_files=["res://.godot/imported/icon-seed-beetroot.png-2fc33feff3be637327ca65cd50543877.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 diff --git a/art/ui/UI/icons/icon-seed-tomato.png b/art/ui/UI/icons/icon-seed-tomato.png new file mode 100644 index 0000000..7f456ea Binary files /dev/null and b/art/ui/UI/icons/icon-seed-tomato.png differ diff --git a/art/ui/UI/icons/icon-seed-tomato.png.import b/art/ui/UI/icons/icon-seed-tomato.png.import new file mode 100644 index 0000000..d5eb484 --- /dev/null +++ b/art/ui/UI/icons/icon-seed-tomato.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b51j84idxe7hr" +path="res://.godot/imported/icon-seed-tomato.png-b3b4a4deb75c8279987c6b7277b3544b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/ui/UI/icons/icon-seed-tomato.png" +dest_files=["res://.godot/imported/icon-seed-tomato.png-b3b4a4deb75c8279987c6b7277b3544b.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 diff --git a/art/ui/UI/icons/icon-seed-tomatoe.png b/art/ui/UI/icons/icon-seed-tomatoe.png deleted file mode 100644 index ac255bc..0000000 Binary files a/art/ui/UI/icons/icon-seed-tomatoe.png and /dev/null differ diff --git a/audio/default_bus_layout.tres b/audio/default_bus_layout.tres index 7fe0d48..0a60bf8 100644 --- a/audio/default_bus_layout.tres +++ b/audio/default_bus_layout.tres @@ -1,16 +1,16 @@ [gd_resource type="AudioBusLayout" format=3 uid="uid://b6dwkmkyb0axk"] [resource] -bus/0/volume_db = -5.93075 +bus/0/volume_db = -18.9844 bus/1/name = &"Music" bus/1/solo = false bus/1/mute = false bus/1/bypass_fx = false -bus/1/volume_db = -17.6573 +bus/1/volume_db = -8.39524 bus/1/send = &"Master" bus/2/name = &"SFX" bus/2/solo = false bus/2/mute = false bus/2/bypass_fx = false -bus/2/volume_db = 0.0 +bus/2/volume_db = 0.267241 bus/2/send = &"Master" diff --git a/audio/sfx/Footsteps/SFX_Footsteps_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav.import new file mode 100644 index 0000000..1e8644e --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bch0umdg2imsm" +path="res://.godot/imported/SFX_Footsteps_01.wav-c91cd2c2e859f46748f268e851453a70.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_01.wav-c91cd2c2e859f46748f268e851453a70.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_01_Reverb.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_01_Reverb.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav.import new file mode 100644 index 0000000..182a8c8 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://rmt3gwln5er3" +path="res://.godot/imported/SFX_Footsteps_01_Reverb.wav-a6304ab0d6153ec55b3ba9c044774d3c.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_01_Reverb.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_01_Reverb.wav-a6304ab0d6153ec55b3ba9c044774d3c.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Gravel_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Gravel_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav.import new file mode 100644 index 0000000..61aaf3c --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://qhrohpgr45bc" +path="res://.godot/imported/SFX_Footsteps_Gravel_01.wav-7c6ac51612b8731ddde51b7d717c9e01.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Gravel_01.wav-7c6ac51612b8731ddde51b7d717c9e01.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Gravel_02_Slow.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Gravel_02_Slow.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav.import new file mode 100644 index 0000000..829fb96 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b4amxinouvd4n" +path="res://.godot/imported/SFX_Footsteps_Gravel_02_Slow.wav-9c1afebbf12bea46192c7ace442b689b.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Gravel_02_Slow.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Gravel_02_Slow.wav-9c1afebbf12bea46192c7ace442b689b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Leaves_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Leaves_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav.import new file mode 100644 index 0000000..d29f738 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dsafp6vtc7yra" +path="res://.godot/imported/SFX_Footsteps_Leaves_01.wav-554ab1c2aaa72bd81af776d57f42ef90.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Leaves_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Leaves_01.wav-554ab1c2aaa72bd81af776d57f42ef90.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Path_Forest_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Path_Forest_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav.import new file mode 100644 index 0000000..9d7044b --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dqr5li4mapfpu" +path="res://.godot/imported/SFX_Footsteps_Path_Forest_01.wav-97e6a4848f9146fe744234999b4bf1c5.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Path_Forest_01.wav-97e6a4848f9146fe744234999b4bf1c5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Path_Forest_01_Reverb.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Path_Forest_01_Reverb.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav.import new file mode 100644 index 0000000..73eca6f --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dqoybnx0ues1q" +path="res://.godot/imported/SFX_Footsteps_Path_Forest_01_Reverb.wav-dc984b00d3b1e8a515aeecdd5204bb0a.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Path_Forest_01_Reverb.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Path_Forest_01_Reverb.wav-dc984b00d3b1e8a515aeecdd5204bb0a.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Run_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Run_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav.import new file mode 100644 index 0000000..ff33298 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://isyf0pxos4fu" +path="res://.godot/imported/SFX_Footsteps_Run_01.wav-f4d858b73e0b543c80c9f3a456be80c2.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Run_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Run_01.wav-f4d858b73e0b543c80c9f3a456be80c2.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Sand_Run_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Sand_Run_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav.import new file mode 100644 index 0000000..759634d --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bf8seio4rjasb" +path="res://.godot/imported/SFX_Footsteps_Sand_Run_01.wav-c66428d728aa429281d1aa676d7f4494.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Sand_Run_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Sand_Run_01.wav-c66428d728aa429281d1aa676d7f4494.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Stone_01.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Stone_01.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav.import new file mode 100644 index 0000000..670fd91 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cn3eqpa2wymih" +path="res://.godot/imported/SFX_Footsteps_Stone_01.wav-07bed0dbfc4c1346a7acb3542e4f3023.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_01.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Stone_01.wav-07bed0dbfc4c1346a7acb3542e4f3023.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Stone_02_Fast.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Stone_02_Fast.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav.import new file mode 100644 index 0000000..c2fce62 --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://coxdsm366o0ew" +path="res://.godot/imported/SFX_Footsteps_Stone_02_Fast.wav-53a7bb2ee507e0fcf1f2fc809a2a6e3b.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_02_Fast.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Stone_02_Fast.wav-53a7bb2ee507e0fcf1f2fc809a2a6e3b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Stone_03_Slow.wav b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav similarity index 100% rename from audio/sfx/Footsteps/SFX_Footsteps_Stone_03_Slow.wav rename to audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav diff --git a/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav.import b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav.import new file mode 100644 index 0000000..b05c59e --- /dev/null +++ b/audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dmuha4bwvfpih" +path="res://.godot/imported/SFX_Footsteps_Stone_03_Slow.wav-8ff9d73cca5e99ce33894524f279dff8.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Loop/SFX_Footsteps_Stone_03_Slow.wav" +dest_files=["res://.godot/imported/SFX_Footsteps_Stone_03_Slow.wav-8ff9d73cca5e99ce33894524f279dff8.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/SFX_Footsteps_Gravel_01.wav.asd b/audio/sfx/Footsteps/SFX_Footsteps_Gravel_01.wav.asd new file mode 100644 index 0000000..43216ad Binary files /dev/null and b/audio/sfx/Footsteps/SFX_Footsteps_Gravel_01.wav.asd differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav new file mode 100644 index 0000000..a00fe3f Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav.import new file mode 100644 index 0000000..563306e --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://hm1pul4wvjxr" +path="res://.godot/imported/SFX_Footstep_Gravel_01.wav-f2ea12d42b7051ccfcdcef18eb7067cf.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_01.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_01.wav-f2ea12d42b7051ccfcdcef18eb7067cf.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav new file mode 100644 index 0000000..18a61ba Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav.import new file mode 100644 index 0000000..deb6fad --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://uqjnlflect0m" +path="res://.godot/imported/SFX_Footstep_Gravel_02.wav-6e3a46d525327f6a6a81a7f2338036c4.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_02.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_02.wav-6e3a46d525327f6a6a81a7f2338036c4.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav new file mode 100644 index 0000000..c56c041 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav.import new file mode 100644 index 0000000..e2983cc --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c2a13ogaevpgs" +path="res://.godot/imported/SFX_Footstep_Gravel_03.wav-8e474caa5a82624b2ffc2a4d795554bb.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_03.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_03.wav-8e474caa5a82624b2ffc2a4d795554bb.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav new file mode 100644 index 0000000..ddb30d1 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav.import new file mode 100644 index 0000000..147c33d --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cptf0ygsbrbuj" +path="res://.godot/imported/SFX_Footstep_Gravel_04.wav-83c491fb4ba4f0ee4509f3acde8c54b5.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_04.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_04.wav-83c491fb4ba4f0ee4509f3acde8c54b5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav new file mode 100644 index 0000000..cad9c5e Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav.import new file mode 100644 index 0000000..37716e6 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://buxcxi6d6wo07" +path="res://.godot/imported/SFX_Footstep_Gravel_05.wav-071ded09bede160653f00439a8c36ad7.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_05.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_05.wav-071ded09bede160653f00439a8c36ad7.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav new file mode 100644 index 0000000..129838e Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav.import new file mode 100644 index 0000000..a77400e --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://nuqr6lwcjh5u" +path="res://.godot/imported/SFX_Footstep_Gravel_06.wav-2a949816b3432dc85f973db8f999839f.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_06.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_06.wav-2a949816b3432dc85f973db8f999839f.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav new file mode 100644 index 0000000..326402d Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav.import b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav.import new file mode 100644 index 0000000..08931b1 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://djgd7rnfrkr22" +path="res://.godot/imported/SFX_Footstep_Gravel_07.wav-7e082b0aec1afdc8eb96139b2027d3f9.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/No Reverb/SFX_Footstep_Gravel_07.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_07.wav-7e082b0aec1afdc8eb96139b2027d3f9.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav new file mode 100644 index 0000000..f718ce2 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav.import new file mode 100644 index 0000000..ece6daa --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ce5mxs2yrwgrh" +path="res://.godot/imported/SFX_Footstep_Gravel_01_R.wav-28fe387ad04de3dfb1c4c4b76a7417d6.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_01_R.wav-28fe387ad04de3dfb1c4c4b76a7417d6.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav new file mode 100644 index 0000000..9d2f493 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav.import new file mode 100644 index 0000000..2ccdb41 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://fihv17va3r58" +path="res://.godot/imported/SFX_Footstep_Gravel_02_R.wav-7c04015d04012a7b1d812a76fd327db8.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_02_R.wav-7c04015d04012a7b1d812a76fd327db8.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav new file mode 100644 index 0000000..b3561bc Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav.import new file mode 100644 index 0000000..2067408 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cvvjd2i6x047n" +path="res://.godot/imported/SFX_Footstep_Gravel_03_R.wav-4c2e5963f11a0c9a6e6af76080fbe04b.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_03_R.wav-4c2e5963f11a0c9a6e6af76080fbe04b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav new file mode 100644 index 0000000..f8f9f87 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav.import new file mode 100644 index 0000000..d2a5d92 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dymoalptxmge" +path="res://.godot/imported/SFX_Footstep_Gravel_04_R.wav-db13833c753bcd66104f5db6010fa57c.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_04_R.wav-db13833c753bcd66104f5db6010fa57c.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav new file mode 100644 index 0000000..3b2159d Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav.import new file mode 100644 index 0000000..e4221fd --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://4555a4w30tda" +path="res://.godot/imported/SFX_Footstep_Gravel_05_R.wav-00a83bb4edfe9d6b4339705a08a1e3e2.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_05_R.wav-00a83bb4edfe9d6b4339705a08a1e3e2.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav new file mode 100644 index 0000000..a7b6ee9 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav.import new file mode 100644 index 0000000..b5f6d90 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dpqvnogggvgea" +path="res://.godot/imported/SFX_Footstep_Gravel_06_R.wav-9f624c4054a70ecc20780c664da46265.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_06_R.wav-9f624c4054a70ecc20780c664da46265.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav new file mode 100644 index 0000000..076a477 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav.import b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav.import new file mode 100644 index 0000000..05ec16a --- /dev/null +++ b/audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c45docuhlqqme" +path="res://.godot/imported/SFX_Footstep_Gravel_07_R.wav-178f978df9060582698e0f4687f88840.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Gravel_07_R.wav-178f978df9060582698e0f4687f88840.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav new file mode 100644 index 0000000..8124fa8 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav.import new file mode 100644 index 0000000..65a7a01 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://di7hmg0xcuo23" +path="res://.godot/imported/SFX_Footstep_Path_Forest_01.wav-17ecc206bd49a9a507c7ccabd93d0259.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_01.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_01.wav-17ecc206bd49a9a507c7ccabd93d0259.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav new file mode 100644 index 0000000..fba77f4 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav.import new file mode 100644 index 0000000..95c16e0 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ddyeknx3up57s" +path="res://.godot/imported/SFX_Footstep_Path_Forest_02.wav-37ec9dc2e6d5f87770bd842ed3a3a622.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_02.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_02.wav-37ec9dc2e6d5f87770bd842ed3a3a622.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav new file mode 100644 index 0000000..1fe16c6 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav.import new file mode 100644 index 0000000..b0bd871 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://woq2lt336s2j" +path="res://.godot/imported/SFX_Footstep_Path_Forest_03.wav-5fbfe573cbd74b05115e32f08dc57671.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_03.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_03.wav-5fbfe573cbd74b05115e32f08dc57671.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav new file mode 100644 index 0000000..711c303 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav.import new file mode 100644 index 0000000..fe35cbd --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cf2mte8nkh3q7" +path="res://.godot/imported/SFX_Footstep_Path_Forest_04.wav-9eaa38ff09c0864cb2b39ed83b9074ca.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_04.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_04.wav-9eaa38ff09c0864cb2b39ed83b9074ca.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav new file mode 100644 index 0000000..e6868f1 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav.import new file mode 100644 index 0000000..c9ba64e --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://crvtmfnh4eq7x" +path="res://.godot/imported/SFX_Footstep_Path_Forest_05.wav-22c960d8c4abf464621840367f9ad1db.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_05.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_05.wav-22c960d8c4abf464621840367f9ad1db.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav new file mode 100644 index 0000000..bbea8a1 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav.import new file mode 100644 index 0000000..966a3b2 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bg27srgckakgq" +path="res://.godot/imported/SFX_Footstep_Path_Forest_06.wav-be7aaacdb84fa31234285412a9ba2828.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_06.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_06.wav-be7aaacdb84fa31234285412a9ba2828.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav new file mode 100644 index 0000000..0354fb6 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav.import new file mode 100644 index 0000000..141c760 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://drlnpipt5h3ew" +path="res://.godot/imported/SFX_Footstep_Path_Forest_07.wav-8a6682f6d4f7043537f9d4abb0e02e05.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/No Reverb/SFX_Footstep_Path_Forest_07.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_07.wav-8a6682f6d4f7043537f9d4abb0e02e05.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav new file mode 100644 index 0000000..e25037b Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav.import new file mode 100644 index 0000000..89a6eae --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://it0uk6e3yiga" +path="res://.godot/imported/SFX_Footstep_Path_Forest_01_R.wav-bcac6a727c6c99b0fad26b3ad68ff63b.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_01_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_01_R.wav-bcac6a727c6c99b0fad26b3ad68ff63b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav new file mode 100644 index 0000000..af6908c Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav.import new file mode 100644 index 0000000..c4e2e1d --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://boqptp2a1yg5a" +path="res://.godot/imported/SFX_Footstep_Path_Forest_02_R.wav-805914fa123cc82d6bf4169491467caa.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_02_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_02_R.wav-805914fa123cc82d6bf4169491467caa.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav new file mode 100644 index 0000000..7fbc73e Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav.import new file mode 100644 index 0000000..2631842 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dmj8fk2nkwrhr" +path="res://.godot/imported/SFX_Footstep_Path_Forest_03_R.wav-8e484a404a40051b85d4bb9f10eacab1.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_03_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_03_R.wav-8e484a404a40051b85d4bb9f10eacab1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav new file mode 100644 index 0000000..b6a2ddc Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav.import new file mode 100644 index 0000000..816163b --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c6dyoy0jschdo" +path="res://.godot/imported/SFX_Footstep_Path_Forest_04_R.wav-239aafc715f839dc51874a122a415abe.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_04_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_04_R.wav-239aafc715f839dc51874a122a415abe.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav new file mode 100644 index 0000000..ae4f36c Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav.import new file mode 100644 index 0000000..1ec50d4 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://7nojc2luj6gg" +path="res://.godot/imported/SFX_Footstep_Path_Forest_05_R.wav-a069b122059672e1f4fedb6e2216791e.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_05_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_05_R.wav-a069b122059672e1f4fedb6e2216791e.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav new file mode 100644 index 0000000..00ce426 Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav.import new file mode 100644 index 0000000..6ec936e --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dmpu73yenookn" +path="res://.godot/imported/SFX_Footstep_Path_Forest_06_R.wav-635c2aa95db4a10e59f1b54349a061e9.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_06_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_06_R.wav-635c2aa95db4a10e59f1b54349a061e9.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav new file mode 100644 index 0000000..9a79bac Binary files /dev/null and b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav differ diff --git a/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav.import b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav.import new file mode 100644 index 0000000..879f7a6 --- /dev/null +++ b/audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://burqjxw3yqdkv" +path="res://.godot/imported/SFX_Footstep_Path_Forest_07_R.wav-ce7afa0e3049af1b7522d15501cc8846.sample" + +[deps] + +source_file="res://audio/sfx/Footsteps/Single/Path/Forest/Reverb/SFX_Footstep_Path_Forest_07_R.wav" +dest_files=["res://.godot/imported/SFX_Footstep_Path_Forest_07_R.wav-ce7afa0e3049af1b7522d15501cc8846.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/audio/sfx/SFX_TwigBreaking_01.mp3.import b/audio/sfx/SFX_TwigBreaking_01.mp3.import index db635ba..ce2590f 100644 --- a/audio/sfx/SFX_TwigBreaking_01.mp3.import +++ b/audio/sfx/SFX_TwigBreaking_01.mp3.import @@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/SFX_TwigBreaking_01.mp3-8a8846649968a8e0f8e9b [params] loop=false -loop_offset=0 -bpm=0 +loop_offset=0.0 +bpm=0.0 beat_count=0 bar_beats=4 diff --git a/audio/sfx/SFX_Typing_Single_01.wav b/audio/sfx/typing/SFX_Typing_Single_01.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_01.wav rename to audio/sfx/typing/SFX_Typing_Single_01.wav diff --git a/audio/sfx/SFX_Typing_Single_01.wav.import b/audio/sfx/typing/SFX_Typing_Single_01.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_01.wav.import rename to audio/sfx/typing/SFX_Typing_Single_01.wav.import index 7ffd9dd..d3f8a9a 100644 --- a/audio/sfx/SFX_Typing_Single_01.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_01.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://dqcbuu7prfbnq" -path="res://.godot/imported/SFX_Typing_Single_01.wav-964e38c5174352aeed44b4107319ee9e.sample" +path="res://.godot/imported/SFX_Typing_Single_01.wav-ec6d960b919de8fef456fdea8bea2177.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_01.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_01.wav-964e38c5174352aeed44b4107319ee9e.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_01.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_01.wav-ec6d960b919de8fef456fdea8bea2177.sample"] [params] diff --git a/audio/sfx/SFX_Typing_Single_02.wav b/audio/sfx/typing/SFX_Typing_Single_02.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_02.wav rename to audio/sfx/typing/SFX_Typing_Single_02.wav diff --git a/audio/sfx/SFX_Typing_Single_02.wav.import b/audio/sfx/typing/SFX_Typing_Single_02.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_02.wav.import rename to audio/sfx/typing/SFX_Typing_Single_02.wav.import index 6a2c8d9..1d6373e 100644 --- a/audio/sfx/SFX_Typing_Single_02.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_02.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://dgxy8lhauxtvw" -path="res://.godot/imported/SFX_Typing_Single_02.wav-443a7aa27fceae83c3f53b303093a96c.sample" +path="res://.godot/imported/SFX_Typing_Single_02.wav-e1fb3fece74c791ab8138a4c131776dd.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_02.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_02.wav-443a7aa27fceae83c3f53b303093a96c.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_02.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_02.wav-e1fb3fece74c791ab8138a4c131776dd.sample"] [params] diff --git a/audio/sfx/SFX_Typing_Single_03.wav b/audio/sfx/typing/SFX_Typing_Single_03.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_03.wav rename to audio/sfx/typing/SFX_Typing_Single_03.wav diff --git a/audio/sfx/SFX_Typing_Single_03.wav.import b/audio/sfx/typing/SFX_Typing_Single_03.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_03.wav.import rename to audio/sfx/typing/SFX_Typing_Single_03.wav.import index 19deea4..59635d6 100644 --- a/audio/sfx/SFX_Typing_Single_03.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_03.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://buxdceyvmqd68" -path="res://.godot/imported/SFX_Typing_Single_03.wav-8365036b9c1cc04c0ff6cc3ca3c8c12e.sample" +path="res://.godot/imported/SFX_Typing_Single_03.wav-dddcdf1baa4c63b9ca3bc0c14f2c5d2e.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_03.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_03.wav-8365036b9c1cc04c0ff6cc3ca3c8c12e.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_03.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_03.wav-dddcdf1baa4c63b9ca3bc0c14f2c5d2e.sample"] [params] diff --git a/audio/sfx/SFX_Typing_Single_04.wav b/audio/sfx/typing/SFX_Typing_Single_04.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_04.wav rename to audio/sfx/typing/SFX_Typing_Single_04.wav diff --git a/audio/sfx/SFX_Typing_Single_04.wav.import b/audio/sfx/typing/SFX_Typing_Single_04.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_04.wav.import rename to audio/sfx/typing/SFX_Typing_Single_04.wav.import index 2e8ed2c..e9d9151 100644 --- a/audio/sfx/SFX_Typing_Single_04.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_04.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://2ktr6rikm3jl" -path="res://.godot/imported/SFX_Typing_Single_04.wav-764c240d5e06802e783d71b97a715dff.sample" +path="res://.godot/imported/SFX_Typing_Single_04.wav-6ab9917f5555b5f9929d12033fdd44c7.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_04.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_04.wav-764c240d5e06802e783d71b97a715dff.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_04.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_04.wav-6ab9917f5555b5f9929d12033fdd44c7.sample"] [params] diff --git a/audio/sfx/SFX_Typing_Single_05.wav b/audio/sfx/typing/SFX_Typing_Single_05.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_05.wav rename to audio/sfx/typing/SFX_Typing_Single_05.wav diff --git a/audio/sfx/SFX_Typing_Single_05.wav.import b/audio/sfx/typing/SFX_Typing_Single_05.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_05.wav.import rename to audio/sfx/typing/SFX_Typing_Single_05.wav.import index 588d84c..016e879 100644 --- a/audio/sfx/SFX_Typing_Single_05.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_05.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://bijpyqwuxlqqe" -path="res://.godot/imported/SFX_Typing_Single_05.wav-eeab3b806be7ba846c330907fb731892.sample" +path="res://.godot/imported/SFX_Typing_Single_05.wav-a6e837201d0da4aa141a7a107f70b355.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_05.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_05.wav-eeab3b806be7ba846c330907fb731892.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_05.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_05.wav-a6e837201d0da4aa141a7a107f70b355.sample"] [params] diff --git a/audio/sfx/SFX_Typing_Single_06.wav b/audio/sfx/typing/SFX_Typing_Single_06.wav similarity index 100% rename from audio/sfx/SFX_Typing_Single_06.wav rename to audio/sfx/typing/SFX_Typing_Single_06.wav diff --git a/audio/sfx/SFX_Typing_Single_06.wav.import b/audio/sfx/typing/SFX_Typing_Single_06.wav.import similarity index 51% rename from audio/sfx/SFX_Typing_Single_06.wav.import rename to audio/sfx/typing/SFX_Typing_Single_06.wav.import index f97e5e2..759e350 100644 --- a/audio/sfx/SFX_Typing_Single_06.wav.import +++ b/audio/sfx/typing/SFX_Typing_Single_06.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://ci2y37lxa8x54" -path="res://.godot/imported/SFX_Typing_Single_06.wav-68a4fb43f26984fd33687883098549ed.sample" +path="res://.godot/imported/SFX_Typing_Single_06.wav-916ff9e458c406a882bb59ada481d859.sample" [deps] -source_file="res://audio/sfx/SFX_Typing_Single_06.wav" -dest_files=["res://.godot/imported/SFX_Typing_Single_06.wav-68a4fb43f26984fd33687883098549ed.sample"] +source_file="res://audio/sfx/typing/SFX_Typing_Single_06.wav" +dest_files=["res://.godot/imported/SFX_Typing_Single_06.wav-916ff9e458c406a882bb59ada481d859.sample"] [params] diff --git a/dialog/Characters/Chuga.dch b/dialog/Characters/Chuga.dch index ebd1048..8473584 100644 --- a/dialog/Characters/Chuga.dch +++ b/dialog/Characters/Chuga.dch @@ -5,8 +5,19 @@ &"color": Color(1, 1, 1, 1), &"custom_info": { "sound_mood_default": "", -"sound_moods": {}, -"style": "" +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.0, +"skip_characters": 0.0, +"sound_path": "res://audio/sfx/typing", +"volume_base": 0.0, +"volume_variance": 0.0 +} +}, +"style": "NPC_narrative" }, &"default_portrait": "_tmp", &"description": "helpful spirit forest", diff --git a/dialog/Characters/Domovoi.dch b/dialog/Characters/Domovoi.dch index 806636a..a6e0b5d 100644 --- a/dialog/Characters/Domovoi.dch +++ b/dialog/Characters/Domovoi.dch @@ -5,8 +5,19 @@ &"color": Color(1, 1, 1, 1), &"custom_info": { "sound_mood_default": "", -"sound_moods": {}, -"style": "" +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.0, +"skip_characters": 0.0, +"sound_path": "res://audio/sfx/typing", +"volume_base": 0.0, +"volume_variance": 0.0 +} +}, +"style": "NPC_narrative" }, &"default_portrait": "", &"description": "Yeli's Domovoi", diff --git a/dialog/Characters/Everyone.dch b/dialog/Characters/Everyone.dch index e0a035c..fab01e8 100644 --- a/dialog/Characters/Everyone.dch +++ b/dialog/Characters/Everyone.dch @@ -5,8 +5,19 @@ &"color": Color(1, 1, 1, 1), &"custom_info": { "sound_mood_default": "", -"sound_moods": {}, -"style": "" +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.0, +"skip_characters": 0.0, +"sound_path": "res://audio/sfx/typing", +"volume_base": 0.0, +"volume_variance": 0.0 +} +}, +"style": "NPC_narrative" }, &"default_portrait": "", &"description": "", diff --git a/dialog/Characters/Yeli.dch b/dialog/Characters/Yeli.dch index 4703cab..ab31057 100644 --- a/dialog/Characters/Yeli.dch +++ b/dialog/Characters/Yeli.dch @@ -12,7 +12,7 @@ "pitch_base": 1.0, "pitch_variance": 0.0, "skip_characters": 0.0, -"sound_path": "", +"sound_path": "res://audio/sfx/typing", "volume_base": 0.0, "volume_variance": 0.0 } @@ -42,7 +42,8 @@ "mirror": false, "offset": Vector2(0, 0), "scale": 1, -"scene": "" +"scene": "", +"sound_mood": "Mood 1" }, "_part_side": { "export_overrides": { diff --git a/dialog/Characters/vesna.dch b/dialog/Characters/vesna.dch index e452b0c..820a91f 100644 --- a/dialog/Characters/vesna.dch +++ b/dialog/Characters/vesna.dch @@ -17,7 +17,7 @@ "volume_variance": 0.0 } }, -"style": "NPC_narrative" +"style": "vesna_style" }, &"default_portrait": "front", &"description": "The main character. ", diff --git a/dialog/NPC_narrative.tres b/dialog/NPC_narrative.tres index 32487a3..8d2e8b1 100644 --- a/dialog/NPC_narrative.tres +++ b/dialog/NPC_narrative.tres @@ -1,6 +1,7 @@ -[gd_resource type="Resource" script_class="DialogicStyle" load_steps=21 format=3 uid="uid://f7q6jac5tsk8"] +[gd_resource type="Resource" script_class="DialogicStyle" load_steps=22 format=3 uid="uid://f7q6jac5tsk8"] [ext_resource type="Script" uid="uid://dfx2htp24tuvm" path="res://addons/dialogic/Resources/dialogic_style_layer.gd" id="1_0jwhi"] +[ext_resource type="PackedScene" uid="uid://cqpb3ie51rwl5" path="res://addons/dialogic/Modules/DefaultLayoutParts/Base_Default/default_layout_base.tscn" id="1_8wrfq"] [ext_resource type="PackedScene" uid="uid://c1k5m0w3r40xf" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.tscn" id="2_8wrfq"] [ext_resource type="PackedScene" uid="uid://cy1y14inwkplb" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_VN_Portraits/vn_portrait_layer.tscn" id="3_t7aeg"] [ext_resource type="PackedScene" uid="uid://cn674foxwedqu" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_Input/full_advance_input_layer.tscn" id="4_85y6g"] @@ -13,6 +14,7 @@ [sub_resource type="Resource" id="Resource_wg0yj"] script = ExtResource("1_0jwhi") +scene = ExtResource("1_8wrfq") overrides = { "global_bg_color": "Color(0.898375, 0.917922, 0.835355, 1)", "global_font_color": "Color(0.257812, 0.125248, 0.0533752, 1)", @@ -47,8 +49,10 @@ overrides = { "name_label_custom_font_size": "30.0", "name_label_use_global_color": "false", "next_indicator_enabled": "false", +"text_alignment": "1", "text_size": "40.0", -"typing_sounds_end_sound": "\"res://audio/sfx/UI/Dialog/SFX_Dialog_Open_01.wav\"" +"typing_sounds_end_sound": "\"res://audio/sfx/UI/Dialog/SFX_Dialog_Open_01.wav\"", +"typing_sounds_sounds_folder": "\"res://audio/sfx/typing\"" } [sub_resource type="Resource" id="Resource_clhbu"] @@ -101,4 +105,4 @@ layer_info = { } base_overrides = {} layers = Array[ExtResource("1_0jwhi")]([]) -metadata/_latest_layer = "15" +metadata/_latest_layer = "13" diff --git a/dialog/Scene1_farm_outside/yeli_intro_05.dtl b/dialog/Scene1_farm_outside/yeli_intro_05.dtl index 2daadc0..e1037f1 100644 --- a/dialog/Scene1_farm_outside/yeli_intro_05.dtl +++ b/dialog/Scene1_farm_outside/yeli_intro_05.dtl @@ -1,5 +1,5 @@ [quest_complete quest_resource="res://resources/quests/demo/7_talk_yeli_inside_1.tres"] -join Yeli center +join Yeli right 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. diff --git a/dialog/Scene2_farm_inside/quest4_dinner.dtl b/dialog/Scene2_farm_inside/quest4_dinner.dtl index e40074e..dbbc8d6 100644 --- a/dialog/Scene2_farm_inside/quest4_dinner.dtl +++ b/dialog/Scene2_farm_inside/quest4_dinner.dtl @@ -1,5 +1,5 @@ -join Yeli center -join vesna center +join Yeli right +join vesna left Everyone: Smachnoho! vesna: Lovely soup, Yeli! Yeli (_part_side): God bless you, my child! That’s also thanks to you. diff --git a/dialog/quests/beetroot/quest3_beets_end.dtl b/dialog/quests/beetroot/quest3_beets_end.dtl index 0dcdbf2..c67accf 100644 --- a/dialog/quests/beetroot/quest3_beets_end.dtl +++ b/dialog/quests/beetroot/quest3_beets_end.dtl @@ -1,5 +1,5 @@ -join Yeli center -join vesna center +join Yeli right +join vesna left Yeli (_part_side): Wow! So many? Yeli (_part_side): Good job! Put it in the kettle! [wait_input] diff --git a/dialog/quests/beetroot/quest3_beets_interim.dtl b/dialog/quests/beetroot/quest3_beets_interim.dtl index 4292adc..66eb447 100644 --- a/dialog/quests/beetroot/quest3_beets_interim.dtl +++ b/dialog/quests/beetroot/quest3_beets_interim.dtl @@ -1,4 +1,4 @@ -join vesna center +join vesna left join Domovoi center vesna: Oh no, most of the beets aren’t ripe yet. Domovoi: Pssss! diff --git a/dialog/quests/ducks/quest1_ducks_end.dtl b/dialog/quests/ducks/quest1_ducks_end.dtl index a4bf76a..ccc9445 100644 --- a/dialog/quests/ducks/quest1_ducks_end.dtl +++ b/dialog/quests/ducks/quest1_ducks_end.dtl @@ -1,5 +1,5 @@ -join vesna center +join vesna left [quest_complete quest_resource="res://resources/quests/demo/2_collect_ducks.tres"] -That’s the last one. I should get back to Yeli. +vesna: 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] diff --git a/dialog/quests/forest/quest5_forest_end.dtl b/dialog/quests/forest/quest5_forest_end.dtl index 6ba59d5..27cfc4f 100644 --- a/dialog/quests/forest/quest5_forest_end.dtl +++ b/dialog/quests/forest/quest5_forest_end.dtl @@ -1,6 +1,6 @@ -join Chuga center +join Chuga left Chuga: I believe you’ve seen enough for today. Chuga: And yes, you too. -vesna: Thank you for playing! +Chuga: Thank you for playing! do SceneTransition.ChangeSceneToFileThreaded("res://scenes/Babushka_scene_credits.tscn") [end_timeline] diff --git a/dialog/quests/forest/quest5_forest_start.dtl b/dialog/quests/forest/quest5_forest_start.dtl index 5c78e6f..b8ddf8e 100644 --- a/dialog/quests/forest/quest5_forest_start.dtl +++ b/dialog/quests/forest/quest5_forest_start.dtl @@ -1,6 +1,6 @@ [quest_complete quest_resource="res://resources/quests/demo/9_talk_to_chuga.tres"] -join vesna center -join Chuga center +join vesna left +join Chuga right Chuga: Look who it is! vesna: Your name was Chuga, right? I want to go to the forest! Chuga: To the forest? After everything the others told you? diff --git a/dialog/quests/tomatoes/quest2_tomatoes_end.dtl b/dialog/quests/tomatoes/quest2_tomatoes_end.dtl index 3b6d971..7c061ae 100644 --- a/dialog/quests/tomatoes/quest2_tomatoes_end.dtl +++ b/dialog/quests/tomatoes/quest2_tomatoes_end.dtl @@ -1,4 +1,4 @@ -join vesna center +join vesna left vesna: I just wish I liked tomatoes more. vesna: Well…Yeli probably started with the cooking. I should go inside. [end_timeline] diff --git a/dialog/quests/tomatoes/quest2_tomatoes_start.dtl b/dialog/quests/tomatoes/quest2_tomatoes_start.dtl index d1878bd..c3e9f03 100644 --- a/dialog/quests/tomatoes/quest2_tomatoes_start.dtl +++ b/dialog/quests/tomatoes/quest2_tomatoes_start.dtl @@ -1,5 +1,5 @@ -join Yeli center -join vesna center +join Yeli right +join vesna left [quest_complete quest_resource="res://resources/quests/demo/3_talk_yeli_2.tres"] Yeli (_part_side): Thank you, my child! Your Yeli is not so agile anymore. vesna: But you’re diligent! You’ve started with the preparation for dinner. diff --git a/dialog/yeli_quest_select.dtl b/dialog/yeli_quest_select.dtl index 773a607..c98e172 100644 --- a/dialog/yeli_quest_select.dtl +++ b/dialog/yeli_quest_select.dtl @@ -7,4 +7,8 @@ ifquest res://resources/quests/demo/3_talk_yeli_2.tres, 1: ifquest res://resources/quests/demo/5_talk_yeli_3.tres, 1: jump quest2_tomatoes_interim/ [end_timeline] -No Dialog for active quest "{ACTIVEQUEST}" +ifquest res://resources/quests/demo/2_collect_ducks.tres, 1: + join Yeli right + Yeli: Have you collected all the ducks yet? + [end_timeline] +Yeli doesn't seem to have anything to say... diff --git a/export_presets.cfg b/export_presets.cfg index 408bddd..7a58afc 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="_builds/Babushka_showcase_win_04/Babushka.exe" +export_path="_builds/Babushka_win_0_5/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_showcase_lux_04/Babushka.x86_64" +export_path="_builds/Babushka_linux_0_5/Babushka.x86_64" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" diff --git a/prefabs/Interactables/inventory_dependent_interactable_test.tscn b/prefabs/Interactables/inventory_dependent_interactable_test.tscn new file mode 100644 index 0000000..ae82d35 --- /dev/null +++ b/prefabs/Interactables/inventory_dependent_interactable_test.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=5 format=3 uid="uid://bs4t0t7o4jmam"] + +[ext_resource type="Script" uid="uid://doxr432r22dd0" path="res://scripts/CSharp/Common/Items/InventoryDependentInteractable.cs" id="1_cu47d"] +[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="2_s5peo"] +[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="3_wsetd"] +[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="4_1dub8"] + +[node name="InventoryDependentInteractableTest" type="Node2D" node_paths=PackedStringArray("_interactionArea")] +script = ExtResource("1_cu47d") +_interactionArea = NodePath("InteractionArea") +_itemsToReactTo = Array[Object]([ExtResource("2_s5peo")]) + +[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("3_wsetd")] +_active = false +_spriteToOutline = NodePath("../Sprite2D") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.5, 0.5) +texture = ExtResource("4_1dub8") diff --git a/prefabs/Interactables/trash_object.tscn b/prefabs/Interactables/trash_object.tscn index 9cd511d..190183e 100644 --- a/prefabs/Interactables/trash_object.tscn +++ b/prefabs/Interactables/trash_object.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=15 format=3 uid="uid://sbf12hin4kes"] +[gd_scene load_steps=16 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="Script" uid="uid://dkk1vjijvgrd7" path="res://scripts/CSharp/Common/Items/NonInventoryPickup.cs" id="2_ic616"] [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"] @@ -12,7 +13,7 @@ [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"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="13_wswkg"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dich4"] streams_count = 10 @@ -34,6 +35,7 @@ texture = ExtResource("1_k4ca3") offset = Vector2(1, -215) region_enabled = true region_rect = Rect2(44, 479, 356, 503) +script = ExtResource("2_ic616") [node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("2_gcgfd")] position = Vector2(0, -172) @@ -46,4 +48,5 @@ playback_type = 2 script = ExtResource("13_wswkg") [connection signal="Interacted" from="InteractionArea" to="." method="queue_free"] +[connection signal="Interacted" from="InteractionArea" to="." method="PlayPickupAnimation"] [connection signal="Interacted" from="InteractionArea" to="AudioStreamPlayer2D" method="PlayOneShot"] diff --git a/prefabs/UI/Inventory/Inventory.tscn b/prefabs/UI/Inventory/Inventory.tscn index 780c512..e7e6fd2 100644 --- a/prefabs/UI/Inventory/Inventory.tscn +++ b/prefabs/UI/Inventory/Inventory.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=11 format=3 uid="uid://cgjc4wurbgimy"] +[gd_scene load_steps=12 format=3 uid="uid://cgjc4wurbgimy"] [ext_resource type="Script" uid="uid://hg7jay2kt441" path="res://scripts/CSharp/Common/Inventory/InventoryUi.cs" id="1_6wusm"] -[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="1_l3npx"] +[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="1_l3npx"] [ext_resource type="Texture2D" uid="uid://3ln8aleyxgp1" path="res://art/ui/UI/UI_bag_export_01.png" id="3_vvo7l"] [ext_resource type="Texture2D" uid="uid://u0dku75l17re" path="res://art/ui/UI/UI_bag_export_highlight_01.png" id="5_df8i8"] [ext_resource type="PackedScene" uid="uid://c0kmdjeqkqrwv" path="res://prefabs/UI/Inventory/Slot.tscn" id="5_u7kje"] @@ -11,6 +11,9 @@ [ext_resource type="PackedScene" uid="uid://2q1n6g2kj5er" path="res://prefabs/UI/Quest/QuestLog.tscn" id="7_vvo7l"] [ext_resource type="Texture2D" uid="uid://qwia360i1ir1" path="res://art/ui/UI/inventory_active.png" id="8_df8i8"] +[sub_resource type="LabelSettings" id="LabelSettings_l3npx"] +font_size = 50 + [node name="CanvasLayer" type="CanvasLayer"] layer = 90 @@ -455,6 +458,22 @@ offset_bottom = 100.0 texture = ExtResource("8_df8i8") expand_mode = 1 +[node name="Label" type="Label" parent="Inventory/SlotsContainer/SlotsMover"] +layout_mode = 1 +anchors_preset = 6 +anchor_left = 1.0 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = 14.4142 +offset_top = 184.286 +offset_right = 54.4142 +offset_bottom = 207.286 +grow_horizontal = 0 +grow_vertical = 2 +text = "[I]" +label_settings = SubResource("LabelSettings_l3npx") + [node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")] [node name="Control" type="Control" parent="."] @@ -488,6 +507,7 @@ offset_bottom = -20.0 grow_horizontal = 2 grow_vertical = 2 theme_override_colors/font_color = Color(0, 0, 0, 1) -text = "Switch to Unity" +text = "[Hier könnte Ihre Werbung stehen]" horizontal_alignment = 1 vertical_alignment = 1 +autowrap_mode = 2 diff --git a/prefabs/UI/Inventory/Slot.tscn b/prefabs/UI/Inventory/Slot.tscn index ac46040..47e5165 100644 --- a/prefabs/UI/Inventory/Slot.tscn +++ b/prefabs/UI/Inventory/Slot.tscn @@ -43,21 +43,6 @@ label_settings = SubResource("LabelSettings_7emux") horizontal_alignment = 1 vertical_alignment = 1 -[node name="AmountLabel" type="Label" parent="."] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 1.0 -anchor_right = 1.0 -offset_left = -50.0 -offset_top = 9.0 -offset_right = -10.0 -offset_bottom = 49.0 -grow_horizontal = 0 -grow_vertical = 0 -theme_override_colors/font_color = Color(0, 0, 0, 1) -text = "999" -horizontal_alignment = 2 - [node name="Icon" type="TextureRect" parent="."] layout_mode = 1 anchors_preset = -1 @@ -73,4 +58,23 @@ texture = ExtResource("3_n5ryf") expand_mode = 4 stretch_mode = 5 +[node name="AmountLabel" type="Label" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.99 +anchor_top = 0.92 +anchor_right = 0.99 +anchor_bottom = 0.92 +offset_left = -47.0 +offset_top = -35.0 +offset_right = -8.00001 +offset_bottom = -3.0 +grow_horizontal = 0 +grow_vertical = 0 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 25 +text = "999" +horizontal_alignment = 2 +vertical_alignment = 2 + [connection signal="gui_input" from="." to="." method="_on_gui_input"] diff --git a/prefabs/UI/Quest/QuestListItem.tscn b/prefabs/UI/Quest/QuestListItem.tscn index a69c45c..203ba0f 100644 --- a/prefabs/UI/Quest/QuestListItem.tscn +++ b/prefabs/UI/Quest/QuestListItem.tscn @@ -50,7 +50,7 @@ size_flags_horizontal = 3 size_flags_vertical = 1 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 17 -text = "Switch to Unity" +text = "[ Hier könnte ihre Werbung stehen]" vertical_alignment = 1 autowrap_mode = 2 diff --git a/prefabs/characters/Player2D.tscn b/prefabs/characters/Player2D.tscn index 4b40bba..e2308b9 100644 --- a/prefabs/characters/Player2D.tscn +++ b/prefabs/characters/Player2D.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=477 format=3 uid="uid://c25udixd5m6l0"] +[gd_scene load_steps=481 format=3 uid="uid://c25udixd5m6l0"] [ext_resource type="Script" uid="uid://b05uyj001ehwi" path="res://scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs" id="1_yd5ep"] [ext_resource type="Script" uid="uid://cjbclkxesh3hc" path="res://scripts/CSharp/Common/CharacterControls/PlayerMovement.cs" id="2_1vqmv"] +[ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="2_dnm27"] +[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="3_e04c3"] [ext_resource type="Script" uid="uid://n7oihifvqp23" path="res://scripts/CSharp/Common/Animation/VesnaAnimations.cs" id="3_f6xmn"] [ext_resource type="Texture2D" uid="uid://7jrac5ii3ah3" path="res://art/animation/Vesna2D/Vesna Anims Sequences/B01-Idle/0001.png" id="3_tb2wl"] [ext_resource type="Texture2D" uid="uid://c06b551t2qlo6" path="res://art/animation/Vesna2D/Vesna Anims Sequences/B01-Idle/0002.png" id="4_dy5kt"] @@ -271,15 +273,18 @@ [ext_resource type="Texture2D" uid="uid://b37lpqrsjjuc0" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0010.png" id="466_pw1ip"] [ext_resource type="Script" uid="uid://er03dkj8axlr" path="res://scripts/CSharp/Common/UI/WateringCanUi.cs" id="467_j4m0f"] [ext_resource type="Texture2D" uid="uid://oi11ax6tml6j" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0012.png" id="468_08021"] -[ext_resource type="Texture2D" uid="uid://l0k3vh3kdprp" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-1.png" id="468_f6xmn"] -[ext_resource type="Texture2D" uid="uid://t4w7axbof7bq" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-2.png" id="469_nxglm"] -[ext_resource type="Texture2D" uid="uid://di2npqkvvst6x" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-3.png" id="470_8fyd7"] [ext_resource type="Texture2D" uid="uid://dsjj23763pej5" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0014.png" id="470_bmmei"] -[ext_resource type="Texture2D" uid="uid://clti3basli30" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-4.png" id="471_dnm27"] -[ext_resource type="Texture2D" uid="uid://n1v4hgd467wp" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-5.png" id="472_e04c3"] +[ext_resource type="AudioStream" uid="uid://ce5mxs2yrwgrh" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_01_R.wav" id="470_dnm27"] +[ext_resource type="Script" uid="uid://dx25g14a7xi4w" path="res://scripts/CSharp/Common/Audio/AudioPlayer.cs" id="471_2f15g"] +[ext_resource type="AudioStream" uid="uid://fihv17va3r58" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_02_R.wav" id="471_e04c3"] +[ext_resource type="AudioStream" uid="uid://cvvjd2i6x047n" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_03_R.wav" id="472_g32y8"] [ext_resource type="Texture2D" uid="uid://blh0t2ofqj2uq" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0016.png" id="472_wdxsr"] +[ext_resource type="AudioStream" uid="uid://dymoalptxmge" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_04_R.wav" id="473_8hbu5"] [ext_resource type="Texture2D" uid="uid://l5ym7gi82l1b" path="res://art/ui/UI/Watercan-ui/Tropfen-ui-6.png" id="473_g32y8"] +[ext_resource type="AudioStream" uid="uid://4555a4w30tda" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_05_R.wav" id="474_t1d6r"] [ext_resource type="Texture2D" uid="uid://3t1m2xi4ks75" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0018.png" id="474_tu801"] +[ext_resource type="AudioStream" uid="uid://dpqvnogggvgea" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_06_R.wav" id="475_83c4i"] +[ext_resource type="AudioStream" uid="uid://c45docuhlqqme" path="res://audio/sfx/Footsteps/Single/Gravel/Reverb/SFX_Footstep_Gravel_07_R.wav" id="476_deeju"] [ext_resource type="Texture2D" uid="uid://drtgi1qyq7fji" path="res://art/animation/Vesna2D/Vesna Anims Tools/F01-Idle-Gießkanne/0020.png" id="476_g4jjd"] [ext_resource type="Texture2D" uid="uid://d3rdsclnqbx7" path="res://art/animation/Vesna2D/Vesna Anims Sequences/F02-Walk/0001.png" id="477_qko58"] [ext_resource type="Texture2D" uid="uid://dqubvx1a08kn4" path="res://art/animation/Vesna2D/Vesna Anims Sequences/F02-Walk/0002.png" id="478_5myrm"] @@ -469,11 +474,9 @@ [ext_resource type="Texture2D" uid="uid://ds2y033vahyi5" path="res://art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0016.png" id="810_224qh"] [ext_resource type="Texture2D" uid="uid://b0v61all3tsny" path="res://art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0018.png" id="812_sf8kv"] [ext_resource type="Texture2D" uid="uid://cao7vqax8cblo" path="res://art/animation/Vesna2D/Vesna Anims Tools/S02-Walk-Gießkanne/0020.png" id="814_3uq4g"] -[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/tomato_field.tscn" id="818_16w6h"] -[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"] +[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_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"] radius = 110.018 @@ -2066,18 +2069,31 @@ animations = [{ "speed": 16.0 }] +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_fmkiy"] +streams_count = 7 +stream_0/stream = ExtResource("470_dnm27") +stream_1/stream = ExtResource("471_e04c3") +stream_2/stream = ExtResource("472_g32y8") +stream_3/stream = ExtResource("473_8hbu5") +stream_4/stream = ExtResource("474_t1d6r") +stream_5/stream = ExtResource("475_83c4i") +stream_6/stream = ExtResource("476_deeju") + [node name="Vesna" type="Node2D" node_paths=PackedStringArray("_farmingControls", "_player2d", "_vesnaAnimations")] y_sort_enabled = true script = ExtResource("1_yd5ep") _farmingControls = NodePath("FarmingControls") _player2d = NodePath("CharacterBody2D") _vesnaAnimations = NodePath("CharacterBody2D/visuals") +_hoe = ExtResource("2_dnm27") +_wateringCan = ExtResource("3_e04c3") -[node name="CharacterBody2D" type="CharacterBody2D" parent="." groups=["PlantGrowing"]] +[node name="CharacterBody2D" type="CharacterBody2D" parent="." node_paths=PackedStringArray("_stepTimer")] position = Vector2(0, 374) collision_layer = 4 collision_mask = 3 script = ExtResource("2_1vqmv") +_stepTimer = NodePath("../SFX/FootstepsAudio/Timer") [node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"] visible = false @@ -2087,7 +2103,7 @@ position = Vector2(-24, -13) shape = SubResource("CircleShape2D_ssqtd") debug_color = Color(0.923708, 0.202722, 0.475262, 0.42) -[node name="visuals" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_sprite", "_wateringParticles")] +[node name="visuals" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_sprite", "_wateringParticles") groups=["Pickup", "PlantGrowing"]] position = Vector2(0, -374) script = ExtResource("3_f6xmn") _sprite = NodePath("Animated Sprites") @@ -2097,75 +2113,31 @@ _wateringParticles = NodePath("../../pouring water vfx") position = Vector2(0, 450) sprite_frames = SubResource("SpriteFrames_4yiyq") animation = &"side walking wateringcan" -frame_progress = 0.130831 +frame = 7 +frame_progress = 0.229832 offset = Vector2(0, -450) -[node name="Hoe" type="Sprite2D" parent="CharacterBody2D/visuals"] -visible = false -position = Vector2(-35, -596) -rotation = 0.74351 -scale = Vector2(0.24, 0.24) -texture = ExtResource("815_1ia2b") -region_enabled = true -region_rect = Rect2(980, 179, 374, 1233) - -[node name="WateringCanEmpty" type="Sprite2D" parent="CharacterBody2D/visuals"] -visible = false -position = Vector2(-38, -603) -scale = Vector2(0.5, 0.5) -texture = ExtResource("816_1a3c1") -region_enabled = true -region_rect = Rect2(-1, 1128, 417, 299) - -[node name="WateringCanFull" type="Sprite2D" parent="CharacterBody2D/visuals"] -visible = false -modulate = Color(0.286, 0.16, 1, 1) -position = Vector2(-38, -603) -scale = Vector2(0.5, 0.5) -texture = ExtResource("816_1a3c1") -region_enabled = true -region_rect = Rect2(-1, 1128, 417, 299) - -[node name="WateringCanUI" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_stages")] +[node name="WateringCanUI" type="Node2D" parent="CharacterBody2D" node_paths=PackedStringArray("_slider")] position = Vector2(0, -929) scale = Vector2(2, 2) script = ExtResource("467_j4m0f") -_stages = [NodePath("6"), NodePath("5"), NodePath("4"), NodePath("3"), NodePath("2"), NodePath("1")] - -[node name="1" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] -visible = false -position = Vector2(1, 0) -scale = Vector2(1.8, 1.8) -texture = ExtResource("468_f6xmn") - -[node name="2" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] -visible = false -position = Vector2(2, 2) -scale = Vector2(1.6, 1.6) -texture = ExtResource("469_nxglm") +_slider = NodePath("HSlider") -[node name="3" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] +[node name="HSlider" type="HSlider" parent="CharacterBody2D/WateringCanUI"] visible = false -position = Vector2(3, 5) -scale = Vector2(1.4, 1.4) -texture = ExtResource("470_8fyd7") - -[node name="4" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] -visible = false -position = Vector2(3, 7) -scale = Vector2(1.2, 1.2) -texture = ExtResource("471_dnm27") - -[node name="5" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] -visible = false -position = Vector2(2, 7) -scale = Vector2(1.1, 1.1) -texture = ExtResource("472_e04c3") - -[node name="6" type="Sprite2D" parent="CharacterBody2D/WateringCanUI"] -visible = false -position = Vector2(3, 12) -texture = ExtResource("473_g32y8") +modulate = Color(0.3515, 0.780425, 0.95, 1) +custom_minimum_size = Vector2(150, 50) +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -43.0 +offset_right = 57.0 +offset_bottom = 64.0 +grow_horizontal = 2 +max_value = 1.0 +step = 0.0 +editable = false +scrollable = false [node name="FarmingControls" type="Node2D" parent="." node_paths=PackedStringArray("_movingPlayer", "_wateringParticles")] script = ExtResource("817_6nrw3") @@ -2202,11 +2174,23 @@ scale = Vector2(0.7, 0.7) script = ExtResource("819_4na52") itemToToggle = NodePath("../CharacterBody2D/visuals/Animated Sprites") +[node name="SFX" type="Node2D" parent="."] + +[node name="FootstepsAudio" type="AudioStreamPlayer" parent="SFX"] +stream = SubResource("AudioStreamRandomizer_fmkiy") +bus = &"SFX" +script = ExtResource("471_2f15g") + +[node name="Timer" type="Timer" parent="SFX/FootstepsAudio"] +wait_time = 0.5 + [connection signal="FilledWateringCan" from="." to="CharacterBody2D/WateringCanUI" method="Refill"] [connection signal="InventorySelectionChanged" from="." to="CharacterBody2D/WateringCanUI" method="IsWateringCanActive"] -[connection signal="PickedUpTool" from="." to="CharacterBody2D" method="ActivateTool"] +[connection signal="PickedUpTool" from="." to="CharacterBody2D/visuals" method="ActivateTool"] [connection signal="PickedUpTool" from="." to="CharacterBody2D/WateringCanUI" method="IsWateringCanActive"] -[connection signal="WateringField" from="FarmingControls" to="CharacterBody2D" method="PlayWateringAnimation"] +[connection signal="WateringField" from="FarmingControls" to="CharacterBody2D/visuals" method="PlayWateringAnimation"] [connection signal="WateringField" from="FarmingControls" to="CharacterBody2D/WateringCanUI" method="Water"] [connection signal="timelineEnded" from="dialogic toggle" to="." method="EnableMovement"] [connection signal="timelineStarted" from="dialogic toggle" to="." method="DisableMovement"] +[connection signal="timelineStarted" from="DialogicToggle" to="SFX/FootstepsAudio/Timer" method="stop"] +[connection signal="timeout" from="SFX/FootstepsAudio/Timer" to="SFX/FootstepsAudio" method="PlayOneShot"] diff --git a/prefabs/characters/Yeli.tscn b/prefabs/characters/Yeli.tscn index 798496a..fc3bde3 100644 --- a/prefabs/characters/Yeli.tscn +++ b/prefabs/characters/Yeli.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=48 format=3 uid="uid://dfvgp1my5rydh"] +[gd_scene load_steps=55 format=3 uid="uid://dfvgp1my5rydh"] [ext_resource type="Texture2D" uid="uid://c34012j5ukiuf" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0001.png" id="1_03m0b"] [ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="1_at1n1"] @@ -43,7 +43,13 @@ [ext_resource type="Texture2D" uid="uid://droj8w1mbm5k3" path="res://art/animation/Yeli2D/F02-Yeli_Talk/0019.png" id="39_vg7xi"] [ext_resource type="Texture2D" uid="uid://by5vtadhdwwag" path="res://art/animation/Yeli2D/F02-Yeli_Talk/0020.png" id="40_ipyxb"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="42_ahrat"] -[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="44_aqu1t"] +[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="44_aqu1t"] +[ext_resource type="AudioStream" uid="uid://bsovtqwwqxqc0" path="res://audio/sfx/UI/Dialog/SFX_Dialog_01.wav" id="45_cim3h"] +[ext_resource type="AudioStream" uid="uid://blvs5qmksdvxy" path="res://audio/sfx/UI/Dialog/SFX_Dialog_02.wav" id="46_njpxl"] +[ext_resource type="AudioStream" uid="uid://b7xai1u4pmulg" path="res://audio/sfx/UI/Dialog/SFX_Dialog_03.wav" id="47_qbcgo"] +[ext_resource type="AudioStream" uid="uid://1itiu3ktu2po" path="res://audio/sfx/UI/Dialog/SFX_Dialog_04.wav" id="48_7n5j4"] +[ext_resource type="AudioStream" uid="uid://cvr2el0epo31a" path="res://audio/sfx/UI/Dialog/SFX_Dialog_05.wav" id="49_6twxa"] +[ext_resource type="Script" uid="uid://dx25g14a7xi4w" path="res://scripts/CSharp/Common/Audio/AudioPlayer.cs" id="50_a7v1a"] [sub_resource type="CircleShape2D" id="CircleShape2D_at1n1"] resource_local_to_scene = true @@ -186,6 +192,14 @@ animations = [{ radius = 84.0 height = 168.0 +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ngji7"] +streams_count = 5 +stream_0/stream = ExtResource("45_cim3h") +stream_1/stream = ExtResource("46_njpxl") +stream_2/stream = ExtResource("47_qbcgo") +stream_3/stream = ExtResource("48_7n5j4") +stream_4/stream = ExtResource("49_6twxa") + [node name="Yeli" type="Node2D" node_paths=PackedStringArray("_sprite")] z_index = 1 y_sort_enabled = true @@ -224,7 +238,17 @@ scale = Vector2(0.7, 0.7) script = ExtResource("44_aqu1t") itemToToggle = NodePath("../TalkingControl/AnimatedSprite") +[node name="SFX" type="Node" parent="."] + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="SFX"] +stream = SubResource("AudioStreamRandomizer_ngji7") +bus = &"SFX" +script = ExtResource("50_a7v1a") + +[connection signal="FinishedTalking" from="." to="InteractionArea" method="SetActiveInverse"] [connection signal="Talking" from="." to="Dialogic starter" method="open"] [connection signal="Interacted" from="InteractionArea" to="." method="ToggleTalking"] +[connection signal="timelineEnded" from="DialogicToggle" to="." method="ToggleTalking"] +[connection signal="timelineStarted" from="DialogicToggle" to="SFX/AudioStreamPlayer" method="PlayOneShot"] [editable path="InteractionArea"] diff --git a/prefabs/farm/duck.tscn b/prefabs/farm/animals/duck.tscn similarity index 97% rename from prefabs/farm/duck.tscn rename to prefabs/farm/animals/duck.tscn index c83462a..3edde1e 100644 --- a/prefabs/farm/duck.tscn +++ b/prefabs/farm/animals/duck.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=25 format=3 uid="uid://muuxxgvx33fp"] +[gd_scene load_steps=24 format=3 uid="uid://muuxxgvx33fp"] [ext_resource type="Script" uid="uid://7m1rt7agb6rm" path="res://scripts/CSharp/Common/Temp/MVPDuck.cs" id="1_54k4r"] [ext_resource type="Texture2D" uid="uid://hvchk6t0xe7j" path="res://art/animals/Ente.png" id="1_cgxhx"] [ext_resource type="AudioStream" uid="uid://qv0aubjeyi0u" path="res://audio/sfx/Animals/SFX_Duck_Quack_01.wav" id="3_kjie1"] -[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="3_rdn2q"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="3_rdn2q"] [ext_resource type="AudioStream" uid="uid://da84l8e44scwh" path="res://audio/sfx/Animals/SFX_Duck_Quack_02.wav" id="4_54k4r"] [ext_resource type="AudioStream" uid="uid://bkx4vyigy0u0e" path="res://audio/sfx/Animals/SFX_Duck_Quack_03.wav" id="5_uo3dh"] [ext_resource type="AudioStream" uid="uid://b5o5bu5to04dw" path="res://audio/sfx/Animals/SFX_Duck_Quack_04.wav" id="6_nxoeu"] @@ -16,7 +16,6 @@ [ext_resource type="Animation" uid="uid://b3dwd88uvfk1k" path="res://art/animals/duck_flapFlap.res" id="14_uo3dh"] [ext_resource type="AudioStream" uid="uid://bsr5m8u2sle5k" path="res://audio/sfx/Animals/SFX_Duck_Wings_07.wav" id="14_xhefb"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="15_uo3dh"] -[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/simple_interactable_outline.tres" id="16_nxoeu"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"] streams_count = 4 @@ -163,7 +162,6 @@ libraries = { [node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("15_uo3dh")] position = Vector2(18, -250) -_outlineMaterial = ExtResource("16_nxoeu") _spriteToOutline = NodePath("../Duck rendered") [node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"] diff --git a/prefabs/farm/base_field.tscn b/prefabs/farm/base_field.tscn new file mode 100644 index 0000000..ab21577 --- /dev/null +++ b/prefabs/farm/base_field.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=9 format=3 uid="uid://b1d2e7ely6hyw"] + +[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="1_qa01x"] +[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="2_w8caw"] +[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="3_c014y"] +[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="4_teirr"] +[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="5_wx561"] +[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="6_7m4xq"] +[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="7_2eegd"] +[ext_resource type="Resource" uid="uid://d284vxftxhym0" path="res://resources/itemRepository.tres" id="7_w8caw"] + +[node name="BaseField" type="Node2D"] + +[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "PlantingInteraction", "PlantingPlaceholder")] +z_index = -1 +scale = Vector2(0.9, 1) +script = ExtResource("1_qa01x") +_fieldSprite = NodePath("MaskedField/FieldTexture") +_maskSprite = NodePath("MaskedField") +_maskTexture = Array[Texture2D]([ExtResource("2_w8caw"), ExtResource("3_c014y"), ExtResource("4_teirr")]) +Tilled = ExtResource("5_wx561") +Watered = ExtResource("6_7m4xq") +PlantingInteraction = NodePath("../InteractionArea") +PlantingPlaceholder = NodePath("PlantPlaceholder") +ItemRepository = ExtResource("7_w8caw") + +[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"] +clip_children = 1 +scale = Vector2(1.5, 1.5) +texture = ExtResource("3_c014y") + +[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"] +texture = ExtResource("5_wx561") + +[node name="PlantPlaceholder" type="Node2D" parent="FieldBehaviour"] + +[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("7_2eegd")] +position = Vector2(-16, -54) +_active = false +_spriteToOutline = NodePath("../FieldBehaviour/MaskedField/FieldTexture") + +[connection signal="Interacted" from="InteractionArea" to="FieldBehaviour" method="Farm"] diff --git a/prefabs/farm/beet_field.tscn b/prefabs/farm/beet_field.tscn deleted file mode 100644 index 41781fc..0000000 --- a/prefabs/farm/beet_field.tscn +++ /dev/null @@ -1,90 +0,0 @@ -[gd_scene load_steps=14 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="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/simple_interactable_outline.tres" id="2_pdgar"] -[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_a35l4"] -resource_local_to_scene = true -radius = 300.0 - -[node name="BaseField" type="Node2D"] - -[node name="InteractionArea2" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("1_tp1yj")] -visible = false -z_index = 1 -scale = Vector2(2.225, 2.225) -_outlineMaterial = ExtResource("2_pdgar") -_spriteToOutline = NodePath("../FieldBehaviour/MaskedField") - -[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/PickupInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_a35l4") - -[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/PickupInteractionArea"] diff --git a/prefabs/farm/beet_plant.tscn b/prefabs/farm/beet_plant.tscn deleted file mode 100644 index 9ab0020..0000000 --- a/prefabs/farm/beet_plant.tscn +++ /dev/null @@ -1,207 +0,0 @@ -[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_rvwu0"] -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) -_useOutline = false -_useSprite = false - -[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/PickupInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_rvwu0") - -[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/PickupInteractionArea"] diff --git a/prefabs/farm/tomato_plant.tscn b/prefabs/farm/plants/base_plant.tscn similarity index 66% rename from prefabs/farm/tomato_plant.tscn rename to prefabs/farm/plants/base_plant.tscn index a342358..0b9ea30 100644 --- a/prefabs/farm/tomato_plant.tscn +++ b/prefabs/farm/plants/base_plant.tscn @@ -1,20 +1,18 @@ -[gd_scene load_steps=13 format=3 uid="uid://gishbn0a8eke"] +[gd_scene load_steps=11 format=3 uid="uid://gishbn0a8eke"] [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="Texture2D" uid="uid://mrnc81ukugh6" path="res://art/farm/farming/farmobjekte/plant_template.png" id="2_oyl0t"] [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="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_vjw4j"] [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("3_7hdur") -shader_parameter/speed = 3.0 +shader_parameter/speed = 2.0 shader_parameter/minStrength = 0.05 -shader_parameter/maxStrength = 0.36 +shader_parameter/maxStrength = 0.206 shader_parameter/strengthScale = 100.0 shader_parameter/interval = 3.5 shader_parameter/detail = 1.0 @@ -34,39 +32,40 @@ radius = 300.0 z_index = 1 y_sort_enabled = true 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")] +_seeds = [NodePath("Seeds/Seed1"), NodePath("Seeds/Seed2"), NodePath("Seeds/Seed3")] +_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), NodePath("SmallPlant/03")] +_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03")] +_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03")] _harvestablePlant = NodePath("ReadyPlantInventoryItem") _magicEffect = NodePath("magic vfx") +_magicWordNeeded = false [node name="Seeds" type="Node2D" parent="."] position = Vector2(0, 0.5) -[node name="TomatoSeed" type="Sprite2D" parent="Seeds"] +[node name="Seed1" type="Sprite2D" parent="Seeds"] visible = false y_sort_enabled = true -texture = ExtResource("2_vjw4j") -flip_v = true +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(-2, 15, 85, 81) +region_rect = Rect2(524, 1182, 294, 284) -[node name="TomatoSeed2" type="Sprite2D" parent="Seeds"] +[node name="Seed2" type="Sprite2D" parent="Seeds"] visible = false y_sort_enabled = true -texture = ExtResource("2_vjw4j") -flip_v = true +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(15, 177, 84, 108) +region_rect = Rect2(930, 1182, 296, 289) -[node name="TomatoSeed3" type="Sprite2D" parent="Seeds"] +[node name="Seed3" type="Sprite2D" parent="Seeds"] visible = false y_sort_enabled = true -texture = ExtResource("2_vjw4j") -flip_v = true +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(3, 337, 85, 82) +region_rect = Rect2(1328, 1184, 282, 292) [node name="SmallPlant" type="Node2D" parent="."] position = Vector2(0, 0.5) @@ -75,33 +74,28 @@ position = Vector2(0, 0.5) visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("2_vjw4j") +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(203, 1, 128, 164) +region_rect = Rect2(1810, 1190, 258, 299) [node name="02" type="Sprite2D" parent="SmallPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("2_vjw4j") +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(218, 204, 112, 130) +region_rect = Rect2(2206, 1182, 274, 306) [node name="03" type="Sprite2D" parent="SmallPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("2_vjw4j") +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(224, 399, 105, 105) - -[node name="04" type="Sprite2D" parent="SmallPlant"] -visible = false -y_sort_enabled = true -material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("2_vjw4j") -region_enabled = true -region_rect = Rect2(228, 600, 85, 92) +region_rect = Rect2(2588, 1178, 282, 300) [node name="BigPlant" type="Node2D" parent="."] position = Vector2(0, -300) @@ -110,33 +104,28 @@ position = Vector2(0, -300) visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("4_hmj2d") +position = Vector2(2.5, -56.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(-8, 1, 498, 682) +region_rect = Rect2(3454, 133, 850, 895) [node name="02" type="Sprite2D" parent="BigPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("4_hmj2d") +position = Vector2(12.5, -44.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(575, 82, 516, 591) +region_rect = Rect2(4498, 134, 764, 903) [node name="03" type="Sprite2D" parent="BigPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("4_hmj2d") +position = Vector2(16.5, -37.5) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(-25, 694, 521, 687) - -[node name="04" type="Sprite2D" parent="BigPlant"] -visible = false -y_sort_enabled = true -material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("4_hmj2d") -region_enabled = true -region_rect = Rect2(546, 697, 535, 687) +region_rect = Rect2(5416, 136, 647, 895) [node name="GrowingInteractionArea" parent="." instance=ExtResource("5_3j24b")] position = Vector2(0, 2.3) @@ -151,7 +140,7 @@ position = Vector2(0, 2.3) IsActive = false [node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"] -_blueprint = ExtResource("7_di4m0") +_blueprint = ExtResource("7_vjw4j") [node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"] visible = false @@ -177,33 +166,28 @@ position = Vector2(0, -400) visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("8_evgr8") +position = Vector2(-24.5, 50.2) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(399, 3, 679, 808) +region_rect = Rect2(474, 130, 752, 887) [node name="02" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("8_evgr8") +position = Vector2(-1.5, 49.2) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(1077, 109, 633, 695) +region_rect = Rect2(1418, 134, 843, 887) [node name="03" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"] visible = false y_sort_enabled = true material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("8_evgr8") -region_enabled = true -region_rect = Rect2(415, 838, 639, 817) - -[node name="04" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"] -visible = false -y_sort_enabled = true -material = SubResource("ShaderMaterial_u4cty") -texture = ExtResource("8_evgr8") +position = Vector2(0.5, 49.2) +texture = ExtResource("2_oyl0t") region_enabled = true -region_rect = Rect2(1167, 863, 528, 785) +region_rect = Rect2(2461, 134, 841, 878) [node name="magic vfx" type="CPUParticles2D" parent="."] position = Vector2(-133, -347) @@ -225,6 +209,7 @@ color = Color(0.400601, 0.62444, 0.791217, 1) hue_variation_max = 0.4 [connection signal="Interacted" from="GrowingInteractionArea" to="." method="Grow"] +[connection signal="SuccessfulPickUp" from="ReadyPlantInventoryItem" to="." method="queue_free"] [editable path="GrowingInteractionArea"] [editable path="ReadyPlantInventoryItem"] diff --git a/prefabs/farm/plants/beet_plant.tscn b/prefabs/farm/plants/beet_plant.tscn new file mode 100644 index 0000000..8f6dedc --- /dev/null +++ b/prefabs/farm/plants/beet_plant.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=6 format=3 uid="uid://d20oftcb5qso6"] + +[ext_resource type="PackedScene" uid="uid://gishbn0a8eke" path="res://prefabs/farm/plants/base_plant.tscn" id="1_2u3jr"] +[ext_resource type="Texture2D" uid="uid://bmcs8bmwb5nti" path="res://art/farm/farming/farmobjekte/beetroot/beetroot_template.png" id="2_agmuy"] +[ext_resource type="Resource" uid="uid://0mnsr4anoaiq" path="res://resources/items/beet.tres" id="3_agmuy"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_hiixr"] +resource_local_to_scene = true +radius = 300.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_ae08q"] +resource_local_to_scene = true +radius = 300.0 + +[node name="Beet2" instance=ExtResource("1_2u3jr")] + +[node name="Seed1" parent="Seeds" index="0"] +texture = ExtResource("2_agmuy") + +[node name="Seed2" parent="Seeds" index="1"] +texture = ExtResource("2_agmuy") + +[node name="Seed3" parent="Seeds" index="2"] +texture = ExtResource("2_agmuy") + +[node name="01" parent="SmallPlant" index="0"] +texture = ExtResource("2_agmuy") + +[node name="02" parent="SmallPlant" index="1"] +texture = ExtResource("2_agmuy") + +[node name="03" parent="SmallPlant" index="2"] +texture = ExtResource("2_agmuy") + +[node name="01" parent="BigPlant" index="0"] +texture = ExtResource("2_agmuy") + +[node name="02" parent="BigPlant" index="1"] +texture = ExtResource("2_agmuy") + +[node name="03" parent="BigPlant" index="2"] +texture = ExtResource("2_agmuy") + +[node name="CollisionShape3D" parent="GrowingInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_hiixr") + +[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"] +_blueprint = ExtResource("3_agmuy") + +[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_ae08q") + +[node name="01" parent="ReadyPlantInventoryItem/ReadyPlant" index="0"] +texture = ExtResource("2_agmuy") + +[node name="02" parent="ReadyPlantInventoryItem/ReadyPlant" index="1"] +texture = ExtResource("2_agmuy") + +[node name="03" parent="ReadyPlantInventoryItem/ReadyPlant" index="2"] +texture = ExtResource("2_agmuy") + +[editable path="GrowingInteractionArea"] +[editable path="ReadyPlantInventoryItem"] +[editable path="ReadyPlantInventoryItem/PickupInteractionArea"] diff --git a/prefabs/farm/plants/tomato_plant.tscn b/prefabs/farm/plants/tomato_plant.tscn new file mode 100644 index 0000000..5df96ea --- /dev/null +++ b/prefabs/farm/plants/tomato_plant.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=5 format=3 uid="uid://n8tv8gafsrfo"] + +[ext_resource type="PackedScene" uid="uid://gishbn0a8eke" path="res://prefabs/farm/plants/base_plant.tscn" id="1_ooshk"] +[ext_resource type="Texture2D" uid="uid://cyyxqmphcrjj" path="res://art/farm/farming/farmobjekte/tomaten/tomaten_template.png" id="2_gdicx"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_on0x0"] +resource_local_to_scene = true +radius = 300.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_gkatd"] +resource_local_to_scene = true +radius = 300.0 + +[node name="TomatoPlant" instance=ExtResource("1_ooshk")] + +[node name="Seed1" parent="Seeds" index="0"] +texture = ExtResource("2_gdicx") + +[node name="Seed2" parent="Seeds" index="1"] +texture = ExtResource("2_gdicx") + +[node name="Seed3" parent="Seeds" index="2"] +texture = ExtResource("2_gdicx") + +[node name="01" parent="SmallPlant" index="0"] +texture = ExtResource("2_gdicx") + +[node name="02" parent="SmallPlant" index="1"] +texture = ExtResource("2_gdicx") + +[node name="03" parent="SmallPlant" index="2"] +texture = ExtResource("2_gdicx") + +[node name="01" parent="BigPlant" index="0"] +texture = ExtResource("2_gdicx") + +[node name="02" parent="BigPlant" index="1"] +texture = ExtResource("2_gdicx") + +[node name="03" parent="BigPlant" index="2"] +texture = ExtResource("2_gdicx") + +[node name="CollisionShape3D" parent="GrowingInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_on0x0") + +[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_gkatd") + +[node name="01" parent="ReadyPlantInventoryItem/ReadyPlant" index="0"] +texture = ExtResource("2_gdicx") + +[node name="02" parent="ReadyPlantInventoryItem/ReadyPlant" index="1"] +texture = ExtResource("2_gdicx") + +[node name="03" parent="ReadyPlantInventoryItem/ReadyPlant" index="2"] +texture = ExtResource("2_gdicx") + +[editable path="GrowingInteractionArea"] +[editable path="ReadyPlantInventoryItem"] +[editable path="ReadyPlantInventoryItem/PickupInteractionArea"] diff --git a/prefabs/farm/tomato_field.tscn b/prefabs/farm/tomato_field.tscn deleted file mode 100644 index 8f1e2bf..0000000 --- a/prefabs/farm/tomato_field.tscn +++ /dev/null @@ -1,54 +0,0 @@ -[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")] -visible = false -_field = NodePath("..") -_magicWordNeeded = false - -[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/GrowingInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_jrdc4") - -[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_l0vvv") - -[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"] diff --git a/prefabs/interactions/generic_item_on_ground_2d.tscn b/prefabs/interactions/generic_item_on_ground_2d.tscn index af32756..c43511a 100644 --- a/prefabs/interactions/generic_item_on_ground_2d.tscn +++ b/prefabs/interactions/generic_item_on_ground_2d.tscn @@ -1,10 +1,15 @@ -[gd_scene load_steps=9 format=3 uid="uid://dpbbroif2tnil"] +[gd_scene load_steps=15 format=3 uid="uid://dpbbroif2tnil"] [ext_resource type="Script" uid="uid://btusf04xnywhm" path="res://scripts/CSharp/Common/Inventory/ItemOnGround2D.cs" id="1_tlhp6"] [ext_resource type="Script" uid="uid://c8suoi3i6kqai" path="res://scripts/CSharp/Common/Inventory/ItemOnGroundSpawnWith.cs" id="3_xu8me"] [ext_resource type="Material" uid="uid://bv3m12duf0dj6" path="res://art/materials/inventory_interactable_outline.tres" id="4_harr4"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="4_xu8me"] [ext_resource type="Texture2D" uid="uid://cfxibry711o16" path="res://art/ui/UI/icons/icon-scythe.png" id="5_harr4"] +[ext_resource type="AudioStream" uid="uid://bw630minafpvb" path="res://audio/sfx/UI/SFX_ItemPickUp_01.wav" id="6_gcj2v"] +[ext_resource type="AudioStream" uid="uid://by8ubxnfbrisv" path="res://audio/sfx/UI/SFX_ItemPickUp_02.wav" id="7_edjam"] +[ext_resource type="AudioStream" uid="uid://bqm6rchwtelxj" path="res://audio/sfx/UI/SFX_ItemPickUp_03.wav" id="8_kflfw"] +[ext_resource type="AudioStream" uid="uid://brsufnpmig5fv" path="res://audio/sfx/UI/SFX_ItemPickUp_04.wav" id="9_dltn0"] +[ext_resource type="Script" uid="uid://dx25g14a7xi4w" path="res://scripts/CSharp/Common/Audio/AudioPlayer.cs" id="10_clbey"] [sub_resource type="Theme" id="Theme_tlhp6"] default_font_size = 80 @@ -16,6 +21,13 @@ default_font_size = 40 resource_local_to_scene = true radius = 300.0 +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7mdru"] +streams_count = 4 +stream_0/stream = ExtResource("6_gcj2v") +stream_1/stream = ExtResource("7_edjam") +stream_2/stream = ExtResource("8_kflfw") +stream_3/stream = ExtResource("9_dltn0") + [node name="GenericItemOnGround" type="Node2D"] z_index = 1 y_sort_enabled = true @@ -55,6 +67,15 @@ position = Vector2(5, -300) scale = Vector2(0.868852, 0.868852) texture = ExtResource("5_harr4") +[node name="SFX" type="Node" parent="."] + +[node name="PickUpSound" type="AudioStreamPlayer" parent="SFX"] +stream = SubResource("AudioStreamRandomizer_7mdru") +bus = &"SFX" +playback_type = 2 +script = ExtResource("10_clbey") + [connection signal="Interacted" from="PickupInteractionArea" to="." method="TryPickUp"] +[connection signal="Interacted" from="PickupInteractionArea" to="SFX/PickUpSound" method="PlayOneShot"] [editable path="PickupInteractionArea"] diff --git a/project.godot b/project.godot index 8c08406..baff4e1 100644 --- a/project.godot +++ b/project.godot @@ -28,9 +28,9 @@ buses/default_bus_layout="uid://b6dwkmkyb0axk" SceneTransition="*res://scenes/SceneTransition.tscn" Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd" InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs" +QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn" FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn" InputService="*res://scripts/CSharp/Common/Services/InputService.cs" -QuestManager="*res://prefabs/quests/quest_manager_autoload.tscn" Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd" [dialogic] @@ -75,7 +75,7 @@ variables={ "SHOW": "IGF" } glossary/default_case_sensitive=true -layout/style_list=["res://dialog/NPC_narrative.tres"] +layout/style_list=["res://dialog/NPC_narrative.tres", "res://addons/babushkahelpers/babushka_dialogue_style.tres", "res://addons/dialogic/vesna_style.tres"] layout/default_style="res://dialog/NPC_narrative.tres" extensions_folder="res://addons/dialogic_additions" text/letter_speed=0.01 @@ -134,8 +134,10 @@ directories/tres_directory={ "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", +"babushka_dialogue_style": "res://addons/babushkahelpers/babushka_dialogue_style.tres", "beet": "res://resources/items/beet.tres", "beetRoot": "res://resources/quests/beetRoot.tres", +"beet_seed": "res://resources/items/beet_seed.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", @@ -145,6 +147,7 @@ directories/tres_directory={ "farming_equipment_glossary": "res://dialog/farming_equipment_glossary.tres", "hoe": "res://resources/items/hoe.tres", "inventory_interactable_outline": "res://art/materials/inventory_interactable_outline.tres", +"itemRepository": "res://resources/itemRepository.tres", "preview_character": "res://addons/dialogic/Modules/Character/preview_character.tres", "rake": "res://resources/items/rake.tres", "scythe": "res://resources/items/scythe.tres", @@ -163,6 +166,7 @@ directories/tres_directory={ "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", +"vesna_style": "res://addons/dialogic/vesna_style.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" @@ -207,6 +211,7 @@ folder_colors={ [global_group] PlantGrowing="" +Pickup="" [input] diff --git a/resources/itemRepository.tres b/resources/itemRepository.tres new file mode 100644 index 0000000..f9e2781 --- /dev/null +++ b/resources/itemRepository.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" script_class="ItemRepository" load_steps=4 format=3 uid="uid://d284vxftxhym0"] + +[ext_resource type="Resource" uid="uid://d1uuxp1lp4aro" path="res://resources/items/tomato_seed.tres" id="1_67bbe"] +[ext_resource type="Script" uid="uid://oafmfqkdqewd" path="res://scripts/CSharp/Common/Inventory/ItemRepository.cs" id="1_ew4x0"] +[ext_resource type="Resource" uid="uid://duq7tshxv6uhp" path="res://resources/items/beet_seed.tres" id="2_67bbe"] + +[resource] +script = ExtResource("1_ew4x0") +itemInventoryRepository = Dictionary[Object, String]({ +ExtResource("1_67bbe"): "res://prefabs/farm/plants/tomato_plant.tscn", +ExtResource("2_67bbe"): "res://prefabs/farm/plants/beet_plant.tscn" +}) +metadata/_custom_type_script = "uid://oafmfqkdqewd" diff --git a/resources/items/beet.tres b/resources/items/beet.tres index 4526b26..d8c4391 100644 --- a/resources/items/beet.tres +++ b/resources/items/beet.tres @@ -1,11 +1,11 @@ [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="Texture2D" uid="uid://djewfwrdt4iv3" path="res://art/ui/UI/icons/icon-fruit-beetroot.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" +name = "Beet" color = Color(0.451671, 0.0462732, 0.396459, 1) icon = ExtResource("1_wddc8") maxStack = 20 diff --git a/resources/items/beet_seed.tres b/resources/items/beet_seed.tres new file mode 100644 index 0000000..72853e9 --- /dev/null +++ b/resources/items/beet_seed.tres @@ -0,0 +1,12 @@ +[gd_resource type="Resource" script_class="ItemResource" load_steps=3 format=3 uid="uid://duq7tshxv6uhp"] + +[ext_resource type="Texture2D" uid="uid://b4pa77olxr14q" path="res://art/ui/UI/icons/icon-seed-beetroot.png" id="1_umigy"] +[ext_resource type="Script" uid="uid://cbskymrxs6ksu" path="res://scripts/CSharp/Common/Inventory/ItemResource.cs" id="2_hrv3l"] + +[resource] +script = ExtResource("2_hrv3l") +name = "Beet Seeds" +color = Color(0.451671, 0.0462732, 0.396459, 1) +icon = ExtResource("1_umigy") +maxStack = 20 +metadata/_custom_type_script = "uid://cbskymrxs6ksu" diff --git a/resources/items/tomato_seed.tres b/resources/items/tomato_seed.tres index e778349..d66cfd9 100644 --- a/resources/items/tomato_seed.tres +++ b/resources/items/tomato_seed.tres @@ -1,7 +1,7 @@ [gd_resource type="Resource" script_class="ItemResource" load_steps=3 format=3 uid="uid://d1uuxp1lp4aro"] [ext_resource type="Script" uid="uid://cbskymrxs6ksu" path="res://scripts/CSharp/Common/Inventory/ItemResource.cs" id="1_dustj"] -[ext_resource type="Texture2D" uid="uid://ce04nexh36uwe" path="res://art/ui/UI/icons/icon-seed-tomatoe.png" id="1_u15c2"] +[ext_resource type="Texture2D" uid="uid://b51j84idxe7hr" path="res://art/ui/UI/icons/icon-seed-tomato.png" id="1_u15c2"] [resource] script = ExtResource("1_dustj") diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index 64a27a3..262cd94 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=119 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=116 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"] @@ -30,16 +30,16 @@ [ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="24_wtdui"] [ext_resource type="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="25_0qu0h"] [ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="25_hukxv"] -[ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="26_ipqaa"] -[ext_resource type="Resource" uid="uid://c7viddcd3kywp" path="res://resources/items/shovel.tres" id="27_ipqaa"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="27_klb81"] [ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_6b2nr"] [ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"] -[ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"] [ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="32_2nee2"] [ext_resource type="Script" uid="uid://boehox1ydbcnx" path="res://scripts/CSharp/Common/Farming/WellBehaviour.cs" id="32_lbnqo"] [ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="34_e5b7x"] +[ext_resource type="Resource" uid="uid://d1uuxp1lp4aro" path="res://resources/items/tomato_seed.tres" id="35_64mdn"] [ext_resource type="Texture2D" uid="uid://65e44yde224q" path="res://art/farm/Babushka_house_01.png" id="36_e5b7x"] +[ext_resource type="Resource" uid="uid://duq7tshxv6uhp" path="res://resources/items/beet_seed.tres" id="36_fv1t2"] +[ext_resource type="Texture2D" uid="uid://b4krfobwq3r3h" path="res://art/test_tomatos.png" id="36_l7ekk"] [ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="37_8ey8m"] [ext_resource type="AudioStream" uid="uid://dku1rq5cocisg" path="res://audio/Music/Farming_90BPM_69Bars.wav" id="37_di1ed"] [ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="37_taxvr"] @@ -47,7 +47,7 @@ [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="39_di1ed"] [ext_resource type="Texture2D" uid="uid://ccy6bwunhfvrf" path="res://art/farm/Babushka_house_frontDoor.png" id="39_lbnqo"] [ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="40_ceriq"] -[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="40_w3jkj"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="40_w3jkj"] [ext_resource type="Texture2D" uid="uid://dgavbfci8x178" path="res://art/nature/grass/grass-1.png" id="41_apj51"] [ext_resource type="Script" uid="uid://clxb3n668oud3" path="res://scripts/CSharp/Common/Audio/AudioDebugger.cs" id="42_1nkjm"] [ext_resource type="Texture2D" uid="uid://b644ofy7fml5w" path="res://art/nature/grass/grass-5.png" id="42_loeum"] @@ -66,7 +66,7 @@ [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="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/animals/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"] [ext_resource type="Script" uid="uid://c741nyedy26mx" path="res://scripts/CSharp/Common/QuestBehaviour/DetectInventoryContains.cs" id="68_hux6i"] @@ -165,10 +165,6 @@ size = Vector2(1041, 368) resource_local_to_scene = true radius = 371.058 -[sub_resource type="CircleShape2D" id="CircleShape2D_ycj14"] -resource_local_to_scene = true -radius = 300.0 - [sub_resource type="CircleShape2D" id="CircleShape2D_2065p"] resource_local_to_scene = true radius = 300.0 @@ -177,27 +173,19 @@ radius = 300.0 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 - [sub_resource type="ShaderMaterial" id="ShaderMaterial_lhtpe"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"] shader = ExtResource("37_taxvr") shader_parameter/speed = 1.0 shader_parameter/minStrength = 0.05 -shader_parameter/maxStrength = 0.187 +shader_parameter/maxStrength = 0.326 shader_parameter/strengthScale = 100.0 shader_parameter/interval = 3.5 shader_parameter/detail = 2.095 shader_parameter/distortion = 1.0 shader_parameter/heightOffset = 0.51 -shader_parameter/offset = 1.0 +shader_parameter/offset = 100.0 [sub_resource type="ShaderMaterial" id="ShaderMaterial_618my"] shader = ExtResource("37_taxvr") @@ -230,25 +218,25 @@ size = Vector2(5782, 1176) resource_local_to_scene = true size = Vector2(7150, 1192) -[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxa2m"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_lwk6t"] shader = ExtResource("13_7p0hq") shader_parameter/hue_shift = 0.0 -shader_parameter/saturation_mult = 0.753 +shader_parameter/saturation_mult = 0.871 shader_parameter/value_mult = 1.0 shader_parameter/brightness_add = 0.0 shader_parameter/contrast_mult = 1.0 -[sub_resource type="ShaderMaterial" id="ShaderMaterial_lwk6t"] +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ycj14"] +size = Vector2(707.116, 604.111) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxa2m"] shader = ExtResource("13_7p0hq") shader_parameter/hue_shift = 0.0 -shader_parameter/saturation_mult = 0.871 +shader_parameter/saturation_mult = 0.753 shader_parameter/value_mult = 1.0 shader_parameter/brightness_add = 0.0 shader_parameter/contrast_mult = 1.0 -[sub_resource type="RectangleShape2D" id="RectangleShape2D_ycj14"] -size = Vector2(707.116, 604.111) - [sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"] loop = false stream_count = 1 @@ -284,7 +272,7 @@ metadata/_custom_type_script = "uid://be54lnb6gg81f" [node name="BabushkaSceneFarmOutside2d" type="Node2D"] script = ExtResource("34_e5b7x") -_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn") +_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn", "res://scenes/Babushka_scene_outside_beets.tscn") [node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")] position = Vector2(3180, 1961) @@ -1051,7 +1039,6 @@ z_index = 1 position = Vector2(9322, 2018) _fieldParent = NodePath("../Farm visuals/FieldParent") _hoe = ExtResource("28_6b2nr") -_wateringCan = ExtResource("28_ipqaa") [node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")] _camera = NodePath("../../../Camera2D") @@ -1084,16 +1071,6 @@ _id = 1 position = Vector2(146, -130) shape = SubResource("CircleShape2D_p6n74") -[node name="HoeGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")] -visible = false -position = Vector2(6095, 2087) - -[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"] -_blueprint = ExtResource("26_ipqaa") - -[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) @@ -1115,25 +1092,36 @@ _blueprint = ExtResource("28_6b2nr") [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 -position = Vector2(15642, 2158) +[node name="SeedPickup" parent="YSorted" instance=ExtResource("25_hukxv")] +position = Vector2(10114, 2469) +_infiniteSupply = true +_finiteSupply = 3 -[node name="SpawnWithItem" parent="YSorted/ScytheGenericPickup" index="0"] -_blueprint = ExtResource("29_wtdui") +[node name="SpawnWithItem" parent="YSorted/SeedPickup" index="0"] +_blueprint = ExtResource("35_64mdn") -[node name="CollisionShape3D" parent="YSorted/ScytheGenericPickup/PickupInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_lbnqo") +[node name="CollisionShape3D" parent="YSorted/SeedPickup/PickupInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_tm0yg") -[node name="ShovelGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")] -visible = false -position = Vector2(5454, 2049) +[node name="Icon" parent="YSorted/SeedPickup" index="4"] +scale = Vector2(1, 1) + +[node name="Sprite2D" type="Sprite2D" parent="YSorted/SeedPickup"] +texture = ExtResource("36_l7ekk") +region_enabled = true + +[node name="SeedPickup2" parent="YSorted" instance=ExtResource("25_hukxv")] +position = Vector2(10892, 2469) +_finiteSupply = 3 + +[node name="SpawnWithItem" parent="YSorted/SeedPickup2" index="0"] +_blueprint = ExtResource("36_fv1t2") -[node name="SpawnWithItem" parent="YSorted/ShovelGenericPickup" index="0"] -_blueprint = ExtResource("27_ipqaa") +[node name="CollisionShape3D" parent="YSorted/SeedPickup2/PickupInteractionArea/Area2D" index="0"] +shape = SubResource("CircleShape2D_tm0yg") -[node name="CollisionShape3D" parent="YSorted/ShovelGenericPickup/PickupInteractionArea/Area2D" index="0"] -shape = SubResource("CircleShape2D_l4wxt") +[node name="Icon" parent="YSorted/SeedPickup2" index="4"] +scale = Vector2(1, 1) [node name="Farm visuals" type="Node2D" parent="YSorted"] position = Vector2(-60, 122) @@ -1157,7 +1145,7 @@ position = Vector2(-252.56, 231.32) polygon = PackedVector2Array(247.227, 43.5123, 44.7822, 43.5123, -87.2178, 45.123, -104.329, -55.2797, -154.107, -73.5347, -160.107, -380.38, -175.44, -400.783, -63.44, -512.461, 97.8934, -541.991, 261.671, -599.172, 374.782, -526.421, 502.338, -526.421, 637.893, -396.488, 598.56, -360.783, 596.338, -58.2327, 528.782, -58.2327, 501.449, 45.9283) [node name="EnterHouseInteraction" parent="YSorted/Farm visuals/Static" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("27_klb81")] -position = Vector2(5839, 2349) +position = Vector2(5834, 2354) scale = Vector2(2.425, 2.425) _spriteToOutline = NodePath("DoorSprite") _id = 0 @@ -1192,6 +1180,7 @@ region_rect = Rect2(130, 0, 201, 278) [node name="bush6" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] modulate = Color(0.8428, 0.8771, 0.98, 1) +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(2612, 4022) scale = Vector2(2, 2) @@ -1287,6 +1276,7 @@ region_enabled = true region_rect = Rect2(1699, 76, 280, 230) [node name="bush14" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(8925, 4194) scale = Vector2(-5.54387, 3.80466) @@ -1297,6 +1287,7 @@ region_rect = Rect2(130, 0, 201, 278) [node name="bush15" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] modulate = Color(1, 0.86, 0.86, 1) +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(7757, 4194) scale = Vector2(3.21806, 3.18583) @@ -1410,18 +1401,6 @@ offset = Vector2(0, -172) region_enabled = true region_rect = Rect2(1837, 651, 139, 180) -[node name="bush24" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] -modulate = Color(0.8428, 0.8771, 0.98, 1) -z_index = 2 -y_sort_enabled = true -material = SubResource("ShaderMaterial_bcdgk") -position = Vector2(15973, 3380) -scale = Vector2(-1.93815, 1.5875) -texture = ExtResource("14_mrwmr") -offset = Vector2(0, -172) -region_enabled = true -region_rect = Rect2(1464, 419, 144, 115) - [node name="bush3" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] modulate = Color(1, 0.86, 0.86, 1) material = SubResource("ShaderMaterial_bcdgk") @@ -1559,6 +1538,7 @@ region_enabled = true region_rect = Rect2(1699, 76, 280, 230) [node name="bush13" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/right side"] +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(8145, 4141) scale = Vector2(-2.82886, 2.51195) @@ -1568,6 +1548,7 @@ region_enabled = true region_rect = Rect2(1699, 76, 280, 230) [node name="bush14" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/right side"] +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(8925, 4194) scale = Vector2(-5.54387, 3.80466) @@ -1578,6 +1559,7 @@ region_rect = Rect2(130, 0, 201, 278) [node name="bush15" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/right side"] modulate = Color(0.8428, 0.8771, 0.98, 1) +z_index = 2 material = SubResource("ShaderMaterial_bcdgk") position = Vector2(7763, 4164) scale = Vector2(3.21806, 3.18583) @@ -1844,7 +1826,6 @@ region_enabled = true region_rect = Rect2(29, 204, 219, 159) [node name="grass27" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"] -z_index = -5 position = Vector2(7757, 3423) rotation = 1.57079 scale = Vector2(7.28513, 6.16997) @@ -1992,7 +1973,7 @@ region_rect = Rect2(29, 204, 219, 159) [node name="grass5" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"] z_index = -5 -position = Vector2(15375, 3149) +position = Vector2(15381, 3152) scale = Vector2(5.77602, 3.87779) texture = ExtResource("44_uxa2m") region_enabled = true @@ -2141,21 +2122,6 @@ shape = SubResource("RectangleShape2D_p6n74") [node name="Blocker" type="Node2D" parent="YSorted"] -[node name="Fence Door" type="Sprite2D" parent="YSorted/Blocker"] -material = SubResource("ShaderMaterial_uxa2m") -position = Vector2(11205, 1560) -rotation = 0.00432089 -scale = Vector2(-0.905, 0.925) -texture = ExtResource("49_i36hd") - -[node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Blocker/Fence Door"] -collision_layer = 2 -collision_mask = 4 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Blocker/Fence Door/StaticBody2D"] -position = Vector2(-113.561, 193.035) -shape = SubResource("RectangleShape2D_2vojv") - [node name="Fence Door2" type="Sprite2D" parent="YSorted/Blocker"] material = SubResource("ShaderMaterial_lwk6t") position = Vector2(3788, 1563) @@ -2171,6 +2137,26 @@ collision_mask = 4 position = Vector2(-106.663, 182.891) shape = SubResource("RectangleShape2D_ycj14") +[node name="InteractionArea" parent="YSorted/Blocker" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("27_klb81")] +position = Vector2(11234, 1850) +_spriteToOutline = NodePath("Fence Door") +_id = 1 + +[node name="Fence Door" type="Sprite2D" parent="YSorted/Blocker/InteractionArea"] +material = SubResource("ShaderMaterial_uxa2m") +position = Vector2(1, -271) +rotation = -3.13727 +scale = Vector2(0.905, -0.925) +texture = ExtResource("49_i36hd") + +[node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Blocker/InteractionArea/Fence Door"] +collision_layer = 2 +collision_mask = 4 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Blocker/InteractionArea/Fence Door/StaticBody2D"] +position = Vector2(-113.561, 193.035) +shape = SubResource("RectangleShape2D_2vojv") + [node name="ducks" type="Node2D" parent="YSorted"] z_index = 1 y_sort_enabled = true @@ -2332,6 +2318,13 @@ offset_top = 0.228533 offset_right = -456.339 offset_bottom = 30.2285 +[node name="QuestLogRoot" parent="CanvasLayer" index="2"] +metadata/_edit_use_anchors_ = true + +[node name="Text" parent="CanvasLayer/Control/ColorRect" index="0"] +text = "[Hier könnte ihre Werbung stehen]" +autowrap_mode = 3 + [node name="Audio" type="Node" parent="."] [node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"] @@ -2353,6 +2346,24 @@ area_mask = 33 playback_type = 1 script = ExtResource("42_1nkjm") +[node name="Background Music loop2" type="AudioStreamPlayer2D" parent="Audio"] +position = Vector2(4002, 2030) +stream = ExtResource("37_8ey8m") +max_distance = 1e+06 +bus = &"Music" +area_mask = 33 +playback_type = 1 +script = ExtResource("42_1nkjm") + +[node name="Background Music loop2" type="AudioStreamPlayer2D" parent="Audio/Background Music loop2"] +position = Vector2(4002, 2030) +stream = ExtResource("37_8ey8m") +max_distance = 1e+06 +bus = &"Music" +area_mask = 33 +playback_type = 1 +script = ExtResource("42_1nkjm") + [node name="SFX" type="Node" parent="Audio"] [node name="Farming SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"] @@ -2373,28 +2384,28 @@ max_distance = 2e+07 playback_type = 2 script = ExtResource("40_w3jkj") -[node name="SpeicialQuestTrigger" type="Node" parent="."] +[node name="SpecialQuestTrigger" type="Node" parent="."] -[node name="QuestInstantStart" type="Node" parent="SpeicialQuestTrigger"] +[node name="QuestInstantStart" type="Node" parent="SpecialQuestTrigger"] -[node name="QuestTrigger" type="Node" parent="SpeicialQuestTrigger/QuestInstantStart"] +[node name="QuestTrigger" type="Node" parent="SpecialQuestTrigger/QuestInstantStart"] script = ExtResource("66_2065p") questResource = ExtResource("67_tm0yg") toStatus = 1 makeActive = true -[node name="ToolsCollectedTrigger" type="Node" parent="SpeicialQuestTrigger"] +[node name="ToolsCollectedTrigger" type="Node" parent="SpecialQuestTrigger"] script = ExtResource("68_hux6i") _itemsToContain = Array[Resource]([SubResource("Resource_y820s"), SubResource("Resource_50loj")]) _onAvailableQuest = ExtResource("68_lbnqo") _toNextQuest = ExtResource("69_l4wxt") -[node name="FieldWorkTrigger" type="Node" parent="SpeicialQuestTrigger"] +[node name="FieldWorkTrigger" type="Node" parent="SpecialQuestTrigger"] script = ExtResource("74_fv1t2") _onAvailableQuest = ExtResource("75_l7ekk") _toNextQuest = ExtResource("76_xcwle") -[node name="StartDialog" type="Node" parent="SpeicialQuestTrigger/FieldWorkTrigger"] +[node name="StartDialog" type="Node" parent="SpecialQuestTrigger/FieldWorkTrigger"] script = ExtResource("77_l7ekk") timeline = "quest2_tomatoes_end" @@ -2403,9 +2414,12 @@ timeline = "quest2_tomatoes_end" [connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] [connection signal="SuccessfulPickUp" from="YSorted/CanGenericPickup" to="YSorted/Vesna" method="HandlePickUp"] [connection signal="SuccessfulPickUp" from="YSorted/RakeGenericPickup" to="YSorted/Vesna" method="HandlePickUp"] +[connection signal="SuccessfulPickUp" from="YSorted/SeedPickup" to="YSorted/Vesna" method="HandlePickUp"] +[connection signal="SuccessfulPickUp" from="YSorted/SeedPickup2" to="YSorted/Vesna" method="HandlePickUp"] [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="InteractedTool" from="YSorted/Blocker/InteractionArea" to="." method="LoadSceneAtIndex"] [connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"] [connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"] [connection signal="DuckCollected" from="YSorted/ducks/Duck3" to="YSorted/ducks" method="Increment"] @@ -2415,19 +2429,17 @@ timeline = "quest2_tomatoes_end" [connection signal="DuckCollected" from="YSorted/ducks/Duck7" to="YSorted/ducks" method="Increment"] [connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"] [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] -[connection signal="ready" from="SpeicialQuestTrigger/QuestInstantStart" to="SpeicialQuestTrigger/QuestInstantStart/QuestTrigger" method="Trigger"] -[connection signal="OnFulfilled" from="SpeicialQuestTrigger/FieldWorkTrigger" to="SpeicialQuestTrigger/FieldWorkTrigger/StartDialog" method="open"] +[connection signal="ready" from="SpecialQuestTrigger/QuestInstantStart" to="SpecialQuestTrigger/QuestInstantStart/QuestTrigger" method="Trigger"] +[connection signal="OnFulfilled" from="SpecialQuestTrigger/FieldWorkTrigger" to="SpecialQuestTrigger/FieldWorkTrigger/StartDialog" method="open"] [editable path="YSorted/Vesna"] [editable path="YSorted/Brünnen/InteractionArea"] -[editable path="YSorted/HoeGenericPickup"] -[editable path="YSorted/HoeGenericPickup/PickupInteractionArea"] [editable path="YSorted/CanGenericPickup"] [editable path="YSorted/CanGenericPickup/PickupInteractionArea"] [editable path="YSorted/RakeGenericPickup"] [editable path="YSorted/RakeGenericPickup/PickupInteractionArea"] -[editable path="YSorted/ScytheGenericPickup"] -[editable path="YSorted/ScytheGenericPickup/PickupInteractionArea"] -[editable path="YSorted/ShovelGenericPickup"] -[editable path="YSorted/ShovelGenericPickup/PickupInteractionArea"] +[editable path="YSorted/SeedPickup"] +[editable path="YSorted/SeedPickup/PickupInteractionArea"] +[editable path="YSorted/SeedPickup2"] +[editable path="YSorted/SeedPickup2/PickupInteractionArea"] [editable path="CanvasLayer"] diff --git a/scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn b/scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn index 02836e9..9cd1c59 100644 --- a/scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn +++ b/scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn @@ -48,7 +48,7 @@ [ext_resource type="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="47_o4ch6"] [ext_resource type="Texture2D" uid="uid://blb3agipyxnal" path="res://art/farm/farming/farmobjekte/zaun/fence_door.png" id="48_hknn3"] [ext_resource type="Script" uid="uid://l6iq8rpym5io" path="res://scripts/CSharp/Common/Util/Counter.cs" id="49_3bowf"] -[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="50_j7vsa"] +[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/animals/duck.tscn" id="50_j7vsa"] [ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="51_v78io"] [ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="52_qgfjh"] [ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="53_v4u68"] @@ -57,7 +57,7 @@ [ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="56_smepe"] [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="57_ayguc"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="58_qeach"] -[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="59_0knno"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="59_0knno"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="60_xaxer"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="61_b4x0p"] [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="62_811xr"] @@ -1020,7 +1020,6 @@ z_index = 1 position = Vector2(-2031, 2949) _fieldParent = NodePath("../Farm visuals/FieldParent") _hoe = ExtResource("29_36k8l") -_wateringCan = ExtResource("30_te7n5") [node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")] _camera = NodePath("../../../Camera2D") @@ -2074,10 +2073,11 @@ rotation = 1.5708 scale = Vector2(0.1, 10.8) texture = ExtResource("26_rnkrk") -[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"] +[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("fields")] position = Vector2(53, 20) scale = Vector2(1, 0.993819) script = ExtResource("47_o4ch6") +fields = {} metadata/_custom_type_script = "uid://dhxtdhfqx3bte" [node name="Area2D" type="Area2D" parent="YSorted/Farm visuals/FieldParent"] diff --git a/scenes/Babushka_scene_forest_fight_1_2d.tscn b/scenes/Babushka_scene_forest_fight_1_2d.tscn index a9f7fee..e00c3f9 100644 --- a/scenes/Babushka_scene_forest_fight_1_2d.tscn +++ b/scenes/Babushka_scene_forest_fight_1_2d.tscn @@ -49,7 +49,7 @@ [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="54_4l7ky"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="55_dk5xw"] [ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="55_ub0r7"] -[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="56_bjj0f"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="56_bjj0f"] [ext_resource type="Resource" uid="uid://c3mwhrvk12oml" path="res://resources/quests/demo/9_talk_to_chuga.tres" id="56_q833x"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="57_ehh6a"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="58_mfld1"] diff --git a/scenes/Babushka_scene_indoor_common_room.tscn b/scenes/Babushka_scene_indoor_common_room.tscn index 9d5dc34..4c596d6 100644 --- a/scenes/Babushka_scene_indoor_common_room.tscn +++ b/scenes/Babushka_scene_indoor_common_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=41 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"] @@ -7,7 +7,6 @@ [ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="5_sndxu"] [ext_resource type="Texture2D" uid="uid://bqwhptcgg5ons" path="res://art/indoor/room export/Room_01_dorr_R.png" id="6_blyw3"] [ext_resource type="Texture2D" uid="uid://vyk63d0pgqm5" path="res://art/indoor/room export/Room_01_dioor L.png" id="7_yd2gv"] -[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/simple_interactable_outline.tres" id="8_7a68a"] [ext_resource type="Texture2D" uid="uid://b2rj7wkyu6ehy" path="res://art/indoor/room export/Room_01_pechka.png" id="8_ofqcg"] [ext_resource type="Texture2D" uid="uid://dhvi5404cqioa" path="res://art/indoor/room export/Room_01_window.png" id="9_aoesu"] [ext_resource type="Texture2D" uid="uid://bpi35nxbhput8" path="res://art/indoor/room export/Room_01_pechkaDoor.png" id="10_xcryd"] @@ -22,15 +21,15 @@ [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="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="Script" uid="uid://cvkw4qd2hxksi" 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="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="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="22_tggq2"] +[ext_resource type="Resource" uid="uid://cbpurnewhyefa" 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"] @@ -312,7 +311,6 @@ region_rect = Rect2(3161, 313, 679, 1050) [node name="OutsideDoor" parent="BackWall/Room01DorrR" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")] position = Vector2(-7, 248) -_outlineMaterial = ExtResource("8_7a68a") _spriteToOutline = NodePath("..") _id = 1 @@ -325,7 +323,6 @@ region_rect = Rect2(0, 0, 3840, 2160) [node name="VesnasRoomDoor" parent="BackWall/Room01DoorL" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")] position = Vector2(-1559, -16) -_outlineMaterial = ExtResource("8_7a68a") _spriteToOutline = NodePath("..") _id = 0 @@ -362,7 +359,6 @@ region_rect = Rect2(2360, 864, 356, 251) [node name="InteractionArea" parent="BackWall/Room01PechkaDoor" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")] scale = Vector2(1.8, 1.96) -_outlineMaterial = ExtResource("8_7a68a") _spriteToOutline = NodePath("..") [node name="CollisionShape3D" parent="BackWall/Room01PechkaDoor/InteractionArea/Area2D" index="0"] @@ -413,7 +409,6 @@ script = ExtResource("22_tggq2") [node name="InteractionArea" parent="BackWall/Katze" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")] position = Vector2(-6.5, -44) scale = Vector2(0.5, 0.5) -_outlineMaterial = ExtResource("8_7a68a") _spriteToOutline = NodePath("..") [node name="Room assets" type="Node" parent="BackWall"] diff --git a/scenes/Babushka_scene_outside_beets.tscn b/scenes/Babushka_scene_outside_beets.tscn index c5acf97..6b44b2b 100644 --- a/scenes/Babushka_scene_outside_beets.tscn +++ b/scenes/Babushka_scene_outside_beets.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=91 format=3 uid="uid://b3ibx4resa1f3"] +[gd_scene load_steps=81 format=3 uid="uid://b3ibx4resa1f3"] [ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_6krrk"] [ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="2_4ktoi"] @@ -28,18 +28,16 @@ [ext_resource type="Texture2D" uid="uid://3ed3dgq3irn2" path="res://art/farm/farming/farmobjekte/zaun/tilable fence end part2.png" id="26_bwvai"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="27_qtaxr"] [ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_le48k"] -[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="29_6laxt"] [ext_resource type="Texture2D" uid="uid://dg7rlugnq0t45" path="res://art/farm/farming/farmobjekte/brünnen.png" id="30_lgb3w"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="31_xcb8u"] -[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="32_752hh"] -[ext_resource type="Resource" uid="uid://c5yg3lx756v4v" path="res://resources/items/hoe.tres" id="33_v0fwx"] [ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="37_7c2wq"] [ext_resource type="Texture2D" uid="uid://bq2wojyy4ptva" path="res://art/nature/baum märz 2025/sonnenblume7.png" id="38_0bsmo"] [ext_resource type="Texture2D" uid="uid://dgavbfci8x178" path="res://art/nature/grass/grass-1.png" id="39_8mefg"] [ext_resource type="Texture2D" uid="uid://h2b5aufaaw7w" path="res://art/nature/grass/grass-2.png" id="40_67iq1"] +[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field.tscn" id="40_efblm"] [ext_resource type="Texture2D" uid="uid://b644ofy7fml5w" path="res://art/nature/grass/grass-5.png" id="41_0irm8"] +[ext_resource type="PackedScene" uid="uid://d20oftcb5qso6" path="res://prefabs/farm/plants/beet_plant.tscn" id="41_vyqmy"] [ext_resource type="Texture2D" uid="uid://badnnid7dgnpk" path="res://art/nature/grass/grass-4.png" id="42_7jeth"] -[ext_resource type="PackedScene" uid="uid://d4m5iy5mwqpq3" path="res://prefabs/farm/beet_field.tscn" id="43_dr6bm"] [ext_resource type="Texture2D" uid="uid://ct7ea8ikor5rf" path="res://art/nature/grass/grass-3.png" id="43_g8k4k"] [ext_resource type="Texture2D" uid="uid://d3dwl6ph0pu1d" path="res://art/nature/grass/grass-6.png" id="44_jgrpl"] [ext_resource type="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="46_xkmgh"] @@ -50,7 +48,7 @@ [ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="55_aq24k"] [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="56_vojpc"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="57_euap5"] -[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="58_m3hs4"] +[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="58_m3hs4"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="59_km2vg"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="60_qi2gu"] [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="61_wy1mx"] @@ -137,14 +135,6 @@ size = Vector2(1041, 368) resource_local_to_scene = true radius = 371.058 -[sub_resource type="CircleShape2D" id="CircleShape2D_2nee2"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_ipqaa"] -resource_local_to_scene = true -radius = 300.0 - [sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"] shader = ExtResource("37_7c2wq") shader_parameter/speed = 1.0 @@ -173,30 +163,6 @@ shader_parameter/offset = 0.0 shader = ExtResource("24_anpd4") shader_parameter/tiling_scale = Vector2(1, 20) -[sub_resource type="CircleShape2D" id="CircleShape2D_hpgl7"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_qavgq"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_dr6bm"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_njxly"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_34r5t"] -resource_local_to_scene = true -radius = 300.0 - -[sub_resource type="CircleShape2D" id="CircleShape2D_54ty3"] -resource_local_to_scene = true -radius = 300.0 - [sub_resource type="ShaderMaterial" id="ShaderMaterial_lwk6t"] shader = ExtResource("17_lwdq7") shader_parameter/hue_shift = 0.0 @@ -231,7 +197,7 @@ stream_2/stream = ExtResource("63_td2xu") [node name="BabushkaSceneFarmOutside2d" type="Node2D"] script = ExtResource("1_6krrk") -_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn") +_sceneNamesToLoad = PackedStringArray("res://scenes/res://scenes/Babushka_scene_farm_outside_2d.tscn.tscn") [node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")] position = Vector2(3180, 1961) @@ -947,7 +913,6 @@ z_index = 1 position = Vector2(2693, 1876) _fieldParent = NodePath("../Farm visuals/FieldParent") _hoe = ExtResource("28_le48k") -_wateringCan = ExtResource("29_6laxt") [node name="Animated Sprites" parent="YSorted/Vesna/CharacterBody2D/visuals" index="0"] position = Vector2(-33, 554) @@ -956,7 +921,6 @@ position = Vector2(-33, 554) _camera = NodePath("../../../Camera2D") [node name="Brünnen" type="Sprite2D" parent="YSorted"] -visible = false z_index = 1 y_sort_enabled = true material = SubResource("ShaderMaterial_2vojv") @@ -973,46 +937,14 @@ collision_mask = 4 position = Vector2(145.5, -224) shape = SubResource("RectangleShape2D_0sfl7") -[node name="InteractionArea" parent="YSorted/Brünnen" instance=ExtResource("31_xcb8u")] +[node name="InteractionArea" parent="YSorted/Brünnen" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("31_xcb8u")] +_spriteToOutline = NodePath("..") _id = 1 [node name="CollisionShape3D" parent="YSorted/Brünnen/InteractionArea/Area2D" index="0"] position = Vector2(146, -130) shape = SubResource("CircleShape2D_p6n74") -[node name="HoeGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")] -visible = false -position = Vector2(6095, 2087) - -[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"] -_blueprint = ExtResource("33_v0fwx") - -[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_2nee2") - -[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")] -visible = false -position = Vector2(8192, 3507) - -[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"] -_blueprint = ExtResource("29_6laxt") - -[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="RakeGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")] -visible = false -position = Vector2(8391, 2060) - -[node name="SpawnWithItem" parent="YSorted/RakeGenericPickup" index="0"] -_blueprint = ExtResource("28_le48k") - -[node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_ipqaa") - [node name="Farm visuals" type="Node2D" parent="YSorted"] position = Vector2(-60, 122) @@ -1751,119 +1683,131 @@ rotation = 1.5708 scale = Vector2(0.1, 8.7) texture = ExtResource("26_bwvai") -[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"] +[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("fields")] position = Vector2(53, 20) scale = Vector2(1, 0.993819) script = ExtResource("46_xkmgh") +fields = {} metadata/_custom_type_script = "uid://dhxtdhfqx3bte" -[node name="BaseField" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(447, 2597) +[node name="BaseField" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(651, 2630.26) +scale = Vector2(1, 1.00622) -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField" index="0"] +FieldState = 3 -[node name="BeetSeet" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/Seeds" index="0"] -visible = true +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="01" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false +[node name="BaseField2" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(1226, 3098.15) +scale = Vector2(1, 1.00622) -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_hpgl7") +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField2" index="0"] +FieldState = 3 -[node name="BaseField2" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(1230, 2590) +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField2/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 1 +_field = NodePath("../..") -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] +[node name="BaseField3" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(1782, 2606.11) +scale = Vector2(1, 1.00622) -[node name="01" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField3" index="0"] +FieldState = 3 -[node name="03" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/BigPlant" index="2"] -visible = true +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField3/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_qavgq") +[node name="BaseField4" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(2559, 2624.22) +scale = Vector2(1, 1.00622) -[node name="BaseField3" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(1994, 2603) +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField4" index="0"] +FieldState = 3 -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField4/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="01" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/SmallPlant" index="0"] -visible = true +[node name="BaseField5" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(3305, 2624.22) +scale = Vector2(1, 1.00622) -[node name="01" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false - -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_dr6bm") - -[node name="BaseField4" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(478, 3098) - -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] - -[node name="BeetSeet3" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/Seeds" index="2"] -visible = true +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField5" index="0"] +FieldState = 3 -[node name="01" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField5/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_njxly") +[node name="BaseField6" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(4033, 2618.18) +scale = Vector2(1, 1.00622) -[node name="BaseField5" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(1279, 3123) +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField6" index="0"] +FieldState = 3 -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField6/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 1 +_field = NodePath("../..") -[node name="Seeds" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot" index="0"] -visible = false +[node name="BaseField7" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(4755, 2630.26) +scale = Vector2(1, 1.00622) -[node name="01" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField7" index="0"] +FieldState = 3 -[node name="02" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="1"] -visible = true +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField7/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_34r5t") +[node name="BaseField8" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(4418, 3226.95) +scale = Vector2(1, 1.00622) -[node name="BaseField6" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] -position = Vector2(2037, 3135) +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField8" index="0"] +FieldState = 3 -[node name="BeetRoot" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")] -_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null] +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField8/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 2 +_field = NodePath("../..") -[node name="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/SmallPlant" index="0"] -visible = true +[node name="BaseField9" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] +position = Vector2(5317, 3208.83) +scale = Vector2(1, 1.00622) -[node name="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/BigPlant" index="0"] -visible = false +[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="0"] +FieldState = 3 -[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] -shape = SubResource("CircleShape2D_54ty3") +[node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField9/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] +_state = 1 +_field = NodePath("../..") [node name="Blocker" type="Node2D" parent="YSorted"] -[node name="Fence Door2" type="Sprite2D" parent="YSorted/Blocker"] +[node name="BackToFarm" parent="YSorted/Blocker" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("31_xcb8u")] +position = Vector2(3774, 2025) +_spriteToOutline = NodePath("Fence Door2") +_id = 0 + +[node name="Fence Door2" type="Sprite2D" parent="YSorted/Blocker/BackToFarm"] material = SubResource("ShaderMaterial_lwk6t") -position = Vector2(3788, 1563) +position = Vector2(60, -450) rotation = -0.0963081 scale = Vector2(0.903, 0.96) texture = ExtResource("47_xfjh2") -[node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Blocker/Fence Door2"] +[node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Blocker/BackToFarm/Fence Door2"] collision_layer = 2 collision_mask = 4 -[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Blocker/Fence Door2/StaticBody2D"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Blocker/BackToFarm/Fence Door2/StaticBody2D"] position = Vector2(-106.663, 182.891) shape = SubResource("RectangleShape2D_ycj14") @@ -1950,41 +1894,19 @@ script = ExtResource("58_m3hs4") [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"] -[connection signal="SuccessfulPickUp" from="YSorted/CanGenericPickup" to="YSorted/Vesna" method="HandlePickUp"] -[connection signal="SuccessfulPickUp" from="YSorted/RakeGenericPickup" to="YSorted/Vesna" method="HandlePickUp"] [connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"] +[connection signal="InteractedTool" from="YSorted/Blocker/BackToFarm" to="." method="LoadSceneAtIndex"] [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] [editable path="YSorted/Vesna"] [editable path="YSorted/Brünnen/InteractionArea"] -[editable path="YSorted/HoeGenericPickup"] -[editable path="YSorted/HoeGenericPickup/InteractionArea2"] -[editable path="YSorted/CanGenericPickup"] -[editable path="YSorted/CanGenericPickup/InteractionArea2"] -[editable path="YSorted/RakeGenericPickup"] -[editable path="YSorted/RakeGenericPickup/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField"] -[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField2"] -[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField3"] -[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField4"] -[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField5"] -[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] -[editable path="YSorted/Farm visuals/BaseField6"] -[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot"] -[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] -[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField2"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField3"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField4"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField5"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField6"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField7"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField8"] +[editable path="YSorted/Farm visuals/FieldParent/BaseField9"] [editable path="CanvasLayer"] diff --git a/scenes/Babushka_scene_startMenu.tscn b/scenes/Babushka_scene_startMenu.tscn index 262a257..f4ea948 100644 --- a/scenes/Babushka_scene_startMenu.tscn +++ b/scenes/Babushka_scene_startMenu.tscn @@ -6,7 +6,7 @@ [node name="BabushkaSceneStartMenu" type="Node2D"] script = ExtResource("1_fj2fh") -_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_farm_outside_2d.tscn") +_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn") [node name="CanvasLayer" type="CanvasLayer" parent="."] diff --git a/scenes/testing/animation_setup_test.tscn b/scenes/testing/animation_setup_test.tscn index edba314..29e4c9d 100644 --- a/scenes/testing/animation_setup_test.tscn +++ b/scenes/testing/animation_setup_test.tscn @@ -72,7 +72,6 @@ rest = Transform2D(1, 0, 0, 1, 24.3826, -1.82351) [node name="head" type="Bone2D" parent="Vesna/Skeleton2D/hip/chest/neck"] position = Vector2(13.2948, -0.197781) rotation = 1.52891 -scale = Vector2(1, 1) rest = Transform2D(0.0418757, 0.999123, -0.999123, 0.0418757, 13.2948, -0.197781) [node name="armR" type="Bone2D" parent="Vesna/Skeleton2D/hip/chest"] @@ -84,7 +83,6 @@ rest = Transform2D(-0.674355, -0.0959749, 0.0959749, -0.674355, 19.1624, -26.827 [node name="forearmR" type="Bone2D" parent="Vesna/Skeleton2D/hip/chest/armR"] position = Vector2(26.3157, -1.29047) rotation = -2.2602 -scale = Vector2(1, 1) rest = Transform2D(-0.636078, -0.771625, 0.771625, -0.636078, 26.3157, -1.29047) [node name="handR" type="Bone2D" parent="Vesna/Skeleton2D/hip/chest/armR/forearmR"] @@ -101,5 +99,4 @@ rest = Transform2D(-0.99956, -0.0296662, 0.0296662, -0.99956, -4.51055, -13.9084 [node name="legRLower" type="Bone2D" parent="Vesna/Skeleton2D/hip/legR"] position = Vector2(24.8604, -0.524962) rotation = -3.11367 -scale = Vector2(1, 1) rest = Transform2D(-0.99961, -0.0279217, 0.0279217, -0.99961, 24.8604, -0.524962) diff --git a/scripts/CSharp/Common/Animation/Duck.cs b/scripts/CSharp/Common/Animation/Duck.cs index 008722a..766f472 100644 --- a/scripts/CSharp/Common/Animation/Duck.cs +++ b/scripts/CSharp/Common/Animation/Duck.cs @@ -5,8 +5,8 @@ namespace Babushka.scripts.CSharp.Common.Animation; public partial class Duck : Node2D { [Export] private CharacterBody2D _characterBody; - [Export] private AudioPlayer _nakNakAudio; - [Export] private AudioPlayer _wingFlapAudio; + [Export] private AudioPlayer2D _nakNakAudio; + [Export] private AudioPlayer2D _wingFlapAudio; [Export] private Node2D _vesna; [Export] private float _runningSpeed = 3f; [Export] private float _slowSpeed = 0.5f; diff --git a/scripts/CSharp/Common/Audio/AudioPlayer.cs b/scripts/CSharp/Common/Audio/AudioPlayer.cs new file mode 100644 index 0000000..cc41f48 --- /dev/null +++ b/scripts/CSharp/Common/Audio/AudioPlayer.cs @@ -0,0 +1,14 @@ +using Godot; + +namespace Babushka.scripts.CSharp.Common.Audio; + +public partial class AudioPlayer : AudioStreamPlayer +{ + /// + /// For SFX and other audio that should be played only once and not looped. + /// + public void PlayOneShot() + { + Play(); + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Audio/AudioPlayer.cs.uid b/scripts/CSharp/Common/Audio/AudioPlayer.cs.uid new file mode 100644 index 0000000..65f1e31 --- /dev/null +++ b/scripts/CSharp/Common/Audio/AudioPlayer.cs.uid @@ -0,0 +1 @@ +uid://dx25g14a7xi4w diff --git a/scripts/CSharp/Common/AudioPlayer.cs b/scripts/CSharp/Common/AudioPlayer2D.cs similarity index 79% rename from scripts/CSharp/Common/AudioPlayer.cs rename to scripts/CSharp/Common/AudioPlayer2D.cs index 1be2174..62409a2 100644 --- a/scripts/CSharp/Common/AudioPlayer.cs +++ b/scripts/CSharp/Common/AudioPlayer2D.cs @@ -2,7 +2,7 @@ using Godot; namespace Babushka.scripts.CSharp.Common; -public partial class AudioPlayer : AudioStreamPlayer2D +public partial class AudioPlayer2D : AudioStreamPlayer2D { /// /// For SFX and other audio that should be played only once and not looped. diff --git a/scripts/CSharp/Common/AudioPlayer.cs.uid b/scripts/CSharp/Common/AudioPlayer2D.cs.uid similarity index 100% rename from scripts/CSharp/Common/AudioPlayer.cs.uid rename to scripts/CSharp/Common/AudioPlayer2D.cs.uid diff --git a/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs b/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs index 72ea54b..1c93896 100644 --- a/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs +++ b/scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs @@ -1,4 +1,5 @@ using System; +using Babushka.scripts.CSharp.Common.Services; using Godot; namespace Babushka.scripts.CSharp.Common.CharacterControls; @@ -25,10 +26,13 @@ public partial class InteractionArea2D : Node2D set => _active = value; } + public void SetActiveInverse(bool active) + { + IsActive = !active; + } public override void _Ready() { - if (_useSprite && _useOutline) { try @@ -40,12 +44,12 @@ public partial class InteractionArea2D : Node2D GD.PrintErr($"No sprite to outline found on: {GetParent().Name}" + exception.Message); } } - } + public void OnPlayerEntered(Node2D player) { - if (!_active) + if (!_active || !InputService.Instance.InputEnabled) return; if(_showLabel) @@ -72,21 +76,31 @@ public partial class InteractionArea2D : Node2D public override void _Input(InputEvent @event) { - if (!_active) + if (!_active || !InputService.Instance.InputEnabled) return; if (@event.IsAction("interact") && @event.IsPressed()) { - if (_area.HasOverlappingBodies()) - { - _label.Hide(); + TryInteract(); + } + + if (@event.IsActionPressed("click") && @event.IsPressed()) + { + TryInteract(); + } + } + + private void TryInteract() + { + if (_area.HasOverlappingBodies()) + { + _label.Hide(); - if (_useSprite && _useOutline) - _spriteToOutline.Material = _backupMaterial; + if (_useSprite && _useOutline) + _spriteToOutline.Material = _backupMaterial; - EmitSignal(SignalName.InteractedTool, _id); - EmitSignal(SignalName.Interacted); - } + EmitSignal(SignalName.InteractedTool, _id); + EmitSignal(SignalName.Interacted); } } diff --git a/scripts/CSharp/Common/CharacterControls/PlayerMovement.cs b/scripts/CSharp/Common/CharacterControls/PlayerMovement.cs index 029a6b8..bb95566 100644 --- a/scripts/CSharp/Common/CharacterControls/PlayerMovement.cs +++ b/scripts/CSharp/Common/CharacterControls/PlayerMovement.cs @@ -1,5 +1,3 @@ -using System.Threading.Tasks; -using Babushka.scripts.CSharp.Common.Inventory; using Babushka.scripts.CSharp.Common.Services; using Godot; @@ -8,8 +6,7 @@ namespace Babushka.scripts.CSharp.Common.CharacterControls; public partial class PlayerMovement : CharacterBody2D { [Export] private float _speed = 1000f; - - private InventoryManager _inventoryManager; + [Export] private Timer _stepTimer; public override void _Process(double delta) { @@ -49,6 +46,19 @@ public partial class PlayerMovement : CharacterBody2D anyActionPressed = true; } + + if (Velocity.LengthSquared() == 0 && currentVelocity.LengthSquared() > 0) + { + _stepTimer.Start(); + _stepTimer.SetPaused(false); + } + + if (currentVelocity.LengthSquared() == 0 && Velocity.LengthSquared() != 0) + { + _stepTimer.Stop(); + _stepTimer.SetPaused(true); + } + if (anyActionPressed) { @@ -67,5 +77,9 @@ public partial class PlayerMovement : CharacterBody2D Velocity = currentVelocity; MoveAndSlide(); } + else + { + Velocity = Vector2.Zero; + } } } diff --git a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs index b747ebf..19ad9d0 100644 --- a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs @@ -1,5 +1,6 @@ using System; using Babushka.scripts.CSharp.Common.CharacterControls; +using Babushka.scripts.CSharp.Common.Inventory; using Godot; namespace Babushka.scripts.CSharp.Common.Farming; @@ -13,7 +14,10 @@ public partial class FieldBehaviour2D : Sprite2D [Export] private Texture2D Tilled; [Export] private Texture2D Watered; [Export] public FieldState FieldState = FieldState.Tilled; - [Export] private InteractionArea2D _growingCollider; + [Export] public InteractionArea2D PlantingInteraction; + [Export] public Node2D PlantingPlaceholder; + [Export] public ItemRepository ItemRepository; + public Vector2 FieldPosition; @@ -31,19 +35,22 @@ public partial class FieldBehaviour2D : Sprite2D { case FieldState.Empty: FieldState = FieldState.Empty; + PlantingInteraction.IsActive = false; break; case FieldState.Tilled: FieldState = FieldState.Tilled; _fieldSprite.Texture = Tilled; - _growingCollider.Visible = false; + PlantingInteraction.IsActive = true; break; case FieldState.Watered: FieldState = FieldState.Watered; _fieldSprite.Texture = Watered; - _growingCollider.Visible = true; + PlantingInteraction.IsActive = true; break; case FieldState.Planted: FieldState = FieldState.Planted; + _fieldSprite.Texture = Tilled; + PlantingInteraction.IsActive = false; break; default: FieldState = FieldState.NotFound; @@ -62,19 +69,41 @@ public partial class FieldBehaviour2D : Sprite2D /// public void Farm() { - switch (FieldState) + if (TryPlant()) { - case FieldState.Empty: - _fieldSprite.Texture = Tilled; - FieldState = FieldState.Tilled; - break; - case FieldState.Watered: - FieldState = FieldState.Planted; - break; - case FieldState.Planted: - break; - default: - break; + UpdateFieldState(FieldState.Planted); } } + + private bool TryPlant() + { + bool success = false; + int currentSlotIndex = InventoryManager.Instance.CurrentSelectedSlotIndex; + ItemInstance? item = InventoryManager.Instance.playerInventory.Slots[currentSlotIndex].itemInstance; + + if (item == null || PlantingPlaceholder.GetChildCount() > 0 || item.amount == 0) + return success; + + string prefabPath = ItemRepository.TryGetPrefabPath(item.blueprint); + + if (prefabPath != null) + { + PackedScene prefab = ResourceLoader.Load(prefabPath, nameof(PackedScene)); + Node2D plant2d = prefab.Instantiate(); + PlantingPlaceholder.AddChild(plant2d); + plant2d.GlobalPosition = PlantingPlaceholder.GlobalPosition; + PlantBehaviour2D? plantBehaviour = plant2d as PlantBehaviour2D; + + if (plantBehaviour != null) + { + plantBehaviour.Field = this; + } + + InventoryManager.Instance.playerInventory.RemoveItem(currentSlotIndex); + success = true; + } + + return success; + } + } \ No newline at end of file diff --git a/scripts/CSharp/Common/Farming/FieldService2D.cs b/scripts/CSharp/Common/Farming/FieldService2D.cs index 0583dbd..0d241e9 100644 --- a/scripts/CSharp/Common/Farming/FieldService2D.cs +++ b/scripts/CSharp/Common/Farming/FieldService2D.cs @@ -12,20 +12,6 @@ public partial class FieldService2D : Node2D [Signal] public delegate void FieldCreatedEventHandler(); - /* - public override void _PhysicsProcess(double delta) - { - var spaceState = GetWorld2D().DirectSpaceState; - // use global coordinates, not local to node - var query = PhysicsRayQueryParameters2D.Create(GetGlobalMousePosition(), new Vector3(0,0,-1), - CollisionMask, [GetRid()]); - var result = spaceState.IntersectRay(query); - if (result.Count > 0) - GD.Print("Hit at point: ", result["position"]); - } - */ - - //Create public bool TryAddEntry(Vector2I key, FieldBehaviour2D field) { diff --git a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs index d078b19..6a3439a 100644 --- a/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/PlantBehaviour2D.cs @@ -1,5 +1,5 @@ using System; -using Babushka.scripts.CSharp.Common.CharacterControls; +using Babushka.scripts.CSharp.Common.Animation; using Babushka.scripts.CSharp.Common.Inventory; using Godot; @@ -25,19 +25,46 @@ public partial class PlantBehaviour2D : Node2D private string _magicWordDialogicEventName = "MagicWord"; private Sprite2D _currentPlantSprite = null; private bool _magicWordSaid = false; + + /// + /// public accessor for the field reference + /// + public FieldBehaviour2D Field + { + get => _field; + set => _field = value; + } + + public override void _Ready() + { + if (_state == PlantState.None) + { + GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation); + _state = PlantState.Planted; + _currentPlantSprite = GetRandomSprite(_seeds); + _currentPlantSprite.Visible = true; + } + else + { + GrowPlant(); + } + } + + public void Grow() + { + GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation); + GrowPlant(); + } /// /// Transitions the plant to its next growth stage. /// - public void Grow() + public void GrowPlant() { if (_field.FieldState != FieldState.Watered || _magicWordSaid != _magicWordNeeded) return; - //GetTree().CallGroup("PlantGrowing", PlayerMovement.MethodName.PlayFarmingAnimation); - // todo: - // find out why the last plant stage is being skipped the second time around switch (_state) { case PlantState.None: @@ -47,26 +74,30 @@ public partial class PlantBehaviour2D : Node2D break; case PlantState.Planted: _state = PlantState.SmallPlant; - _currentPlantSprite.Visible = false; + if(_currentPlantSprite != null) + _currentPlantSprite.Visible = false; _currentPlantSprite = GetRandomSprite(_smallPlants); _currentPlantSprite.Visible = true; break; case PlantState.SmallPlant: _state = PlantState.BigPlant; - _currentPlantSprite.Visible = false; + if(_currentPlantSprite != null) + _currentPlantSprite.Visible = false; _currentPlantSprite = GetRandomSprite(_bigPlants); _currentPlantSprite.Visible = true; break; case PlantState.BigPlant: _state = PlantState.Ready; - _currentPlantSprite.Visible = false; + if(_currentPlantSprite != null) + _currentPlantSprite.Visible = false; _currentPlantSprite = GetRandomSprite(_readyPlants); _currentPlantSprite.Visible = true; ActivatePickupAfterDelay(true); break; case PlantState.Ready: _state = PlantState.None; - _currentPlantSprite.Visible = false; + if(_currentPlantSprite != null) + _currentPlantSprite.Visible = false; _currentPlantSprite = null; ActivatePickupAfterDelay(false); break; diff --git a/scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs b/scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs index 13df0bf..05eba7a 100644 --- a/scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/VesnaBehaviour2D.cs @@ -46,23 +46,21 @@ public partial class VesnaBehaviour2D : Node { InventorySlot currentSlot = InventoryManager.Instance.GetCurrentSelectedSlot(); ItemInstance? currentItem = currentSlot.itemInstance; - - if (currentItem == null) - return; - + int toolId = -1; - if (currentItem.blueprint == _hoe) + if (currentItem != null && currentItem.blueprint == _hoe) { toolId = 0; } - if (currentItem.blueprint == _wateringCan) + if (currentItem != null && currentItem.blueprint == _wateringCan) { toolId = 1; } ActivateTool(toolId); + _vesnaAnimations.ActivateTool(toolId >= 0, toolId); EmitSignal(SignalName.InventorySelectionChanged, toolId); } diff --git a/scripts/CSharp/Common/Inventory/InventoryActionResult.cs b/scripts/CSharp/Common/Inventory/InventoryActionResult.cs index be9c0e5..14efb3e 100644 --- a/scripts/CSharp/Common/Inventory/InventoryActionResult.cs +++ b/scripts/CSharp/Common/Inventory/InventoryActionResult.cs @@ -3,8 +3,8 @@ public enum InventoryActionResult { Success, - DestinationDoesNotExists, + DestinationDoesNotExist, DestinationFull, - SourceDoesNotExists, + SourceDoesNotExist, SourceIsEmpty } diff --git a/scripts/CSharp/Common/Inventory/InventoryInstance.cs b/scripts/CSharp/Common/Inventory/InventoryInstance.cs index 8812fe7..d1c7b50 100644 --- a/scripts/CSharp/Common/Inventory/InventoryInstance.cs +++ b/scripts/CSharp/Common/Inventory/InventoryInstance.cs @@ -17,6 +17,9 @@ public partial class InventoryInstance : Node [Signal] public delegate void InventoryContentsChangedEventHandler(); + /// + /// The total amount of Inventoryslots in the inventory (empty and occupied). + /// [Export] public int SlotAmount { @@ -49,7 +52,7 @@ public partial class InventoryInstance : Node private InventoryActionResult AddItemAndStackRecursive(ItemInstance newItem, int slotSearch) { if (newItem.blueprint == null || newItem.amount == 0) - return InventoryActionResult.SourceDoesNotExists; + return InventoryActionResult.SourceDoesNotExist; var slotIndex = -1; // find stackable slot @@ -97,7 +100,7 @@ public partial class InventoryInstance : Node if (inventorySlot < 0 || inventorySlot >= _slots.Count) { itemInstance = null; - return InventoryActionResult.SourceDoesNotExists; + return InventoryActionResult.SourceDoesNotExist; } if (_slots[inventorySlot].IsEmpty()) @@ -107,7 +110,14 @@ public partial class InventoryInstance : Node } itemInstance = _slots[inventorySlot].itemInstance; - _slots[inventorySlot].itemInstance = null; + if (itemInstance == null) + return InventoryActionResult.SourceDoesNotExist; + + itemInstance.amount -= 1; + + if(itemInstance.amount == 0) + _slots[inventorySlot].itemInstance = null; + EmitSignal(SignalName.InventoryContentsChanged); return InventoryActionResult.Success; } @@ -120,7 +130,7 @@ public partial class InventoryInstance : Node public InventoryActionResult AddItemToSlot(ItemInstance itemInstance, int destinationSlot) { if (destinationSlot < 0 || destinationSlot >= _slots.Count) - return InventoryActionResult.DestinationDoesNotExists; + return InventoryActionResult.DestinationDoesNotExist; if (!_slots[destinationSlot].IsEmpty()) return InventoryActionResult.DestinationFull; diff --git a/scripts/CSharp/Common/Inventory/InventorySlot.cs b/scripts/CSharp/Common/Inventory/InventorySlot.cs index 9ee5a5a..fec8f36 100644 --- a/scripts/CSharp/Common/Inventory/InventorySlot.cs +++ b/scripts/CSharp/Common/Inventory/InventorySlot.cs @@ -1,9 +1,21 @@ #nullable enable namespace Babushka.scripts.CSharp.Common.Inventory; +/// +/// Represents a virtual object wrapper for an item instance. +/// Can return the containing item or null. +/// public class InventorySlot { + /// + /// The inventory item instance that may or may not be bound to this slot. + /// public ItemInstance? itemInstance; + + /// + /// Whether or not this slot is currently occupied by an item instance. + /// + /// public bool IsEmpty() { return itemInstance == null; diff --git a/scripts/CSharp/Common/Inventory/ItemRepository.cs b/scripts/CSharp/Common/Inventory/ItemRepository.cs new file mode 100644 index 0000000..a9b85c7 --- /dev/null +++ b/scripts/CSharp/Common/Inventory/ItemRepository.cs @@ -0,0 +1,29 @@ + +using Godot; +using Godot.Collections; + +namespace Babushka.scripts.CSharp.Common.Inventory; + +/// +/// A dictionary wrapper resource that holds references to ItemResources and maps them to their respective prefabs. +/// +[GlobalClass] +public partial class ItemRepository : Resource +{ + [Export] public Dictionary itemInventoryRepository; + + /// + /// Returns the path to the itemPrefab for the inventory item. + /// + /// + /// + public string TryGetPrefabPath(ItemResource resource) + { + if (itemInventoryRepository.Keys.Contains(resource)) + { + return itemInventoryRepository[resource]; + } + + return null; + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Inventory/ItemRepository.cs.uid b/scripts/CSharp/Common/Inventory/ItemRepository.cs.uid new file mode 100644 index 0000000..29cac99 --- /dev/null +++ b/scripts/CSharp/Common/Inventory/ItemRepository.cs.uid @@ -0,0 +1 @@ +uid://oafmfqkdqewd diff --git a/scripts/CSharp/Common/Inventory/ItemResource.cs b/scripts/CSharp/Common/Inventory/ItemResource.cs index 0e0ed89..fd1b427 100644 --- a/scripts/CSharp/Common/Inventory/ItemResource.cs +++ b/scripts/CSharp/Common/Inventory/ItemResource.cs @@ -1,4 +1,5 @@ using Godot; + namespace Babushka.scripts.CSharp.Common.Inventory; [GlobalClass] @@ -15,7 +16,7 @@ public partial class ItemResource : Resource [Export] public int maxStack; - + public ItemResource() { name = ""; @@ -23,3 +24,4 @@ public partial class ItemResource : Resource maxStack = 1; } } + diff --git a/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs b/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs new file mode 100644 index 0000000..84de2d5 --- /dev/null +++ b/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs @@ -0,0 +1,57 @@ +using Babushka.scripts.CSharp.Common.CharacterControls; +using Babushka.scripts.CSharp.Common.Inventory; +using Godot; +using Godot.Collections; + +namespace Babushka.scripts.CSharp.Common.Items; + +public partial class InventoryDependentInteractable : Node2D +{ + [Export] private InteractionArea2D _interactionArea; + [Export] private Array _itemsToReactTo; + [Export] private bool _activateOnItem = true; + + private InventoryManager _inventoryManager; + private InventoryInstance _inventoryInstance; + + public override void _Ready() + { + _inventoryManager = InventoryManager.Instance; + _inventoryInstance = _inventoryManager.playerInventory; + _inventoryManager.SlotIndexChanged += HandleInventorySelectedSlotIndexChanged; + } + + private void HandleInventorySelectedSlotIndexChanged(int newIndex) + { + int currentSlotIndex = InventoryManager.Instance.CurrentSelectedSlotIndex; + ItemInstance? item = InventoryManager.Instance.playerInventory.Slots[currentSlotIndex].itemInstance; + + if (item != null) + { + if (_activateOnItem) + { + _interactionArea.IsActive = Match(item.blueprint); + } + else + { + _interactionArea.IsActive = !Match(item.blueprint); + } + } + + } + + private bool Match(ItemResource inventoryItem) + { + bool matched = false; + + foreach (ItemResource item in _itemsToReactTo) + { + if (inventoryItem == item) + { + matched = true; + } + } + + return matched; + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs.uid b/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs.uid new file mode 100644 index 0000000..4eeb9c5 --- /dev/null +++ b/scripts/CSharp/Common/Items/InventoryDependentInteractable.cs.uid @@ -0,0 +1 @@ +uid://doxr432r22dd0 diff --git a/scripts/CSharp/Common/Items/NonInventoryPickup.cs b/scripts/CSharp/Common/Items/NonInventoryPickup.cs new file mode 100644 index 0000000..1124923 --- /dev/null +++ b/scripts/CSharp/Common/Items/NonInventoryPickup.cs @@ -0,0 +1,13 @@ +using Babushka.scripts.CSharp.Common.Animation; +using Godot; + +namespace Babushka.scripts.CSharp.Common.Items; + +public partial class NonInventoryPickup : Node2D +{ + public void PlayPickupAnimation() + { + // todo: replace with EventBus implementation as soon as this is possible + GetTree().CallGroup("Pickup", VesnaAnimations.MethodName.PlayPickUpAnimation); + } +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid b/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid new file mode 100644 index 0000000..699a9ee --- /dev/null +++ b/scripts/CSharp/Common/Items/NonInventoryPickup.cs.uid @@ -0,0 +1 @@ +uid://dkk1vjijvgrd7 diff --git a/scripts/CSharp/Common/NPC/TalkingCharacter.cs b/scripts/CSharp/Common/NPC/TalkingCharacter.cs index 96c5fc5..feda0aa 100644 --- a/scripts/CSharp/Common/NPC/TalkingCharacter.cs +++ b/scripts/CSharp/Common/NPC/TalkingCharacter.cs @@ -12,7 +12,8 @@ public partial class TalkingCharacter : Node2D private int _timelineIndex = 0; [Signal] public delegate void TalkingEventHandler(string timelineName); - + [Signal] public delegate void FinishedTalkingEventHandler(bool hasTimeLinesToPlay); + public override void _Ready() { ToggleTalking(); @@ -37,5 +38,7 @@ public partial class TalkingCharacter : Node2D } if (_sprite != null) _sprite.Play(); + + EmitSignal(SignalName.FinishedTalking, _timelineIndex >= _timelinesToPlay.Length); } } diff --git a/scripts/CSharp/Common/Quest/QuestMessagePopup.cs b/scripts/CSharp/Common/Quest/QuestMessagePopup.cs index 6cb8792..0baf839 100644 --- a/scripts/CSharp/Common/Quest/QuestMessagePopup.cs +++ b/scripts/CSharp/Common/Quest/QuestMessagePopup.cs @@ -1,6 +1,5 @@ using Godot; using System; -using System.Net.Mime; using Babushka.scripts.CSharp.Common.Quest; public partial class QuestMessagePopup : Control diff --git a/scripts/CSharp/Common/SceneManagement/SceneTransitionThreaded.cs b/scripts/CSharp/Common/SceneManagement/SceneTransitionThreaded.cs index eeaff47..556bc3e 100644 --- a/scripts/CSharp/Common/SceneManagement/SceneTransitionThreaded.cs +++ b/scripts/CSharp/Common/SceneManagement/SceneTransitionThreaded.cs @@ -48,7 +48,6 @@ public partial class SceneTransitionThreaded : CanvasLayer public async void ChangeSceneToFile(string scenePath) { animationPlayer.Play("fadeIn"); - //yield(animationPlayer, "animation_finished"); await ToSignal(animationPlayer, "animation_finished"); GetTree().ChangeSceneToFile(scenePath); animationPlayer.Play("fadeOut"); diff --git a/scripts/CSharp/Common/SceneTransition.cs b/scripts/CSharp/Common/SceneTransition.cs index 7649041..e6c5426 100644 --- a/scripts/CSharp/Common/SceneTransition.cs +++ b/scripts/CSharp/Common/SceneTransition.cs @@ -17,7 +17,7 @@ public partial class SceneTransition : Node public void LoadSceneAtIndex(int index) { string sceneName = _sceneNamesToLoad[index]; - SceneTransitionThreaded.Instance.ChangeSceneToFile(sceneName); + SceneTransitionThreaded.Instance.ChangeSceneToFileThreaded(sceneName); UnloadAfterDelay(); } diff --git a/scripts/CSharp/Common/Temp/MVPDuck.cs b/scripts/CSharp/Common/Temp/MVPDuck.cs index d1e72b3..7c7cf93 100644 --- a/scripts/CSharp/Common/Temp/MVPDuck.cs +++ b/scripts/CSharp/Common/Temp/MVPDuck.cs @@ -12,13 +12,20 @@ public partial class MVPDuck : Node2D [Export] private int _transferDelayMs; [Export] private AnimationPlayer _animationPlayer; [Export] private string _flapAnimationName = "flapFlap"; + + private bool _collected; [Signal] public delegate void DuckCollectedEventHandler(); public void TransferToTargetAfterDelay() { - MoveAfterDelay(); - PlayAnimation(); + if (!_collected) + { + MoveAfterDelay(); + PlayAnimation(); + _collected = true; + } + } private void PlayAnimation() diff --git a/scripts/CSharp/Common/UI/WateringCanUi.cs b/scripts/CSharp/Common/UI/WateringCanUi.cs index ae62695..122df0c 100644 --- a/scripts/CSharp/Common/UI/WateringCanUi.cs +++ b/scripts/CSharp/Common/UI/WateringCanUi.cs @@ -5,7 +5,7 @@ namespace Babushka.scripts.CSharp.Common.UI; public partial class WateringCanUi : Node2D { - [Export] private Sprite2D[] _stages; + [Export] private Slider _slider; private const int WATERING_CAN_ID = 1; @@ -35,10 +35,8 @@ public partial class WateringCanUi : Node2D private void UpdateSprites() { - for (int i = 0; i < _stages.Length; i++) - { - _stages[i].Visible = WateringCanState.Active && i < WateringCanState.GetFillState(); - } + _slider.Visible = WateringCanState.Active; + _slider.Value = (float)WateringCanState.GetFillState() / WateringCanState.MAX_FILLSTATE; } } \ No newline at end of file diff --git a/shader/swaying_plant.gdshader b/shader/swaying_plant.gdshader index dcaae5a..01c04ce 100644 --- a/shader/swaying_plant.gdshader +++ b/shader/swaying_plant.gdshader @@ -35,9 +35,21 @@ float getWind(vec2 vertex, vec2 uv, float time){ return wind; } +float hash(vec2 p) { + return fract(sin(dot(p, vec2(12.9898,78.233))) * 43758.5453123); +} + +float noise(vec2 x) { + vec2 p = floor(x); + vec2 f = fract(x); + f = f * f * (3.0 - 2.0 * f); + vec2 a = vec2(1.0, 0.0); + return mix(mix(hash(p + a.yy), hash(p + a.xy), f.x), mix(hash(p + a.yx), hash(p + a.xx), f.x), f.y); +} + void vertex() { vec4 pos = MODEL_MATRIX * vec4(0.0, 0.0, 0.0, 1.0); - float time = TIME * speed + sin(float(INSTANCE_ID) * offset); - //float time = TIME * speed + pos.x * pos.y ; not working when moving... + //float time = TIME * speed + sin(VERTEX.x * noise(VERTEX.xy) * offset); + float time = TIME * speed + sin(pos.x * offset) * cos( pos.x * offset) ; VERTEX.x += getWind(VERTEX.xy, UV, time); -} \ No newline at end of file +}