initial commit
2
.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Normalize EOL for all files that Git considers text files.
|
||||
* text=auto eol=lf
|
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Godot 4+ specific ignores
|
||||
.godot/
|
BIN
Assets/Fonts/Geizer.otf
Normal file
33
Assets/Fonts/Geizer.otf.import
Normal 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={}
|
BIN
Assets/Fonts/Nohemi-Medium.ttf
Normal file
33
Assets/Fonts/Nohemi-Medium.ttf.import
Normal 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
33
Assets/Fonts/alagard.ttf.import
Normal 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={}
|
BIN
Assets/Music/Cruising for Goblins.mp3
Normal file
19
Assets/Music/Cruising for Goblins.mp3.import
Normal 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
|
BIN
Assets/Music/Visager_-_Royal_Entrance_Loop.mp3
Normal file
19
Assets/Music/Visager_-_Royal_Entrance_Loop.mp3.import
Normal 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
24
Assets/Sfx/Hit_Hurt.wav.import
Normal 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
|
BIN
Assets/Sfx/Pickup_Coin37.wav
Normal file
24
Assets/Sfx/Pickup_Coin37.wav.import
Normal 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
|
BIN
Assets/Sprites/Barrel/barrel.png
Normal file
After Width: | Height: | Size: 732 B |
34
Assets/Sprites/Barrel/barrel.png.import
Normal 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
|
BIN
Assets/Sprites/Barrel/barrel_shadow.png
Normal file
After Width: | Height: | Size: 546 B |
34
Assets/Sprites/Barrel/barrel_shadow.png.import
Normal 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
|
BIN
Assets/Sprites/Common/button.png
Normal file
After Width: | Height: | Size: 610 B |
34
Assets/Sprites/Common/button.png.import
Normal 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
|
BIN
Assets/Sprites/Common/button.png~
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
Assets/Sprites/Common/close.png
Normal file
After Width: | Height: | Size: 694 B |
34
Assets/Sprites/Common/close.png.import
Normal 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
|
BIN
Assets/Sprites/Common/close.png~
Normal file
After Width: | Height: | Size: 626 B |
BIN
Assets/Sprites/Common/coin.png
Normal file
After Width: | Height: | Size: 857 B |
34
Assets/Sprites/Common/coin.png.import
Normal 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
|
BIN
Assets/Sprites/Common/coin.png~
Normal file
After Width: | Height: | Size: 748 B |
BIN
Assets/Sprites/Common/x64.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
34
Assets/Sprites/Common/x64.png.import
Normal 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
|
BIN
Assets/Sprites/Common/x64.png~
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
Assets/Sprites/DeathMenu/Death Menu BG.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
34
Assets/Sprites/DeathMenu/Death Menu BG.png.import
Normal 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
|
BIN
Assets/Sprites/Game/background.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
34
Assets/Sprites/Game/background.png.import
Normal 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
|
BIN
Assets/Sprites/King/dust.png
Normal file
After Width: | Height: | Size: 720 B |
34
Assets/Sprites/King/dust.png.import
Normal 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
|
BIN
Assets/Sprites/King/king_sprites.png
Normal file
After Width: | Height: | Size: 4 KiB |
34
Assets/Sprites/King/king_sprites.png.import
Normal 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
|
BIN
Assets/Sprites/MainMenu/Background.png
Normal file
After Width: | Height: | Size: 14 KiB |
34
Assets/Sprites/MainMenu/Background.png.import
Normal 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
|
BIN
Assets/Sprites/MainMenu/Throne_Hall_Background.png
Normal file
After Width: | Height: | Size: 11 KiB |
34
Assets/Sprites/MainMenu/Throne_Hall_Background.png.import
Normal 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
|
BIN
Assets/Sprites/Player/Dash_Icon.png
Normal file
After Width: | Height: | Size: 779 B |
34
Assets/Sprites/Player/Dash_Icon.png.import
Normal 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
|
BIN
Assets/Sprites/Player/Dash_Icon.png~
Normal file
After Width: | Height: | Size: 750 B |
BIN
Assets/Sprites/Player/Scythe.png
Normal file
After Width: | Height: | Size: 390 B |
34
Assets/Sprites/Player/Scythe.png.import
Normal 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
|
BIN
Assets/Sprites/Player/attack_symbol.png
Normal file
After Width: | Height: | Size: 833 B |
34
Assets/Sprites/Player/attack_symbol.png.import
Normal 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
|
BIN
Assets/Sprites/Player/player_sprites.png
Normal file
After Width: | Height: | Size: 2 KiB |
34
Assets/Sprites/Player/player_sprites.png.import
Normal 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
After Width: | Height: | Size: 800 B |
34
Assets/Sprites/Shop/Top.png.import
Normal 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
|
BIN
Assets/Sprites/Shop/Top.png~
Normal file
After Width: | Height: | Size: 795 B |
BIN
Assets/Sprites/Shop/bars.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
34
Assets/Sprites/Shop/bars.png.import
Normal 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
|
BIN
Assets/Sprites/Shop/bars.png~
Normal file
After Width: | Height: | Size: 1.9 KiB |
27
Scenes/Barrel.tscn
Normal 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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
24
Scripts/Globals/data_store.gd
Normal 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")
|
34
Scripts/Globals/scorekeeper.gd
Normal 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
|
@ -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
|
@ -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
|
@ -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
|
@ -0,0 +1,5 @@
|
|||
extends Area2D
|
||||
|
||||
|
||||
func _on_area_entered(area):
|
||||
area.queue_free()
|
18
Scripts/barrel.gd
Normal 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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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"
|