From 8c18688a69fac99422565d43dc58a702a5b08fc2 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Wed, 9 Jul 2025 22:40:03 +0200 Subject: [PATCH] MVP duck setup --- art/animals/duck_flapFlap.res | Bin 0 -> 888 bytes dialog/disclaimer.dtl | 12 + dialog/disclaimer.dtl.uid | 1 + dialog/vesna.dch | 49 +++ dialog/vesna.dch.uid | 1 + prefabs/farm/duck.tscn | 352 +++++++----------- scenes/Babushka_scene_disclaimer.tscn | 40 ++ scenes/Babushka_scene_farm_outside_2d.tscn | 25 +- .../Common/NPC/DialogicOverlayStarter.cs.uid | 1 + scripts/CSharp/Common/Temp/MVPDuck.cs | 36 ++ scripts/CSharp/Common/Temp/MVPDuck.cs.uid | 1 + 11 files changed, 277 insertions(+), 241 deletions(-) create mode 100644 art/animals/duck_flapFlap.res create mode 100644 dialog/disclaimer.dtl create mode 100644 dialog/disclaimer.dtl.uid create mode 100644 dialog/vesna.dch create mode 100644 dialog/vesna.dch.uid create mode 100644 scenes/Babushka_scene_disclaimer.tscn create mode 100644 scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs.uid create mode 100644 scripts/CSharp/Common/Temp/MVPDuck.cs create mode 100644 scripts/CSharp/Common/Temp/MVPDuck.cs.uid diff --git a/art/animals/duck_flapFlap.res b/art/animals/duck_flapFlap.res new file mode 100644 index 0000000000000000000000000000000000000000..89792f75fb9b39481801a01299b1ad29dbd07f04 GIT binary patch literal 888 zcmV-;1Bd)lQ$s@n000005C8yW3;+ON0{{RhwJ-f(Wec?$0LEc_O3>0a9gsPO-2&w! zuqF=|QGL1+1BeVU^9hGI)G81)>epXB2F5$DhUky{#;JGg~x#eHw- zBF+}@aCYl|$bGWK{{dVmw^$U2HB!-9pI2yu{+s;QaGVe^C{9Gcu<`%&(b7C!blmwL z;J*mSAKSKVnx<)*roCFc6AK;q#hph3Z{>Nzu0eC`urs#TMNi)Ml{1@+6v2rziCe_e z6?RxwaHOinWxf-vz=FZx4XI-g8 zunaS@&Mf1ZWj8SYOZid^lHd1z-}iZ*=XsvjbzRqW9mjDT$8p=X1w23;fOuA`6{@Jn zD8r6UDhGvAG9@L+z;JV+bd!Y&pO?C!gG3D)A7UsJnF1ZRiD))iO^%n#i5uexmTfE) zCP+BZ%tVlJfuprj9)+mnjA&sJi|v3A0|WBF!HbKJ6e%EP?AQQ~6o@eh6A?lLV4##L z$|)!?NQT`QOBkRH0DKxP=Mscn-$`e)C`hx}jG{c-HE_W}Icp*#fY2FDtJk!~=PJ?8 zB2EP5lLGA7qDF)@i;w!IX$(vXDyVgB$xwIz^lzZqI2oz0*N27or-rhmBkv*j;p%&v z{?KOMT7i4Jh_6Ap6oJ?1biKeBR0+^B&yXkr`u;a|uY1eSbtTkM@Om!h9rzZ@A66oY z*nf3~WqkhV3`veOg<-r?{Kyi|-cha_!>J);@li0rjWP zM$(CPxPh=-?3synmg~f{5yFcPe;?6DiNj`NY98KIEvr?^B}ghs(3HA(vr4!bTzHkN OQ9x|=AignDQ$s_mE~n%G literal 0 HcmV?d00001 diff --git a/dialog/disclaimer.dtl b/dialog/disclaimer.dtl new file mode 100644 index 0000000..5969dcd --- /dev/null +++ b/dialog/disclaimer.dtl @@ -0,0 +1,12 @@ +join vesna left +vesna: Hello! +join Yeli (_side) right +Yeli (_frontal): Welcome to Babushka! +vesna (half side): We are Cozy Raven. This is our first showcase. +Yeli (_part_side): Many of the lofty, idealist, dreamy things that we wanted to implement are still in the backlog, waiting for their turn. +vesna (front): But alas! The deadlines loomed, the bugs were strong with this one, and our days only have 24 hours. +Yeli (_frontal): So please be kind when you test this demo. We poured our hearts and our love for the slavic folklore into this one and will continue to do so. +vesna (half side): Have fun and tell us what you think! Thank you! +leave vesna +leave Yeli +[end_timeline] diff --git a/dialog/disclaimer.dtl.uid b/dialog/disclaimer.dtl.uid new file mode 100644 index 0000000..1890bc2 --- /dev/null +++ b/dialog/disclaimer.dtl.uid @@ -0,0 +1 @@ +uid://d1s4fpcb55rqb diff --git a/dialog/vesna.dch b/dialog/vesna.dch new file mode 100644 index 0000000..e452b0c --- /dev/null +++ b/dialog/vesna.dch @@ -0,0 +1,49 @@ +{ +"@path": "res://addons/dialogic/Resources/character.gd", +"@subpath": NodePath(""), +&"_translation_id": "", +&"color": Color(1, 1, 1, 1), +&"custom_info": { +"sound_mood_default": "", +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.0, +"skip_characters": 0.0, +"sound_path": "", +"volume_base": 0.0, +"volume_variance": 0.0 +} +}, +"style": "NPC_narrative" +}, +&"default_portrait": "front", +&"description": "The main character. ", +&"display_name": "Vesna", +&"mirror": false, +&"nicknames": ["vesna"], +&"offset": Vector2(-300, 0), +&"portraits": { +"front": { +"export_overrides": { +"image": "\"res://art/animation/Vesna2D/Vesna Anims Sequences/F01-Idle/0001.png\"" +}, +"mirror": false, +"offset": Vector2(0, 0), +"scale": 0.6, +"scene": "" +}, +"half side": { +"export_overrides": { +"image": "\"res://art/animation/Vesna2D/Vesna Anims Sequences/D05-Talk/0001.png\"" +}, +"mirror": false, +"offset": Vector2(0, 0), +"scale": 0.6, +"scene": "" +} +}, +&"scale": 1.0 +} \ No newline at end of file diff --git a/dialog/vesna.dch.uid b/dialog/vesna.dch.uid new file mode 100644 index 0000000..e2367dd --- /dev/null +++ b/dialog/vesna.dch.uid @@ -0,0 +1 @@ +uid://cnbmi38eifn5d diff --git a/prefabs/farm/duck.tscn b/prefabs/farm/duck.tscn index 2ea7d8d..f9dbcc6 100644 --- a/prefabs/farm/duck.tscn +++ b/prefabs/farm/duck.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=20 format=3 uid="uid://muuxxgvx33fp"] +[gd_scene load_steps=22 format=3 uid="uid://muuxxgvx33fp"] +[ext_resource type="Script" uid="uid://7m1rt7agb6rm" path="res://scripts/CSharp/Common/Temp/MVPDuck.cs" id="1_54k4r"] [ext_resource type="Texture2D" uid="uid://hvchk6t0xe7j" path="res://art/animals/Ente.png" id="1_cgxhx"] -[ext_resource type="Script" uid="uid://c4qxtuym7syjc" path="res://scripts/CSharp/Common/Animation/Duck.cs" id="2_nm4n7"] [ext_resource type="AudioStream" uid="uid://qv0aubjeyi0u" path="res://audio/sfx/Animals/SFX_Duck_Quack_01.wav" id="3_kjie1"] [ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="3_rdn2q"] [ext_resource type="AudioStream" uid="uid://da84l8e44scwh" path="res://audio/sfx/Animals/SFX_Duck_Quack_02.wav" id="4_54k4r"] @@ -13,10 +13,9 @@ [ext_resource type="AudioStream" uid="uid://bixloi5fuoubu" path="res://audio/sfx/Animals/SFX_Duck_Wings_04.wav" id="11_cdkiq"] [ext_resource type="AudioStream" uid="uid://g8xhunjfhwde" path="res://audio/sfx/Animals/SFX_Duck_Wings_05.wav" id="12_dx1yn"] [ext_resource type="AudioStream" uid="uid://u1ql6s2wep4y" path="res://audio/sfx/Animals/SFX_Duck_Wings_06.wav" id="13_yuxo7"] +[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"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_nb25w"] -radius = 147.031 +[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="15_uo3dh"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"] streams_count = 4 @@ -38,211 +37,130 @@ stream_6/stream = ExtResource("14_xhefb") [sub_resource type="Animation" id="Animation_kjie1"] resource_name = "new_animation" +[sub_resource type="Animation" id="Animation_uo3dh"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("bodyLookingRight/wingR:rotation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.371117] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("bodyLookingRight/wingL:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.0925884] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("bodyLookingRight/head:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.284615] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("bodyLookingRight/head/beak upper:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.0427724] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("bodyLookingRight/head/beak lower:rotation") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0364142] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Audio/NakNak:playing") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Audio/WingFlutter:playing") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_54k4r"] _data = { +&"RESET": SubResource("Animation_uo3dh"), +&"flapFlap": ExtResource("14_uo3dh"), &"new_animation": SubResource("Animation_kjie1") } -[node name="Duck" type="Node2D" node_paths=PackedStringArray("_characterBody", "_nakNakAudio", "_wingFlapAudio", "_duckRight", "_duckLeft")] -script = ExtResource("2_nm4n7") -_characterBody = NodePath("CharacterBody2D") -_nakNakAudio = NodePath("Audio/NakNak") -_wingFlapAudio = NodePath("Audio/WingFlutter") -_runningSpeed = 3000.0 -_slowSpeed = 500.0 -_minDistanceToVesna = 1500.0 -_duckRight = NodePath("CharacterBody2D/bodyLookingRight") -_duckLeft = NodePath("CharacterBody2D/bodyLookingLeft") - -[node name="CharacterBody2D" type="CharacterBody2D" parent="."] -position = Vector2(0, -535) -collision_mask = 7 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"] -z_index = 1 -y_sort_enabled = true -position = Vector2(0, 295) -shape = SubResource("CircleShape2D_nb25w") - -[node name="bodyLookingRight" type="Node2D" parent="CharacterBody2D"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-5, -2) -rotation = 0.0135349 - -[node name="head" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight"] -z_index = 1 -y_sort_enabled = true -position = Vector2(46.9624, 76.1606) -rotation = 0.284615 -scale = Vector2(1, 0.997) -skew = 0.024546 -texture = ExtResource("1_cgxhx") -offset = Vector2(25.2328, -23.0689) -region_enabled = true -region_rect = Rect2(45, 24, 87, 82) - -[node name="beak upper" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/head"] -z_index = 1 -y_sort_enabled = true -position = Vector2(50.669, -7.16257) -rotation = -0.0427724 -scale = Vector2(0.62715, 0.62715) -texture = ExtResource("1_cgxhx") -offset = Vector2(57.1263, -7.47815) -region_enabled = true -region_rect = Rect2(292, 37, 152, 98) - -[node name="beak lower" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/head"] -z_index = 1 -y_sort_enabled = true -position = Vector2(47.9076, -15.7341) -rotation = 0.0364142 -scale = Vector2(0.58615, 0.58615) -texture = ExtResource("1_cgxhx") -offset = Vector2(60.4601, 37.8134) -region_enabled = true -region_rect = Rect2(295, 170, 145, 39) - -[node name="torso" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight"] -z_index = 1 -y_sort_enabled = true -position = Vector2(5.90997, 355.352) -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="CharacterBody2D/bodyLookingRight"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-28, 262) -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="CharacterBody2D/bodyLookingRight"] -z_index = 1 -y_sort_enabled = true -position = Vector2(47.0695, 245.905) -rotation = -0.0925884 -scale = Vector2(1.31536, 1.25948) -skew = -0.0345086 -texture = ExtResource("1_cgxhx") -offset = Vector2(-59.5924, 55.37) -region_enabled = true -region_rect = Rect2(196, 231, 180, 164) - -[node name="underbelly" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight"] +[node name="Duck" type="Node2D" node_paths=PackedStringArray("_animationPlayer")] z_index = 1 y_sort_enabled = true -position = Vector2(-11.4038, 439.203) -rotation = -2.98225 -scale = Vector2(0.672245, 0.955267) -skew = 0.0185422 -texture = ExtResource("1_cgxhx") -offset = Vector2(26.4135, 70.6083) -region_enabled = true -region_rect = Rect2(196, 231, 180, 164) +script = ExtResource("1_54k4r") +_transferDelayMs = 1000 +_animationPlayer = NodePath("AnimationPlayer") -[node name="leg left" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight"] -position = Vector2(36.2887, 300.645) -rotation = 2.42655 -scale = Vector2(1.05221, 1.04106) -skew = -0.0544101 -texture = ExtResource("1_cgxhx") -region_enabled = true -region_rect = Rect2(196, 231, 177, 161) - -[node name="left thigh" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/leg left"] -z_index = 1 -y_sort_enabled = true -position = Vector2(73.353, -69.771) -rotation = -2.57238 -scale = Vector2(0.651005, 0.688137) -texture = ExtResource("1_cgxhx") -region_enabled = true -region_rect = Rect2(368, 263, 81, 89) - -[node name="left shin" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/leg left/left thigh"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-5.71882, 19.9984) -rotation = 2.69159 -scale = Vector2(0.88169, 0.852516) -skew = -0.0440769 -texture = ExtResource("1_cgxhx") -offset = Vector2(10, -50) -region_enabled = true -region_rect = Rect2(360, 361, 68, 126) - -[node name="left foot" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/leg left/left thigh/left shin"] -z_index = 1 -y_sort_enabled = true -position = Vector2(15.1289, -77.6075) -rotation = -2.65268 -scale = Vector2(1.12319, 1.12319) -texture = ExtResource("1_cgxhx") -offset = Vector2(40, 40) -region_enabled = true -region_rect = Rect2(246, 393, 111, 111) - -[node name="right leg" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-24, 364) -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="Audio" type="Node2D" parent="."] -[node name="right thigh" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/right leg"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-29.7603, 44.2374) -rotation = 0.249342 -scale = Vector2(0.625107, 0.655894) -skew = 0.02161 -texture = ExtResource("1_cgxhx") -region_enabled = true -region_rect = Rect2(368, 263, 81, 89) +[node name="NakNak" type="AudioStreamPlayer2D" parent="Audio"] +stream = SubResource("AudioStreamRandomizer_sot7i") +script = ExtResource("3_rdn2q") -[node name="right shin" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/right leg/right thigh"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-2.78734, 11.5692) -rotation = 0.0689206 -scale = Vector2(1.12016, 1.07128) -skew = -0.0877244 -texture = ExtResource("1_cgxhx") -offset = Vector2(-14.163, 37.0936) -region_enabled = true -region_rect = Rect2(360, 361, 68, 126) +[node name="WingFlutter" type="AudioStreamPlayer2D" parent="Audio"] +stream = SubResource("AudioStreamRandomizer_hyel8") +script = ExtResource("3_rdn2q") -[node name="right foot" type="Sprite2D" parent="CharacterBody2D/bodyLookingRight/right leg/right thigh/right shin"] -z_index = 1 -y_sort_enabled = true -position = Vector2(-20.0986, 67.7507) -rotation = 0.14855 -scale = Vector2(1.212, 1.212) -texture = ExtResource("1_cgxhx") -offset = Vector2(40, 40) -region_enabled = true -region_rect = Rect2(246, 393, 111, 111) +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_54k4r") +} -[node name="bodyLookingLeft" type="Node2D" parent="CharacterBody2D"] -visible = false +[node name="bodyLookingRight" type="Node2D" parent="."] z_index = 1 y_sort_enabled = true -position = Vector2(-5, -2) +position = Vector2(-5, -537) rotation = 0.0135349 -scale = Vector2(-1, 1) +scale = Vector2(1, 1) -[node name="head" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="head" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(46.9624, 76.1606) @@ -254,7 +172,7 @@ offset = Vector2(25.2328, -23.0689) region_enabled = true region_rect = Rect2(45, 24, 87, 82) -[node name="beak upper" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/head"] +[node name="beak upper" type="Sprite2D" parent="bodyLookingRight/head"] z_index = 1 y_sort_enabled = true position = Vector2(50.669, -7.16257) @@ -265,7 +183,7 @@ offset = Vector2(57.1263, -7.47815) region_enabled = true region_rect = Rect2(292, 37, 152, 98) -[node name="beak lower" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/head"] +[node name="beak lower" type="Sprite2D" parent="bodyLookingRight/head"] z_index = 1 y_sort_enabled = true position = Vector2(47.9076, -15.7341) @@ -276,7 +194,7 @@ offset = Vector2(60.4601, 37.8134) region_enabled = true region_rect = Rect2(295, 170, 145, 39) -[node name="torso" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="torso" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(5.90997, 355.352) @@ -286,7 +204,7 @@ offset = Vector2(2.87376, -131.092) region_enabled = true region_rect = Rect2(30, 168, 125, 326) -[node name="wingR" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="wingR" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(-28, 262) @@ -296,19 +214,18 @@ offset = Vector2(-50, 50) region_enabled = true region_rect = Rect2(196, 231, 180, 164) -[node name="wingL" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="wingL" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(47.0695, 245.905) rotation = -0.0925884 -scale = Vector2(1.31536, 1.25948) skew = -0.0345086 texture = ExtResource("1_cgxhx") offset = Vector2(-59.5924, 55.37) region_enabled = true region_rect = Rect2(196, 231, 180, 164) -[node name="underbelly" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="underbelly" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(-11.4038, 439.203) @@ -320,7 +237,7 @@ offset = Vector2(26.4135, 70.6083) region_enabled = true region_rect = Rect2(196, 231, 180, 164) -[node name="leg left" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="leg left" type="Sprite2D" parent="bodyLookingRight"] position = Vector2(36.2887, 300.645) rotation = 2.42655 scale = Vector2(1.05221, 1.04106) @@ -329,7 +246,7 @@ texture = ExtResource("1_cgxhx") region_enabled = true region_rect = Rect2(196, 231, 177, 161) -[node name="left thigh" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/leg left"] +[node name="left thigh" type="Sprite2D" parent="bodyLookingRight/leg left"] z_index = 1 y_sort_enabled = true position = Vector2(73.353, -69.771) @@ -339,7 +256,7 @@ texture = ExtResource("1_cgxhx") region_enabled = true region_rect = Rect2(368, 263, 81, 89) -[node name="left shin" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/leg left/left thigh"] +[node name="left shin" type="Sprite2D" parent="bodyLookingRight/leg left/left thigh"] z_index = 1 y_sort_enabled = true position = Vector2(-5.71882, 19.9984) @@ -351,7 +268,7 @@ offset = Vector2(10, -50) region_enabled = true region_rect = Rect2(360, 361, 68, 126) -[node name="left foot" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/leg left/left thigh/left shin"] +[node name="left foot" type="Sprite2D" parent="bodyLookingRight/leg left/left thigh/left shin"] z_index = 1 y_sort_enabled = true position = Vector2(15.1289, -77.6075) @@ -362,7 +279,7 @@ offset = Vector2(40, 40) region_enabled = true region_rect = Rect2(246, 393, 111, 111) -[node name="right leg" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft"] +[node name="right leg" type="Sprite2D" parent="bodyLookingRight"] z_index = 1 y_sort_enabled = true position = Vector2(-24, 364) @@ -372,7 +289,7 @@ texture = ExtResource("1_cgxhx") region_enabled = true region_rect = Rect2(196, 231, 177, 161) -[node name="right thigh" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/right leg"] +[node name="right thigh" type="Sprite2D" parent="bodyLookingRight/right leg"] z_index = 1 y_sort_enabled = true position = Vector2(-29.7603, 44.2374) @@ -383,7 +300,7 @@ texture = ExtResource("1_cgxhx") region_enabled = true region_rect = Rect2(368, 263, 81, 89) -[node name="right shin" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/right leg/right thigh"] +[node name="right shin" type="Sprite2D" parent="bodyLookingRight/right leg/right thigh"] z_index = 1 y_sort_enabled = true position = Vector2(-2.78734, 11.5692) @@ -395,7 +312,7 @@ offset = Vector2(-14.163, 37.0936) region_enabled = true region_rect = Rect2(360, 361, 68, 126) -[node name="right foot" type="Sprite2D" parent="CharacterBody2D/bodyLookingLeft/right leg/right thigh/right shin"] +[node name="right foot" type="Sprite2D" parent="bodyLookingRight/right leg/right thigh/right shin"] z_index = 1 y_sort_enabled = true position = Vector2(-20.0986, 67.7507) @@ -406,17 +323,8 @@ offset = Vector2(40, 40) region_enabled = true region_rect = Rect2(246, 393, 111, 111) -[node name="Audio" type="Node2D" parent="."] - -[node name="NakNak" type="AudioStreamPlayer2D" parent="Audio"] -stream = SubResource("AudioStreamRandomizer_sot7i") -script = ExtResource("3_rdn2q") +[node name="InteractionArea" parent="." instance=ExtResource("15_uo3dh")] +position = Vector2(-3, -274) -[node name="WingFlutter" type="AudioStreamPlayer2D" parent="Audio"] -stream = SubResource("AudioStreamRandomizer_hyel8") -script = ExtResource("3_rdn2q") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_54k4r") -} +[connection signal="Interacted" from="InteractionArea" to="." method="TransferToTargetAfterDelay"] +[connection signal="Interacted" from="InteractionArea" to="Audio/NakNak" method="PlayOneShot"] diff --git a/scenes/Babushka_scene_disclaimer.tscn b/scenes/Babushka_scene_disclaimer.tscn new file mode 100644 index 0000000..64a530d --- /dev/null +++ b/scenes/Babushka_scene_disclaimer.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=7 format=3 uid="uid://c02s0c64tm2v"] + +[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_5otdq"] +[ext_resource type="PackedScene" uid="uid://gigb28qk8t12" path="res://scenes/Babushka_scene_farm_outside_2d.tscn" id="2_8y0cv"] +[ext_resource type="Texture2D" uid="uid://cou4iy8dhqmsf" path="res://art/indoor/indoor outdoor/muster/TEPPICH FLORAL.png" id="3_8y0cv"] +[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="4_qjf71"] +[ext_resource type="Script" uid="uid://dnipeibppjirs" path="res://scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs" id="5_ihldk"] +[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="6_8y0cv"] + +[node name="BabushkaSceneDisclaimer" type="Node2D"] +script = ExtResource("1_5otdq") +_sceneToLoad = ExtResource("2_8y0cv") + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="TextureRect" type="TextureRect" parent="CanvasLayer"] +modulate = Color(0.726816, 0.6051, 0.491763, 1) +anchors_preset = 13 +anchor_left = 0.5 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -1486.9 +offset_right = 1486.9 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_8y0cv") +expand_mode = 3 + +[node name="dialogic" type="Node2D" parent="."] +script = ExtResource("4_qjf71") + +[node name="Dialogue" type="Node2D" parent="dialogic"] +script = ExtResource("5_ihldk") +_timelinesToPlay = PackedStringArray("disclaimer") + +[node name="toggle" type="Node2D" parent="dialogic"] +script = ExtResource("6_8y0cv") + +[connection signal="Dialogue" from="dialogic/Dialogue" to="dialogic" method="open"] +[connection signal="timelineEnded" from="dialogic/toggle" to="." method="LoadScene"] diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index a9fcd46..998816d 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=98 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=96 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"] @@ -62,7 +62,6 @@ [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="PackedScene" uid="uid://muuxxgvx33fp" path="res://prefabs/farm/duck.tscn" id="62_i36hd"] -[ext_resource type="Script" uid="uid://fvo04di6k7we" path="res://scripts/CSharp/Common/Animation/PenCollider.cs" id="63_uxa2m"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"] shader = ExtResource("13_7p0hq") @@ -224,9 +223,6 @@ stream_0/stream = ExtResource("39_di1ed") stream_1/stream = ExtResource("40_ceriq") stream_2/stream = ExtResource("49_d77e7") -[sub_resource type="RectangleShape2D" id="RectangleShape2D_lwk6t"] -size = Vector2(1407.56, 1310.2) - [node name="BabushkaSceneFarmOutside2d" type="Node2D"] script = ExtResource("34_e5b7x") _sceneToLoad = ExtResource("2_taxvr") @@ -2097,14 +2093,12 @@ collision_mask = 4 position = Vector2(1.75458, 76) shape = SubResource("RectangleShape2D_2vojv") -[node name="Duck2" parent="YSorted" node_paths=PackedStringArray("_vesna") instance=ExtResource("62_i36hd")] -z_index = 1 -y_sort_enabled = true +[node name="Duck2" parent="YSorted" node_paths=PackedStringArray("_penTarget") instance=ExtResource("62_i36hd")] position = Vector2(4374, 2652) -_vesna = NodePath("../Vesna/CharacterBody2D") -_runningSpeed = 2000.0 -_slowSpeed = 1000.0 -_minDistanceToVesna = 500.0 +_penTarget = NodePath("../penSlot1") + +[node name="penSlot1" type="Node2D" parent="YSorted"] +position = Vector2(-5480.62, 2109.14) [node name="CanvasLayer" parent="." instance=ExtResource("32_2nee2")] @@ -2179,13 +2173,6 @@ max_distance = 2e+07 playback_type = 2 script = ExtResource("40_w3jkj") -[node name="PenCollider" type="Area2D" parent="."] -script = ExtResource("63_uxa2m") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="PenCollider"] -position = Vector2(-4983.78, 2662.9) -shape = SubResource("RectangleShape2D_lwk6t") - [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"] diff --git a/scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs.uid b/scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs.uid new file mode 100644 index 0000000..ac4d25a --- /dev/null +++ b/scripts/CSharp/Common/NPC/DialogicOverlayStarter.cs.uid @@ -0,0 +1 @@ +uid://dnipeibppjirs diff --git a/scripts/CSharp/Common/Temp/MVPDuck.cs b/scripts/CSharp/Common/Temp/MVPDuck.cs new file mode 100644 index 0000000..e0197ac --- /dev/null +++ b/scripts/CSharp/Common/Temp/MVPDuck.cs @@ -0,0 +1,36 @@ +using System.Threading.Tasks; +using Godot; + +namespace Babushka.scripts.CSharp.Common.Temp; + +/// +/// Temporary Duck behaviour to make sure we can use them in the first showcase +/// +public partial class MVPDuck : Node2D +{ + [Export] private Node2D _penTarget; + [Export] private int _transferDelayMs; + [Export] private AnimationPlayer _animationPlayer; + [Export] private string _flapAnimationName = "flapFlap"; + + + public void TransferToTargetAfterDelay() + { + MoveAfterDelay(); + PlayAnimation(); + } + + private void PlayAnimation() + { + _animationPlayer.CurrentAnimation = _flapAnimationName; + _animationPlayer.Play(); + } + + public async void MoveAfterDelay() + { + await ToSignal(GetTree().CreateTimer(1.0f), "timeout"); // 1.0f seconds + Position = _penTarget.GlobalPosition; // Now this works! + } + + +} \ No newline at end of file diff --git a/scripts/CSharp/Common/Temp/MVPDuck.cs.uid b/scripts/CSharp/Common/Temp/MVPDuck.cs.uid new file mode 100644 index 0000000..7b470d1 --- /dev/null +++ b/scripts/CSharp/Common/Temp/MVPDuck.cs.uid @@ -0,0 +1 @@ +uid://7m1rt7agb6rm