commit bc6eb6f4a67643dc2ffbc4ddc372dc54c3cb51aa Author: Booklordofthedings Date: Sat May 11 17:33:26 2024 +0200 initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Assets/Fonts/Geizer.otf b/Assets/Fonts/Geizer.otf new file mode 100644 index 0000000..6e7b25d Binary files /dev/null and b/Assets/Fonts/Geizer.otf differ diff --git a/Assets/Fonts/Geizer.otf.import b/Assets/Fonts/Geizer.otf.import new file mode 100644 index 0000000..5fd328a --- /dev/null +++ b/Assets/Fonts/Geizer.otf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dstkdot5rkpn3" +path="res://.godot/imported/Geizer.otf-9176377882776dbc8681d746c31717aa.fontdata" + +[deps] + +source_file="res://Assets/Fonts/Geizer.otf" +dest_files=["res://.godot/imported/Geizer.otf-9176377882776dbc8681d746c31717aa.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Assets/Fonts/Nohemi-Medium.ttf b/Assets/Fonts/Nohemi-Medium.ttf new file mode 100644 index 0000000..7511146 Binary files /dev/null and b/Assets/Fonts/Nohemi-Medium.ttf differ diff --git a/Assets/Fonts/Nohemi-Medium.ttf.import b/Assets/Fonts/Nohemi-Medium.ttf.import new file mode 100644 index 0000000..de31077 --- /dev/null +++ b/Assets/Fonts/Nohemi-Medium.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://b3xb5o6i5bxcg" +path="res://.godot/imported/Nohemi-Medium.ttf-cfae470c2f75c907d8add3c4a982ef76.fontdata" + +[deps] + +source_file="res://Assets/Fonts/Nohemi-Medium.ttf" +dest_files=["res://.godot/imported/Nohemi-Medium.ttf-cfae470c2f75c907d8add3c4a982ef76.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Assets/Fonts/alagard.ttf b/Assets/Fonts/alagard.ttf new file mode 100644 index 0000000..c7ed1d9 Binary files /dev/null and b/Assets/Fonts/alagard.ttf differ diff --git a/Assets/Fonts/alagard.ttf.import b/Assets/Fonts/alagard.ttf.import new file mode 100644 index 0000000..caa73d3 --- /dev/null +++ b/Assets/Fonts/alagard.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://c63bc80eb1jbi" +path="res://.godot/imported/alagard.ttf-ed7015ed0e84e70ec06fd3d65515ce04.fontdata" + +[deps] + +source_file="res://Assets/Fonts/alagard.ttf" +dest_files=["res://.godot/imported/alagard.ttf-ed7015ed0e84e70ec06fd3d65515ce04.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Assets/Music/Cruising for Goblins.mp3 b/Assets/Music/Cruising for Goblins.mp3 new file mode 100644 index 0000000..9cfa110 Binary files /dev/null and b/Assets/Music/Cruising for Goblins.mp3 differ diff --git a/Assets/Music/Cruising for Goblins.mp3.import b/Assets/Music/Cruising for Goblins.mp3.import new file mode 100644 index 0000000..1a24c7d --- /dev/null +++ b/Assets/Music/Cruising for Goblins.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://p8ndilt4fjcd" +path="res://.godot/imported/Cruising for Goblins.mp3-70f3453304422e0ba14591684400c674.mp3str" + +[deps] + +source_file="res://Assets/Music/Cruising for Goblins.mp3" +dest_files=["res://.godot/imported/Cruising for Goblins.mp3-70f3453304422e0ba14591684400c674.mp3str"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3 b/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3 new file mode 100644 index 0000000..254abf3 Binary files /dev/null and b/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3 differ diff --git a/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3.import b/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3.import new file mode 100644 index 0000000..48cf517 --- /dev/null +++ b/Assets/Music/Visager_-_Royal_Entrance_Loop.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://6nl4lyjdsai8" +path="res://.godot/imported/Visager_-_Royal_Entrance_Loop.mp3-628041defaa2ec1a92567c839cc71be2.mp3str" + +[deps] + +source_file="res://Assets/Music/Visager_-_Royal_Entrance_Loop.mp3" +dest_files=["res://.godot/imported/Visager_-_Royal_Entrance_Loop.mp3-628041defaa2ec1a92567c839cc71be2.mp3str"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Assets/Sfx/Hit_Hurt.wav b/Assets/Sfx/Hit_Hurt.wav new file mode 100644 index 0000000..ed85b72 Binary files /dev/null and b/Assets/Sfx/Hit_Hurt.wav differ diff --git a/Assets/Sfx/Hit_Hurt.wav.import b/Assets/Sfx/Hit_Hurt.wav.import new file mode 100644 index 0000000..c37bc86 --- /dev/null +++ b/Assets/Sfx/Hit_Hurt.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ccolt4y857ylf" +path="res://.godot/imported/Hit_Hurt.wav-351e3d3a95f651fdf6c1b9995f9fc407.sample" + +[deps] + +source_file="res://Assets/Sfx/Hit_Hurt.wav" +dest_files=["res://.godot/imported/Hit_Hurt.wav-351e3d3a95f651fdf6c1b9995f9fc407.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sfx/Pickup_Coin37.wav b/Assets/Sfx/Pickup_Coin37.wav new file mode 100644 index 0000000..754f2a4 Binary files /dev/null and b/Assets/Sfx/Pickup_Coin37.wav differ diff --git a/Assets/Sfx/Pickup_Coin37.wav.import b/Assets/Sfx/Pickup_Coin37.wav.import new file mode 100644 index 0000000..b8b16b6 --- /dev/null +++ b/Assets/Sfx/Pickup_Coin37.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bcttlwe7mh20m" +path="res://.godot/imported/Pickup_Coin37.wav-cd2f01e5770d49437bb62d9d89e9b4f9.sample" + +[deps] + +source_file="res://Assets/Sfx/Pickup_Coin37.wav" +dest_files=["res://.godot/imported/Pickup_Coin37.wav-cd2f01e5770d49437bb62d9d89e9b4f9.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/Assets/Sprites/Barrel/barrel.png b/Assets/Sprites/Barrel/barrel.png new file mode 100644 index 0000000..53eb89b Binary files /dev/null and b/Assets/Sprites/Barrel/barrel.png differ diff --git a/Assets/Sprites/Barrel/barrel.png.import b/Assets/Sprites/Barrel/barrel.png.import new file mode 100644 index 0000000..7f96eca --- /dev/null +++ b/Assets/Sprites/Barrel/barrel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbgblbmr60fw5" +path="res://.godot/imported/barrel.png-467a75bd87eddaf8820877c3acb7e223.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Barrel/barrel.png" +dest_files=["res://.godot/imported/barrel.png-467a75bd87eddaf8820877c3acb7e223.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 diff --git a/Assets/Sprites/Barrel/barrel_shadow.png b/Assets/Sprites/Barrel/barrel_shadow.png new file mode 100644 index 0000000..9ca5a0e Binary files /dev/null and b/Assets/Sprites/Barrel/barrel_shadow.png differ diff --git a/Assets/Sprites/Barrel/barrel_shadow.png.import b/Assets/Sprites/Barrel/barrel_shadow.png.import new file mode 100644 index 0000000..598fe57 --- /dev/null +++ b/Assets/Sprites/Barrel/barrel_shadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs041ghktl52y" +path="res://.godot/imported/barrel_shadow.png-e06f9f67e100cdaa793f9c00d436e2d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Barrel/barrel_shadow.png" +dest_files=["res://.godot/imported/barrel_shadow.png-e06f9f67e100cdaa793f9c00d436e2d3.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 diff --git a/Assets/Sprites/Common/button.png b/Assets/Sprites/Common/button.png new file mode 100644 index 0000000..66cf3e2 Binary files /dev/null and b/Assets/Sprites/Common/button.png differ diff --git a/Assets/Sprites/Common/button.png.import b/Assets/Sprites/Common/button.png.import new file mode 100644 index 0000000..8439d0c --- /dev/null +++ b/Assets/Sprites/Common/button.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbgm84o2dmo70" +path="res://.godot/imported/button.png-a1633af834a811361275dea7046f36b8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Common/button.png" +dest_files=["res://.godot/imported/button.png-a1633af834a811361275dea7046f36b8.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 diff --git a/Assets/Sprites/Common/button.png~ b/Assets/Sprites/Common/button.png~ new file mode 100644 index 0000000..563f9db Binary files /dev/null and b/Assets/Sprites/Common/button.png~ differ diff --git a/Assets/Sprites/Common/close.png b/Assets/Sprites/Common/close.png new file mode 100644 index 0000000..a9357f4 Binary files /dev/null and b/Assets/Sprites/Common/close.png differ diff --git a/Assets/Sprites/Common/close.png.import b/Assets/Sprites/Common/close.png.import new file mode 100644 index 0000000..41fc081 --- /dev/null +++ b/Assets/Sprites/Common/close.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4ofb0v5tinuc" +path="res://.godot/imported/close.png-2bc8b9d002852076dfb3f13a1038e4cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Common/close.png" +dest_files=["res://.godot/imported/close.png-2bc8b9d002852076dfb3f13a1038e4cb.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 diff --git a/Assets/Sprites/Common/close.png~ b/Assets/Sprites/Common/close.png~ new file mode 100644 index 0000000..836417f Binary files /dev/null and b/Assets/Sprites/Common/close.png~ differ diff --git a/Assets/Sprites/Common/coin.png b/Assets/Sprites/Common/coin.png new file mode 100644 index 0000000..0a10a68 Binary files /dev/null and b/Assets/Sprites/Common/coin.png differ diff --git a/Assets/Sprites/Common/coin.png.import b/Assets/Sprites/Common/coin.png.import new file mode 100644 index 0000000..d692c85 --- /dev/null +++ b/Assets/Sprites/Common/coin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpisp62o7qnmd" +path="res://.godot/imported/coin.png-52cc39207486dd924f2faefd647ecd34.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Common/coin.png" +dest_files=["res://.godot/imported/coin.png-52cc39207486dd924f2faefd647ecd34.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=0 diff --git a/Assets/Sprites/Common/coin.png~ b/Assets/Sprites/Common/coin.png~ new file mode 100644 index 0000000..0e7480d Binary files /dev/null and b/Assets/Sprites/Common/coin.png~ differ diff --git a/Assets/Sprites/Common/x64.png b/Assets/Sprites/Common/x64.png new file mode 100644 index 0000000..8d67ce4 Binary files /dev/null and b/Assets/Sprites/Common/x64.png differ diff --git a/Assets/Sprites/Common/x64.png.import b/Assets/Sprites/Common/x64.png.import new file mode 100644 index 0000000..f51c544 --- /dev/null +++ b/Assets/Sprites/Common/x64.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3uoeyoah1suf" +path="res://.godot/imported/x64.png-702f73c7888d945e0bb2a68a096fd894.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Common/x64.png" +dest_files=["res://.godot/imported/x64.png-702f73c7888d945e0bb2a68a096fd894.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 diff --git a/Assets/Sprites/Common/x64.png~ b/Assets/Sprites/Common/x64.png~ new file mode 100644 index 0000000..fde2ac0 Binary files /dev/null and b/Assets/Sprites/Common/x64.png~ differ diff --git a/Assets/Sprites/DeathMenu/Death Menu BG.png b/Assets/Sprites/DeathMenu/Death Menu BG.png new file mode 100644 index 0000000..16b743b Binary files /dev/null and b/Assets/Sprites/DeathMenu/Death Menu BG.png differ diff --git a/Assets/Sprites/DeathMenu/Death Menu BG.png.import b/Assets/Sprites/DeathMenu/Death Menu BG.png.import new file mode 100644 index 0000000..9d4dc3a --- /dev/null +++ b/Assets/Sprites/DeathMenu/Death Menu BG.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwrbgtkey86vv" +path="res://.godot/imported/Death Menu BG.png-2890d6928b7d1c65dbbcd19e4802ed03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/DeathMenu/Death Menu BG.png" +dest_files=["res://.godot/imported/Death Menu BG.png-2890d6928b7d1c65dbbcd19e4802ed03.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 diff --git a/Assets/Sprites/Game/background.png b/Assets/Sprites/Game/background.png new file mode 100644 index 0000000..c94e447 Binary files /dev/null and b/Assets/Sprites/Game/background.png differ diff --git a/Assets/Sprites/Game/background.png.import b/Assets/Sprites/Game/background.png.import new file mode 100644 index 0000000..01603d4 --- /dev/null +++ b/Assets/Sprites/Game/background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdwht7wa7w1vb" +path="res://.godot/imported/background.png-a9933d65dbaba4a61938d9a85a855cc8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Game/background.png" +dest_files=["res://.godot/imported/background.png-a9933d65dbaba4a61938d9a85a855cc8.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 diff --git a/Assets/Sprites/King/dust.png b/Assets/Sprites/King/dust.png new file mode 100644 index 0000000..fc08b78 Binary files /dev/null and b/Assets/Sprites/King/dust.png differ diff --git a/Assets/Sprites/King/dust.png.import b/Assets/Sprites/King/dust.png.import new file mode 100644 index 0000000..85bfbf3 --- /dev/null +++ b/Assets/Sprites/King/dust.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vkhiisoyjo5h" +path="res://.godot/imported/dust.png-1b57a260cd1ab4cc9222063b45c83e7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/King/dust.png" +dest_files=["res://.godot/imported/dust.png-1b57a260cd1ab4cc9222063b45c83e7d.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 diff --git a/Assets/Sprites/King/king_sprites.png b/Assets/Sprites/King/king_sprites.png new file mode 100644 index 0000000..321fc7d Binary files /dev/null and b/Assets/Sprites/King/king_sprites.png differ diff --git a/Assets/Sprites/King/king_sprites.png.import b/Assets/Sprites/King/king_sprites.png.import new file mode 100644 index 0000000..a23b770 --- /dev/null +++ b/Assets/Sprites/King/king_sprites.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxp1fwjenib47" +path="res://.godot/imported/king_sprites.png-265737c78a5f9657c2f6d520a33b965b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/King/king_sprites.png" +dest_files=["res://.godot/imported/king_sprites.png-265737c78a5f9657c2f6d520a33b965b.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 diff --git a/Assets/Sprites/MainMenu/Background.png b/Assets/Sprites/MainMenu/Background.png new file mode 100644 index 0000000..ce702d0 Binary files /dev/null and b/Assets/Sprites/MainMenu/Background.png differ diff --git a/Assets/Sprites/MainMenu/Background.png.import b/Assets/Sprites/MainMenu/Background.png.import new file mode 100644 index 0000000..a081fad --- /dev/null +++ b/Assets/Sprites/MainMenu/Background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt6i47nujjqup" +path="res://.godot/imported/Background.png-c2e13167c61fb609be5d666fc7fbc634.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/MainMenu/Background.png" +dest_files=["res://.godot/imported/Background.png-c2e13167c61fb609be5d666fc7fbc634.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 diff --git a/Assets/Sprites/MainMenu/Throne_Hall_Background.png b/Assets/Sprites/MainMenu/Throne_Hall_Background.png new file mode 100644 index 0000000..b31d7d8 Binary files /dev/null and b/Assets/Sprites/MainMenu/Throne_Hall_Background.png differ diff --git a/Assets/Sprites/MainMenu/Throne_Hall_Background.png.import b/Assets/Sprites/MainMenu/Throne_Hall_Background.png.import new file mode 100644 index 0000000..3bdcd75 --- /dev/null +++ b/Assets/Sprites/MainMenu/Throne_Hall_Background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3jlm6ggi8x2a" +path="res://.godot/imported/Throne_Hall_Background.png-f7203758696a4299e5193ef4ec211f2d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/MainMenu/Throne_Hall_Background.png" +dest_files=["res://.godot/imported/Throne_Hall_Background.png-f7203758696a4299e5193ef4ec211f2d.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 diff --git a/Assets/Sprites/Player/Dash_Icon.png b/Assets/Sprites/Player/Dash_Icon.png new file mode 100644 index 0000000..f023ac4 Binary files /dev/null and b/Assets/Sprites/Player/Dash_Icon.png differ diff --git a/Assets/Sprites/Player/Dash_Icon.png.import b/Assets/Sprites/Player/Dash_Icon.png.import new file mode 100644 index 0000000..5c73094 --- /dev/null +++ b/Assets/Sprites/Player/Dash_Icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bml0jkqp3brha" +path="res://.godot/imported/Dash_Icon.png-f726a0f48ce2824c5b6a7406340ba4f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Player/Dash_Icon.png" +dest_files=["res://.godot/imported/Dash_Icon.png-f726a0f48ce2824c5b6a7406340ba4f3.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 diff --git a/Assets/Sprites/Player/Dash_Icon.png~ b/Assets/Sprites/Player/Dash_Icon.png~ new file mode 100644 index 0000000..639655c Binary files /dev/null and b/Assets/Sprites/Player/Dash_Icon.png~ differ diff --git a/Assets/Sprites/Player/Scythe.png b/Assets/Sprites/Player/Scythe.png new file mode 100644 index 0000000..03ca71f Binary files /dev/null and b/Assets/Sprites/Player/Scythe.png differ diff --git a/Assets/Sprites/Player/Scythe.png.import b/Assets/Sprites/Player/Scythe.png.import new file mode 100644 index 0000000..c36ecaa --- /dev/null +++ b/Assets/Sprites/Player/Scythe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bm8efr33cimhi" +path="res://.godot/imported/Scythe.png-0ac663585c3259ef12cfecd6ca521d97.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Player/Scythe.png" +dest_files=["res://.godot/imported/Scythe.png-0ac663585c3259ef12cfecd6ca521d97.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 diff --git a/Assets/Sprites/Player/attack_symbol.png b/Assets/Sprites/Player/attack_symbol.png new file mode 100644 index 0000000..e0238ec Binary files /dev/null and b/Assets/Sprites/Player/attack_symbol.png differ diff --git a/Assets/Sprites/Player/attack_symbol.png.import b/Assets/Sprites/Player/attack_symbol.png.import new file mode 100644 index 0000000..619c771 --- /dev/null +++ b/Assets/Sprites/Player/attack_symbol.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ssux2eyw1q5k" +path="res://.godot/imported/attack_symbol.png-97c6558d8d38868e1622508b7f6697ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Player/attack_symbol.png" +dest_files=["res://.godot/imported/attack_symbol.png-97c6558d8d38868e1622508b7f6697ff.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 diff --git a/Assets/Sprites/Player/player_sprites.png b/Assets/Sprites/Player/player_sprites.png new file mode 100644 index 0000000..86f62d6 Binary files /dev/null and b/Assets/Sprites/Player/player_sprites.png differ diff --git a/Assets/Sprites/Player/player_sprites.png.import b/Assets/Sprites/Player/player_sprites.png.import new file mode 100644 index 0000000..c97973a --- /dev/null +++ b/Assets/Sprites/Player/player_sprites.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b51wfwymat088" +path="res://.godot/imported/player_sprites.png-a311e1341ce05f0347863cbb62f9b13c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Player/player_sprites.png" +dest_files=["res://.godot/imported/player_sprites.png-a311e1341ce05f0347863cbb62f9b13c.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 diff --git a/Assets/Sprites/Shop/Top.png b/Assets/Sprites/Shop/Top.png new file mode 100644 index 0000000..5acc945 Binary files /dev/null and b/Assets/Sprites/Shop/Top.png differ diff --git a/Assets/Sprites/Shop/Top.png.import b/Assets/Sprites/Shop/Top.png.import new file mode 100644 index 0000000..1c279f0 --- /dev/null +++ b/Assets/Sprites/Shop/Top.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fb1y4fjs8j1j" +path="res://.godot/imported/Top.png-e332979fb8393ebc40edb36461a83363.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Shop/Top.png" +dest_files=["res://.godot/imported/Top.png-e332979fb8393ebc40edb36461a83363.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 diff --git a/Assets/Sprites/Shop/Top.png~ b/Assets/Sprites/Shop/Top.png~ new file mode 100644 index 0000000..7c870bc Binary files /dev/null and b/Assets/Sprites/Shop/Top.png~ differ diff --git a/Assets/Sprites/Shop/bars.png b/Assets/Sprites/Shop/bars.png new file mode 100644 index 0000000..842d47d Binary files /dev/null and b/Assets/Sprites/Shop/bars.png differ diff --git a/Assets/Sprites/Shop/bars.png.import b/Assets/Sprites/Shop/bars.png.import new file mode 100644 index 0000000..0fe1b0b --- /dev/null +++ b/Assets/Sprites/Shop/bars.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dul2sp8thx21m" +path="res://.godot/imported/bars.png-62e3c7521ea782ff613468dbc2722d98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Shop/bars.png" +dest_files=["res://.godot/imported/bars.png-62e3c7521ea782ff613468dbc2722d98.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 diff --git a/Assets/Sprites/Shop/bars.png~ b/Assets/Sprites/Shop/bars.png~ new file mode 100644 index 0000000..b94e5af Binary files /dev/null and b/Assets/Sprites/Shop/bars.png~ differ diff --git a/Scenes/Barrel.tscn b/Scenes/Barrel.tscn new file mode 100644 index 0000000..ca3f1c8 --- /dev/null +++ b/Scenes/Barrel.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=5 format=3 uid="uid://btpk6fvkdlvr6"] + +[ext_resource type="Texture2D" uid="uid://dbgblbmr60fw5" path="res://Assets/Sprites/Barrel/barrel.png" id="1_1vomi"] +[ext_resource type="Script" path="res://Scripts/barrel.gd" id="1_jq6m2"] +[ext_resource type="Texture2D" uid="uid://bs041ghktl52y" path="res://Assets/Sprites/Barrel/barrel_shadow.png" id="2_ymdf8"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_1x2ma"] +size = Vector2(11, 12) + +[node name="Barrel" type="CharacterBody2D" node_paths=PackedStringArray("sprite")] +z_index = 3 +scale = Vector2(2, 2) +collision_layer = 4 +collision_mask = 18 +script = ExtResource("1_jq6m2") +sprite = NodePath("Barrel") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-0.5, 0) +shape = SubResource("RectangleShape2D_1x2ma") + +[node name="Barrel" type="Sprite2D" parent="."] +z_index = 1 +texture = ExtResource("1_1vomi") + +[node name="Shadow" type="Sprite2D" parent="."] +texture = ExtResource("2_ymdf8") diff --git a/Scenes/Credits.tscn b/Scenes/Credits.tscn new file mode 100644 index 0000000..0b83b79 --- /dev/null +++ b/Scenes/Credits.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=2 format=3 uid="uid://b2pavlwm6nug4"] + +[ext_resource type="PackedScene" uid="uid://cnk5olkd81ctk" path="res://Scenes/Guide.tscn" id="1_kc7ia"] + +[node name="Guide" instance=ExtResource("1_kc7ia")] + +[node name="Label" parent="TextureRect/MarginContainer" index="0"] +text = "Remake of a gamejam game made in 48 hours for the GMTK 2023 gamejam +Made by Four Fun Games: Jannis, Leon, Fabio, Johannes +Music used: + +Cruising for Goblins + Kevin MacLeod (incompetech.com) +Licensed under Creative Commons: By Attribution 4.0 License + +Royal Entrance Loop Visager +Licensed under Creative Commons: By Attribution 4.0 License + +http://creativecommons.org/licenses/by/4.0/" + +[node name="Sprite2D" parent="Node2D" index="0"] +position = Vector2(553, 296) diff --git a/Scenes/DeathMenu.tscn b/Scenes/DeathMenu.tscn new file mode 100644 index 0000000..ae76ace --- /dev/null +++ b/Scenes/DeathMenu.tscn @@ -0,0 +1,141 @@ +[gd_scene load_steps=7 format=3 uid="uid://dn57ngg87odpm"] + +[ext_resource type="Script" path="res://Scripts/Startmenu.gd" id="1_3irv2"] +[ext_resource type="Texture2D" uid="uid://bwrbgtkey86vv" path="res://Assets/Sprites/DeathMenu/Death Menu BG.png" id="2_7cf06"] +[ext_resource type="Texture2D" uid="uid://dbgm84o2dmo70" path="res://Assets/Sprites/Common/button.png" id="3_kqy8x"] +[ext_resource type="Script" path="res://Scripts/DeathLabel.gd" id="4_bg0x1"] +[ext_resource type="FontFile" uid="uid://c63bc80eb1jbi" path="res://Assets/Fonts/alagard.ttf" id="4_txgdt"] +[ext_resource type="Texture2D" uid="uid://bpisp62o7qnmd" path="res://Assets/Sprites/Common/coin.png" id="5_6o1p5"] + +[node name="Startmenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_3irv2") + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +scale = Vector2(1, 1.00858) +texture = ExtResource("2_7cf06") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="TextureRect" type="TextureRect" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +texture = ExtResource("5_6o1p5") +stretch_mode = 2 + +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_txgdt") +text = "23423" +horizontal_alignment = 1 +vertical_alignment = 1 +script = ExtResource("4_bg0x1") + +[node name="TextureButton2" type="TextureButton" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = ExtResource("3_kqy8x") + +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/TextureButton2"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_txgdt") +text = "Restart +" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureButton3" type="TextureButton" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = ExtResource("3_kqy8x") + +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/TextureButton3"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_txgdt") +text = "Shop +" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureButton4" type="TextureButton" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +texture_normal = ExtResource("3_kqy8x") + +[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/TextureButton4"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_txgdt") +text = "Quit" +horizontal_alignment = 1 +vertical_alignment = 1 + +[connection signal="pressed" from="MarginContainer/VBoxContainer/TextureButton2" to="." method="start"] +[connection signal="pressed" from="MarginContainer/VBoxContainer/TextureButton3" to="." method="store"] +[connection signal="pressed" from="MarginContainer/VBoxContainer/TextureButton4" to="." method="exit"] diff --git a/Scenes/Game.tscn b/Scenes/Game.tscn new file mode 100644 index 0000000..9c3cd69 --- /dev/null +++ b/Scenes/Game.tscn @@ -0,0 +1,112 @@ +[gd_scene load_steps=13 format=3 uid="uid://be6qvivte1us3"] + +[ext_resource type="Script" path="res://Scripts/game.gd" id="1_4ifms"] +[ext_resource type="Texture2D" uid="uid://bdwht7wa7w1vb" path="res://Assets/Sprites/Game/background.png" id="1_l02gg"] +[ext_resource type="PackedScene" uid="uid://dccdpyni3p6uk" path="res://Scenes/King.tscn" id="2_5xqhl"] +[ext_resource type="PackedScene" uid="uid://btpk6fvkdlvr6" path="res://Scenes/Barrel.tscn" id="3_f6nte"] +[ext_resource type="Texture2D" uid="uid://bpisp62o7qnmd" path="res://Assets/Sprites/Common/coin.png" id="5_a5osa"] +[ext_resource type="FontFile" uid="uid://dstkdot5rkpn3" path="res://Assets/Fonts/Geizer.otf" id="6_t7gjj"] +[ext_resource type="PackedScene" uid="uid://ch8xy86i17qvu" path="res://Scenes/Player.tscn" id="7_f8j10"] +[ext_resource type="AudioStream" uid="uid://p8ndilt4fjcd" path="res://Assets/Music/Cruising for Goblins.mp3" id="8_k3kms"] + +[sub_resource type="Curve" id="Curve_donad"] +max_value = 2.0 +_data = [Vector2(0, 1.97895), 0.0, -13.9989, 0, 0, Vector2(0.495451, 0.589474), -2.82808, -2.82808, 0, 0, Vector2(1, 0.0421052), -3.36167, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bu2hi"] +size = Vector2(652, 50) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_hucd0"] +size = Vector2(45, 681) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_g76x5"] +size = Vector2(1193, 102) + +[node name="Game" type="Node" node_paths=PackedStringArray("lbl")] +script = ExtResource("1_4ifms") +curve = SubResource("Curve_donad") +toSpawn = ExtResource("3_f6nte") +lbl = NodePath("Control/MarginContainer/HBoxContainer/Label") + +[node name="Background" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TextureRect" type="TextureRect" parent="Background"] +texture_filter = 1 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_l02gg") + +[node name="Walls" type="Node2D" parent="."] + +[node name="StaticBody2D" type="StaticBody2D" parent="Walls" groups=["Walls"]] +collision_mask = 3 + +[node name="UpperWall" type="CollisionShape2D" parent="Walls/StaticBody2D"] +position = Vector2(318, 39) +shape = SubResource("RectangleShape2D_bu2hi") + +[node name="RightWall" type="CollisionShape2D" parent="Walls/StaticBody2D"] +position = Vector2(662, 280) +shape = SubResource("RectangleShape2D_hucd0") + +[node name="LowerWall" type="CollisionShape2D" parent="Walls/StaticBody2D"] +position = Vector2(545, 411) +shape = SubResource("RectangleShape2D_g76x5") + +[node name="King" parent="." instance=ExtResource("2_5xqhl")] +position = Vector2(176, 262) +speed = 250 +hor_speed = 80 + +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MarginContainer" type="MarginContainer" parent="Control"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +theme_override_constants/margin_left = 15 +theme_override_constants/margin_top = 15 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="HBoxContainer" type="HBoxContainer" parent="Control/MarginContainer"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="Control/MarginContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource("5_a5osa") +stretch_mode = 2 + +[node name="Label" type="Label" parent="Control/MarginContainer/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("6_t7gjj") +theme_override_font_sizes/font_size = 30 +text = "100" +vertical_alignment = 1 + +[node name="Player" parent="." instance=ExtResource("7_f8j10")] + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("8_k3kms") +volume_db = -18.0 +autoplay = true diff --git a/Scenes/Guide.tscn b/Scenes/Guide.tscn new file mode 100644 index 0000000..4c55126 --- /dev/null +++ b/Scenes/Guide.tscn @@ -0,0 +1,89 @@ +[gd_scene load_steps=6 format=3 uid="uid://cnk5olkd81ctk"] + +[ext_resource type="Script" path="res://Scripts/Startmenu.gd" id="1_5gb04"] +[ext_resource type="Texture2D" uid="uid://bdwht7wa7w1vb" path="res://Assets/Sprites/Game/background.png" id="1_xf5vr"] +[ext_resource type="Texture2D" uid="uid://dbgm84o2dmo70" path="res://Assets/Sprites/Common/button.png" id="2_fn88k"] +[ext_resource type="FontFile" uid="uid://c63bc80eb1jbi" path="res://Assets/Fonts/alagard.ttf" id="2_u165l"] +[ext_resource type="Texture2D" uid="uid://b51wfwymat088" path="res://Assets/Sprites/Player/player_sprites.png" id="4_5orpf"] + +[node name="Guide" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_5gb04") + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_xf5vr") + +[node name="MarginContainer" type="MarginContainer" parent="TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 40.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="Label" type="Label" parent="TextureRect/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("2_u165l") +text = "1: Keep the king alive! +2: Barrels stun and knockback the king +3: If he gets knocked out of the screen he dies +4: Use your attack [Space] to destroy barrels +5: Protecting the king grants coins +6: Use coins in the shop after the rounds to upgrade +7: Try to get the highest possible score" + +[node name="TextureButton" type="TextureButton" parent="TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 541.0 +offset_top = 4.0 +offset_right = -4.0 +offset_bottom = -325.0 +grow_horizontal = 2 +grow_vertical = 2 +texture_normal = ExtResource("2_fn88k") + +[node name="Label" type="Label" parent="TextureRect/TextureButton"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("2_u165l") +text = "Exit" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Node2D" type="Node2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="Node2D"] +position = Vector2(66, 97) +texture = ExtResource("4_5orpf") +hframes = 4 +vframes = 2 + +[connection signal="pressed" from="TextureRect/TextureButton" to="." method="main"] diff --git a/Scenes/King.tscn b/Scenes/King.tscn new file mode 100644 index 0000000..3c322d1 --- /dev/null +++ b/Scenes/King.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=6 format=3 uid="uid://dccdpyni3p6uk"] + +[ext_resource type="Script" path="res://Scripts/king.gd" id="1_3kwt6"] +[ext_resource type="Texture2D" uid="uid://dxp1fwjenib47" path="res://Assets/Sprites/King/king_sprites.png" id="1_4ianp"] +[ext_resource type="Texture2D" uid="uid://vkhiisoyjo5h" path="res://Assets/Sprites/King/dust.png" id="3_q66j1"] +[ext_resource type="AudioStream" uid="uid://ccolt4y857ylf" path="res://Assets/Sfx/Hit_Hurt.wav" id="4_b0bk5"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_qictc"] +radius = 44.0 +height = 170.0 + +[node name="King" type="CharacterBody2D" node_paths=PackedStringArray("player", "stunned_sprite")] +scale = Vector2(0.2, 0.2) +collision_layer = 2 +collision_mask = 5 +script = ExtResource("1_3kwt6") +speed = 200 +player = NodePath("AudioStreamPlayer") +stunned_sprite = NodePath("Sprite2D2") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_4ianp") +hframes = 12 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CapsuleShape2D_qictc") + +[node name="Sprite2D2" type="Sprite2D" parent="."] +position = Vector2(140, 5) +scale = Vector2(6, 6) +texture = ExtResource("3_q66j1") + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("4_b0bk5") +volume_db = -7.647 diff --git a/Scenes/Player.tscn b/Scenes/Player.tscn new file mode 100644 index 0000000..40ce5bd --- /dev/null +++ b/Scenes/Player.tscn @@ -0,0 +1,122 @@ +[gd_scene load_steps=10 format=3 uid="uid://ch8xy86i17qvu"] + +[ext_resource type="Texture2D" uid="uid://b51wfwymat088" path="res://Assets/Sprites/Player/player_sprites.png" id="1_6nhjj"] +[ext_resource type="Script" path="res://Scripts/player.gd" id="1_w3ppi"] +[ext_resource type="PackedScene" uid="uid://cgemj3ru8ftlu" path="res://Scenes/Projectiles.tscn" id="2_umyvx"] +[ext_resource type="Texture2D" uid="uid://ssux2eyw1q5k" path="res://Assets/Sprites/Player/attack_symbol.png" id="3_q0xqy"] +[ext_resource type="Script" path="res://Scripts/attack.gd" id="4_qwbl8"] +[ext_resource type="Texture2D" uid="uid://bm8efr33cimhi" path="res://Assets/Sprites/Player/Scythe.png" id="4_te721"] +[ext_resource type="Texture2D" uid="uid://bml0jkqp3brha" path="res://Assets/Sprites/Player/Dash_Icon.png" id="6_v3sm1"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_b5klm"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_7rn7q"] +radius = 36.0 +height = 152.0 + +[node name="Player" type="Node"] + +[node name="CharacterBody2D" type="CharacterBody2D" parent="." node_paths=PackedStringArray("attack", "ability", "dash_abilit", "toRotate")] +collision_layer = 8 +script = ExtResource("1_w3ppi") +speed = 100.0 +attack = NodePath("Area2D") +ability = NodePath("../Control/MarginContainer/HBoxContainer/VBoxContainer/TextureProgressBar") +dash_abilit = NodePath("../Control/MarginContainer/HBoxContainer/VBoxContainer2/TextureProgressBar") +toRotate = NodePath("Area2D/Sprite2D") +projectile = ExtResource("2_umyvx") + +[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"] +texture = ExtResource("1_6nhjj") +hframes = 4 +vframes = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"] +shape = SubResource("CircleShape2D_b5klm") + +[node name="Area2D" type="Area2D" parent="CharacterBody2D"] +position = Vector2(21, 2) +collision_layer = 16 +collision_mask = 4 +monitoring = false +script = ExtResource("4_qwbl8") + +[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D/Area2D"] +position = Vector2(-5, -2) +scale = Vector2(1.5, 1.5) +texture = ExtResource("4_te721") +centered = false +offset = Vector2(0, -16) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D/Area2D"] +scale = Vector2(0.25, 0.25) +shape = SubResource("CapsuleShape2D_7rn7q") + +[node name="Control" type="Control" parent="."] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="MarginContainer" type="MarginContainer" parent="Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="HBoxContainer" type="HBoxContainer" parent="Control/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 0 + +[node name="VBoxContainer" type="VBoxContainer" parent="Control/MarginContainer/HBoxContainer"] +layout_mode = 2 + +[node name="TextureProgressBar" type="TextureProgressBar" parent="Control/MarginContainer/HBoxContainer/VBoxContainer"] +z_index = 1 +texture_filter = 1 +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +step = 0.1 +value = 100.0 +fill_mode = 4 +texture_progress = ExtResource("3_q0xqy") + +[node name="Label" type="Label" parent="Control/MarginContainer/HBoxContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 +theme_override_font_sizes/font_size = 8 +text = "[Space]" + +[node name="VBoxContainer2" type="VBoxContainer" parent="Control/MarginContainer/HBoxContainer"] +layout_mode = 2 + +[node name="TextureProgressBar" type="TextureProgressBar" parent="Control/MarginContainer/HBoxContainer/VBoxContainer2"] +z_index = 1 +texture_filter = 1 +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +step = 0.1 +value = 100.0 +fill_mode = 4 +texture_progress = ExtResource("6_v3sm1") + +[node name="Label" type="Label" parent="Control/MarginContainer/HBoxContainer/VBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 +theme_override_font_sizes/font_size = 8 +text = "[Shift]" + +[connection signal="body_entered" from="CharacterBody2D/Area2D" to="CharacterBody2D/Area2D" method="_on_area_entered"] diff --git a/Scenes/Projectiles.tscn b/Scenes/Projectiles.tscn new file mode 100644 index 0000000..a0904d0 --- /dev/null +++ b/Scenes/Projectiles.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=4 format=3 uid="uid://cgemj3ru8ftlu"] + +[ext_resource type="Script" path="res://Scripts/Projectiles.gd" id="1_djvfs"] +[ext_resource type="Texture2D" uid="uid://bm8efr33cimhi" path="res://Assets/Sprites/Player/Scythe.png" id="1_eniyj"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_k8qud"] + +[node name="Projectiles" type="CharacterBody2D"] +collision_layer = 16 +collision_mask = 4 +script = ExtResource("1_djvfs") + +[node name="Sprite2D" type="Sprite2D" parent="."] +z_index = 1 +texture = ExtResource("1_eniyj") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_k8qud") diff --git a/Scenes/Shop.tscn b/Scenes/Shop.tscn new file mode 100644 index 0000000..0547ed8 --- /dev/null +++ b/Scenes/Shop.tscn @@ -0,0 +1,170 @@ +[gd_scene load_steps=10 format=3 uid="uid://d2j6k7b535t1y"] + +[ext_resource type="Script" path="res://Scripts/Shop.gd" id="1_63544"] +[ext_resource type="Texture2D" uid="uid://fb1y4fjs8j1j" path="res://Assets/Sprites/Shop/Top.png" id="1_bl2b5"] +[ext_resource type="Texture2D" uid="uid://bpisp62o7qnmd" path="res://Assets/Sprites/Common/coin.png" id="1_r5fvu"] +[ext_resource type="Texture2D" uid="uid://bdwht7wa7w1vb" path="res://Assets/Sprites/Game/background.png" id="2_aa107"] +[ext_resource type="FontFile" uid="uid://dstkdot5rkpn3" path="res://Assets/Fonts/Geizer.otf" id="2_i7t3o"] +[ext_resource type="PackedScene" uid="uid://b45aueh2df3q3" path="res://Scenes/ShopItem.tscn" id="4_4om5k"] +[ext_resource type="Texture2D" uid="uid://dbgm84o2dmo70" path="res://Assets/Sprites/Common/button.png" id="4_60q3q"] +[ext_resource type="Script" path="res://Scripts/Startmenu.gd" id="5_k8ddq"] +[ext_resource type="FontFile" uid="uid://c63bc80eb1jbi" path="res://Assets/Fonts/alagard.ttf" id="7_bxpec"] + +[node name="Shop" type="Node"] + +[node name="Control" type="Control" parent="." node_paths=PackedStringArray("coin_label")] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_63544") +coin_label = NodePath("MarginContainer/Coins/HBoxContainer/Label") + +[node name="TextureRect2" type="TextureRect" parent="Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_aa107") + +[node name="TextureRect" type="TextureRect" parent="Control"] +visible = false +layout_mode = 0 +offset_right = 640.0 +offset_bottom = 100.0 +texture = ExtResource("1_bl2b5") + +[node name="MarginContainer" type="MarginContainer" parent="Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_bottom = -260.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 15 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="Title" type="Label" parent="Control/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_outline_color = Color(1, 1, 1, 1) +theme_override_constants/outline_size = 6 +theme_override_fonts/font = ExtResource("2_i7t3o") +theme_override_font_sizes/font_size = 80 +text = "Shop" + +[node name="Coins" type="Panel" parent="Control/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 0 + +[node name="HBoxContainer" type="HBoxContainer" parent="Control/MarginContainer/Coins"] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -92.0 +offset_bottom = 26.0 +grow_horizontal = 0 + +[node name="Label" type="Label" parent="Control/MarginContainer/Coins/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("7_bxpec") +theme_override_font_sizes/font_size = 15 +text = "sadsadsa" +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="Control/MarginContainer/Coins/HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 +texture = ExtResource("1_r5fvu") +stretch_mode = 2 + +[node name="TextureButton" type="TextureButton" parent="Control/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 8 +texture_normal = ExtResource("4_60q3q") +script = ExtResource("5_k8ddq") + +[node name="Label" type="Label" parent="Control/MarginContainer/TextureButton"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("7_bxpec") +text = "Back" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ScrollContainer" type="ScrollContainer" parent="Control"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 0.278 +anchor_right = 1.0 +anchor_bottom = 1.00278 +offset_top = -0.0800095 +metadata/_edit_use_anchors_ = true + +[node name="VBoxContainer" type="VBoxContainer" parent="Control/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="More_Right" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "more_right" +cost = 60 +title = "Safety Training" +description = "The King tries to keep himself alive longer by trying to stay further to the right" + +[node name="Quick_Attack" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "quick_attack" +cost = 120 +title = "Quick Attack" +description = "Reduces your attack cooldown, to make it easier to protect the king" + +[node name="Less_Stun" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "less_stun" +cost = 200 +title = "Pain Medication" +description = "Reduces the amount of time that the king will be stunned after being hit by a person sized barrel." + +[node name="Less_Knockback" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "less_knockback" +cost = 300 +title = "Less Knockback" +description = "Reduces the amount of knockback the king takes when being hit" + +[node name="Passive_Income" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "passive_income" +cost = 400 +title = "Passive Income" +description = "Recycles undestroyed barrels to increase income per barrel by 50%" + +[node name="Barrel_Uncertainty" parent="Control/ScrollContainer/VBoxContainer" instance=ExtResource("4_4om5k")] +layout_mode = 2 +id = "barrel_uncertainty" +cost = 600 +title = "Uncertain Barrels" +description = "Makes barrrels not spawn with a 1/5 chance" + +[connection signal="pressed" from="Control/MarginContainer/TextureButton" to="Control/MarginContainer/TextureButton" method="start"] diff --git a/Scenes/ShopItem.tscn b/Scenes/ShopItem.tscn new file mode 100644 index 0000000..250163f --- /dev/null +++ b/Scenes/ShopItem.tscn @@ -0,0 +1,103 @@ +[gd_scene load_steps=11 format=3 uid="uid://b45aueh2df3q3"] + +[ext_resource type="Texture2D" uid="uid://bpisp62o7qnmd" path="res://Assets/Sprites/Common/coin.png" id="1_olk3t"] +[ext_resource type="Texture2D" uid="uid://dul2sp8thx21m" path="res://Assets/Sprites/Shop/bars.png" id="1_pldl3"] +[ext_resource type="Texture2D" uid="uid://b3uoeyoah1suf" path="res://Assets/Sprites/Common/x64.png" id="2_cuthy"] +[ext_resource type="Script" path="res://Scripts/shopItem.gd" id="2_wgw52"] +[ext_resource type="FontFile" uid="uid://dstkdot5rkpn3" path="res://Assets/Fonts/Geizer.otf" id="3_ptq8y"] +[ext_resource type="FontFile" uid="uid://c63bc80eb1jbi" path="res://Assets/Fonts/alagard.ttf" id="5_tflj7"] +[ext_resource type="AudioStream" uid="uid://bcttlwe7mh20m" path="res://Assets/Sfx/Pickup_Coin37.wav" id="7_0o4fu"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_y3w4a"] +content_margin_left = 0.0 +content_margin_top = 0.0 +content_margin_right = 0.0 +content_margin_bottom = 0.0 +texture = ExtResource("1_pldl3") + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7vf81"] +content_margin_left = 3.0 +content_margin_top = 2.0 +content_margin_right = 3.0 +content_margin_bottom = 3.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5of4t"] +bg_color = Color(0, 0, 0, 0.513726) + +[node name="PanelContainer" type="PanelContainer" node_paths=PackedStringArray("item_title_label", "item_cost_label", "item_description_label", "item_icon", "item_unavailable", "sound")] +theme_override_styles/panel = SubResource("StyleBoxTexture_y3w4a") +script = ExtResource("2_wgw52") +cost = 0 +texture = ExtResource("2_cuthy") +item_title_label = NodePath("PanelContainer/VBoxContainer2/HBoxContainer/VBoxContainer/Title") +item_cost_label = NodePath("PanelContainer/VBoxContainer2/HBoxContainer2/Label") +item_description_label = NodePath("PanelContainer/VBoxContainer2/HBoxContainer/VBoxContainer/Description") +item_icon = NodePath("PanelContainer/VBoxContainer2/HBoxContainer/TextureRect") +item_unavailable = NodePath("Panel") +sound = NodePath("AudioStreamPlayer") + +[node name="PanelContainer" type="PanelContainer" parent="."] +layout_mode = 2 +mouse_filter = 1 +theme_override_styles/panel = SubResource("StyleBoxEmpty_7vf81") + +[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer"] +layout_mode = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer2"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer2/HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 +texture = ExtResource("2_cuthy") + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="Title" type="Label" parent="PanelContainer/VBoxContainer2/HBoxContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_ptq8y") +theme_override_font_sizes/font_size = 20 +text = "Pettable Dogs" + +[node name="Description" type="Label" parent="PanelContainer/VBoxContainer2/HBoxContainer/VBoxContainer"] +layout_mode = 2 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("5_tflj7") +theme_override_font_sizes/font_size = 12 +text = "Makes dogs even more pettable" + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 8 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer2/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_constants/line_spacing = 0 +theme_override_fonts/font = ExtResource("5_tflj7") +theme_override_font_sizes/font_size = 12 +text = "0" + +[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer2/HBoxContainer2"] +layout_mode = 2 +size_flags_vertical = 4 +texture = ExtResource("1_olk3t") + +[node name="Panel" type="Panel" parent="."] +layout_mode = 2 +mouse_filter = 1 +theme_override_styles/panel = SubResource("StyleBoxFlat_5of4t") + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("7_0o4fu") + +[connection signal="mouse_entered" from="." to="." method="on_entered"] +[connection signal="mouse_exited" from="." to="." method="on_exited"] diff --git a/Scenes/Startmenu.tscn b/Scenes/Startmenu.tscn new file mode 100644 index 0000000..70032e5 --- /dev/null +++ b/Scenes/Startmenu.tscn @@ -0,0 +1,150 @@ +[gd_scene load_steps=6 format=3 uid="uid://dmopqu5t30e8x"] + +[ext_resource type="Texture2D" uid="uid://bt6i47nujjqup" path="res://Assets/Sprites/MainMenu/Background.png" id="1_pxgey"] +[ext_resource type="Script" path="res://Scripts/Startmenu.gd" id="1_wtm2v"] +[ext_resource type="Texture2D" uid="uid://dbgm84o2dmo70" path="res://Assets/Sprites/Common/button.png" id="3_67741"] +[ext_resource type="FontFile" uid="uid://c63bc80eb1jbi" path="res://Assets/Fonts/alagard.ttf" id="4_dux0d"] +[ext_resource type="AudioStream" uid="uid://6nl4lyjdsai8" path="res://Assets/Music/Visager_-_Royal_Entrance_Loop.mp3" id="5_h3jfm"] + +[node name="Startmenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_wtm2v") + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_pxgey") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 5 +theme_override_constants/margin_top = 5 +theme_override_constants/margin_right = 5 +theme_override_constants/margin_bottom = 5 + +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 + +[node name="TextureButton" type="TextureButton" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_67741") + +[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/TextureButton"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_dux0d") +text = "Start Game" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureButton2" type="TextureButton" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_67741") + +[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/TextureButton2"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_dux0d") +text = "Guide +" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureButton3" type="TextureButton" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_67741") + +[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/TextureButton3"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_dux0d") +text = "Credits +" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureButton4" type="TextureButton" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_67741") + +[node name="Label" type="Label" parent="MarginContainer/HBoxContainer/TextureButton4"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -47.5 +offset_top = -15.5 +offset_right = 47.5 +offset_bottom = 15.5 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.941176, 0.709804, 0.254902, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_fonts/font = ExtResource("4_dux0d") +text = "Quit" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("5_h3jfm") +volume_db = -15.0 +autoplay = true + +[connection signal="pressed" from="MarginContainer/HBoxContainer/TextureButton" to="." method="start"] +[connection signal="pressed" from="MarginContainer/HBoxContainer/TextureButton2" to="." method="guide"] +[connection signal="pressed" from="MarginContainer/HBoxContainer/TextureButton3" to="." method="credits"] +[connection signal="pressed" from="MarginContainer/HBoxContainer/TextureButton4" to="." method="exit"] diff --git a/Scripts/DeathLabel.gd b/Scripts/DeathLabel.gd new file mode 100644 index 0000000..fec77a2 --- /dev/null +++ b/Scripts/DeathLabel.gd @@ -0,0 +1,11 @@ +extends Label + + +# Called when the node enters the scene tree for the first time. +func _ready(): + text = str(int(get_node("/root/DataStore").read("coins", 0))-int(get_node("/root/Scorekeeper").score)) + " + " + str(int(get_node("/root/Scorekeeper").score)) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/Scripts/Globals/data_store.gd b/Scripts/Globals/data_store.gd new file mode 100644 index 0000000..2f25e9d --- /dev/null +++ b/Scripts/Globals/data_store.gd @@ -0,0 +1,24 @@ +extends Node + +var save_config : ConfigFile + +## Initial load and parse +func _ready(): + save_config = ConfigFile.new() + var err = save_config.load("user://save") + if err: + return + +## Read a value with the given string key +func read(key : String, default : Variant): + return save_config.get_value("save", key, default) + +## Write a key +func write(key : String, value : Variant): + save_config.set_value("save",key,value) + save_config.save("user://save") + +## Reset the savefile +func reset(): + save_config.clear() + save_config.save("user://save") diff --git a/Scripts/Globals/scorekeeper.gd b/Scripts/Globals/scorekeeper.gd new file mode 100644 index 0000000..d3e3ccb --- /dev/null +++ b/Scripts/Globals/scorekeeper.gd @@ -0,0 +1,34 @@ +extends Node + +var score : float = 0 +var doScore : bool = false +var scoreMult = 0.5 + + +func _ready(): + var pi = get_node("/root/DataStore").read("coins", 0) + if pi: + scoreMult = 0.8 + +func barrel_destroyed(): + if doScore: + score += 0.2 + +func start_scoring(): + doScore = true + score = 0 + +func stop_scoring(): + var coins = get_node("/root/DataStore").read("coins", 0) + coins += int(score) + get_node("/root/DataStore").write("coins", coins) + + var highscore = get_node("/root/DataStore").read("highscore", 0) + if score < highscore: + get_node("/root/DataStore").write("highscore", score) + + doScore = false + +func _process(delta): + if doScore: + score = score + delta * scoreMult diff --git a/Scripts/Projectiles.gd b/Scripts/Projectiles.gd new file mode 100644 index 0000000..88448fb --- /dev/null +++ b/Scripts/Projectiles.gd @@ -0,0 +1,10 @@ +extends CharacterBody2D + +func _physics_process(delta): + rotate(15 * delta) + var res = move_and_collide(Vector2(200 * delta,0)) + if res: + res.get_collider().call("destroy") + queue_free() + if position.x > 670: + queue_free() diff --git a/Scripts/Shop.gd b/Scripts/Shop.gd new file mode 100644 index 0000000..16f3187 --- /dev/null +++ b/Scripts/Shop.gd @@ -0,0 +1,7 @@ +extends Control + +@export var coin_label : Label + +func _ready(): + var coins = get_node("/root/DataStore").read("coins", 0) + coin_label.text = str(int(coins)) diff --git a/Scripts/Startmenu.gd b/Scripts/Startmenu.gd new file mode 100644 index 0000000..1ae9a00 --- /dev/null +++ b/Scripts/Startmenu.gd @@ -0,0 +1,19 @@ +extends Control + +func start(): + get_tree().change_scene_to_file("res://Scenes/Game.tscn") + +func exit(): + get_tree().quit() + +func guide(): + get_tree().change_scene_to_file("res://Scenes/Guide.tscn") + +func credits(): + get_tree().change_scene_to_file("res://Scenes/Credits.tscn") + +func main(): + get_tree().change_scene_to_file("res://Scenes/Startmenu.tscn") + +func store(): + get_tree().change_scene_to_file("res://Scenes/Shop.tscn") diff --git a/Scripts/attack.gd b/Scripts/attack.gd new file mode 100644 index 0000000..e771b4a --- /dev/null +++ b/Scripts/attack.gd @@ -0,0 +1,5 @@ +extends Area2D + + +func _on_area_entered(area): + area.queue_free() diff --git a/Scripts/barrel.gd b/Scripts/barrel.gd new file mode 100644 index 0000000..87448de --- /dev/null +++ b/Scripts/barrel.gd @@ -0,0 +1,18 @@ +extends CharacterBody2D + +@export var speed = 200; +@export var sprite : Sprite2D + +func _ready(): + position.x = 800 + position.y = 60 + randi() % 260 + +func _physics_process(delta): + if position.x < -50: + get_node("/root/Scorekeeper").call("barrel_destroyed") + queue_free() + var res = move_and_collide(Vector2(-speed * delta, 0)) + sprite.rotate(-1 * delta * 2) + +func destroy(): + queue_free() diff --git a/Scripts/game.gd b/Scripts/game.gd new file mode 100644 index 0000000..df4bb67 --- /dev/null +++ b/Scripts/game.gd @@ -0,0 +1,29 @@ +extends Node +@export var curve : Curve +@export var toSpawn : PackedScene +@export var lbl : Label +var timer = 1; +var spawn_timer = 0 +var uncertain = false + + +func _ready(): + uncertain = get_node("/root/DataStore").read("barrel_uncertainty",false) + get_node("/root/Scorekeeper").start_scoring() + randomize() + + +var stunned_tween : Tween + +func _process(delta): + spawn_timer += delta + lbl.text = str(round(get_node("/root/Scorekeeper").score)) + timer = timer - delta + + if timer <= 0: + timer = curve.sample(min(spawn_timer/120,1)) + if uncertain: + if randi() % 5 == 1: + pass + var spwn = toSpawn.instantiate() + add_child(spwn) diff --git a/Scripts/king.gd b/Scripts/king.gd new file mode 100644 index 0000000..b39e54a --- /dev/null +++ b/Scripts/king.gd @@ -0,0 +1,62 @@ +extends CharacterBody2D +# Behaviour Regarding the king + +@export var speed = 250 +@export var hor_speed = 60 +@export var barrier = 600 +@export var player : AudioStreamPlayer +var direction = 1; + +func _ready(): + var l = get_node("/root/DataStore").read("less_stun", false) + if l: + stun_time = 0.3 + var r = get_node("/root/DataStore").read("more_right", false) + if not r: + barrier = 500 + var k = get_node("/root/DataStore").read("less_knockback", false) + if k: + stunned_knockback = 450 + +func _physics_process(delta): + stunned_sprite.modulate.a = stunned_alpha + var res = move_and_collide( + Vector2( hor_speed * clamp( 1 -(position.x / barrier), 0, 1) * delta, direction * speed * delta) if stunned_alpha == 0 else Vector2(0,0) + + _stunned_knockback * delta * -1) + + if res: + on_knockback(res) + + if position.x < -20: + get_node("/root/Scorekeeper").stop_scoring() + get_tree().change_scene_to_file("res://Scenes/DeathMenu.tscn") + + +@export_group("Knockback Settings") +## How long the king will be knocked back for +@export var knockback_time : float = 0.3 +## How long the king will stay stunned after a collision +@export var stun_time : float = 0.6 +## How much the user will be knocked back +@export var stunned_knockback : float = 650 +## The stunned Sprite/Animation +@export var stunned_sprite : Sprite2D + +var stunned_alpha : float = 0 +var _stunned_knockback : Vector2 = Vector2(0,0) +var stunned_tween : Tween + +# Does stunning and knocking back +func on_knockback(res): + if res.get_collider_velocity().x !=0: + player.play() + #Handles the stunning and knockback over time + stunned_tween = get_tree().create_tween(); + _stunned_knockback = Vector2(stunned_knockback,0) + stunned_alpha = 1 + stunned_tween.parallel().tween_property(self, "_stunned_knockback", Vector2(), knockback_time) + stunned_tween.parallel().tween_property(self, "stunned_alpha", 0, stun_time) + #Destroys the object the king collided with + res.get_collider().call("destroy") + direction *= -1 #Turn around + diff --git a/Scripts/player.gd b/Scripts/player.gd new file mode 100644 index 0000000..9e9fc48 --- /dev/null +++ b/Scripts/player.gd @@ -0,0 +1,70 @@ +extends CharacterBody2D + +@export var speed : float = 10 +@export var attack : Area2D +@export var ability : TextureProgressBar +@export var dash_abilit : TextureProgressBar +@export var toRotate : Sprite2D +@export var projectile : PackedScene +var tween : Tween +var dash : Tween +var dash_timer = 100 +var timer = 100 + +var attack_timer = 1 + +func _ready(): + var q = get_node("/root/DataStore").read("quick_attack",false) + if q: + attack_timer = 0.5 + position.x = 500 + position.y = 300 + + +func _physics_process(delta): + var mov = Input.get_vector("player_left","player_right","player_up","player_down").normalized() + velocity = mov * speed * delta * 100 + move_and_slide() + if position.x < 0: + position.x = 0 + + ability.value = timer + dash_abilit.value = dash_timer + if Input.is_action_just_pressed("player_action") and timer == 100: + #Attack + attack.visible = true + attack.monitoring = true + var _timer = Timer.new() + add_child(_timer) + _timer.wait_time = 0.1 + _timer.one_shot = true + _timer.start() + _timer.timeout.connect(attack_end) + + toRotate.rotation = 0 + tween = get_tree().create_tween() + timer = 0 + tween.parallel().tween_property(self, "timer", 100, attack_timer) + tween.parallel().tween_property(toRotate, "rotation_degrees", 90, 0.1) + + var to_instantiate = projectile.instantiate() + owner.add_child(to_instantiate) + to_instantiate.position = global_position + + if Input.is_action_just_pressed("player_dash") and dash_timer == 100: + dash_timer = 0 + var base_speed = speed + speed = speed * 4 + dash = get_tree().create_tween() + dash.parallel().tween_property(self, "speed", base_speed, 0.3) + dash.parallel().tween_property(self, "dash_timer", 100, 3) + + + + + + +func attack_end(): + attack.visible = false + attack.monitoring = false + diff --git a/Scripts/shopItem.gd b/Scripts/shopItem.gd new file mode 100644 index 0000000..b7c49fc --- /dev/null +++ b/Scripts/shopItem.gd @@ -0,0 +1,49 @@ +@tool +extends PanelContainer + +@export_group("Item Variables") +@export var id : String = "default" +@export var cost : int = 100 +@export var title : String = "Pettable Dogs" +@export_multiline var description : String = "Makes dogs even more pettable" +@export var texture : Texture2D = load("res://Assets/Sprites/Common/x64.png") + +@export_group("Intern") +@export var item_title_label : Label +@export var item_cost_label : Label +@export var item_description_label : Label +@export var item_icon : TextureRect +@export var item_unavailable : Panel +@export var sound : AudioStreamPlayer + +var coins : int = 0 + +# Called when the node enters the scene tree for the first time. +func _ready(): + item_icon.texture = texture + item_title_label.text = title + item_cost_label.text = str(cost) + item_description_label.text = description + try_retrieve_coins() + if coins >= cost and not Engine.is_editor_hint(): + item_unavailable.visible = false + if get_node("/root/DataStore").read(id, 0): + visible = false + +func _process(delta): + if not Engine.is_editor_hint(): + if Input.is_action_just_pressed("player_action") and in_focus and coins >= cost: + sound.play() + get_node("/root/DataStore").write("coins", coins - cost) + get_node("/root/DataStore").write(id,"1") + get_tree().change_scene_to_file("res://Scenes/Shop.tscn") + +func try_retrieve_coins(): + coins = get_node("/root/DataStore").read("coins", 0) + + +var in_focus : bool = false +func on_entered(): + in_focus = true +func on_exited(): + in_focus = false diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..5cf7408 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://07ohaspbsetu" +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 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..c46f883 --- /dev/null +++ b/project.godot @@ -0,0 +1,81 @@ +; 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="Behold-the-king" +run/main_scene="res://Scenes/Startmenu.tscn" +config/features=PackedStringArray("4.1", "GL Compatibility") +config/icon="res://icon.svg" + +[autoload] + +DataStore="*res://Scripts/Globals/data_store.gd" +Scorekeeper="*res://Scripts/Globals/scorekeeper.gd" + +[display] + +window/size/viewport_width=640 +window/size/viewport_height=360 +window/size/window_width_override=1280 +window/size/window_height_override=720 +window/stretch/mode="canvas_items" + +[input] + +player_right={ +"deadzone": 0.5, +"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":4194321,"key_label":0,"unicode":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":68,"key_label":0,"unicode":100,"echo":false,"script":null) +] +} +player_left={ +"deadzone": 0.5, +"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":4194319,"key_label":0,"unicode":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":65,"key_label":0,"unicode":97,"echo":false,"script":null) +] +} +player_up={ +"deadzone": 0.5, +"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":4194320,"key_label":0,"unicode":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":87,"key_label":0,"unicode":119,"echo":false,"script":null) +] +} +player_down={ +"deadzone": 0.5, +"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":4194322,"key_label":0,"unicode":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":83,"key_label":0,"unicode":115,"echo":false,"script":null) +] +} +player_action={ +"deadzone": 0.5, +"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":32,"key_label":0,"unicode":32,"echo":false,"script":null) +, 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(328, 17),"global_position":Vector2(332, 60),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +player_dash={ +"deadzone": 0.5, +"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":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} + +[layer_names] + +2d_physics/layer_1="Walls" +2d_physics/layer_2="King" +2d_physics/layer_3="Barrels" +2d_physics/layer_4="Player" +2d_physics/layer_5="Attack" + +[rendering] + +textures/canvas_textures/default_texture_filter=0 +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility"