Compare commits

...

13 Commits

49 changed files with 5185 additions and 285 deletions
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5ade1s2ijunu"
path="res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png"
dest_files=["res://.godot/imported/beetroot_icon.png-aef760d681bd7ef4c12802c6da8d93f5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xtci0n8tquc0"
path="res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/farm/farming/farmobjekte/beetroot_00.png"
dest_files=["res://.godot/imported/beetroot_00.png-0c2234fc9109ef4b2bb1c7f568ee2fc7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://blch5kdhkbj75"]
[ext_resource type="Shader" uid="uid://dsa3lv2as7q3b" path="res://shader/outline.gdshader" id="1_awyqf"]
[resource]
shader = ExtResource("1_awyqf")
shader_parameter/allow_out_of_bounds = true
shader_parameter/outline_thickness = 8.0
shader_parameter/outline_color = Color(0.88, 0.81664, 0.4576, 1)
@@ -4,12 +4,11 @@ importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b3kyrsoobmkhp"
path="res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"
valid=false
[deps]
source_file="res://art/mockups/3d/best_house_blender.blend"
dest_files=["res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"]
[params]
+1 -1
View File
@@ -1,3 +1,3 @@
join vesna left
join vesna center
Thats the last one. I should get back to Yeli.
[end_timeline]
+1 -1
View File
@@ -1,4 +1,4 @@
join Yeli center
join Yeli right
join vesna left
Yeli (_part_side): Come here, you little quacking beast!
- What a mess!
+2 -2
View File
@@ -8,8 +8,8 @@ Vesna2: What?
Domovoi: Just say it!
Vesna2: Rosty…rosty?
# Hier wächst die rote Beete magisch. Mit einem Signal/Ereignis?
[signal]
[signal arg="MagicWord"]
Vesna2: It worked! How did it work?
Vesna2: Thank y…and hes gone.
Vesna2: Thank y…and hes gone.
What a truly quirky individual.
[end_timeline]
+1
View File
@@ -2,4 +2,5 @@ join Chuga center
Chuga: I believe youve seen enough for today.
Chuga: And yes, you too.
Thank you for playing!
do SceneTransition.ChangeSceneToFileThreaded("res://scenes/Babushka_scene_credits.tscn")
[end_timeline]
+8
View File
@@ -0,0 +1,8 @@
join vesna center
[text_input text="What shold I say?" var="MAGICWORD" placeholder="Expelliarmus!" allow_empty="true"]
if {MAGICWORD} == "Rosty Rosty":
vesna: That did the trick!
[signal arg="MagicWord"]
else:
vesna: Didn't seem to work...
[end_timeline]
+1
View File
@@ -0,0 +1 @@
uid://dtcypgqal1ids
+3 -4
View File
@@ -1,7 +1,6 @@
join Yeli center
Yeli: Woah, what's going on here?
Yeli: Seems like this room isn't ready for business yet.
Yeli: Let's wait until the developers are done with it, shall we?
Yeli: See you at {SHOW}!
Yeli: Thank you for your help out there.
Yeli: You must be tired. Please rest. I prepared a bed for you. It's in the room to the left.
Yeli: There is nothing interesting to see here.
leave Yeli
[end_timeline]
+48
View File
@@ -0,0 +1,48 @@
[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="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="3_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"]
[ext_resource type="AudioStream" uid="uid://dd3qyaox6mx4i" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_02.wav" id="6_u7jgg"]
[ext_resource type="AudioStream" uid="uid://b1qhh35hugoy0" path="res://audio/sfx/Kitchen/SFX_Cooking_Pot_03.wav" id="7_bu430"]
[ext_resource type="AudioStream" uid="uid://ceob726q4obuw" path="res://audio/sfx/Kitchen/SFX_Cooking_Utensils_02.wav" id="8_gnu24"]
[ext_resource type="AudioStream" uid="uid://tjuxapc4wuss" path="res://audio/sfx/Kitchen/SFX_Cutlery_02.wav" id="9_vmxy4"]
[ext_resource type="AudioStream" uid="uid://duiyhe7yiyotb" path="res://audio/sfx/Kitchen/SFX_Cutlery_03.wav" id="10_aqih4"]
[ext_resource type="AudioStream" uid="uid://bc216pfieuc8h" path="res://audio/sfx/Kitchen/SFX_Cutlery_04.wav" id="11_kb03l"]
[ext_resource type="AudioStream" uid="uid://dp6qen84ptlvx" path="res://audio/sfx/Kitchen/SFX_Cutlery_05.wav" id="12_kka6u"]
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="13_wswkg"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dich4"]
streams_count = 10
stream_0/stream = ExtResource("3_ktmp7")
stream_1/stream = ExtResource("4_ic616")
stream_2/stream = ExtResource("5_dx175")
stream_3/stream = ExtResource("6_u7jgg")
stream_4/stream = ExtResource("7_bu430")
stream_5/stream = ExtResource("8_gnu24")
stream_6/stream = ExtResource("9_vmxy4")
stream_7/stream = ExtResource("10_aqih4")
stream_8/stream = ExtResource("11_kb03l")
stream_9/stream = ExtResource("12_kka6u")
[node name="trashObject" type="Sprite2D"]
texture = ExtResource("1_k4ca3")
region_enabled = true
region_rect = Rect2(44, 479, 356, 503)
[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("2_gcgfd")]
position = Vector2(0, -172)
_outlineMaterial = ExtResource("3_ic616")
_spriteToOutline = NodePath("..")
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = SubResource("AudioStreamRandomizer_dich4")
bus = &"SFX"
playback_type = 2
script = ExtResource("13_wswkg")
[connection signal="Interacted" from="InteractionArea" to="." method="queue_free"]
[connection signal="Interacted" from="InteractionArea" to="AudioStreamPlayer2D" method="PlayOneShot"]
+1
View File
@@ -458,6 +458,7 @@ expand_mode = 1
[node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")]
[node name="Control" type="Control" parent="."]
visible = false
layout_mode = 3
anchors_preset = 2
anchor_top = 1.0
+1 -1
View File
@@ -471,7 +471,7 @@
[ext_resource type="Texture2D" uid="uid://3pj2q7wtuion" path="res://art/farm/farming/farmobjekte/hoe.png" id="815_1ia2b"]
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="816_1a3c1"]
[ext_resource type="Script" uid="uid://bcskt5ckh3rqa" path="res://scripts/CSharp/Common/Farming/FarmingControls2D.cs" id="817_6nrw3"]
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/base_field_2d.tscn" id="818_16w6h"]
[ext_resource type="PackedScene" uid="uid://b1d2e7ely6hyw" path="res://prefabs/farm/tomato_field.tscn" id="818_16w6h"]
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
+5 -11
View File
@@ -1,10 +1,11 @@
[gd_scene load_steps=48 format=3 uid="uid://dfvgp1my5rydh"]
[gd_scene load_steps=49 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"]
[ext_resource type="Script" uid="uid://d0kgxh4ykuv23" path="res://scripts/CSharp/Common/NPC/TalkingCharacter.cs" id="1_hn8at"]
[ext_resource type="Texture2D" uid="uid://cksf38vypfsae" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0002.png" id="2_hn8at"]
[ext_resource type="Texture2D" uid="uid://e8dj27qcpuoo" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0003.png" id="3_ahrat"]
[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="3_pfk7p"]
[ext_resource type="Texture2D" uid="uid://c5k63jgxqr0do" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0004.png" id="4_at1n1"]
[ext_resource type="Texture2D" uid="uid://b8lkbpi220b5h" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0005.png" id="5_aqu1t"]
[ext_resource type="Texture2D" uid="uid://bv5bxpx6vf2h0" path="res://art/animation/Yeli2D/F01-Yeli_Idle/0006.png" id="6_pfk7p"]
@@ -192,22 +193,15 @@ y_sort_enabled = true
script = ExtResource("1_hn8at")
_sprite = NodePath("TalkingControl/AnimatedSprite")
[node name="InteractionArea" parent="." instance=ExtResource("42_ahrat")]
[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("42_ahrat")]
position = Vector2(0, -450)
scale = Vector2(2.805, 2.805)
_outlineMaterial = ExtResource("3_pfk7p")
_spriteToOutline = NodePath("../TalkingControl/AnimatedSprite")
[node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_at1n1")
[node name="Label" parent="InteractionArea" index="1"]
custom_minimum_size = Vector2(10, 10)
offset_left = -127.273
offset_top = -245.633
offset_right = 119.727
offset_bottom = -142.633
theme_override_font_sizes/font_size = 60
text = "[E] talk"
[node name="TalkingControl" type="Node2D" parent="."]
[node name="AnimatedSprite" type="AnimatedSprite2D" parent="TalkingControl"]
-69
View File
@@ -1,69 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://b1d2e7ely6hyw"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_femni"]
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_femni"]
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_cus02"]
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_msuq8"]
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_21et0"]
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/base_plant_2d.tscn" id="5_femni"]
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_4k6eh"]
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_rrmd3"]
[sub_resource type="CircleShape2D" id="CircleShape2D_yi42k"]
resource_local_to_scene = true
radius = 201.345
[sub_resource type="CircleShape2D" id="CircleShape2D_femni"]
resource_local_to_scene = true
radius = 194.926
[node name="BaseField" type="Node2D"]
[node name="InteractionArea2" parent="." instance=ExtResource("1_femni")]
visible = false
z_index = 1
scale = Vector2(2.225, 2.225)
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
z_index = -1
scale = Vector2(0.9, 1)
script = ExtResource("2_femni")
_fieldSprite = NodePath("MaskedField/FieldTexture")
_maskSprite = NodePath("MaskedField")
_maskTexture = Array[Texture2D]([ExtResource("3_cus02"), ExtResource("4_msuq8"), ExtResource("5_21et0")])
Tilled = ExtResource("6_4k6eh")
Watered = ExtResource("7_rrmd3")
_growingCollider = NodePath("BasePlant/InteractionArea")
[node name="BasePlant" parent="FieldBehaviour" node_paths=PackedStringArray("_field") instance=ExtResource("5_femni")]
_field = NodePath("..")
[node name="BigPlant" parent="FieldBehaviour/BasePlant" index="2"]
position = Vector2(6, -161)
[node name="InteractionArea" parent="FieldBehaviour/BasePlant" index="3"]
z_index = 3
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/InteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_yi42k")
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_femni")
[node name="ReadyPlant" parent="FieldBehaviour/BasePlant/ReadyPlantInventoryItem" index="5"]
position = Vector2(0, -291.3)
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
clip_children = 1
scale = Vector2(1.5, 1.5)
texture = ExtResource("4_msuq8")
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
texture = ExtResource("6_4k6eh")
[connection signal="Interacted" from="InteractionArea2" to="FieldBehaviour/BasePlant" method="Grow"]
[editable path="FieldBehaviour/BasePlant"]
[editable path="FieldBehaviour/BasePlant/InteractionArea"]
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem"]
[editable path="FieldBehaviour/BasePlant/ReadyPlantInventoryItem/InteractionArea2"]
+87
View File
@@ -0,0 +1,87 @@
[gd_scene load_steps=13 format=3 uid="uid://d4m5iy5mwqpq3"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_tp1yj"]
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_c6u1a"]
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_b5av1"]
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_yav45"]
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_pdgar"]
[ext_resource type="Texture2D" uid="uid://c2pirgay3jfnn" path="res://art/farm/tilable grounds/böden/trockene farming erde.png" id="6_a35l4"]
[ext_resource type="Texture2D" uid="uid://ctvdxwgmfaj5c" path="res://art/farm/tilable grounds/böden/nasse farming erde.png" id="7_us3kg"]
[ext_resource type="PackedScene" uid="uid://c3hwbwo423nbm" path="res://prefabs/farm/beet_plant.tscn" id="8_tgwxi"]
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="9_b5av1"]
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="10_yav45"]
[ext_resource type="Script" uid="uid://drle5aies8ye4" path="res://scripts/GdScript/dialogic_event_forward.gd" id="11_yav45"]
[sub_resource type="CircleShape2D" id="CircleShape2D_tp1yj"]
resource_local_to_scene = true
radius = 300.0
[node name="BaseField" type="Node2D"]
[node name="InteractionArea2" parent="." instance=ExtResource("1_tp1yj")]
visible = false
z_index = 1
scale = Vector2(2.225, 2.225)
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
z_index = -1
scale = Vector2(0.9, 1)
script = ExtResource("2_c6u1a")
_fieldSprite = NodePath("MaskedField/FieldTexture")
_maskSprite = NodePath("MaskedField")
_maskTexture = Array[Texture2D]([ExtResource("3_b5av1"), ExtResource("4_yav45"), ExtResource("5_pdgar")])
Tilled = ExtResource("6_a35l4")
Watered = ExtResource("7_us3kg")
_growingCollider = NodePath("../InteractionArea2")
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
clip_children = 1
scale = Vector2(1.5, 1.5)
texture = ExtResource("4_yav45")
[node name="FieldTexture" type="Sprite2D" parent="FieldBehaviour/MaskedField"]
texture = ExtResource("6_a35l4")
[node name="BeetRoot" parent="FieldBehaviour" node_paths=PackedStringArray("_smallPlants", "_field") groups=["PlantGrowing"] instance=ExtResource("8_tgwxi")]
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
_state = 2
_field = NodePath("..")
[node name="01" parent="FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = true
[node name="CollisionShape3D" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_tp1yj")
[node name="01" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="0"]
scale = Vector2(3, 3)
[node name="02" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="1"]
scale = Vector2(3, 3)
[node name="03" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="2"]
scale = Vector2(3, 3)
[node name="04" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="3"]
scale = Vector2(3, 3)
[node name="dialogic-starter" type="Node2D" parent="."]
script = ExtResource("9_b5av1")
[node name="DialogicOverlay" type="Node2D" parent="dialogic-starter"]
script = ExtResource("10_yav45")
_timelinesToPlay = PackedStringArray("talk_to_plant")
_startOnReady = false
[node name="DialogicEventListener" type="Node" parent="dialogic-starter"]
script = ExtResource("11_yav45")
eventName = "MagicWord"
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicOverlay" method="ToggleDialogue"]
[connection signal="Interacted" from="InteractionArea2" to="dialogic-starter/DialogicEventListener" method="_register"]
[connection signal="Dialogue" from="dialogic-starter/DialogicOverlay" to="dialogic-starter" method="open"]
[connection signal="dialogicEventTriggered" from="dialogic-starter/DialogicEventListener" to="FieldBehaviour/BeetRoot" method="SayMagicWord"]
[editable path="FieldBehaviour/BeetRoot"]
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"]
+205
View File
@@ -0,0 +1,205 @@
[gd_scene load_steps=10 format=3 uid="uid://c3hwbwo423nbm"]
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_0kfos"]
[ext_resource type="Texture2D" uid="uid://xtci0n8tquc0" path="res://art/farm/farming/farmobjekte/beetroot_00.png" id="2_rvwu0"]
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_up8td"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="4_cfgyx"]
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="5_25lcb"]
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="6_aml5p"]
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="7_rvwu0"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
shader = ExtResource("3_up8td")
shader_parameter/speed = 3.0
shader_parameter/minStrength = 0.05
shader_parameter/maxStrength = 0.36
shader_parameter/strengthScale = 100.0
shader_parameter/interval = 3.5
shader_parameter/detail = 1.0
shader_parameter/distortion = 0.0
shader_parameter/heightOffset = 0.635
shader_parameter/offset = 0.0
[sub_resource type="CircleShape2D" id="CircleShape2D_2tt5u"]
resource_local_to_scene = true
radius = 300.0
[node name="BeetRoot" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
z_index = 1
y_sort_enabled = true
script = ExtResource("1_0kfos")
_seeds = [NodePath("Seeds/BeetSeet"), NodePath("Seeds/BeetSeet2"), NodePath("Seeds/BeetSeet3")]
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), null, null]
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
_magicEffect = NodePath("magic vfx")
[node name="Seeds" type="Node2D" parent="."]
position = Vector2(0, 0.5)
[node name="BeetSeet" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
flip_v = true
region_enabled = true
region_rect = Rect2(166, 289, 28, 38)
[node name="BeetSeet2" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
flip_v = true
region_enabled = true
region_rect = Rect2(166, 289, 28, 38)
[node name="BeetSeet3" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
flip_v = true
region_enabled = true
region_rect = Rect2(243, 207, 35, 69)
[node name="SmallPlant" type="Node2D" parent="."]
position = Vector2(0, 0.5)
[node name="01" type="Sprite2D" parent="SmallPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(37, 178, 72, 116)
[node name="02" type="Sprite2D" parent="SmallPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(313, 179, 73, 115)
[node name="BigPlant" type="Node2D" parent="."]
position = Vector2(0, 2)
[node name="01" type="Sprite2D" parent="BigPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(6, 5, 136, 151)
[node name="02" type="Sprite2D" parent="BigPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(148, 58, 111, 140)
[node name="03" type="Sprite2D" parent="BigPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(264, 4, 131, 152)
[node name="04" type="Sprite2D" parent="BigPlant"]
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
scale = Vector2(2, 2)
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(18, 311, 129, 142)
[node name="InteractionArea" parent="." instance=ExtResource("4_cfgyx")]
position = Vector2(0, 2.3)
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("5_25lcb")]
position = Vector2(0, 2.3)
IsActive = false
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
_blueprint = ExtResource("6_aml5p")
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
visible = false
[node name="PickupErrorLabel" parent="ReadyPlantInventoryItem" index="2"]
visible = false
[node name="CollisionShape3D" parent="ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_2tt5u")
[node name="Icon" parent="ReadyPlantInventoryItem" index="4"]
visible = false
[node name="ReadyPlant" type="Node2D" parent="ReadyPlantInventoryItem"]
[node name="01" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(18, 311, 129, 142)
[node name="02" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(6, 5, 136, 151)
[node name="03" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(264, 4, 131, 152)
[node name="04" type="Sprite2D" parent="ReadyPlantInventoryItem/ReadyPlant"]
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rvwu0")
region_enabled = true
region_rect = Rect2(148, 58, 111, 140)
[node name="magic vfx" type="CPUParticles2D" parent="."]
position = Vector2(-133, -347)
rotation = -0.333807
emitting = false
amount = 20
texture = ExtResource("7_rvwu0")
lifetime = 0.5
randomness = 1.0
local_coords = true
draw_order = 1
emission_shape = 2
emission_sphere_radius = 128.0
linear_accel_min = 44.07
linear_accel_max = 78.81
scale_amount_min = 0.01
scale_amount_max = 0.1
color = Color(0.400601, 0.62444, 0.791217, 1)
hue_variation_max = 0.4
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
[editable path="ReadyPlantInventoryItem"]
[editable path="ReadyPlantInventoryItem/InteractionArea2"]
+50 -64
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://muuxxgvx33fp"]
[gd_scene load_steps=25 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"]
@@ -16,6 +16,7 @@
[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/intaractable_outline.tres" id="16_nxoeu"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"]
streams_count = 4
@@ -39,7 +40,7 @@ length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("bodyLookingRight/wingR:rotation")
tracks/0/path = NodePath("SubViewport/bodyLookingRight/wingR:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -51,7 +52,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("bodyLookingRight/wingL:rotation")
tracks/1/path = NodePath("SubViewport/bodyLookingRight/wingL:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@@ -63,7 +64,7 @@ tracks/1/keys = {
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("bodyLookingRight/head:rotation")
tracks/2/path = NodePath("SubViewport/bodyLookingRight/head:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
@@ -75,7 +76,7 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("bodyLookingRight/head/beak upper:rotation")
tracks/3/path = NodePath("SubViewport/bodyLookingRight/head/beak upper:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
@@ -87,7 +88,7 @@ tracks/3/keys = {
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("bodyLookingRight/head/beak lower:rotation")
tracks/4/path = NodePath("SubViewport/bodyLookingRight/head/beak lower:rotation")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
@@ -135,6 +136,9 @@ _data = {
resource_local_to_scene = true
radius = 443.041
[sub_resource type="ViewportTexture" id="ViewportTexture_4830j"]
viewport_path = NodePath("SubViewport")
[node name="Duck" type="Node2D" node_paths=PackedStringArray("_animationPlayer")]
z_index = 1
y_sort_enabled = true
@@ -157,16 +161,28 @@ libraries = {
&"": SubResource("AnimationLibrary_54k4r")
}
[node name="bodyLookingRight" type="Node2D" parent="."]
z_index = 1
y_sort_enabled = true
position = Vector2(-5, -537)
[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"]
shape = SubResource("CircleShape2D_uo3dh")
[node name="Duck rendered" type="Sprite2D" parent="."]
position = Vector2(0, -250)
texture = SubResource("ViewportTexture_4830j")
[node name="SubViewport" type="SubViewport" parent="."]
transparent_bg = true
size = Vector2i(400, 600)
[node name="bodyLookingRight" type="Node2D" parent="SubViewport"]
position = Vector2(200, 550)
rotation = 0.0135349
[node name="head" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(46.9624, 76.1606)
[node name="head" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(45.706, -451.714)
rotation = 0.284615
scale = Vector2(1, 0.997)
skew = 0.024546
@@ -175,9 +191,8 @@ offset = Vector2(25.2328, -23.0689)
region_enabled = true
region_rect = Rect2(45, 24, 87, 82)
[node name="beak upper" type="Sprite2D" parent="bodyLookingRight/head"]
[node name="beak upper" type="Sprite2D" parent="SubViewport/bodyLookingRight/head"]
z_index = 1
y_sort_enabled = true
position = Vector2(50.669, -7.16257)
rotation = -0.0427724
scale = Vector2(0.62715, 0.62715)
@@ -186,9 +201,7 @@ offset = Vector2(57.1263, -7.47815)
region_enabled = true
region_rect = Rect2(292, 37, 152, 98)
[node name="beak lower" type="Sprite2D" parent="bodyLookingRight/head"]
z_index = 1
y_sort_enabled = true
[node name="beak lower" type="Sprite2D" parent="SubViewport/bodyLookingRight/head"]
position = Vector2(47.9076, -15.7341)
rotation = 0.0364142
scale = Vector2(0.58615, 0.58615)
@@ -197,30 +210,24 @@ offset = Vector2(60.4601, 37.8134)
region_enabled = true
region_rect = Rect2(295, 170, 145, 39)
[node name="torso" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(5.90997, 355.352)
[node name="torso" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(4.65357, -172.523)
scale = Vector2(1.07526, 1.01724)
texture = ExtResource("1_cgxhx")
offset = Vector2(2.87376, -131.092)
region_enabled = true
region_rect = Rect2(30, 168, 125, 326)
[node name="wingR" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(-28, 262)
[node name="wingR" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(-29.2564, -265.875)
rotation = -0.371117
texture = ExtResource("1_cgxhx")
offset = Vector2(-50, 50)
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="wingL" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(47.0695, 245.905)
[node name="wingL" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(45.8131, -281.97)
rotation = -0.0925884
skew = -0.0345086
texture = ExtResource("1_cgxhx")
@@ -228,10 +235,8 @@ offset = Vector2(-59.5924, 55.37)
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="underbelly" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(-11.4038, 439.203)
[node name="underbelly" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(-12.6602, -88.6718)
rotation = -2.98225
scale = Vector2(0.672245, 0.955267)
skew = 0.0185422
@@ -240,8 +245,8 @@ offset = Vector2(26.4135, 70.6083)
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="leg left" type="Sprite2D" parent="bodyLookingRight"]
position = Vector2(36.2887, 300.645)
[node name="leg left" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(35.0323, -227.23)
rotation = 2.42655
scale = Vector2(1.05221, 1.04106)
skew = -0.0544101
@@ -249,7 +254,7 @@ texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 177, 161)
[node name="left thigh" type="Sprite2D" parent="bodyLookingRight/leg left"]
[node name="left thigh" type="Sprite2D" parent="SubViewport/bodyLookingRight/leg left"]
z_index = 1
y_sort_enabled = true
position = Vector2(73.353, -69.771)
@@ -259,7 +264,7 @@ texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(368, 263, 81, 89)
[node name="left shin" type="Sprite2D" parent="bodyLookingRight/leg left/left thigh"]
[node name="left shin" type="Sprite2D" parent="SubViewport/bodyLookingRight/leg left/left thigh"]
z_index = 1
y_sort_enabled = true
position = Vector2(-5.71882, 19.9984)
@@ -271,7 +276,7 @@ offset = Vector2(10, -50)
region_enabled = true
region_rect = Rect2(360, 361, 68, 126)
[node name="left foot" type="Sprite2D" parent="bodyLookingRight/leg left/left thigh/left shin"]
[node name="left foot" type="Sprite2D" parent="SubViewport/bodyLookingRight/leg left/left thigh/left shin"]
z_index = 1
y_sort_enabled = true
position = Vector2(15.1289, -77.6075)
@@ -282,19 +287,15 @@ offset = Vector2(40, 40)
region_enabled = true
region_rect = Rect2(246, 393, 111, 111)
[node name="right leg" type="Sprite2D" parent="bodyLookingRight"]
z_index = 1
y_sort_enabled = true
position = Vector2(-24, 364)
[node name="right leg" type="Sprite2D" parent="SubViewport/bodyLookingRight"]
position = Vector2(-25.2564, -163.875)
rotation = -0.463741
scale = Vector2(1.07492, 1.01762)
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 177, 161)
[node name="right thigh" type="Sprite2D" parent="bodyLookingRight/right leg"]
z_index = 1
y_sort_enabled = true
[node name="right thigh" type="Sprite2D" parent="SubViewport/bodyLookingRight/right leg"]
position = Vector2(-29.7603, 44.2374)
rotation = 0.249342
scale = Vector2(0.625107, 0.655894)
@@ -303,9 +304,7 @@ texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(368, 263, 81, 89)
[node name="right shin" type="Sprite2D" parent="bodyLookingRight/right leg/right thigh"]
z_index = 1
y_sort_enabled = true
[node name="right shin" type="Sprite2D" parent="SubViewport/bodyLookingRight/right leg/right thigh"]
position = Vector2(-2.78734, 11.5692)
rotation = 0.0689206
scale = Vector2(1.12016, 1.07128)
@@ -315,9 +314,7 @@ offset = Vector2(-14.163, 37.0936)
region_enabled = true
region_rect = Rect2(360, 361, 68, 126)
[node name="right foot" type="Sprite2D" parent="bodyLookingRight/right leg/right thigh/right shin"]
z_index = 1
y_sort_enabled = true
[node name="right foot" type="Sprite2D" parent="SubViewport/bodyLookingRight/right leg/right thigh/right shin"]
position = Vector2(-20.0986, 67.7507)
rotation = 0.14855
scale = Vector2(1.212, 1.212)
@@ -326,17 +323,6 @@ offset = Vector2(40, 40)
region_enabled = true
region_rect = Rect2(246, 393, 111, 111)
[node name="InteractionArea" parent="." instance=ExtResource("15_uo3dh")]
position = Vector2(-3, -274)
[node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_uo3dh")
[node name="Label" parent="InteractionArea" index="1"]
modulate = Color(0, 0, 0, 1)
z_index = 1
y_sort_enabled = true
[connection signal="Interacted" from="InteractionArea" to="." method="TransferToTargetAfterDelay"]
[connection signal="Interacted" from="InteractionArea" to="Audio/NakNak" method="PlayOneShot"]
+50
View File
@@ -0,0 +1,50 @@
[gd_scene load_steps=10 format=3 uid="uid://b1d2e7ely6hyw"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_jrdc4"]
[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_vl3uw"]
resource_local_to_scene = true
radius = 300.0
[node name="BaseField" type="Node2D"]
[node name="InteractionArea2" parent="." instance=ExtResource("1_jrdc4")]
visible = false
z_index = 1
scale = Vector2(2.225, 2.225)
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
z_index = -1
scale = Vector2(0.9, 1)
script = ExtResource("2_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/InteractionArea")
[node name="BasePlant2" parent="FieldBehaviour" node_paths=PackedStringArray("_field") groups=["PlantGrowing"] instance=ExtResource("8_jrdc4")]
_field = NodePath("..")
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_vl3uw")
[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/ReadyPlantInventoryItem"]
[editable path="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/InteractionArea2"]
@@ -1,16 +1,17 @@
[gd_scene load_steps=11 format=3 uid="uid://c3hwbwo423nbm"]
[gd_scene load_steps=12 format=3 uid="uid://gishbn0a8eke"]
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_tikj4"]
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="2_goh03"]
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_rmjrk"]
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="3_goh03"]
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="4_u4cty"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_tikj4"]
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_u4cty"]
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_yntkb"]
[ext_resource type="Script" uid="uid://cms357f23fmfy" path="res://scripts/CSharp/Common/Farming/PlantBehaviour2D.cs" id="1_66p1c"]
[ext_resource type="Texture2D" uid="uid://dtr4uga5uspg" path="res://art/farm/farming/farmobjekte/tomaten/tomaten baby.png" id="2_vjw4j"]
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="3_7hdur"]
[ext_resource type="Texture2D" uid="uid://b2gu6ur2xc7s4" path="res://art/farm/farming/farmobjekte/tomaten/tomaten blume.png" id="4_hmj2d"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="5_3j24b"]
[ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="6_gdrin"]
[ext_resource type="Resource" uid="uid://blr8tine5m0ma" path="res://resources/items/tomato.tres" id="7_di4m0"]
[ext_resource type="Texture2D" uid="uid://cnwd3mb3jnuxm" path="res://art/farm/farming/farmobjekte/tomaten/teen adulte tomaten.png" id="8_evgr8"]
[ext_resource type="Texture2D" uid="uid://bleimj6jr1jka" path="res://art/general/rectangle.png" id="9_vjw4j"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u4cty"]
shader = ExtResource("2_goh03")
shader = ExtResource("3_7hdur")
shader_parameter/speed = 3.0
shader_parameter/minStrength = 0.05
shader_parameter/maxStrength = 0.36
@@ -25,15 +26,16 @@ shader_parameter/offset = 0.0
resource_local_to_scene = true
radius = 300.0
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant")]
[node name="BasePlant" type="Node2D" node_paths=PackedStringArray("_seeds", "_smallPlants", "_bigPlants", "_readyPlants", "_harvestablePlant", "_magicEffect")]
z_index = 1
y_sort_enabled = true
script = ExtResource("1_tikj4")
script = ExtResource("1_66p1c")
_seeds = [NodePath("Seeds/TomatoSeed"), NodePath("Seeds/TomatoSeed2"), NodePath("Seeds/TomatoSeed3")]
_smallPlants = [NodePath("SmallPlant/01"), NodePath("SmallPlant/02"), NodePath("SmallPlant/03"), NodePath("SmallPlant/04")]
_bigPlants = [NodePath("BigPlant/01"), NodePath("BigPlant/02"), NodePath("BigPlant/03"), NodePath("BigPlant/04")]
_readyPlants = [NodePath("ReadyPlantInventoryItem/ReadyPlant/01"), NodePath("ReadyPlantInventoryItem/ReadyPlant/02"), NodePath("ReadyPlantInventoryItem/ReadyPlant/03"), NodePath("ReadyPlantInventoryItem/ReadyPlant/04")]
_harvestablePlant = NodePath("ReadyPlantInventoryItem")
_magicEffect = NodePath("magic vfx")
[node name="Seeds" type="Node2D" parent="."]
position = Vector2(0, 0.5)
@@ -41,7 +43,7 @@ position = Vector2(0, 0.5)
[node name="TomatoSeed" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
flip_v = true
region_enabled = true
region_rect = Rect2(-2, 15, 85, 81)
@@ -49,7 +51,7 @@ region_rect = Rect2(-2, 15, 85, 81)
[node name="TomatoSeed2" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
flip_v = true
region_enabled = true
region_rect = Rect2(15, 177, 84, 108)
@@ -57,7 +59,7 @@ region_rect = Rect2(15, 177, 84, 108)
[node name="TomatoSeed3" type="Sprite2D" parent="Seeds"]
visible = false
y_sort_enabled = true
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
flip_v = true
region_enabled = true
region_rect = Rect2(3, 337, 85, 82)
@@ -69,7 +71,7 @@ position = Vector2(0, 0.5)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
region_enabled = true
region_rect = Rect2(203, 1, 128, 164)
@@ -77,7 +79,7 @@ region_rect = Rect2(203, 1, 128, 164)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
region_enabled = true
region_rect = Rect2(218, 204, 112, 130)
@@ -85,7 +87,7 @@ region_rect = Rect2(218, 204, 112, 130)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
region_enabled = true
region_rect = Rect2(224, 399, 105, 105)
@@ -93,7 +95,7 @@ region_rect = Rect2(224, 399, 105, 105)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("2_rmjrk")
texture = ExtResource("2_vjw4j")
region_enabled = true
region_rect = Rect2(228, 600, 85, 92)
@@ -104,7 +106,7 @@ position = Vector2(0, 2)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("3_goh03")
texture = ExtResource("4_hmj2d")
region_enabled = true
region_rect = Rect2(-8, 1, 498, 682)
@@ -112,7 +114,7 @@ region_rect = Rect2(-8, 1, 498, 682)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("3_goh03")
texture = ExtResource("4_hmj2d")
region_enabled = true
region_rect = Rect2(575, 82, 516, 591)
@@ -120,7 +122,7 @@ region_rect = Rect2(575, 82, 516, 591)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("3_goh03")
texture = ExtResource("4_hmj2d")
region_enabled = true
region_rect = Rect2(-25, 694, 521, 687)
@@ -128,19 +130,19 @@ region_rect = Rect2(-25, 694, 521, 687)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("3_goh03")
texture = ExtResource("4_hmj2d")
region_enabled = true
region_rect = Rect2(546, 697, 535, 687)
[node name="InteractionArea" parent="." instance=ExtResource("5_tikj4")]
[node name="InteractionArea" parent="." instance=ExtResource("5_3j24b")]
position = Vector2(0, 2.3)
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_u4cty")]
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_gdrin")]
position = Vector2(0, 2.3)
IsActive = false
[node name="SpawnWithItem" parent="ReadyPlantInventoryItem" index="0"]
_blueprint = ExtResource("7_yntkb")
_blueprint = ExtResource("7_di4m0")
[node name="ItemLabel" parent="ReadyPlantInventoryItem" index="1"]
visible = false
@@ -160,7 +162,7 @@ visible = false
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("4_u4cty")
texture = ExtResource("8_evgr8")
region_enabled = true
region_rect = Rect2(399, 3, 679, 808)
@@ -168,7 +170,7 @@ region_rect = Rect2(399, 3, 679, 808)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("4_u4cty")
texture = ExtResource("8_evgr8")
region_enabled = true
region_rect = Rect2(1077, 109, 633, 695)
@@ -176,7 +178,7 @@ region_rect = Rect2(1077, 109, 633, 695)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("4_u4cty")
texture = ExtResource("8_evgr8")
region_enabled = true
region_rect = Rect2(415, 838, 639, 817)
@@ -184,10 +186,29 @@ region_rect = Rect2(415, 838, 639, 817)
visible = false
y_sort_enabled = true
material = SubResource("ShaderMaterial_u4cty")
texture = ExtResource("4_u4cty")
texture = ExtResource("8_evgr8")
region_enabled = true
region_rect = Rect2(1167, 863, 528, 785)
[node name="magic vfx" type="CPUParticles2D" parent="."]
position = Vector2(-133, -347)
rotation = -0.333807
emitting = false
amount = 20
texture = ExtResource("9_vjw4j")
lifetime = 0.5
randomness = 1.0
local_coords = true
draw_order = 1
emission_shape = 2
emission_sphere_radius = 128.0
linear_accel_min = 44.07
linear_accel_max = 78.81
scale_amount_min = 0.01
scale_amount_max = 0.1
color = Color(0.400601, 0.62444, 0.791217, 1)
hue_variation_max = 0.4
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
[editable path="ReadyPlantInventoryItem"]
@@ -1,7 +1,8 @@
[gd_scene load_steps=9 format=3 uid="uid://dpbbroif2tnil"]
[gd_scene load_steps=8 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://blch5kdhkbj75" path="res://art/materials/intaractable_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"]
@@ -11,13 +12,6 @@ default_font_size = 80
[sub_resource type="Theme" id="Theme_harr4"]
default_font_size = 40
[sub_resource type="CircleShape2D" id="CircleShape2D_tlhp6"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="Theme" id="Theme_xu8me"]
default_font_size = 75
[node name="GenericItemOnGround" type="Node2D"]
script = ExtResource("1_tlhp6")
@@ -43,25 +37,11 @@ theme = SubResource("Theme_harr4")
text = "thewe waf a pwoblem wiph picking up te item UWU"
autowrap_mode = 3
[node name="InteractionArea2" parent="." instance=ExtResource("4_xu8me")]
[node name="CollisionShape3D" parent="InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_tlhp6")
[node name="Label" parent="InteractionArea2" index="1"]
z_index = 5
offset_left = -68.0
offset_top = -111.0
offset_right = 75.0
offset_bottom = -3.0
theme = SubResource("Theme_xu8me")
vertical_alignment = 1
[node name="PickupInteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("4_xu8me")]
_outlineMaterial = ExtResource("4_harr4")
_spriteToOutline = NodePath("../Icon")
[node name="Icon" type="Sprite2D" parent="."]
position = Vector2(5, -300)
scale = Vector2(0.868852, 0.868852)
texture = ExtResource("5_harr4")
[connection signal="Interacted" from="InteractionArea2" to="." method="TryPickUp"]
[editable path="InteractionArea2"]
+25 -8
View File
@@ -7,12 +7,12 @@ resource_local_to_scene = true
radius = 300.0
[sub_resource type="Theme" id="Theme_5ajrf"]
default_font_size = 75
default_font_size = 30
[node name="InteractionArea" type="Node2D" node_paths=PackedStringArray("_area", "_label")]
script = ExtResource("1_5ajrf")
_area = NodePath("Area2D")
_label = NodePath("Label")
_label = NodePath("Area2D/CanvasLayer/MarginContainer/Label")
[node name="Area2D" type="Area2D" parent="."]
collision_mask = 4
@@ -20,15 +20,32 @@ collision_mask = 4
[node name="CollisionShape3D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("CircleShape2D_npluf")
[node name="Label" type="Label" parent="."]
[node name="CanvasLayer" type="CanvasLayer" parent="Area2D"]
[node name="MarginContainer" type="MarginContainer" parent="Area2D/CanvasLayer"]
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -88.0
offset_top = -100.0
offset_right = 3.0
offset_bottom = 3.0
grow_horizontal = 0
grow_vertical = 0
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 20
[node name="Label" type="Label" parent="Area2D/CanvasLayer/MarginContainer"]
visible = false
offset_left = -46.0
offset_top = -55.0
offset_right = 45.0
offset_bottom = 48.0
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
theme = SubResource("Theme_5ajrf")
text = "[E]"
horizontal_alignment = 1
horizontal_alignment = 2
vertical_alignment = 2
[connection signal="body_entered" from="Area2D" to="." method="OnPlayerEntered"]
[connection signal="body_exited" from="Area2D" to="." method="OnPlayerExited"]
+4 -2
View File
@@ -24,12 +24,12 @@ buses/default_bus_layout="uid://b6dwkmkyb0axk"
[autoload]
SceneTransition="*res://scenes/SceneTransition.tscn"
Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd"
InventoryManager="*res://scripts/CSharp/Common/Inventory/InventoryManager.cs"
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
QuestManager="*res://scripts/CSharp/Common/Quest/QuestManager.cs"
FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
Signal_Debugger="*res://addons/SignalVisualizer/Debugger/SignalDebugger.gd"
SceneTransition="*res://scenes/SceneTransition.tscn"
[dialogic]
@@ -57,6 +57,7 @@ directories/dtl_directory={
"quest5_forest_end": "res://dialog/quest5_forest_end.dtl",
"quest5_forest_start": "res://dialog/quest5_forest_start.dtl",
"semi_cat": "res://dialog/semi_cat.dtl",
"talk_to_plant": "res://dialog/talk_to_plant.dtl",
"test_time_line": "res://dialog/test_time_line.dtl",
"yeli_intro_01": "res://dialog/yeli_intro_01.dtl",
"yeli_intro_02": "res://dialog/yeli_intro_02.dtl",
@@ -65,6 +66,7 @@ directories/dtl_directory={
"yeli_intro_05": "res://dialog/yeli_intro_05.dtl"
}
variables={
"MAGICWORD": "Hokus Pokus!s",
"PLAYERMOOD": "Good",
"SHOW": "IGF"
}
+12
View File
@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="ItemResource" load_steps=3 format=3 uid="uid://0mnsr4anoaiq"]
[ext_resource type="Texture2D" uid="uid://b5ade1s2ijunu" path="res://art/farm/farming/farmobjekte/beetroot/beetroot_icon.png" id="1_wddc8"]
[ext_resource type="Script" uid="uid://cbskymrxs6ksu" path="res://scripts/CSharp/Common/Inventory/ItemResource.cs" id="2_5t85d"]
[resource]
script = ExtResource("2_5t85d")
name = "Tomato"
color = Color(0.451671, 0.0462732, 0.396459, 1)
icon = ExtResource("1_wddc8")
maxStack = 20
metadata/_custom_type_script = "uid://cbskymrxs6ksu"
-1
View File
@@ -5,6 +5,5 @@
[node name="BabushkaSceneBootstrap" type="Node2D"]
[node name="BabushkaSceneStartMenu" parent="." instance=ExtResource("1_15ton")]
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn")
[node name="SceneParent" type="Node" parent="."]
+17 -1
View File
@@ -1,5 +1,6 @@
[gd_scene load_steps=8 format=3 uid="uid://c52tlxxc480dv"]
[gd_scene load_steps=9 format=3 uid="uid://cmpw8lhwnwuo6"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_f5860"]
[ext_resource type="Texture2D" uid="uid://c7atj6ohlmir3" path="res://art/ui/StartScreen/titlescreen.png" id="1_kesja"]
[ext_resource type="Texture2D" uid="uid://du612t3xytly3" path="res://art/ui/StartScreen/babushkalog_white.png" id="2_f5860"]
[ext_resource type="Texture2D" uid="uid://cfrhmcyhs2i53" path="res://art/ui/UI/WhiteWashBackground.png" id="3_dvwtm"]
@@ -9,6 +10,8 @@
[ext_resource type="Texture2D" uid="uid://cwbv2i8ntq15d" path="res://art/logos/FS_Logo_2zeilig_rot.png" id="7_03xwf"]
[node name="BabushkaSceneCredits" type="Node2D"]
script = ExtResource("1_f5860")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_startMenu.tscn")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(1030, 483)
@@ -427,3 +430,16 @@ texture = ExtResource("6_l0rmr")
position = Vector2(1751, 917)
scale = Vector2(0.496692, 0.496693)
texture = ExtResource("7_03xwf")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Button" type="Button" parent="CanvasLayer"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -75.0
offset_bottom = 71.0
grow_horizontal = 0
alignment = 2
[connection signal="pressed" from="CanvasLayer/Button" to="." method="LoadScene"]
+70 -36
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=98 format=3 uid="uid://gigb28qk8t12"]
[gd_scene load_steps=100 format=3 uid="uid://gigb28qk8t12"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"]
[ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
@@ -60,6 +60,10 @@
[ext_resource type="Texture2D" uid="uid://lvhbicmwqab5" path="res://art/farm/tilable grounds/böden/fruchtbarer wilder trockender boden.png" id="47_loeum"]
[ext_resource type="AudioStream" uid="uid://c43a6x43jkikl" path="res://audio/sfx/Farming/SFX_GettingWater_Well_01_Reverb.wav" id="49_d77e7"]
[ext_resource type="Texture2D" uid="uid://blb3agipyxnal" path="res://art/farm/farming/farmobjekte/zaun/fence_door.png" id="49_i36hd"]
[ext_resource type="Script" uid="uid://l6iq8rpym5io" path="res://scripts/CSharp/Common/Util/Counter.cs" id="49_uxa2m"]
[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="51_uxa2m"]
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="52_lwk6t"]
[ext_resource type="PackedScene" uid="uid://sbf12hin4kes" path="res://prefabs/Interactables/trash_object.tscn" id="53_ycj14"]
[ext_resource type="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="62_i36hd"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
@@ -149,14 +153,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_lhtpe"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"]
@@ -1003,7 +999,7 @@ y_sort_enabled = true
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]
position = Vector2(6403, 3362)
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest1_ducks_end", "quest2_tomatoes_start", "quest2_tomatoes_interim", "quest2_tomatoes_end")
_timelinesToPlay = PackedStringArray("quest1_ducks_start", "quest2_tomatoes_start", "quest2_tomatoes_interim", "quest2_tomatoes_end")
[node name="Vesna" parent="YSorted" node_paths=PackedStringArray("_fieldParent") instance=ExtResource("1_7wfwe")]
z_index = 1
@@ -1046,30 +1042,18 @@ position = Vector2(6095, 2087)
[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"]
_blueprint = ExtResource("26_ipqaa")
[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_2nee2")
[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
position = Vector2(8192, 3507)
[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"]
_blueprint = ExtResource("28_ipqaa")
[node name="InteractionArea2" parent="YSorted/CanGenericPickup" index="3"]
position = Vector2(0, -159)
[node name="CollisionShape3D" parent="YSorted/CanGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa")
[node name="RakeGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
position = Vector2(8391, 2060)
[node name="SpawnWithItem" parent="YSorted/RakeGenericPickup" index="0"]
_blueprint = ExtResource("28_6b2nr")
[node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa")
[node name="ScytheGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
visible = false
position = Vector2(15642, 2158)
@@ -1077,9 +1061,6 @@ position = Vector2(15642, 2158)
[node name="SpawnWithItem" parent="YSorted/ScytheGenericPickup" index="0"]
_blueprint = ExtResource("29_wtdui")
[node name="CollisionShape3D" parent="YSorted/ScytheGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa")
[node name="ShovelGenericPickup" parent="YSorted" instance=ExtResource("25_hukxv")]
visible = false
position = Vector2(5454, 2049)
@@ -1087,9 +1068,6 @@ position = Vector2(5454, 2049)
[node name="SpawnWithItem" parent="YSorted/ShovelGenericPickup" index="0"]
_blueprint = ExtResource("27_ipqaa")
[node name="CollisionShape3D" parent="YSorted/ShovelGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa")
[node name="Farm visuals" type="Node2D" parent="YSorted"]
position = Vector2(-60, 122)
@@ -1114,6 +1092,8 @@ polygon = PackedVector2Array(247.227, 43.5123, 44.7822, 43.5123, -87.2178, 45.12
[node name="EnterHouseInteraction" parent="YSorted/Farm visuals/Static" instance=ExtResource("27_klb81")]
position = Vector2(5839, 2349)
scale = Vector2(2.425, 2.425)
_useOutline = false
_useSprite = false
_id = 0
[node name="greenery" type="Node2D" parent="YSorted/Farm visuals/Static"]
@@ -2119,6 +2099,8 @@ position = Vector2(-106.663, 182.891)
shape = SubResource("RectangleShape2D_ycj14")
[node name="ducks" type="Node2D" parent="YSorted"]
script = ExtResource("49_uxa2m")
_goal = 6
[node name="Duck2" parent="YSorted/ducks" node_paths=PackedStringArray("_penTarget") instance=ExtResource("62_i36hd")]
position = Vector2(4374, 2652)
@@ -2150,6 +2132,14 @@ rotation = 3.14159
scale = Vector2(1, -1)
_penTarget = NodePath("../../pen/penSlot6")
[node name="DialogicToggle" type="Node2D" parent="YSorted/ducks"]
script = ExtResource("51_uxa2m")
_timelinesToPlay = PackedStringArray("quest1_ducks_end")
_startOnReady = false
[node name="dialogic starter" type="Node2D" parent="YSorted/ducks"]
script = ExtResource("52_lwk6t")
[node name="pen" type="Node2D" parent="YSorted"]
[node name="penSlot1" type="Node2D" parent="YSorted/pen"]
@@ -2170,6 +2160,49 @@ position = Vector2(-4659, 2897)
[node name="penSlot6" type="Node2D" parent="YSorted/pen"]
position = Vector2(-5016, 3361)
[node name="trash" type="Node2D" parent="YSorted"]
[node name="trashObject" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(1269, 3170)
[node name="trashObject2" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(3183, 2369)
offset = Vector2(1, -50)
region_rect = Rect2(207, 1184, 149, 142)
[node name="trashObject3" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(4724, 3519)
offset = Vector2(1, -50)
region_rect = Rect2(400, 1053, 163, 141)
[node name="trashObject4" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(5385, 3391)
offset = Vector2(1, -50)
region_rect = Rect2(1048, 1092, 348, 106)
[node name="trashObject5" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(8051, 2541)
offset = Vector2(1, -50)
region_rect = Rect2(531, 1207, 176, 167)
[node name="trashObject6" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(9629, 3312)
offset = Vector2(1, -50)
region_rect = Rect2(207, 1184, 149, 142)
[node name="trashObject7" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(12050, 3391)
[node name="trashObject8" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(14589, 2505)
rotation = 1.77025
region_rect = Rect2(629, 81, 227, 829)
[node name="trashObject9" parent="YSorted/trash" instance=ExtResource("53_ycj14")]
position = Vector2(15322, 3472)
rotation = 1.77025
region_rect = Rect2(1048, 1092, 348, 106)
[node name="CanvasLayer" parent="." instance=ExtResource("32_2nee2")]
[node name="Inventory" parent="CanvasLayer" index="1"]
@@ -2191,9 +2224,6 @@ offset_top = 0.228533
offset_right = -456.339
offset_bottom = 30.2285
[node name="Control" parent="CanvasLayer" index="3"]
visible = false
[node name="Audio" type="Node" parent="."]
[node name="Background Music Ramp up" type="AudioStreamPlayer2D" parent="Audio"]
@@ -2243,18 +2273,22 @@ script = ExtResource("40_w3jkj")
[connection signal="InteractedTool" from="YSorted/Farm visuals/Static/EnterHouseInteraction" to="." method="LoadSceneAtIndex"]
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
[connection signal="input_event" from="YSorted/Farm visuals/FieldParent/Area2D" to="YSorted/Vesna/FarmingControls" method="InputEventPressedOn"]
[connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck3" to="YSorted/ducks" method="Increment"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck4" to="YSorted/ducks" method="Increment"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck5" to="YSorted/ducks" method="Increment"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck6" to="YSorted/ducks" method="Increment"]
[connection signal="DuckCollected" from="YSorted/ducks/Duck7" to="YSorted/ducks" method="Increment"]
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"]
[connection signal="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/ScytheGenericPickup"]
[editable path="YSorted/ScytheGenericPickup/InteractionArea2"]
[editable path="YSorted/ShovelGenericPickup"]
[editable path="YSorted/ShovelGenericPickup/InteractionArea2"]
[editable path="YSorted/trash/trashObject"]
[editable path="CanvasLayer"]
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=70 format=3 uid="uid://dfyb4dckoltpw"]
[gd_scene load_steps=70 format=3 uid="uid://bb6r385qvyoba"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_vl6d5"]
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="3_jrqoq"]
@@ -28,7 +28,7 @@
[ext_resource type="PackedScene" uid="uid://hk8ahyp6dgl6" path="res://prefabs/fight/fight_base_scene.tscn" id="27_55b52"]
[ext_resource type="PackedScene" uid="uid://bp64p6y72j71w" path="res://prefabs/fight/fighters/enemy_blob_fighter.tscn" id="27_hfhye"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="29_3jjxs"]
[ext_resource type="PackedScene" uid="uid://ddpl8cbck7e6s" path="res://prefabs/characters/Chugar.tscn" id="29_26tkn"]
[ext_resource type="PackedScene" path="res://prefabs/characters/Chugar.tscn" id="29_26tkn"]
[ext_resource type="PackedScene" uid="uid://cr66tpdr5rma5" path="res://prefabs/fight/fighters/enemy_mavkha_fighter.tscn" id="29_hfhye"]
[ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="30_l10vl"]
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="31_c2gvt"]
+32 -13
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=32 format=3 uid="uid://bm21nqepnwaik"]
[gd_scene load_steps=40 format=3 uid="uid://bm21nqepnwaik"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_3vr4f"]
[ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="2_ubg3a"]
@@ -18,10 +18,17 @@
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="15_7a68a"]
[ext_resource type="Script" uid="uid://31p67cdowuw4" path="res://scripts/CSharp/Common/Animation/AnimationStarter.cs" id="15_27bwy"]
[ext_resource type="Texture2D" uid="uid://c4q12jiligcl7" path="res://art/animals/katze.png" id="15_sndxu"]
[ext_resource type="AudioStream" uid="uid://cohyenfo1rtxh" path="res://audio/sfx/Animals/SFX_Cat_Meow_01.wav" id="16_d7yky"]
[ext_resource type="PackedScene" uid="uid://dfvgp1my5rydh" path="res://prefabs/characters/Yeli.tscn" id="16_dhsxs"]
[ext_resource type="AudioStream" uid="uid://b2cmf5ie7cwka" path="res://audio/sfx/Animals/SFX_Cat_Meow_02.wav" id="17_7a68a"]
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="17_k0k8c"]
[ext_resource type="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" 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"]
@@ -33,6 +40,15 @@ size = Vector2(3836, 1086)
resource_local_to_scene = true
radius = 300.0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_b6vf7"]
streams_count = 6
stream_0/stream = ExtResource("16_d7yky")
stream_1/stream = ExtResource("17_7a68a")
stream_2/stream = ExtResource("18_dhsxs")
stream_3/stream = ExtResource("19_k0k8c")
stream_4/stream = ExtResource("20_dw4nn")
stream_5/stream = ExtResource("21_ytap8")
[sub_resource type="Animation" id="Animation_j5d18"]
length = 0.001
tracks/0/type = "value"
@@ -192,7 +208,7 @@ _data = {
[sub_resource type="CircleShape2D" id="CircleShape2D_wuntg"]
resource_local_to_scene = true
radius = 300.0
radius = 209.703
[sub_resource type="CircleShape2D" id="CircleShape2D_yd2gv"]
resource_local_to_scene = true
@@ -201,7 +217,7 @@ radius = 472.086
[node name="IndoorTest" type="Node2D"]
y_sort_enabled = true
script = ExtResource("1_3vr4f")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d.tscn")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_vesnas_room.tscn", "res://scenes/Babushka_scene_farm_outside_2d_ducksCollected.tscn")
[node name="Foreground" type="Node" parent="."]
@@ -370,6 +386,11 @@ scale = Vector2(2, 2)
texture = ExtResource("15_sndxu")
offset = Vector2(-8, -126)
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="BackWall/Katze"]
stream = SubResource("AudioStreamRandomizer_b6vf7")
bus = &"SFX"
script = ExtResource("22_tggq2")
[node name="Room assets" type="Node" parent="BackWall"]
[node name="wood" type="Sprite2D" parent="BackWall/Room assets"]
@@ -490,23 +511,20 @@ offset = Vector2(0, -296)
region_enabled = true
region_rect = Rect2(2576, 802, 219, 64)
[node name="InteractionArea" parent="BackWall" instance=ExtResource("11_gpagp")]
position = Vector2(-4064, 244)
[node name="Vesna" parent="." instance=ExtResource("15_7a68a")]
position = Vector2(-1464, 136)
position = Vector2(-920, 319)
[node name="Yeli" parent="." instance=ExtResource("16_dhsxs")]
position = Vector2(-2912, 432)
_timelinesToPlay = PackedStringArray("quest3_beets_start")
position = Vector2(-1395, 16)
_timelinesToPlay = PackedStringArray("yeli_intro_05")
[node name="CollisionShape3D" parent="Yeli/InteractionArea/Area2D" index="0"]
position = Vector2(-205.348, 131.907)
position = Vector2(-207.487, 136.185)
shape = SubResource("CircleShape2D_wuntg")
[node name="Label" parent="Yeli/InteractionArea" index="1"]
offset_left = -332.62
offset_top = -99.8217
offset_right = -85.6204
offset_bottom = 3.17825
[node name="AnimatedSprite" parent="Yeli/TalkingControl" index="0"]
position = Vector2(-576, 368)
@@ -550,6 +568,7 @@ _id = 1
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room01PechkaDoor/InteractionArea" method="ToggleActive"]
[connection signal="Interacted" from="BackWall/Room01PechkaDoor/InteractionArea" to="BackWall/Room assets/hand" method="PlayAnimation"]
[connection signal="Interacted" from="BackWall/InteractionArea" to="BackWall/Katze/AudioStreamPlayer2D" method="PlayOneShot"]
[connection signal="timelineEnded" from="Yeli/dialogic_toggle" to="Yeli/Beetroot Quest trigger" method="Trigger"]
[connection signal="InteractedTool" from="VesnasRoomDoor" to="." method="LoadSceneAtIndex"]
[connection signal="InteractedTool" from="OutsideDoor" to="." method="LoadSceneAtIndex"]
@@ -22,7 +22,7 @@ radius = 509.071
[node name="VesnasRoom" type="Node2D"]
y_sort_enabled = true
script = ExtResource("1_c6eln")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn", "res://scenes/Babushka_scene_forest_fight_1_2d.tscn")
[node name="Colliders" type="Node2D" parent="."]
position = Vector2(1297, 5292)
@@ -96,6 +96,7 @@ _followNode = NodePath("../Vesna/CharacterBody2D")
[node name="BedInteraction" parent="." instance=ExtResource("8_phqdf")]
position = Vector2(-1429, 487)
_id = 1
[node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")]
position = Vector2(777, 201)
@@ -104,6 +105,7 @@ _id = 0
[node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"]
shape = SubResource("CircleShape2D_2spkc")
[connection signal="InteractedTool" from="BedInteraction" to="." method="LoadSceneAtIndex"]
[connection signal="Interacted" from="DoorInteraction" to="." method="LoadScene"]
[editable path="Vesna"]
File diff suppressed because it is too large Load Diff
+1
View File
@@ -6,6 +6,7 @@
[node name="BabushkaSceneStartMenu" type="Node2D"]
script = ExtResource("1_fj2fh")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_disclaimer.tscn")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
@@ -6,15 +6,25 @@ public partial class InteractionArea2D : Node2D
{
[Export] private Area2D _area;
[Export] private Label _label;
[Export] private SpriteSwitcher2D _sprites; // TODO: remove
[Export] private bool _useOutline = true;
[Export] private ShaderMaterial _outlineMaterial;
[Export] private bool _useSprite = true;
[Export] private CanvasItem _spriteToOutline;
[Export] private bool _showLabel = true;
[Export] private int _id = -1; // TODO: remove
private Material _backupMaterial;
[Signal] public delegate void InteractedToolEventHandler(int id); // TODO: remove
[Signal] public delegate void InteractedEventHandler();
public bool IsActive { get; set; } = true;
public override void _Ready()
{
if(_useSprite && _useOutline)
_backupMaterial = _spriteToOutline.Material;
}
public void OnPlayerEntered(Node2D player)
{
if (!IsActive)
@@ -22,6 +32,11 @@ public partial class InteractionArea2D : Node2D
if(_showLabel)
_label.Show();
if (!_useSprite || !_useOutline)
return;
_spriteToOutline.Material = _outlineMaterial;
}
public void OnPlayerExited(Node2D player)
@@ -30,6 +45,11 @@ public partial class InteractionArea2D : Node2D
return;
_label.Hide();
if (!_useSprite || !_useOutline)
return;
_spriteToOutline.Material = _backupMaterial;
}
public override void _Input(InputEvent @event)
@@ -40,6 +60,10 @@ public partial class InteractionArea2D : Node2D
if (@event.IsAction("interact") && @event.IsPressed() && _area.HasOverlappingBodies())
{
_label.Hide();
if (_useSprite && _useOutline)
_spriteToOutline.Material = _backupMaterial;
EmitSignal(SignalName.InteractedTool, _id);
EmitSignal(SignalName.Interacted);
}
@@ -47,13 +71,9 @@ public partial class InteractionArea2D : Node2D
public void SetSpriteActiveState(bool success, int id) // TODO: remove
{
GD.PrintErr("SetSpriteActiveState is being called.");
if(!IsActive)
return;
if (_id == id)
{
_sprites.SwitchState(!success);
}
}
public void ToggleActive()
@@ -40,22 +40,27 @@ public partial class FieldBehaviour2D : Sprite2D
{
case FieldState.Empty:
FieldState = FieldState.Empty;
GD.Print("FieldState is Empty.");
break;
case FieldState.Tilled:
FieldState = FieldState.Tilled;
_fieldSprite.Texture = Tilled;
_growingCollider.Visible = false;
GD.Print("FieldState is Tilled.");
break;
case FieldState.Watered:
FieldState = FieldState.Watered;
_fieldSprite.Texture = Watered;
_growingCollider.Visible = true;
GD.Print("FieldState is Watered.");
break;
case FieldState.Planted:
FieldState = FieldState.Planted;
GD.Print("FieldState is Planted.");
break;
default:
FieldState = FieldState.NotFound;
GD.Print("FieldState is NotFound.");
break;
}
}
@@ -63,8 +68,7 @@ public partial class FieldBehaviour2D : Sprite2D
public void Water()
{
FieldState = FieldState.Watered;
_fieldSprite.Texture = Watered;
UpdateFieldState(FieldState.Watered);
}
/// <summary>
@@ -26,8 +26,11 @@ public partial class PlantBehaviour2D : Node2D
[Export] private PlantState _state = PlantState.None;
[Export] private FieldBehaviour2D _field;
[Export] private ItemOnGround2D _harvestablePlant;
[Export] private CpuParticles2D _magicEffect;
private string _magicWordDialogicEventName = "MagicWord";
private Sprite2D _currentPlantSprite = null;
private bool _magicWordSaid;
/// <summary>
@@ -35,9 +38,10 @@ public partial class PlantBehaviour2D : Node2D
/// </summary>
public void Grow()
{
if (_field.FieldState != FieldState.Watered)
if (_field.FieldState != FieldState.Watered || !_magicWordSaid)
return;
GD.Print("Trying to grow something here.");
GetTree().CallGroup("PlantGrowing", Player2D.MethodName.PlayFarmingAnimation);
switch (_state)
@@ -46,18 +50,21 @@ public partial class PlantBehaviour2D : Node2D
_state = PlantState.Planted;
_currentPlantSprite = GetRandomSprite(_seeds);
_currentPlantSprite.Visible = true;
GD.Print("PlantState is none.");
break;
case PlantState.Planted:
_state = PlantState.SmallPlant;
_currentPlantSprite.Visible = false;
_currentPlantSprite = GetRandomSprite(_smallPlants);
_currentPlantSprite.Visible = true;
GD.Print("PlantState is planted.");
break;
case PlantState.SmallPlant:
_state = PlantState.BigPlant;
_currentPlantSprite.Visible = false;
_currentPlantSprite = GetRandomSprite(_bigPlants);
_currentPlantSprite.Visible = true;
GD.Print("PlantState is Smallplant.");
break;
case PlantState.BigPlant:
_state = PlantState.Ready;
@@ -65,6 +72,7 @@ public partial class PlantBehaviour2D : Node2D
_currentPlantSprite = GetRandomSprite(_readyPlants);
_harvestablePlant.IsActive = true;
_currentPlantSprite.Visible = true;
GD.Print("PlantState is BigPlant.");
break;
case PlantState.Ready:
_state = PlantState.None;
@@ -76,6 +84,7 @@ public partial class PlantBehaviour2D : Node2D
}
_field.UpdateFieldState(FieldState.Tilled);
_magicWordSaid = false;
}
private Sprite2D GetRandomSprite(Sprite2D[] sprites)
@@ -83,4 +92,16 @@ public partial class PlantBehaviour2D : Node2D
Random rand = new Random();
return sprites[rand.Next(sprites.Length)];
}
public void SayMagicWord(string wordEvent)
{
GD.Print("Calling Dialogic event: " + wordEvent);
if (_magicWordDialogicEventName != wordEvent)
return;
_magicEffect.Emitting = true;
_magicEffect.OneShot = true;
_magicWordSaid = true;
Grow();
}
}
@@ -19,6 +19,7 @@ public partial class DialogicOverlayStarter : Node2D
public void ToggleDialogue()
{
ToggleDialogue(_timelinesToPlay[_timelineIndex]);
GD.Print("Toggling Dialogue");
}
public void ToggleDialogue(int index)
+5 -2
View File
@@ -13,6 +13,7 @@ public partial class MVPDuck : Node2D
[Export] private AnimationPlayer _animationPlayer;
[Export] private string _flapAnimationName = "flapFlap";
[Signal] public delegate void DuckCollectedEventHandler();
public void TransferToTargetAfterDelay()
{
@@ -28,8 +29,10 @@ public partial class MVPDuck : Node2D
public async void MoveAfterDelay()
{
await ToSignal(GetTree().CreateTimer(1.0f), "timeout"); // 1.0f seconds
Position = _penTarget.GlobalPosition; // Now this works!
await ToSignal(GetTree().CreateTimer(1.0f), "timeout");
if(!_penTarget.Equals(null))
Position = _penTarget.GlobalPosition;
EmitSignal(SignalName.DuckCollected);
}
+43
View File
@@ -0,0 +1,43 @@
using Godot;
namespace Babushka.scripts.CSharp.Common.Util;
public partial class Counter : Node2D
{
[Export] private int _startFrom = 0;
[Export] private int _goal = 0;
private int _counter;
[Signal] public delegate void CounterChangedEventHandler(int amount);
[Signal] public delegate void GoalReachedEventHandler();
public override void _Ready()
{
_counter = _startFrom;
}
public void Increment()
{
_counter++;
EmitSignal(SignalName.CounterChanged, _counter);
GD.Print(_counter);
if (_counter == _goal)
{
GD.Print("Emitting goal reached signal");
EmitSignal(SignalName.GoalReached);
}
}
public void Decrement()
{
_counter--;
EmitSignal(SignalName.CounterChanged, _counter);
if (_counter == _goal)
{
EmitSignal(SignalName.GoalReached);
}
}
}
@@ -0,0 +1 @@
uid://l6iq8rpym5io
@@ -0,0 +1,12 @@
extends Node
@export var eventName : String
signal dialogicEventTriggered(name)
func _ready():
Dialogic.signal_event.connect(_on_dialogic_signal)
func _on_dialogic_signal(argument:String):
if argument == eventName:
dialogicEventTriggered.emit(argument)
@@ -0,0 +1 @@
uid://drle5aies8ye4
+73
View File
@@ -0,0 +1,73 @@
shader_type canvas_item;
uniform bool allow_out_of_bounds = true;
uniform float outline_thickness: hint_range(0.0, 16.0, 1.0) = 1.0;
uniform vec4 outline_color: source_color = vec4(1.0);
bool is_inside_usquare(vec2 x) {
return x == clamp(x, vec2(0.0), vec2(1.0));
}
vec4 blend(vec4 bottom, vec4 top) {
float alpha = top.a + bottom.a * (1.0 - top.a);
if (alpha < 0.0001) return vec4(0.0);
vec3 color = mix(bottom.rgb * bottom.a, top.rgb, top.a) / alpha;
return vec4(color, alpha);
}
void vertex() {
if (allow_out_of_bounds) VERTEX += (UV * 2.0 - 1.0) * outline_thickness;
}
void fragment() {
if (outline_thickness > 0.0 && outline_color.a > 0.0) {
vec2 uv = UV;
vec4 texture_color = texture(TEXTURE, UV);
if (allow_out_of_bounds) {
vec2 texture_pixel_size = vec2(1.0) / (vec2(1.0) / TEXTURE_PIXEL_SIZE + vec2(outline_thickness * 2.0));
uv = (uv - texture_pixel_size * outline_thickness) * TEXTURE_PIXEL_SIZE / texture_pixel_size;
if (is_inside_usquare(uv)) {
texture_color = texture(TEXTURE, uv);
} else {
texture_color = vec4(0.0);
}
}
float alpha = 0.0;
for (float y = 1.0; y <= outline_thickness; y++) {
for (float x = 0.0; x <= y; x++) {
if (length(vec2(x, y - 0.5)) > outline_thickness) break;
float look_at_alpha;
vec2 look_at_uv[8] = {
uv + vec2(x, y) * TEXTURE_PIXEL_SIZE,
uv + vec2(-x, y) * TEXTURE_PIXEL_SIZE,
uv + vec2(x, -y) * TEXTURE_PIXEL_SIZE,
uv + vec2(-x, -y) * TEXTURE_PIXEL_SIZE,
uv + vec2(y, x) * TEXTURE_PIXEL_SIZE,
uv + vec2(-y, x) * TEXTURE_PIXEL_SIZE,
uv + vec2(y, -x) * TEXTURE_PIXEL_SIZE,
uv + vec2(-y, -x) * TEXTURE_PIXEL_SIZE
};
for (int i = 0; i < 8; i++) {
if (is_inside_usquare(look_at_uv[i])) {
look_at_alpha = texture(TEXTURE, look_at_uv[i]).a;
if (look_at_alpha > alpha) alpha = look_at_alpha;
if (1.0 - alpha < 0.0001) break;
}
}
if (1.0 - alpha < 0.0001) break;
}
if (1.0 - alpha < 0.0001) break;
}
COLOR = blend(vec4(outline_color.rgb, alpha * outline_color.a), texture_color);
}
}
+1
View File
@@ -0,0 +1 @@
uid://dsa3lv2as7q3b