Compare commits

...

8 Commits

Author SHA1 Message Date
jonathan 83091cc4b4 style testing
- added sun overlay effect
- added scrolling fog
- added post processing (ACES tonemapping)
- added particles
- added more plants
- increased wind strength
2025-09-05 01:14:47 +02:00
Jonathan 9bebe1a44d Merge pull request 'Implemented first demo quest line' (#15) from feature/implement_quests into develop
Reviewed-on: http://h2996454.stratoserver.net:3000/Jonathan/Babushka/pulls/15
2025-08-14 23:28:09 +02:00
jonathan 06a270e916 Renamed function to not sound like a unity signal 2025-08-14 23:27:15 +02:00
jonathan b621df5435 removed invisible character 2025-08-14 23:16:52 +02:00
jonathan 03dbc08293 quest status name refactoring 2025-08-14 21:54:18 +02:00
jonathan 8676bbb2f6 Fix spelling 2025-08-13 17:13:33 +02:00
jonathan 6e998810b6 Completed first demo quest line 2025-08-13 03:23:45 +02:00
jonathan c96be7467e Added Quest field 2025-08-11 19:15:12 +02:00
51 changed files with 863 additions and 193 deletions
+7 -1
View File
@@ -1,6 +1,12 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AArea3D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F8a54226fa2e1c9371a8091f24cfd744aef11fe6869527dc23b9b837623a29b9_003FArea3D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AArea3D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FSourcesCache_003F8a54226fa2e1c9371a8091f24cfd744aef11fe6869527dc23b9b837623a29b9_003FArea3D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAudioStreamPlayer2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F848324b1c23114c3f5e8bbb5a42c4ade394c59a7a7a133a66b76581ca571_003FAudioStreamPlayer2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAudioStreamPlayer2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F848324b1c23114c3f5e8bbb5a42c4ade394c59a7a7a133a66b76581ca571_003FAudioStreamPlayer2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABabushka_002Escripts_002ECSharp_002ECommon_002EFarming_002EVesnaBehaviour2D_005FScriptProperties_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FJonathan_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F4298b0f293f987511fc1b7956ee691fd778f8378_003FBabushka_002Escripts_002ECSharp_002ECommon_002EFarming_002EVesnaBehaviour2D_005FScriptProperties_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ABabushka_002Escripts_002ECSharp_002ECommon_002EQuest_002EQuestListItemUi_005FScriptMethods_002Egenerated_002Ecs_002Fl_003AC_0021_003FUsers_003FJonathan_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F48fad7e7f3c9e292b3fdbddf9d363f0d1752aa_003FBabushka_002Escripts_002ECSharp_002ECommon_002EQuest_002EQuestListItemUi_005FScriptMethods_002Egenerated_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACastHelpers_002Ecs_002Fl_003AC_0021_003FUsers_003FJonathan_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F3c92637ae2e83da0a63791071c41eae291d594156062866d8621b7ed7245c_003FCastHelpers_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACastHelpers_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd111abf504bf42b5968a609b168fd093b2e200_003Fbb_003F1c116fcd_003FCastHelpers_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACastHelpers_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd111abf504bf42b5968a609b168fd093b2e200_003Fbb_003F1c116fcd_003FCastHelpers_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterBody2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fbba0bbd7a98ee58286e9484fbe86e01afff6232283f6efd3556eb7116453_003FCharacterBody2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACharacterBody2D_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fbba0bbd7a98ee58286e9484fbe86e01afff6232283f6efd3556eb7116453_003FCharacterBody2D_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Ff1d69ec2da76ccf9bc8a75c8e0fdca9a7ba1adf8c8c9d5047e2fa5991c02eca_003FNode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary> <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADictionary_00602_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fjonathan_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fe37dc1faf08a4d5ea030ad59bdf77522523400_003Fd4_003Fbd338aeb_003FDictionary_00602_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANode_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Ff1d69ec2da76ccf9bc8a75c8e0fdca9a7ba1adf8c8c9d5047e2fa5991c02eca_003FNode_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AResourceLoader_002Ecs_002Fl_003AC_0021_003FUsers_003FJonathan_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F9f4e8eb124d11f8219cb513a19bed22b2120ed29f9d6785ba56e3367b48d581_003FResourceLoader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003AC_0021_003FUsers_003FJonathan_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fc7102cd0ffb8973777e61b1942c3fffac7e14016a511d055c3adf73ff91748_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
@@ -9,7 +9,7 @@ var quest_resource: String
func _execute() -> void: func _execute() -> void:
var resource = ResourceLoader.load(quest_resource) var resource = ResourceLoader.load(quest_resource)
QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.AVAILABLE) QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.AVAILABLE)
QuestManager.SetFollowQuest(resource) QuestManager.SetActiveQuest(resource)
finish() # called to continue with the next event finish() # called to continue with the next event
@@ -9,7 +9,7 @@ var quest_resource: String
func _execute() -> void: func _execute() -> void:
var resource = ResourceLoader.load(quest_resource) var resource = ResourceLoader.load(quest_resource)
QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.DONE) QuestManager.ChangeQuestStatus(resource,QuestEventUtils.QuestStatus.DONE)
QuestManager.SetFollowQuest(null) QuestManager.SetActiveQuest(null)
finish() # called to continue with the next event finish() # called to continue with the next event
@@ -23,9 +23,9 @@ func _execute() -> void:
var result: bool var result: bool
if compare_status == QuestEventUtils.QuestStatusOrActive.ACTIVE: if compare_status == QuestEventUtils.QuestStatusOrActive.ACTIVE:
result = QuestManager.GetFollowQuest() == resource result = QuestManager.GetActiveQuest() == resource
elif compare_status == QuestEventUtils.QuestStatusOrActive.NOT_ACTIVE: elif compare_status == QuestEventUtils.QuestStatusOrActive.NOT_ACTIVE:
result = QuestManager.GetFollowQuest() != resource result = QuestManager.GetActiveQuest() != resource
else: else:
result = QuestManager.GetQuestStatus(resource).status == compare_status result = QuestManager.GetQuestStatus(resource).status == compare_status
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

+34
View File
@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cq66tjp1p0qek"
path="res://.godot/imported/suneffect.png-cf98cdad9da8a68f4212475a0741a24a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://art/effects/suneffect.png"
dest_files=["res://.godot/imported/suneffect.png-cf98cdad9da8a68f4212475a0741a24a.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
@@ -4,11 +4,12 @@ importer="scene"
importer_version=1 importer_version=1
type="PackedScene" type="PackedScene"
uid="uid://b3kyrsoobmkhp" uid="uid://b3kyrsoobmkhp"
valid=false path="res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"
[deps] [deps]
source_file="res://art/mockups/3d/best_house_blender.blend" source_file="res://art/mockups/3d/best_house_blender.blend"
dest_files=["res://.godot/imported/best_house_blender.blend-ac89c74aef2f275bdf4b4baadee17c0c.scn"]
[params] [params]
@@ -1,6 +1,8 @@
[quest_complete quest_resource="res://resources/quests/demo/7_talk_yeli_inside_1.tres"]
join Yeli center join Yeli center
Yeli: Thank you for your help out there. 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: 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. Yeli: There is nothing interesting to see here.
leave Yeli leave Yeli
[quest_activate quest_resource="res://resources/quests/demo/8_goto_bed.tres"]
[end_timeline] [end_timeline]
@@ -1,3 +1,4 @@
[quest_complete quest_resource="res://resources/quests/demo/9_talk_to_chuga.tres"]
join vesna center join vesna center
join Chuga center join Chuga center
Chuga: Look who it is! Chuga: Look who it is!
@@ -19,4 +20,5 @@ Chuga: So, listen\: “I wear a crown, but Im no king.” Vesna, what am I?
- Soup - Soup
Chuga: Hate the player, not the game. Chuga: Hate the player, not the game.
Chuga: Here you go! Chuga: Here you go!
[quest_activate quest_resource="res://resources/quests/demo/10_fight_the_monsters.tres"]
[end_timeline] [end_timeline]
+1 -2
View File
@@ -1,7 +1,7 @@
[gd_scene load_steps=11 format=3 uid="uid://cgjc4wurbgimy"] [gd_scene load_steps=11 format=3 uid="uid://cgjc4wurbgimy"]
[ext_resource type="Script" uid="uid://hg7jay2kt441" path="res://scripts/CSharp/Common/Inventory/InventoryUi.cs" id="1_6wusm"] [ext_resource type="Script" uid="uid://hg7jay2kt441" path="res://scripts/CSharp/Common/Inventory/InventoryUi.cs" id="1_6wusm"]
[ext_resource type="Script" uid="uid://cvkw4qd2hxksi" path="res://scripts/GdScript/dialogic_toggle.gd" id="1_l3npx"] [ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="1_l3npx"]
[ext_resource type="Texture2D" uid="uid://3ln8aleyxgp1" path="res://art/ui/UI/UI_bag_export_01.png" id="3_vvo7l"] [ext_resource type="Texture2D" uid="uid://3ln8aleyxgp1" path="res://art/ui/UI/UI_bag_export_01.png" id="3_vvo7l"]
[ext_resource type="Texture2D" uid="uid://u0dku75l17re" path="res://art/ui/UI/UI_bag_export_highlight_01.png" id="5_df8i8"] [ext_resource type="Texture2D" uid="uid://u0dku75l17re" path="res://art/ui/UI/UI_bag_export_highlight_01.png" id="5_df8i8"]
[ext_resource type="PackedScene" uid="uid://c0kmdjeqkqrwv" path="res://prefabs/UI/Inventory/Slot.tscn" id="5_u7kje"] [ext_resource type="PackedScene" uid="uid://c0kmdjeqkqrwv" path="res://prefabs/UI/Inventory/Slot.tscn" id="5_u7kje"]
@@ -458,7 +458,6 @@ expand_mode = 1
[node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")] [node name="QuestLogRoot" parent="." instance=ExtResource("7_vvo7l")]
[node name="Control" type="Control" parent="."] [node name="Control" type="Control" parent="."]
visible = false
layout_mode = 3 layout_mode = 3
anchors_preset = 2 anchors_preset = 2
anchor_top = 1.0 anchor_top = 1.0
+2 -2
View File
@@ -473,7 +473,7 @@
[ext_resource type="Texture2D" uid="uid://x8hr8287ff2n" path="res://art/farm/farming/farmobjekte/tools atlas.png" id="816_1a3c1"] [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="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/tomato_field.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"] [ext_resource type="Script" path="res://scripts/GdScript/dialogic_toggle.gd" id="819_4na52"]
[sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"] [sub_resource type="CircleShape2D" id="CircleShape2D_ssqtd"]
radius = 110.018 radius = 110.018
@@ -2071,7 +2071,7 @@ y_sort_enabled = true
script = ExtResource("1_yd5ep") script = ExtResource("1_yd5ep")
_farmingControls = NodePath("FarmingControls") _farmingControls = NodePath("FarmingControls")
_player2d = NodePath("CharacterBody2D") _player2d = NodePath("CharacterBody2D")
_vesnaAnimations = NodePath("CharacterBody2D/visuals/Animated Sprites") _vesnaAnimations = NodePath("CharacterBody2D/visuals")
[node name="CharacterBody2D" type="CharacterBody2D" parent="." groups=["PlantGrowing"]] [node name="CharacterBody2D" type="CharacterBody2D" parent="." groups=["PlantGrowing"]]
position = Vector2(0, 374) position = Vector2(0, 374)
+1 -3
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=25 format=3 uid="uid://muuxxgvx33fp"] [gd_scene load_steps=24 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="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="Texture2D" uid="uid://hvchk6t0xe7j" path="res://art/animals/Ente.png" id="1_cgxhx"]
@@ -16,7 +16,6 @@
[ext_resource type="Animation" uid="uid://b3dwd88uvfk1k" path="res://art/animals/duck_flapFlap.res" id="14_uo3dh"] [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="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="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/simple_interactable_outline.tres" id="16_nxoeu"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"] [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sot7i"]
streams_count = 4 streams_count = 4
@@ -163,7 +162,6 @@ libraries = {
[node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("15_uo3dh")] [node name="InteractionArea" parent="." node_paths=PackedStringArray("_spriteToOutline") instance=ExtResource("15_uo3dh")]
position = Vector2(18, -250) position = Vector2(18, -250)
_outlineMaterial = ExtResource("16_nxoeu")
_spriteToOutline = NodePath("../Duck rendered") _spriteToOutline = NodePath("../Duck rendered")
[node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"] [node name="CollisionShape3D" parent="InteractionArea/Area2D" index="0"]
+6
View File
@@ -110,12 +110,16 @@ translation/locales=["de", "en"]
text/autopauses={} text/autopauses={}
glossary/glossary_files=["res://dialog/farming_equipment_glossary.tres"] glossary/glossary_files=["res://dialog/farming_equipment_glossary.tres"]
directories/tres_directory={ directories/tres_directory={
"10_fight_the_monsters": "res://resources/quests/demo/10_fight_the_monsters.tres",
"1_talk_yeli_1": "res://resources/quests/demo/1_talk_yeli_1.tres", "1_talk_yeli_1": "res://resources/quests/demo/1_talk_yeli_1.tres",
"2_collect_ducks": "res://resources/quests/demo/2_collect_ducks.tres", "2_collect_ducks": "res://resources/quests/demo/2_collect_ducks.tres",
"3_talk_yeli_2": "res://resources/quests/demo/3_talk_yeli_2.tres", "3_talk_yeli_2": "res://resources/quests/demo/3_talk_yeli_2.tres",
"4_collect_tools": "res://resources/quests/demo/4_collect_tools.tres", "4_collect_tools": "res://resources/quests/demo/4_collect_tools.tres",
"5_talk_yeli_3": "res://resources/quests/demo/5_talk_yeli_3.tres", "5_talk_yeli_3": "res://resources/quests/demo/5_talk_yeli_3.tres",
"6_till_and_water": "res://resources/quests/demo/6_till_and_water.tres", "6_till_and_water": "res://resources/quests/demo/6_till_and_water.tres",
"7_talk_yeli_inside_1": "res://resources/quests/demo/7_talk_yeli_inside_1.tres",
"8_goto_bed": "res://resources/quests/demo/8_goto_bed.tres",
"9_talk_to_chuga": "res://resources/quests/demo/9_talk_to_chuga.tres",
"Babushka_NPC_Namebox_background": "res://dialog/Babushka_NPC_Namebox_background.tres", "Babushka_NPC_Namebox_background": "res://dialog/Babushka_NPC_Namebox_background.tres",
"InputFieldsStyle": "res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres", "InputFieldsStyle": "res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres",
"MainTheme": "res://addons/dialogic/Editor/Theme/MainTheme.tres", "MainTheme": "res://addons/dialogic/Editor/Theme/MainTheme.tres",
@@ -141,6 +145,8 @@ directories/tres_directory={
"farming_equipment_glossary": "res://dialog/farming_equipment_glossary.tres", "farming_equipment_glossary": "res://dialog/farming_equipment_glossary.tres",
"hoe": "res://resources/items/hoe.tres", "hoe": "res://resources/items/hoe.tres",
"inventory_interactable_outline": "res://art/materials/inventory_interactable_outline.tres", "inventory_interactable_outline": "res://art/materials/inventory_interactable_outline.tres",
"noise": "res://scenes/noise.tres",
"othernoise": "res://scenes/othernoise.tres",
"preview_character": "res://addons/dialogic/Modules/Character/preview_character.tres", "preview_character": "res://addons/dialogic/Modules/Character/preview_character.tres",
"rake": "res://resources/items/rake.tres", "rake": "res://resources/items/rake.tres",
"scythe": "res://resources/items/scythe.tres", "scythe": "res://resources/items/scythe.tres",
@@ -0,0 +1,10 @@
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://cv3wtnn0138ax"]
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_m0nkd"]
[resource]
script = ExtResource("1_m0nkd")
id = "10_fight_the_monsters"
title = "Fight the monsters"
description = "A dangerous path lies before you. Be brave and slay the monsters to reach the other side."
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
@@ -0,0 +1,10 @@
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://byjqeukpibkvi"]
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_f2jsb"]
[resource]
script = ExtResource("1_f2jsb")
id = "7_talk_yeli_inside_1"
title = "Talk to Yeli in the house"
description = "Go inside the house and find yeli again"
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
+10
View File
@@ -0,0 +1,10 @@
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://csj15gnlx1jmx"]
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_y6h00"]
[resource]
script = ExtResource("1_y6h00")
id = "8_goto_bed"
title = "Go to sleep"
description = "Go into Vesnas room on the left of the house. Go to bed to unexaust you."
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
@@ -0,0 +1,10 @@
[gd_resource type="Resource" script_class="QuestResource" load_steps=2 format=3 uid="uid://c3mwhrvk12oml"]
[ext_resource type="Script" uid="uid://vji5lp4qc8pp" path="res://scripts/CSharp/Common/Quest/QuestResource.cs" id="1_hrrlk"]
[resource]
script = ExtResource("1_hrrlk")
id = "9_talk_to_chuga"
title = "Talk to Chuga"
description = "A strange creature is standing infront of you. Go talk to him. I promise, he won't hurt you... for now."
metadata/_custom_type_script = "uid://vji5lp4qc8pp"
+500 -26
View File
@@ -1,12 +1,15 @@
[gd_scene load_steps=113 format=3 uid="uid://gigb28qk8t12"] [gd_scene load_steps=128 format=3 uid="uid://gigb28qk8t12"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"] [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"] [ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"]
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="3_p4qqi"] [ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="3_p4qqi"]
[ext_resource type="Texture2D" uid="uid://be1nofeo7an0" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud2.png" id="3_r34wi"] [ext_resource type="Texture2D" uid="uid://be1nofeo7an0" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud2.png" id="3_r34wi"]
[ext_resource type="Texture2D" uid="uid://cq66tjp1p0qek" path="res://art/effects/suneffect.png" id="3_xcwle"]
[ext_resource type="Texture2D" uid="uid://gqnq3iofi13p" path="res://scenes/othernoise.tres" id="4_q1g8e"]
[ext_resource type="Texture2D" uid="uid://o6vnf7n7qp8o" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud6.png" id="4_xh22q"] [ext_resource type="Texture2D" uid="uid://o6vnf7n7qp8o" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud6.png" id="4_xh22q"]
[ext_resource type="Texture2D" uid="uid://cc0o84q5u437k" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud7.png" id="5_k3wpj"] [ext_resource type="Texture2D" uid="uid://cc0o84q5u437k" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud7.png" id="5_k3wpj"]
[ext_resource type="Texture2D" uid="uid://cqdb0iqhlk5st" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud8.png" id="5_r0vdg"] [ext_resource type="Texture2D" uid="uid://cqdb0iqhlk5st" path="res://art/mockups/Kenney_Backgrounds/PNG/cloud8.png" id="5_r0vdg"]
[ext_resource type="Script" uid="uid://j6xijojgoo3l" path="res://scenes/move.gd" id="5_vx3c5"]
[ext_resource type="Texture2D" uid="uid://cydc6feouwxys" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/hills1.png" id="7_sbyqw"] [ext_resource type="Texture2D" uid="uid://cydc6feouwxys" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/hills1.png" id="7_sbyqw"]
[ext_resource type="Texture2D" uid="uid://vt1gtr2trvwt" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/hills2.png" id="8_kt1wx"] [ext_resource type="Texture2D" uid="uid://vt1gtr2trvwt" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/hills2.png" id="8_kt1wx"]
[ext_resource type="Texture2D" uid="uid://b6k4vrgj745k" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree03.png" id="9_ubx8m"] [ext_resource type="Texture2D" uid="uid://b6k4vrgj745k" path="res://art/mockups/Kenney_Backgrounds/PNG/Flat/tree03.png" id="9_ubx8m"]
@@ -35,6 +38,7 @@
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="27_klb81"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="27_klb81"]
[ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_6b2nr"] [ext_resource type="Resource" uid="uid://dlcmqfjvgphqu" path="res://resources/items/rake.tres" id="28_6b2nr"]
[ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"] [ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="28_ipqaa"]
[ext_resource type="Texture2D" uid="uid://s6olqfj6ebqk" path="res://scenes/noise.tres" id="28_jiarp"]
[ext_resource type="Resource" uid="uid://datee0flk1e84" path="res://resources/items/scythe.tres" id="29_wtdui"] [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="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://boehox1ydbcnx" path="res://scripts/CSharp/Common/Farming/WellBehaviour.cs" id="32_lbnqo"]
@@ -73,6 +77,13 @@
[ext_resource type="Resource" uid="uid://d2swjixbnqkbw" path="res://resources/quests/demo/4_collect_tools.tres" id="68_lbnqo"] [ext_resource type="Resource" uid="uid://d2swjixbnqkbw" path="res://resources/quests/demo/4_collect_tools.tres" id="68_lbnqo"]
[ext_resource type="Script" uid="uid://be54lnb6gg81f" path="res://scripts/CSharp/Common/Inventory/ItemInstance.cs" id="69_4rgbr"] [ext_resource type="Script" uid="uid://be54lnb6gg81f" path="res://scripts/CSharp/Common/Inventory/ItemInstance.cs" id="69_4rgbr"]
[ext_resource type="Resource" uid="uid://5t8g0firdif0" path="res://resources/quests/demo/5_talk_yeli_3.tres" id="69_l4wxt"] [ext_resource type="Resource" uid="uid://5t8g0firdif0" path="res://resources/quests/demo/5_talk_yeli_3.tres" id="69_l4wxt"]
[ext_resource type="Script" uid="uid://bhbldab74vmhy" path="res://scripts/CSharp/Common/QuestBehaviour/DetectFieldWork.cs" id="74_fv1t2"]
[ext_resource type="Resource" uid="uid://h05jgxqtq37m" path="res://resources/quests/demo/6_till_and_water.tres" id="75_l7ekk"]
[ext_resource type="Resource" uid="uid://byjqeukpibkvi" path="res://resources/quests/demo/7_talk_yeli_inside_1.tres" id="76_xcwle"]
[ext_resource type="Script" uid="uid://dih1b0opgc3f7" path="res://scripts/GdScript/dialogic_start_specific.gd" id="77_l7ekk"]
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_q1g8e"]
blend_mode = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"]
shader = ExtResource("13_7p0hq") shader = ExtResource("13_7p0hq")
@@ -105,21 +116,6 @@ shader = ExtResource("13_kt1wx")
shader_parameter/tiling_scale = Vector2(7.79, 5.2) shader_parameter/tiling_scale = Vector2(7.79, 5.2)
shader_parameter/noise = SubResource("NoiseTexture2D_d53cn") shader_parameter/noise = SubResource("NoiseTexture2D_d53cn")
[sub_resource type="Gradient" id="Gradient_eryax"]
offsets = PackedFloat32Array(0, 0.743902, 1)
colors = PackedColorArray(0.22, 0.1078, 0.16764, 1, 0.443137, 0.4, 0.360784, 1, 0.6, 0.4853, 0.414, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wgikv"]
frequency = 0.0296
fractal_octaves = 7
fractal_gain = 0.795
domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_e5alv"]
seamless = true
color_ramp = SubResource("Gradient_eryax")
noise = SubResource("FastNoiseLite_wgikv")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0sfl7"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_0sfl7"]
resource_local_to_scene = true resource_local_to_scene = true
shader = ExtResource("13_kt1wx") shader = ExtResource("13_kt1wx")
@@ -186,11 +182,11 @@ radius = 300.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bcdgk"]
shader = ExtResource("37_taxvr") shader = ExtResource("37_taxvr")
shader_parameter/speed = 1.0 shader_parameter/speed = 1.0
shader_parameter/minStrength = 0.05 shader_parameter/minStrength = 0.029
shader_parameter/maxStrength = 0.187 shader_parameter/maxStrength = 0.153
shader_parameter/strengthScale = 100.0 shader_parameter/strengthScale = 500.0
shader_parameter/interval = 3.5 shader_parameter/interval = 3.5
shader_parameter/detail = 2.095 shader_parameter/detail = 2.86
shader_parameter/distortion = 1.0 shader_parameter/distortion = 1.0
shader_parameter/heightOffset = 0.51 shader_parameter/heightOffset = 0.51
shader_parameter/offset = 1.0 shader_parameter/offset = 1.0
@@ -245,6 +241,50 @@ shader_parameter/contrast_mult = 1.0
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ycj14"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ycj14"]
size = Vector2(707.116, 604.111) size = Vector2(707.116, 604.111)
[sub_resource type="AtlasTexture" id="AtlasTexture_q1g8e"]
atlas = ExtResource("14_mrwmr")
region = Rect2(137.555, 590.703, 59.3171, 79.177)
[sub_resource type="Curve" id="Curve_q1g8e"]
_limits = [-1.0, 1.0, 0.0, 1.0]
_data = [Vector2(0.12963, 1), 0.0, 0.0, 0, 0, Vector2(0.273148, -0.672247), 0.0, 0.0, 0, 0, Vector2(0.402778, 1), 0.0, 0.0, 0, 0, Vector2(0.486111, -0.0881057), 0.0, 0.0, 0, 0, Vector2(0.601852, 0.45022), 0.0, 0.0, 0, 0, Vector2(0.75463, -0.488987), 0.0, 0.0, 0, 0, Vector2(0.921296, 0.0149781), 0.0, 0.0, 0, 0, Vector2(0.969907, 1), 0.0, 0.0, 0, 0]
point_count = 8
[sub_resource type="Curve" id="Curve_vx3c5"]
_data = [Vector2(0.173611, 0.307048), 0.0, 0.0, 0, 0, Vector2(0.263889, 0.673568), 0.0, 0.0, 0, 0, Vector2(0.483796, 0.0493393), 0.0, 0.0, 0, 0, Vector2(0.726852, 0.461674), 0.0, 0.0, 0, 0, Vector2(0.891204, 0.100881), 0.0, 0.0, 0, 0]
point_count = 5
[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_jiarp"]
curve_x = SubResource("Curve_q1g8e")
curve_y = SubResource("Curve_vx3c5")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_vx3c5"]
particle_flag_disable_z = true
emission_shape_scale = Vector3(5000, 1, 1)
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
angle_min = -180.8
angle_max = 134.8
velocity_pivot = Vector3(27.11, -32.27, 0)
direction = Vector3(0.575, 1, 0)
initial_velocity_min = 165.98
initial_velocity_max = 397.89
angular_velocity_min = -27.57
angular_velocity_max = 24.51
directional_velocity_min = -38.83
directional_velocity_max = 62.28
directional_velocity_curve = SubResource("CurveXYZTexture_jiarp")
gravity = Vector3(0, 10, 0)
scale_min = 0.4
turbulence_noise_strength = 13.35
turbulence_noise_scale = 10.0
turbulence_noise_speed = Vector3(0, 1, 0)
turbulence_noise_speed_random = 1.09
turbulence_influence_min = 0.057
turbulence_influence_max = 0.117
turbulence_initial_displacement_min = -28.2
turbulence_initial_displacement_max = -24.8
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"] [sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ceriq"]
loop = false loop = false
stream_count = 1 stream_count = 1
@@ -278,6 +318,18 @@ blueprint = ExtResource("28_6b2nr")
amount = 1 amount = 1
metadata/_custom_type_script = "uid://be54lnb6gg81f" metadata/_custom_type_script = "uid://be54lnb6gg81f"
[sub_resource type="Environment" id="Environment_l7ekk"]
background_mode = 3
tonemap_mode = 3
tonemap_exposure = 0.74
tonemap_white = 1.33
glow_enabled = true
glow_normalized = true
glow_bloom = 0.2
adjustment_saturation = 1.1
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_065st"]
[node name="BabushkaSceneFarmOutside2d" type="Node2D"] [node name="BabushkaSceneFarmOutside2d" type="Node2D"]
script = ExtResource("34_e5b7x") script = ExtResource("34_e5b7x")
_sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn") _sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_indoor_common_room.tscn")
@@ -295,6 +347,121 @@ editor_draw_limits = true
script = ExtResource("3_p4qqi") script = ExtResource("3_p4qqi")
_followNode = NodePath("../YSorted/Vesna/CharacterBody2D") _followNode = NodePath("../YSorted/Vesna/CharacterBody2D")
[node name="effects" type="CanvasLayer" parent="."]
layer = 10
[node name="Suneffect" type="Sprite2D" parent="effects"]
modulate = Color(1, 1, 1, 0.494118)
material = SubResource("CanvasItemMaterial_q1g8e")
position = Vector2(1896, 246)
scale = Vector2(1.04297, 0.931312)
texture = ExtResource("3_xcwle")
[node name="fogmove1" type="Node2D" parent="effects"]
script = ExtResource("5_vx3c5")
speed = Vector2(-150, 0)
[node name="fognoise" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(512, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise2" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(2560, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise3" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(4608, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise4" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(6656, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise5" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(8703, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise6" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(10751, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise7" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(12799, 514)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise8" type="Sprite2D" parent="effects/fogmove1"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(14847, 514)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fogmove2" type="Node2D" parent="effects"]
position = Vector2(-5623, -9)
script = ExtResource("5_vx3c5")
speed = Vector2(150, 0)
[node name="fognoise" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(512, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise2" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(2560, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise3" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(4608, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise4" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(6656, 513)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise5" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(-7680, 511)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise6" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(-5632, 511)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise7" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(-3584, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="fognoise8" type="Sprite2D" parent="effects/fogmove2"]
modulate = Color(1, 1, 1, 0.0470588)
position = Vector2(-1536, 512)
scale = Vector2(4, 4)
texture = ExtResource("4_q1g8e")
[node name="ParallaxBackground" type="ParallaxBackground" parent="."] [node name="ParallaxBackground" type="ParallaxBackground" parent="."]
[node name="background color layer" type="ParallaxLayer" parent="ParallaxBackground"] [node name="background color layer" type="ParallaxLayer" parent="ParallaxBackground"]
@@ -907,7 +1074,7 @@ texture_repeat = 2
material = SubResource("ShaderMaterial_ubx8m") material = SubResource("ShaderMaterial_ubx8m")
position = Vector2(3888, 2688) position = Vector2(3888, 2688)
scale = Vector2(16, 5.48) scale = Vector2(16, 5.48)
texture = SubResource("NoiseTexture2D_e5alv") texture = ExtResource("28_jiarp")
[node name="Fence" type="Node2D" parent="."] [node name="Fence" type="Node2D" parent="."]
@@ -1049,6 +1216,9 @@ _fieldParent = NodePath("../Farm visuals/FieldParent")
_hoe = ExtResource("28_6b2nr") _hoe = ExtResource("28_6b2nr")
_wateringCan = ExtResource("28_ipqaa") _wateringCan = ExtResource("28_ipqaa")
[node name="WateringCanUI" parent="YSorted/Vesna/CharacterBody2D" index="2" node_paths=PackedStringArray("_stages")]
_stages = []
[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")] [node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")]
_camera = NodePath("../../../Camera2D") _camera = NodePath("../../../Camera2D")
@@ -1177,6 +1347,86 @@ offset = Vector2(0, -237)
region_enabled = true region_enabled = true
region_rect = Rect2(130, 0, 201, 278) region_rect = Rect2(130, 0, 201, 278)
[node name="bush36" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(5096, 4043)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush37" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(6628, 3153)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush38" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7887, 2440)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush39" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7669, 2011)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush40" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(6587, 4129)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush41" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(5379, 3993)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush42" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(8149, 3983)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush28" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(1, 0.86, 0.86, 1)
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(5011, 3043)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush5" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] [node name="bush5" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk") material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4310, 3636) position = Vector2(4310, 3636)
@@ -1186,6 +1436,60 @@ offset = Vector2(0, -237)
region_enabled = true region_enabled = true
region_rect = Rect2(130, 0, 201, 278) region_rect = Rect2(130, 0, 201, 278)
[node name="bush31" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7661, 2671)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush32" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(8055, 2130)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush33" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4780, 4081)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush34" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(6039, 4091)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush35" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7070, 4051)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush29" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4324, 2959)
scale = Vector2(-2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -237)
region_enabled = true
region_rect = Rect2(130, 0, 201, 278)
[node name="bush6" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] [node name="bush6" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(0.8428, 0.8771, 0.98, 1) modulate = Color(0.8428, 0.8771, 0.98, 1)
material = SubResource("ShaderMaterial_bcdgk") material = SubResource("ShaderMaterial_bcdgk")
@@ -1234,6 +1538,87 @@ offset = Vector2(0, -196)
region_enabled = true region_enabled = true
region_rect = Rect2(1699, 76, 280, 230) region_rect = Rect2(1699, 76, 280, 230)
[node name="bush43" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4388, 3886)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush44" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(6496, 3219)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush45" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7684, 2794)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush46" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(8048, 2597)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush47" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(5410, 4214)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush48" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(6658, 4169)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush49" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(7654, 4174)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush50" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4980, 4245)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush30" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
material = SubResource("ShaderMaterial_bcdgk")
position = Vector2(4215, 3200)
scale = Vector2(2, 2)
texture = ExtResource("14_mrwmr")
offset = Vector2(0, -196)
region_enabled = true
region_rect = Rect2(1699, 76, 280, 230)
[node name="bush4" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"] [node name="bush4" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/left side"]
modulate = Color(0.8428, 0.8771, 0.98, 1) modulate = Color(0.8428, 0.8771, 0.98, 1)
material = SubResource("ShaderMaterial_bcdgk") material = SubResource("ShaderMaterial_bcdgk")
@@ -1789,7 +2174,31 @@ region_rect = Rect2(364, 32, 148, 153)
[node name="grass21" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"] [node name="grass21" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
z_index = -5 z_index = -5
position = Vector2(5510, 3499) position = Vector2(5702, 3443)
scale = Vector2(7.28513, 6.16997)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass42" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
z_index = -5
position = Vector2(8219, 2892)
scale = Vector2(7.28513, 6.16997)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass43" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
z_index = -5
position = Vector2(8532, 1997)
scale = Vector2(7.28513, 6.16997)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass44" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
z_index = -5
position = Vector2(4579, 3114)
scale = Vector2(7.28513, 6.16997) scale = Vector2(7.28513, 6.16997)
texture = ExtResource("44_uxa2m") texture = ExtResource("44_uxa2m")
region_enabled = true region_enabled = true
@@ -1804,6 +2213,51 @@ texture = ExtResource("44_uxa2m")
region_enabled = true region_enabled = true
region_rect = Rect2(364, 32, 148, 153) region_rect = Rect2(364, 32, 148, 153)
[node name="grass45" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.78, 0.78, 0.78, 1)
z_index = -5
position = Vector2(5407, 3041)
scale = Vector2(7.28513, 4.43792)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass46" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.78, 0.78, 0.78, 1)
z_index = -5
position = Vector2(7126, 3076)
scale = Vector2(7.28513, 4.43792)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass47" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.78, 0.78, 0.78, 1)
z_index = -5
position = Vector2(6439, 3025)
scale = Vector2(7.28513, 4.43792)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass48" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.78, 0.78, 0.78, 1)
z_index = -5
position = Vector2(8370, 3369)
scale = Vector2(7.28513, 4.43792)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass49" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.78, 0.78, 0.78, 1)
z_index = -5
position = Vector2(8476, 2100)
scale = Vector2(7.28513, 4.43792)
texture = ExtResource("44_uxa2m")
region_enabled = true
region_rect = Rect2(364, 32, 148, 153)
[node name="grass23" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"] [node name="grass23" type="Sprite2D" parent="YSorted/Farm visuals/Static/greenery/grass"]
modulate = Color(0.954868, 0.882599, 0.798501, 1) modulate = Color(0.954868, 0.882599, 0.798501, 1)
z_index = -5 z_index = -5
@@ -2328,8 +2782,14 @@ offset_top = 0.228533
offset_right = -456.339 offset_right = -456.339
offset_bottom = 30.2285 offset_bottom = 30.2285
[node name="Control" parent="CanvasLayer" index="3"] [node name="GPUParticles2D" type="GPUParticles2D" parent="."]
visible = true z_index = 40
position = Vector2(-3463, -349)
amount = 100
texture = SubResource("AtlasTexture_q1g8e")
lifetime = 25.0
visibility_rect = Rect2(-6000, -100, 20000, 20000)
process_material = SubResource("ParticleProcessMaterial_vx3c5")
[node name="Audio" type="Node" parent="."] [node name="Audio" type="Node" parent="."]
@@ -2380,14 +2840,27 @@ script = ExtResource("40_w3jkj")
script = ExtResource("66_2065p") script = ExtResource("66_2065p")
questResource = ExtResource("67_tm0yg") questResource = ExtResource("67_tm0yg")
toStatus = 1 toStatus = 1
makeCurrent = true makeActive = true
[node name="ToolsCollectedTrigger" type="Node" parent="SpeicialQuestTrigger"] [node name="ToolsCollectedTrigger" type="Node" parent="SpeicialQuestTrigger"]
script = ExtResource("68_hux6i") script = ExtResource("68_hux6i")
_itemsToContain = Array[Resource]([SubResource("Resource_y820s"), SubResource("Resource_50loj")]) _itemsToContain = Array[Resource]([SubResource("Resource_y820s"), SubResource("Resource_50loj")])
_onActiveQuest = ExtResource("68_lbnqo") _onAvailableQuest = ExtResource("68_lbnqo")
_toNextQuest = ExtResource("69_l4wxt") _toNextQuest = ExtResource("69_l4wxt")
[node name="FieldWorkTrigger" type="Node" parent="SpeicialQuestTrigger"]
script = ExtResource("74_fv1t2")
_onAvailableQuest = ExtResource("75_l7ekk")
_toNextQuest = ExtResource("76_xcwle")
[node name="StartDialog" type="Node" parent="SpeicialQuestTrigger/FieldWorkTrigger"]
script = ExtResource("77_l7ekk")
timeline = "quest2_tomatoes_end"
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_l7ekk")
camera_attributes = SubResource("CameraAttributesPractical_065st")
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [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="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"]
[connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] [connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"]
@@ -2406,6 +2879,7 @@ _toNextQuest = ExtResource("69_l4wxt")
[connection signal="Dialogue" from="YSorted/ducks/DialogicToggle" to="YSorted/ducks/dialogic starter" method="open"] [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"] [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
[connection signal="ready" from="SpeicialQuestTrigger/QuestInstantStart" to="SpeicialQuestTrigger/QuestInstantStart/QuestTrigger" method="Trigger"] [connection signal="ready" from="SpeicialQuestTrigger/QuestInstantStart" to="SpeicialQuestTrigger/QuestInstantStart/QuestTrigger" method="Trigger"]
[connection signal="OnFulfilled" from="SpeicialQuestTrigger/FieldWorkTrigger" to="SpeicialQuestTrigger/FieldWorkTrigger/StartDialog" method="open"]
[editable path="YSorted/Vesna"] [editable path="YSorted/Vesna"]
[editable path="YSorted/Brünnen/InteractionArea"] [editable path="YSorted/Brünnen/InteractionArea"]
+14 -3
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=70 format=3 uid="uid://bb6r385qvyoba"] [gd_scene load_steps=72 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://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"] [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://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://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://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="29_3jjxs"]
[ext_resource type="PackedScene" path="res://prefabs/characters/Chugar.tscn" id="29_26tkn"] [ext_resource type="PackedScene" uid="uid://ddpl8cbck7e6s" 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="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://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"] [ext_resource type="Resource" uid="uid://cndd64batns31" path="res://resources/items/wateringcan.tres" id="31_c2gvt"]
@@ -48,7 +48,9 @@
[ext_resource type="Script" uid="uid://clxb3n668oud3" path="res://scripts/CSharp/Common/Audio/AudioDebugger.cs" id="52_x1mmf"] [ext_resource type="Script" uid="uid://clxb3n668oud3" path="res://scripts/CSharp/Common/Audio/AudioDebugger.cs" id="52_x1mmf"]
[ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="54_4l7ky"] [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="54_4l7ky"]
[ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="55_dk5xw"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="55_dk5xw"]
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="55_ub0r7"]
[ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="56_bjj0f"] [ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer.cs" id="56_bjj0f"]
[ext_resource type="Resource" uid="uid://c3mwhrvk12oml" path="res://resources/quests/demo/9_talk_to_chuga.tres" id="56_q833x"]
[ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="57_ehh6a"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="57_ehh6a"]
[ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="58_mfld1"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="58_mfld1"]
[ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="59_soiyx"] [ext_resource type="AudioStream" uid="uid://fsiypqhql67w" path="res://audio/sfx/Farming/SFX_GettingWater_01.wav" id="59_soiyx"]
@@ -2064,7 +2066,7 @@ region_rect = Rect2(1483.92, 1280.2, 1139.55, 367.598)
[node name="BorderCollisionBody" type="StaticBody2D" parent="YSorted/ForestVisuals"] [node name="BorderCollisionBody" type="StaticBody2D" parent="YSorted/ForestVisuals"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="YSorted/ForestVisuals/BorderCollisionBody"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="YSorted/ForestVisuals/BorderCollisionBody"]
polygon = PackedVector2Array(5543, 1787, 8663, 1938, 15008, 1914, 15121, 2882, 15601, 3074, 15636, 3574, 14122, 3569, 12930, 3737, 11502, 3599, 9887, 3658, 7936, 3924, 7712, 2967, 4629, 2917, 3880, 3351, 3891, 3646, 3919, 4843, 7970, 4459, 16532, 4289, 16365, 821, 1765, 1202, 1437, 4559, 3142, 4814, 3154, 4225, 2749, 3323, 2196, 2523, 2379, 1787) polygon = PackedVector2Array(5543, 1787, 8663, 1938, 15008, 1914, 15121, 2882, 15601, 3074, 15636, 3574, 14122, 3569, 12930, 3737, 11502, 3599, 9887, 3658, 7936, 3924, 7712, 2967, 4629, 2917, 3880, 3351, 3891, 3646, 3919, 4843, 7970, 4459, 16532, 4289, 16365, 821, 1765, 1202, 1437, 4559, 3849, 4849, 3860, 4193, 3304, 4193, 2749, 3323, 2196, 2523, 2379, 1787)
[node name="Blocker" type="Node2D" parent="YSorted"] [node name="Blocker" type="Node2D" parent="YSorted"]
@@ -2178,6 +2180,14 @@ max_distance = 2e+07
playback_type = 2 playback_type = 2
script = ExtResource("56_bjj0f") script = ExtResource("56_bjj0f")
[node name="SpecialQuestNodes" type="Node" parent="."]
[node name="InstantStartQuest" type="Node" parent="SpecialQuestNodes"]
script = ExtResource("55_ub0r7")
questResource = ExtResource("56_q833x")
toStatus = 1
makeActive = true
[connection signal="body_entered" from="Fight1/FightStarter/TriggerArea" to="Fight1/FightStarter" method="Start"] [connection signal="body_entered" from="Fight1/FightStarter/TriggerArea" to="Fight1/FightStarter" method="Start"]
[connection signal="FightEnded" from="Fight1/FightBaseScene" to="YSorted/Vesna" method="show"] [connection signal="FightEnded" from="Fight1/FightBaseScene" to="YSorted/Vesna" method="show"]
[connection signal="FightEnded" from="Fight1/FightBaseScene" to="YSorted/Vesna" method="EnableMovement"] [connection signal="FightEnded" from="Fight1/FightBaseScene" to="YSorted/Vesna" method="EnableMovement"]
@@ -2194,6 +2204,7 @@ script = ExtResource("56_bjj0f")
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [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="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"]
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
[connection signal="ready" from="SpecialQuestNodes/InstantStartQuest" to="SpecialQuestNodes/InstantStartQuest" method="Trigger"]
[editable path="Fight1/FightBaseScene"] [editable path="Fight1/FightBaseScene"]
[editable path="Fight2/FightBaseScene"] [editable path="Fight2/FightBaseScene"]
@@ -563,7 +563,7 @@ script = ExtResource("17_k0k8c")
script = ExtResource("21_blyw3") script = ExtResource("21_blyw3")
questResource = ExtResource("22_yd2gv") questResource = ExtResource("22_yd2gv")
toStatus = 1 toStatus = 1
makeCurrent = true makeActive = true
[node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")] [node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")]
position = Vector2(-1534, -26) position = Vector2(-1534, -26)
@@ -1,8 +1,10 @@
[gd_scene load_steps=11 format=3 uid="uid://ceaa2qj2bmw43"] [gd_scene load_steps=13 format=3 uid="uid://ceaa2qj2bmw43"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_c6eln"] [ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_c6eln"]
[ext_resource type="Texture2D" uid="uid://cugtxcfuds31r" path="res://art/indoor/Babushka_bg_01.png" id="2_j25a2"] [ext_resource type="Texture2D" uid="uid://cugtxcfuds31r" path="res://art/indoor/Babushka_bg_01.png" id="2_j25a2"]
[ext_resource type="Script" uid="uid://cldtt4atgymm5" path="res://scripts/CSharp/Common/Quest/QuestTrigger.cs" id="8_j25a2"]
[ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="8_phqdf"] [ext_resource type="PackedScene" uid="uid://cqc72e4hq6bcd" path="res://prefabs/interactions/interaction_area_2d.tscn" id="8_phqdf"]
[ext_resource type="Resource" uid="uid://csj15gnlx1jmx" path="res://resources/quests/demo/8_goto_bed.tres" id="9_heyef"]
[ext_resource type="Texture2D" uid="uid://cop1vjvhwlsec" path="res://art/indoor/room export/Room_01_shelf.png" id="13_11fdt"] [ext_resource type="Texture2D" uid="uid://cop1vjvhwlsec" path="res://art/indoor/room export/Room_01_shelf.png" id="13_11fdt"]
[ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="18_3gevq"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="18_3gevq"]
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="23_408bg"] [ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="23_408bg"]
@@ -100,6 +102,11 @@ _useOutline = false
_useSprite = false _useSprite = false
_id = 1 _id = 1
[node name="QuestCompleter" type="Node" parent="BedInteraction"]
script = ExtResource("8_j25a2")
questResource = ExtResource("9_heyef")
toStatus = 2
[node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")] [node name="DoorInteraction" parent="." instance=ExtResource("8_phqdf")]
position = Vector2(777, 201) position = Vector2(777, 201)
_useOutline = false _useOutline = false
@@ -109,6 +116,7 @@ _id = 0
[node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"] [node name="CollisionShape3D" parent="DoorInteraction/Area2D" index="0"]
shape = SubResource("CircleShape2D_2spkc") shape = SubResource("CircleShape2D_2spkc")
[connection signal="Interacted" from="BedInteraction" to="BedInteraction/QuestCompleter" method="Trigger"]
[connection signal="InteractedTool" from="BedInteraction" to="." method="LoadSceneAtIndex"] [connection signal="InteractedTool" from="BedInteraction" to="." method="LoadSceneAtIndex"]
[connection signal="Interacted" from="DoorInteraction" to="." method="LoadScene"] [connection signal="Interacted" from="DoorInteraction" to="." method="LoadScene"]
+49 -44
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=91 format=3 uid="uid://b3ibx4resa1f3"] [gd_scene load_steps=92 format=3 uid="uid://b3ibx4resa1f3"]
[ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_6krrk"] [ext_resource type="Script" uid="uid://cssdu8viimwm6" path="res://scripts/CSharp/Common/SceneTransition.cs" id="1_6krrk"]
[ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="2_4ktoi"] [ext_resource type="Script" uid="uid://bqomwxclsbhd3" path="res://scripts/CSharp/Common/Camera/CameraController.cs" id="2_4ktoi"]
@@ -137,11 +137,15 @@ size = Vector2(1041, 368)
resource_local_to_scene = true resource_local_to_scene = true
radius = 371.058 radius = 371.058
[sub_resource type="CircleShape2D" id="CircleShape2D_2nee2"] [sub_resource type="CircleShape2D" id="CircleShape2D_dr6bm"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_ipqaa"] [sub_resource type="CircleShape2D" id="CircleShape2D_34r5t"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_hpgl7"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
@@ -173,27 +177,27 @@ shader_parameter/offset = 0.0
shader = ExtResource("24_anpd4") shader = ExtResource("24_anpd4")
shader_parameter/tiling_scale = Vector2(1, 20) shader_parameter/tiling_scale = Vector2(1, 20)
[sub_resource type="CircleShape2D" id="CircleShape2D_hpgl7"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_qavgq"] [sub_resource type="CircleShape2D" id="CircleShape2D_qavgq"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_dr6bm"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_njxly"] [sub_resource type="CircleShape2D" id="CircleShape2D_njxly"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_34r5t"] [sub_resource type="CircleShape2D" id="CircleShape2D_54ty3"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_54ty3"] [sub_resource type="CircleShape2D" id="CircleShape2D_gbxtf"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_6krrk"]
resource_local_to_scene = true
radius = 300.0
[sub_resource type="CircleShape2D" id="CircleShape2D_4ktoi"]
resource_local_to_scene = true resource_local_to_scene = true
radius = 300.0 radius = 300.0
@@ -952,6 +956,9 @@ _wateringCan = ExtResource("29_6laxt")
[node name="Animated Sprites" parent="YSorted/Vesna/CharacterBody2D/visuals" index="0"] [node name="Animated Sprites" parent="YSorted/Vesna/CharacterBody2D/visuals" index="0"]
position = Vector2(-33, 554) position = Vector2(-33, 554)
[node name="WateringCanUI" parent="YSorted/Vesna/CharacterBody2D" index="2" node_paths=PackedStringArray("_stages")]
_stages = []
[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")] [node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")]
_camera = NodePath("../../../Camera2D") _camera = NodePath("../../../Camera2D")
@@ -987,8 +994,8 @@ position = Vector2(6095, 2087)
[node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"] [node name="SpawnWithItem" parent="YSorted/HoeGenericPickup" index="0"]
_blueprint = ExtResource("33_v0fwx") _blueprint = ExtResource("33_v0fwx")
[node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/HoeGenericPickup/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_2nee2") shape = SubResource("CircleShape2D_dr6bm")
[node name="CanGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")] [node name="CanGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")]
visible = false visible = false
@@ -997,11 +1004,8 @@ position = Vector2(8192, 3507)
[node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"] [node name="SpawnWithItem" parent="YSorted/CanGenericPickup" index="0"]
_blueprint = ExtResource("29_6laxt") _blueprint = ExtResource("29_6laxt")
[node name="InteractionArea2" parent="YSorted/CanGenericPickup" index="3"] [node name="CollisionShape3D" parent="YSorted/CanGenericPickup/PickupInteractionArea/Area2D" index="0"]
position = Vector2(0, -159) shape = SubResource("CircleShape2D_34r5t")
[node name="CollisionShape3D" parent="YSorted/CanGenericPickup/InteractionArea2/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa")
[node name="RakeGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")] [node name="RakeGenericPickup" parent="YSorted" instance=ExtResource("32_752hh")]
visible = false visible = false
@@ -1010,8 +1014,8 @@ position = Vector2(8391, 2060)
[node name="SpawnWithItem" parent="YSorted/RakeGenericPickup" index="0"] [node name="SpawnWithItem" parent="YSorted/RakeGenericPickup" index="0"]
_blueprint = ExtResource("28_le48k") _blueprint = ExtResource("28_le48k")
[node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/RakeGenericPickup/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_ipqaa") shape = SubResource("CircleShape2D_hpgl7")
[node name="Farm visuals" type="Node2D" parent="YSorted"] [node name="Farm visuals" type="Node2D" parent="YSorted"]
position = Vector2(-60, 122) position = Vector2(-60, 122)
@@ -1751,10 +1755,11 @@ rotation = 1.5708
scale = Vector2(0.1, 8.7) scale = Vector2(0.1, 8.7)
texture = ExtResource("26_bwvai") texture = ExtResource("26_bwvai")
[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"] [node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("fields")]
position = Vector2(53, 20) position = Vector2(53, 20)
scale = Vector2(1, 0.993819) scale = Vector2(1, 0.993819)
script = ExtResource("46_xkmgh") script = ExtResource("46_xkmgh")
fields = {}
metadata/_custom_type_script = "uid://dhxtdhfqx3bte" metadata/_custom_type_script = "uid://dhxtdhfqx3bte"
[node name="BaseField" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
@@ -1769,8 +1774,8 @@ visible = true
[node name="01" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/BigPlant" index="0"] [node name="01" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false visible = false
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_hpgl7") shape = SubResource("CircleShape2D_qavgq")
[node name="BaseField2" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField2" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(1230, 2590) position = Vector2(1230, 2590)
@@ -1784,8 +1789,8 @@ visible = false
[node name="03" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/BigPlant" index="2"] [node name="03" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/BigPlant" index="2"]
visible = true visible = true
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_qavgq") shape = SubResource("CircleShape2D_njxly")
[node name="BaseField3" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField3" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(1994, 2603) position = Vector2(1994, 2603)
@@ -1799,8 +1804,8 @@ visible = true
[node name="01" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/BigPlant" index="0"] [node name="01" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false visible = false
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_dr6bm") shape = SubResource("CircleShape2D_54ty3")
[node name="BaseField4" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField4" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(478, 3098) position = Vector2(478, 3098)
@@ -1814,8 +1819,8 @@ visible = true
[node name="01" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/BigPlant" index="0"] [node name="01" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false visible = false
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_njxly") shape = SubResource("CircleShape2D_gbxtf")
[node name="BaseField5" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField5" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(1279, 3123) position = Vector2(1279, 3123)
@@ -1832,8 +1837,8 @@ visible = false
[node name="02" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="1"] [node name="02" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/BigPlant" index="1"]
visible = true visible = true
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_34r5t") shape = SubResource("CircleShape2D_6krrk")
[node name="BaseField6" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")] [node name="BaseField6" parent="YSorted/Farm visuals" instance=ExtResource("43_dr6bm")]
position = Vector2(2037, 3135) position = Vector2(2037, 3135)
@@ -1847,8 +1852,8 @@ visible = true
[node name="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/BigPlant" index="0"] [node name="01" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/BigPlant" index="0"]
visible = false visible = false
[node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2/Area2D" index="0"] [node name="CollisionShape3D" parent="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea/Area2D" index="0"]
shape = SubResource("CircleShape2D_54ty3") shape = SubResource("CircleShape2D_4ktoi")
[node name="Blocker" type="Node2D" parent="YSorted"] [node name="Blocker" type="Node2D" parent="YSorted"]
@@ -1958,33 +1963,33 @@ script = ExtResource("58_m3hs4")
[editable path="YSorted/Vesna"] [editable path="YSorted/Vesna"]
[editable path="YSorted/Brünnen/InteractionArea"] [editable path="YSorted/Brünnen/InteractionArea"]
[editable path="YSorted/HoeGenericPickup"] [editable path="YSorted/HoeGenericPickup"]
[editable path="YSorted/HoeGenericPickup/InteractionArea2"] [editable path="YSorted/HoeGenericPickup/PickupInteractionArea"]
[editable path="YSorted/CanGenericPickup"] [editable path="YSorted/CanGenericPickup"]
[editable path="YSorted/CanGenericPickup/InteractionArea2"] [editable path="YSorted/CanGenericPickup/PickupInteractionArea"]
[editable path="YSorted/RakeGenericPickup"] [editable path="YSorted/RakeGenericPickup"]
[editable path="YSorted/RakeGenericPickup/InteractionArea2"] [editable path="YSorted/RakeGenericPickup/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField"] [editable path="YSorted/Farm visuals/BaseField"]
[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField2"] [editable path="YSorted/Farm visuals/BaseField2"]
[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField2/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField3"] [editable path="YSorted/Farm visuals/BaseField3"]
[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField3/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField4"] [editable path="YSorted/Farm visuals/BaseField4"]
[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField4/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField5"] [editable path="YSorted/Farm visuals/BaseField5"]
[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField5/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="YSorted/Farm visuals/BaseField6"] [editable path="YSorted/Farm visuals/BaseField6"]
[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot"] [editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot"]
[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"] [editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem"]
[editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/InteractionArea2"] [editable path="YSorted/Farm visuals/BaseField6/FieldBehaviour/BeetRoot/ReadyPlantInventoryItem/PickupInteractionArea"]
[editable path="CanvasLayer"] [editable path="CanvasLayer"]
+6
View File
@@ -0,0 +1,6 @@
extends Node2D
@export var speed:Vector2
func _process(delta: float) -> void:
position += speed * delta
+1
View File
@@ -0,0 +1 @@
uid://j6xijojgoo3l
+16
View File
@@ -0,0 +1,16 @@
[gd_resource type="NoiseTexture2D" load_steps=3 format=3 uid="uid://s6olqfj6ebqk"]
[sub_resource type="Gradient" id="Gradient_eryax"]
offsets = PackedFloat32Array(0, 0.743902, 1)
colors = PackedColorArray(0.22, 0.1078, 0.16764, 1, 0.443137, 0.4, 0.360784, 1, 0.6, 0.4853, 0.414, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wgikv"]
frequency = 0.0296
fractal_octaves = 7
fractal_gain = 0.795
domain_warp_enabled = true
[resource]
seamless = true
color_ramp = SubResource("Gradient_eryax")
noise = SubResource("FastNoiseLite_wgikv")
+19
View File
@@ -0,0 +1,19 @@
[gd_resource type="NoiseTexture2D" load_steps=3 format=3 uid="uid://gqnq3iofi13p"]
[sub_resource type="Gradient" id="Gradient_eryax"]
offsets = PackedFloat32Array(0, 0.677778, 0.946667, 1)
colors = PackedColorArray(1, 1, 1, 0.176471, 1, 1, 1, 0.0823529, 1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wgikv"]
noise_type = 3
frequency = 0.0081
fractal_octaves = 3
fractal_lacunarity = 2.485
fractal_gain = 0.375
metadata/_preview_in_3d_space_ = true
[resource]
seamless = true
seamless_blend_skirt = 0.243
color_ramp = SubResource("Gradient_eryax")
noise = SubResource("FastNoiseLite_wgikv")
@@ -18,7 +18,7 @@ text = "Start Quest 1"
script = ExtResource("1_wnfrg") script = ExtResource("1_wnfrg")
questResource = ExtResource("2_nud5h") questResource = ExtResource("2_nud5h")
toStatus = 1 toStatus = 1
makeCurrent = true makeActive = true
[node name="Button2" type="Button" parent="."] [node name="Button2" type="Button" parent="."]
offset_left = 460.0 offset_left = 460.0
@@ -43,7 +43,7 @@ text = "Start Quest 2"
script = ExtResource("1_wnfrg") script = ExtResource("1_wnfrg")
questResource = ExtResource("3_tb5fn") questResource = ExtResource("3_tb5fn")
toStatus = 1 toStatus = 1
makeCurrent = true makeActive = true
[node name="Button4" type="Button" parent="."] [node name="Button4" type="Button" parent="."]
offset_left = 460.0 offset_left = 460.0
+1 -1
View File
@@ -41,7 +41,7 @@ text = "Active"
script = ExtResource("3_sx4ix") script = ExtResource("3_sx4ix")
questResource = ExtResource("4_qyyck") questResource = ExtResource("4_qyyck")
toStatus = 1 toStatus = 1
makeCurrent = true makeActive = true
[node name="Done" type="Button" parent="CanvasLayer2/VBoxContainer/HBoxContainer"] [node name="Done" type="Button" parent="CanvasLayer2/VBoxContainer/HBoxContainer"]
layout_mode = 2 layout_mode = 2
@@ -1,3 +1,5 @@
using System;
namespace Babushka.scripts.CSharp.Common.Farming; namespace Babushka.scripts.CSharp.Common.Farming;
/// <summary> /// <summary>
@@ -26,6 +28,7 @@ public static class WateringCanState
public delegate void WateringCanDelegate(bool state); public delegate void WateringCanDelegate(bool state);
public static event WateringCanDelegate WateringCanActiveStateChanged; public static event WateringCanDelegate WateringCanActiveStateChanged;
public static event Action? OnWater;
@@ -43,7 +46,10 @@ public static class WateringCanState
public static void Water() public static void Water()
{ {
if(_fillstate > 0) if(_fillstate > 0)
{
_fillstate--; _fillstate--;
OnWater?.Invoke();
}
} }
/// <summary> /// <summary>
@@ -1,4 +1,4 @@
using Godot; using Godot;
namespace Babushka.scripts.CSharp.Common.Inventory; namespace Babushka.scripts.CSharp.Common.Inventory;
// Do not instantiate this resource // Do not instantiate this resource
@@ -1,22 +0,0 @@
using Godot;
using System;
using Babushka.scripts.CSharp.Common.Quest;
public partial class PopUpPostIt : Control
{
private Label Text => GetNode<Label>("Text");
private AnimationPlayer Animation => GetNode<AnimationPlayer>("AnimationPlayer");
QuestManager QM => QuestManager.Instance!;
public override void _EnterTree()
{
QM.QuestBecomesActive += NewQuestPostIt;
}
private void NewQuestPostIt(QuestResource questResource)
{
Text.Text = questResource.title;
Animation.Play("NewPostit");
}
}
@@ -1 +0,0 @@
uid://byar6yqrlph6k
@@ -1,6 +1,6 @@
using Godot; using Godot;
using System;
using Babushka.scripts.CSharp.Common.Util; namespace Babushka.scripts.CSharp.Common.Quest;
public partial class QuestDescriptionUi : RichTextLabel public partial class QuestDescriptionUi : RichTextLabel
{ {
@@ -24,11 +24,10 @@ public partial class QuestListItemUi : Control
_ => "" _ => ""
}; };
UpdateCircled(questResource == QuestManager.Instance.GetFollowQuest()); UpdateCircled(questResource == QuestManager.Instance.GetActiveQuest());
ShowName(name); ShowName(name);
TitleButton.Pressed += ClickedTitleButton;
} }
private void UpdateCircled(bool value) private void UpdateCircled(bool value)
{ {
CircleTexture.Visible = value; CircleTexture.Visible = value;
+18 -12
View File
@@ -1,42 +1,50 @@
#nullable enable #nullable enable
using Godot; using Godot;
using System;
using Babushka.scripts.CSharp.Common.Quest; namespace Babushka.scripts.CSharp.Common.Quest;
public partial class QuestLog : Control public partial class QuestLog : Control
{ {
[Signal] [Signal]
public delegate void DetailQuestChangedEventHandler(QuestLog questLog); public delegate void DetailQuestChangedEventHandler(QuestLog questLog);
[Export] [Export] private Vector2 _closedPos;
private Vector2 _closedPos;
[Export] [Export] private Vector2 _openedPos;
private Vector2 _openedPos;
private bool _isClosed = true; private bool _isClosed = true;
private Tween? _closeOpenTween; private Tween? _closeOpenTween;
public QuestResource? currentDetailQuest public QuestResource? currentDetailQuest
{ {
get => QuestManager.Instance!.GetFollowQuest(); get => QuestManager.Instance!.GetActiveQuest();
set set
{ {
QuestManager.Instance!.SetFollowQuest(value); // TODO: fix setup QuestManager.Instance!.SetActiveQuest(value); // TODO: fix setup
EmitSignalDetailQuestChanged(this); EmitSignalDetailQuestChanged(this);
} }
} }
public override void _EnterTree() public override void _EnterTree()
{ {
QuestManager.Instance!.QuestsChanged += () => EmitSignalDetailQuestChanged(this); QuestManager.Instance!.QuestsChanged += OnQuestsChanged;
}
public override void _ExitTree()
{
QuestManager.Instance!.QuestsChanged -= OnQuestsChanged;
}
private void OnQuestsChanged()
{
EmitSignalDetailQuestChanged(this);
} }
public override void _Input(InputEvent inputEvent) public override void _Input(InputEvent inputEvent)
{ {
if (inputEvent.IsActionPressed("ui_inventory_journal_open_close")) if (inputEvent.IsActionPressed("ui_inventory_journal_open_close"))
{ {
if(_closeOpenTween != null) if (_closeOpenTween != null)
_closeOpenTween.Kill(); _closeOpenTween.Kill();
_isClosed = !_isClosed; _isClosed = !_isClosed;
@@ -48,6 +56,4 @@ public partial class QuestLog : Control
.SetTrans(Tween.TransitionType.Cubic); .SetTrans(Tween.TransitionType.Cubic);
} }
} }
//private QuestResource? _currentDetailQuestBacking;
} }
+12 -12
View File
@@ -11,7 +11,7 @@ public partial class QuestManager : Node
public static QuestManager? Instance { get; private set; } public static QuestManager? Instance { get; private set; }
[Signal] [Signal]
public delegate void QuestBecomesActiveEventHandler(QuestResource questResource); public delegate void QuestBecomesAvailableEventHandler(QuestResource questResource);
[Signal] [Signal]
public delegate void QuestsChangedEventHandler(); public delegate void QuestsChangedEventHandler();
@@ -26,7 +26,7 @@ public partial class QuestManager : Node
private Godot.Collections.Dictionary<QuestResource, QuestStatus> _questStatus = new(); private Godot.Collections.Dictionary<QuestResource, QuestStatus> _questStatus = new();
private QuestResource? _followQuest; private QuestResource? _activeQuest;
public void ChangeQuestStatus(QuestResource questResource, QuestStatus.Status newStatus) public void ChangeQuestStatus(QuestResource questResource, QuestStatus.Status newStatus)
@@ -40,11 +40,11 @@ public partial class QuestManager : Node
value.status = newStatus; value.status = newStatus;
EmitSignalQuestsChanged(); EmitSignalQuestsChanged();
EmitSignalDialogicActiveQuest(_followQuest?.id ?? "none"); EmitSignalDialogicActiveQuest(_activeQuest?.id ?? "none");
if (newStatus == QuestStatus.Status.Active) if (newStatus == QuestStatus.Status.Available)
{ {
EmitSignalQuestBecomesActive(questResource); EmitSignalQuestBecomesAvailable(questResource);
} }
} }
@@ -53,9 +53,9 @@ public partial class QuestManager : Node
return _questStatus.Where(qs => qs.Value.status != QuestStatus.Status.Hidden); return _questStatus.Where(qs => qs.Value.status != QuestStatus.Status.Hidden);
} }
public IEnumerable<QuestPair> GetActiveQuests() public IEnumerable<QuestPair> GetAvailableQuests()
{ {
return _questStatus.Where(qs => qs.Value.status == QuestStatus.Status.Active); return _questStatus.Where(qs => qs.Value.status == QuestStatus.Status.Available);
} }
public QuestStatus GetQuestStatus(QuestResource questResource) public QuestStatus GetQuestStatus(QuestResource questResource)
{ {
@@ -67,15 +67,15 @@ public partial class QuestManager : Node
return status; return status;
} }
public QuestResource? GetFollowQuest() public QuestResource? GetActiveQuest()
{ {
return _followQuest; return _activeQuest;
} }
public void SetFollowQuest(QuestResource? questResource) public void SetActiveQuest(QuestResource? questResource)
{ {
_followQuest = questResource; _activeQuest = questResource;
EmitSignalQuestsChanged(); EmitSignalQuestsChanged();
EmitSignalDialogicActiveQuest(_followQuest?.id ?? "none"); EmitSignalDialogicActiveQuest(_activeQuest?.id ?? "none");
} }
} }
@@ -20,6 +20,7 @@ public partial class QuestMessagePopup : Control
public override void _EnterTree() public override void _EnterTree()
{ {
QuestManager.Instance!.QuestsChanged += NewActiveQuest; QuestManager.Instance!.QuestsChanged += NewActiveQuest;
NewActiveQuest();
} }
public override void _ExitTree() public override void _ExitTree()
@@ -29,7 +30,7 @@ public partial class QuestMessagePopup : Control
private void NewActiveQuest() private void NewActiveQuest()
{ {
var shownQuest = QuestManager.Instance!.GetFollowQuest(); var shownQuest = QuestManager.Instance!.GetActiveQuest();
if (_currentlyShown == shownQuest) if (_currentlyShown == shownQuest)
return; return;
+1 -1
View File
@@ -6,7 +6,7 @@ public partial class QuestResource : Resource
{ {
[Export] [Export]
public string id = ""; public string id = "";
[Export] [Export(PropertyHint.MultilineText)]
public string title = ""; public string title = "";
[Export(PropertyHint.MultilineText)] [Export(PropertyHint.MultilineText)]
public string description = ""; public string description = "";
+1 -1
View File
@@ -7,7 +7,7 @@ public partial class QuestStatus : GodotObject
public enum Status public enum Status
{ {
Hidden = 0, Hidden = 0,
Active = 1, Available = 1,
Done = 2, Done = 2,
Canceled = 3, Canceled = 3,
} }
@@ -8,15 +8,15 @@ using Godot.Collections;
public partial class QuestTestingScript : Node public partial class QuestTestingScript : Node
{ {
[Export(PropertyHint.ArrayType)] [Export(PropertyHint.ArrayType)]
private Array<QuestResource>? _questsToActivate; private Array<QuestResource>? _questsToMakeAvailable;
public override void _EnterTree() public override void _EnterTree()
{ {
Debug.Assert(_questsToActivate != null); Debug.Assert(_questsToMakeAvailable != null);
foreach (var questResource in _questsToActivate) foreach (var questResource in _questsToMakeAvailable)
{ {
QuestManager.Instance!.ChangeQuestStatus(questResource, QuestStatus.Status.Active); QuestManager.Instance!.ChangeQuestStatus(questResource, QuestStatus.Status.Available);
} }
} }
} }
+9 -11
View File
@@ -4,30 +4,28 @@ using Babushka.scripts.CSharp.Common.Quest;
public partial class QuestTrigger : Node public partial class QuestTrigger : Node
{ {
[Export] [Export] public QuestResource? questResource;
public QuestResource? questResource;
[Export] [Export] public QuestStatus.Status toStatus;
public QuestStatus.Status toStatus;
[Export] [Export] private bool makeActive = false;
private bool makeCurrent = false;
public void Trigger() public void Trigger()
{ {
GD.Print("trigger"); GD.Print("trigger");
if(questResource== null) if (questResource == null)
throw new Exception("QuestResource is not set on QuestTrigger node."); throw new Exception("QuestResource is not set on QuestTrigger node.");
if(QuestManager.Instance == null) if (QuestManager.Instance == null)
throw new Exception("QuestManager instance is not available. Make sure it is initialized before calling Trigger."); throw new Exception(
"QuestManager instance is not available. Make sure it is initialized before calling Trigger.");
QuestManager.Instance.ChangeQuestStatus(questResource, toStatus); QuestManager.Instance.ChangeQuestStatus(questResource, toStatus);
if (makeCurrent) if (makeActive)
{ {
QuestManager.Instance.SetFollowQuest(questResource); QuestManager.Instance.SetActiveQuest(questResource);
} }
} }
} }
@@ -0,0 +1,37 @@
using Godot;
using System;
using Babushka.scripts.CSharp.Common.Farming;
using Babushka.scripts.CSharp.Common.Quest;
public partial class DetectFieldWork : QuestFulfillmentBase
{
private int wateredCounter = 0;
[Export] private int _wateringNeeded = 5;
public override void _EnterTree()
{
WateringCanState.OnWater += CountWater;
QuestManager.Instance!.QuestsChanged += CheckFieldWork;
}
public override void _ExitTree()
{
WateringCanState.OnWater -= CountWater;
QuestManager.Instance!.QuestsChanged -= CheckFieldWork;
}
public void CountWater()
{
wateredCounter++;
CheckFieldWork();
}
public void CheckFieldWork()
{
if (IsQuestActive() && wateredCounter >= _wateringNeeded)
{
Fulfill();
}
}
}
@@ -0,0 +1 @@
uid://bhbldab74vmhy
@@ -1,6 +0,0 @@
using Godot;
using System;
public partial class DetectToolCollection : Node
{
}
@@ -1 +0,0 @@
uid://caohn76m3n3nm
@@ -3,33 +3,43 @@ using System;
using System.Linq; using System.Linq;
using Babushka.scripts.CSharp.Common.Quest; using Babushka.scripts.CSharp.Common.Quest;
/// <summary>
/// Acts as a base for scripts to check for conditions to complete quests.
///
/// The derived Class is responsible for triggering the Check.
/// It is recommended to always check on QuestManager.Instance!.QuestsChanged
/// </summary>
public abstract partial class QuestFulfillmentBase : Node public abstract partial class QuestFulfillmentBase : Node
{ {
[Export] private QuestResource _onActiveQuest; [Export] private QuestResource _onAvailableQuest = null!;
[Export] private QuestResource _toNextQuest; [Export] private QuestResource _toNextQuest = null!;
[Export] private bool _whenFulfilledSetActiveQuestToDone = true; [Export] private bool _whenFulfilledSetAvailableQuestToDone = true;
[Export] private bool _whenFulfilledSetNextQuestToAvailable = true;
[Export] private bool _whenFulfilledSetNextQuestToActive = true; [Export] private bool _whenFulfilledSetNextQuestToActive = true;
[Export] private bool _whenFulfilledSetNextQuestToFollow = true;
[Signal] private delegate void OnFulfilledEventHandler();
protected void Fulfill() protected void Fulfill()
{ {
if (_whenFulfilledSetActiveQuestToDone) if (_whenFulfilledSetAvailableQuestToDone)
{ {
QuestManager.Instance!.ChangeQuestStatus(_onActiveQuest, QuestStatus.Status.Done); QuestManager.Instance!.ChangeQuestStatus(_onAvailableQuest, QuestStatus.Status.Done);
}
if (_whenFulfilledSetNextQuestToAvailable)
{
QuestManager.Instance!.ChangeQuestStatus(_toNextQuest, QuestStatus.Status.Available);
} }
if (_whenFulfilledSetNextQuestToActive) if (_whenFulfilledSetNextQuestToActive)
{ {
QuestManager.Instance!.ChangeQuestStatus(_toNextQuest, QuestStatus.Status.Active); QuestManager.Instance!.SetActiveQuest(_toNextQuest);
}
if (_whenFulfilledSetNextQuestToFollow)
{
QuestManager.Instance!.SetFollowQuest(_toNextQuest);
} }
EmitSignalOnFulfilled();
} }
protected bool IsQuestActive() protected bool IsQuestActive()
{ {
return QuestManager.Instance!.GetActiveQuests().Any(q => q.Key == _onActiveQuest); return QuestManager.Instance!.GetAvailableQuests().Any(q => q.Key == _onAvailableQuest);
} }
} }
+1 -1
View File
@@ -17,7 +17,7 @@ public partial class SceneTransition : Node
public void LoadSceneAtIndex(int index) public void LoadSceneAtIndex(int index)
{ {
string sceneName = _sceneNamesToLoad[index]; string sceneName = _sceneNamesToLoad[index];
SceneTransitionThreaded.Instance.ChangeSceneToFileThreaded(sceneName); SceneTransitionThreaded.Instance.ChangeSceneToFile(sceneName);
UnloadAfterDelay(); UnloadAfterDelay();
} }
@@ -0,0 +1,7 @@
extends Node
class_name DialogicStartSpecific
@export var timeline : String
func open():
Dialogic.start(timeline)
@@ -0,0 +1 @@
uid://dih1b0opgc3f7
+6
View File
@@ -41,3 +41,9 @@ void vertex() {
//float time = TIME * speed + pos.x * pos.y ; not working when moving... //float time = TIME * speed + pos.x * pos.y ; not working when moving...
VERTEX.x += getWind(VERTEX.xy, UV, time); VERTEX.x += getWind(VERTEX.xy, UV, time);
} }
//void fragment(){
// COLOR.r = UV.y;
// COLOR.g = 0.0f;
// COLOR.b = 0.0f;
//}