Implemented basic duck running away from vesna mechanic

This commit is contained in:
2025-07-08 22:23:28 +02:00
parent a1bbe44105
commit ebc3ee9cf9
112 changed files with 2816 additions and 176 deletions
+154 -171
View File
@@ -1,219 +1,202 @@
[gd_scene load_steps=2 format=3 uid="uid://muuxxgvx33fp"]
[gd_scene load_steps=18 format=3 uid="uid://muuxxgvx33fp"]
[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"]
[ext_resource type="AudioStream" uid="uid://bkx4vyigy0u0e" path="res://audio/sfx/Animals/SFX_Duck_Quack_03.wav" id="5_uo3dh"]
[ext_resource type="AudioStream" uid="uid://b5o5bu5to04dw" path="res://audio/sfx/Animals/SFX_Duck_Quack_04.wav" id="6_nxoeu"]
[ext_resource type="AudioStream" uid="uid://dy7y1p1fdl3qi" path="res://audio/sfx/Animals/SFX_Duck_Wings_01.wav" id="8_d4ug3"]
[ext_resource type="AudioStream" uid="uid://c0pea16pvgyom" path="res://audio/sfx/Animals/SFX_Duck_Wings_02.wav" id="9_4830j"]
[ext_resource type="AudioStream" uid="uid://bccwhl0pu3b2v" path="res://audio/sfx/Animals/SFX_Duck_Wings_03.wav" id="10_3eek3"]
[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="AudioStream" uid="uid://bsr5m8u2sle5k" path="res://audio/sfx/Animals/SFX_Duck_Wings_07.wav" id="14_xhefb"]
[node name="Duck" type="Node2D"]
[sub_resource type="CircleShape2D" id="CircleShape2D_nb25w"]
radius = 147.031
[node name="body" type="Node2D" parent="."]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"]
streams_count = 4
stream_0/stream = ExtResource("3_kjie1")
stream_1/stream = ExtResource("4_54k4r")
stream_2/stream = ExtResource("5_uo3dh")
stream_3/stream = ExtResource("6_nxoeu")
[node name="torso" type="Sprite2D" parent="body"]
position = Vector2(11, 308)
scale = Vector2(1.07526, 1.01724)
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_hyel8"]
streams_count = 7
stream_0/stream = ExtResource("8_d4ug3")
stream_1/stream = ExtResource("9_4830j")
stream_2/stream = ExtResource("10_3eek3")
stream_3/stream = ExtResource("11_cdkiq")
stream_4/stream = ExtResource("12_dx1yn")
stream_5/stream = ExtResource("13_yuxo7")
stream_6/stream = ExtResource("14_xhefb")
[node name="Duck" type="Node2D" node_paths=PackedStringArray("_characterBody", "_nakNakAudio", "_wingFlapAudio")]
script = ExtResource("2_nm4n7")
_characterBody = NodePath("CharacterBody2D")
_nakNakAudio = NodePath("Audio/NakNak")
_wingFlapAudio = NodePath("Audio/WingFlutter")
[node name="CharacterBody2D" type="CharacterBody2D" parent="."]
collision_mask = 7
[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"]
position = Vector2(0, 295)
shape = SubResource("CircleShape2D_nb25w")
[node name="body" type="Node2D" parent="CharacterBody2D"]
position = Vector2(-5, -2)
rotation = 0.0135349
scale = Vector2(1, 1)
[node name="head" type="Sprite2D" parent="CharacterBody2D/body"]
position = Vector2(45.8677, 58.5043)
rotation = 0.229125
scale = Vector2(1, 0.997)
skew = 0.0245461
texture = ExtResource("1_cgxhx")
offset = Vector2(0, -100)
region_enabled = true
region_rect = Rect2(30, 168, 125, 326)
[node name="head" type="Sprite2D" parent="body"]
position = Vector2(39, 56)
rotation = 0.0272577
scale = Vector2(1.07521, 1.01729)
skew = 0.00319612
texture = ExtResource("1_cgxhx")
offset = Vector2(40, -10)
offset = Vector2(30.7251, -6.0665)
region_enabled = true
region_rect = Rect2(45, 24, 87, 82)
[node name="wing" type="Sprite2D" parent="body"]
position = Vector2(-34, 263)
rotation = -0.384652
scale = Vector2(0.94817, 1.01462)
skew = -0.0401236
texture = ExtResource("1_cgxhx")
offset = Vector2(-50, 50)
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="underbelly" type="Sprite2D" parent="body"]
position = Vector2(-11, 340)
rotation = -2.94251
scale = Vector2(0.762641, 1.06974)
skew = 0.0226374
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="leg left" type="Sprite2D" parent="body"]
position = Vector2(45, 323)
rotation = 2.61158
scale = Vector2(0.719395, 0.70185)
skew = -0.0496454
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 177, 161)
[node name="leg right" type="Sprite2D" parent="body"]
position = Vector2(-24, 364)
scale = Vector2(1.07526, 1.01724)
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 177, 161)
[node name="left thigh" type="Sprite2D" parent="body"]
position = Vector2(20.6384, 395.665)
rotation = -3.13988
scale = Vector2(0.647275, 0.575169)
skew = 0.000200629
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(368, 263, 81, 89)
[node name="beak upper" type="Sprite2D" parent="body"]
[node name="beak upper" type="Sprite2D" parent="CharacterBody2D/body/head"]
z_index = 1
y_sort_enabled = true
position = Vector2(112.206, 69.1074)
rotation = 0.0776945
scale = Vector2(0.628805, 0.508821)
skew = 0.0090723
position = Vector2(64.9248, 6.88336)
rotation = -0.0372987
scale = Vector2(0.62715, 0.62715)
texture = ExtResource("1_cgxhx")
offset = Vector2(50, 0)
region_enabled = true
region_rect = Rect2(292, 37, 152, 98)
[node name="beak lower" type="Sprite2D" parent="body"]
[node name="beak lower" type="Sprite2D" parent="CharacterBody2D/body/head"]
y_sort_enabled = true
position = Vector2(108, 84)
rotation = 0.118232
scale = Vector2(0.628514, 0.509083)
skew = 0.0137196
position = Vector2(63.0698, 25.5667)
rotation = 0.0418879
scale = Vector2(0.58615, 0.58615)
texture = ExtResource("1_cgxhx")
offset = Vector2(50, 0)
region_enabled = true
region_rect = Rect2(295, 170, 145, 39)
[node name="right thigh" type="Sprite2D" parent="body"]
position = Vector2(61.9819, 296.858)
rotation = 1.00015
scale = Vector2(0.915981, 0.882641)
skew = 0.0492033
[node name="torso" type="Sprite2D" parent="CharacterBody2D/body"]
position = Vector2(-3, 244)
scale = Vector2(1.07526, 1.01724)
texture = ExtResource("1_cgxhx")
offset = Vector2(11.1601, -21.6271)
region_enabled = true
region_rect = Rect2(30, 168, 125, 326)
[node name="wingR" type="Sprite2D" parent="CharacterBody2D/body"]
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/body"]
position = Vector2(47.0695, 245.905)
rotation = -0.0925884
scale = Vector2(1.31536, 1.25948)
skew = -0.0345085
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/body"]
position = Vector2(-17, 370)
rotation = -2.94251
scale = Vector2(0.748, 1.565)
skew = 0.0226374
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 180, 164)
[node name="leg left" type="Sprite2D" parent="CharacterBody2D/body"]
position = Vector2(36.2887, 300.645)
rotation = 2.42655
scale = Vector2(1.05221, 1.04106)
skew = -0.0544099
texture = ExtResource("1_cgxhx")
region_enabled = true
region_rect = Rect2(196, 231, 177, 161)
[node name="left thigh" type="Sprite2D" parent="CharacterBody2D/body/leg left"]
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="body"]
position = Vector2(12, 417)
rotation = 2.67668
scale = Vector2(0.695871, 0.569878)
skew = -0.045905
[node name="left shin" type="Sprite2D" parent="CharacterBody2D/body/leg left/left thigh"]
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="right foot" type="Sprite2D" parent="body"]
position = Vector2(-54, 466)
rotation = 0.872523
scale = Vector2(1.04006, 1.0532)
skew = 0.0540016
[node name="left foot" type="Sprite2D" parent="CharacterBody2D/body/leg left/left thigh/left shin"]
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 shin" type="Sprite2D" parent="body"]
[node name="right leg" type="Sprite2D" parent="CharacterBody2D/body"]
position = Vector2(-24, 364)
scale = Vector2(1.07526, 1.01724)
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="CharacterBody2D/body/right leg"]
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="right shin" type="Sprite2D" parent="CharacterBody2D/body/right leg/right thigh"]
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="left foot" type="Sprite2D" parent="body"]
position = Vector2(32, 466)
rotation = 0.0756956
scale = Vector2(0.703793, 0.562891)
skew = 0.00884056
[node name="right foot" type="Sprite2D" parent="CharacterBody2D/body/right leg/right thigh/right shin"]
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="bones" type="Node2D" parent="."]
position = Vector2(76.3651, 53.1382)
scale = Vector2(1.07526, 1.01724)
[node name="Audio" type="Node2D" parent="."]
[node name="Skeleton2D" type="Skeleton2D" parent="bones"]
[node name="NakNak" type="AudioStreamPlayer2D" parent="Audio"]
stream = SubResource("AudioStreamRandomizer_sot7i")
script = ExtResource("3_rdn2q")
[node name="hip" type="Bone2D" parent="bones/Skeleton2D"]
position = Vector2(-71.9501, 273.153)
rest = Transform2D(1, 0, 0, 1, -71.9501, 273.153)
[node name="LegR" type="Bone2D" parent="bones/Skeleton2D/hip"]
position = Vector2(-21.3902, 32.4407)
rest = Transform2D(1, 0, 0, 1, -21.3902, 32.4407)
[node name="ShinR" type="Bone2D" parent="bones/Skeleton2D/hip/LegR"]
position = Vector2(-33.4803, 51.1187)
rest = Transform2D(1, 0, 0, 1, -33.4803, 51.1187)
[node name="FootR" type="Bone2D" parent="bones/Skeleton2D/hip/LegR/ShinR"]
position = Vector2(5.58005, 49.1526)
rotation = 0.899694
rest = Transform2D(1.96831, 2.30362, -2.30362, 1.96831, 5.58005, 49.1526)
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="bones/Skeleton2D/hip/LegR/ShinR/FootR"]
remote_path = NodePath("../../../../../../../body/right foot")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="bones/Skeleton2D/hip/LegR/ShinR"]
position = Vector2(33.4803, -51.1187)
remote_path = NodePath("../../../../../../body/right shin")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="bones/Skeleton2D/hip/LegR"]
remote_path = NodePath("../../../../../body/leg right")
[node name="LegL" type="Bone2D" parent="bones/Skeleton2D/hip"]
position = Vector2(34.4103, 14.7458)
rotation = -1.17489
scale = Vector2(1, 1)
rest = Transform2D(0.385641, -0.922649, 0.922649, 0.385641, 34.4103, 14.7458)
[node name="ShinR" type="Bone2D" parent="bones/Skeleton2D/hip/LegL"]
position = Vector2(-71.1914, 5.56455)
rest = Transform2D(1, 0, 0, 1, -71.1914, 5.56455)
[node name="FootR" type="Bone2D" parent="bones/Skeleton2D/hip/LegL/ShinR"]
position = Vector2(-36.1531, 28.2146)
rotation = 0.126687
scale = Vector2(3.03, 3.03)
rest = Transform2D(3.00572, 0.382835, -0.382835, 3.00572, -36.1531, 28.2146)
[node name="WingR" type="Bone2D" parent="bones/Skeleton2D/hip"]
position = Vector2(-25.1102, -67.8306)
rotation = 1.93641
scale = Vector2(8.485, 8.485)
rest = Transform2D(-3.03359, 7.92417, -7.92417, -3.03359, -25.1102, -67.8306)
[node name="WingL" type="Bone2D" parent="bones/Skeleton2D/hip"]
position = Vector2(51.1504, -71.7628)
rotation = 0.172541
scale = Vector2(8.485, 8.485)
rest = Transform2D(8.35901, 1.45676, -1.45676, 8.35901, 51.1504, -71.7628)
[node name="Neck" type="Bone2D" parent="bones/Skeleton2D/hip"]
position = Vector2(29.7603, -88.4747)
rest = Transform2D(1, 0, 0, 1, 29.7603, -88.4747)
[node name="Head" type="Bone2D" parent="bones/Skeleton2D/hip/Neck"]
position = Vector2(18.6001, -166.136)
rest = Transform2D(1, 0, 0, 1, 18.6001, -166.136)
[node name="BeakUpper" type="Bone2D" parent="bones/Skeleton2D/hip/Neck/Head"]
position = Vector2(49.2904, -6.88138)
rotation = 0.445425
scale = Vector2(3.39, 3.39)
rest = Transform2D(3.05923, 1.46055, -1.46055, 3.05923, 49.2904, -6.88138)
[node name="BeakLower" type="Bone2D" parent="bones/Skeleton2D/hip/Neck/Head"]
position = Vector2(45.5704, 16.7119)
rotation = 0.170714
scale = Vector2(3.085, 3.085)
rest = Transform2D(3.04016, 0.5241, -0.5241, 3.04016, 45.5704, 16.7119)
[node name="WingFlutter" type="AudioStreamPlayer2D" parent="Audio"]
stream = SubResource("AudioStreamRandomizer_hyel8")
script = ExtResource("3_rdn2q")