1
0
Fork 0

initial commit

This commit is contained in:
Booklordofthedings 2024-05-11 17:33:26 +02:00
commit bc6eb6f4a6
85 changed files with 2247 additions and 0 deletions

2
.gitattributes vendored Normal file
View file

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

2
.gitignore vendored Normal file
View file

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

BIN
Assets/Fonts/Geizer.otf Normal file

Binary file not shown.

View file

@ -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={}

Binary file not shown.

View file

@ -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={}

BIN
Assets/Fonts/alagard.ttf Normal file

Binary file not shown.

View file

@ -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={}

Binary file not shown.

View file

@ -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

Binary file not shown.

View file

@ -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

BIN
Assets/Sfx/Hit_Hurt.wav Normal file

Binary file not shown.

View file

@ -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

Binary file not shown.

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -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

BIN
Assets/Sprites/Shop/Top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

27
Scenes/Barrel.tscn Normal file
View file

@ -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")

22
Scenes/Credits.tscn Normal file
View file

@ -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)

141
Scenes/DeathMenu.tscn Normal file
View file

@ -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"]

112
Scenes/Game.tscn Normal file
View file

@ -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

89
Scenes/Guide.tscn Normal file
View file

@ -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"]

35
Scenes/King.tscn Normal file
View file

@ -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

122
Scenes/Player.tscn Normal file
View file

@ -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"]

18
Scenes/Projectiles.tscn Normal file
View file

@ -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")

170
Scenes/Shop.tscn Normal file
View file

@ -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"]

103
Scenes/ShopItem.tscn Normal file
View file

@ -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"]

150
Scenes/Startmenu.tscn Normal file
View file

@ -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"]

11
Scripts/DeathLabel.gd Normal file
View file

@ -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

View file

@ -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")

View file

@ -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

10
Scripts/Projectiles.gd Normal file
View file

@ -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()

7
Scripts/Shop.gd Normal file
View file

@ -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))

19
Scripts/Startmenu.gd Normal file
View file

@ -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")

5
Scripts/attack.gd Normal file
View file

@ -0,0 +1,5 @@
extends Area2D
func _on_area_entered(area):
area.queue_free()

18
Scripts/barrel.gd Normal file
View file

@ -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()

29
Scripts/game.gd Normal file
View file

@ -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)

62
Scripts/king.gd Normal file
View file

@ -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

70
Scripts/player.gd Normal file
View file

@ -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

49
Scripts/shopItem.gd Normal file
View file

@ -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

1
icon.svg Normal file
View file

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

After

Width:  |  Height:  |  Size: 950 B

37
icon.svg.import Normal file
View file

@ -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

81
project.godot Normal file
View file

@ -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"