Compare commits
8 Commits
cfe604d3b7
...
6275bea52c
| Author | SHA1 | Date | |
|---|---|---|---|
| 6275bea52c | |||
| 279cac22ee | |||
| e88ba2e1ef | |||
| f01143e887 | |||
| 18711776bb | |||
| 0f246825fc | |||
| 19e30dd0b8 | |||
| 730c4999d7 |
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ccy6bwunhfvrf"
|
||||
path="res://.godot/imported/Babushka_house_frontDoor.png-345830acb7ae8cbbb97011f89455fd91.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/farm/Babushka_house_frontDoor.png"
|
||||
dest_files=["res://.godot/imported/Babushka_house_frontDoor.png-345830acb7ae8cbbb97011f89455fd91.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
|
||||
@@ -15,8 +15,8 @@
|
||||
script = ExtResource("1_0jwhi")
|
||||
overrides = {
|
||||
"global_bg_color": "Color(0.898375, 0.917922, 0.835355, 1)",
|
||||
"global_font_color": "Color(0.242786, 0.16463, 0.180255, 1)",
|
||||
"global_font_size": "20.0"
|
||||
"global_font_color": "Color(0.257812, 0.125248, 0.0533752, 1)",
|
||||
"global_font_size": "30.0"
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_uxnk3"]
|
||||
@@ -44,10 +44,10 @@ overrides = {
|
||||
"name_label_alignment": "2",
|
||||
"name_label_box_modulate": "Color(1, 1, 1, 1)",
|
||||
"name_label_box_panel": "\"res://dialog/Babushka_NPC_Namebox_background.tres\"",
|
||||
"name_label_custom_font_size": "30.0",
|
||||
"name_label_use_global_color": "false",
|
||||
"next_indicator_enabled": "false",
|
||||
"text_alignment": "1",
|
||||
"text_size": "20.0",
|
||||
"text_size": "40.0",
|
||||
"typing_sounds_end_sound": "\"res://audio/sfx/UI/Dialog/SFX_Dialog_Open_01.wav\""
|
||||
}
|
||||
|
||||
@@ -59,7 +59,14 @@ overrides = {}
|
||||
[sub_resource type="Resource" id="Resource_umvdi"]
|
||||
script = ExtResource("1_0jwhi")
|
||||
scene = ExtResource("7_rg32j")
|
||||
overrides = {}
|
||||
overrides = {
|
||||
"font_size_custom": "30.0",
|
||||
"text_color_disabled": "Color(0.605469, 0.605469, 0.605469, 1)",
|
||||
"text_color_focused": "Color(1, 0.628906, 0.628906, 1)",
|
||||
"text_color_hovered": "Color(0.882353, 0.572549, 0.572549, 1)",
|
||||
"text_color_pressed": "Color(1, 0.882812, 0.53125, 1)",
|
||||
"text_color_use_global": "false"
|
||||
}
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ci2ul"]
|
||||
script = ExtResource("1_0jwhi")
|
||||
@@ -94,4 +101,4 @@ layer_info = {
|
||||
}
|
||||
base_overrides = {}
|
||||
layers = Array[ExtResource("1_0jwhi")]([])
|
||||
metadata/_latest_layer = "14"
|
||||
metadata/_latest_layer = "15"
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
join Yeli center
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
Everyone: Smachnoho!
|
||||
Vesna2: Lovely soup, Yeli!
|
||||
vesna: Lovely soup, Yeli!
|
||||
Yeli (_part_side): God bless you, my child! That’s also thanks to you.
|
||||
Vesna2: So, how do you like it in Lasnoye so far?
|
||||
vesna: So, how do you like it in Lasnoye so far?
|
||||
- It feels different from when Vasily and I used to live here.
|
||||
- It’s just as I remembered it.
|
||||
Yeli (_part_side): Indeed, it is.
|
||||
Yeli (_part_side): Since the evacuation, Lasnoye and its people had to adapt to…new circumstances.
|
||||
Yeli (_part_side): But at its core, it’s still our motherland from back then.
|
||||
Vesna2: …And the forest? Has anyone tried to go back and--
|
||||
vesna: …And the forest? Has anyone tried to go back and--
|
||||
Yeli (_part_side): The forest is strictly off-limits!
|
||||
Yeli (_part_side): Dragana forbids it.
|
||||
Yeli (_part_side): The grime turned the forest into a dangerous place.
|
||||
Yeli (_part_side): But here you’re safe. After all, you can always count on your Yeli!
|
||||
Vesna2: In that case, pass me some more soup!
|
||||
vesna: In that case, pass me some more soup!
|
||||
[end_timeline]
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"@path": "res://addons/dialogic/Resources/character.gd",
|
||||
"@subpath": NodePath(""),
|
||||
&"_translation_id": "",
|
||||
&"color": Color(1, 1, 1, 1),
|
||||
&"custom_info": {
|
||||
"sound_mood_default": "",
|
||||
"sound_moods": {},
|
||||
"style": "NPC_narrative"
|
||||
},
|
||||
&"default_portrait": "",
|
||||
&"description": "Main character",
|
||||
&"display_name": "Vesna2",
|
||||
&"mirror": false,
|
||||
&"nicknames": [""],
|
||||
&"offset": Vector2(0, 0),
|
||||
&"portraits": {},
|
||||
&"scale": 1.0
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
uid://c0vfdx7xal0py
|
||||
@@ -1,4 +0,0 @@
|
||||
join Vesna2 center
|
||||
Vesna2: I just wish I liked tomatoes more.
|
||||
Vesna2: Well…Yeli probably started with the cooking. I should go inside.
|
||||
[end_timeline]
|
||||
@@ -1,5 +1,5 @@
|
||||
join Yeli center
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
Yeli (_part_side): Wow! So many?
|
||||
Yeli (_part_side): Good job! Put it in the kettle!
|
||||
[wait_input]
|
||||
@@ -1,15 +1,15 @@
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
join Domovoi center
|
||||
Vesna2: Oh no, most of the beets aren’t ripe yet.
|
||||
vesna: Oh no, most of the beets aren’t ripe yet.
|
||||
Domovoi: Pssss!
|
||||
Domovoi: Yeah, you!
|
||||
Domovoi: The code word is “Rosty Rosty”
|
||||
Vesna2: What?
|
||||
vesna: What?
|
||||
Domovoi: Just say it!
|
||||
Vesna2: Rosty…rosty?
|
||||
vesna: Rosty…rosty?
|
||||
# Hier wächst die rote Beete magisch. Mit einem Signal/Ereignis?
|
||||
[signal arg="MagicWord"]
|
||||
Vesna2: It worked! How did it work?
|
||||
Vesna2: Thank y…and he’s gone.
|
||||
What a truly quirky individual.
|
||||
vesna: It worked! How did it work?
|
||||
vesna: Thank y…and he’s gone.
|
||||
vesna: What a truly quirky individual.
|
||||
[end_timeline]
|
||||
@@ -2,7 +2,7 @@ join Yeli right
|
||||
join vesna left
|
||||
Yeli (_part_side): Come here, you little quacking beast!
|
||||
- What a mess!
|
||||
- You haven’t called me that way yet.
|
||||
- How did you call me?
|
||||
Yeli (_part_side): Vesna, oh, thank goodness!
|
||||
Yeli (_part_side): Please could you get the runner ducks back into their coop?
|
||||
[end_timeline]
|
||||
@@ -1,6 +1,6 @@
|
||||
join Chuga center
|
||||
Chuga: I believe you’ve seen enough for today.
|
||||
Chuga: And yes, you too.
|
||||
Thank you for playing!
|
||||
vesna: Thank you for playing!
|
||||
do SceneTransition.ChangeSceneToFileThreaded("res://scenes/Babushka_scene_credits.tscn")
|
||||
[end_timeline]
|
||||
@@ -1,21 +1,21 @@
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
join Chuga center
|
||||
Chuga: Look who it is!
|
||||
Vesna2: Your name was Chuga, right? I want to go to the forest!
|
||||
vesna: Your name was Chuga, right? I want to go to the forest!
|
||||
Chuga: To the forest? After everything the others told you?
|
||||
Vesna2: Will you let me through?
|
||||
vesna: Will you let me through?
|
||||
Chuga: Will I?
|
||||
Chuga: Let us have a riddle!
|
||||
Chuga: If you answer correctly, I let you through.
|
||||
Chuga: If not, I let you through anyway.
|
||||
Vesna2: So, what’s the point of answering?
|
||||
vesna: So, what’s the point of answering?
|
||||
Chuga: You give me an answer, and I give you something to see in the dark.
|
||||
Chuga: Or are you planning to return with bumps and bruises?
|
||||
Chuga: So, listen\: “I wear a crown, but I’m no king.” Vesna, what am I?
|
||||
- Queen
|
||||
Chuga: What a boring answer.
|
||||
- Tree
|
||||
That’s it!
|
||||
Chuga: That’s it!
|
||||
- Soup
|
||||
Chuga: Hate the player, not the game.
|
||||
Chuga: Here you go!
|
||||
@@ -0,0 +1,4 @@
|
||||
join vesna center
|
||||
vesna: I just wish I liked tomatoes more.
|
||||
vesna: Well…Yeli probably started with the cooking. I should go inside.
|
||||
[end_timeline]
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
join Yeli center
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
Yeli (_part_side): Great! Now I need you to plant some tomatoes!
|
||||
label plant tomatoes
|
||||
Yeli (_part_side): Use the hoe to break up the soil. Then plant the seeds and water the fields.
|
||||
@@ -1,10 +1,10 @@
|
||||
join Yeli center
|
||||
join Vesna2 center
|
||||
join vesna center
|
||||
Yeli (_part_side): Thank you, my child! Your Yeli is not so agile anymore.
|
||||
Vesna2: But you’re diligent! You’ve started with the preparation for dinner.
|
||||
vesna: But you’re diligent! You’ve started with the preparation for dinner.
|
||||
Yeli (_part_side): Indeed, I have.
|
||||
Yeli (_part_side): But, oh my, those ducks messed up the tomatos.
|
||||
Yeli (_part_side): But, oh my, those ducks messed up the tomatos.
|
||||
Yeli (_part_side): Oh, would you like to assist me?
|
||||
Vesna2: What do I have to do?
|
||||
vesna: What do I have to do?
|
||||
Yeli (_part_side): First, take the hoe and watering can over there! Then come back to me!
|
||||
[end_timeline]
|
||||
@@ -1,10 +1,11 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://ddpl8cbck7e6s"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://ddpl8cbck7e6s"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d0kgxh4ykuv23" path="res://scripts/CSharp/Common/NPC/TalkingCharacter.cs" id="1_xix7p"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="2_udjjv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgba1uv0muxat" path="res://art/characters/chugeist_tmp.png" id="3_42og6"]
|
||||
[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="3_kd44q"]
|
||||
[ext_resource type="Script" uid="uid://d2486x6upmwqq" path="res://scripts/GdScript/dialogic_starter.gd" id="43_xooq4"]
|
||||
[ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="44_v6w16"]
|
||||
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="44_v6w16"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_at1n1"]
|
||||
resource_local_to_scene = true
|
||||
@@ -20,24 +21,16 @@ z_index = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("1_xix7p")
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("2_udjjv")]
|
||||
[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("2_udjjv")]
|
||||
position = Vector2(0, -450)
|
||||
scale = Vector2(2.805, 2.805)
|
||||
_outlineMaterial = ExtResource("3_kd44q")
|
||||
_spriteToOutline = NodePath("../TalkingControl/Visual")
|
||||
|
||||
[node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"]
|
||||
position = Vector2(-4.99109, 63.4581)
|
||||
shape = SubResource("CircleShape2D_at1n1")
|
||||
|
||||
[node name="Label" parent="InteractionArea" index="1"]
|
||||
z_index = 5
|
||||
custom_minimum_size = Vector2(10, 10)
|
||||
offset_left = -131.194
|
||||
offset_top = -157.219
|
||||
offset_right = 115.806
|
||||
offset_bottom = -54.2193
|
||||
theme_override_font_sizes/font_size = 60
|
||||
text = "[E] talk"
|
||||
|
||||
[node name="TalkingControl" type="Node2D" parent="."]
|
||||
|
||||
[node name="Visual" type="Sprite2D" parent="TalkingControl"]
|
||||
|
||||
@@ -2193,6 +2193,11 @@ scale_amount_max = 0.8
|
||||
color = Color(0.400601, 0.62444, 0.791217, 1)
|
||||
hue_variation_max = 0.4
|
||||
|
||||
[node name="DialogicToggle" type="Node2D" parent="." node_paths=PackedStringArray("itemToToggle")]
|
||||
scale = Vector2(0.7, 0.7)
|
||||
script = ExtResource("819_4na52")
|
||||
itemToToggle = NodePath("../CharacterBody2D/visuals/Animated Sprites")
|
||||
|
||||
[connection signal="FilledWateringCan" from="." to="CharacterBody2D/WateringCanUI" method="Refill"]
|
||||
[connection signal="InventorySelectionChanged" from="." to="CharacterBody2D/WateringCanUI" method="IsWateringCanActive"]
|
||||
[connection signal="PickedUpTool" from="." to="CharacterBody2D" method="ActivateTool"]
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
[gd_scene load_steps=49 format=3 uid="uid://dfvgp1my5rydh"]
|
||||
[gd_scene load_steps=48 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"]
|
||||
@@ -196,7 +195,6 @@ _sprite = NodePath("TalkingControl/AnimatedSprite")
|
||||
[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"]
|
||||
@@ -224,6 +222,11 @@ position = Vector2(0, -172)
|
||||
position = Vector2(0, 94)
|
||||
shape = SubResource("CapsuleShape2D_aqu1t")
|
||||
|
||||
[node name="DialogicToggle" type="Node2D" parent="." node_paths=PackedStringArray("itemToToggle")]
|
||||
scale = Vector2(0.7, 0.7)
|
||||
script = ExtResource("44_aqu1t")
|
||||
itemToToggle = NodePath("../TalkingControl/AnimatedSprite")
|
||||
|
||||
[connection signal="Talking" from="." to="Dialogic starter" method="open"]
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="ToggleTalking"]
|
||||
[connection signal="timelineEnded" from="Dialogic starter/DialogicToggle" to="." method="ToggleTalking"]
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://d4m5iy5mwqpq3"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://d4m5iy5mwqpq3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="1_tp1yj"]
|
||||
[ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="2_c6u1a"]
|
||||
[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="2_pdgar"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="3_b5av1"]
|
||||
[ext_resource type="Texture2D" uid="uid://eg5ej0mtuac" path="res://art/masks/field_outline_2.png" id="4_yav45"]
|
||||
[ext_resource type="Texture2D" uid="uid://djpigvoyadvjs" path="res://art/masks/field_outline_3.png" id="5_pdgar"]
|
||||
@@ -12,16 +13,18 @@
|
||||
[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"]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_a35l4"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
[node name="BaseField" type="Node2D"]
|
||||
|
||||
[node name="InteractionArea2" parent="." instance=ExtResource("1_tp1yj")]
|
||||
[node name="InteractionArea2" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("1_tp1yj")]
|
||||
visible = false
|
||||
z_index = 1
|
||||
scale = Vector2(2.225, 2.225)
|
||||
_outlineMaterial = ExtResource("2_pdgar")
|
||||
_spriteToOutline = NodePath("../FieldBehaviour/MaskedField")
|
||||
|
||||
[node name="FieldBehaviour" type="Sprite2D" parent="." node_paths=PackedStringArray("_fieldSprite", "_maskSprite", "_growingCollider")]
|
||||
z_index = -1
|
||||
@@ -50,8 +53,8 @@ _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="CollisionShape3D" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_a35l4")
|
||||
|
||||
[node name="01" parent="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/ReadyPlant" index="0"]
|
||||
scale = Vector2(3, 3)
|
||||
@@ -84,4 +87,4 @@ eventName = "MagicWord"
|
||||
|
||||
[editable path="FieldBehaviour/BeetRoot"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"]
|
||||
[editable path="FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
|
||||
|
||||
@@ -20,7 +20,7 @@ shader_parameter/distortion = 0.0
|
||||
shader_parameter/heightOffset = 0.635
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2tt5u"]
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_rvwu0"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
|
||||
@@ -126,6 +126,8 @@ region_rect = Rect2(18, 311, 129, 142)
|
||||
|
||||
[node name="InteractionArea" parent="." instance=ExtResource("4_cfgyx")]
|
||||
position = Vector2(0, 2.3)
|
||||
_useOutline = false
|
||||
_useSprite = false
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("5_25lcb")]
|
||||
position = Vector2(0, 2.3)
|
||||
@@ -140,8 +142,8 @@ 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="CollisionShape3D" parent="ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_rvwu0")
|
||||
|
||||
[node name="Icon" parent="ReadyPlantInventoryItem" index="4"]
|
||||
visible = false
|
||||
@@ -202,4 +204,4 @@ hue_variation_max = 0.4
|
||||
[connection signal="Interacted" from="InteractionArea" to="." method="Grow"]
|
||||
|
||||
[editable path="ReadyPlantInventoryItem"]
|
||||
[editable path="ReadyPlantInventoryItem/InteractionArea2"]
|
||||
[editable path="ReadyPlantInventoryItem/PickupInteractionArea"]
|
||||
|
||||
@@ -30,22 +30,16 @@ Watered = ExtResource("7_f504p")
|
||||
_growingCollider = NodePath("BasePlant2/GrowingInteractionArea")
|
||||
|
||||
[node name="BasePlant2" parent="FieldBehaviour" node_paths=PackedStringArray("_field") groups=["PlantGrowing"] instance=ExtResource("8_jrdc4")]
|
||||
visible = false
|
||||
_field = NodePath("..")
|
||||
_magicWordNeeded = false
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/GrowingInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_jrdc4")
|
||||
|
||||
[node name="Label" parent="FieldBehaviour/BasePlant2/GrowingInteractionArea" index="1"]
|
||||
text = "[E] Grow
|
||||
"
|
||||
|
||||
[node name="CollisionShape3D" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_l0vvv")
|
||||
|
||||
[node name="Label" parent="FieldBehaviour/BasePlant2/ReadyPlantInventoryItem/PickupInteractionArea" index="1"]
|
||||
text = "[E] Harvest"
|
||||
|
||||
[node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"]
|
||||
clip_children = 1
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
@@ -140,13 +140,12 @@ region_rect = Rect2(546, 697, 535, 687)
|
||||
|
||||
[node name="GrowingInteractionArea" parent="." instance=ExtResource("5_3j24b")]
|
||||
position = Vector2(0, 2.3)
|
||||
_useOutline = false
|
||||
_useSprite = false
|
||||
|
||||
[node name="CollisionShape3D" parent="GrowingInteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_vjw4j")
|
||||
|
||||
[node name="Label" parent="GrowingInteractionArea" index="1"]
|
||||
text = "[E] Grow"
|
||||
|
||||
[node name="ReadyPlantInventoryItem" parent="." instance=ExtResource("6_gdrin")]
|
||||
position = Vector2(0, 2.3)
|
||||
IsActive = false
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cqc72e4hq6bcd"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cqc72e4hq6bcd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ckp413wrub5fm" path="res://scripts/CSharp/Common/CharacterControls/InteractionArea2D.cs" id="1_5ajrf"]
|
||||
[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="2_qoey7"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_npluf"]
|
||||
resource_local_to_scene = true
|
||||
@@ -13,6 +14,7 @@ default_font_size = 30
|
||||
script = ExtResource("1_5ajrf")
|
||||
_area = NodePath("Area2D")
|
||||
_label = NodePath("Area2D/CanvasLayer/MarginContainer/Label")
|
||||
_outlineMaterial = ExtResource("2_qoey7")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_mask = 4
|
||||
|
||||
+23
-24
@@ -34,36 +34,35 @@ FightManagerAutoload="*res://prefabs/fight/fight_manager_autoload.tscn"
|
||||
[dialogic]
|
||||
|
||||
directories/dch_directory={
|
||||
"Chuga": "res://dialog/Chuga.dch",
|
||||
"Domovoi": "res://dialog/Domovoi.dch",
|
||||
"Everyone": "res://dialog/Everyone.dch",
|
||||
"Vesna2": "res://dialog/Vesna2.dch",
|
||||
"Yeli": "res://dialog/Yeli.dch",
|
||||
"defaulty_the_default_character": "res://dialog/defaulty_the_default_character.dch",
|
||||
"semi_cat": "res://dialog/semi_cat.dch",
|
||||
"vesna": "res://dialog/vesna.dch"
|
||||
"Chuga": "res://dialog/Characters/Chuga.dch",
|
||||
"Domovoi": "res://dialog/Characters/Domovoi.dch",
|
||||
"Everyone": "res://dialog/Characters/Everyone.dch",
|
||||
"Yeli": "res://dialog/Characters/Yeli.dch",
|
||||
"defaulty_the_default_character": "res://dialog/Characters/defaulty_the_default_character.dch",
|
||||
"semi_cat": "res://dialog/Characters/semi_cat.dch",
|
||||
"vesna": "res://dialog/Characters/vesna.dch"
|
||||
}
|
||||
directories/dtl_directory={
|
||||
"disclaimer": "res://dialog/disclaimer.dtl",
|
||||
"quest1_ducks_end": "res://dialog/quest1_ducks_end.dtl",
|
||||
"quest1_ducks_start": "res://dialog/quest1_ducks_start.dtl",
|
||||
"quest2_tomatoes_end": "res://dialog/quest2_tomatoes_end.dtl",
|
||||
"quest2_tomatoes_interim": "res://dialog/quest2_tomatoes_interim.dtl",
|
||||
"quest2_tomatoes_start": "res://dialog/quest2_tomatoes_start.dtl",
|
||||
"quest3_beets_end": "res://dialog/quest3_beets_end.dtl",
|
||||
"quest3_beets_interim": "res://dialog/quest3_beets_interim.dtl",
|
||||
"quest3_beets_start": "res://dialog/quest3_beets_start.dtl",
|
||||
"quest4_dinner": "res://dialog/quest4_dinner.dtl",
|
||||
"quest5_forest_end": "res://dialog/quest5_forest_end.dtl",
|
||||
"quest5_forest_start": "res://dialog/quest5_forest_start.dtl",
|
||||
"quest1_ducks_end": "res://dialog/quests/ducks/quest1_ducks_end.dtl",
|
||||
"quest1_ducks_start": "res://dialog/quests/ducks/quest1_ducks_start.dtl",
|
||||
"quest2_tomatoes_end": "res://dialog/quests/tomatoes/quest2_tomatoes_end.dtl",
|
||||
"quest2_tomatoes_interim": "res://dialog/quests/tomatoes/quest2_tomatoes_interim.dtl",
|
||||
"quest2_tomatoes_start": "res://dialog/quests/tomatoes/quest2_tomatoes_start.dtl",
|
||||
"quest3_beets_end": "res://dialog/quests/beetroot/quest3_beets_end.dtl",
|
||||
"quest3_beets_interim": "res://dialog/quests/beetroot/quest3_beets_interim.dtl",
|
||||
"quest3_beets_start": "res://dialog/quests/beetroot/quest3_beets_start.dtl",
|
||||
"quest4_dinner": "res://dialog/Scene2_farm_inside/quest4_dinner.dtl",
|
||||
"quest5_forest_end": "res://dialog/quests/forest/quest5_forest_end.dtl",
|
||||
"quest5_forest_start": "res://dialog/quests/forest/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",
|
||||
"yeli_intro_03": "res://dialog/yeli_intro_03.dtl",
|
||||
"yeli_intro_04": "res://dialog/yeli_intro_04.dtl",
|
||||
"yeli_intro_05": "res://dialog/yeli_intro_05.dtl"
|
||||
"yeli_intro_01": "res://dialog/Scene1_farm_outside/yeli_intro_01.dtl",
|
||||
"yeli_intro_02": "res://dialog/Scene1_farm_outside/yeli_intro_02.dtl",
|
||||
"yeli_intro_03": "res://dialog/Scene1_farm_outside/yeli_intro_03.dtl",
|
||||
"yeli_intro_04": "res://dialog/Scene1_farm_outside/yeli_intro_04.dtl",
|
||||
"yeli_intro_05": "res://dialog/Scene1_farm_outside/yeli_intro_05.dtl"
|
||||
}
|
||||
variables={
|
||||
"MAGICWORD": "Hokus Pokus!s",
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
[node name="BabushkaSceneBootstrap" type="Node2D"]
|
||||
|
||||
[node name="BabushkaSceneStartMenu" parent="." instance=ExtResource("1_15ton")]
|
||||
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_farm_outside_2d.tscn")
|
||||
|
||||
[node name="SceneParent" type="Node" parent="."]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=105 format=3 uid="uid://gigb28qk8t12"]
|
||||
[gd_scene load_steps=107 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"]
|
||||
@@ -37,6 +37,7 @@
|
||||
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"]
|
||||
[ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"]
|
||||
[ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="32_2nee2"]
|
||||
[ext_resource type="Script" uid="uid://boehox1ydbcnx" path="res://scripts/CSharp/Common/Farming/WellBehaviour.cs" id="32_lbnqo"]
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="34_e5b7x"]
|
||||
[ext_resource type="Texture2D" uid="uid://65e44yde224q" path="res://art/farm/Babushka_house_01.png" id="36_e5b7x"]
|
||||
[ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="37_8ey8m"]
|
||||
@@ -44,6 +45,7 @@
|
||||
[ext_resource type="Shader" uid="uid://braevmqauoek7" path="res://shader/swaying_plant.gdshader" id="37_taxvr"]
|
||||
[ext_resource type="Texture2D" uid="uid://bq2wojyy4ptva" path="res://art/nature/baum märz 2025/sonnenblume7.png" id="38_2rjny"]
|
||||
[ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="39_di1ed"]
|
||||
[ext_resource type="Texture2D" uid="uid://ccy6bwunhfvrf" path="res://art/farm/Babushka_house_frontDoor.png" id="39_lbnqo"]
|
||||
[ext_resource type="AudioStream" uid="uid://foyw26hq1qp5" path="res://audio/sfx/Farming/SFX_GettingWater_02.wav" id="40_ceriq"]
|
||||
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="40_w3jkj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dgavbfci8x178" path="res://art/nature/grass/grass-1.png" id="41_apj51"]
|
||||
@@ -1031,7 +1033,7 @@ _wateringCan = ExtResource("28_ipqaa")
|
||||
[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")]
|
||||
_camera = NodePath("../../../Camera2D")
|
||||
|
||||
[node name="Brünnen" type="Sprite2D" parent="YSorted"]
|
||||
[node name="Brünnen" type="Sprite2D" parent="YSorted" node_paths=PackedStringArray("_interactionArea")]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_2vojv")
|
||||
@@ -1040,6 +1042,8 @@ texture = ExtResource("21_ualyd")
|
||||
offset = Vector2(0, -800)
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 1504, 1686)
|
||||
script = ExtResource("32_lbnqo")
|
||||
_interactionArea = NodePath("InteractionArea")
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="YSorted/Brünnen"]
|
||||
collision_mask = 4
|
||||
@@ -1048,7 +1052,9 @@ collision_mask = 4
|
||||
position = Vector2(145.5, -224)
|
||||
shape = SubResource("RectangleShape2D_0sfl7")
|
||||
|
||||
[node name="InteractionArea" parent="YSorted/Brünnen" instance=ExtResource("27_klb81")]
|
||||
[node name="InteractionArea" parent="YSorted/Brünnen" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("27_klb81")]
|
||||
_active = false
|
||||
_spriteToOutline = NodePath("..")
|
||||
_id = 1
|
||||
|
||||
[node name="CollisionShape3D" parent="YSorted/Brünnen/InteractionArea/Area2D" index="0"]
|
||||
@@ -1124,13 +1130,17 @@ collision_mask = 6
|
||||
position = Vector2(-252.56, 231.32)
|
||||
polygon = PackedVector2Array(247.227, 43.5123, 44.7822, 43.5123, -87.2178, 45.123, -104.329, -55.2797, -154.107, -73.5347, -160.107, -380.38, -175.44, -400.783, -63.44, -512.461, 97.8934, -541.991, 261.671, -599.172, 374.782, -526.421, 502.338, -526.421, 637.893, -396.488, 598.56, -360.783, 596.338, -58.2327, 528.782, -58.2327, 501.449, 45.9283)
|
||||
|
||||
[node name="EnterHouseInteraction" parent="YSorted/Farm visuals/Static" instance=ExtResource("27_klb81")]
|
||||
[node name="EnterHouseInteraction" parent="YSorted/Farm visuals/Static" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("27_klb81")]
|
||||
position = Vector2(5839, 2349)
|
||||
scale = Vector2(2.425, 2.425)
|
||||
_useOutline = false
|
||||
_useSprite = false
|
||||
_spriteToOutline = NodePath("DoorSprite")
|
||||
_id = 0
|
||||
|
||||
[node name="DoorSprite" type="Sprite2D" parent="YSorted/Farm visuals/Static/EnterHouseInteraction"]
|
||||
position = Vector2(0.412364, -33.1959)
|
||||
scale = Vector2(1.8649, 1.54554)
|
||||
texture = ExtResource("39_lbnqo")
|
||||
|
||||
[node name="greenery" type="Node2D" parent="YSorted/Farm visuals/Static"]
|
||||
|
||||
[node name="left side" type="Node2D" parent="YSorted/Farm visuals/Static/greenery"]
|
||||
@@ -2082,10 +2092,11 @@ rotation = 1.5708
|
||||
scale = Vector2(0.1, 10.8)
|
||||
texture = ExtResource("21_if5vh")
|
||||
|
||||
[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("_allowedArea")]
|
||||
[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("fields", "_allowedArea")]
|
||||
position = Vector2(53, 20)
|
||||
scale = Vector2(1, 0.993819)
|
||||
script = ExtResource("25_0qu0h")
|
||||
fields = {}
|
||||
_allowedArea = NodePath("Area2D")
|
||||
metadata/_custom_type_script = "uid://dhxtdhfqx3bte"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=40 format=3 uid="uid://bm21nqepnwaik"]
|
||||
[gd_scene load_steps=41 format=3 uid="uid://bm21nqepnwaik"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_3vr4f"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnhsxxps2cw5" path="res://art/indoor/room export/Room_01_table.png" id="2_ubg3a"]
|
||||
@@ -7,6 +7,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://waqmjrxduxfq" path="res://art/indoor/room export/Room_01_walls.png" id="5_sndxu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqwhptcgg5ons" path="res://art/indoor/room export/Room_01_dorr_R.png" id="6_blyw3"]
|
||||
[ext_resource type="Texture2D" uid="uid://vyk63d0pgqm5" path="res://art/indoor/room export/Room_01_dioor L.png" id="7_yd2gv"]
|
||||
[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/intaractable_outline.tres" id="8_7a68a"]
|
||||
[ext_resource type="Texture2D" uid="uid://b2rj7wkyu6ehy" path="res://art/indoor/room export/Room_01_pechka.png" id="8_ofqcg"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhvi5404cqioa" path="res://art/indoor/room export/Room_01_window.png" id="9_aoesu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpi35nxbhput8" path="res://art/indoor/room export/Room_01_pechkaDoor.png" id="10_xcryd"]
|
||||
@@ -36,6 +37,10 @@
|
||||
resource_local_to_scene = true
|
||||
size = Vector2(3836, 1086)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yd2gv"]
|
||||
resource_local_to_scene = true
|
||||
radius = 472.086
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_gpagp"]
|
||||
resource_local_to_scene = true
|
||||
radius = 300.0
|
||||
@@ -210,10 +215,6 @@ _data = {
|
||||
resource_local_to_scene = true
|
||||
radius = 209.703
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_yd2gv"]
|
||||
resource_local_to_scene = true
|
||||
radius = 472.086
|
||||
|
||||
[node name="IndoorTest" type="Node2D"]
|
||||
z_index = 1
|
||||
y_sort_enabled = true
|
||||
@@ -309,13 +310,28 @@ texture = ExtResource("6_blyw3")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(3161, 313, 679, 1050)
|
||||
|
||||
[node name="Room01DioorL" type="Sprite2D" parent="BackWall"]
|
||||
[node name="OutsideDoor" parent="BackWall/Room01DorrR" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-7, 248)
|
||||
_outlineMaterial = ExtResource("8_7a68a")
|
||||
_spriteToOutline = NodePath("..")
|
||||
_id = 1
|
||||
|
||||
[node name="Room01DoorL" type="Sprite2D" parent="BackWall"]
|
||||
z_index = -50
|
||||
position = Vector2(-3296, 48)
|
||||
texture = ExtResource("7_yd2gv")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(0, 0, 3840, 2160)
|
||||
|
||||
[node name="VesnasRoomDoor" parent="BackWall/Room01DoorL" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-1559, -16)
|
||||
_outlineMaterial = ExtResource("8_7a68a")
|
||||
_spriteToOutline = NodePath("..")
|
||||
_id = 0
|
||||
|
||||
[node name="CollisionShape3D" parent="BackWall/Room01DoorL/VesnasRoomDoor/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_yd2gv")
|
||||
|
||||
[node name="Room01Pechka" type="Sprite2D" parent="BackWall"]
|
||||
z_index = -80
|
||||
position = Vector2(-224, -392)
|
||||
@@ -344,8 +360,10 @@ texture = ExtResource("10_xcryd")
|
||||
region_enabled = true
|
||||
region_rect = Rect2(2360, 864, 356, 251)
|
||||
|
||||
[node name="InteractionArea" parent="BackWall/Room01PechkaDoor" instance=ExtResource("11_gpagp")]
|
||||
[node name="InteractionArea" parent="BackWall/Room01PechkaDoor" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")]
|
||||
scale = Vector2(1.8, 1.96)
|
||||
_outlineMaterial = ExtResource("8_7a68a")
|
||||
_spriteToOutline = NodePath("..")
|
||||
|
||||
[node name="CollisionShape3D" parent="BackWall/Room01PechkaDoor/InteractionArea/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_gpagp")
|
||||
@@ -392,6 +410,12 @@ stream = SubResource("AudioStreamRandomizer_b6vf7")
|
||||
bus = &"SFX"
|
||||
script = ExtResource("22_tggq2")
|
||||
|
||||
[node name="InteractionArea" parent="BackWall/Katze" node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-6.5, -44)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
_outlineMaterial = ExtResource("8_7a68a")
|
||||
_spriteToOutline = NodePath("..")
|
||||
|
||||
[node name="Room assets" type="Node" parent="BackWall"]
|
||||
|
||||
[node name="wood" type="Sprite2D" parent="BackWall/Room assets"]
|
||||
@@ -512,9 +536,6 @@ 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")]
|
||||
y_sort_enabled = false
|
||||
position = Vector2(-920, 319)
|
||||
@@ -559,26 +580,15 @@ _followNode = NodePath("../Vesna/CharacterBody2D")
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource("24_yd2gv")]
|
||||
|
||||
[node name="VesnasRoomDoor" parent="." instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(-4855, 32)
|
||||
_id = 0
|
||||
|
||||
[node name="CollisionShape3D" parent="VesnasRoomDoor/Area2D" index="0"]
|
||||
shape = SubResource("CircleShape2D_yd2gv")
|
||||
|
||||
[node name="OutsideDoor" parent="." instance=ExtResource("11_gpagp")]
|
||||
position = Vector2(929, 32)
|
||||
_id = 1
|
||||
|
||||
[connection signal="InteractedTool" from="BackWall/Room01DorrR/OutsideDoor" to="." method="LoadSceneAtIndex"]
|
||||
[connection signal="InteractedTool" from="BackWall/Room01DoorL/VesnasRoomDoor" to="." method="LoadSceneAtIndex"]
|
||||
[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="Interacted" from="BackWall/Katze/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"]
|
||||
|
||||
[editable path="BackWall/Room01DoorL/VesnasRoomDoor"]
|
||||
[editable path="BackWall/Room01PechkaDoor/InteractionArea"]
|
||||
[editable path="Vesna"]
|
||||
[editable path="Yeli"]
|
||||
[editable path="Yeli/InteractionArea"]
|
||||
[editable path="VesnasRoomDoor"]
|
||||
|
||||
@@ -96,10 +96,14 @@ _followNode = NodePath("../Vesna/CharacterBody2D")
|
||||
|
||||
[node name="BedInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(-1429, 487)
|
||||
_useOutline = false
|
||||
_useSprite = false
|
||||
_id = 1
|
||||
|
||||
[node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")]
|
||||
position = Vector2(777, 201)
|
||||
_useOutline = false
|
||||
_useSprite = false
|
||||
_id = 0
|
||||
|
||||
[node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Animation;
|
||||
|
||||
public partial class AnimationStarter : Node2D
|
||||
{
|
||||
@@ -21,4 +22,4 @@ public partial class AnimationStarter : Node2D
|
||||
_played = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.CharacterControls;
|
||||
@@ -6,6 +7,7 @@ public partial class InteractionArea2D : Node2D
|
||||
{
|
||||
[Export] private Area2D _area;
|
||||
[Export] private Label _label;
|
||||
[Export] private bool _active = true;
|
||||
[Export] private bool _useOutline = true;
|
||||
[Export] private ShaderMaterial _outlineMaterial;
|
||||
[Export] private bool _useSprite = true;
|
||||
@@ -17,17 +19,33 @@ public partial class InteractionArea2D : Node2D
|
||||
[Signal] public delegate void InteractedToolEventHandler(int id); // TODO: remove
|
||||
[Signal] public delegate void InteractedEventHandler();
|
||||
|
||||
public bool IsActive { get; set; } = true;
|
||||
public bool IsActive
|
||||
{
|
||||
get => _active;
|
||||
set => _active = value;
|
||||
}
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
if(_useSprite && _useOutline)
|
||||
_backupMaterial = _spriteToOutline.Material;
|
||||
|
||||
if (_useSprite && _useOutline)
|
||||
{
|
||||
try
|
||||
{
|
||||
_backupMaterial = _spriteToOutline.Material;
|
||||
}
|
||||
catch(Exception exception)
|
||||
{
|
||||
GD.PrintErr($"No sprite to outline found on: {GetParent().Name}" + exception.Message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void OnPlayerEntered(Node2D player)
|
||||
{
|
||||
if (!IsActive)
|
||||
if (!_active)
|
||||
return;
|
||||
|
||||
if(_showLabel)
|
||||
@@ -41,7 +59,7 @@ public partial class InteractionArea2D : Node2D
|
||||
|
||||
public void OnPlayerExited(Node2D player)
|
||||
{
|
||||
if (!IsActive)
|
||||
if (!_active)
|
||||
return;
|
||||
|
||||
_label.Hide();
|
||||
@@ -54,31 +72,34 @@ public partial class InteractionArea2D : Node2D
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (!IsActive)
|
||||
if (!_active)
|
||||
return;
|
||||
|
||||
if (@event.IsAction("interact") && @event.IsPressed() && _area.HasOverlappingBodies())
|
||||
if (@event.IsAction("interact") && @event.IsPressed())
|
||||
{
|
||||
_label.Hide();
|
||||
if (_area.HasOverlappingBodies())
|
||||
{
|
||||
_label.Hide();
|
||||
|
||||
if (_useSprite && _useOutline)
|
||||
_spriteToOutline.Material = _backupMaterial;
|
||||
if (_useSprite && _useOutline)
|
||||
_spriteToOutline.Material = _backupMaterial;
|
||||
|
||||
EmitSignal(SignalName.InteractedTool, _id);
|
||||
EmitSignal(SignalName.Interacted);
|
||||
EmitSignal(SignalName.InteractedTool, _id);
|
||||
EmitSignal(SignalName.Interacted);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetSpriteActiveState(bool success, int id) // TODO: remove
|
||||
{
|
||||
GD.PrintErr("SetSpriteActiveState is being called.");
|
||||
if(!IsActive)
|
||||
if(!_active)
|
||||
return;
|
||||
}
|
||||
|
||||
public void ToggleActive()
|
||||
{
|
||||
IsActive = !IsActive;
|
||||
_active = !_active;
|
||||
_label.Hide();
|
||||
}
|
||||
}
|
||||
@@ -4,15 +4,6 @@ using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
|
||||
public enum FieldState
|
||||
{
|
||||
Empty = 0,
|
||||
Tilled = 1,
|
||||
Planted = 2,
|
||||
Watered = 3,
|
||||
NotFound = 99
|
||||
}
|
||||
|
||||
[GlobalClass]
|
||||
public partial class FieldBehaviour2D : Sprite2D
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
[GlobalClass]
|
||||
public partial class FieldService2D : Node2D
|
||||
{
|
||||
[Export] private Dictionary<Vector2I, FieldBehaviour2D> fields = new Dictionary<Vector2I, FieldBehaviour2D>();
|
||||
[Export] private Dictionary<Vector2I, FieldBehaviour2D> fields;
|
||||
|
||||
[Export] private Area2D _allowedArea;
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
|
||||
/// <summary>
|
||||
/// State of a farm field.
|
||||
/// </summary>
|
||||
public enum FieldState
|
||||
{
|
||||
Empty = 0,
|
||||
Tilled = 1,
|
||||
Planted = 2,
|
||||
Watered = 3,
|
||||
NotFound = 99
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cqtlic8xxtvkc
|
||||
@@ -5,14 +5,7 @@ using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
|
||||
public enum PlantState
|
||||
{
|
||||
None = 0,
|
||||
Planted = 1,
|
||||
SmallPlant = 2,
|
||||
BigPlant = 3,
|
||||
Ready = 4
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Determines the behaviour of a plant in Babushka.
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
|
||||
/// <summary>
|
||||
/// State of a harvestable plant. Used in farming.
|
||||
/// </summary>
|
||||
public enum PlantState
|
||||
{
|
||||
None = 0,
|
||||
Planted = 1,
|
||||
SmallPlant = 2,
|
||||
BigPlant = 3,
|
||||
Ready = 4
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://dw5dl5yscbyaw
|
||||
@@ -23,6 +23,10 @@ public static class WateringCanState
|
||||
/// Triggers animations and ui.
|
||||
/// </summary>
|
||||
public static bool Active = false;
|
||||
|
||||
public delegate void WateringCanDelegate(bool state);
|
||||
public static event WateringCanDelegate WateringCanActiveStateChanged;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -65,6 +69,8 @@ public static class WateringCanState
|
||||
/// <param name="active"></param>
|
||||
public static void SetActive(bool active)
|
||||
{
|
||||
if(active != Active)
|
||||
WateringCanActiveStateChanged?.Invoke(active);
|
||||
Active = active;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Babushka.scripts.CSharp.Common.CharacterControls;
|
||||
using Godot;
|
||||
|
||||
namespace Babushka.scripts.CSharp.Common.Farming;
|
||||
|
||||
public partial class WellBehaviour : Node2D
|
||||
{
|
||||
[Export] private InteractionArea2D _interactionArea;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
WateringCanState.WateringCanActiveStateChanged += OnWateringCanStateChanged;
|
||||
}
|
||||
|
||||
private void OnWateringCanStateChanged(bool state)
|
||||
{
|
||||
_interactionArea.IsActive = state;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://boehox1ydbcnx
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Babushka.scripts.CSharp.Common.Fight;
|
||||
|
||||
public class FightAttack
|
||||
{
|
||||
public int damage;
|
||||
public bool needsSelectedTarget;
|
||||
public Fighter? target;
|
||||
public Fighter attacker;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cnggo5jyimosu
|
||||
@@ -348,10 +348,4 @@ public partial class FightInstance : Node2D //TODO: remake
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public class FightAttack
|
||||
{
|
||||
public int damage;
|
||||
public bool needsSelectedTarget;
|
||||
public Fighter? target;
|
||||
public Fighter attacker;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ using Babushka.scripts.CSharp.Common.Quest;
|
||||
|
||||
public partial class QuestMessagePopup : Control
|
||||
{
|
||||
|
||||
private Label Text => GetNode<Label>("Text");
|
||||
|
||||
private QuestResource? _currentlyShown;
|
||||
|
||||
@@ -11,6 +11,7 @@ public partial class SpriteSwitcher2D : Node2D
|
||||
[Export] private Sprite2D _inactiveSprite;
|
||||
[Export] private bool _active = false;
|
||||
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
SetSprites();
|
||||
|
||||
Reference in New Issue
Block a user