Compare commits

...

8 Commits

60 changed files with 817 additions and 647 deletions
+105
View File
@@ -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"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

@@ -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]
Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

@@ -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]
Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

+34
View File
@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

+2 -2
View File
@@ -1,12 +1,12 @@
[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
+1 -1
View File
@@ -17,7 +17,7 @@
"volume_variance": 0.0
}
},
"style": "NPC_narrative"
"style": "vesna_style"
},
&"default_portrait": "front",
&"description": "The main character. ",
+4 -2
View File
@@ -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)",
@@ -103,4 +105,4 @@ layer_info = {
}
base_overrides = {}
layers = Array[ExtResource("1_0jwhi")]([])
metadata/_latest_layer = ""
metadata/_latest_layer = "13"
+1 -1
View File
@@ -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.
+2 -2
View File
@@ -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! Thats also thanks to you.
+2 -2
View File
@@ -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]
@@ -1,4 +1,4 @@
join vesna center
join vesna left
join Domovoi center
vesna: Oh no, most of the beets arent ripe yet.
Domovoi: Pssss!
+2 -2
View File
@@ -1,5 +1,5 @@
join vesna center
join vesna left
[quest_complete quest_resource="res://resources/quests/demo/2_collect_ducks.tres"]
Thats the last one. I should get back to Yeli.
vesna: Thats the last one. I should get back to Yeli.
[quest_activate quest_resource="res://resources/quests/demo/3_talk_yeli_2.tres"]
[end_timeline]
+1 -1
View File
@@ -1,4 +1,4 @@
join Chuga center
join Chuga left
Chuga: I believe youve seen enough for today.
Chuga: And yes, you too.
Chuga: Thank you for playing!
+2 -2
View File
@@ -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?
@@ -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]
@@ -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 youre diligent! Youve started with the preparation for dinner.
+2 -2
View File
@@ -9,7 +9,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="_builds/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=""
+19 -15
View File
@@ -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"]
-90
View File
@@ -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"]
-207
View File
@@ -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"]
@@ -1,19 +1,18 @@
[gd_scene load_steps=12 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="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
@@ -33,10 +32,10 @@ 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
@@ -44,29 +43,29 @@ _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)
@@ -150,6 +139,9 @@ shape = SubResource("CircleShape2D_vjw4j")
position = Vector2(0, 2.3)
IsActive = false
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
_blueprint = ExtResource("7_vjw4j")
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
visible = false
z_index = 100
@@ -174,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")
position = Vector2(0.5, 49.2)
texture = ExtResource("2_oyl0t")
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")
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)
+64
View File
@@ -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"]
+60
View File
@@ -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"]
+3 -1
View File
@@ -75,7 +75,7 @@ variables={
"SHOW": "IGF"
}
glossary/default_case_sensitive=true
layout/style_list=["res://dialog/NPC_narrative.tres", "res://addons/babushkahelpers/babushka_dialogue_style.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
@@ -137,6 +137,7 @@ directories/tres_directory={
"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",
@@ -165,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"
+7 -2
View File
@@ -1,8 +1,13 @@
[gd_resource type="Resource" script_class="ItemRepository" load_steps=2 format=3 uid="uid://d284vxftxhym0"]
[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]({})
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"
+2 -2
View File
@@ -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
+12
View File
@@ -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"
+1 -1
View File
@@ -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")
+77 -30
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=114 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"]
@@ -38,6 +38,8 @@
[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"]
@@ -64,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"]
@@ -177,13 +179,13 @@ radius = 300.0
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")
@@ -216,14 +218,6 @@ size = Vector2(5782, 1176)
resource_local_to_scene = true
size = Vector2(7150, 1192)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxa2m"]
shader = ExtResource("13_7p0hq")
shader_parameter/hue_shift = 0.0
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="ShaderMaterial" id="ShaderMaterial_lwk6t"]
shader = ExtResource("13_7p0hq")
shader_parameter/hue_shift = 0.0
@@ -235,6 +229,14 @@ shader_parameter/contrast_mult = 1.0
[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.753
shader_parameter/value_mult = 1.0
shader_parameter/brightness_add = 0.0
shader_parameter/contrast_mult = 1.0
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"]
loop = false
stream_count = 1
@@ -270,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)
@@ -1093,6 +1095,7 @@ shape = SubResource("CircleShape2D_tm0yg")
[node name="SeedPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
position = Vector2(10114, 2469)
_infiniteSupply = true
_finiteSupply = 3
[node name="SpawnWithItem" parent="YSorted/SeedPickup" index="0"]
_blueprint = ExtResource("35_64mdn")
@@ -1103,6 +1106,23 @@ shape = SubResource("CircleShape2D_tm0yg")
[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="CollisionShape3D" parent="YSorted/SeedPickup2/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_tm0yg")
[node name="Icon" parent="YSorted/SeedPickup2" index="4"]
scale = Vector2(1, 1)
[node name="Farm visuals" type="Node2D" parent="YSorted"]
position = Vector2(-60, 122)
@@ -1125,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
@@ -1267,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)
@@ -1805,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 = 2
position = Vector2(7757, 3423)
rotation = 1.57079
scale = Vector2(7.28513, 6.16997)
@@ -2102,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)
@@ -2132,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
@@ -2321,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"]
@@ -2372,9 +2415,11 @@ timeline = "quest2_tomatoes_end"
[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"]
@@ -2395,4 +2440,6 @@ timeline = "quest2_tomatoes_end"
[editable path="YSorted/RakeGenericPickup/PickupInteractionArea"]
[editable path="YSorted/SeedPickup"]
[editable path="YSorted/SeedPickup/PickupInteractionArea"]
[editable path="YSorted/SeedPickup2"]
[editable path="YSorted/SeedPickup2/PickupInteractionArea"]
[editable path="CanvasLayer"]
@@ -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"]
@@ -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"]
+97 -176
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=92 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"]
@@ -137,18 +135,6 @@ size = Vector2(1041, 368)
resource_local_to_scene = true
radius = 371.058
[sub_resource type="CircleShape2D" id="CircleShape2D_dr6bm"]
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_hpgl7"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"]
shader = ExtResource("37_7c2wq")
shader_parameter/speed = 1.0
@@ -177,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_qavgq"]
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_54ty3"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_gbxtf"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_6krrk"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_4ktoi"]
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
@@ -235,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)
@@ -959,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")
@@ -976,43 +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/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_dr6bm")
[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="CollisionShape3D" parent="YSorted/CanGenericPickup/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_34r5t")
[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/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_hpgl7")
[node name="Farm visuals" type="Node2D" parent="YSorted"]
position = Vector2(-60, 122)
@@ -1758,113 +1690,124 @@ 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/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_qavgq")
[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/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_njxly")
[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="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField5" index="0"]
FieldState = 3
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_54ty3")
[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="BaseField4" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(478, 3098)
[node name="BaseField6" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")]
position = Vector2(4033, 2618.18)
scale = Vector2(1, 1.00622)
[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="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField6" index="0"]
FieldState = 3
[node name="BeetSeet3" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/Seeds" index="2"]
visible = true
[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="01" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/BigPlant" 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="CollisionShape3D" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_gbxtf")
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField7" index="0"]
FieldState = 3
[node name="BaseField5" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(1279, 3123)
[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="BeetRoot" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour" index="1" node_paths=PackedStringArray("_smallPlants")]
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
[node name="BaseField8" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")]
position = Vector2(4418, 3226.95)
scale = Vector2(1, 1.00622)
[node name="Seeds" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot" index="0"]
visible = false
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField8" index="0"]
FieldState = 3
[node name="01" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false
[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="02" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="1"]
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="CollisionShape3D" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_6krrk")
[node name="FieldBehaviour" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="0"]
FieldState = 3
[node name="BaseField6" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(2037, 3135)
[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="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/SmallPlant" index="0"]
visible = true
[node name="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_4ktoi")
[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")
@@ -1951,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/PickupInteractionArea"]
[editable path="YSorted/CanGenericPickup"]
[editable path="YSorted/CanGenericPickup/PickupInteractionArea"]
[editable path="YSorted/RakeGenericPickup"]
[editable path="YSorted/RakeGenericPickup/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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/PickupInteractionArea"]
[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"]
+1 -1
View File
@@ -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="."]
-3
View File
@@ -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)
@@ -81,7 +81,7 @@ public partial class FieldBehaviour2D : Sprite2D
int currentSlotIndex = InventoryManager.Instance.CurrentSelectedSlotIndex;
ItemInstance? item = InventoryManager.Instance.playerInventory.Slots[currentSlotIndex].itemInstance;
if (item == null || PlantingPlaceholder.GetChildCount() > 0)
if (item == null || PlantingPlaceholder.GetChildCount() > 0 || item.amount == 0)
return success;
string prefabPath = ItemRepository.TryGetPrefabPath(item.blueprint);
@@ -98,7 +98,8 @@ public partial class FieldBehaviour2D : Sprite2D
{
plantBehaviour.Field = this;
}
InventoryManager.Instance.playerInventory.RemoveItem(currentSlotIndex);
success = true;
}
@@ -36,24 +36,35 @@ public partial class PlantBehaviour2D : Node2D
}
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);
_state = PlantState.Planted;
_currentPlantSprite = GetRandomSprite(_seeds);
_currentPlantSprite.Visible = true;
GrowPlant();
}
/// <summary>
/// Transitions the plant to its next growth stage.
/// </summary>
public void Grow()
public void GrowPlant()
{
if (_field.FieldState != FieldState.Watered || _magicWordSaid != _magicWordNeeded)
return;
// todo: replace with EventBus when possible
GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation);
switch (_state)
{
case PlantState.None:
@@ -63,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;
@@ -3,8 +3,8 @@
public enum InventoryActionResult
{
Success,
DestinationDoesNotExists,
DestinationDoesNotExist,
DestinationFull,
SourceDoesNotExists,
SourceDoesNotExist,
SourceIsEmpty
}
@@ -17,6 +17,9 @@ public partial class InventoryInstance : Node
[Signal]
public delegate void InventoryContentsChangedEventHandler();
/// <summary>
/// The total amount of Inventoryslots in the inventory (empty and occupied).
/// </summary>
[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;
@@ -1,9 +1,21 @@
#nullable enable
namespace Babushka.scripts.CSharp.Common.Inventory;
/// <summary>
/// Represents a virtual object wrapper for an item instance.
/// Can return the containing item or null.
/// </summary>
public class InventorySlot
{
/// <summary>
/// The inventory item instance that may or may not be bound to this slot.
/// </summary>
public ItemInstance? itemInstance;
/// <summary>
/// Whether or not this slot is currently occupied by an item instance.
/// </summary>
/// <returns></returns>
public bool IsEmpty()
{
return itemInstance == null;
+9 -2
View File
@@ -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()
+15 -3
View File
@@ -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);
}
}