added project with nerabochie cows

This commit is contained in:
arrrtemida
2025-08-22 17:16:22 +05:00
commit 0d3f195aff
147 changed files with 5060 additions and 0 deletions

4
.editorconfig Normal file
View File

@ -0,0 +1,4 @@
root = true
[*]
charset = utf-8

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# Godot 4+ specific ignores
.godot/
/android/

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016-2023 The Godot Engine community
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
[configuration]
entry_symbol = "git_plugin_init"
compatibility_minimum = "4.1.0"
[libraries]
macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib"
windows.editor.x86_64 = "win64/libgit_plugin.windows.editor.x86_64.dll"
linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so"
linux.editor.arm64 = "linux/libgit_plugin.linux.editor.arm64.so"
linux.editor.rv64 = ""

View File

@ -0,0 +1 @@
uid://v5yq452cvisq

View File

@ -0,0 +1,7 @@
[plugin]
name="Godot Git Plugin"
description="This plugin lets you interact with Git without leaving the Godot editor. More information can be found at https://github.com/godotengine/godot-git-plugin/wiki"
author="twaritwaikar"
version="v3.1.1"
script="godot-git-plugin.gd"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n61u7n7qeqc5"
path="res://.godot/imported/basic_character_sprites.png-bc61db971ca493f47eb0b02bed58dcb7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/basic_character_sprites.png"
dest_files=["res://.godot/imported/basic_character_sprites.png-bc61db971ca493f47eb0b02bed58dcb7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmab45u52gef"
path="res://.godot/imported/character_sprites.png-327379338f0c9a04c2d3bfcf868a3b42.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/character_sprites.png"
dest_files=["res://.godot/imported/character_sprites.png-327379338f0c9a04c2d3bfcf868a3b42.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://te3dft51x8yj"
path="res://.godot/imported/chicken_sprites.png-b8d32e7bb14d624c950fbb24e8f217a1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/chicken_sprites.png"
dest_files=["res://.godot/imported/chicken_sprites.png-b8d32e7bb14d624c950fbb24e8f217a1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c71ipew17qq4n"
path="res://.godot/imported/cow_sprites.png-da3ba3e2db426179ea636ef25b47a3a5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/cow_sprites.png"
dest_files=["res://.godot/imported/cow_sprites.png-da3ba3e2db426179ea636ef25b47a3a5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://badamnac2p40u"
path="res://.godot/imported/egg_and_nest.png-3870a5c78c5881ad62c50ed99c80d902.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/egg_and_nest.png"
dest_files=["res://.godot/imported/egg_and_nest.png-3870a5c78c5881ad62c50ed99c80d902.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dcuypmcsnnu"
path="res://.godot/imported/tools.png-2e63d474670b1d011ecf85f9f25e4609.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Characters/tools.png"
dest_files=["res://.godot/imported/tools.png-2e63d474670b1d011ecf85f9f25e4609.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://br5rxktfjw7xh"
path="res://.godot/imported/basic_furniture.png-e237cf98242a471b9cee2be18c270816.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/basic_furniture.png"
dest_files=["res://.godot/imported/basic_furniture.png-e237cf98242a471b9cee2be18c270816.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djm430uofdey4"
path="res://.godot/imported/basic_grass_biom_things.png-d8f714078eb62994c723381b3c1c17e5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/basic_grass_biom_things.png"
dest_files=["res://.godot/imported/basic_grass_biom_things.png-d8f714078eb62994c723381b3c1c17e5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdmete60h565l"
path="res://.godot/imported/basic_plants.png-6f17e2ac2226b7f7cd30112e7c8584d0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/basic_plants.png"
dest_files=["res://.godot/imported/basic_plants.png-6f17e2ac2226b7f7cd30112e7c8584d0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://byxpy2yekolal"
path="res://.godot/imported/basic_tools_and_meterials.png-d7148f0322e7b433cf29d933f4017cfe.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/basic_tools_and_meterials.png"
dest_files=["res://.godot/imported/basic_tools_and_meterials.png-d7148f0322e7b433cf29d933f4017cfe.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1gc77lyc6s3q"
path="res://.godot/imported/chest.png-d46a361670ce59130031655d6ee377ec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/chest.png"
dest_files=["res://.godot/imported/chest.png-d46a361670ce59130031655d6ee377ec.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnq2s0smeds6f"
path="res://.godot/imported/chicken_house.png-40791a9d13403dcfaee781ac7f97df07.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/chicken_house.png"
dest_files=["res://.godot/imported/chicken_house.png-40791a9d13403dcfaee781ac7f97df07.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://buc4hgqa7xmag"
path="res://.godot/imported/egg_item.png-b9973eb83480848d0daa115efa2dc47e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/egg_item.png"
dest_files=["res://.godot/imported/egg_item.png-b9973eb83480848d0daa115efa2dc47e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://l0rrak4e4fm5"
path="res://.godot/imported/paths.png-7bb209c98eb3663dcdfa50481f5779fa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/paths.png"
dest_files=["res://.godot/imported/paths.png-7bb209c98eb3663dcdfa50481f5779fa.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://weimoi3g0omg"
path="res://.godot/imported/simple_milk_and_grass_item.png-de754245441375121de75fa48cbbf2cd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/simple_milk_and_grass_item.png"
dest_files=["res://.godot/imported/simple_milk_and_grass_item.png-de754245441375121de75fa48cbbf2cd.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cti0tgmxyqc1g"
path="res://.godot/imported/wood_bridge.png-9c0ed65a8c451aa26ef096f9babf8b58.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Objects/wood_bridge.png"
dest_files=["res://.godot/imported/wood_bridge.png-9c0ed65a8c451aa26ef096f9babf8b58.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bojkicq5jj3bv"
path="res://.godot/imported/doors.png-1ac9f5fbfd9a9ff1adfc3a67a34aaa4d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/doors.png"
dest_files=["res://.godot/imported/doors.png-1ac9f5fbfd9a9ff1adfc3a67a34aaa4d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crecaccrytt2n"
path="res://.godot/imported/fences.png-355ce4c5e029f671ca1ab360042c2b3c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/fences.png"
dest_files=["res://.godot/imported/fences.png-355ce4c5e029f671ca1ab360042c2b3c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cyiu4bn67ixkp"
path="res://.godot/imported/grass.png-b0fdf30b57c886f52261eec6392b4c82.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/grass.png"
dest_files=["res://.godot/imported/grass.png-b0fdf30b57c886f52261eec6392b4c82.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8eanljaci5lf"
path="res://.godot/imported/hills.png-5c771290587b54beb09a1d8c87931506.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/hills.png"
dest_files=["res://.godot/imported/hills.png-5c771290587b54beb09a1d8c87931506.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bn7yt3orrl3vt"
path="res://.godot/imported/tilled_dirt.png-89f680b140caf13f4538cbf5b61f6080.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/tilled_dirt.png"
dest_files=["res://.godot/imported/tilled_dirt.png-89f680b140caf13f4538cbf5b61f6080.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsyuw4r27r785"
path="res://.godot/imported/tilled_dirt_v2.png-d53c8a360eb7ff9cd8e12ac8cd6a1880.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/tilled_dirt_v2.png"
dest_files=["res://.godot/imported/tilled_dirt_v2.png-d53c8a360eb7ff9cd8e12ac8cd6a1880.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b310yc8ri8i22"
path="res://.godot/imported/tilled_dirt_wide.png-ebef0a632eeda1704604ee5b99841eee.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/tilled_dirt_wide.png"
dest_files=["res://.godot/imported/tilled_dirt_wide.png-ebef0a632eeda1704604ee5b99841eee.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bftr2ukcrghbp"
path="res://.godot/imported/tilled_dirt_wide_v2.png-57ab34befa807069f17e8dae422d92ec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/tilled_dirt_wide_v2.png"
dest_files=["res://.godot/imported/tilled_dirt_wide_v2.png-57ab34befa807069f17e8dae422d92ec.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lu5w54e1h48e"
path="res://.godot/imported/water.png-dee6a4804143b7eccc8bee0c5532c41e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/water.png"
dest_files=["res://.godot/imported/water.png-dee6a4804143b7eccc8bee0c5532c41e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clbtko320bor8"
path="res://.godot/imported/wooden_house_roof_tilset.png-d4e734a5e0f41b966a8480e2406f54b2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/wooden_house_roof_tilset.png"
dest_files=["res://.godot/imported/wooden_house_roof_tilset.png-d4e734a5e0f41b966a8480e2406f54b2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpcnftmcprt6u"
path="res://.godot/imported/wooden_house_walls_tilset.png-b020c6ccb40d543d29487d4f3ee4189a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/game/Tilesets/wooden_house_walls_tilset.png"
dest_files=["res://.godot/imported/wooden_house_walls_tilset.png-b020c6ccb40d543d29487d4f3ee4189a.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

41
export_presets.cfg Normal file
View File

@ -0,0 +1,41 @@
[preset.0]
name="Linux"
platform="Linux"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../BitHeaven/Ferma Nedodelana/bitheaven.x86_64"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""

1
icon.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128"><rect width="124" height="124" x="2" y="2" fill="#363d52" stroke="#212532" stroke-width="4" rx="14"/><g fill="#fff" transform="translate(12.322 12.322)scale(.101)"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 814 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H446l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c0 34 58 34 58 0v-86c0-34-58-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042" transform="translate(12.322 12.322)scale(.101)"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></svg>

After

Width:  |  Height:  |  Size: 994 B

37
icon.svg.import Normal file
View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cdcg6jepk4ou7"
path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.svg"
dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

117
project.godot Normal file
View File

@ -0,0 +1,117 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=5
[application]
config/name="bitheaven"
run/main_scene="uid://c3645hevvls0n"
config/features=PackedStringArray("4.4", "Forward Plus")
config/icon="res://icon.svg"
[display]
window/size/viewport_width=640
window/size/viewport_height=360
window/size/mode=4
window/size/window_width_override=1280
window/size/window_height_override=720
window/stretch/mode="canvas_items"
window/stretch/aspect="keep_height"
window/stretch/scale_mode="integer"
[editor]
version_control/plugin_name="GitPlugin"
version_control/autoload_on_startup=true
[file_customization]
folder_colors={
"res://assets/": "orange",
"res://scenes/": "green",
"res://scripts/": "pink",
"res://tilesets/": "yellow"
}
[input]
walk_up={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
]
}
walk_down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
]
}
walk_right={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
]
}
walk_left={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
]
}
hit={
"deadzone": 0.2,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(113, 13),"global_position":Vector2(122, 61),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
]
}
tool_axe={
"deadzone": 0.2,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":50,"key_label":0,"unicode":50,"location":0,"echo":false,"script":null)
]
}
tool_tilling={
"deadzone": 0.2,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":51,"key_label":0,"unicode":51,"location":0,"echo":false,"script":null)
]
}
tool_water={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":52,"key_label":0,"unicode":52,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":true,"script":null)
]
}
tool_none={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":49,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":true,"script":null)
]
}
[layer_names]
2d_physics/layer_1="Ground"
2d_navigation/layer_1="Chicken Navigation"
2d_physics/layer_2="Player"
2d_navigation/layer_2="Cow Navigation"
2d_physics/layer_3="Interactable"
2d_physics/layer_4="Tool"
2d_physics/layer_5="Object"
2d_physics/layer_6="Collectable"
[rendering]
textures/canvas_textures/default_texture_filter=0

View File

@ -0,0 +1,4 @@
extends NonPlayableCharacter
func _ready() -> void:
walk_cycles = randi_range(min_walk_cycle, max_walk_cycle)

View File

@ -0,0 +1 @@
uid://cw3vwyuw1ogw3

View File

@ -0,0 +1,97 @@
[gd_scene load_steps=14 format=3 uid="uid://bna1f7ugd2ye6"]
[ext_resource type="Texture2D" uid="uid://te3dft51x8yj" path="res://assets/game/Characters/chicken_sprites.png" id="1_be5x3"]
[ext_resource type="Script" uid="uid://cw3vwyuw1ogw3" path="res://scenes/characters/chicken/chicken.gd" id="1_r6a33"]
[ext_resource type="Script" uid="uid://c47padj61m0xm" path="res://scripts/state_machine/node_state_machine.gd" id="2_awcwn"]
[ext_resource type="Script" uid="uid://b0y0fxeo52kqi" path="res://scripts/state_machine/npc_states/idle_state.gd" id="3_31inw"]
[ext_resource type="Script" uid="uid://ciwbskg1hsree" path="res://scripts/state_machine/npc_states/walk_state.gd" id="4_31inw"]
[sub_resource type="AtlasTexture" id="AtlasTexture_rsly8"]
atlas = ExtResource("1_be5x3")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_awcwn"]
atlas = ExtResource("1_be5x3")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_be5x3"]
atlas = ExtResource("1_be5x3")
region = Rect2(0, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_31inw"]
atlas = ExtResource("1_be5x3")
region = Rect2(16, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_r6a33"]
atlas = ExtResource("1_be5x3")
region = Rect2(32, 16, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_asyyu"]
atlas = ExtResource("1_be5x3")
region = Rect2(48, 16, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_31inw"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_rsly8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_awcwn")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_be5x3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_31inw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r6a33")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_asyyu")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_hv82h"]
radius = 4.0
[node name="Chicken" type="CharacterBody2D"]
script = ExtResource("1_r6a33")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -6)
sprite_frames = SubResource("SpriteFrames_31inw")
animation = &"walk"
autoplay = "idle"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("CircleShape2D_hv82h")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
radius = 5.0
debug_enabled = true
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_node_state")]
script = ExtResource("2_awcwn")
initial_node_state = NodePath("Idle")
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("character", "animated_sprite_2d")]
script = ExtResource("3_31inw")
character = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
[node name="Walk" type="Node" parent="StateMachine" node_paths=PackedStringArray("character", "animated_sprite_2d", "navigation_agent_2d")]
script = ExtResource("4_31inw")
character = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
navigation_agent_2d = NodePath("../../NavigationAgent2D")

View File

@ -0,0 +1,83 @@
[gd_scene load_steps=12 format=3 uid="uid://dhrdm43clw6hx"]
[ext_resource type="Texture2D" uid="uid://c71ipew17qq4n" path="res://assets/game/Characters/cow_sprites.png" id="1_kc4rr"]
[ext_resource type="Script" uid="uid://c47padj61m0xm" path="res://scripts/state_machine/node_state_machine.gd" id="2_ilrem"]
[ext_resource type="Script" uid="uid://b0y0fxeo52kqi" path="res://scripts/state_machine/npc_states/idle_state.gd" id="3_j7g5r"]
[ext_resource type="Script" uid="uid://ciwbskg1hsree" path="res://scripts/state_machine/npc_states/walk_state.gd" id="4_4jynl"]
[sub_resource type="AtlasTexture" id="AtlasTexture_sa3qd"]
atlas = ExtResource("1_kc4rr")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_14ngq"]
atlas = ExtResource("1_kc4rr")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ilrem"]
atlas = ExtResource("1_kc4rr")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7g5r"]
atlas = ExtResource("1_kc4rr")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_4jynl"]
atlas = ExtResource("1_kc4rr")
region = Rect2(32, 32, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_cgos1"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_sa3qd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_14ngq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ilrem")
}],
"loop": true,
"name": &"idle",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7g5r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4jynl")
}],
"loop": true,
"name": &"walk",
"speed": 3.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_kc4rr"]
radius = 7.0
[node name="Cow" type="CharacterBody2D"]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -13)
sprite_frames = SubResource("SpriteFrames_cgos1")
animation = &"walk"
autoplay = "idle"
frame_progress = 0.754154
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -7)
shape = SubResource("CircleShape2D_kc4rr")
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
navigation_layers = 2
avoidance_enabled = true
[node name="StateMachine" type="Node" parent="."]
script = ExtResource("2_ilrem")
[node name="Idle" type="Node" parent="StateMachine"]
script = ExtResource("3_j7g5r")
[node name="Walk" type="Node" parent="StateMachine"]
script = ExtResource("4_4jynl")

View File

@ -0,0 +1,8 @@
class_name NonPlayableCharacter
extends CharacterBody2D
@export var min_walk_cycle: int = 2
@export var max_walk_cycle: int = 6
var walk_cycles: int
var current_walk_cycle: int

View File

@ -0,0 +1 @@
uid://bem5lhx5ynv3m

View File

@ -0,0 +1,46 @@
extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
@export var hit_component_collision_shape : CollisionShape2D
func _ready() -> void:
hit_component_collision_shape.disabled = true
hit_component_collision_shape.position = Vector2(0, 0)
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
pass
func _on_next_transitions() -> void:
if !animated_sprite_2d.is_playing():
transition.emit("Idle")
func _on_enter() -> void:
if player.player_direction == Vector2.UP:
animated_sprite_2d.play("chopping_back")
hit_component_collision_shape.position = Vector2(0, -20)
elif player.player_direction == Vector2.RIGHT:
animated_sprite_2d.play("chopping_right")
hit_component_collision_shape.position = Vector2(9, 0)
elif player.player_direction == Vector2.DOWN:
animated_sprite_2d.play("chopping_front")
hit_component_collision_shape.position = Vector2(0, 3)
elif player.player_direction == Vector2.LEFT:
animated_sprite_2d.play("chopping_left")
hit_component_collision_shape.position = Vector2(-9, 0)
else:
animated_sprite_2d.play("chopping_front")
hit_component_collision_shape.disabled = false
print(hit_component_collision_shape.disabled)
func _on_exit() -> void:
animated_sprite_2d.stop()
hit_component_collision_shape.disabled = true

View File

@ -0,0 +1 @@
uid://c4452u1vscx6i

View File

@ -0,0 +1,41 @@
extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
if player.player_direction == Vector2.UP:
animated_sprite_2d.play("idle_back")
elif player.player_direction == Vector2.RIGHT:
animated_sprite_2d.play("idle_right")
elif player.player_direction == Vector2.DOWN:
animated_sprite_2d.play("idle_front")
elif player.player_direction == Vector2.LEFT:
animated_sprite_2d.play("idle_left")
else:
animated_sprite_2d.play("idle_front")
func _on_next_transitions() -> void:
GameInputEvents.movement_input()
if GameInputEvents.is_movement_input():
transition.emit("Walk")
if player.current_tool == DataTypes.Tools.AxeWood && GameInputEvents.is_used_tool():
transition.emit("Chopping")
if player.current_tool == DataTypes.Tools.TillGround && GameInputEvents.is_used_tool():
transition.emit("Tilling")
if player.current_tool == DataTypes.Tools.WaterCrops && GameInputEvents.is_used_tool():
transition.emit("Watering")
func _on_enter() -> void:
pass
func _on_exit() -> void:
animated_sprite_2d.stop()

View File

@ -0,0 +1 @@
uid://cllwng70ofimo

View File

@ -0,0 +1,17 @@
class_name Player
extends CharacterBody2D
@export var current_tool : DataTypes.Tools = DataTypes.Tools.None
var player_direction : Vector2
func _process(delta: float) -> void:
if Input.is_action_pressed("tool_none"):
current_tool = DataTypes.Tools.None
if Input.is_action_pressed("tool_axe"):
current_tool = DataTypes.Tools.AxeWood
if Input.is_action_pressed("tool_tilling"):
current_tool = DataTypes.Tools.TillGround
if Input.is_action_pressed("tool_water"):
current_tool = DataTypes.Tools.WaterCrops

View File

@ -0,0 +1 @@
uid://d205est0d6jxx

View File

@ -0,0 +1,454 @@
[gd_scene load_steps=54 format=3 uid="uid://3u1xjuwdmkit"]
[ext_resource type="Script" uid="uid://d205est0d6jxx" path="res://scenes/characters/player/player.gd" id="1_6avc5"]
[ext_resource type="Texture2D" uid="uid://n61u7n7qeqc5" path="res://assets/game/Characters/basic_character_sprites.png" id="1_7uws0"]
[ext_resource type="Texture2D" uid="uid://dmab45u52gef" path="res://assets/game/Characters/character_sprites.png" id="1_t61fv"]
[ext_resource type="Script" uid="uid://c47padj61m0xm" path="res://scripts/state_machine/node_state_machine.gd" id="3_hss88"]
[ext_resource type="Script" uid="uid://cllwng70ofimo" path="res://scenes/characters/player/idle_state.gd" id="4_qd3e3"]
[ext_resource type="Script" uid="uid://cyxh22il4jswp" path="res://scenes/characters/player/walk_state.gd" id="5_qd3e3"]
[ext_resource type="Script" uid="uid://c4452u1vscx6i" path="res://scenes/characters/player/chopping_state.gd" id="7_mk55u"]
[ext_resource type="Script" uid="uid://cnhdhcvgn2wjs" path="res://scenes/characters/player/tilling_state.gd" id="8_xuses"]
[ext_resource type="Script" uid="uid://b0c6xphnjb3cl" path="res://scenes/characters/player/watering_state.gd" id="9_42irl"]
[ext_resource type="PackedScene" uid="uid://04bcami5g18j" path="res://scenes/components/hit_component.tscn" id="10_3xnwo"]
[sub_resource type="AtlasTexture" id="AtlasTexture_3xnwo"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 240, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_djydg"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 240, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_bsn6e"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 192, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_blysn"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 192, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_hv5x3"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 288, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ykrpk"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 288, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_i1nod"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 336, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_4kqyw"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 336, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_t61fv"]
atlas = ExtResource("1_7uws0")
region = Rect2(0, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_686vu"]
atlas = ExtResource("1_7uws0")
region = Rect2(48, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_hss88"]
atlas = ExtResource("1_7uws0")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qd3e3"]
atlas = ExtResource("1_7uws0")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_6avc5"]
atlas = ExtResource("1_7uws0")
region = Rect2(0, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_mk55u"]
atlas = ExtResource("1_7uws0")
region = Rect2(48, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_xuses"]
atlas = ExtResource("1_7uws0")
region = Rect2(0, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_42irl"]
atlas = ExtResource("1_7uws0")
region = Rect2(48, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_svuau"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ro20i"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_8y75b"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_tebod"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_6nfx3"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_3hnlq"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_d73qs"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_u6wme"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_bxwvg"]
atlas = ExtResource("1_7uws0")
region = Rect2(96, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_2v4cy"]
atlas = ExtResource("1_7uws0")
region = Rect2(144, 48, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_j8rto"]
atlas = ExtResource("1_7uws0")
region = Rect2(96, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_b4gk5"]
atlas = ExtResource("1_7uws0")
region = Rect2(144, 0, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_r0hd7"]
atlas = ExtResource("1_7uws0")
region = Rect2(96, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_gpigg"]
atlas = ExtResource("1_7uws0")
region = Rect2(144, 96, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_nt8su"]
atlas = ExtResource("1_7uws0")
region = Rect2(96, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_10pim"]
atlas = ExtResource("1_7uws0")
region = Rect2(144, 144, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_pbtrp"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 432, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_es5sa"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 432, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxlma"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 384, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_ieypo"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 384, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_sulyr"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 480, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_71adu"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 480, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_xm30n"]
atlas = ExtResource("1_t61fv")
region = Rect2(0, 528, 48, 48)
[sub_resource type="AtlasTexture" id="AtlasTexture_qe74o"]
atlas = ExtResource("1_t61fv")
region = Rect2(48, 528, 48, 48)
[sub_resource type="SpriteFrames" id="SpriteFrames_3xnwo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_3xnwo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_djydg")
}],
"loop": false,
"name": &"chopping_back",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_bsn6e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_blysn")
}],
"loop": false,
"name": &"chopping_front",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hv5x3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ykrpk")
}],
"loop": false,
"name": &"chopping_left",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_i1nod")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4kqyw")
}],
"loop": false,
"name": &"chopping_right",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_t61fv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_686vu")
}],
"loop": true,
"name": &"idle_back",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hss88")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qd3e3")
}],
"loop": true,
"name": &"idle_front",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_6avc5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mk55u")
}],
"loop": true,
"name": &"idle_left",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xuses")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_42irl")
}],
"loop": true,
"name": &"idle_right",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_svuau")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ro20i")
}],
"loop": false,
"name": &"tilling_back",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_8y75b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tebod")
}],
"loop": false,
"name": &"tilling_front",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_6nfx3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3hnlq")
}],
"loop": false,
"name": &"tilling_left",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_d73qs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u6wme")
}],
"loop": false,
"name": &"tilling_right",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_bxwvg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2v4cy")
}],
"loop": true,
"name": &"walk_back",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j8rto")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b4gk5")
}],
"loop": true,
"name": &"walk_front",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_r0hd7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gpigg")
}],
"loop": true,
"name": &"walk_left",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nt8su")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_10pim")
}],
"loop": true,
"name": &"walk_right",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pbtrp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_es5sa")
}],
"loop": false,
"name": &"watering_back",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_kxlma")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ieypo")
}],
"loop": false,
"name": &"watering_front",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_sulyr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_71adu")
}],
"loop": false,
"name": &"watering_left",
"speed": 3.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xm30n")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qe74o")
}],
"loop": false,
"name": &"watering_right",
"speed": 3.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_t61fv"]
radius = 4.0
[sub_resource type="CircleShape2D" id="CircleShape2D_djydg"]
radius = 2.0
[node name="Player" type="CharacterBody2D"]
y_sort_enabled = true
collision_layer = 2
script = ExtResource("1_6avc5")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -8)
sprite_frames = SubResource("SpriteFrames_3xnwo")
animation = &"tilling_right"
autoplay = "idle_front"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, -4)
shape = SubResource("CircleShape2D_t61fv")
[node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("initial_node_state")]
script = ExtResource("3_hss88")
initial_node_state = NodePath("Idle")
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animated_sprite_2d")]
script = ExtResource("4_qd3e3")
player = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
[node name="Walk" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animated_sprite_2d")]
script = ExtResource("5_qd3e3")
player = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
[node name="Chopping" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animated_sprite_2d", "hit_component_collision_shape")]
script = ExtResource("7_mk55u")
player = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
hit_component_collision_shape = NodePath("../../HitComponent/HitComponentCollisionShape2D")
[node name="Tilling" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animated_sprite_2d")]
script = ExtResource("8_xuses")
player = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
[node name="Watering" type="Node" parent="StateMachine" node_paths=PackedStringArray("player", "animated_sprite_2d")]
script = ExtResource("9_42irl")
player = NodePath("../..")
animated_sprite_2d = NodePath("../../AnimatedSprite2D")
[node name="HitComponent" parent="." instance=ExtResource("10_3xnwo")]
current_tool = 1
[node name="HitComponentCollisionShape2D" type="CollisionShape2D" parent="HitComponent"]
position = Vector2(9, 0)
shape = SubResource("CircleShape2D_djydg")
debug_color = Color(0.967873, 0.164564, 0.187665, 0.42)

View File

@ -0,0 +1,33 @@
extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
pass
func _on_next_transitions() -> void:
if !animated_sprite_2d.is_playing():
transition.emit("Idle")
func _on_enter() -> void:
if player.player_direction == Vector2.UP:
animated_sprite_2d.play("tilling_back")
elif player.player_direction == Vector2.RIGHT:
animated_sprite_2d.play("tilling_right")
elif player.player_direction == Vector2.DOWN:
animated_sprite_2d.play("tilling_front")
elif player.player_direction == Vector2.LEFT:
animated_sprite_2d.play("tilling_left")
else:
animated_sprite_2d.play("tilling_front")
func _on_exit() -> void:
animated_sprite_2d.stop()

View File

@ -0,0 +1 @@
uid://cnhdhcvgn2wjs

View File

@ -0,0 +1,41 @@
extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
@export var speed : int = 50
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
var direction : Vector2 = GameInputEvents.movement_input()
if direction == Vector2.UP:
animated_sprite_2d.play("walk_back")
elif direction == Vector2.RIGHT:
animated_sprite_2d.play("walk_right")
elif direction == Vector2.DOWN:
animated_sprite_2d.play("walk_front")
elif direction == Vector2.LEFT:
animated_sprite_2d.play("walk_left")
if direction != Vector2.ZERO:
player.player_direction = direction
player.velocity = direction * speed
player.move_and_slide()
func _on_next_transitions() -> void:
if !GameInputEvents.is_movement_input():
transition.emit("Idle")
func _on_enter() -> void:
pass
func _on_exit() -> void:
animated_sprite_2d.stop()

View File

@ -0,0 +1 @@
uid://cyxh22il4jswp

View File

@ -0,0 +1,33 @@
extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
pass
func _on_next_transitions() -> void:
if !animated_sprite_2d.is_playing():
transition.emit("Idle")
func _on_enter() -> void:
if player.player_direction == Vector2.UP:
animated_sprite_2d.play("watering_back")
elif player.player_direction == Vector2.RIGHT:
animated_sprite_2d.play("watering_right")
elif player.player_direction == Vector2.DOWN:
animated_sprite_2d.play("watering_front")
elif player.player_direction == Vector2.LEFT:
animated_sprite_2d.play("watering_left")
else:
animated_sprite_2d.play("watering_front")
func _on_exit() -> void:
animated_sprite_2d.stop()

View File

@ -0,0 +1 @@
uid://b0c6xphnjb3cl

View File

@ -0,0 +1,9 @@
class_name CollectableComponent
extends Area2D
@export var collectable_name : String
func _on_body_entered(body: Node2D) -> void:
if body is Player:
print("Collected")
get_parent().queue_free()

View File

@ -0,0 +1 @@
uid://dwlg7rbe070vb

View File

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://dk2en4pak8e6f"]
[ext_resource type="Script" uid="uid://dwlg7rbe070vb" path="res://scenes/components/collectable_component.gd" id="1_14mdg"]
[node name="CollectableComponent" type="Area2D"]
collision_layer = 32
collision_mask = 2
script = ExtResource("1_14mdg")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -0,0 +1,13 @@
class_name DamageComponent
extends Node2D
@export var max_damage = 1
@export var current_damage = 0
signal max_damaged_reached
func apply_damage(damage: int) -> void:
current_damage = clamp(current_damage + damage, 0, max_damage)
if current_damage == max_damage:
max_damaged_reached.emit()

View File

@ -0,0 +1 @@
uid://dabtkv831n7fm

View File

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://cd3awkrirej8q"]
[ext_resource type="Script" uid="uid://dabtkv831n7fm" path="res://scenes/components/damage_component.gd" id="1_am71n"]
[node name="DamageComponent" type="Node2D"]
script = ExtResource("1_am71n")

View File

@ -0,0 +1,5 @@
class_name HitComponent
extends Area2D
@export var current_tool : DataTypes.Tools = DataTypes.Tools.None
@export var hit_damage : int = 1

View File

@ -0,0 +1 @@
uid://tetr72as3jkf

Some files were not shown because too many files have changed in this diff Show More