Compare commits

62 Commits

Author SHA1 Message Date
Georgiy Gorin 221727289d New pics 2026-05-06 20:23:07 +03:00
DragonSpirit 1baf3e047b latest prompts by @gera 2026-05-06 09:06:08 +03:00
Nikolay Fedorov 849b0b7315 fix sound 2026-04-23 19:05:10 +03:00
DragonSpirit 1c70488ea5 add animation on movement 2026-04-23 18:53:50 +03:00
Georgiy Gorin 480d355926 Sound 2026-04-23 18:53:25 +03:00
Nikolay Fedorov 229a2cca60 add walk animation 2026-04-23 18:50:01 +03:00
Nikolay Fedorov b0ef832c64 fix rotation 2026-04-23 18:39:58 +03:00
DragonSpirit f28f21d5b4 add sounds, add logo 2026-04-23 18:32:57 +03:00
Nikolay Fedorov 69babae913 update game name 2026-04-23 18:23:11 +03:00
DragonSpirit e3261f8e78 update tutors 2026-04-23 18:22:37 +03:00
DragonSpirit 794261e0d0 win and lose cheat hotkey 2026-04-23 18:16:26 +03:00
DragonSpirit 187fe7a9ce mouse save 2026-04-23 18:14:14 +03:00
DragonSpirit c201a67bb8 add kick animation by enemy 2026-04-23 18:11:03 +03:00
Georgiy Gorin 7475339ddb recepie 2026-04-23 18:00:17 +03:00
Nikolay Fedorov dd60de0a66 update shape order 2026-04-23 17:48:23 +03:00
Nikolay Fedorov 912bffd59a Merge branch 'exp' of https://git.nfedorov.dev/DragonSpirit/KickSurvivors into exp 2026-04-23 17:45:50 +03:00
Nikolay Fedorov a2e710575e import new gnomes 2026-04-23 17:45:17 +03:00
Georgiy Gorin 31cab204ad Правки 2 2026-04-23 17:40:24 +03:00
Georgiy Gorin 3a3edc54a4 По хуйне 2026-04-23 17:34:24 +03:00
DragonSpirit 05f46021b8 add recepies list 2026-04-23 17:29:43 +03:00
Georgiy Gorin 5f589c8c89 Железо добавлено 2026-04-23 17:20:24 +03:00
DragonSpirit c8aba822bf remove coloring when item grabbed 2026-04-23 17:20:14 +03:00
DragonSpirit 23177b9079 increase hud text 2026-04-23 17:18:07 +03:00
Georgiy Gorin 86b837dded Боты добавил 2026-04-23 17:16:41 +03:00
DragonSpirit a835ae5755 fix tutorial images 2026-04-23 17:14:15 +03:00
DragonSpirit d20360c8f3 apply boot material 2026-04-23 17:11:45 +03:00
DragonSpirit fb3b653604 fix boot animation 2026-04-23 17:08:14 +03:00
Nikolay Fedorov 6b7294dfd8 add boot animation 2026-04-23 17:06:10 +03:00
Nikolay Fedorov 82af31501d add boots 2026-04-23 16:52:12 +03:00
Georgiy Gorin 0d9890c370 Баланс + картинки 3 босс, конец игры 2026-04-23 16:51:43 +03:00
Nikolay Fedorov d36a2cf9ec fix props 2026-04-23 16:28:34 +03:00
Georgiy Gorin e185d2e1fd Merge branch 'exp' of https://git.nfedorov.dev/DragonSpirit/KickSurvivors into exp 2026-04-23 16:27:03 +03:00
DragonSpirit 7d6d96e499 shield on spacebar 2026-04-23 16:18:35 +03:00
DragonSpirit 3c2afefc95 spawn settings 2026-04-23 16:17:40 +03:00
Georgiy Gorin 34a9b6b18f Нью баланс 2026-04-23 16:11:34 +03:00
DragonSpirit 9acbc49084 difficulity 2026-04-23 16:05:25 +03:00
Nikolay Fedorov 3542c328c0 fix export shield tutor 2026-04-23 15:59:14 +03:00
DragonSpirit f37c27887e upgrade mesh merge 2026-04-23 15:52:36 +03:00
DragonSpirit 20eaa513c3 fix stick and rock spawn 2026-04-23 15:42:14 +03:00
DragonSpirit 3974d7416d boss phase 2026-04-23 15:38:45 +03:00
Nikolay Fedorov 5d843f94f7 change kick to lmb 2026-04-23 15:36:17 +03:00
Nikolay Fedorov 8e7ff9ae83 rollback huge hit 2026-04-23 15:28:18 +03:00
Nikolay Fedorov d5194139e8 fix player movement on tutorial show 2026-04-23 15:17:39 +03:00
Nikolay Fedorov 7b355c5d0b Merge branch 'exp' of https://git.nfedorov.dev/DragonSpirit/KickSurvivors into exp 2026-04-23 14:59:23 +03:00
DragonSpirit af15c477b9 add hit and merge vfx 2026-04-23 14:59:14 +03:00
DragonSpirit dce433e068 add hit and merge vfx 2026-04-23 14:57:14 +03:00
DragonSpirit 5d9b0ce738 add kickable tooltips 2026-04-23 14:44:21 +03:00
DragonSpirit 5f61c26563 ui items slots 2026-04-23 14:40:55 +03:00
DragonSpirit 65ba9d2960 fix tutorial 2026-04-23 14:35:59 +03:00
Georgiy Gorin f6f451cffb Жоска наговнякал полный сетап моба 2026-04-23 14:25:58 +03:00
DragonSpirit 271c99ae13 tutorial 2026-04-23 13:55:06 +03:00
DragonSpirit dde4a6431e add tooltip on enemies, update enemy type on merge 2026-04-23 13:47:31 +03:00
Georgiy Gorin d7368e7fa7 Balance update 2026-04-23 13:09:23 +03:00
DragonSpirit 9981ed1ae3 fix metal plate pickup 2026-04-23 13:08:44 +03:00
DragonSpirit e956c4353c fix near enemy kick, fix huge kick on low tier 2026-04-23 11:48:00 +03:00
DragonSpirit 1b3732ea0f do not throw stick into player 2026-04-23 11:43:33 +03:00
DragonSpirit 52d0b00655 fix enemy aligning, add sticks respawn 2026-04-23 11:42:17 +03:00
DragonSpirit c9489321ae add shields and tiers on ui 2026-04-23 11:36:01 +03:00
DragonSpirit bec9389bb8 add animations 2026-04-23 11:23:43 +03:00
Nikolay Fedorov c7f0d9e176 update player scene 2026-04-23 11:00:08 +03:00
Georgiy Gorin 7beb9ffbac Exp updated collisions and tougness tier 2026-04-23 10:10:40 +03:00
DragonSpirit cdb0ffd6a5 exp 2026-04-23 00:51:28 +03:00
130 changed files with 102459 additions and 12786 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccbdsbteef3cs"
path="res://.godot/imported/LoseGame.jpeg-bea62e54d6bb932d2fc0c97398854ad4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/LoseGame.jpeg"
dest_files=["res://.godot/imported/LoseGame.jpeg-bea62e54d6bb932d2fc0c97398854ad4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 484 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://un6qkfobvo2o"
path="res://.godot/imported/Pause_Controls.jpeg-7b152fd8be8bb847576ebbef7cd65320.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Pause_Controls.jpeg"
dest_files=["res://.godot/imported/Pause_Controls.jpeg-7b152fd8be8bb847576ebbef7cd65320.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 372 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cavydxru3563h"
path="res://.godot/imported/Pause_Craft.jpeg-62e6f52659e81a185c138647d52f9aef.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Pause_Craft.jpeg"
dest_files=["res://.godot/imported/Pause_Craft.jpeg-62e6f52659e81a185c138647d52f9aef.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 424 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c335dn481ctxu"
path="res://.godot/imported/ThirdLevelEnemy.jpeg-283cc2c1ead2d9769e11fd7206d21703.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/ThirdLevelEnemy.jpeg"
dest_files=["res://.godot/imported/ThirdLevelEnemy.jpeg-283cc2c1ead2d9769e11fd7206d21703.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 177 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dcwymnn6xf05c"
path="res://.godot/imported/Tutorial_LeatherArmor.jpeg-da671d8566606a993a070058c18b5a5b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Tutorial_LeatherArmor.jpeg"
dest_files=["res://.godot/imported/Tutorial_LeatherArmor.jpeg-da671d8566606a993a070058c18b5a5b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 405 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tg6gtoufojyb"
path="res://.godot/imported/Tutorial_LeatherBoots.jpeg-83a29df86efb4f59432b80ca2f2fd7eb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Tutorial_LeatherBoots.jpeg"
dest_files=["res://.godot/imported/Tutorial_LeatherBoots.jpeg-83a29df86efb4f59432b80ca2f2fd7eb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 324 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://q86mtqd0if14"
path="res://.godot/imported/Tutorial_StartGame.jpeg-8531e3fdc81134418a0a0e59efc0b95d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Tutorial_StartGame.jpeg"
dest_files=["res://.godot/imported/Tutorial_StartGame.jpeg-8531e3fdc81134418a0a0e59efc0b95d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 56 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://baeea1yfs0cnn"
path="res://.godot/imported/Tutorial_Shield.jpeg-6b96e6b9716aced42153397e827ce868.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/Tutorial_Shield.jpeg"
dest_files=["res://.godot/imported/Tutorial_Shield.jpeg-6b96e6b9716aced42153397e827ce868.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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: 231 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqo3yiuu4kwdk"
path="res://.godot/imported/VictoryScreen.jpeg-36aa76d727e7a226d71b97af302cccc0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/VictoryScreen.jpeg"
dest_files=["res://.godot/imported/VictoryScreen.jpeg-36aa76d727e7a226d71b97af302cccc0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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.
+19
View File
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://boyy2vpjoxb6l"
path="res://.godot/imported/ambient.ogg-35a37efc4b30706a227e17f0453e3a99.oggvorbisstr"
[deps]
source_file="res://assets/ambient.ogg"
dest_files=["res://.godot/imported/ambient.ogg-35a37efc4b30706a227e17f0453e3a99.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
+20857
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://caurrbclp30ly"
path="res://.godot/imported/armor.obj-af01c4b492188328bde6fd5b9ed2eed0.mesh"
[deps]
files=["res://.godot/imported/armor.obj-af01c4b492188328bde6fd5b9ed2eed0.mesh"]
source_file="res://assets/armor.obj"
dest_files=["res://.godot/imported/armor.obj-af01c4b492188328bde6fd5b9ed2eed0.mesh", "res://.godot/imported/armor.obj-af01c4b492188328bde6fd5b9ed2eed0.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://w5fnj0g3j6ms"
path="res://.godot/imported/armor.png-7969b140c50e154aedeaeb60a071ac9b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/armor.png"
dest_files=["res://.godot/imported/armor.png-7969b140c50e154aedeaeb60a071ac9b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
BIN
View File
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cniw0ypfvjw61"
path="res://.godot/imported/boot.glb-d1c29f9ff7f48815266f56a7be3dd896.scn"
[deps]
source_file="res://assets/boot.glb"
dest_files=["res://.godot/imported/boot.glb-d1c29f9ff7f48815266f56a7be3dd896.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
+18661
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://jls6i8ov73ld"
path="res://.godot/imported/boot.obj-e334fc0955e7dcb45c6e02ac806a59e8.mesh"
[deps]
files=["res://.godot/imported/boot.obj-e334fc0955e7dcb45c6e02ac806a59e8.mesh"]
source_file="res://assets/boot.obj"
dest_files=["res://.godot/imported/boot.obj-e334fc0955e7dcb45c6e02ac806a59e8.mesh", "res://.godot/imported/boot.obj-e334fc0955e7dcb45c6e02ac806a59e8.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b85nk7r6dkenp"
path.s3tc="res://.godot/imported/boot1.png-351fe0276d90e80dc572c41c781fc909.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/boot1.png"
dest_files=["res://.godot/imported/boot1.png-351fe0276d90e80dc572c41c781fc909.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ce4g8nblils0e"
path.s3tc="res://.godot/imported/boot2.png-a3406216bcaf3ad03e199064a129c36e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/boot2.png"
dest_files=["res://.godot/imported/boot2.png-a3406216bcaf3ad03e199064a129c36e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqpntq4rf2q7s"
path.s3tc="res://.godot/imported/boot3.png-d7aa5373b9b2c6ad231646d4daea89b4.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/boot3.png"
dest_files=["res://.godot/imported/boot3.png-d7aa5373b9b2c6ad231646d4daea89b4.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://82lpmyibj8tp"
path="res://.godot/imported/boot_walk.glb-d86cd37ca982d86b2ebd647af9a26482.scn"
[deps]
source_file="res://assets/boot_walk.glb"
dest_files=["res://.godot/imported/boot_walk.glb-d86cd37ca982d86b2ebd647af9a26482.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
BIN
View File
Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://c743vb62pekwt"
path="res://.godot/imported/damage.ogg-137ecbb71d5ea483a0892197341e95d9.oggvorbisstr"
[deps]
source_file="res://assets/damage.ogg"
dest_files=["res://.godot/imported/damage.ogg-137ecbb71d5ea483a0892197341e95d9.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
BIN
View File
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bpmi0k5uuwef4"
path="res://.godot/imported/gnome1.glb-48274b613f374ee33041724d50181ae2.scn"
[deps]
source_file="res://assets/gnome1.glb"
dest_files=["res://.godot/imported/gnome1.glb-48274b613f374ee33041724d50181ae2.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
+16982
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://bwoh5cyhk1tvx"
path="res://.godot/imported/gnome1.obj-3c2c126ceccc265716f51fdf5f468dcf.mesh"
[deps]
files=["res://.godot/imported/gnome1.obj-3c2c126ceccc265716f51fdf5f468dcf.mesh"]
source_file="res://assets/gnome1.obj"
dest_files=["res://.godot/imported/gnome1.obj-3c2c126ceccc265716f51fdf5f468dcf.mesh", "res://.godot/imported/gnome1.obj-3c2c126ceccc265716f51fdf5f468dcf.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cu3g76pfo5msw"
path.s3tc="res://.godot/imported/gnome1.png-2233fedc9a63fc34690b63fb81a732de.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/gnome1.png"
dest_files=["res://.godot/imported/gnome1.png-2233fedc9a63fc34690b63fb81a732de.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
BIN
View File
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cqtr8862yg1pw"
path="res://.godot/imported/gnome2.glb-ed506cf1ac0ccb2d264457e28d22df82.scn"
[deps]
source_file="res://assets/gnome2.glb"
dest_files=["res://.godot/imported/gnome2.glb-ed506cf1ac0ccb2d264457e28d22df82.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
+17161
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dx4huc0nh1b4u"
path="res://.godot/imported/gnome2.obj-fd55585fee29d1908e34d48f742f0315.mesh"
[deps]
files=["res://.godot/imported/gnome2.obj-fd55585fee29d1908e34d48f742f0315.mesh"]
source_file="res://assets/gnome2.obj"
dest_files=["res://.godot/imported/gnome2.obj-fd55585fee29d1908e34d48f742f0315.mesh", "res://.godot/imported/gnome2.obj-fd55585fee29d1908e34d48f742f0315.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5l5wflgoofrd"
path.s3tc="res://.godot/imported/gnome2.png-d8c1a3eb7530d4f2929868991bf60044.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/gnome2.png"
dest_files=["res://.godot/imported/gnome2.png-d8c1a3eb7530d4f2929868991bf60044.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
BIN
View File
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://d38xq7m2ov1ig"
path="res://.godot/imported/gnome3.glb-60a565f65ec090ccf38c4f1b4928e113.scn"
[deps]
source_file="res://assets/gnome3.glb"
dest_files=["res://.godot/imported/gnome3.glb-60a565f65ec090ccf38c4f1b4928e113.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
+16839
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dkxr5amwv7i0p"
path="res://.godot/imported/gnome3.obj-ff8c62c7c2be5bf0c9d9db251dfcc714.mesh"
[deps]
files=["res://.godot/imported/gnome3.obj-ff8c62c7c2be5bf0c9d9db251dfcc714.mesh"]
source_file="res://assets/gnome3.obj"
dest_files=["res://.godot/imported/gnome3.obj-ff8c62c7c2be5bf0c9d9db251dfcc714.mesh", "res://.godot/imported/gnome3.obj-ff8c62c7c2be5bf0c9d9db251dfcc714.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://baqjuo2utnor2"
path.s3tc="res://.godot/imported/gnome3.png-49c96522ff8f4e952cebf9b5596c03d1.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/gnome3.png"
dest_files=["res://.godot/imported/gnome3.png-49c96522ff8f4e952cebf9b5596c03d1.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
Binary file not shown.
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://d0ygls7mtp1q1"
path="res://.godot/imported/growling-cartoon-animal-in-the-game.ogg-f3dde05a2449a5cb1bbbeaf8a5c195ca.oggvorbisstr"
[deps]
source_file="res://assets/growling-cartoon-animal-in-the-game.ogg"
dest_files=["res://.godot/imported/growling-cartoon-animal-in-the-game.ogg-f3dde05a2449a5cb1bbbeaf8a5c195ca.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://bqj5f858tqy5w"
path="res://.godot/imported/kick_enemy.ogg-47fb08fccd1ea50bf15fb26d6abda71e.oggvorbisstr"
[deps]
source_file="res://assets/kick_enemy.ogg"
dest_files=["res://.godot/imported/kick_enemy.ogg-47fb08fccd1ea50bf15fb26d6abda71e.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cq4hup0lwti13"
path="res://.godot/imported/kick_player.ogg-ed43ff774ec5730f331b64274b81fa27.oggvorbisstr"
[deps]
source_file="res://assets/kick_player.ogg"
dest_files=["res://.godot/imported/kick_player.ogg-ed43ff774ec5730f331b64274b81fa27.oggvorbisstr"]
[params]
loop=true
loop_offset=12.0
bpm=0.0
beat_count=0
bar_beats=4
BIN
View File
Binary file not shown.
+19
View File
@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://djmceowwiaxh"
path="res://.godot/imported/merge.ogg-23e958ec7fe7428616d58e4721608c5d.oggvorbisstr"
[deps]
source_file="res://assets/merge.ogg"
dest_files=["res://.godot/imported/merge.ogg-23e958ec7fe7428616d58e4721608c5d.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dwb4g8t8oeycp"
path="res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"
[deps]
files=["res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"]
source_file="res://assets/meshes/stone_big.obj"
dest_files=["res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh", "res://.godot/imported/stone_big.obj-27b6517edbc7f72b68da44e569ddc192.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://c06flbdipxqac"
path="res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"
[deps]
files=["res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"]
source_file="res://assets/meshes/stone_small.obj"
dest_files=["res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh", "res://.godot/imported/stone_small.obj-9c7a28c51451d957607ab126de71ab59.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
+206
View File
@@ -0,0 +1,206 @@
# Blender 4.2.9 LTS
# www.blender.org
o metal_item
v -0.000455 0.025430 0.375746
v -0.019059 0.025407 0.394395
v -0.011318 0.009290 0.383589
v -0.075059 0.208979 0.300395
v -0.099042 0.225119 0.294986
v -0.093682 0.209002 0.319026
v -0.361011 0.009290 0.383589
v -0.353269 0.025407 0.394395
v -0.371873 0.025430 0.375746
v -0.297269 0.208979 0.300395
v -0.278646 0.209002 0.319026
v -0.273286 0.225119 0.294986
v -0.000455 0.025430 -0.378701
v -0.011318 0.009290 -0.386544
v -0.019059 0.025407 -0.397351
v -0.075059 0.208979 -0.303350
v -0.093682 0.209002 -0.321981
v -0.099042 0.225119 -0.297942
v -0.361011 0.009290 -0.386544
v -0.371873 0.025430 -0.378701
v -0.353269 0.025407 -0.397350
v -0.297269 0.208979 -0.303350
v -0.273286 0.225119 -0.297942
v -0.278646 0.209002 -0.321981
v 0.374544 0.025430 0.375746
v 0.355940 0.025407 0.394395
v 0.363682 0.009290 0.383589
v 0.299940 0.208979 0.300395
v 0.275957 0.225119 0.294986
v 0.281317 0.209002 0.319026
v 0.013989 0.009290 0.383589
v 0.021730 0.025407 0.394395
v 0.003126 0.025430 0.375746
v 0.077730 0.208979 0.300395
v 0.096353 0.209002 0.319026
v 0.101713 0.225119 0.294986
v 0.374544 0.025430 -0.378701
v 0.363682 0.009290 -0.386544
v 0.355940 0.025407 -0.397351
v 0.299940 0.208979 -0.303350
v 0.281317 0.209002 -0.321981
v 0.275957 0.225119 -0.297942
v 0.013989 0.009290 -0.386544
v 0.003126 0.025430 -0.378701
v 0.021730 0.025407 -0.397350
v 0.077730 0.208979 -0.303350
v 0.101713 0.225119 -0.297942
v 0.096353 0.209002 -0.321981
v 0.182543 0.234038 0.301050
v 0.163938 0.234015 0.316007
v 0.171680 0.217897 0.307340
v 0.107939 0.417586 0.240620
v 0.083956 0.433727 0.236282
v 0.089316 0.417609 0.255561
v -0.178013 0.217897 0.307340
v -0.170271 0.234015 0.316007
v -0.188875 0.234038 0.301050
v -0.114271 0.417586 0.240620
v -0.095648 0.417609 0.255561
v -0.090288 0.433727 0.236282
v 0.182543 0.234038 -0.304005
v 0.171680 0.217897 -0.310296
v 0.163938 0.234015 -0.318962
v 0.107939 0.417586 -0.243575
v 0.089316 0.417609 -0.258517
v 0.083956 0.433727 -0.239238
v -0.178013 0.217897 -0.310296
v -0.188875 0.234038 -0.304005
v -0.170271 0.234015 -0.318962
v -0.114271 0.417586 -0.243575
v -0.090288 0.433727 -0.239238
v -0.095648 0.417609 -0.258517
vn -0.0000 -1.0000 -0.0001
vn 0.0001 -1.0000 -0.0000
vn -0.0000 -1.0000 0.0001
vn -0.0001 -1.0000 -0.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 1.0000 0.0001
vn -0.0000 1.0000 -0.0001
vn -0.0000 0.3798 -0.9251
vn -0.0000 0.3797 -0.9251
vn -0.0000 0.3798 0.9251
vn -0.0000 0.3797 0.9251
vn -0.9264 0.3766 -0.0000
vn -0.9264 0.3765 -0.0000
vn 0.9390 0.0074 0.3439
vn 0.7239 0.6390 0.2600
vn 0.9390 0.0074 -0.3439
vn 0.7239 0.6390 -0.2600
vn -0.9390 0.0074 0.3439
vn -0.7239 0.6390 0.2600
vn -0.7239 0.6390 -0.2600
vn -0.9390 0.0074 -0.3439
vn 0.9264 0.3766 -0.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 0.3127 -0.9499
vn -0.0000 0.3128 -0.9498
vn -0.0000 0.3127 0.9499
vn -0.0000 0.3128 0.9498
vn -0.9264 0.3765 0.0001
vn -0.9264 0.3766 -0.0001
vn 0.9264 0.3765 -0.0000
vt 0.734770 0.428017
vt 0.734335 0.435070
vt 0.734335 0.435070
vt 0.726011 0.434850
vt 0.726420 0.428380
vt 0.726420 0.428380
vt 0.726011 0.434850
vt 0.733716 0.435018
vt 0.726630 0.434915
vt 0.727047 0.428304
vt 0.734145 0.428079
vt 0.733716 0.435018
vt 0.734144 0.428079
vt 0.726630 0.434915
vt 0.733690 0.435427
vt 0.726594 0.435491
vt 0.726594 0.435491
vt 0.733690 0.435427
vt 0.734169 0.427670
vt 0.727084 0.427728
vt 0.734169 0.427670
vt 0.727084 0.427728
s 1
f 3/1/1 7/2/2 19/3/3 14/1/4
f 12/4/5 5/5/6 18/6/5 23/7/7
f 21/8/8 24/9/8 17/10/9 15/11/8
f 8/12/10 2/13/10 6/10/10 11/14/11
f 9/15/12 10/16/13 22/17/13 20/18/12
f 1/19/14 2/13/10 3/1/1
f 4/20/15 5/5/6 6/10/10
f 7/2/2 8/12/10 9/15/12
f 10/16/13 11/14/11 12/4/5
f 13/21/16 14/1/4 15/11/8
f 16/22/17 17/10/9 18/6/5
f 19/3/3 20/18/12 21/8/8
f 22/17/13 23/7/7 24/9/8
f 1/19/14 4/20/15 6/10/10 2/13/10
f 7/2/2 3/1/1 2/13/10 8/12/10
f 10/16/13 9/15/12 8/12/10 11/14/11
f 11/14/11 6/10/10 5/5/6 12/4/5
f 15/11/8 17/10/9 16/22/17 13/21/16
f 21/8/8 15/11/8 14/1/4 19/3/3
f 24/9/8 21/8/8 20/18/12 22/17/13
f 23/7/7 18/6/5 17/10/9 24/9/8
f 9/15/12 20/18/12 19/3/3 7/2/2
f 13/21/16 1/19/14 3/1/1 14/1/4
f 12/4/5 23/7/7 22/17/13 10/16/13
f 18/6/5 5/5/6 4/20/15 16/22/17
f 4/20/15 1/19/14 13/21/16 16/22/17
f 27/1/1 31/2/2 43/3/3 38/1/4
f 36/4/5 29/5/6 42/6/5 47/7/7
f 45/8/8 48/9/8 41/10/9 39/11/8
f 32/12/10 26/13/10 30/10/10 35/14/11
f 33/15/18 34/16/19 46/17/20 44/18/21
f 25/19/22 26/13/10 27/1/1
f 28/20/22 29/5/6 30/10/10
f 31/2/2 32/12/10 33/15/18
f 34/16/19 35/14/11 36/4/5
f 37/21/22 38/1/4 39/11/8
f 40/22/22 41/10/9 42/6/5
f 43/3/3 44/18/21 45/8/8
f 46/17/20 47/7/7 48/9/8
f 25/19/22 28/20/22 30/10/10 26/13/10
f 31/2/2 27/1/1 26/13/10 32/12/10
f 34/16/19 33/15/18 32/12/10 35/14/11
f 35/14/11 30/10/10 29/5/6 36/4/5
f 39/11/8 41/10/9 40/22/22 37/21/22
f 45/8/8 39/11/8 38/1/4 43/3/3
f 48/9/8 45/8/8 44/18/21 46/17/20
f 47/7/7 42/6/5 41/10/9 48/9/8
f 33/15/18 44/18/21 43/3/3 31/2/2
f 37/21/22 25/19/22 27/1/1 38/1/4
f 36/4/5 47/7/7 46/17/20 34/16/19
f 42/6/5 29/5/6 28/20/22 40/22/22
f 28/20/22 25/19/22 37/21/22 40/22/22
f 51/1/23 55/2/2 67/3/23 62/1/4
f 60/4/5 53/5/6 66/6/5 71/7/7
f 69/8/24 72/9/25 65/10/25 63/11/24
f 56/12/26 50/13/26 54/10/27 59/14/27
f 57/15/13 58/16/28 70/17/12 68/18/29
f 49/19/30 50/13/26 51/1/23
f 52/20/22 53/5/6 54/10/27
f 55/2/2 56/12/26 57/15/13
f 58/16/28 59/14/27 60/4/5
f 61/21/22 62/1/4 63/11/24
f 64/22/22 65/10/25 66/6/5
f 67/3/23 68/18/29 69/8/24
f 70/17/12 71/7/7 72/9/25
f 49/19/30 52/20/22 54/10/27 50/13/26
f 55/2/2 51/1/23 50/13/26 56/12/26
f 58/16/28 57/15/13 56/12/26 59/14/27
f 59/14/27 54/10/27 53/5/6 60/4/5
f 63/11/24 65/10/25 64/22/22 61/21/22
f 69/8/24 63/11/24 62/1/4 67/3/23
f 72/9/25 69/8/24 68/18/29 70/17/12
f 71/7/7 66/6/5 65/10/25 72/9/25
f 57/15/13 68/18/29 67/3/23 55/2/2
f 61/21/22 49/19/30 51/1/23 62/1/4
f 60/4/5 71/7/7 70/17/12 58/16/28
f 66/6/5 53/5/6 52/20/22 64/22/22
f 52/20/22 49/19/30 61/21/22 64/22/22
+25
View File
@@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://2r4vjjli71xm"
path="res://.godot/imported/metal_item.obj-a4cb4f3f6e92689b191537ec00614f65.mesh"
[deps]
files=["res://.godot/imported/metal_item.obj-a4cb4f3f6e92689b191537ec00614f65.mesh"]
source_file="res://assets/metal_item.obj"
dest_files=["res://.godot/imported/metal_item.obj-a4cb4f3f6e92689b191537ec00614f65.mesh", "res://.godot/imported/metal_item.obj-a4cb4f3f6e92689b191537ec00614f65.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

+41
View File
@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2k7wyt7ngfgv"
path.s3tc="res://.godot/imported/player_man.png-3e0a4cc36eb1a6978c391c5bc2af439e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/player_man.png"
dest_files=["res://.godot/imported/player_man.png-3e0a4cc36eb1a6978c391c5bc2af439e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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=0
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cx7dvk0afwj6h"
path="res://.godot/imported/player_man_walk.glb-3657f9b02230b13d6d797514cd5d2eb0.scn"
[deps]
source_file="res://assets/player_man_walk.glb"
dest_files=["res://.godot/imported/player_man_walk.glb-3657f9b02230b13d6d797514cd5d2eb0.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://baavv8uqo25la"
path="res://.godot/imported/studio_logo.png-f3d319855b8a77cbfc974454f8f0d5d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/studio_logo.png"
dest_files=["res://.godot/imported/studio_logo.png-f3d319855b8a77cbfc974454f8f0d5d5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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
-12548
View File
File diff suppressed because it is too large Load Diff
-25
View File
@@ -1,25 +0,0 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dnm1mgo7pkojl"
path="res://.godot/imported/temp.obj-bd08f73c102326544e2e3889f01d337d.mesh"
[deps]
files=["res://.godot/imported/temp.obj-bd08f73c102326544e2e3889f01d337d.mesh"]
source_file="res://assets/temp.obj"
dest_files=["res://.godot/imported/temp.obj-bd08f73c102326544e2e3889f01d337d.mesh", "res://.godot/imported/temp.obj-bd08f73c102326544e2e3889f01d337d.mesh"]
[params]
generate_tangents=true
generate_lods=true
generate_shadow_mesh=true
generate_lightmap_uv2=false
generate_lightmap_uv2_texel_size=0.2
scale_mesh=Vector3(1, 1, 1)
offset_mesh=Vector3(0, 0, 0)
force_disable_mesh_compression=false
+71
View File
@@ -0,0 +1,71 @@
[preset.0]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter="*jpeg"
exclude_filter=""
export_path="../Kick/CraftKick.exe"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
patch_delta_min_reduction=0.1
patch_delta_include_filters="*"
patch_delta_exclude_filters=""
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
shader_baker/enabled=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""
application/export_angle=0
application/export_d3d12=0
application/d3d12_agility_sdk_multiarch=true
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="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
Start-ScheduledTask -TaskName godot_remote_debug
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"
+1 -1
View File
@@ -15,6 +15,6 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
[application]
config/name="KickSurvivors"
run/main_scene="res://scenes/Main.tscn"
run/main_scene="res://scenes/MainMenu.tscn"
config/features=PackedStringArray("4.6", "Forward Plus")
config/icon="res://icon.svg"
+12 -15
View File
@@ -1,29 +1,26 @@
[gd_scene format=3 uid="uid://cayybawvw26cm"]
[ext_resource type="Script" path="res://scripts/EnchantedSphere.gd" id="1_sphere"]
[sub_resource type="SphereMesh" id="SphereMesh_1"]
radius = 0.28
height = 0.56
[ext_resource type="Script" uid="uid://c4d11cs4fcqib" path="res://scripts/EnchantedSphere.gd" id="1_sphere"]
[ext_resource type="Texture2D" uid="uid://bqpntq4rf2q7s" path="res://assets/boot3.png" id="2_gp14g"]
[ext_resource type="ArrayMesh" uid="uid://jls6i8ov73ld" path="res://assets/boot.obj" id="3_d6vog"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.8, 0.3, 1.0, 1)
albedo_texture = ExtResource("2_gp14g")
emission_enabled = true
emission = Color(0.6, 0.1, 1.0, 1)
emission = Color(0.6, 0.1, 1, 1)
emission_energy_multiplier = 3.0
[node name="EnchantedSphere" type="Node3D"]
[node name="EnchantedSphere" type="Node3D" unique_id=879211768]
script = ExtResource("1_sphere")
[node name="SphereMesh" type="MeshInstance3D" parent="."]
mesh = SubResource("SphereMesh_1")
[node name="SphereMesh" type="MeshInstance3D" parent="." unique_id=905498826]
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("3_d6vog")
[node name="Tooltip" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
[node name="Tooltip" type="Label3D" parent="." unique_id=947504755]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3280884, 0)
billboard = 1
double_sided = true
text = "[E] Enchanted Sphere
text = "[E] Enchanted Boots
+1 Tier"
font_size = 32
font_size = 56
outline_size = 6
+195 -8
View File
File diff suppressed because one or more lines are too long
+5 -7
View File
@@ -1,6 +1,7 @@
[gd_scene format=3 uid="uid://g7iron5etp8u"]
[ext_resource type="Script" uid="uid://0wdmbocpe2ir" path="res://scripts/Iron.gd" id="1_iron"]
[ext_resource type="ArrayMesh" uid="uid://2r4vjjli71xm" path="res://assets/metal_item.obj" id="2_53umh"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.55, 0.58, 0.62, 1)
@@ -8,20 +9,17 @@ metallic = 0.7
metallic_specular = 0.8
roughness = 0.4
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.38, 0.22, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(0.38, 0.22, 0.5)
size = Vector3(1.3992603, 0.58835024, 0.49035645)
[node name="Iron" type="CharacterBody3D" unique_id=611454609]
script = ExtResource("1_iron")
[node name="IronMesh" type="MeshInstance3D" parent="." unique_id=1832879739]
transform = Transform3D(3.5611715, 0, 0, 0, 2.7614622, 0, 0, 0, 1, 0, 0.2, 0)
transform = Transform3D(1.8825685, 0, 0, 0, 1.0460571, 0, 0, 0, 0.64741147, 0, -0.0042432398, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
mesh = ExtResource("2_53umh")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=665808333]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00068727136, 0.22091705, -0.0048217773)
shape = SubResource("BoxShape3D_1")
+26
View File
@@ -0,0 +1,26 @@
[gd_scene format=3 uid="uid://1uwmdnvgyaii"]
[ext_resource type="Script" path="res://scripts/IronShield.gd" id="1_ishield"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.55, 0.58, 0.62, 1)
roughness = 0.4
metallic = 0.7
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.55, 0.7, 0.1)
[node name="IronShield" type="Node3D"]
script = ExtResource("1_ishield")
[node name="ShieldMesh" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0)
billboard = 1
text = "[E] Iron Shield
Tier 2 | Hold Shift to block"
outline_size = 6
+5 -7
View File
@@ -1,25 +1,23 @@
[gd_scene format=3 uid="uid://d4leath8bvq2r"]
[ext_resource type="Script" uid="uid://dndcs6xc7m08x" path="res://scripts/Leather.gd" id="1_leather"]
[ext_resource type="ArrayMesh" uid="uid://cjrhycju6l7v6" path="res://assets/leather.obj" id="2_b7gx8"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.62, 0.38, 0.2, 1)
roughness = 0.85
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.5, 0.06, 0.35)
[sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(0.5, 0.06, 0.35)
size = Vector3(0.7527008, 0.108486325, 0.6336487)
[node name="Leather" type="CharacterBody3D" unique_id=267529517]
script = ExtResource("1_leather")
[node name="LeatherMesh" type="MeshInstance3D" parent="." unique_id=2045837180]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
transform = Transform3D(1.5, 0, 0, 0, 1.812, 0, 0, 0, 1.784, 0, 0.12694196, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
mesh = ExtResource("2_b7gx8")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1940111930]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.05, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00071039796, 0.12997423, 0.0029245168)
shape = SubResource("BoxShape3D_1")
+24
View File
@@ -0,0 +1,24 @@
[gd_scene format=3 uid="uid://bidrinpjiyb2x"]
[ext_resource type="Script" uid="uid://b80k2b1icwlbm" path="res://scripts/LeatherArmor.gd" id="1_leatha"]
[ext_resource type="ArrayMesh" uid="uid://caurrbclp30ly" path="res://assets/armor.obj" id="2_dji1h"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.55, 0.32, 0.14, 1)
roughness = 0.8
[node name="LeatherArmor" type="Node3D" unique_id=1218398814]
script = ExtResource("1_leatha")
[node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=1757935253]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.3858314, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("2_dji1h")
[node name="Tooltip" type="Label3D" parent="." unique_id=1322485403]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7649657, 0)
billboard = 1
text = "[E] Leather Armor
+1 Toughness"
font_size = 56
outline_size = 6
+10 -12
View File
@@ -1,27 +1,25 @@
[gd_scene format=3 uid="uid://cbvs3rvwslsd2"]
[ext_resource type="Script" path="res://scripts/LeatherBoots.gd" id="1_boots"]
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.4, 0.2, 0.55)
[ext_resource type="Script" uid="uid://d0j8nw7eynmk8" path="res://scripts/LeatherBoots.gd" id="1_boots"]
[ext_resource type="Texture2D" uid="uid://b85nk7r6dkenp" path="res://assets/boot1.png" id="2_ky34n"]
[ext_resource type="ArrayMesh" uid="uid://jls6i8ov73ld" path="res://assets/boot.obj" id="3_7iwdw"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.45, 0.25, 0.10, 1)
roughness = 0.8
albedo_color = Color(0.45, 0.25, 0.1, 1)
albedo_texture = ExtResource("2_ky34n")
metallic = 0.1
roughness = 0.8
[node name="LeatherBoots" type="Node3D"]
[node name="LeatherBoots" type="Node3D" unique_id=2009442467]
script = ExtResource("1_boots")
[node name="BootsMesh" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_1")
[node name="BootsMesh" type="MeshInstance3D" parent="." unique_id=1801555312]
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("3_7iwdw")
[node name="Tooltip" type="Label3D" parent="."]
[node name="Tooltip" type="Label3D" parent="." unique_id=1833908896]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
billboard = 1
double_sided = true
text = "[E] Leather Boots
+10 Move Speed"
font_size = 32
outline_size = 6
+13 -13
View File
@@ -78,21 +78,21 @@ size = Vector3(0.6, 1, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_forge"]
size = Vector3(2, 1.8, 2)
[sub_resource type="BoxMesh" id="BoxMesh_etable"]
size = Vector3(1.4, 0.9, 1.4)
[sub_resource type="BoxMesh" id="BoxMesh_ebook"]
size = Vector3(0.7, 0.12, 0.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_etable"]
albedo_color = Color(0.12, 0.08, 0.22, 1)
roughness = 0.6
metallic = 0.2
roughness = 0.6
[sub_resource type="BoxMesh" id="BoxMesh_etable"]
size = Vector3(1.4, 0.9, 1.4)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ebook"]
albedo_color = Color(0.55, 0.08, 0.08, 1)
roughness = 0.9
[sub_resource type="BoxMesh" id="BoxMesh_ebook"]
size = Vector3(0.7, 0.12, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_etable"]
size = Vector3(1.4, 0.9, 1.4)
@@ -261,18 +261,18 @@ mesh = SubResource("BoxMesh_chimney")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Forge" unique_id=726531191]
shape = SubResource("BoxShape3D_forge")
[node name="EnchantingTable" type="StaticBody3D" parent="."]
[node name="EnchantingTable" type="StaticBody3D" parent="." unique_id=242813005]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0.45, -8)
metadata/is_enchanting_table = true
[node name="TableMesh" type="MeshInstance3D" parent="EnchantingTable"]
mesh = SubResource("BoxMesh_etable")
[node name="TableMesh" type="MeshInstance3D" parent="EnchantingTable" unique_id=1719378953]
material_override = SubResource("StandardMaterial3D_etable")
mesh = SubResource("BoxMesh_etable")
[node name="BookMesh" type="MeshInstance3D" parent="EnchantingTable"]
[node name="BookMesh" type="MeshInstance3D" parent="EnchantingTable" unique_id=444214832]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51, 0)
mesh = SubResource("BoxMesh_ebook")
material_override = SubResource("StandardMaterial3D_ebook")
mesh = SubResource("BoxMesh_ebook")
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnchantingTable"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="EnchantingTable" unique_id=352273224]
shape = SubResource("BoxShape3D_etable")
+10
View File
@@ -0,0 +1,10 @@
[gd_scene format=3 uid="uid://jgfauchpwiii"]
[ext_resource type="Script" uid="uid://on1o20vpycgm" path="res://scripts/MainMenu.gd" id="1_menu"]
[node name="MainMenu" type="Control" unique_id=495626975]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource("1_menu")
+13 -13
View File
@@ -1,28 +1,28 @@
[gd_scene format=3 uid="uid://h8armor4fura"]
[ext_resource type="Script" path="res://scripts/MetalArmor.gd" id="1_armor"]
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.55, 0.7, 0.25)
[ext_resource type="Script" uid="uid://cqp1ucyvnno7i" path="res://scripts/MetalArmor.gd" id="1_armor"]
[ext_resource type="Texture2D" uid="uid://ce4g8nblils0e" path="res://assets/boot2.png" id="2_ocond"]
[ext_resource type="ArrayMesh" uid="uid://caurrbclp30ly" path="res://assets/armor.obj" id="3_ocond"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.55, 0.60, 0.68, 1)
roughness = 0.3
albedo_color = Color(0.55, 0.6, 0.68, 1)
albedo_texture = ExtResource("2_ocond")
metallic = 0.85
metallic_specular = 1.0
roughness = 0.3
[node name="MetalArmor" type="Node3D"]
[node name="MetalArmor" type="Node3D" unique_id=1379243712]
script = ExtResource("1_armor")
[node name="ArmorMesh" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_1")
[node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=1340618559]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.3499111, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("3_ocond")
[node name="Tooltip" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0, 0)
[node name="Tooltip" type="Label3D" parent="." unique_id=748491675]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.9431921, 0)
billboard = 1
double_sided = true
text = "[E] Metal Armor
+1 Tier"
font_size = 32
font_size = 56
outline_size = 6
+35
View File
@@ -0,0 +1,35 @@
[gd_scene format=3 uid="uid://dbvt3pkrej5nq"]
[ext_resource type="Script" uid="uid://sfq4iq0btm0g" path="res://scripts/MetalPlate.gd" id="1_plate"]
[ext_resource type="Texture2D" uid="uid://ce4g8nblils0e" path="res://assets/boot2.png" id="2_quvug"]
[ext_resource type="ArrayMesh" uid="uid://jls6i8ov73ld" path="res://assets/boot.obj" id="3_2i44a"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.6, 0.65, 0.72, 1)
albedo_texture = ExtResource("2_quvug")
metallic = 0.8
metallic_specular = 0.9
roughness = 0.35
[sub_resource type="BoxShape3D" id="BoxShape3D_1"]
size = Vector3(1.0203736, 0.124472655, 1.4775146)
[node name="MetalPlate" type="CharacterBody3D" unique_id=1872011585]
script = ExtResource("1_plate")
[node name="PlateMesh" type="MeshInstance3D" parent="." unique_id=436086498]
transform = Transform3D(1.8395851, 0, 0, 0, 1.5228686, 0, 0, 0, 2.050398, 0, 0.16620824, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("3_2i44a")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1642999883]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.005560264, 0.16739155, 0.003918484)
shape = SubResource("BoxShape3D_1")
[node name="Tooltip" type="Label3D" parent="." unique_id=59052869]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.425037, 0)
billboard = 1
text = "[E] Armored Boots
+1 Kick Tier"
font_size = 56
outline_size = 6
+27
View File
@@ -0,0 +1,27 @@
[gd_scene format=3 uid="uid://cjhyinmjh0c3y"]
[ext_resource type="Script" uid="uid://sklquy2lyugo" path="res://scripts/PlateArmor.gd" id="1_platea"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.58, 0.62, 0.7, 1)
metallic = 0.85
metallic_specular = 1.0
roughness = 0.3
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.58, 0.72, 0.24)
[node name="PlateArmor" type="Node3D" unique_id=1607276475]
script = ExtResource("1_platea")
[node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=65147838]
transform = Transform3D(2.0554285, 0, 0, 0, 2.3875203, 0, 0, 0, 4.207259, 0, 0.7950885, -0.16405308)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="." unique_id=2013488670]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.9503746, 0)
billboard = 1
text = "[E] Plate Armor
+1 Toughness"
outline_size = 6
+237 -12
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -8,16 +8,16 @@ albedo_color = Color(0.45, 0.38, 0.3, 1)
metallic = 0.05
[sub_resource type="SphereShape3D" id="SphereShape3D_1"]
radius = 0.25
radius = 0.40034008
[node name="Rock" type="CharacterBody3D" unique_id=1267213194]
script = ExtResource("1_rock")
[node name="RockMesh" type="MeshInstance3D" parent="." unique_id=918783711]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 0.25, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("2_wmx41")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=2017780451]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.033173382, 0.43890864, 0)
shape = SubResource("SphereShape3D_1")
+4 -4
View File
@@ -8,17 +8,17 @@ albedo_color = Color(0.55, 0.38, 0.18, 1)
roughness = 0.95
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1"]
radius = 0.07
height = 0.65
radius = 0.15673828
height = 1.6220214
[node name="Stick" type="CharacterBody3D" unique_id=1893805391]
script = ExtResource("1_stick")
[node name="StickMesh" type="MeshInstance3D" parent="." unique_id=1850002866]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.16618532, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = ExtResource("2_urm7b")
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=653008437]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.32, 0)
transform = Transform3D(1, 0, 0, 0, 0.025374386, 0.999678, 0, -0.999678, 0.025374386, 0.005088806, 0.15728158, 0.109485604)
shape = SubResource("CapsuleShape3D_1")
+25
View File
@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://hk7p5sjjxa1w"]
[ext_resource type="Script" uid="uid://cmvl3td1h7qb8" path="res://scripts/StickArmor.gd" id="1_sticka"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.48, 0.32, 0.14, 1)
roughness = 0.9
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.45, 0.55, 0.2)
[node name="StickArmor" type="Node3D" unique_id=1550651822]
script = ExtResource("1_sticka")
[node name="ArmorMesh" type="MeshInstance3D" parent="." unique_id=564243580]
transform = Transform3D(3.1221292, 0, 0, 0, 2.4342613, 0, 0, 0, 1, 0, 0.38186997, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="." unique_id=243955258]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.072116256, 1.3135526, 0)
billboard = 1
text = "[E] Stick Armor
+1 Toughness"
outline_size = 6
+25
View File
@@ -0,0 +1,25 @@
[gd_scene format=3 uid="uid://bayxgoeu4qxqe"]
[ext_resource type="Script" path="res://scripts/WoodenShield.gd" id="1_wshield"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1"]
albedo_color = Color(0.55, 0.38, 0.18, 1)
roughness = 0.85
[sub_resource type="BoxMesh" id="BoxMesh_1"]
size = Vector3(0.5, 0.65, 0.12)
[node name="WoodenShield" type="Node3D"]
script = ExtResource("1_wshield")
[node name="ShieldMesh" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, 0)
material_override = SubResource("StandardMaterial3D_1")
mesh = SubResource("BoxMesh_1")
[node name="Tooltip" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0)
billboard = 1
text = "[E] Wooden Shield
Tier 1 | Hold Shift to block"
outline_size = 6
+21 -2
View File
@@ -10,7 +10,8 @@ const WALL_BOUNCE := 0.4
const WALL_SELF_DMG := 0.4
var kickable_type: String = "boulder"
var tier: int = 2
var kick_tier: int = 0
var toughness_tier: int = 2
var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO
var health: float = 150.0
@@ -19,6 +20,7 @@ var damage_modifier: float = 1.8
@onready var mesh_node: MeshInstance3D = $BoulderMesh
var boulder_mat: StandardMaterial3D
var _tooltip: Label3D
const COLOR_IDLE := Color(0.32, 0.28, 0.22)
const COLOR_IMPACT := Color(1.0, 1.0, 1.0)
@@ -27,6 +29,23 @@ func _ready() -> void:
add_to_group("kickable")
boulder_mat = mesh_node.material_override.duplicate() as StandardMaterial3D
mesh_node.material_override = boulder_mat
_tooltip = Label3D.new()
_tooltip.text = "Boulder\nRock+Rock\nVery heavy. High damage"
_tooltip.billboard = BaseMaterial3D.BILLBOARD_ENABLED
_tooltip.font_size = 56
_tooltip.outline_size = 6
_tooltip.position = Vector3(0, 1.4, 0)
_tooltip.modulate = Color(1.0, 0.95, 0.8)
_tooltip.visible = false
add_child(_tooltip)
func _process(_delta: float) -> void:
if dead or state != State.IDLE:
_tooltip.visible = false
return
var players := get_tree().get_nodes_in_group("player")
_tooltip.visible = not players.is_empty() and \
(players[0] as Node3D).global_position.distance_to(global_position) < 2.5
func apply_collision_damage(dmg: float) -> void:
_take_damage(dmg)
@@ -64,7 +83,7 @@ func _fly(delta: float) -> void:
handled = true
break
elif col3d.is_in_group("player"):
col3d.call("take_damage", int(speed_now * damage_modifier))
col3d.call("take_damage", int(speed_now * damage_modifier), toughness_tier)
fly_vel *= 0.3
handled = true
break
+137 -24
View File
@@ -16,7 +16,8 @@ static var first_iron_spawned: bool = false
static var first_essence_spawned: bool = false
var kickable_type: String = ""
var tier: int = 1
var kick_tier: int = 1
var toughness_tier: int = 1
var move_speed: float = 3.0
var health: int = 30
var damage_to_player: int = 8
@@ -44,7 +45,14 @@ var merge_partner: Node = null
var is_upgrading: bool = false
@onready var mesh_node: MeshInstance3D = $BodyMesh
@onready var mesh_node1: MeshInstance3D = $BodyMesh1
@onready var mesh_node2: MeshInstance3D = $BodyMesh2
@onready var anim_player: AnimationPlayer = $AnimationPlayer
var mat: StandardMaterial3D
var type_label: Label3D
var active_mesh: MeshInstance3D
var COLOR_CHASE = Color(1.0, 0.28, 0.18)
var COLOR_FLY = Color(1.0, 0.85, 0.1)
@@ -54,10 +62,30 @@ const CONTACT_CD = 0.7
const AIR_FRICTION = 0.86
func _ready() -> void:
process_mode = Node.PROCESS_MODE_PAUSABLE
add_to_group("enemies")
mat = mesh_node.material_override.duplicate() as StandardMaterial3D
active_mesh = mesh_node
var orig := mesh_node.material_override
mat = (orig.duplicate() if orig != null else StandardMaterial3D.new()) as StandardMaterial3D
mesh_node.material_override = mat
#mesh_node1.set_visible(false)
#mesh_node2.set_visible(false)
COLOR_CHASE = mat.albedo_color
type_label = Label3D.new()
type_label.billboard = BaseMaterial3D.BILLBOARD_ENABLED
type_label.position = Vector3(0, 1.6, 0)
type_label.font_size = 28
type_label.outline_size = 5
type_label.modulate = Color.WHITE
add_child(type_label)
func _update_label() -> void:
if type_label == null:
return
var stars := ""
for i in range(enemy_level - 1):
stars += ""
type_label.text = enemy_type + (" " + stars if stars != "" else "")
func setup(type: String, wave: int) -> void:
enemy_type = type
@@ -66,31 +94,69 @@ func setup(type: String, wave: int) -> void:
match type:
"slime":
move_speed = 2.8 + wave * 0.12
health = 28 + wave * 4
health = 40 + wave * 4
score_value = 10
damage_to_player = 8
enemy_level = 1
"bat":
move_speed = 5.5 + wave * 0.15
health = 14 + wave * 2
score_value = 15
move_speed = 5 + wave * 0.15
health = 100 + wave * 2
score_value = 20
damage_to_player = 6
base_scale = 0.7
mesh_node.scale = Vector3(0.7, 0.7, 0.7)
COLOR_CHASE = Color(0.6, 0.2, 0.8)
mat.albedo_color = COLOR_CHASE
enemy_level = 2
#mesh_node.set_visible(false)
#mesh_node1.set_visible(true)
"ogre":
move_speed = 1.8 + wave * 0.08
health = 80 + wave * 12
score_value = 25
move_speed = 3 + wave * 0.08
health = 200 + wave * 12
score_value = 50
damage_to_player = 18
base_scale = 1.5
mesh_node.scale = Vector3(1.5, 1.5, 1.5)
COLOR_CHASE = Color(0.3, 0.7, 0.3)
mat.albedo_color = COLOR_CHASE
enemy_level = 3
tier = enemy_level
#mesh_node1.set_visible(false)
#mesh_node2.set_visible(true)
kick_tier = enemy_level
toughness_tier = enemy_level
_update_label()
_apply_mesh(enemy_level)
func _apply_mesh(level: int) -> void:
var idx := clampi(level, 1, 3)
var scene := load("res://assets/gnome%d.glb" % idx) as PackedScene
if scene == null:
return
var root := scene.instantiate()
var src: MeshInstance3D = null
for child in root.get_children():
var mi := child as MeshInstance3D
if mi != null:
src = mi
break
if src == null:
root.queue_free()
return
mesh_node.mesh = src.mesh
var new_mat: StandardMaterial3D
if src.get_surface_override_material(0) != null:
new_mat = src.get_surface_override_material(0).duplicate() as StandardMaterial3D
else:
new_mat = StandardMaterial3D.new()
var tex := load("res://assets/gnome%d.png" % idx) as Texture2D
if tex != null:
new_mat.albedo_texture = tex
new_mat.albedo_color = Color.WHITE
mesh_node.material_override = new_mat
root.queue_free()
mat = new_mat
COLOR_CHASE = Color.WHITE
active_mesh = mesh_node
func _physics_process(delta: float) -> void:
match state:
@@ -110,15 +176,34 @@ func _chase(delta: float) -> void:
var dist := diff.length()
if dist < 1.0 and contact_timer <= 0.0:
contact_timer = CONTACT_CD
_play_kick_blend()
if target.has_method("take_damage"):
target.take_damage(damage_to_player)
FX.hit_spark(target.global_position + Vector3(0, 0.5, 0), get_parent(), Color(0.95, 0.18, 0.08))
#if randf() < 0.3:
var knock_dir := diff.normalized() if dist > 0.01 else -global_transform.basis.z
knock_dir.y = 0.0
target.call("receive_kick", knock_dir, 12.0 + kick_tier * 10.0)
if enemy_kick_timer <= 0.0:
_try_enemy_kick()
var sep := Vector3.ZERO
for e in get_tree().get_nodes_in_group("enemies"):
if e == self:
continue
var en := e as Node3D
if en == null:
continue
var away := global_position - en.global_position
away.y = 0.0
var away_dist := away.length()
if away_dist < 2.2 and away_dist > 0.01:
sep += away.normalized() * (2.2 - away_dist)
if dist > 0.05:
var dir := diff.normalized()
velocity.x = dir.x * move_speed
velocity.z = dir.z * move_speed
rotation.y = lerp_angle(rotation.y, atan2(dir.x, dir.z), 8.0 * delta)
var move_dir := (dir + sep * 0.6).normalized()
velocity.x = move_dir.x * move_speed
velocity.z = move_dir.z * move_speed
rotation.y = lerp_angle(rotation.y, atan2(move_dir.x, move_dir.z), 8.0 * delta)
velocity.y = 0.0
move_and_slide()
@@ -138,25 +223,32 @@ func _try_enemy_kick() -> void:
var k := node as Node3D
if k == null or not is_instance_valid(k):
continue
#if k.get("kickable_type") == "stick":
#continue
var kfv = k.get("fly_vel")
if kfv != null and Vector2((kfv as Vector3).x, (kfv as Vector3).z).length() > 15.0:
continue
var d := (k.global_position - global_position)
d.y = 0.0
if d.length() < nearest_dist:
nearest_dist = d.length()
nearest_kickable = k
if nearest_kickable != null:
nearest_kickable.call("receive_kick", kick_dir, 35.0 + tier * 8.0)
_play_kick_blend()
nearest_kickable.call("receive_kick", kick_dir, 35.0 + kick_tier * 8.0)
FX.hit_spark(nearest_kickable.global_position + Vector3(0, 0.4, 0), get_parent(), Color(1.0, 0.72, 0.1))
kickable_kick_timer = KICKABLE_KICK_COOLDOWN
return
# 2. Kick lower-tier enemy nearest to player direction
if tier > 0:
# 2. Kick lower-toughness enemy nearest to player direction
if kick_tier > 0:
var nearest_enemy: Node3D = null
var nearest_enemy_dist := ENEMY_KICK_RANGE
for node in get_tree().get_nodes_in_group("enemies"):
var en := node as Node3D
if en == null or en == self or not is_instance_valid(en):
continue
if (en.get("tier") if en.get("tier") != null else 0) >= tier:
if (en.get("toughness_tier") if en.get("toughness_tier") != null else 0) >= kick_tier:
continue
var d := (en.global_position - global_position)
d.y = 0.0
@@ -164,15 +256,19 @@ func _try_enemy_kick() -> void:
nearest_enemy_dist = d.length()
nearest_enemy = en
if nearest_enemy != null:
nearest_enemy.call("receive_kick", kick_dir, 40.0 + tier * 10.0)
_play_kick_blend()
nearest_enemy.call("receive_kick", kick_dir, 40.0 + kick_tier * 10.0)
enemy_kick_timer = ENEMY_KICK_COOLDOWN
return
# 3. Kick player directly if lower tier and in range
if tier > 0 and to_player.length() < ENEMY_KICK_RANGE:
var player_tier: int = target.get("tier") if target.get("tier") != null else 0
if player_tier < tier:
target.call("receive_kick", kick_dir, 35.0 + tier * 8.0)
# 3. Kick player directly if lower toughness and in range
#if kick_tier > 0 and to_player.length() < ENEMY_KICK_RANGE:
if to_player.length() < ENEMY_KICK_RANGE:
var player_toughness: int = target.get("toughness_tier") if target.get("toughness_tier") != null else 0
if player_toughness < kick_tier:
_play_kick_blend()
target.call("receive_kick", kick_dir, 35.0 + kick_tier * 8.0)
FX.hit_spark(target.global_position + Vector3(0, 0.5, 0), get_parent(), Color(0.95, 0.18, 0.08))
enemy_kick_timer = ENEMY_KICK_COOLDOWN
func _fly(delta: float) -> void:
@@ -265,14 +361,22 @@ func _start_merge(other: Node) -> void:
tw.tween_property(other, "global_position", global_position, 0.2)
tw.tween_callback(_on_merge_complete)
static func _next_enemy_type(current: String) -> String:
match current:
"slime": return "bat"
"bat": return "ogre"
_: return "titan"
func _on_merge_complete() -> void:
var merge_pos := global_position
var merge_type := enemy_type
var merge_type := _next_enemy_type(enemy_type)
var new_level: int = enemy_level + 1
var new_wave: int = wave_num
var par := get_parent()
if is_instance_valid(merge_partner):
merge_pos = (global_position + merge_partner.global_position) / 2.0
merge_partner.queue_free()
FX.merge_smoke(merge_pos + Vector3(0, 0.3, 0), par)
queue_free()
emit_signal("merged", true)
var tree := get_tree()
@@ -292,6 +396,9 @@ func _enter_stun() -> void:
func _enter_chase() -> void:
state = State.CHASING
mat.albedo_color = COLOR_CHASE
mesh_node.rotation.y = 0.0
mesh_node1.rotation.y = 0.0
mesh_node2.rotation.y = 0.0
func _take_hit(dmg: int) -> void:
if state == State.DEAD:
@@ -300,6 +407,12 @@ func _take_hit(dmg: int) -> void:
if health <= 0:
_die()
func _play_kick_blend() -> void:
SFX.kick_enemy(get_parent())
if anim_player != null and anim_player.has_animation("kick"):
anim_player.stop()
anim_player.play("kick")
func _wall_impact_effect() -> void:
var tw := create_tween()
tw.tween_property(mat, "albedo_color", Color.WHITE, 0.04)
+20 -1
View File
@@ -12,7 +12,8 @@ const WALL_BOUNCE := 0.6
const WALL_SELF_DMG := 0.0
var kickable_type: String = "essence"
var tier: int = 3
var kick_tier: int = 0
var toughness_tier: int = 3
var state: State = State.IDLE
var fly_vel: Vector3 = Vector3.ZERO
var health: float = 999.0
@@ -21,6 +22,7 @@ var damage_modifier: float = 0.0
@onready var mesh_node: MeshInstance3D = $EssenceMesh
var essence_mat: StandardMaterial3D
var _tooltip: Label3D
func _ready() -> void:
add_to_group("kickable")
@@ -29,6 +31,23 @@ func _ready() -> void:
var tw := create_tween().set_loops()
tw.tween_property(self, "position:y", 0.35, 0.6)
tw.tween_property(self, "position:y", 0.15, 0.6)
_tooltip = Label3D.new()
_tooltip.text = "Magic Essence\nKick into\nEnchanting Table → Sphere"
_tooltip.billboard = BaseMaterial3D.BILLBOARD_ENABLED
_tooltip.font_size = 56
_tooltip.outline_size = 6
_tooltip.position = Vector3(0, 1.2, 0)
_tooltip.modulate = Color(0.85, 0.7, 1.0)
_tooltip.visible = false
add_child(_tooltip)
func _process(_delta: float) -> void:
if dead or state != State.IDLE:
_tooltip.visible = false
return
var players := get_tree().get_nodes_in_group("player")
_tooltip.visible = not players.is_empty() and \
(players[0] as Node3D).global_position.distance_to(global_position) < 2.5
func apply_collision_damage(_dmg: float) -> void:
pass

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