diff --git a/.gitignore b/.gitignore index 0af181c..35708a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ # Godot 4+ specific ignores .godot/ /android/ + +# musescore things +.mscbackup/ \ No newline at end of file diff --git a/Assets/Audio/Music/Cue 1.mscz b/Assets/Audio/Music/Cue 1.mscz new file mode 100644 index 0000000..110f8f7 Binary files /dev/null and b/Assets/Audio/Music/Cue 1.mscz differ diff --git a/Assets/Audio/Music/Cue 1.ogg b/Assets/Audio/Music/Cue 1.ogg new file mode 100644 index 0000000..480b118 Binary files /dev/null and b/Assets/Audio/Music/Cue 1.ogg differ diff --git a/Assets/Audio/Music/Cue 2.mscz b/Assets/Audio/Music/Cue 2.mscz new file mode 100644 index 0000000..030f8e0 Binary files /dev/null and b/Assets/Audio/Music/Cue 2.mscz differ diff --git a/Assets/Audio/Music/Cue 2.ogg b/Assets/Audio/Music/Cue 2.ogg new file mode 100644 index 0000000..90ef2e3 Binary files /dev/null and b/Assets/Audio/Music/Cue 2.ogg differ diff --git a/Assets/Audio/Music/level_loop.wav b/Assets/Audio/Music/level_loop.wav new file mode 100644 index 0000000..4ea22a1 Binary files /dev/null and b/Assets/Audio/Music/level_loop.wav differ diff --git a/Assets/Audio/Music/level_loop.wav.import b/Assets/Audio/Music/level_loop.wav.import new file mode 100644 index 0000000..ce4a549 --- /dev/null +++ b/Assets/Audio/Music/level_loop.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://m864y6umy1ru" +path="res://.godot/imported/level_loop.wav-045b43462a44a4b0f5bb9918be1dd550.sample" + +[deps] + +source_file="res://Assets/Audio/Music/level_loop.wav" +dest_files=["res://.godot/imported/level_loop.wav-045b43462a44a4b0f5bb9918be1dd550.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=2 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/Assets/Audio/Music/victory.wav b/Assets/Audio/Music/victory.wav new file mode 100644 index 0000000..94c8719 Binary files /dev/null and b/Assets/Audio/Music/victory.wav differ diff --git a/Assets/Audio/Music/victory.wav.import b/Assets/Audio/Music/victory.wav.import new file mode 100644 index 0000000..a855d0d --- /dev/null +++ b/Assets/Audio/Music/victory.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b5numv44k2cdi" +path="res://.godot/imported/victory.wav-24b8369fe71b626de1d8ac47877351c9.sample" + +[deps] + +source_file="res://Assets/Audio/Music/victory.wav" +dest_files=["res://.godot/imported/victory.wav-24b8369fe71b626de1d8ac47877351c9.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=2 diff --git a/Assets/Audio/SFX/hit_01.wav b/Assets/Audio/SFX/hit_01.wav new file mode 100644 index 0000000..1123c2a Binary files /dev/null and b/Assets/Audio/SFX/hit_01.wav differ diff --git a/Assets/Audio/SFX/hit_01.wav.import b/Assets/Audio/SFX/hit_01.wav.import new file mode 100644 index 0000000..cd5883d --- /dev/null +++ b/Assets/Audio/SFX/hit_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://col2gbda38ce2" +path="res://.godot/imported/hit_01.wav-01ff076471720616866a727869539108.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/hit_01.wav" +dest_files=["res://.godot/imported/hit_01.wav-01ff076471720616866a727869539108.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=2 diff --git a/Assets/Audio/SFX/hit_02.wav b/Assets/Audio/SFX/hit_02.wav new file mode 100644 index 0000000..0db682f Binary files /dev/null and b/Assets/Audio/SFX/hit_02.wav differ diff --git a/Assets/Audio/SFX/hit_02.wav.import b/Assets/Audio/SFX/hit_02.wav.import new file mode 100644 index 0000000..bbf7dea --- /dev/null +++ b/Assets/Audio/SFX/hit_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dobsokvlbuy20" +path="res://.godot/imported/hit_02.wav-d112ebb1fa22c131937fbfaa18c06c06.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/hit_02.wav" +dest_files=["res://.godot/imported/hit_02.wav-d112ebb1fa22c131937fbfaa18c06c06.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=2 diff --git a/Assets/Audio/SFX/jump_01.wav b/Assets/Audio/SFX/jump_01.wav new file mode 100644 index 0000000..4bc8de2 Binary files /dev/null and b/Assets/Audio/SFX/jump_01.wav differ diff --git a/Assets/Audio/SFX/jump_01.wav.import b/Assets/Audio/SFX/jump_01.wav.import new file mode 100644 index 0000000..3b7c957 --- /dev/null +++ b/Assets/Audio/SFX/jump_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://db1ix2udu1c2r" +path="res://.godot/imported/jump_01.wav-497c6e71130145db0eb7b4784713d549.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/jump_01.wav" +dest_files=["res://.godot/imported/jump_01.wav-497c6e71130145db0eb7b4784713d549.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=2 diff --git a/Assets/Audio/SFX/jump_02.wav b/Assets/Audio/SFX/jump_02.wav new file mode 100644 index 0000000..a930d84 Binary files /dev/null and b/Assets/Audio/SFX/jump_02.wav differ diff --git a/Assets/Audio/SFX/jump_02.wav.import b/Assets/Audio/SFX/jump_02.wav.import new file mode 100644 index 0000000..7a1bbf7 --- /dev/null +++ b/Assets/Audio/SFX/jump_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bana4sfscvucv" +path="res://.godot/imported/jump_02.wav-e60b50a673f0941b9ba2ae8f814365ea.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/jump_02.wav" +dest_files=["res://.godot/imported/jump_02.wav-e60b50a673f0941b9ba2ae8f814365ea.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=2 diff --git a/Assets/Audio/SFX/pickup_01.wav b/Assets/Audio/SFX/pickup_01.wav new file mode 100644 index 0000000..f22875f Binary files /dev/null and b/Assets/Audio/SFX/pickup_01.wav differ diff --git a/Assets/Audio/SFX/pickup_01.wav.import b/Assets/Audio/SFX/pickup_01.wav.import new file mode 100644 index 0000000..7913d19 --- /dev/null +++ b/Assets/Audio/SFX/pickup_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cxnrlqrfwt3ip" +path="res://.godot/imported/pickup_01.wav-831256293911f7437010ad69fbd7c790.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/pickup_01.wav" +dest_files=["res://.godot/imported/pickup_01.wav-831256293911f7437010ad69fbd7c790.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=2 diff --git a/Assets/Audio/SFX/pickup_02.wav b/Assets/Audio/SFX/pickup_02.wav new file mode 100644 index 0000000..ebd3de5 Binary files /dev/null and b/Assets/Audio/SFX/pickup_02.wav differ diff --git a/Assets/Audio/SFX/pickup_02.wav.import b/Assets/Audio/SFX/pickup_02.wav.import new file mode 100644 index 0000000..49e0436 --- /dev/null +++ b/Assets/Audio/SFX/pickup_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c2iv8brn58x4x" +path="res://.godot/imported/pickup_02.wav-2822addb3aef3a4206f3c9fe11adede9.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/pickup_02.wav" +dest_files=["res://.godot/imported/pickup_02.wav-2822addb3aef3a4206f3c9fe11adede9.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=2 diff --git a/Assets/Audio/SFX/ui_blip_01.wav b/Assets/Audio/SFX/ui_blip_01.wav new file mode 100644 index 0000000..96259cd Binary files /dev/null and b/Assets/Audio/SFX/ui_blip_01.wav differ diff --git a/Assets/Audio/SFX/ui_blip_01.wav.import b/Assets/Audio/SFX/ui_blip_01.wav.import new file mode 100644 index 0000000..5f22e43 --- /dev/null +++ b/Assets/Audio/SFX/ui_blip_01.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cuf4h7akoii76" +path="res://.godot/imported/ui_blip_01.wav-b283e7f8fb54769b67bbd8f1223075fd.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/ui_blip_01.wav" +dest_files=["res://.godot/imported/ui_blip_01.wav-b283e7f8fb54769b67bbd8f1223075fd.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=2 diff --git a/Assets/Audio/SFX/ui_blip_02.wav b/Assets/Audio/SFX/ui_blip_02.wav new file mode 100644 index 0000000..3cfd607 Binary files /dev/null and b/Assets/Audio/SFX/ui_blip_02.wav differ diff --git a/Assets/Audio/SFX/ui_blip_02.wav.import b/Assets/Audio/SFX/ui_blip_02.wav.import new file mode 100644 index 0000000..ab423bb --- /dev/null +++ b/Assets/Audio/SFX/ui_blip_02.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://djrkydgktdbqb" +path="res://.godot/imported/ui_blip_02.wav-443786907d09ef6fc7926cb6d507736b.sample" + +[deps] + +source_file="res://Assets/Audio/SFX/ui_blip_02.wav" +dest_files=["res://.godot/imported/ui_blip_02.wav-443786907d09ef6fc7926cb6d507736b.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=2 diff --git a/Assets/Visual/Characters/enemy_ground.png b/Assets/Visual/Characters/enemy_ground.png new file mode 100644 index 0000000..cc466f0 Binary files /dev/null and b/Assets/Visual/Characters/enemy_ground.png differ diff --git a/Assets/Visual/Characters/enemy_ground.png.import b/Assets/Visual/Characters/enemy_ground.png.import new file mode 100644 index 0000000..7d756c7 --- /dev/null +++ b/Assets/Visual/Characters/enemy_ground.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ch7n8bdsviq0v" +path="res://.godot/imported/enemy_ground.png-07ddbf50a7e1cd772b8adfff8bdd6e75.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Characters/enemy_ground.png" +dest_files=["res://.godot/imported/enemy_ground.png-07ddbf50a7e1cd772b8adfff8bdd6e75.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Characters/main_character.png b/Assets/Visual/Characters/main_character.png new file mode 100644 index 0000000..452916d Binary files /dev/null and b/Assets/Visual/Characters/main_character.png differ diff --git a/Assets/Visual/Characters/main_character.png.import b/Assets/Visual/Characters/main_character.png.import new file mode 100644 index 0000000..1b4246b --- /dev/null +++ b/Assets/Visual/Characters/main_character.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhc0ibq7lwqx1" +path="res://.godot/imported/main_character.png-e78cbe4ecc20bf3926b7a54392e35a28.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Characters/main_character.png" +dest_files=["res://.godot/imported/main_character.png-e78cbe4ecc20bf3926b7a54392e35a28.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Environments/Background/background_coulds.png b/Assets/Visual/Environments/Background/background_coulds.png new file mode 100644 index 0000000..2661f7e Binary files /dev/null and b/Assets/Visual/Environments/Background/background_coulds.png differ diff --git a/Assets/Visual/Environments/Background/background_coulds.png.import b/Assets/Visual/Environments/Background/background_coulds.png.import new file mode 100644 index 0000000..e207df9 --- /dev/null +++ b/Assets/Visual/Environments/Background/background_coulds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhnqr7v4hf11t" +path="res://.godot/imported/background_coulds.png-ab74d54e42c9839e14def6769e26ffda.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Environments/Background/background_coulds.png" +dest_files=["res://.godot/imported/background_coulds.png-ab74d54e42c9839e14def6769e26ffda.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Environments/Background/background_mountains.png b/Assets/Visual/Environments/Background/background_mountains.png new file mode 100644 index 0000000..e0165a4 Binary files /dev/null and b/Assets/Visual/Environments/Background/background_mountains.png differ diff --git a/Assets/Visual/Environments/Background/background_mountains.png.import b/Assets/Visual/Environments/Background/background_mountains.png.import new file mode 100644 index 0000000..0c6b2a1 --- /dev/null +++ b/Assets/Visual/Environments/Background/background_mountains.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fwystnst4im2" +path="res://.godot/imported/background_mountains.png-85a7d56d51e92d3b100e3c3114c1af21.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Environments/Background/background_mountains.png" +dest_files=["res://.godot/imported/background_mountains.png-85a7d56d51e92d3b100e3c3114c1af21.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Environments/Background/background_sky.png b/Assets/Visual/Environments/Background/background_sky.png new file mode 100644 index 0000000..d1ab814 Binary files /dev/null and b/Assets/Visual/Environments/Background/background_sky.png differ diff --git a/Assets/Visual/Environments/Background/background_sky.png.import b/Assets/Visual/Environments/Background/background_sky.png.import new file mode 100644 index 0000000..0eb3568 --- /dev/null +++ b/Assets/Visual/Environments/Background/background_sky.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc7um7jifrv2q" +path="res://.godot/imported/background_sky.png-d42abcaafddaa9cbc897b952c3324c65.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Environments/Background/background_sky.png" +dest_files=["res://.godot/imported/background_sky.png-d42abcaafddaa9cbc897b952c3324c65.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Environments/moving_platform.png b/Assets/Visual/Environments/moving_platform.png new file mode 100644 index 0000000..f371fde Binary files /dev/null and b/Assets/Visual/Environments/moving_platform.png differ diff --git a/Assets/Visual/Environments/moving_platform.png.import b/Assets/Visual/Environments/moving_platform.png.import new file mode 100644 index 0000000..53d2e0d --- /dev/null +++ b/Assets/Visual/Environments/moving_platform.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dequ0ve5i7ir1" +path="res://.godot/imported/moving_platform.png-3c58aa7669b89e488b81bd141cdb28db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Environments/moving_platform.png" +dest_files=["res://.godot/imported/moving_platform.png-3c58aa7669b89e488b81bd141cdb28db.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Environments/tileset.gif b/Assets/Visual/Environments/tileset.gif new file mode 100644 index 0000000..0f1c2df Binary files /dev/null and b/Assets/Visual/Environments/tileset.gif differ diff --git a/Assets/Visual/Environments/tileset.png b/Assets/Visual/Environments/tileset.png new file mode 100644 index 0000000..1e157d3 Binary files /dev/null and b/Assets/Visual/Environments/tileset.png differ diff --git a/Assets/Visual/Environments/tileset.png.import b/Assets/Visual/Environments/tileset.png.import new file mode 100644 index 0000000..d128055 --- /dev/null +++ b/Assets/Visual/Environments/tileset.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://colupuvbfchwd" +path="res://.godot/imported/tileset.png-cb9afc0deb4b8d76456c12e9cabdedc2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Environments/tileset.png" +dest_files=["res://.godot/imported/tileset.png-cb9afc0deb4b8d76456c12e9cabdedc2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Items/apple.png b/Assets/Visual/Items/apple.png new file mode 100644 index 0000000..c20e344 Binary files /dev/null and b/Assets/Visual/Items/apple.png differ diff --git a/Assets/Visual/Items/apple.png.import b/Assets/Visual/Items/apple.png.import new file mode 100644 index 0000000..80f8dcc --- /dev/null +++ b/Assets/Visual/Items/apple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c646w8fxcpnlo" +path="res://.godot/imported/apple.png-2256145e6411d3b6e50b092b4307bc5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Items/apple.png" +dest_files=["res://.godot/imported/apple.png-2256145e6411d3b6e50b092b4307bc5d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Items/finish.png b/Assets/Visual/Items/finish.png new file mode 100644 index 0000000..597a9c1 Binary files /dev/null and b/Assets/Visual/Items/finish.png differ diff --git a/Assets/Visual/Items/finish.png.import b/Assets/Visual/Items/finish.png.import new file mode 100644 index 0000000..ff5e8ac --- /dev/null +++ b/Assets/Visual/Items/finish.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca5jn54tsxqpm" +path="res://.godot/imported/finish.png-b4af8f7ba91f244b90d663415d9da907.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Items/finish.png" +dest_files=["res://.godot/imported/finish.png-b4af8f7ba91f244b90d663415d9da907.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Items/piano.png b/Assets/Visual/Items/piano.png new file mode 100644 index 0000000..976fcf9 Binary files /dev/null and b/Assets/Visual/Items/piano.png differ diff --git a/Assets/Visual/Items/piano.png.import b/Assets/Visual/Items/piano.png.import new file mode 100644 index 0000000..589c130 --- /dev/null +++ b/Assets/Visual/Items/piano.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj35ne2auxoww" +path="res://.godot/imported/piano.png-0c9682e5facaf8d81a147b9011c44558.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Items/piano.png" +dest_files=["res://.godot/imported/piano.png-0c9682e5facaf8d81a147b9011c44558.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Placeholder/clouds.png b/Assets/Visual/Placeholder/clouds.png new file mode 100644 index 0000000..4d3bf0f Binary files /dev/null and b/Assets/Visual/Placeholder/clouds.png differ diff --git a/Assets/Visual/Placeholder/clouds.png.import b/Assets/Visual/Placeholder/clouds.png.import new file mode 100644 index 0000000..4e2a7b5 --- /dev/null +++ b/Assets/Visual/Placeholder/clouds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb3hu1um0oo53" +path="res://.godot/imported/clouds.png-3a3e1352c1438b28d35e188b506cc674.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Placeholder/clouds.png" +dest_files=["res://.godot/imported/clouds.png-3a3e1352c1438b28d35e188b506cc674.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Placeholder/far-grounds.png b/Assets/Visual/Placeholder/far-grounds.png new file mode 100644 index 0000000..d0d02dc Binary files /dev/null and b/Assets/Visual/Placeholder/far-grounds.png differ diff --git a/Assets/Visual/Placeholder/far-grounds.png.import b/Assets/Visual/Placeholder/far-grounds.png.import new file mode 100644 index 0000000..59982ef --- /dev/null +++ b/Assets/Visual/Placeholder/far-grounds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfsss6vhuxcox" +path="res://.godot/imported/far-grounds.png-0ff77dc0a588fc1c1abfff220c964eb3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Placeholder/far-grounds.png" +dest_files=["res://.godot/imported/far-grounds.png-0ff77dc0a588fc1c1abfff220c964eb3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Placeholder/sea.png b/Assets/Visual/Placeholder/sea.png new file mode 100644 index 0000000..eb2ceb0 Binary files /dev/null and b/Assets/Visual/Placeholder/sea.png differ diff --git a/Assets/Visual/Placeholder/sea.png.import b/Assets/Visual/Placeholder/sea.png.import new file mode 100644 index 0000000..222a237 --- /dev/null +++ b/Assets/Visual/Placeholder/sea.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://l8i772vu5ju1" +path="res://.godot/imported/sea.png-7648496e13e1c5ff924f53ddc17f35d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Placeholder/sea.png" +dest_files=["res://.godot/imported/sea.png-7648496e13e1c5ff924f53ddc17f35d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/Placeholder/sky.png b/Assets/Visual/Placeholder/sky.png new file mode 100644 index 0000000..bb73308 Binary files /dev/null and b/Assets/Visual/Placeholder/sky.png differ diff --git a/Assets/Visual/Placeholder/sky.png.import b/Assets/Visual/Placeholder/sky.png.import new file mode 100644 index 0000000..52c08fd --- /dev/null +++ b/Assets/Visual/Placeholder/sky.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjh46442urbcn" +path="res://.godot/imported/sky.png-39f92a9c06a650ca763444132cc6b0de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/Placeholder/sky.png" +dest_files=["res://.godot/imported/sky.png-39f92a9c06a650ca763444132cc6b0de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/UI/base_theme.tres b/Assets/Visual/UI/base_theme.tres new file mode 100644 index 0000000..8b9e12b --- /dev/null +++ b/Assets/Visual/UI/base_theme.tres @@ -0,0 +1,21 @@ +[gd_resource type="Theme" format=3 uid="uid://dmha0ysm5urx7"] + +[ext_resource type="FontFile" uid="uid://d2raxm4th2svb" path="res://Assets/Visual/UI/monogram.ttf" id="1_g57ay"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_g57ay"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8qdy6"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bey2p"] +bg_color = Color(0.405542, 0.426432, 0.582274, 1) + +[resource] +default_font_size = 48 +Button/fonts/font = ExtResource("1_g57ay") +Button/styles/focus = SubResource("StyleBoxFlat_g57ay") +Button/styles/normal = SubResource("StyleBoxEmpty_8qdy6") +Button/styles/pressed = SubResource("StyleBoxFlat_bey2p") +Label/colors/font_outline_color = Color(0.101961, 0.109804, 0.172549, 1) +Label/constants/outline_size = 4 +Label/font_sizes/font_size = 16 +Label/fonts/font = ExtResource("1_g57ay") diff --git a/Assets/Visual/UI/health_icon.png b/Assets/Visual/UI/health_icon.png new file mode 100644 index 0000000..f9984bc Binary files /dev/null and b/Assets/Visual/UI/health_icon.png differ diff --git a/Assets/Visual/UI/health_icon.png.import b/Assets/Visual/UI/health_icon.png.import new file mode 100644 index 0000000..1995698 --- /dev/null +++ b/Assets/Visual/UI/health_icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8dx103r8mw3y" +path="res://.godot/imported/health_icon.png-593373e74c1f6f4577df479350c2a897.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/UI/health_icon.png" +dest_files=["res://.godot/imported/health_icon.png-593373e74c1f6f4577df479350c2a897.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Visual/UI/monogram.ttf b/Assets/Visual/UI/monogram.ttf new file mode 100644 index 0000000..aceaeba Binary files /dev/null and b/Assets/Visual/UI/monogram.ttf differ diff --git a/Assets/Visual/UI/monogram.ttf.import b/Assets/Visual/UI/monogram.ttf.import new file mode 100644 index 0000000..3d9cee5 --- /dev/null +++ b/Assets/Visual/UI/monogram.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://d2raxm4th2svb" +path="res://.godot/imported/monogram.ttf-9ecd35ab122ba3b186a7c512e149bfea.fontdata" + +[deps] + +source_file="res://Assets/Visual/UI/monogram.ttf" +dest_files=["res://.godot/imported/monogram.ttf-9ecd35ab122ba3b186a7c512e149bfea.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=4 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/Assets/Visual/game_icon.png b/Assets/Visual/game_icon.png new file mode 100644 index 0000000..1474b3e Binary files /dev/null and b/Assets/Visual/game_icon.png differ diff --git a/Assets/Visual/game_icon.png.import b/Assets/Visual/game_icon.png.import new file mode 100644 index 0000000..867118a --- /dev/null +++ b/Assets/Visual/game_icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bb332l6blaoim" +path="res://.godot/imported/game_icon.png-2cda1bee21c24643e892d035759e5565.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visual/game_icon.png" +dest_files=["res://.godot/imported/game_icon.png-2cda1bee21c24643e892d035759e5565.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Resources/Settings/jump_curve.tres b/Resources/Settings/jump_curve.tres new file mode 100644 index 0000000..d2cc1aa --- /dev/null +++ b/Resources/Settings/jump_curve.tres @@ -0,0 +1,7 @@ +[gd_resource type="Curve" format=3 uid="uid://0sic47riyrm0"] + +[resource] +_limits = [0.0, 1.0, 0.0, 2.0] +bake_resolution = 1 +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1.07303, 0), 0.0, 0.0, 0, 0] +point_count = 2 diff --git a/Resources/Tilesets/tileset_jungle.tres b/Resources/Tilesets/tileset_jungle.tres new file mode 100644 index 0000000..f777c74 --- /dev/null +++ b/Resources/Tilesets/tileset_jungle.tres @@ -0,0 +1,403 @@ +[gd_resource type="TileSet" format=3 uid="uid://dtg8a2s6k1mnt"] + +[ext_resource type="Texture2D" uid="uid://colupuvbfchwd" path="res://Assets/Visual/Environments/tileset.png" id="1_ig216"] +[ext_resource type="Texture2D" uid="uid://b0xwumd1vuqvr" path="res://tilesets/sci-fi platformer - free/tileset.png" id="2_06l3p"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_aqk2v"] +texture = ExtResource("1_ig216") +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:0/0/terrains_peering_bit/right_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/left_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:0/0/terrains_peering_bit/left_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:1/0/terrains_peering_bit/right_side = 0 +0:1/0/terrains_peering_bit/bottom_right_corner = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +1:1/0 = 0 +1:1/0/terrain_set = 0 +1:1/0/terrain = 0 +1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:1/0/terrains_peering_bit/right_side = 0 +1:1/0/terrains_peering_bit/bottom_right_corner = 0 +1:1/0/terrains_peering_bit/bottom_side = 0 +1:1/0/terrains_peering_bit/bottom_left_corner = 0 +1:1/0/terrains_peering_bit/left_side = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/bottom_left_corner = 0 +2:1/0/terrains_peering_bit/left_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:2/0/terrains_peering_bit/right_side = 0 +0:2/0/terrains_peering_bit/bottom_right_corner = 0 +0:2/0/terrains_peering_bit/bottom_side = 0 +0:2/0/terrains_peering_bit/top_side = 0 +0:2/0/terrains_peering_bit/top_right_corner = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/bottom_right_corner = 0 +1:2/0/terrains_peering_bit/bottom_side = 0 +1:2/0/terrains_peering_bit/bottom_left_corner = 0 +1:2/0/terrains_peering_bit/left_side = 0 +1:2/0/terrains_peering_bit/top_left_corner = 0 +1:2/0/terrains_peering_bit/top_side = 0 +1:2/0/terrains_peering_bit/top_right_corner = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:2/0/terrains_peering_bit/bottom_side = 0 +2:2/0/terrains_peering_bit/bottom_left_corner = 0 +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_left_corner = 0 +2:2/0/terrains_peering_bit/top_side = 0 +0:3/0 = 0 +0:3/0/terrain_set = 0 +0:3/0/terrain = 0 +0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:3/0/terrains_peering_bit/right_side = 0 +0:3/0/terrains_peering_bit/top_side = 0 +0:3/0/terrains_peering_bit/top_right_corner = 0 +1:3/0 = 0 +1:3/0/terrain_set = 0 +1:3/0/terrain = 0 +1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:3/0/terrains_peering_bit/right_side = 0 +1:3/0/terrains_peering_bit/left_side = 0 +1:3/0/terrains_peering_bit/top_left_corner = 0 +1:3/0/terrains_peering_bit/top_side = 0 +1:3/0/terrains_peering_bit/top_right_corner = 0 +2:3/0 = 0 +2:3/0/terrain_set = 0 +2:3/0/terrain = 0 +2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:3/0/terrains_peering_bit/left_side = 0 +2:3/0/terrains_peering_bit/top_left_corner = 0 +2:3/0/terrains_peering_bit/top_side = 0 +3:0/0 = 0 +3:0/0/terrain_set = 0 +3:0/0/terrain = 0 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:1/0 = 0 +3:1/0/terrain_set = 0 +3:1/0/terrain = 0 +3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:1/0/terrains_peering_bit/bottom_side = 0 +3:2/0 = 0 +3:2/0/terrain_set = 0 +3:2/0/terrain = 0 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:2/0/terrains_peering_bit/bottom_side = 0 +3:2/0/terrains_peering_bit/top_side = 0 +3:3/0 = 0 +3:3/0/terrain_set = 0 +3:3/0/terrain = 0 +3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:3/0/terrains_peering_bit/top_side = 0 +0:4/0 = 0 +0:4/0/terrain_set = 0 +0:4/0/terrain = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:4/0/terrains_peering_bit/right_side = 0 +0:4/0/terrains_peering_bit/bottom_side = 0 +0:4/0/terrains_peering_bit/bottom_left_corner = 0 +0:4/0/terrains_peering_bit/left_side = 0 +0:4/0/terrains_peering_bit/top_left_corner = 0 +0:4/0/terrains_peering_bit/top_side = 0 +0:4/0/terrains_peering_bit/top_right_corner = 0 +0:5/0 = 0 +0:5/0/terrain_set = 0 +0:5/0/terrain = 0 +0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:5/0/terrains_peering_bit/right_side = 0 +0:5/0/terrains_peering_bit/bottom_right_corner = 0 +0:5/0/terrains_peering_bit/bottom_side = 0 +0:5/0/terrains_peering_bit/bottom_left_corner = 0 +0:5/0/terrains_peering_bit/left_side = 0 +0:5/0/terrains_peering_bit/top_left_corner = 0 +0:5/0/terrains_peering_bit/top_side = 0 +1:5/0 = 0 +1:5/0/terrain_set = 0 +1:5/0/terrain = 0 +1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:5/0/terrains_peering_bit/right_side = 0 +1:5/0/terrains_peering_bit/bottom_right_corner = 0 +1:5/0/terrains_peering_bit/bottom_side = 0 +1:5/0/terrains_peering_bit/bottom_left_corner = 0 +1:5/0/terrains_peering_bit/left_side = 0 +1:5/0/terrains_peering_bit/top_side = 0 +1:5/0/terrains_peering_bit/top_right_corner = 0 +1:4/0 = 0 +1:4/0/terrain_set = 0 +1:4/0/terrain = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:4/0/terrains_peering_bit/right_side = 0 +1:4/0/terrains_peering_bit/bottom_right_corner = 0 +1:4/0/terrains_peering_bit/bottom_side = 0 +1:4/0/terrains_peering_bit/left_side = 0 +1:4/0/terrains_peering_bit/top_left_corner = 0 +1:4/0/terrains_peering_bit/top_side = 0 +1:4/0/terrains_peering_bit/top_right_corner = 0 +2:4/0 = 0 +2:4/0/terrain_set = 0 +2:4/0/terrain = 0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:4/0/terrains_peering_bit/right_side = 0 +2:4/0/terrains_peering_bit/bottom_side = 0 +2:4/0/terrains_peering_bit/bottom_left_corner = 0 +2:4/0/terrains_peering_bit/left_side = 0 +2:4/0/terrains_peering_bit/top_left_corner = 0 +2:4/0/terrains_peering_bit/top_side = 0 +3:4/0 = 0 +3:4/0/terrain_set = 0 +3:4/0/terrain = 0 +3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:4/0/terrains_peering_bit/right_side = 0 +3:4/0/terrains_peering_bit/bottom_right_corner = 0 +3:4/0/terrains_peering_bit/bottom_side = 0 +3:4/0/terrains_peering_bit/left_side = 0 +3:4/0/terrains_peering_bit/top_side = 0 +3:4/0/terrains_peering_bit/top_right_corner = 0 +2:5/0 = 0 +2:5/0/terrain_set = 0 +2:5/0/terrain = 0 +2:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:5/0/terrains_peering_bit/right_side = 0 +2:5/0/terrains_peering_bit/bottom_right_corner = 0 +2:5/0/terrains_peering_bit/bottom_side = 0 +2:5/0/terrains_peering_bit/bottom_left_corner = 0 +2:5/0/terrains_peering_bit/left_side = 0 +2:5/0/terrains_peering_bit/top_side = 0 +3:5/0 = 0 +3:5/0/terrain_set = 0 +3:5/0/terrain = 0 +3:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:5/0/terrains_peering_bit/right_side = 0 +3:5/0/terrains_peering_bit/bottom_side = 0 +3:5/0/terrains_peering_bit/left_side = 0 +3:5/0/terrains_peering_bit/top_left_corner = 0 +3:5/0/terrains_peering_bit/top_side = 0 +3:5/0/terrains_peering_bit/top_right_corner = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:0/0/terrains_peering_bit/right_side = 0 +4:0/0/terrains_peering_bit/bottom_right_corner = 0 +4:0/0/terrains_peering_bit/bottom_side = 0 +4:0/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:1/0/terrains_peering_bit/right_side = 0 +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +4:1/0/terrains_peering_bit/top_right_corner = 0 +5:1/0 = 0 +5:1/0/terrain_set = 0 +5:1/0/terrain = 0 +5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:1/0/terrains_peering_bit/bottom_side = 0 +5:1/0/terrains_peering_bit/left_side = 0 +5:1/0/terrains_peering_bit/top_left_corner = 0 +5:1/0/terrains_peering_bit/top_side = 0 +5:0/0 = 0 +5:0/0/terrain_set = 0 +5:0/0/terrain = 0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:0/0/terrains_peering_bit/bottom_side = 0 +5:0/0/terrains_peering_bit/bottom_left_corner = 0 +5:0/0/terrains_peering_bit/left_side = 0 +5:0/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:2/0/terrains_peering_bit/right_side = 0 +4:2/0/terrains_peering_bit/left_side = 0 +4:2/0/terrains_peering_bit/top_left_corner = 0 +4:2/0/terrains_peering_bit/top_side = 0 +5:2/0 = 0 +5:2/0/terrain_set = 0 +5:2/0/terrain = 0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:2/0/terrains_peering_bit/right_side = 0 +5:2/0/terrains_peering_bit/left_side = 0 +5:2/0/terrains_peering_bit/top_side = 0 +5:2/0/terrains_peering_bit/top_right_corner = 0 +4:3/0 = 0 +4:3/0/terrain_set = 0 +4:3/0/terrain = 0 +4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:3/0/terrains_peering_bit/right_side = 0 +4:3/0/terrains_peering_bit/bottom_side = 0 +4:3/0/terrains_peering_bit/bottom_left_corner = 0 +4:3/0/terrains_peering_bit/left_side = 0 +5:3/0 = 0 +5:3/0/terrain_set = 0 +5:3/0/terrain = 0 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:3/0/terrains_peering_bit/right_side = 0 +5:3/0/terrains_peering_bit/bottom_right_corner = 0 +5:3/0/terrains_peering_bit/bottom_side = 0 +5:3/0/terrains_peering_bit/left_side = 0 +5:5/0 = 0 +5:5/0/terrain_set = 0 +5:5/0/terrain = 0 +5:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:5/0/terrains_peering_bit/left_side = 0 +5:5/0/terrains_peering_bit/top_side = 0 +5:4/0 = 0 +5:4/0/terrain_set = 0 +5:4/0/terrain = 0 +5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +5:4/0/terrains_peering_bit/bottom_side = 0 +5:4/0/terrains_peering_bit/left_side = 0 +4:4/0 = 0 +4:4/0/terrain_set = 0 +4:4/0/terrain = 0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:4/0/terrains_peering_bit/right_side = 0 +4:4/0/terrains_peering_bit/bottom_side = 0 +4:5/0 = 0 +4:5/0/terrain_set = 0 +4:5/0/terrain = 0 +4:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +4:5/0/terrains_peering_bit/right_side = 0 +4:5/0/terrains_peering_bit/top_side = 0 +0:6/0 = 0 +0:6/0/terrain_set = 0 +0:6/0/terrain = 0 +0:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +0:6/0/terrains_peering_bit/right_side = 0 +0:6/0/terrains_peering_bit/bottom_side = 0 +0:6/0/terrains_peering_bit/left_side = 0 +1:6/0 = 0 +1:6/0/terrain_set = 0 +1:6/0/terrain = 1 +1:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +1:6/0/terrains_peering_bit/right_side = 1 +2:6/0 = 0 +2:6/0/terrain_set = 0 +2:6/0/terrain = 1 +2:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +2:6/0/terrains_peering_bit/right_side = 1 +2:6/0/terrains_peering_bit/left_side = 1 +3:6/0 = 0 +3:6/0/terrain_set = 0 +3:6/0/terrain = 1 +3:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +3:6/0/terrains_peering_bit/left_side = 1 +4:6/0 = 0 +4:6/0/terrain_set = 0 +4:6/0/terrain = 1 +4:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_3kgov"] +texture = ExtResource("2_06l3p") +0:0/0 = 0 +1:0/0 = 0 +15:0/0 = 0 +16:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +6:1/0 = 0 +8:1/0 = 0 +9:1/0 = 0 +12:1/0 = 0 +13:1/0 = 0 +14:1/0 = 0 +15:1/0 = 0 +16:1/0 = 0 +0:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +6:2/0 = 0 +8:2/0 = 0 +9:2/0 = 0 +10:2/0 = 0 +12:2/0 = 0 +13:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +12:3/0 = 0 +13:3/0 = 0 +14:3/0 = 0 +15:3/0 = 0 +16:3/0 = 0 +17:3/0 = 0 +0:4/0 = 0 +1:4/0 = 0 +2:4/0 = 0 +3:4/0 = 0 +4:4/0 = 0 +5:4/0 = 0 +0:5/0 = 0 +1:5/0 = 0 +2:5/0 = 0 +3:5/0 = 0 +5:5/0 = 0 +12:5/0 = 0 +13:5/0 = 0 +14:5/0 = 0 +15:5/0 = 0 +3:6/0 = 0 +4:6/0 = 0 +5:6/0 = 0 +13:6/0 = 0 +14:6/0 = 0 +15:6/0 = 0 +0:7/0 = 0 +1:7/0 = 0 +2:7/0 = 0 +3:7/0 = 0 +4:7/0 = 0 +5:7/0 = 0 +12:7/0 = 0 +13:7/0 = 0 +14:7/0 = 0 +15:7/0 = 0 +0:9/0 = 0 +1:9/0 = 0 +2:9/0 = 0 + +[resource] +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "Terrain 0" +terrain_set_0/terrain_0/color = Color(0.262745, 0.717647, 0.866667, 1) +terrain_set_0/terrain_1/name = "Terrain 1" +terrain_set_0/terrain_1/color = Color(0.501961, 0.870588, 0.25098, 1) +sources/0 = SubResource("TileSetAtlasSource_aqk2v") +sources/1 = SubResource("TileSetAtlasSource_3kgov") diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..94197bb --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://qh3qyp2da54e"] + +[resource] +bus/1/name = &"Effects" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"Music" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..9877349 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,110 @@ +[preset.0] + +name="Web" +platform="Web" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../Builds/Web/MinimalPlatformer.html" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +variant/extensions_support=false +variant/thread_support=false +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/export_icon=true +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/focus_canvas_on_start=true +html/experimental_virtual_keyboard=false +progressive_web_app/enabled=false +progressive_web_app/ensure_cross_origin_isolation_headers=true +progressive_web_app/offline_page="" +progressive_web_app/display=1 +progressive_web_app/orientation=0 +progressive_web_app/icon_144x144="" +progressive_web_app/icon_180x180="" +progressive_web_app/icon_512x512="" +progressive_web_app/background_color=Color(0, 0, 0, 1) + +[preset.1] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../Builds/Win/MinimalPlatformer.exe" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" diff --git a/icon.svg b/icon.svg index c6bbb7d..9d8b7fa 100644 --- a/icon.svg +++ b/icon.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import index 43fafe1..dc9915f 100644 --- a/icon.svg.import +++ b/icon.svg.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bqq8luy3bcmer" +uid="uid://dvfq7cynm0x8x" path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" metadata={ "vram_texture": false @@ -18,8 +18,6 @@ dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.cte compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -27,10 +25,6 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/prefabs/Characters/enemy_ground.tscn b/prefabs/Characters/enemy_ground.tscn new file mode 100644 index 0000000..6dfbac5 --- /dev/null +++ b/prefabs/Characters/enemy_ground.tscn @@ -0,0 +1,148 @@ +[gd_scene load_steps=13 format=3 uid="uid://bta6rg6alpwct"] + +[ext_resource type="Texture2D" uid="uid://ch7n8bdsviq0v" path="res://Assets/Visual/Characters/enemy_ground.png" id="1_klmuj"] +[ext_resource type="Script" uid="uid://ow780v11j4gt" path="res://Scripts/Characters/Enemy/enemy_ground.gd" id="1_s5foq"] +[ext_resource type="Script" uid="uid://dekx8meo31r21" path="res://Scripts/Characters/Enemy/attack_box.gd" id="3_i34dp"] +[ext_resource type="AudioStream" uid="uid://col2gbda38ce2" path="res://Assets/Audio/SFX/hit_01.wav" id="3_k1hhr"] + +[sub_resource type="Animation" id="Animation_s5foq"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} + +[sub_resource type="Animation" id="Animation_i34dp"] +resource_name = "death" +length = 0.1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [6] +} + +[sub_resource type="Animation" id="Animation_klmuj"] +resource_name = "walk" +length = 0.6 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3, 4, 5] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_k1hhr"] +_data = { +&"RESET": SubResource("Animation_s5foq"), +&"death": SubResource("Animation_i34dp"), +&"walk": SubResource("Animation_klmuj") +} + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_2nl5r"] +random_pitch = 1.2 +streams_count = 1 +stream_0/stream = ExtResource("3_k1hhr") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_s5foq"] +size = Vector2(10, 8) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_i34dp"] +size = Vector2(16, 6) + +[sub_resource type="CircleShape2D" id="CircleShape2D_s5foq"] +radius = 4.0 + +[node name="EnemyGround" type="CharacterBody2D" groups=["enemy"]] +script = ExtResource("1_s5foq") + +[node name="Visual" type="Node2D" parent="."] + +[node name="Sprite" type="Sprite2D" parent="Visual"] +unique_name_in_owner = true +position = Vector2(0, -8) +texture = ExtResource("1_klmuj") +hframes = 6 +vframes = 2 +frame = 1 + +[node name="Animator" type="AnimationPlayer" parent="Visual"] +unique_name_in_owner = true +libraries = { +&"": SubResource("AnimationLibrary_k1hhr") +} + +[node name="Audio" type="Node2D" parent="."] + +[node name="DeathSoundPlayer" type="AudioStreamPlayer" parent="Audio"] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_2nl5r") +bus = &"Effects" + +[node name="Hurtbox" type="Area2D" parent="."] +unique_name_in_owner = true +collision_layer = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"] +position = Vector2(0, -4) +shape = SubResource("RectangleShape2D_s5foq") + +[node name="AttackBox" type="Area2D" parent="."] +unique_name_in_owner = true +collision_layer = 2 +script = ExtResource("3_i34dp") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="AttackBox"] +position = Vector2(0, -4) +shape = SubResource("RectangleShape2D_i34dp") + +[node name="Raycasts" type="Node2D" parent="."] + +[node name="GroundRayLeft" type="RayCast2D" parent="Raycasts"] +unique_name_in_owner = true +position = Vector2(-8, -4) +target_position = Vector2(0, 8) + +[node name="GroundRayRight" type="RayCast2D" parent="Raycasts"] +unique_name_in_owner = true +position = Vector2(8, -4) +target_position = Vector2(0, 8) + +[node name="WallRayLeft" type="RayCast2D" parent="Raycasts"] +unique_name_in_owner = true +position = Vector2(0, -4) +target_position = Vector2(-8, 0) + +[node name="WallRayRight" type="RayCast2D" parent="Raycasts"] +unique_name_in_owner = true +position = Vector2(0, -4) +target_position = Vector2(8, 0) + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="."] +position = Vector2(0, -4) +shape = SubResource("CircleShape2D_s5foq") + +[connection signal="area_entered" from="AttackBox" to="AttackBox" method="_on_area_entered"] diff --git a/prefabs/Characters/player.tscn b/prefabs/Characters/player.tscn new file mode 100644 index 0000000..d531062 --- /dev/null +++ b/prefabs/Characters/player.tscn @@ -0,0 +1,192 @@ +[gd_scene load_steps=19 format=3 uid="uid://dno8cee2noo4j"] + +[ext_resource type="Script" uid="uid://dt3v7jvorf4o3" path="res://Scripts/Characters/PlayerCharacter/player.gd" id="1_25cl6"] +[ext_resource type="Texture2D" uid="uid://bhc0ibq7lwqx1" path="res://Assets/Visual/Characters/main_character.png" id="2_jmcfr"] +[ext_resource type="AudioStream" uid="uid://db1ix2udu1c2r" path="res://Assets/Audio/SFX/jump_01.wav" id="3_ahvcc"] +[ext_resource type="AudioStream" uid="uid://bana4sfscvucv" path="res://Assets/Audio/SFX/jump_02.wav" id="4_rnjr3"] +[ext_resource type="AudioStream" uid="uid://dobsokvlbuy20" path="res://Assets/Audio/SFX/hit_02.wav" id="5_vcg4a"] +[ext_resource type="Script" uid="uid://5p5u8dtod1cj" path="res://Scripts/Characters/PlayerCharacter/attack_ray.gd" id="6_oefvu"] + +[sub_resource type="Animation" id="Animation_u1ipw"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1] +} + +[sub_resource type="Animation" id="Animation_wgyg4"] +resource_name = "attack" +length = 0.6 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [24, 25, 26] +} + +[sub_resource type="Animation" id="Animation_p1r5x"] +resource_name = "idle" +length = 0.4 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [0, 1] +} + +[sub_resource type="Animation" id="Animation_iyggp"] +resource_name = "jump" +length = 0.3 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [12, 13, 14] +} + +[sub_resource type="Animation" id="Animation_r1f3e"] +resource_name = "land" +length = 0.4 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [18] +} + +[sub_resource type="Animation" id="Animation_xpv8o"] +resource_name = "run" +length = 0.6 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("MainSprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 1, +"values": [6, 7, 8, 9, 10, 11] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_iyggp"] +_data = { +&"RESET": SubResource("Animation_u1ipw"), +&"attack": SubResource("Animation_wgyg4"), +&"idle": SubResource("Animation_p1r5x"), +&"jump": SubResource("Animation_iyggp"), +&"land": SubResource("Animation_r1f3e"), +&"run": SubResource("Animation_xpv8o") +} + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wgyg4"] +random_pitch = 1.2 +streams_count = 2 +stream_0/stream = ExtResource("3_ahvcc") +stream_1/stream = ExtResource("4_rnjr3") + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7a23l"] +random_pitch = 1.2 +streams_count = 1 +stream_0/stream = ExtResource("5_vcg4a") + +[sub_resource type="CircleShape2D" id="CircleShape2D_780bu"] +radius = 4.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_p1r5x"] +size = Vector2(8, 5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_u1ipw"] +size = Vector2(10, 8) + +[node name="Player" type="CharacterBody2D" groups=["player"]] +script = ExtResource("1_25cl6") + +[node name="Visuals" type="Node2D" parent="."] +position = Vector2(0, 7) + +[node name="MainSprite" type="Sprite2D" parent="Visuals"] +unique_name_in_owner = true +position = Vector2(0, -23) +texture = ExtResource("2_jmcfr") +hframes = 6 +vframes = 5 +frame = 1 + +[node name="Animator" type="AnimationPlayer" parent="Visuals"] +unique_name_in_owner = true +libraries = { +&"": SubResource("AnimationLibrary_iyggp") +} + +[node name="Audio" type="Node2D" parent="."] + +[node name="JumpSound" type="AudioStreamPlayer" parent="Audio"] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_wgyg4") +bus = &"Effects" + +[node name="HurtSound" type="AudioStreamPlayer" parent="Audio"] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_7a23l") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -4) +shape = SubResource("CircleShape2D_780bu") + +[node name="AttackRay" type="ShapeCast2D" parent="."] +unique_name_in_owner = true +shape = SubResource("RectangleShape2D_p1r5x") +target_position = Vector2(0, 1) +collision_mask = 2 +collide_with_areas = true +collide_with_bodies = false +script = ExtResource("6_oefvu") + +[node name="Hurtbox" type="Area2D" parent="."] +unique_name_in_owner = true +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"] +position = Vector2(0, -4) +shape = SubResource("RectangleShape2D_u1ipw") diff --git a/prefabs/Items/apple_pickup.tscn b/prefabs/Items/apple_pickup.tscn new file mode 100644 index 0000000..8ae780d --- /dev/null +++ b/prefabs/Items/apple_pickup.tscn @@ -0,0 +1,81 @@ +[gd_scene load_steps=10 format=3 uid="uid://dn15yopg5ekxa"] + +[ext_resource type="Script" uid="uid://bj6chufeyeibu" path="res://Scripts/Items/apple_pickup.gd" id="1_dlhta"] +[ext_resource type="Texture2D" uid="uid://c646w8fxcpnlo" path="res://Assets/Visual/Items/apple.png" id="1_n0nxq"] +[ext_resource type="Script" uid="uid://58ppxtqvgxmy" path="res://Scripts/Generic/animation_player_play_loop.gd" id="3_r2i6a"] +[ext_resource type="AudioStream" uid="uid://c2iv8brn58x4x" path="res://Assets/Audio/SFX/pickup_02.wav" id="4_d1i5d"] + +[sub_resource type="Animation" id="Animation_r2i6a"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, -6)] +} + +[sub_resource type="Animation" id="Animation_dlhta"] +resource_name = "loop" +length = 0.8 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.75, 0.75), +"update": 0, +"values": [Vector2(0, -8), Vector2(0, -6)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_d1i5d"] +_data = { +&"RESET": SubResource("Animation_r2i6a"), +&"loop": SubResource("Animation_dlhta") +} + +[sub_resource type="CircleShape2D" id="CircleShape2D_n0nxq"] +radius = 8.0 + +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_r00b0"] +random_pitch = 1.2 +streams_count = 1 +stream_0/stream = ExtResource("4_d1i5d") + +[node name="ApplePickup" type="Area2D"] +collision_layer = 2 +script = ExtResource("1_dlhta") + +[node name="Visuals" type="Node2D" parent="."] + +[node name="Sprite2D" type="Sprite2D" parent="Visuals"] +unique_name_in_owner = true +position = Vector2(0, -6) +texture = ExtResource("1_n0nxq") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Visuals"] +libraries = { +&"": SubResource("AnimationLibrary_d1i5d") +} +script = ExtResource("3_r2i6a") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -8) +shape = SubResource("CircleShape2D_n0nxq") + +[node name="PickupSoundPlayer" type="AudioStreamPlayer" parent="."] +unique_name_in_owner = true +stream = SubResource("AudioStreamRandomizer_r00b0") +bus = &"Effects" + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/prefabs/Items/finish.tscn b/prefabs/Items/finish.tscn new file mode 100644 index 0000000..d9a1029 --- /dev/null +++ b/prefabs/Items/finish.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=5 format=3 uid="uid://bnnq2puespaw"] + +[ext_resource type="Script" uid="uid://d18eis4okksih" path="res://Scripts/Items/finish.gd" id="1_vjr45"] +[ext_resource type="Texture2D" uid="uid://ca5jn54tsxqpm" path="res://Assets/Visual/Items/finish.png" id="2_47ak6"] +[ext_resource type="AudioStream" uid="uid://b5numv44k2cdi" path="res://Assets/Audio/Music/victory.wav" id="3_47ak6"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_lquyx"] +size = Vector2(16, 16) + +[node name="Finish" type="Area2D"] +script = ExtResource("1_vjr45") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(0, -8) +texture = ExtResource("2_47ak6") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, -8) +shape = SubResource("RectangleShape2D_lquyx") + +[node name="VictorySound" type="AudioStreamPlayer" parent="."] +unique_name_in_owner = true +stream = ExtResource("3_47ak6") +volume_db = -8.0 +bus = &"Music" + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/prefabs/UI/fail_screen.tscn b/prefabs/UI/fail_screen.tscn new file mode 100644 index 0000000..da3aa6f --- /dev/null +++ b/prefabs/UI/fail_screen.tscn @@ -0,0 +1,76 @@ +[gd_scene load_steps=4 format=3 uid="uid://dx3iqfsxsm26a"] + +[ext_resource type="Script" uid="uid://c38vevdvg1rq5" path="res://Scripts/UI/fail_screen.gd" id="1_oharj"] +[ext_resource type="Theme" uid="uid://dmha0ysm5urx7" path="res://Assets/Visual/UI/base_theme.tres" id="1_rfk4e"] +[ext_resource type="AudioStream" uid="uid://djrkydgktdbqb" path="res://Assets/Audio/SFX/ui_blip_02.wav" id="2_oharj"] + +[node name="FailScreen" type="Control"] +process_mode = 2 +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_oharj") + +[node name="CanvasLayer" type="CanvasLayer" parent="."] +layer = 110 + +[node name="ColorRect" type="ColorRect" parent="CanvasLayer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.101961, 0.109804, 0.172549, 0.752941) + +[node name="Name" type="Label" parent="CanvasLayer"] +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -216.0 +offset_top = 80.0 +offset_right = 216.0 +offset_bottom = 118.0 +grow_horizontal = 2 +theme = ExtResource("1_rfk4e") +theme_override_font_sizes/font_size = 32 +text = "YOU FAILED" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 239.0 +offset_top = 152.0 +offset_right = -239.0 +offset_bottom = -104.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 + +[node name="ButtonRetry" type="Button" parent="CanvasLayer/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 +theme = ExtResource("1_rfk4e") +text = "TRY AGAIN" + +[node name="ButtonQuit" type="Button" parent="CanvasLayer/VBoxContainer"] +layout_mode = 2 +theme = ExtResource("1_rfk4e") +text = "QUIT +" + +[node name="ButtonHoverSound" type="AudioStreamPlayer" parent="."] +unique_name_in_owner = true +stream = ExtResource("2_oharj") +bus = &"Effects" + +[connection signal="button_down" from="CanvasLayer/VBoxContainer/ButtonRetry" to="." method="_on_button_retry_button_down"] +[connection signal="focus_entered" from="CanvasLayer/VBoxContainer/ButtonRetry" to="." method="_on_button_retry_focus_entered"] +[connection signal="button_down" from="CanvasLayer/VBoxContainer/ButtonQuit" to="." method="_on_button_quit_button_down"] +[connection signal="focus_entered" from="CanvasLayer/VBoxContainer/ButtonQuit" to="." method="_on_button_quit_focus_entered"] diff --git a/prefabs/UI/hud.tscn b/prefabs/UI/hud.tscn new file mode 100644 index 0000000..3fe984f --- /dev/null +++ b/prefabs/UI/hud.tscn @@ -0,0 +1,80 @@ +[gd_scene load_steps=5 format=3 uid="uid://bybftuq1lw7b3"] + +[ext_resource type="Texture2D" uid="uid://c8dx103r8mw3y" path="res://Assets/Visual/UI/health_icon.png" id="1_oh2ji"] +[ext_resource type="Script" uid="uid://codclvby6ay7g" path="res://Scripts/UI/hud.gd" id="1_xdtoa"] +[ext_resource type="Theme" uid="uid://dmha0ysm5urx7" path="res://Assets/Visual/UI/base_theme.tres" id="2_xdtoa"] +[ext_resource type="Texture2D" uid="uid://c646w8fxcpnlo" path="res://Assets/Visual/Items/apple.png" id="4_ofty5"] + +[node name="HUD" 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_xdtoa") + +[node name="CanvasLayer" type="CanvasLayer" parent="."] +layer = 100 + +[node name="Control" type="Control" parent="CanvasLayer"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 112.0 +offset_bottom = 48.0 + +[node name="Health" type="Control" parent="CanvasLayer/Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Icon" type="TextureRect" parent="CanvasLayer/Control/Health"] +clip_contents = true +layout_mode = 2 +offset_left = 8.0 +offset_top = 8.0 +offset_right = 29.0 +offset_bottom = 38.0 +texture = ExtResource("1_oh2ji") + +[node name="HealthNumber" type="Label" parent="CanvasLayer/Control/Health"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 40.0 +offset_right = 80.0 +offset_bottom = 38.0 +scale = Vector2(3, 3) +theme = ExtResource("2_xdtoa") +text = "10" + +[node name="Apples" type="Control" parent="CanvasLayer/Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 38.0 +offset_bottom = 38.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Icon" type="TextureRect" parent="CanvasLayer/Control/Apples"] +clip_contents = true +layout_mode = 2 +offset_left = 5.0 +offset_top = 8.0 +offset_right = 35.0 +offset_bottom = 38.0 +texture = ExtResource("4_ofty5") + +[node name="AppleNumber" type="Label" parent="CanvasLayer/Control/Apples"] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 40.0 +offset_right = 80.0 +offset_bottom = 38.0 +scale = Vector2(3, 3) +theme = ExtResource("2_xdtoa") +text = "10" diff --git a/prefabs/World/moving_platform.tscn b/prefabs/World/moving_platform.tscn new file mode 100644 index 0000000..880265b --- /dev/null +++ b/prefabs/World/moving_platform.tscn @@ -0,0 +1,64 @@ +[gd_scene load_steps=7 format=3 uid="uid://hadbyy62vq5i"] + +[ext_resource type="Texture2D" uid="uid://dequ0ve5i7ir1" path="res://Assets/Visual/Environments/moving_platform.png" id="1_qjg3h"] +[ext_resource type="Script" uid="uid://58ppxtqvgxmy" path="res://Scripts/Generic/animation_player_play_loop.gd" id="2_gl7w6"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8qe87"] +size = Vector2(32, 8) + +[sub_resource type="Animation" id="Animation_qjg3h"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CharacterBody2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 64)] +} + +[sub_resource type="Animation" id="Animation_8lwus"] +resource_name = "loop" +length = 6.0 +loop_mode = 1 +step = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CharacterBody2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, 64)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_mtr6x"] +_data = { +&"RESET": SubResource("Animation_qjg3h"), +&"loop": SubResource("Animation_8lwus") +} + +[node name="MovingPlatform" type="Node2D"] + +[node name="CharacterBody2D" type="CharacterBody2D" parent="."] +position = Vector2(0, 64) + +[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"] +texture = ExtResource("1_qjg3h") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="CharacterBody2D"] +position = Vector2(0, -4) +shape = SubResource("RectangleShape2D_8qe87") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_mtr6x") +} +script = ExtResource("2_gl7w6") diff --git a/prefabs/data_bus_singleton.tscn b/prefabs/data_bus_singleton.tscn new file mode 100644 index 0000000..2896ff9 --- /dev/null +++ b/prefabs/data_bus_singleton.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://c5osqwvkfgnbf"] + +[ext_resource type="Script" uid="uid://cbacrk8c1nvin" path="res://Scripts/data_bus_singleton.gd" id="1_g7idq"] + +[node name="DataBusSingleton" type="Node"] +script = ExtResource("1_g7idq") diff --git a/prefabs/player.tscn b/prefabs/player.tscn new file mode 100644 index 0000000..316f5c0 --- /dev/null +++ b/prefabs/player.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://1a7tsdkyl7k0"] + +[node name="Player" type="Node2D" unique_id=1602386697] diff --git a/project.godot b/project.godot index 5618ddf..1e6c4bf 100644 --- a/project.godot +++ b/project.godot @@ -8,31 +8,85 @@ config_version=5 +[animation] + +compatibility/default_parent_skeleton_in_mesh_instance_3d=true + [application] -config/name="vdskamagspil-2026t" -config/features=PackedStringArray("4.7", "GL Compatibility") -config/icon="res://icon.svg" +config/name="VDSpil" +config/description="VDSno Kamagmahena Spil" +run/main_scene="uid://cvd4jqb08af6c" +config/features=PackedStringArray("4.6", "Forward Plus") +run/max_fps=60 +config/icon="uid://bb332l6blaoim" + +[autoload] + +DataBusSingleton="*res://Prefabs/data_bus_singleton.tscn" [display] -window/stretch/mode="canvas_items" -window/stretch/aspect="expand" +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="viewport" -[file_customization] +[global_group] -folder_colors={ -"res://scenes/": "blue", -"res://scripts/": "green", -"res://tilesets/": "red" +player="" +enemy="Group of all enemies and entities that can hurt the player" + +[gui] + +fonts/dynamic_fonts/use_oversampling=false + +[input] + +ui_accept={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] } +move_right={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +] +} +move_left={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +] +} +jump={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} + +[layer_names] + +2d_physics/layer_1="Base" +2d_physics/layer_2="Entity" +2d_physics/layer_3="Item" [physics] -3d/physics_engine="Jolt Physics" +2d/physics_engine="GodotPhysics2D" [rendering] -rendering_device/driver.windows="d3d12" +textures/canvas_textures/default_texture_filter=3 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" +textures/decals/filter=0 +textures/light_projectors/filter=0 diff --git a/scenes/level.tscn b/scenes/level.tscn new file mode 100644 index 0000000..7c6cb40 --- /dev/null +++ b/scenes/level.tscn @@ -0,0 +1,264 @@ +[gd_scene format=4 uid="uid://bvam4vqfwqmfl"] + +[ext_resource type="Texture2D" uid="uid://dc7um7jifrv2q" path="res://Assets/Visual/Environments/Background/background_sky.png" id="1_dwbse"] +[ext_resource type="PackedScene" uid="uid://dno8cee2noo4j" path="res://Prefabs/Characters/player.tscn" id="1_f3sb7"] +[ext_resource type="Script" uid="uid://bwc7lnpu6py3j" path="res://scripts/Generic/level.gd" id="1_oqgf2"] +[ext_resource type="PackedScene" uid="uid://bybftuq1lw7b3" path="res://Prefabs/UI/hud.tscn" id="1_pkg7o"] +[ext_resource type="Texture2D" uid="uid://fwystnst4im2" path="res://Assets/Visual/Environments/Background/background_mountains.png" id="2_pkg7o"] +[ext_resource type="TileSet" uid="uid://dtg8a2s6k1mnt" path="res://Resources/Tilesets/tileset_jungle.tres" id="3_aqk2v"] +[ext_resource type="Texture2D" uid="uid://dhnqr7v4hf11t" path="res://Assets/Visual/Environments/Background/background_coulds.png" id="3_gbfbk"] +[ext_resource type="AudioStream" uid="uid://m864y6umy1ru" path="res://Assets/Audio/Music/level_loop.wav" id="3_qxfql"] +[ext_resource type="PackedScene" uid="uid://bta6rg6alpwct" path="res://Prefabs/Characters/enemy_ground.tscn" id="3_tlwt5"] +[ext_resource type="PackedScene" uid="uid://dn15yopg5ekxa" path="res://Prefabs/Items/apple_pickup.tscn" id="8_gbfbk"] +[ext_resource type="PackedScene" uid="uid://bnnq2puespaw" path="res://Prefabs/Items/finish.tscn" id="9_ha31o"] +[ext_resource type="PackedScene" uid="uid://hadbyy62vq5i" path="res://Prefabs/World/moving_platform.tscn" id="9_ioo17"] +[ext_resource type="Texture2D" uid="uid://cj35ne2auxoww" path="res://Assets/Visual/Items/piano.png" id="13_64w2a"] +[ext_resource type="Script" uid="uid://dmr7e7dpqf0nc" path="res://scenes/piano.gd" id="14_fpun6"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_fpun6"] +atlas = ExtResource("13_64w2a") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wc255"] +atlas = ExtResource("13_64w2a") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_arp2o"] +atlas = ExtResource("13_64w2a") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ux5qa"] +atlas = ExtResource("13_64w2a") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_82cfe"] +atlas = ExtResource("13_64w2a") +region = Rect2(128, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gunhw"] +atlas = ExtResource("13_64w2a") +region = Rect2(160, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8gofh"] +atlas = ExtResource("13_64w2a") +region = Rect2(192, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h6wmr"] +atlas = ExtResource("13_64w2a") +region = Rect2(224, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pqd0y"] +atlas = ExtResource("13_64w2a") +region = Rect2(256, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5k0ak"] +atlas = ExtResource("13_64w2a") +region = Rect2(288, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wu01b"] +atlas = ExtResource("13_64w2a") +region = Rect2(320, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3ies3"] +atlas = ExtResource("13_64w2a") +region = Rect2(352, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xy2fk"] +atlas = ExtResource("13_64w2a") +region = Rect2(384, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cmcjb"] +atlas = ExtResource("13_64w2a") +region = Rect2(416, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_556r4"] +atlas = ExtResource("13_64w2a") +region = Rect2(448, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7agi7"] +atlas = ExtResource("13_64w2a") +region = Rect2(480, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_q03hy"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_fpun6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wc255") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_arp2o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ux5qa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_82cfe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gunhw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8gofh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h6wmr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pqd0y") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5k0ak") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wu01b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3ies3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xy2fk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cmcjb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_556r4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7agi7") +}], +"loop": 1, +"name": &"default", +"speed": 15.0 +}] + +[node name="World" type="Node2D" unique_id=1414348289] +script = ExtResource("1_oqgf2") + +[node name="HUD" parent="." unique_id=1961865764 instance=ExtResource("1_pkg7o")] + +[node name="MusicPlayer" type="AudioStreamPlayer" parent="." unique_id=353201882] +stream = ExtResource("3_qxfql") +volume_db = -8.0 +autoplay = true +bus = &"Music" + +[node name="ParallaxBackground" type="ParallaxBackground" parent="." unique_id=166052158] + +[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground" unique_id=441540609] +motion_scale = Vector2(0, 0) +motion_mirroring = Vector2(256, 0) + +[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer" unique_id=1187492610] +texture = ExtResource("1_dwbse") +centered = false + +[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground" unique_id=61972477] +motion_scale = Vector2(0.33, 0.33) +motion_mirroring = Vector2(256, 0) + +[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer2" unique_id=2094521203] +texture = ExtResource("2_pkg7o") +centered = false +offset = Vector2(0, -32) + +[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground" unique_id=706254930] +motion_scale = Vector2(0.66, 0.66) +motion_mirroring = Vector2(256, 0) + +[node name="Sprite2D" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer3" unique_id=1160673345] +texture = ExtResource("3_gbfbk") +centered = false +offset = Vector2(0, -32) + +[node name="Hero" parent="." unique_id=1341442357 instance=ExtResource("1_f3sb7")] +position = Vector2(32, 200) +collision_layer = 3 +collision_mask = 7 + +[node name="Camera2D" type="Camera2D" parent="Hero" unique_id=933976910] +position = Vector2(0, -16) +ignore_rotation = false +zoom = Vector2(3, 3) +limit_left = 0 +limit_top = 0 +limit_right = 832 +limit_bottom = 304 +position_smoothing_enabled = true +position_smoothing_speed = 10.0 +rotation_smoothing_enabled = true +rotation_smoothing_speed = 7.5 +editor_draw_limits = true + +[node name="WorldTiles" type="TileMapLayer" parent="." unique_id=1749376508] +tile_map_data = PackedByteArray("AAANAA8AAAABAAIAAAANAA4AAAABAAUAAAANAA0AAAAAAAEAAAAMAA8AAAABAAIAAAAMAA4AAAABAAEAAAALAA8AAAABAAIAAAALAA4AAAABAAEAAAAKAA8AAAABAAIAAAAKAA4AAAABAAEAAAAJAA8AAAABAAIAAAAJAA4AAAABAAEAAAAIAA8AAAABAAIAAAAIAA4AAAABAAEAAAAHAA8AAAABAAIAAAAHAA4AAAABAAEAAAAGAA8AAAABAAIAAAAGAA4AAAABAAEAAAAFAA8AAAABAAIAAAAFAA4AAAABAAEAAAAEAA8AAAABAAIAAAAEAA4AAAAAAAUAAAAEAA0AAAACAAEAAAADAA8AAAABAAIAAAADAA4AAAABAAIAAAADAA0AAAABAAEAAAACAA8AAAABAAIAAAACAA4AAAABAAIAAAACAA0AAQAGAAIAAAABAA8AAAABAAIAAAABAA4AAAABAAIAAAABAA0AAQABAAEAAAAAAA8AAAABAAIAAAAAAA4AAAABAAIAAAAAAA0AAQABAAEAAAAOAA0AAAAFAAAAAAAOAA4AAAAAAAUAAAAOAA8AAAABAAIAAAAMABAAAAABAAIAAAAMABEAAAABAAIAAAAMABIAAAABAAIAAAANABIAAAABAAIAAAAOABIAAAABAAIAAAAPABIAAAABAAIAAAAQABIAAAABAAIAAAAQABQAAAABAAIAAAAQABMAAAABAAIAAAAPABQAAAABAAIAAAAPABMAAAABAAIAAAAOABQAAAABAAIAAAAOABMAAAABAAIAAAANABQAAAABAAIAAAANABMAAAABAAIAAAAMABQAAAABAAIAAAAMABMAAAABAAIAAAATAA8AAAAAAAIAAAAUAA8AAAABAAIAAAAVAA8AAAABAAIAAAAWAA8AAAABAAIAAAAXAA8AAAABAAIAAAAXABQAAAABAAIAAAAXABMAAAABAAIAAAAXABIAAAABAAIAAAAXABEAAAABAAIAAAAXABAAAAABAAIAAAAWABQAAAABAAIAAAAWABMAAAABAAIAAAAWABIAAAABAAIAAAAWABEAAAABAAIAAAAWABAAAAABAAIAAAAVABQAAAABAAIAAAAVABMAAAABAAIAAAAVABIAAAABAAIAAAAVABEAAAABAAIAAAAVABAAAAABAAIAAAAUABQAAAABAAIAAAAUABMAAAABAAIAAAAUABIAAAABAAIAAAAUABEAAAABAAIAAAAUABAAAAABAAIAAAATABQAAAABAAIAAAATABMAAAABAAIAAAATABIAAAABAAIAAAATABEAAAABAAIAAAATABAAAAABAAUAAAASABQAAAABAAIAAAASABMAAAABAAIAAAASABIAAAABAAIAAAARABQAAAABAAIAAAARABMAAAABAAIAAAARABIAAAABAAIAAAALABQAAAABAAIAAAALABMAAAABAAIAAAALABIAAAABAAIAAAALABEAAAABAAIAAAALABAAAAABAAIAAAAKABQAAAABAAIAAAAKABMAAAABAAIAAAAKABIAAAABAAIAAAAKABEAAAABAAIAAAAKABAAAAABAAIAAAAJABQAAAABAAIAAAAJABMAAAABAAIAAAAJABIAAAABAAIAAAAJABEAAAABAAIAAAAJABAAAAABAAIAAAAIABQAAAABAAIAAAAIABMAAAABAAIAAAAIABIAAAABAAIAAAAIABEAAAABAAIAAAAIABAAAAABAAIAAAAHABQAAAABAAIAAAAHABMAAAABAAIAAAAHABIAAAABAAIAAAAHABEAAAABAAIAAAAHABAAAAABAAIAAAAGABQAAAABAAIAAAAGABMAAAABAAIAAAAGABIAAAABAAIAAAAGABEAAAABAAIAAAAGABAAAAABAAIAAAAFABQAAAABAAIAAAAFABMAAAABAAIAAAAFABIAAAABAAIAAAAFABEAAAABAAIAAAAFABAAAAABAAIAAAAEABQAAAABAAIAAAAEABMAAAABAAIAAAAEABIAAAABAAIAAAAEABEAAAABAAIAAAAEABAAAAABAAIAAAADABQAAAABAAIAAAADABMAAAABAAIAAAADABIAAAABAAIAAAADABEAAAABAAIAAAADABAAAAABAAIAAAACABQAAAABAAIAAAACABMAAAABAAIAAAACABIAAAABAAIAAAACABEAAAABAAIAAAACABAAAAABAAIAAAABABQAAAABAAIAAAABABMAAAABAAIAAAABABIAAAABAAIAAAABABEAAAABAAIAAAABABAAAAABAAIAAAAAABQAAAABAAIAAAAAABMAAAABAAIAAAAAABIAAAABAAIAAAAAABEAAAABAAIAAAAAABAAAAABAAIAAAATAA4AAAAAAAIAAAAcAA8AAAABAAIAAAAbAA8AAAABAAIAAAAaAA8AAAABAAIAAAAZAA8AAAABAAIAAAAYAA8AAAABAAIAAAAYAA4AAAABAAEAAAAZAA4AAAABAAEAAAAaAA0AAAAAAAEAAAAbAA0AAAABAAEAAAAcAAwAAAAAAAEAAAAdAAwAAAABAAEAAAAdAA0AAAABAAIAAAAcAA0AAAABAAUAAAAcAA4AAAABAAIAAAAdAA4AAAABAAIAAAAbAA4AAAABAAIAAAAaAA4AAAABAAUAAAAdAA8AAAABAAIAAAAdABQAAAABAAIAAAAdABMAAAABAAIAAAAdABIAAAABAAIAAAAdABEAAAABAAIAAAAdABAAAAABAAIAAAAcABQAAAABAAIAAAAcABMAAAABAAIAAAAcABIAAAABAAIAAAAcABEAAAABAAIAAAAcABAAAAABAAIAAAAbABQAAAABAAIAAAAbABMAAAABAAIAAAAbABIAAAABAAIAAAAbABEAAAABAAIAAAAbABAAAAABAAIAAAAaABQAAAABAAIAAAAaABMAAAABAAIAAAAaABIAAAABAAIAAAAaABEAAAABAAIAAAAaABAAAAABAAIAAAAZABQAAAABAAIAAAAZABMAAAABAAIAAAAZABIAAAABAAIAAAAZABEAAAABAAIAAAAZABAAAAABAAIAAAAYABQAAAABAAIAAAAYABMAAAABAAIAAAAYABIAAAABAAIAAAAYABEAAAABAAIAAAAYABAAAAABAAIAAAD//xQAAAABAAIAAAD//xMAAAABAAIAAAD//xIAAAABAAIAAAD//xEAAAABAAIAAAD//xAAAAABAAIAAAD//w8AAAABAAIAAAD//w4AAAABAAIAAAD//w0AAQAFAAIAAAD//wwAAQACAAIAAAD//wsAAQACAAIAAAD//woAAQAFAAEAAAD+/xQAAAABAAIAAAD+/xMAAAABAAIAAAD+/xIAAAABAAIAAAD+/xEAAAABAAIAAAD+/xAAAAABAAIAAAD+/w8AAAABAAIAAAD+/w4AAAABAAIAAAD+/w0AAAABAAIAAAD+/wwAAAABAAIAAAD+/woAAAABAAIAAAD9/xQAAAABAAIAAAD9/xMAAAABAAIAAAD9/xIAAAABAAIAAAD9/xEAAAABAAIAAAD9/xAAAAABAAIAAAD9/w8AAAABAAIAAAD9/w4AAAABAAIAAAD9/w0AAAABAAIAAAD9/wwAAAABAAIAAAD8/xQAAAABAAIAAAD8/xMAAAABAAIAAAD8/xIAAAABAAIAAAD8/xEAAAABAAIAAAD8/xAAAAABAAIAAAD8/w8AAAABAAIAAAD8/w4AAAABAAIAAAD8/w0AAAABAAIAAAD8/wwAAAABAAIAAAD8/wsAAAABAAIAAAD8/woAAAABAAIAAAD7/xQAAAABAAIAAAD7/xMAAAABAAIAAAD7/xIAAAABAAIAAAD7/xEAAAABAAIAAAD7/xAAAAABAAIAAAD7/w8AAAABAAIAAAD7/w4AAAABAAIAAAD7/w0AAAABAAIAAAD7/wwAAAABAAIAAAD7/wsAAAABAAIAAAD7/woAAAABAAIAAAD//wkAAAACAAIAAAD//wgAAAACAAIAAAD+/wkAAAABAAIAAAD+/wgAAAABAAIAAAD9/wkAAAABAAIAAAD9/wgAAAABAAIAAAD7/wkAAAABAAIAAAAdABoAAAABAAIAAAAdABkAAAABAAIAAAAdABgAAAABAAIAAAAdABcAAAABAAIAAAAdABYAAAABAAIAAAAdABUAAAABAAIAAAAcABoAAAABAAIAAAAcABkAAAABAAIAAAAcABgAAAABAAIAAAAcABcAAAABAAIAAAAcABYAAAABAAIAAAAcABUAAAABAAIAAAAbABoAAAABAAIAAAAbABkAAAABAAIAAAAbABgAAAABAAIAAAAbABcAAAABAAIAAAAbABYAAAABAAIAAAAbABUAAAABAAIAAAAaABoAAAABAAIAAAAaABkAAAABAAIAAAAaABgAAAABAAIAAAAaABcAAAABAAIAAAAaABYAAAABAAIAAAAaABUAAAABAAIAAAAZABoAAAABAAIAAAAZABkAAAABAAIAAAAZABgAAAABAAIAAAAZABcAAAABAAIAAAAZABYAAAABAAIAAAAZABUAAAABAAIAAAAYABoAAAABAAIAAAAYABkAAAABAAIAAAAYABgAAAABAAIAAAAYABcAAAABAAIAAAAYABYAAAABAAIAAAAYABUAAAABAAIAAAAXABoAAAABAAIAAAAXABkAAAABAAIAAAAXABgAAAABAAIAAAAXABcAAAABAAIAAAAXABYAAAABAAIAAAAXABUAAAABAAIAAAAWABoAAAABAAIAAAAWABkAAAABAAIAAAAWABgAAAABAAIAAAAWABcAAAABAAIAAAAWABYAAAABAAIAAAAWABUAAAABAAIAAAAVABoAAAABAAIAAAAVABkAAAABAAIAAAAVABgAAAABAAIAAAAVABcAAAABAAIAAAAVABYAAAABAAIAAAAVABUAAAABAAIAAAAUABoAAAABAAIAAAAUABkAAAABAAIAAAAUABgAAAABAAIAAAAUABcAAAABAAIAAAAUABYAAAABAAIAAAAUABUAAAABAAIAAAATABoAAAABAAIAAAATABkAAAABAAIAAAATABgAAAABAAIAAAATABcAAAABAAIAAAATABYAAAABAAIAAAATABUAAAABAAIAAAASABoAAAABAAIAAAASABkAAAABAAIAAAASABgAAAABAAIAAAASABcAAAABAAIAAAASABYAAAABAAIAAAASABUAAAABAAIAAAARABoAAAABAAIAAAARABkAAAABAAIAAAARABgAAAABAAIAAAARABcAAAABAAIAAAARABYAAAABAAIAAAARABUAAAABAAIAAAAQABoAAAABAAIAAAAQABkAAAABAAIAAAAQABgAAAABAAIAAAAQABcAAAABAAIAAAAQABYAAAABAAIAAAAQABUAAAABAAIAAAAPABoAAAABAAIAAAAPABkAAAABAAIAAAAPABgAAAABAAIAAAAPABcAAAABAAIAAAAPABYAAAABAAIAAAAPABUAAAABAAIAAAAOABoAAAABAAIAAAAOABkAAAABAAIAAAAOABgAAAABAAIAAAAOABcAAAABAAIAAAAOABYAAAABAAIAAAAOABUAAAABAAIAAAANABoAAAABAAIAAAANABkAAAABAAIAAAANABgAAAABAAIAAAANABcAAAABAAIAAAANABYAAAABAAIAAAANABUAAAABAAIAAAAMABoAAAABAAIAAAAMABkAAAABAAIAAAAMABgAAAABAAIAAAAMABcAAAABAAIAAAAMABYAAAABAAIAAAAMABUAAAABAAIAAAALABoAAAABAAIAAAALABkAAAABAAIAAAALABgAAAABAAIAAAALABcAAAABAAIAAAALABYAAAABAAIAAAALABUAAAABAAIAAAAKABoAAAABAAIAAAAKABkAAAABAAIAAAAKABgAAAABAAIAAAAKABcAAAABAAIAAAAKABYAAAABAAIAAAAKABUAAAABAAIAAAAJABoAAAABAAIAAAAJABkAAAABAAIAAAAJABgAAAABAAIAAAAJABcAAAABAAIAAAAJABYAAAABAAIAAAAJABUAAAABAAIAAAAIABoAAAABAAIAAAAIABkAAAABAAIAAAAIABgAAAABAAIAAAAIABcAAAABAAIAAAAIABYAAAABAAIAAAAIABUAAAABAAIAAAAHABoAAAABAAIAAAAHABkAAAABAAIAAAAHABgAAAABAAIAAAAHABcAAAABAAIAAAAHABYAAAABAAIAAAAHABUAAAABAAIAAAAGABoAAAABAAIAAAAGABkAAAABAAIAAAAGABgAAAABAAIAAAAGABcAAAABAAIAAAAGABYAAAABAAIAAAAGABUAAAABAAIAAAAFABoAAAABAAIAAAAFABkAAAABAAIAAAAFABgAAAABAAIAAAAFABcAAAABAAIAAAAFABYAAAABAAIAAAAFABUAAAABAAIAAAAEABoAAAABAAIAAAAEABkAAAABAAIAAAAEABgAAAABAAIAAAAEABcAAAABAAIAAAAEABYAAAABAAIAAAAEABUAAAABAAIAAAADABoAAAABAAIAAAADABkAAAABAAIAAAADABgAAAABAAIAAAADABcAAAABAAIAAAADABYAAAABAAIAAAADABUAAAABAAIAAAACABoAAAABAAIAAAACABkAAAABAAIAAAACABgAAAABAAIAAAACABcAAAABAAIAAAACABYAAAABAAIAAAACABUAAAABAAIAAAABABoAAAABAAIAAAABABkAAAABAAIAAAABABgAAAABAAIAAAABABcAAAABAAIAAAABABYAAAABAAIAAAABABUAAAABAAIAAAAAABoAAAABAAIAAAAAABkAAAABAAIAAAAAABgAAAABAAIAAAAAABcAAAABAAIAAAAAABYAAAABAAIAAAAAABUAAAABAAIAAAD//xoAAAABAAIAAAD//xkAAAABAAIAAAD//xgAAAABAAIAAAD//xcAAAABAAIAAAD//xYAAAABAAIAAAD//xUAAAABAAIAAAD+/xoAAAABAAIAAAD+/xkAAAABAAIAAAD+/xgAAAABAAIAAAD+/xcAAAABAAIAAAD+/xYAAAABAAIAAAD+/xUAAAABAAIAAAD9/xoAAAABAAIAAAD9/xkAAAABAAIAAAD9/xgAAAABAAIAAAD9/xcAAAABAAIAAAD9/xYAAAABAAIAAAD9/xUAAAABAAIAAAD8/xoAAAABAAIAAAD8/xkAAAABAAIAAAD8/xgAAAABAAIAAAD8/xcAAAABAAIAAAD8/xYAAAABAAIAAAD8/xUAAAABAAIAAAD7/xoAAAABAAIAAAD7/xkAAAABAAIAAAD7/xgAAAABAAIAAAD7/xcAAAABAAIAAAD7/xYAAAABAAIAAAD7/xUAAAABAAIAAAAhABoAAAABAAIAAAAhABkAAAABAAIAAAAhABgAAAABAAIAAAAhABcAAAABAAIAAAAhABYAAAABAAIAAAAhABUAAAABAAIAAAAhABQAAAABAAIAAAAhABMAAAABAAIAAAAhABIAAAABAAIAAAAhABEAAAABAAIAAAAhABAAAAABAAIAAAAhAA8AAAABAAIAAAAhAA4AAAABAAIAAAAhAA0AAAABAAIAAAAhAAwAAAABAAEAAAAgABoAAAABAAIAAAAgABkAAAABAAIAAAAgABgAAAABAAIAAAAgABcAAAABAAIAAAAgABYAAAABAAIAAAAgABUAAAABAAIAAAAgABQAAAABAAIAAAAgABMAAAABAAIAAAAgABIAAAABAAIAAAAgABEAAAABAAIAAAAgABAAAAABAAIAAAAgAA8AAAABAAIAAAAgAA4AAAABAAIAAAAgAA0AAAABAAIAAAAgAAwAAAACAAUAAAAfABoAAAABAAIAAAAfABkAAAABAAIAAAAfABgAAAABAAIAAAAfABcAAAABAAIAAAAfABYAAAABAAIAAAAfABUAAAABAAIAAAAfABQAAAABAAIAAAAfABMAAAABAAIAAAAfABIAAAABAAIAAAAfABEAAAABAAIAAAAfABAAAAABAAIAAAAfAA8AAAABAAIAAAAfAA4AAAABAAIAAAAfAA0AAAABAAIAAAAfAAwAAAABAAEAAAAeABoAAAABAAIAAAAeABkAAAABAAIAAAAeABgAAAABAAIAAAAeABcAAAABAAIAAAAeABYAAAABAAIAAAAeABUAAAABAAIAAAAeABQAAAABAAIAAAAeABMAAAABAAIAAAAeABIAAAABAAIAAAAeABEAAAABAAIAAAAeABAAAAABAAIAAAAeAA8AAAABAAIAAAAeAA4AAAABAAIAAAAeAA0AAAABAAIAAAAeAAwAAAABAAEAAAAoABIAAAABAAIAAAAoABEAAAABAAIAAAAoABAAAAABAAIAAAAoAA8AAAABAAEAAAAoAAoAAAAAAAMAAAAoAAkAAAABAAQAAAAoAAgAAAABAAIAAAAoAAcAAAABAAIAAAAnABIAAAABAAIAAAAnABEAAAABAAIAAAAnABAAAAABAAUAAAAnAA8AAAAAAAEAAAAnAAkAAAABAAMAAAAnAAgAAAABAAIAAAAnAAcAAAABAAIAAAAmABIAAAABAAIAAAAmABEAAAABAAIAAAAmABAAAAABAAEAAAAmAAkAAAAAAAMAAAAmAAgAAAAAAAIAAAAmAAcAAAAAAAIAAAAlABIAAAABAAIAAAAlABEAAAABAAIAAAAlABAAAAABAAEAAAAkABIAAAABAAIAAAAkABEAAAABAAIAAAAkABAAAAAAAAUAAAAkAA8AAAACAAIAAAAkAA4AAAACAAIAAAAkAAwAAAACAAEAAAAjABIAAAABAAIAAAAjABEAAAABAAIAAAAjABAAAAABAAIAAAAjAA8AAAABAAIAAAAjAA4AAAABAAIAAAAjAA0AAAABAAIAAAAjAAwAAAABAAEAAAAiABIAAAABAAIAAAAiABEAAAABAAIAAAAiABAAAAABAAIAAAAiAA8AAAABAAIAAAAiAA4AAAABAAIAAAAiAA0AAAABAAIAAAAiAAwAAAABAAEAAAAoABoAAAABAAIAAAAoABkAAAABAAIAAAAoABgAAAABAAIAAAAoABcAAAABAAIAAAAoABYAAAABAAIAAAAoABUAAAABAAIAAAAoABQAAAABAAIAAAAoABMAAAABAAIAAAAnABoAAAABAAIAAAAnABkAAAABAAIAAAAnABgAAAABAAIAAAAnABcAAAABAAIAAAAnABYAAAABAAIAAAAnABUAAAABAAIAAAAnABQAAAABAAIAAAAnABMAAAABAAIAAAAmABoAAAABAAIAAAAmABkAAAABAAIAAAAmABgAAAABAAIAAAAmABcAAAABAAIAAAAmABYAAAABAAIAAAAmABUAAAABAAIAAAAmABQAAAABAAIAAAAmABMAAAABAAIAAAAlABoAAAABAAIAAAAlABkAAAABAAIAAAAlABgAAAABAAIAAAAlABcAAAABAAIAAAAlABYAAAABAAIAAAAlABUAAAABAAIAAAAlABQAAAABAAIAAAAlABMAAAABAAIAAAAkABoAAAABAAIAAAAkABkAAAABAAIAAAAkABgAAAABAAIAAAAkABcAAAABAAIAAAAkABYAAAABAAIAAAAkABUAAAABAAIAAAAkABQAAAABAAIAAAAkABMAAAABAAIAAAAjABoAAAABAAIAAAAjABkAAAABAAIAAAAjABgAAAABAAIAAAAjABcAAAABAAIAAAAjABYAAAABAAIAAAAjABUAAAABAAIAAAAjABQAAAABAAIAAAAjABMAAAABAAIAAAAiABoAAAABAAIAAAAiABkAAAABAAIAAAAiABgAAAABAAIAAAAiABcAAAABAAIAAAAiABYAAAABAAIAAAAiABUAAAABAAIAAAAiABQAAAABAAIAAAAiABMAAAABAAIAAAAoACMAAAABAAMAAAAoACIAAAABAAIAAAAoACEAAAABAAIAAAAoACAAAAABAAIAAAAoAB8AAAABAAIAAAAoAB4AAAABAAIAAAAoAB0AAAABAAIAAAAoABwAAAABAAIAAAAoABsAAAABAAIAAAAnACMAAAABAAMAAAAnACIAAAABAAIAAAAnACEAAAABAAIAAAAnACAAAAABAAIAAAAnAB8AAAABAAIAAAAnAB4AAAABAAIAAAAnAB0AAAABAAIAAAAnABwAAAABAAIAAAAnABsAAAABAAIAAAAmACMAAAABAAMAAAAmACIAAAABAAIAAAAmACEAAAABAAIAAAAmACAAAAABAAIAAAAmAB8AAAABAAIAAAAmAB4AAAABAAIAAAAmAB0AAAABAAIAAAAmABwAAAABAAIAAAAmABsAAAABAAIAAAAlACMAAAABAAMAAAAlACIAAAABAAIAAAAlACEAAAABAAIAAAAlACAAAAABAAIAAAAlAB8AAAABAAIAAAAlAB4AAAABAAIAAAAlAB0AAAABAAIAAAAlABwAAAABAAIAAAAlABsAAAABAAIAAAAkACMAAAABAAMAAAAkACIAAAABAAIAAAAkACEAAAABAAIAAAAkACAAAAABAAIAAAAkAB8AAAABAAIAAAAkAB4AAAABAAIAAAAkAB0AAAABAAIAAAAkABwAAAABAAIAAAAkABsAAAABAAIAAAAjACMAAAABAAMAAAAjACIAAAABAAIAAAAjACEAAAABAAIAAAAjACAAAAABAAIAAAAjAB8AAAABAAIAAAAjAB4AAAABAAIAAAAjAB0AAAABAAIAAAAjABwAAAABAAIAAAAjABsAAAABAAIAAAAiACMAAAABAAMAAAAiACIAAAABAAIAAAAiACEAAAABAAIAAAAiACAAAAABAAIAAAAiAB8AAAABAAIAAAAiAB4AAAABAAIAAAAiAB0AAAABAAIAAAAiABwAAAABAAIAAAAiABsAAAABAAIAAAAhACMAAAABAAMAAAAhACIAAAABAAIAAAAhACEAAAABAAIAAAAhACAAAAABAAIAAAAhAB8AAAABAAIAAAAhAB4AAAABAAIAAAAhAB0AAAABAAIAAAAhABwAAAABAAIAAAAhABsAAAABAAIAAAAgACMAAAABAAMAAAAgACIAAAABAAIAAAAgACEAAAABAAIAAAAgACAAAAABAAIAAAAgAB8AAAABAAIAAAAgAB4AAAABAAIAAAAgAB0AAAABAAIAAAAgABwAAAABAAIAAAAgABsAAAABAAIAAAAfACMAAAABAAMAAAAfACIAAAABAAIAAAAfACEAAAABAAIAAAAfACAAAAABAAIAAAAfAB8AAAABAAIAAAAfAB4AAAABAAIAAAAfAB0AAAABAAIAAAAfABwAAAABAAIAAAAfABsAAAABAAIAAAAeACMAAAABAAMAAAAeACIAAAABAAIAAAAeACEAAAABAAIAAAAeACAAAAABAAIAAAAeAB8AAAABAAIAAAAeAB4AAAABAAIAAAAeAB0AAAABAAIAAAAeABwAAAABAAIAAAAeABsAAAABAAIAAAAdACMAAAABAAMAAAAdACIAAAABAAIAAAAdACEAAAABAAIAAAAdACAAAAABAAIAAAAdAB8AAAABAAIAAAAdAB4AAAABAAIAAAAdAB0AAAABAAIAAAAdABwAAAABAAIAAAAdABsAAAABAAIAAAAcACMAAAABAAMAAAAcACIAAAABAAIAAAAcACEAAAABAAIAAAAcACAAAAABAAIAAAAcAB8AAAABAAIAAAAcAB4AAAABAAIAAAAcAB0AAAABAAIAAAAcABwAAAABAAIAAAAcABsAAAABAAIAAAAbACMAAAABAAMAAAAbACIAAAABAAIAAAAbACEAAAABAAIAAAAbACAAAAABAAIAAAAbAB8AAAABAAIAAAAbAB4AAAABAAIAAAAbAB0AAAABAAIAAAAbABwAAAABAAIAAAAbABsAAAABAAIAAAAaACMAAAABAAMAAAAaACIAAAABAAIAAAAaACEAAAABAAIAAAAaACAAAAABAAIAAAAaAB8AAAABAAIAAAAaAB4AAAABAAIAAAAaAB0AAAABAAIAAAAaABwAAAABAAIAAAAaABsAAAABAAIAAAAZACMAAAABAAMAAAAZACIAAAABAAIAAAAZACEAAAABAAIAAAAZACAAAAABAAIAAAAZAB8AAAABAAIAAAAZAB4AAAABAAIAAAAZAB0AAAABAAIAAAAZABwAAAABAAIAAAAZABsAAAABAAIAAAAYACMAAAABAAMAAAAYACIAAAABAAIAAAAYACEAAAABAAIAAAAYACAAAAABAAIAAAAYAB8AAAABAAIAAAAYAB4AAAABAAIAAAAYAB0AAAABAAIAAAAYABwAAAABAAIAAAAYABsAAAABAAIAAAAXACMAAAABAAMAAAAXACIAAAABAAIAAAAXACEAAAABAAIAAAAXACAAAAABAAIAAAAXAB8AAAABAAIAAAAXAB4AAAABAAIAAAAXAB0AAAABAAIAAAAXABwAAAABAAIAAAAXABsAAAABAAIAAAAWACMAAAABAAMAAAAWACIAAAABAAIAAAAWACEAAAABAAIAAAAWACAAAAABAAIAAAAWAB8AAAABAAIAAAAWAB4AAAABAAIAAAAWAB0AAAABAAIAAAAWABwAAAABAAIAAAAWABsAAAABAAIAAAAVACMAAAABAAMAAAAVACIAAAABAAIAAAAVACEAAAABAAIAAAAVACAAAAABAAIAAAAVAB8AAAABAAIAAAAVAB4AAAABAAIAAAAVAB0AAAABAAIAAAAVABwAAAABAAIAAAAVABsAAAABAAIAAAAUACMAAAABAAMAAAAUACIAAAABAAIAAAAUACEAAAABAAIAAAAUACAAAAABAAIAAAAUAB8AAAABAAIAAAAUAB4AAAABAAIAAAAUAB0AAAABAAIAAAAUABwAAAABAAIAAAAUABsAAAABAAIAAAATACMAAAABAAMAAAATACIAAAABAAIAAAATACEAAAABAAIAAAATACAAAAABAAIAAAATAB8AAAABAAIAAAATAB4AAAABAAIAAAATAB0AAAABAAIAAAATABwAAAABAAIAAAATABsAAAABAAIAAAASACMAAAABAAMAAAASACIAAAABAAIAAAASACEAAAABAAIAAAASACAAAAABAAIAAAASAB8AAAABAAIAAAASAB4AAAABAAIAAAASAB0AAAABAAIAAAASABwAAAABAAIAAAASABsAAAABAAIAAAARACMAAAABAAMAAAARACIAAAABAAIAAAARACEAAAABAAIAAAARACAAAAABAAIAAAARAB8AAAABAAIAAAARAB4AAAABAAIAAAARAB0AAAABAAIAAAARABwAAAABAAIAAAARABsAAAABAAIAAAAQACMAAAABAAMAAAAQACIAAAABAAIAAAAQACEAAAABAAIAAAAQACAAAAABAAIAAAAQAB8AAAABAAIAAAAQAB4AAAABAAIAAAAQAB0AAAABAAIAAAAQABwAAAABAAIAAAAQABsAAAABAAIAAAAPACMAAAABAAMAAAAPACIAAAABAAIAAAAPACEAAAABAAIAAAAPACAAAAABAAIAAAAPAB8AAAABAAIAAAAPAB4AAAABAAIAAAAPAB0AAAABAAIAAAAPABwAAAABAAIAAAAPABsAAAABAAIAAAAOACMAAAABAAMAAAAOACIAAAABAAIAAAAOACEAAAABAAIAAAAOACAAAAABAAIAAAAOAB8AAAABAAIAAAAOAB4AAAABAAIAAAAOAB0AAAABAAIAAAAOABwAAAABAAIAAAAOABsAAAABAAIAAAANACMAAAABAAMAAAANACIAAAABAAIAAAANACEAAAABAAIAAAANACAAAAABAAIAAAANAB8AAAABAAIAAAANAB4AAAABAAIAAAANAB0AAAABAAIAAAANABwAAAABAAIAAAANABsAAAABAAIAAAAMACMAAAABAAMAAAAMACIAAAABAAIAAAAMACEAAAABAAIAAAAMACAAAAABAAIAAAAMAB8AAAABAAIAAAAMAB4AAAABAAIAAAAMAB0AAAABAAIAAAAMABwAAAABAAIAAAAMABsAAAABAAIAAAALACMAAAABAAMAAAALACIAAAABAAIAAAALACEAAAABAAIAAAALACAAAAABAAIAAAALAB8AAAABAAIAAAALAB4AAAABAAIAAAALAB0AAAABAAIAAAALABwAAAABAAIAAAALABsAAAABAAIAAAAKACMAAAABAAMAAAAKACIAAAABAAIAAAAKACEAAAABAAIAAAAKACAAAAABAAIAAAAKAB8AAAABAAIAAAAKAB4AAAABAAIAAAAKAB0AAAABAAIAAAAKABwAAAABAAIAAAAKABsAAAABAAIAAAAJACMAAAABAAMAAAAJACIAAAABAAIAAAAJACEAAAABAAIAAAAJACAAAAABAAIAAAAJAB8AAAABAAIAAAAJAB4AAAABAAIAAAAJAB0AAAABAAIAAAAJABwAAAABAAIAAAAJABsAAAABAAIAAAAIACMAAAABAAMAAAAIACIAAAABAAIAAAAIACEAAAABAAIAAAAIACAAAAABAAIAAAAIAB8AAAABAAIAAAAIAB4AAAABAAIAAAAIAB0AAAABAAIAAAAIABwAAAABAAIAAAAIABsAAAABAAIAAAAHACMAAAABAAMAAAAHACIAAAABAAIAAAAHACEAAAABAAIAAAAHACAAAAABAAIAAAAHAB8AAAABAAIAAAAHAB4AAAABAAIAAAAHAB0AAAABAAIAAAAHABwAAAABAAIAAAAHABsAAAABAAIAAAAGACMAAAABAAMAAAAGACIAAAABAAIAAAAGACEAAAABAAIAAAAGACAAAAABAAIAAAAGAB8AAAABAAIAAAAGAB4AAAABAAIAAAAGAB0AAAABAAIAAAAGABwAAAABAAIAAAAGABsAAAABAAIAAAAFACMAAAABAAMAAAAFACIAAAABAAIAAAAFACEAAAABAAIAAAAFACAAAAABAAIAAAAFAB8AAAABAAIAAAAFAB4AAAABAAIAAAAFAB0AAAABAAIAAAAFABwAAAABAAIAAAAFABsAAAABAAIAAAAEACMAAAABAAMAAAAEACIAAAABAAIAAAAEACEAAAABAAIAAAAEACAAAAABAAIAAAAEAB8AAAABAAIAAAAEAB4AAAABAAIAAAAEAB0AAAABAAIAAAAEABwAAAABAAIAAAAEABsAAAABAAIAAAADACMAAAABAAMAAAADACIAAAABAAIAAAADACEAAAABAAIAAAADACAAAAABAAIAAAADAB8AAAABAAIAAAADAB4AAAABAAIAAAADAB0AAAABAAIAAAADABwAAAABAAIAAAADABsAAAABAAIAAAACACMAAAABAAMAAAACACIAAAABAAIAAAACACEAAAABAAIAAAACACAAAAABAAIAAAACAB8AAAABAAIAAAACAB4AAAABAAIAAAACAB0AAAABAAIAAAACABwAAAABAAIAAAACABsAAAABAAIAAAABACMAAAABAAMAAAABACIAAAABAAIAAAABACEAAAABAAIAAAABACAAAAABAAIAAAABAB8AAAABAAIAAAABAB4AAAABAAIAAAABAB0AAAABAAIAAAABABwAAAABAAIAAAABABsAAAABAAIAAAAAACMAAAABAAMAAAAAACIAAAABAAIAAAAAACEAAAABAAIAAAAAACAAAAABAAIAAAAAAB8AAAABAAIAAAAAAB4AAAABAAIAAAAAAB0AAAABAAIAAAAAABwAAAABAAIAAAAAABsAAAABAAIAAAD//yMAAAABAAMAAAD//yIAAAABAAIAAAD//yEAAAABAAIAAAD//yAAAAABAAIAAAD//x8AAAABAAIAAAD//x4AAAABAAIAAAD//x0AAAABAAIAAAD//xwAAAABAAIAAAD//xsAAAABAAIAAAD+/yMAAAABAAMAAAD+/yIAAAABAAIAAAD+/yEAAAABAAIAAAD+/yAAAAABAAIAAAD+/x8AAAABAAIAAAD+/x4AAAABAAIAAAD+/x0AAAABAAIAAAD+/xwAAAABAAIAAAD+/xsAAAABAAIAAAD9/yMAAAABAAMAAAD9/yIAAAABAAIAAAD9/yEAAAABAAIAAAD9/yAAAAABAAIAAAD9/x8AAAABAAIAAAD9/x4AAAABAAIAAAD9/x0AAAABAAIAAAD9/xwAAAABAAIAAAD9/xsAAAABAAIAAAD8/yMAAAABAAMAAAD8/yIAAAABAAIAAAD8/yEAAAABAAIAAAD8/yAAAAABAAIAAAD8/x8AAAABAAIAAAD8/x4AAAABAAIAAAD8/x0AAAABAAIAAAD8/xwAAAABAAIAAAD8/xsAAAABAAIAAAD7/yMAAAABAAMAAAD7/yIAAAABAAIAAAD7/yEAAAABAAIAAAD7/yAAAAABAAIAAAD7/x8AAAABAAIAAAD7/x4AAAABAAIAAAD7/x0AAAABAAIAAAD7/xwAAAABAAIAAAD7/xsAAAABAAIAAAAUAA4AAAAAAAUAAAAcAAgAAAAAAAMAAAAdAAgAAAABAAMAAAAeAAgAAAABAAMAAAAfAAgAAAABAAQAAAAgAAgAAAABAAIAAAAgAAkAAAADAAUAAAAgAAoAAAADAAIAAAAgAAsAAAADAAIAAAAhAAkAAAACAAMAAAAhAAgAAAACAAIAAAD+/wsAAAABAAIAAAD9/wsAAAABAAIAAAD9/woAAAABAAIAAAD8/wkAAAABAAIAAAD8/wgAAAABAAIAAAD7/wgAAAABAAIAAAAgAAcAAAACAAUAAAAhAAcAAAACAAEAAAAVAA4AAAABAAEAAAAWAA4AAAABAAEAAAAXAA4AAAABAAEAAAAfAAcAAAABAAEAAAAeAAcAAAABAAEAAAAdAAcAAAACAAUAAAAcAAcAAAAFAAMAAAANAPr/AAACAAMAAAANAPn/AAACAAIAAAANAPj/AAACAAEAAAAMAPr/AAABAAMAAAAMAPn/AAABAAIAAAAMAPj/AAABAAEAAAALAPr/AAAAAAMAAAALAPn/AAAAAAIAAAALAPj/AAAAAAEAAAATAPr/AAACAAMAAAATAPn/AAAAAAQAAAATAPj/AAAAAAUAAAATAPf/AAACAAEAAAASAPr/AAAAAAQAAAASAPn/AAABAAIAAAASAPj/AAABAAIAAAASAPf/AAAAAAUAAAARAPr/AAABAAQAAAARAPn/AAABAAIAAAARAPj/AAABAAIAAAARAPf/AAABAAUAAAAQAPr/AAAAAAMAAAAQAPn/AAABAAQAAAAQAPj/AAABAAUAAAAQAPf/AAAAAAEAAAAPAPn/AAAAAAMAAAAPAPj/AAAAAAEAAAASAPb/AAACAAEAAAARAPb/AAAAAAEAAAAUAPn/AAACAAMAAAAUAPj/AAACAAEAAAASAPv/AAACAAMAAAARAPv/AAAAAAMAAAAAAAoAAQABAAMAAAABAAoAAQABAAMAAAACAAoAAQAGAAEAAAAOABEAAAABAAIAAAATAA0AAAAEAAAAAAAUAA0AAAACAAEAAAATAAwAAAAFAAQAAAAdAAYAAAADAAEAAAAgAAYAAAADAAEAAAAOAAwAAAADAAEAAAAfAAkAAAAAAAMAAAAPAA4AAAACAAEAAAASABEAAAABAAIAAAASABAAAAABAAEAAAARABEAAAABAAIAAAARABAAAAABAAEAAAAQABEAAAABAAIAAAAQABAAAAAAAAUAAAAQAA8AAAACAAEAAAAPABEAAAABAAIAAAAPABAAAAABAAIAAAAPAA8AAAAAAAUAAAAOABAAAAABAAIAAAANABEAAAABAAIAAAANABAAAAABAAIAAAAZAAkAAAACAAEAAAAYAAkAAAABAAEAAAAYAAoAAAABAAMAAAAZAAoAAAAEAAIAAAAXAAkAAAAAAAEAAAAXAAoAAAAAAAMAAAAWAAkAAAADAAYAAAAVAAkAAAACAAYAAAAUAAkAAAABAAYAAAAYAAUAAAADAAYAAAAXAAUAAAACAAYAAAAWAAUAAAACAAYAAAAVAAUAAAABAAYAAAAQAAYAAAABAAYAAAARAAYAAAADAAYAAAAbAAcAAAAAAAAAAAASAAwAAAAAAAAAAAAaAAoAAAACAAAAAAD//wcAAAACAAIAAAD//wYAAAACAAEAAAD+/wcAAAABAAIAAAD+/wYAAAAAAAUAAAD+/wUAAAACAAIAAAD+/wQAAAACAAIAAAD+/wMAAAACAAEAAAD9/wcAAAABAAIAAAD9/wYAAAABAAIAAAD9/wUAAAABAAIAAAD9/wQAAAABAAIAAAD9/wMAAAABAAEAAAD8/wcAAAABAAIAAAD8/wYAAAABAAIAAAD8/wUAAAABAAIAAAD8/wQAAAABAAIAAAD8/wMAAAABAAEAAAD7/wcAAAABAAIAAAD7/wYAAAABAAIAAAD7/wUAAAABAAIAAAD7/wQAAAABAAIAAAD7/wMAAAABAAEAAAD6/wcAAAABAAIAAAD6/wYAAAABAAIAAAD6/wUAAAABAAIAAAD6/wQAAAABAAIAAAD6/wMAAAABAAEAAAD6/xEAAAABAAIAAAD6/xAAAAABAAIAAAD6/w8AAAABAAIAAAD6/w4AAAABAAIAAAD6/w0AAAABAAIAAAD6/wwAAAABAAIAAAD6/wsAAAABAAIAAAD6/woAAAABAAIAAAD6/wkAAAABAAIAAAD6/wgAAAABAAIAAAD5/xEAAAABAAIAAAD5/xAAAAABAAIAAAD5/w8AAAABAAIAAAD5/w4AAAABAAIAAAD5/w0AAAABAAIAAAD5/wwAAAABAAIAAAD5/wsAAAABAAIAAAD5/woAAAABAAIAAAD5/wkAAAABAAIAAAD5/wgAAAABAAIAAAD5/wcAAAABAAIAAAD5/wYAAAABAAIAAAD5/wUAAAABAAIAAAD5/wQAAAABAAIAAAD5/wMAAAABAAEAAAD4/xEAAAAAAAIAAAD4/xAAAAAAAAIAAAD4/w8AAAAAAAIAAAD4/w4AAAAAAAIAAAD4/w0AAAAAAAIAAAD4/wwAAAAAAAIAAAD4/wsAAAAAAAIAAAD4/woAAAAAAAIAAAD4/wkAAAAAAAIAAAD4/wgAAAAAAAIAAAD4/wcAAAAAAAIAAAD4/wYAAAAAAAIAAAD4/wUAAAAAAAIAAAD4/wQAAAAAAAIAAAD4/wMAAAAAAAEAAAD6/xcAAAABAAIAAAD6/xYAAAABAAIAAAD6/xUAAAABAAIAAAD6/xQAAAABAAIAAAD6/xMAAAABAAIAAAD6/xIAAAABAAIAAAD5/xcAAAABAAIAAAD5/xYAAAABAAIAAAD5/xUAAAABAAIAAAD5/xQAAAABAAIAAAD5/xMAAAABAAIAAAD5/xIAAAABAAIAAAD4/xcAAAAAAAIAAAD4/xYAAAAAAAIAAAD4/xUAAAAAAAIAAAD4/xQAAAAAAAIAAAD4/xMAAAAAAAIAAAD4/xIAAAAAAAIAAAD6/yMAAAABAAMAAAD6/yIAAAABAAIAAAD6/yEAAAABAAIAAAD6/yAAAAABAAIAAAD6/x8AAAABAAIAAAD6/x4AAAABAAIAAAD6/x0AAAABAAIAAAD6/xwAAAABAAIAAAD6/xsAAAABAAIAAAD6/xoAAAABAAIAAAD6/xkAAAABAAIAAAD6/xgAAAABAAIAAAD5/yMAAAABAAMAAAD5/yIAAAABAAIAAAD5/yEAAAABAAIAAAD5/yAAAAABAAIAAAD5/x8AAAABAAIAAAD5/x4AAAABAAIAAAD5/x0AAAABAAIAAAD5/xwAAAABAAIAAAD5/xsAAAABAAIAAAD5/xoAAAABAAIAAAD5/xkAAAABAAIAAAD5/xgAAAABAAIAAAD4/yMAAAAAAAMAAAD4/yIAAAAAAAIAAAD4/yEAAAAAAAIAAAD4/yAAAAAAAAIAAAD4/x8AAAAAAAIAAAD4/x4AAAAAAAIAAAD4/x0AAAAAAAIAAAD4/xwAAAAAAAIAAAD4/xsAAAAAAAIAAAD4/xoAAAAAAAIAAAD4/xkAAAAAAAIAAAD4/xgAAAAAAAIAAAAoAAYAAAABAAIAAAAoAAUAAAABAAIAAAAoAAQAAAABAAIAAAAnAAYAAAABAAIAAAAnAAUAAAABAAIAAAAnAAQAAAABAAIAAAAmAAYAAAAAAAIAAAAmAAUAAAAAAAIAAAAmAAQAAAAAAAIAAAAlAAMAAAAAAAMAAAAmAAMAAAABAAQAAAAnAAMAAAABAAIAAAAoAAMAAAABAAIAAAAkAAIAAAAAAAMAAAAlAAIAAAABAAQAAAAmAAIAAAABAAIAAAAnAAIAAAABAAIAAAAoAAIAAAABAAIAAAAkAA0AAAACAAQAAAAlAA0AAAACAAAAAAAsABIAAAABAAIAAAAsABEAAAABAAIAAAAsABAAAAABAAIAAAAsAA8AAAABAAEAAAArABIAAAABAAIAAAArABEAAAABAAIAAAArABAAAAABAAIAAAArAA8AAAABAAEAAAAqABIAAAABAAIAAAAqABEAAAABAAIAAAAqABAAAAABAAIAAAAqAA8AAAABAAEAAAApABIAAAABAAIAAAApABEAAAABAAIAAAApABAAAAABAAIAAAApAA8AAAABAAEAAAAtABcAAAABAAIAAAAtABYAAAABAAIAAAAtABUAAAABAAIAAAAtABQAAAABAAIAAAAtABMAAAABAAIAAAAtABIAAAABAAIAAAAsABcAAAABAAIAAAAsABYAAAABAAIAAAAsABUAAAABAAIAAAAsABQAAAABAAIAAAAsABMAAAABAAIAAAArABcAAAABAAIAAAArABYAAAABAAIAAAArABUAAAABAAIAAAArABQAAAABAAIAAAArABMAAAABAAIAAAAqABcAAAABAAIAAAAqABYAAAABAAIAAAAqABUAAAABAAIAAAAqABQAAAABAAIAAAAqABMAAAABAAIAAAApABcAAAABAAIAAAApABYAAAABAAIAAAApABUAAAABAAIAAAApABQAAAABAAIAAAApABMAAAABAAIAAAAtAB0AAAABAAIAAAAtABwAAAABAAIAAAAtABsAAAABAAIAAAAtABoAAAABAAIAAAAtABkAAAABAAIAAAAtABgAAAABAAIAAAAsAB0AAAABAAIAAAAsABwAAAABAAIAAAAsABsAAAABAAIAAAAsABoAAAABAAIAAAAsABkAAAABAAIAAAAsABgAAAABAAIAAAArAB0AAAABAAIAAAArABwAAAABAAIAAAArABsAAAABAAIAAAArABoAAAABAAIAAAArABkAAAABAAIAAAArABgAAAABAAIAAAAqAB0AAAABAAIAAAAqABwAAAABAAIAAAAqABsAAAABAAIAAAAqABoAAAABAAIAAAAqABkAAAABAAIAAAAqABgAAAABAAIAAAApAB0AAAABAAIAAAApABwAAAABAAIAAAApABsAAAABAAIAAAApABoAAAABAAIAAAApABkAAAABAAIAAAApABgAAAABAAIAAAAtACMAAAABAAMAAAAtACIAAAABAAIAAAAtACEAAAABAAIAAAAtACAAAAABAAIAAAAtAB8AAAABAAIAAAAtAB4AAAABAAIAAAAsACMAAAABAAMAAAAsACIAAAABAAIAAAAsACEAAAABAAIAAAAsACAAAAABAAIAAAAsAB8AAAABAAIAAAAsAB4AAAABAAIAAAArACMAAAABAAMAAAArACIAAAABAAIAAAArACEAAAABAAIAAAArACAAAAABAAIAAAArAB8AAAABAAIAAAArAB4AAAABAAIAAAAqACMAAAABAAMAAAAqACIAAAABAAIAAAAqACEAAAABAAIAAAAqACAAAAABAAIAAAAqAB8AAAABAAIAAAAqAB4AAAABAAIAAAApACMAAAABAAMAAAApACIAAAABAAIAAAApACEAAAABAAIAAAApACAAAAABAAIAAAApAB8AAAABAAIAAAApAB4AAAABAAIAAAAvABIAAAABAAIAAAAvABEAAAABAAIAAAAvABAAAAABAAIAAAAvAA8AAAABAAIAAAAuABIAAAABAAIAAAAuABEAAAABAAIAAAAuABAAAAABAAIAAAAuAA8AAAABAAIAAAAtABEAAAABAAIAAAAtABAAAAABAAIAAAAtAA8AAAABAAUAAAAtAAoAAAABAAQAAAAtAAkAAAABAAIAAAAsAAoAAAABAAMAAAAsAAkAAAABAAIAAAArAAoAAAABAAMAAAArAAkAAAABAAIAAAAqAAoAAAABAAMAAAAqAAkAAAABAAIAAAApAAoAAAABAAMAAAApAAkAAAABAAIAAAAvAA4AAAABAAIAAAAvAA0AAAABAAIAAAAvAAwAAAABAAIAAAAvAAsAAAABAAIAAAAvAAoAAAABAAIAAAAuAA4AAAABAAIAAAAuAA0AAAABAAIAAAAuAAwAAAABAAIAAAAuAAsAAAABAAIAAAAuAAoAAAABAAIAAAAtAA4AAAAAAAIAAAAtAA0AAAAAAAIAAAAtAAwAAAAAAAIAAAAtAAsAAAAAAAIAAAAvAAkAAAABAAIAAAAvAAgAAAABAAIAAAAvAAcAAAABAAIAAAAvAAYAAAABAAIAAAAvAAUAAAABAAIAAAAvAAQAAAABAAIAAAAvAAMAAAABAAIAAAAvAAIAAAABAAIAAAAuAAkAAAABAAIAAAAuAAgAAAABAAIAAAAuAAcAAAABAAIAAAAuAAYAAAABAAIAAAAuAAUAAAABAAIAAAAuAAQAAAABAAIAAAAuAAMAAAABAAIAAAAuAAIAAAABAAIAAAAtAAgAAAABAAIAAAAtAAcAAAABAAIAAAAtAAYAAAABAAIAAAAtAAUAAAABAAIAAAAtAAQAAAABAAIAAAAtAAMAAAABAAIAAAAtAAIAAAABAAIAAAAsAAgAAAABAAIAAAAsAAcAAAABAAIAAAAsAAYAAAABAAIAAAAsAAUAAAABAAIAAAAsAAQAAAABAAIAAAAsAAMAAAABAAIAAAAsAAIAAAABAAIAAAArAAgAAAABAAIAAAArAAcAAAABAAIAAAArAAYAAAABAAIAAAArAAUAAAABAAIAAAArAAQAAAABAAIAAAArAAMAAAABAAIAAAArAAIAAAABAAIAAAAqAAgAAAABAAIAAAAqAAcAAAABAAIAAAAqAAYAAAABAAIAAAAqAAUAAAABAAIAAAAqAAQAAAABAAIAAAAqAAMAAAABAAIAAAAqAAIAAAABAAIAAAApAAgAAAABAAIAAAApAAcAAAABAAIAAAApAAYAAAABAAIAAAApAAUAAAABAAIAAAApAAQAAAABAAIAAAApAAMAAAABAAIAAAApAAIAAAABAAIAAAAvAAEAAAABAAIAAAAvAAAAAAABAAEAAAAuAAEAAAABAAIAAAAuAAAAAAABAAEAAAAtAAEAAAABAAIAAAAtAAAAAAABAAEAAAAsAAEAAAABAAIAAAAsAAAAAAABAAEAAAArAAEAAAABAAIAAAArAAAAAAABAAEAAAAqAAEAAAABAAIAAAAqAAAAAAABAAEAAAApAAEAAAABAAIAAAApAAAAAAABAAEAAAAoAAEAAAABAAIAAAAoAAAAAAABAAEAAAAnAAEAAAABAAIAAAAnAAAAAAABAAEAAAAmAAEAAAABAAIAAAAmAAAAAAABAAEAAAAlAAEAAAABAAIAAAAlAAAAAAABAAEAAAAkAAEAAAABAAQAAAAkAAAAAAABAAEAAAAjAAEAAAAAAAMAAAAjAAAAAAAFAAMAAAAiAAAAAAAAAAAAAAAzABIAAAACAAIAAAAzABEAAAACAAIAAAAzABAAAAACAAIAAAAzAA8AAAACAAIAAAAzAA4AAAACAAIAAAAzAA0AAAACAAIAAAAzAAwAAAACAAIAAAAzAAsAAAACAAIAAAAzAAoAAAACAAIAAAAzAAkAAAACAAIAAAAzAAgAAAACAAIAAAAzAAcAAAACAAIAAAAzAAYAAAACAAIAAAAyABIAAAABAAIAAAAyABEAAAABAAIAAAAyABAAAAABAAIAAAAyAA8AAAABAAIAAAAyAA4AAAABAAIAAAAyAA0AAAABAAIAAAAyAAwAAAABAAIAAAAyAAsAAAABAAIAAAAyAAoAAAABAAIAAAAyAAkAAAABAAIAAAAyAAgAAAABAAIAAAAyAAcAAAABAAIAAAAyAAYAAAABAAIAAAAxABIAAAABAAIAAAAxABEAAAABAAIAAAAxABAAAAABAAIAAAAxAA8AAAABAAIAAAAxAA4AAAABAAIAAAAxAA0AAAABAAIAAAAxAAwAAAABAAIAAAAxAAsAAAABAAIAAAAxAAoAAAABAAIAAAAxAAkAAAABAAIAAAAxAAgAAAABAAIAAAAxAAcAAAABAAIAAAAxAAYAAAABAAIAAAAwABIAAAABAAIAAAAwABEAAAABAAIAAAAwABAAAAABAAIAAAAwAA8AAAABAAIAAAAwAA4AAAABAAIAAAAwAA0AAAABAAIAAAAwAAwAAAABAAIAAAAwAAsAAAABAAIAAAAwAAoAAAABAAIAAAAwAAkAAAABAAIAAAAwAAgAAAABAAIAAAAwAAcAAAABAAIAAAAwAAYAAAABAAIAAAAzAAUAAAACAAIAAAAzAAQAAAACAAIAAAAzAAMAAAACAAIAAAAzAAIAAAACAAIAAAAzAAEAAAACAAIAAAAzAAAAAAACAAEAAAAyAAUAAAABAAIAAAAyAAQAAAABAAIAAAAyAAMAAAABAAIAAAAyAAIAAAABAAIAAAAyAAEAAAABAAIAAAAyAAAAAAABAAEAAAAxAAUAAAABAAIAAAAxAAQAAAABAAIAAAAxAAMAAAABAAIAAAAxAAIAAAABAAIAAAAxAAEAAAABAAIAAAAxAAAAAAABAAEAAAAwAAUAAAABAAIAAAAwAAQAAAABAAIAAAAwAAMAAAABAAIAAAAwAAIAAAABAAIAAAAwAAEAAAABAAIAAAAwAAAAAAABAAEAAAAzABkAAAACAAIAAAAzABgAAAACAAIAAAAzABcAAAACAAIAAAAzABYAAAACAAIAAAAzABUAAAACAAIAAAAzABQAAAACAAIAAAAzABMAAAACAAIAAAAyABkAAAABAAIAAAAyABgAAAABAAIAAAAyABcAAAABAAIAAAAyABYAAAABAAIAAAAyABUAAAABAAIAAAAyABQAAAABAAIAAAAyABMAAAABAAIAAAAxABkAAAABAAIAAAAxABgAAAABAAIAAAAxABcAAAABAAIAAAAxABYAAAABAAIAAAAxABUAAAABAAIAAAAxABQAAAABAAIAAAAxABMAAAABAAIAAAAwABkAAAABAAIAAAAwABgAAAABAAIAAAAwABcAAAABAAIAAAAwABYAAAABAAIAAAAwABUAAAABAAIAAAAwABQAAAABAAIAAAAwABMAAAABAAIAAAAvABkAAAABAAIAAAAvABgAAAABAAIAAAAvABcAAAABAAIAAAAvABYAAAABAAIAAAAvABUAAAABAAIAAAAvABQAAAABAAIAAAAvABMAAAABAAIAAAAzACMAAAACAAMAAAAzACIAAAACAAIAAAAzACEAAAACAAIAAAAzACAAAAACAAIAAAAzAB8AAAACAAIAAAAzAB4AAAACAAIAAAAzAB0AAAACAAIAAAAzABwAAAACAAIAAAAzABsAAAACAAIAAAAzABoAAAACAAIAAAAyACMAAAABAAMAAAAyACIAAAABAAIAAAAyACEAAAABAAIAAAAyACAAAAABAAIAAAAyAB8AAAABAAIAAAAyAB4AAAABAAIAAAAyAB0AAAABAAIAAAAyABwAAAABAAIAAAAyABsAAAABAAIAAAAyABoAAAABAAIAAAAxACMAAAABAAMAAAAxACIAAAABAAIAAAAxACEAAAABAAIAAAAxACAAAAABAAIAAAAxAB8AAAABAAIAAAAxAB4AAAABAAIAAAAxAB0AAAABAAIAAAAxABwAAAABAAIAAAAxABsAAAABAAIAAAAxABoAAAABAAIAAAAwACMAAAABAAMAAAAwACIAAAABAAIAAAAwACEAAAABAAIAAAAwACAAAAABAAIAAAAwAB8AAAABAAIAAAAwAB4AAAABAAIAAAAwAB0AAAABAAIAAAAwABwAAAABAAIAAAAwABsAAAABAAIAAAAwABoAAAABAAIAAAAvACMAAAABAAMAAAAvACIAAAABAAIAAAAvACEAAAABAAIAAAAvACAAAAABAAIAAAAvAB8AAAABAAIAAAAvAB4AAAABAAIAAAAvAB0AAAABAAIAAAAvABwAAAABAAIAAAAvABsAAAABAAIAAAAvABoAAAABAAIAAAAuACMAAAABAAMAAAAuACIAAAABAAIAAAAuACEAAAABAAIAAAAuACAAAAABAAIAAAAuAB8AAAABAAIAAAAuAB4AAAABAAIAAAAuAB0AAAABAAIAAAAuABwAAAABAAIAAAAuABsAAAABAAIAAAAuABoAAAABAAIAAAAuABkAAAABAAIAAAAuABgAAAABAAIAAAAuABcAAAABAAIAAAAuABYAAAABAAIAAAAuABUAAAABAAIAAAAuABQAAAABAAIAAAAuABMAAAABAAIAAAADAAsAAQANAAEAAAADAAwAAQANAAIAAAA=") +tile_set = ExtResource("3_aqk2v") + +[node name="Finish" parent="." unique_id=12807682 instance=ExtResource("9_ha31o")] +position = Vector2(704, 240) + +[node name="Enemies" type="Node2D" parent="." unique_id=755915391] + +[node name="EnemyGround" parent="Enemies" unique_id=1041286329 instance=ExtResource("3_tlwt5")] +position = Vector2(336, 144) +speed = 20.0 + +[node name="EnemyGround4" parent="Enemies" unique_id=1766794302 instance=ExtResource("3_tlwt5")] +position = Vector2(672, 240) +speed = 20.0 + +[node name="EnemyGround2" parent="Enemies" unique_id=899663950 instance=ExtResource("3_tlwt5")] +position = Vector2(184, 224) +speed = 20.0 + +[node name="EnemyGround3" parent="Enemies" unique_id=1907571631 instance=ExtResource("3_tlwt5")] +position = Vector2(400, 224) +speed = 20.0 + +[node name="Pickups" type="Node2D" parent="." unique_id=1330744152] + +[node name="ApplePickup" parent="Pickups" unique_id=865550643 instance=ExtResource("8_gbfbk")] +position = Vector2(128, 224) + +[node name="ApplePickup2" parent="Pickups" unique_id=1746791884 instance=ExtResource("8_gbfbk")] +position = Vector2(232, 192) + +[node name="ApplePickup3" parent="Pickups" unique_id=2131277306 instance=ExtResource("8_gbfbk")] +position = Vector2(272, 176) + +[node name="ApplePickup4" parent="Pickups" unique_id=812875829 instance=ExtResource("8_gbfbk")] +position = Vector2(504, 192) + +[node name="ApplePickup5" parent="Pickups" unique_id=1075375071 instance=ExtResource("8_gbfbk")] +position = Vector2(504, 176) + +[node name="ApplePickup6" parent="Pickups" unique_id=408272365 instance=ExtResource("8_gbfbk")] +position = Vector2(424, 160) + +[node name="ApplePickup7" parent="Pickups" unique_id=1178691353 instance=ExtResource("8_gbfbk")] +position = Vector2(440, 112) + +[node name="ApplePickup8" parent="Pickups" unique_id=96219390 instance=ExtResource("8_gbfbk")] +position = Vector2(472, 96) + +[node name="ApplePickup9" parent="Pickups" unique_id=60382528 instance=ExtResource("8_gbfbk")] +position = Vector2(496, 112) + +[node name="ApplePickup10" parent="Pickups" unique_id=851707514 instance=ExtResource("8_gbfbk")] +position = Vector2(576, 112) + +[node name="ApplePickup11" parent="Pickups" unique_id=1239839937 instance=ExtResource("8_gbfbk")] +position = Vector2(600, 208) + +[node name="MovingPlatform" parent="." unique_id=1323198018 instance=ExtResource("9_ioo17")] +position = Vector2(576, 120) + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=417309050] +position = Vector2(95, 209) +sprite_frames = SubResource("SpriteFrames_q03hy") +script = ExtResource("14_fpun6") + +[editable path="MovingPlatform"] diff --git a/scenes/main_menu.tscn b/scenes/main_menu.tscn new file mode 100644 index 0000000..602da53 --- /dev/null +++ b/scenes/main_menu.tscn @@ -0,0 +1,92 @@ +[gd_scene load_steps=5 format=3 uid="uid://cvd4jqb08af6c"] + +[ext_resource type="Theme" uid="uid://dmha0ysm5urx7" path="res://Assets/Visual/UI/base_theme.tres" id="1_28flt"] +[ext_resource type="Script" uid="uid://cm47jdsrt4rqd" path="res://Scripts/UI/main_menu.gd" id="1_48xlc"] +[ext_resource type="PackedScene" uid="uid://bvam4vqfwqmfl" path="res://Scenes/level.tscn" id="2_ce3w2"] +[ext_resource type="AudioStream" uid="uid://djrkydgktdbqb" path="res://Assets/Audio/SFX/ui_blip_02.wav" id="3_1ehe0"] + +[node name="MainMenu" 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_48xlc") +level = ExtResource("2_ce3w2") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.101961, 0.109804, 0.172549, 1) + +[node name="Name" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -216.0 +offset_top = 80.0 +offset_right = 216.0 +offset_bottom = 118.0 +grow_horizontal = 2 +theme = ExtResource("1_28flt") +theme_override_font_sizes/font_size = 48 +text = "MINIMAL PIXEL PLATFORMER" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Name2" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -216.0 +offset_top = 112.0 +offset_right = 216.0 +offset_bottom = 150.0 +grow_horizontal = 2 +theme = ExtResource("1_28flt") +theme_override_font_sizes/font_size = 32 +text = "created by @chroma_dave" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 272.0 +offset_top = 152.0 +offset_right = -272.0 +offset_bottom = -104.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 + +[node name="ButtonPlay" type="Button" parent="VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme = ExtResource("1_28flt") +text = "PLAY" + +[node name="ButtonQuit" type="Button" parent="VBoxContainer"] +layout_mode = 2 +theme = ExtResource("1_28flt") +text = "QUIT +" + +[node name="ButtonHoverSound" type="AudioStreamPlayer" parent="."] +unique_name_in_owner = true +stream = ExtResource("3_1ehe0") +bus = &"Effects" + +[connection signal="button_down" from="VBoxContainer/ButtonPlay" to="." method="_on_button_play_button_down"] +[connection signal="focus_entered" from="VBoxContainer/ButtonPlay" to="." method="_on_button_play_focus_entered"] +[connection signal="button_down" from="VBoxContainer/ButtonQuit" to="." method="_on_button_quit_button_down"] +[connection signal="focus_entered" from="VBoxContainer/ButtonQuit" to="." method="_on_button_quit_focus_entered"] diff --git a/scenes/main_scene.tscn b/scenes/main_scene.tscn index abbdde8..bf021cc 100644 --- a/scenes/main_scene.tscn +++ b/scenes/main_scene.tscn @@ -1,3 +1,3 @@ -[gd_scene format=3 uid="uid://dth6u45uf1t3c"] +[gd_scene format=3 uid="uid://dxdk24hv5fs7s"] [node name="MainScene" type="Node2D" unique_id=823166666] diff --git a/scenes/piano.gd b/scenes/piano.gd new file mode 100644 index 0000000..3dfbc61 --- /dev/null +++ b/scenes/piano.gd @@ -0,0 +1,11 @@ +extends AnimatedSprite2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + play("default") + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/scenes/piano.gd.uid b/scenes/piano.gd.uid new file mode 100644 index 0000000..bcd0790 --- /dev/null +++ b/scenes/piano.gd.uid @@ -0,0 +1 @@ +uid://dmr7e7dpqf0nc diff --git a/scenes/vigel.tscn b/scenes/vigel.tscn deleted file mode 100644 index 00232fb..0000000 --- a/scenes/vigel.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene format=3 uid="uid://ghwesfieu2r5"] - -[ext_resource type="Script" uid="uid://0vqlvjw0m521" path="res://scripts/vigel.gd" id="1_d1u2y"] - -[node name="Ranya" type="Node2D" unique_id=1593700828] -script = ExtResource("1_d1u2y") diff --git a/scripts/Characters/Enemy/attack_box.gd b/scripts/Characters/Enemy/attack_box.gd new file mode 100644 index 0000000..d266df1 --- /dev/null +++ b/scripts/Characters/Enemy/attack_box.gd @@ -0,0 +1,16 @@ +extends Area2D + +@onready var character = get_parent() +var damage = 1 + +func _on_area_entered(target: Area2D) -> void: + + # Damage target area if it has _take_damage method + if target.has_method("_take_damage"): + target._take_damage(damage) + character._take_damage() + + # Damage target area parent if it has _take_damage method + if target.get_parent().has_method("_take_damage"): + target.get_parent()._take_damage(damage) + character._take_damage() diff --git a/scripts/Characters/Enemy/attack_box.gd.uid b/scripts/Characters/Enemy/attack_box.gd.uid new file mode 100644 index 0000000..f96dd0e --- /dev/null +++ b/scripts/Characters/Enemy/attack_box.gd.uid @@ -0,0 +1 @@ +uid://dekx8meo31r21 diff --git a/scripts/Characters/Enemy/enemy_ground.gd b/scripts/Characters/Enemy/enemy_ground.gd new file mode 100644 index 0000000..49b3cf7 --- /dev/null +++ b/scripts/Characters/Enemy/enemy_ground.gd @@ -0,0 +1,59 @@ +extends CharacterBody2D + +@export var speed: float = 40.0 +var move_right = true + + +@onready var ground_ray_left = %GroundRayLeft +@onready var ground_ray_right = %GroundRayRight +@onready var wall_ray_left = %WallRayLeft +@onready var wall_ray_right = %WallRayRight + +@onready var attack_box = %AttackBox + +@onready var animator = %Animator +@onready var sprite = %Sprite + +@onready var death_sound_player: AudioStreamPlayer = %DeathSoundPlayer + +func _ready() -> void: + animator.play("walk") + +func _physics_process(delta): + # Set the velocity to move in the given direction + if !wall_ray_left.is_colliding() and !wall_ray_right.is_colliding(): + if !ground_ray_left.is_colliding() or !ground_ray_right.is_colliding(): + if velocity.x >0: + move_right = false + else : + move_right = true + else: + if velocity.x >0: + move_right = false + else : + move_right = true + + if move_right: + velocity.x = 1 * speed + else : + velocity.x = -1 * speed + + # Optionally, flip the sprite to face the new direction + sprite.flip_h = !move_right + + # Move the enemy according to the velocity + move_and_slide() + +func _take_damage(): + # Disable attack box so it can't hurt the player + attack_box.monitoring = false + + death_sound_player.play() + + # Blink red + sprite.modulate = Color(255, 0,0) + + # Delay death + await get_tree().create_timer(0.1).timeout + + queue_free() diff --git a/scripts/Characters/Enemy/enemy_ground.gd.uid b/scripts/Characters/Enemy/enemy_ground.gd.uid new file mode 100644 index 0000000..20c1481 --- /dev/null +++ b/scripts/Characters/Enemy/enemy_ground.gd.uid @@ -0,0 +1 @@ +uid://ow780v11j4gt diff --git a/scripts/Characters/PlayerCharacter/attack_ray.gd b/scripts/Characters/PlayerCharacter/attack_ray.gd new file mode 100644 index 0000000..41f2ad4 --- /dev/null +++ b/scripts/Characters/PlayerCharacter/attack_ray.gd @@ -0,0 +1,17 @@ +extends ShapeCast2D + +@onready var character = get_parent() + +func _process(delta: float) -> void: + if get_collider(0): + if character.velocity.y > 0 and get_collider(0): + var target = get_collider(0) + + # Damage target if it has _take_damage method + if target.has_method("_take_damage"): + target._take_damage() + character.velocity.y = -300 + # Damage target parent if it has _take_damage method + elif target.get_parent().has_method("_take_damage"): + target.get_parent()._take_damage() + character.velocity.y = -300 diff --git a/scripts/Characters/PlayerCharacter/attack_ray.gd.uid b/scripts/Characters/PlayerCharacter/attack_ray.gd.uid new file mode 100644 index 0000000..bd82cd4 --- /dev/null +++ b/scripts/Characters/PlayerCharacter/attack_ray.gd.uid @@ -0,0 +1 @@ +uid://5p5u8dtod1cj diff --git a/scripts/Characters/PlayerCharacter/player.gd b/scripts/Characters/PlayerCharacter/player.gd new file mode 100644 index 0000000..2df6bdf --- /dev/null +++ b/scripts/Characters/PlayerCharacter/player.gd @@ -0,0 +1,185 @@ +extends CharacterBody2D + +# === Stat Settings === +@export var health = 3 + +# === Movement Settings === +@export var speed: float = 100.0 +@export var jump_velocity: float = -300.0 +@export var gravity: float = 1200.0 +@export var max_fall_speed: float = 1200.0 + +# === Jump Features === +@export var coyote_time: float = 0.15 +@export var jump_buffer_time: float = 0.15 + +# === Double Jump === +@export var allow_double_jump: bool = true +@export var max_jumps: int = 2 # 1 = normal jump only, 2 = double jump, etc. +var jumps_left: int = 0 + +# === Animation Lock === +@export var landing_animation_duration: float = 0.1 + +# === Internal Timers === +var coyote_timer: float = 0.0 +var jump_buffer_timer: float = 0.0 +var jump_cutoff_timer: float = 0.0 +var landing_lock_timer: float = 0.0 + +var was_on_floor: bool = false + +# === Nodes === +@onready var sprite: Sprite2D = %MainSprite +@onready var animator: AnimationPlayer = %Animator +@onready var attack_ray: ShapeCast2D = %AttackRay + +@onready var jump_audio_player: AudioStreamPlayer = %JumpSound +@onready var hurt_audio_player: AudioStreamPlayer = %HurtSound + +func _ready() -> void: + DataBusSingleton.player = self + +func _physics_process(delta): + # === Handle Timers === + _update_timers(delta) + + # === Handle Input === + var direction = Input.get_axis("move_left", "move_right") + var is_jumping = Input.is_action_just_pressed("jump") + var holding_jump = Input.is_action_pressed("jump") + + # === Horizontal Movement === + velocity.x = direction * speed + + # === Jump Logic === + _process_jump(is_jumping, holding_jump) + + # === Apply Gravity === + _apply_gravity(delta) + + # === Movement === + move_and_slide() + + # === Landing Detection === + _check_landing() + + # === Sprite Orientation === + _flip_sprite() + + # === Play Animations === + _play_animations(direction) + + # === Update Data Bus === + _update_data_bus() + + # === Debug === + _debug(true) # Change to false to disable + +# -------------------------- +# === HELPER FUNCTIONS === +# -------------------------- + +func _update_timers(delta): + if is_on_floor(): + coyote_timer = coyote_time + else: + coyote_timer -= delta + + if Input.is_action_just_pressed("jump"): + jump_buffer_timer = jump_buffer_time + jump_audio_player.play() + else: + jump_buffer_timer -= delta + + jump_cutoff_timer = max(jump_cutoff_timer - delta, 0.0) + landing_lock_timer = max(landing_lock_timer - delta, 0.0) + +func _process_jump(is_jumping: bool, holding_jump: bool): + if is_jumping: + # Ground or coyote jump + if (coyote_timer > 0.0 or is_on_floor()) and jumps_left > 0: + velocity.y = jump_velocity + jump_buffer_timer = 0.0 + coyote_timer = 0.0 + jump_cutoff_timer = 0.0 + jumps_left -= 1 + # Mid-air jump (double jump) + elif allow_double_jump and jumps_left > 0: + velocity.y = jump_velocity + jumps_left -= 1 + jump_cutoff_timer = 0.0 + jump_buffer_timer = 0.0 + + # Variable Jump Height (cutoff when button released early) + if jump_cutoff_timer <= 0.0 and not holding_jump and velocity.y < 0: + velocity.y *= 0.5 + +func _apply_gravity(delta): + velocity.y += gravity * delta + if velocity.y > max_fall_speed: + velocity.y = max_fall_speed + +func _check_landing(): + var just_landed = not was_on_floor and is_on_floor() + was_on_floor = is_on_floor() + + if just_landed: + landing_lock_timer = landing_animation_duration + animator.play("land") + jumps_left = max_jumps # Reset jumps on landing + + # Also reset on floor contact in general + if is_on_floor(): + jumps_left = max_jumps + +func _flip_sprite(): + if velocity.x < -1: + sprite.flip_h = true + elif velocity.x > 1: + sprite.flip_h = false + +func _play_animations(direction): + if landing_lock_timer > 0.0: + return + + if not is_on_floor(): + animator.play("jump") + elif abs(velocity.x) > 1: + animator.play("run") + else: + animator.play("idle") + + # Change animation speed based on movement speed for the run animation + # so it doesn't animate at full speed when walking slowly + if animator.current_animation == "run": + animator.speed_scale = abs(direction) + else: + animator.speed_scale = 1.0 + +func _update_data_bus(): + # Updates DataBusSingleton - an autoload scene for transfering data between scenes + DataBusSingleton.player_health = health + +func _debug(enabled): + # If enabled prints out various metrics + if enabled: + print("Health: ", health) + print("Velocity X and Y: ", velocity) + print("Jumps Left: ", jumps_left) + +func _take_damage(damage): + # Function activated from other nodes + health -= damage + + # Change sprite color to solid red and play hurt sound + sprite.modulate = Color(255, 0, 0, 255) + hurt_audio_player.play() + + # If health is lower than 1 - die + if health < 1: + DataBusSingleton._spawn_fail_screen() + + # Wait a bit for color to reset + await get_tree().create_timer(0.1).timeout + sprite.modulate = Color(1, 1, 1, 1) diff --git a/scripts/Characters/PlayerCharacter/player.gd.uid b/scripts/Characters/PlayerCharacter/player.gd.uid new file mode 100644 index 0000000..c4f69c5 --- /dev/null +++ b/scripts/Characters/PlayerCharacter/player.gd.uid @@ -0,0 +1 @@ +uid://dt3v7jvorf4o3 diff --git a/scripts/Generic/animation_player_play_loop.gd b/scripts/Generic/animation_player_play_loop.gd new file mode 100644 index 0000000..b807e64 --- /dev/null +++ b/scripts/Generic/animation_player_play_loop.gd @@ -0,0 +1,5 @@ +extends AnimationPlayer + +func _ready() -> void: + # Simply play looping animation + play("loop") diff --git a/scripts/Generic/animation_player_play_loop.gd.uid b/scripts/Generic/animation_player_play_loop.gd.uid new file mode 100644 index 0000000..e0b762f --- /dev/null +++ b/scripts/Generic/animation_player_play_loop.gd.uid @@ -0,0 +1 @@ +uid://58ppxtqvgxmy diff --git a/scripts/Generic/level.gd b/scripts/Generic/level.gd new file mode 100644 index 0000000..2ce21c8 --- /dev/null +++ b/scripts/Generic/level.gd @@ -0,0 +1,5 @@ +extends Node2D + +func _ready() -> void: + # Update DataBusSingleton - an autoload scene + DataBusSingleton.current_scene = self diff --git a/scripts/Generic/level.gd.uid b/scripts/Generic/level.gd.uid new file mode 100644 index 0000000..a454f36 --- /dev/null +++ b/scripts/Generic/level.gd.uid @@ -0,0 +1 @@ +uid://bwc7lnpu6py3j diff --git a/scripts/Items/apple_pickup.gd b/scripts/Items/apple_pickup.gd new file mode 100644 index 0000000..364fbd8 --- /dev/null +++ b/scripts/Items/apple_pickup.gd @@ -0,0 +1,20 @@ +extends Area2D + +@onready var sprite: Sprite2D = %Sprite2D +@onready var pickup_sound_player = %PickupSoundPlayer + +func _on_body_entered(body: Node2D) -> void: + if body.is_in_group("player"): + + # Update DataBusSingleton + DataBusSingleton.apples_collected += 1 + + # Disable the collision and visuals for the apple + monitoring = false + sprite.visible = false + pickup_sound_player.play() + + # Wait for a bit so the sound plays fully + await get_tree().create_timer(0.2).timeout + + queue_free() diff --git a/scripts/Items/apple_pickup.gd.uid b/scripts/Items/apple_pickup.gd.uid new file mode 100644 index 0000000..fcd1372 --- /dev/null +++ b/scripts/Items/apple_pickup.gd.uid @@ -0,0 +1 @@ +uid://bj6chufeyeibu diff --git a/scripts/Items/finish.gd b/scripts/Items/finish.gd new file mode 100644 index 0000000..7ec5f00 --- /dev/null +++ b/scripts/Items/finish.gd @@ -0,0 +1,17 @@ +extends Area2D + +@export var ending_delay:float = 3.0 +@onready var victory_sound_player = %VictorySound + +func _on_body_entered(body: Node2D) -> void: + if body.is_in_group("player"): + _victory() + +func _victory(): + victory_sound_player.play() + + # Wait for a bit so the sound plays fully + await get_tree().create_timer(ending_delay).timeout + + # Change scene to main menu + get_tree().change_scene_to_file("res://Scenes/main_menu.tscn") diff --git a/scripts/Items/finish.gd.uid b/scripts/Items/finish.gd.uid new file mode 100644 index 0000000..5da1a67 --- /dev/null +++ b/scripts/Items/finish.gd.uid @@ -0,0 +1 @@ +uid://d18eis4okksih diff --git a/scripts/UI/fail_screen.gd b/scripts/UI/fail_screen.gd new file mode 100644 index 0000000..519e4b4 --- /dev/null +++ b/scripts/UI/fail_screen.gd @@ -0,0 +1,24 @@ +extends Control + +@onready var retry_button = %ButtonRetry +@onready var button_hover_sound_player = %ButtonHoverSound + +func _ready() -> void: + retry_button.grab_focus() + get_tree().paused = true + +func _on_button_retry_button_down() -> void: + get_tree().paused = false + get_tree().reload_current_scene() + +func _on_button_quit_button_down() -> void: + get_tree().quit() + +func _on_button_retry_focus_entered() -> void: + _play_button_sound() + +func _on_button_quit_focus_entered() -> void: + _play_button_sound() + +func _play_button_sound(): + button_hover_sound_player.play() diff --git a/scripts/UI/fail_screen.gd.uid b/scripts/UI/fail_screen.gd.uid new file mode 100644 index 0000000..6432f37 --- /dev/null +++ b/scripts/UI/fail_screen.gd.uid @@ -0,0 +1 @@ +uid://c38vevdvg1rq5 diff --git a/scripts/UI/hud.gd b/scripts/UI/hud.gd new file mode 100644 index 0000000..47fe5cd --- /dev/null +++ b/scripts/UI/hud.gd @@ -0,0 +1,14 @@ +extends Control + +@onready var health_number_label = %HealthNumber +@onready var apples_number_label = %AppleNumber + +func _process(delta: float) -> void: + + # Update UI based on information from DataBusSingleton + + var player_health = DataBusSingleton.player_health + var apples = DataBusSingleton.apples_collected + + health_number_label.text = str(player_health) + apples_number_label.text = str(apples) diff --git a/scripts/UI/hud.gd.uid b/scripts/UI/hud.gd.uid new file mode 100644 index 0000000..ee1dd70 --- /dev/null +++ b/scripts/UI/hud.gd.uid @@ -0,0 +1 @@ +uid://codclvby6ay7g diff --git a/scripts/UI/main_menu.gd b/scripts/UI/main_menu.gd new file mode 100644 index 0000000..9146926 --- /dev/null +++ b/scripts/UI/main_menu.gd @@ -0,0 +1,25 @@ +extends Control + +@export var level:PackedScene + +@onready var play_button = %ButtonPlay +@onready var button_hover_sound_player = %ButtonHoverSound + +func _ready() -> void: + play_button.grab_focus() + + +func _on_button_play_button_down() -> void: + get_tree().change_scene_to_packed(level) + +func _on_button_quit_button_down() -> void: + get_tree().quit() + +func _on_button_play_focus_entered() -> void: + _play_button_sound() + +func _on_button_quit_focus_entered() -> void: + _play_button_sound() + +func _play_button_sound(): + button_hover_sound_player.play() diff --git a/scripts/UI/main_menu.gd.uid b/scripts/UI/main_menu.gd.uid new file mode 100644 index 0000000..b2f60cb --- /dev/null +++ b/scripts/UI/main_menu.gd.uid @@ -0,0 +1 @@ +uid://cm47jdsrt4rqd diff --git a/scripts/data_bus_singleton.gd b/scripts/data_bus_singleton.gd new file mode 100644 index 0000000..a62a23e --- /dev/null +++ b/scripts/data_bus_singleton.gd @@ -0,0 +1,27 @@ +extends Node + +@onready var fail_screen = preload("res://Prefabs/UI/fail_screen.tscn") + +# Data collected from various scenes +# current_scene is updated from level.gd on _ready() +var current_scene + +# player is updated from player.gd on _ready() +var player +# player is updated continously from player.gd +var player_health = 0 +# apples_collected is updated when apple is picked up +var apples_collected = 0 + +func _process(delta: float) -> void: + + # Exchange 5 apples for 1 health + if apples_collected >= 5: + apples_collected = 0 + player.health += 1 + +# _spawn_fail_screen is called from player.gd when health goes under 1 +func _spawn_fail_screen(): + # Spawns fails screen + var fail_screen_instance = fail_screen.instantiate() + current_scene.add_child(fail_screen_instance) diff --git a/scripts/data_bus_singleton.gd.uid b/scripts/data_bus_singleton.gd.uid new file mode 100644 index 0000000..da2880f --- /dev/null +++ b/scripts/data_bus_singleton.gd.uid @@ -0,0 +1 @@ +uid://cbacrk8c1nvin diff --git a/world.tscn7794670563.tmp b/world.tscn7794670563.tmp new file mode 100644 index 0000000..5594fb4 --- /dev/null +++ b/world.tscn7794670563.tmp @@ -0,0 +1,52 @@ +[gd_scene load_steps=4 format=4 uid="uid://bvam4vqfwqmfl"] + +[ext_resource type="PackedScene" uid="uid://dno8cee2noo4j" path="res://hero.tscn" id="1_f3sb7"] +[ext_resource type="TileSet" uid="uid://dtg8a2s6k1mnt" path="res://Resources/Tilesets/tileset_jungle.tres" id="3_aqk2v"] +[ext_resource type="PackedScene" uid="uid://bta6rg6alpwct" path="res://Prefabs/Characters/enemy_ground.tscn" id="3_tlwt5"] + +[node name="World" type="Node2D"] + +[node name="BackgroundColor" type="ColorRect" parent="."] +offset_left = -256.0 +offset_top = -184.0 +offset_right = 1024.0 +offset_bottom = 552.0 + +[node name="Hero" parent="." instance=ExtResource("1_f3sb7")] +position = Vector2(32, 200) +collision_layer = 3 +collision_mask = 7 +speed = null +jump_velocity = null +gravity = null +max_fall_speed = null +coyote_time = null +jump_buffer_time = null +jump_cutoff_multiplier = null +landing_animation_duration = 0.1 + +[node name="Camera2D" type="Camera2D" parent="Hero"] +position = Vector2(0, -16) +ignore_rotation = false +zoom = Vector2(3, 3) +limit_left = 0 +limit_top = 0 +limit_right = 656 +limit_bottom = 480 +position_smoothing_enabled = true +position_smoothing_speed = 10.0 +rotation_smoothing_enabled = true +rotation_smoothing_speed = 7.5 +editor_draw_limits = true + +[node name="TileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAANAA8AAAABAAIAAAANAA4AAAABAAUAAAANAA0AAAAAAAEAAAAMAA8AAAABAAIAAAAMAA4AAAABAAEAAAALAA8AAAABAAIAAAALAA4AAAABAAEAAAAKAA8AAAABAAIAAAAKAA4AAAABAAEAAAAJAA8AAAABAAIAAAAJAA4AAAABAAEAAAAIAA8AAAABAAIAAAAIAA4AAAABAAEAAAAHAA8AAAABAAIAAAAHAA4AAAABAAEAAAAGAA8AAAABAAIAAAAGAA4AAAABAAEAAAAFAA8AAAABAAIAAAAFAA4AAAABAAEAAAAEAA8AAAABAAIAAAAEAA4AAAAAAAUAAAAEAA0AAAACAAEAAAADAA8AAAABAAIAAAADAA4AAAABAAIAAAADAA0AAAABAAEAAAACAA8AAAABAAIAAAACAA4AAAABAAIAAAACAA0AAAABAAEAAAABAA8AAAABAAIAAAABAA4AAAABAAIAAAABAA0AAAABAAEAAAAAAA8AAAABAAIAAAAAAA4AAAABAAIAAAAAAA0AAAABAAEAAAAOAA0AAAAFAAAAAAAOAA4AAAAAAAUAAAAOAA8AAAABAAIAAAAMABAAAAABAAIAAAAMABEAAAABAAIAAAAMABIAAAABAAIAAAANABIAAAABAAIAAAAOABIAAAABAAIAAAAPABIAAAABAAIAAAAQABIAAAABAAIAAAAQABQAAAABAAIAAAAQABMAAAABAAIAAAAPABQAAAABAAIAAAAPABMAAAABAAIAAAAOABQAAAABAAIAAAAOABMAAAABAAIAAAANABQAAAABAAIAAAANABMAAAABAAIAAAAMABQAAAABAAIAAAAMABMAAAABAAIAAAATAA8AAAAAAAIAAAAUAA8AAAABAAIAAAAVAA8AAAABAAIAAAAWAA8AAAABAAIAAAAXAA8AAAABAAIAAAAXABQAAAABAAIAAAAXABMAAAABAAIAAAAXABIAAAABAAIAAAAXABEAAAABAAIAAAAXABAAAAABAAIAAAAWABQAAAABAAIAAAAWABMAAAABAAIAAAAWABIAAAABAAIAAAAWABEAAAABAAIAAAAWABAAAAABAAIAAAAVABQAAAABAAIAAAAVABMAAAABAAIAAAAVABIAAAABAAIAAAAVABEAAAABAAIAAAAVABAAAAABAAIAAAAUABQAAAABAAIAAAAUABMAAAABAAIAAAAUABIAAAABAAIAAAAUABEAAAABAAIAAAAUABAAAAABAAIAAAATABQAAAABAAIAAAATABMAAAABAAIAAAATABIAAAABAAIAAAATABEAAAABAAIAAAATABAAAAABAAUAAAASABQAAAABAAIAAAASABMAAAABAAIAAAASABIAAAABAAIAAAARABQAAAABAAIAAAARABMAAAABAAIAAAARABIAAAABAAIAAAALABQAAAABAAIAAAALABMAAAABAAIAAAALABIAAAABAAIAAAALABEAAAABAAIAAAALABAAAAABAAIAAAAKABQAAAABAAIAAAAKABMAAAABAAIAAAAKABIAAAABAAIAAAAKABEAAAABAAIAAAAKABAAAAABAAIAAAAJABQAAAABAAIAAAAJABMAAAABAAIAAAAJABIAAAABAAIAAAAJABEAAAABAAIAAAAJABAAAAABAAIAAAAIABQAAAABAAIAAAAIABMAAAABAAIAAAAIABIAAAABAAIAAAAIABEAAAABAAIAAAAIABAAAAABAAIAAAAHABQAAAABAAIAAAAHABMAAAABAAIAAAAHABIAAAABAAIAAAAHABEAAAABAAIAAAAHABAAAAABAAIAAAAGABQAAAABAAIAAAAGABMAAAABAAIAAAAGABIAAAABAAIAAAAGABEAAAABAAIAAAAGABAAAAABAAIAAAAFABQAAAABAAIAAAAFABMAAAABAAIAAAAFABIAAAABAAIAAAAFABEAAAABAAIAAAAFABAAAAABAAIAAAAEABQAAAABAAIAAAAEABMAAAABAAIAAAAEABIAAAABAAIAAAAEABEAAAABAAIAAAAEABAAAAABAAIAAAADABQAAAABAAIAAAADABMAAAABAAIAAAADABIAAAABAAIAAAADABEAAAABAAIAAAADABAAAAABAAIAAAACABQAAAABAAIAAAACABMAAAABAAIAAAACABIAAAABAAIAAAACABEAAAABAAIAAAACABAAAAABAAIAAAABABQAAAABAAIAAAABABMAAAABAAIAAAABABIAAAABAAIAAAABABEAAAABAAIAAAABABAAAAABAAIAAAAAABQAAAABAAIAAAAAABMAAAABAAIAAAAAABIAAAABAAIAAAAAABEAAAABAAIAAAAAABAAAAABAAIAAAATAA4AAAAAAAIAAAAcAA8AAAABAAIAAAAbAA8AAAABAAIAAAAaAA8AAAABAAIAAAAZAA8AAAABAAIAAAAYAA8AAAABAAIAAAAYAA4AAAABAAEAAAAZAA4AAAABAAEAAAAaAA0AAAAAAAEAAAAbAA0AAAABAAEAAAAcAAwAAAAAAAEAAAAdAAwAAAABAAEAAAAdAA0AAAABAAIAAAAcAA0AAAABAAUAAAAcAA4AAAABAAIAAAAdAA4AAAABAAIAAAAbAA4AAAABAAIAAAAaAA4AAAABAAUAAAAdAA8AAAABAAIAAAAdABQAAAABAAIAAAAdABMAAAABAAIAAAAdABIAAAABAAIAAAAdABEAAAABAAIAAAAdABAAAAABAAIAAAAcABQAAAABAAIAAAAcABMAAAABAAIAAAAcABIAAAABAAIAAAAcABEAAAABAAIAAAAcABAAAAABAAIAAAAbABQAAAABAAIAAAAbABMAAAABAAIAAAAbABIAAAABAAIAAAAbABEAAAABAAIAAAAbABAAAAABAAIAAAAaABQAAAABAAIAAAAaABMAAAABAAIAAAAaABIAAAABAAIAAAAaABEAAAABAAIAAAAaABAAAAABAAIAAAAZABQAAAABAAIAAAAZABMAAAABAAIAAAAZABIAAAABAAIAAAAZABEAAAABAAIAAAAZABAAAAABAAIAAAAYABQAAAABAAIAAAAYABMAAAABAAIAAAAYABIAAAABAAIAAAAYABEAAAABAAIAAAAYABAAAAABAAIAAAD//xQAAAABAAIAAAD//xMAAAABAAIAAAD//xIAAAABAAIAAAD//xEAAAABAAIAAAD//xAAAAABAAIAAAD//w8AAAABAAIAAAD//w4AAAABAAIAAAD//w0AAAAAAAUAAAD//wwAAAACAAIAAAD//wsAAAACAAIAAAD//woAAAACAAQAAAD+/xQAAAABAAIAAAD+/xMAAAABAAIAAAD+/xIAAAABAAIAAAD+/xEAAAABAAIAAAD+/xAAAAABAAIAAAD+/w8AAAABAAIAAAD+/w4AAAABAAIAAAD+/w0AAAABAAIAAAD+/wwAAAABAAIAAAD+/woAAAABAAIAAAD9/xQAAAABAAIAAAD9/xMAAAABAAIAAAD9/xIAAAABAAIAAAD9/xEAAAABAAIAAAD9/xAAAAABAAIAAAD9/w8AAAABAAIAAAD9/w4AAAABAAIAAAD9/w0AAAABAAIAAAD9/wwAAAABAAIAAAD8/xQAAAABAAIAAAD8/xMAAAABAAIAAAD8/xIAAAABAAIAAAD8/xEAAAABAAIAAAD8/xAAAAABAAIAAAD8/w8AAAABAAIAAAD8/w4AAAABAAIAAAD8/w0AAAABAAIAAAD8/wwAAAABAAIAAAD8/wsAAAABAAIAAAD8/woAAAABAAIAAAD7/xQAAAAAAAIAAAD7/xMAAAAAAAIAAAD7/xIAAAAAAAIAAAD7/xEAAAAAAAIAAAD7/xAAAAAAAAIAAAD7/w8AAAAAAAIAAAD7/w4AAAAAAAIAAAD7/w0AAAAAAAIAAAD7/wwAAAAAAAIAAAD7/wsAAAAAAAIAAAD7/woAAAAAAAIAAAD//wkAAAACAAIAAAD//wgAAAACAAEAAAD+/wkAAAABAAIAAAD+/wgAAAABAAEAAAD9/wkAAAABAAIAAAD9/wgAAAABAAEAAAD7/wkAAAAAAAIAAAAdABoAAAABAAIAAAAdABkAAAABAAIAAAAdABgAAAABAAIAAAAdABcAAAABAAIAAAAdABYAAAABAAIAAAAdABUAAAABAAIAAAAcABoAAAABAAIAAAAcABkAAAABAAIAAAAcABgAAAABAAIAAAAcABcAAAABAAIAAAAcABYAAAABAAIAAAAcABUAAAABAAIAAAAbABoAAAABAAIAAAAbABkAAAABAAIAAAAbABgAAAABAAIAAAAbABcAAAABAAIAAAAbABYAAAABAAIAAAAbABUAAAABAAIAAAAaABoAAAABAAIAAAAaABkAAAABAAIAAAAaABgAAAABAAIAAAAaABcAAAABAAIAAAAaABYAAAABAAIAAAAaABUAAAABAAIAAAAZABoAAAABAAIAAAAZABkAAAABAAIAAAAZABgAAAABAAIAAAAZABcAAAABAAIAAAAZABYAAAABAAIAAAAZABUAAAABAAIAAAAYABoAAAABAAIAAAAYABkAAAABAAIAAAAYABgAAAABAAIAAAAYABcAAAABAAIAAAAYABYAAAABAAIAAAAYABUAAAABAAIAAAAXABoAAAABAAIAAAAXABkAAAABAAIAAAAXABgAAAABAAIAAAAXABcAAAABAAIAAAAXABYAAAABAAIAAAAXABUAAAABAAIAAAAWABoAAAABAAIAAAAWABkAAAABAAIAAAAWABgAAAABAAIAAAAWABcAAAABAAIAAAAWABYAAAABAAIAAAAWABUAAAABAAIAAAAVABoAAAABAAIAAAAVABkAAAABAAIAAAAVABgAAAABAAIAAAAVABcAAAABAAIAAAAVABYAAAABAAIAAAAVABUAAAABAAIAAAAUABoAAAABAAIAAAAUABkAAAABAAIAAAAUABgAAAABAAIAAAAUABcAAAABAAIAAAAUABYAAAABAAIAAAAUABUAAAABAAIAAAATABoAAAABAAIAAAATABkAAAABAAIAAAATABgAAAABAAIAAAATABcAAAABAAIAAAATABYAAAABAAIAAAATABUAAAABAAIAAAASABoAAAABAAIAAAASABkAAAABAAIAAAASABgAAAABAAIAAAASABcAAAABAAIAAAASABYAAAABAAIAAAASABUAAAABAAIAAAARABoAAAABAAIAAAARABkAAAABAAIAAAARABgAAAABAAIAAAARABcAAAABAAIAAAARABYAAAABAAIAAAARABUAAAABAAIAAAAQABoAAAABAAIAAAAQABkAAAABAAIAAAAQABgAAAABAAIAAAAQABcAAAABAAIAAAAQABYAAAABAAIAAAAQABUAAAABAAIAAAAPABoAAAABAAIAAAAPABkAAAABAAIAAAAPABgAAAABAAIAAAAPABcAAAABAAIAAAAPABYAAAABAAIAAAAPABUAAAABAAIAAAAOABoAAAABAAIAAAAOABkAAAABAAIAAAAOABgAAAABAAIAAAAOABcAAAABAAIAAAAOABYAAAABAAIAAAAOABUAAAABAAIAAAANABoAAAABAAIAAAANABkAAAABAAIAAAANABgAAAABAAIAAAANABcAAAABAAIAAAANABYAAAABAAIAAAANABUAAAABAAIAAAAMABoAAAABAAIAAAAMABkAAAABAAIAAAAMABgAAAABAAIAAAAMABcAAAABAAIAAAAMABYAAAABAAIAAAAMABUAAAABAAIAAAALABoAAAABAAIAAAALABkAAAABAAIAAAALABgAAAABAAIAAAALABcAAAABAAIAAAALABYAAAABAAIAAAALABUAAAABAAIAAAAKABoAAAABAAIAAAAKABkAAAABAAIAAAAKABgAAAABAAIAAAAKABcAAAABAAIAAAAKABYAAAABAAIAAAAKABUAAAABAAIAAAAJABoAAAABAAIAAAAJABkAAAABAAIAAAAJABgAAAABAAIAAAAJABcAAAABAAIAAAAJABYAAAABAAIAAAAJABUAAAABAAIAAAAIABoAAAABAAIAAAAIABkAAAABAAIAAAAIABgAAAABAAIAAAAIABcAAAABAAIAAAAIABYAAAABAAIAAAAIABUAAAABAAIAAAAHABoAAAABAAIAAAAHABkAAAABAAIAAAAHABgAAAABAAIAAAAHABcAAAABAAIAAAAHABYAAAABAAIAAAAHABUAAAABAAIAAAAGABoAAAABAAIAAAAGABkAAAABAAIAAAAGABgAAAABAAIAAAAGABcAAAABAAIAAAAGABYAAAABAAIAAAAGABUAAAABAAIAAAAFABoAAAABAAIAAAAFABkAAAABAAIAAAAFABgAAAABAAIAAAAFABcAAAABAAIAAAAFABYAAAABAAIAAAAFABUAAAABAAIAAAAEABoAAAABAAIAAAAEABkAAAABAAIAAAAEABgAAAABAAIAAAAEABcAAAABAAIAAAAEABYAAAABAAIAAAAEABUAAAABAAIAAAADABoAAAABAAIAAAADABkAAAABAAIAAAADABgAAAABAAIAAAADABcAAAABAAIAAAADABYAAAABAAIAAAADABUAAAABAAIAAAACABoAAAABAAIAAAACABkAAAABAAIAAAACABgAAAABAAIAAAACABcAAAABAAIAAAACABYAAAABAAIAAAACABUAAAABAAIAAAABABoAAAABAAIAAAABABkAAAABAAIAAAABABgAAAABAAIAAAABABcAAAABAAIAAAABABYAAAABAAIAAAABABUAAAABAAIAAAAAABoAAAABAAIAAAAAABkAAAABAAIAAAAAABgAAAABAAIAAAAAABcAAAABAAIAAAAAABYAAAABAAIAAAAAABUAAAABAAIAAAD//xoAAAABAAIAAAD//xkAAAABAAIAAAD//xgAAAABAAIAAAD//xcAAAABAAIAAAD//xYAAAABAAIAAAD//xUAAAABAAIAAAD+/xoAAAABAAIAAAD+/xkAAAABAAIAAAD+/xgAAAABAAIAAAD+/xcAAAABAAIAAAD+/xYAAAABAAIAAAD+/xUAAAABAAIAAAD9/xoAAAABAAIAAAD9/xkAAAABAAIAAAD9/xgAAAABAAIAAAD9/xcAAAABAAIAAAD9/xYAAAABAAIAAAD9/xUAAAABAAIAAAD8/xoAAAABAAIAAAD8/xkAAAABAAIAAAD8/xgAAAABAAIAAAD8/xcAAAABAAIAAAD8/xYAAAABAAIAAAD8/xUAAAABAAIAAAD7/xoAAAAAAAIAAAD7/xkAAAAAAAIAAAD7/xgAAAAAAAIAAAD7/xcAAAAAAAIAAAD7/xYAAAAAAAIAAAD7/xUAAAAAAAIAAAAhABoAAAABAAIAAAAhABkAAAABAAIAAAAhABgAAAABAAIAAAAhABcAAAABAAIAAAAhABYAAAABAAIAAAAhABUAAAABAAIAAAAhABQAAAABAAIAAAAhABMAAAABAAIAAAAhABIAAAABAAIAAAAhABEAAAABAAIAAAAhABAAAAABAAIAAAAhAA8AAAABAAIAAAAhAA4AAAABAAIAAAAhAA0AAAABAAIAAAAhAAwAAAABAAIAAAAgABoAAAABAAIAAAAgABkAAAABAAIAAAAgABgAAAABAAIAAAAgABcAAAABAAIAAAAgABYAAAABAAIAAAAgABUAAAABAAIAAAAgABQAAAABAAIAAAAgABMAAAABAAIAAAAgABIAAAABAAIAAAAgABEAAAABAAIAAAAgABAAAAABAAIAAAAgAA8AAAABAAIAAAAgAA4AAAABAAIAAAAgAA0AAAABAAIAAAAgAAwAAAABAAUAAAAfABoAAAABAAIAAAAfABkAAAABAAIAAAAfABgAAAABAAIAAAAfABcAAAABAAIAAAAfABYAAAABAAIAAAAfABUAAAABAAIAAAAfABQAAAABAAIAAAAfABMAAAABAAIAAAAfABIAAAABAAIAAAAfABEAAAABAAIAAAAfABAAAAABAAIAAAAfAA8AAAABAAIAAAAfAA4AAAABAAIAAAAfAA0AAAABAAIAAAAfAAwAAAABAAEAAAAeABoAAAABAAIAAAAeABkAAAABAAIAAAAeABgAAAABAAIAAAAeABcAAAABAAIAAAAeABYAAAABAAIAAAAeABUAAAABAAIAAAAeABQAAAABAAIAAAAeABMAAAABAAIAAAAeABIAAAABAAIAAAAeABEAAAABAAIAAAAeABAAAAABAAIAAAAeAA8AAAABAAIAAAAeAA4AAAABAAIAAAAeAA0AAAABAAIAAAAeAAwAAAABAAEAAAAoABIAAAACAAIAAAAoABEAAAACAAIAAAAoABAAAAACAAIAAAAoAA8AAAACAAIAAAAoAA4AAAACAAIAAAAoAA0AAAACAAIAAAAoAAwAAAACAAIAAAAoAAsAAAACAAIAAAAoAAoAAAACAAIAAAAoAAkAAAACAAIAAAAoAAgAAAACAAIAAAAoAAcAAAACAAEAAAAnABIAAAABAAIAAAAnABEAAAABAAIAAAAnABAAAAABAAIAAAAnAA8AAAABAAIAAAAnAA4AAAABAAIAAAAnAA0AAAABAAIAAAAnAAwAAAABAAIAAAAnAAsAAAABAAIAAAAnAAoAAAABAAIAAAAnAAkAAAABAAIAAAAnAAgAAAABAAIAAAAnAAcAAAABAAEAAAAmABIAAAABAAIAAAAmABEAAAABAAIAAAAmABAAAAABAAIAAAAmAA8AAAABAAIAAAAmAA4AAAABAAIAAAAmAA0AAAABAAIAAAAmAAwAAAABAAIAAAAmAAsAAAABAAIAAAAmAAoAAAABAAIAAAAmAAkAAAABAAIAAAAmAAgAAAABAAIAAAAmAAcAAAABAAEAAAAlABIAAAABAAIAAAAlABEAAAABAAIAAAAlABAAAAABAAIAAAAlAA8AAAABAAIAAAAlAA4AAAABAAIAAAAlAA0AAAABAAIAAAAlAAwAAAABAAIAAAAlAAsAAAABAAIAAAAlAAoAAAABAAIAAAAlAAkAAAABAAIAAAAlAAgAAAABAAIAAAAlAAcAAAABAAEAAAAkABIAAAABAAIAAAAkABEAAAABAAIAAAAkABAAAAABAAIAAAAkAA8AAAABAAIAAAAkAA4AAAABAAIAAAAkAA0AAAABAAIAAAAkAAwAAAABAAIAAAAkAAsAAAABAAIAAAAkAAoAAAABAAIAAAAkAAkAAAABAAIAAAAkAAgAAAABAAIAAAAkAAcAAAABAAEAAAAjABIAAAABAAIAAAAjABEAAAABAAIAAAAjABAAAAABAAIAAAAjAA8AAAABAAIAAAAjAA4AAAABAAIAAAAjAA0AAAABAAIAAAAjAAwAAAABAAIAAAAjAAsAAAABAAIAAAAjAAoAAAABAAIAAAAjAAkAAAABAAIAAAAjAAgAAAABAAIAAAAjAAcAAAAAAAUAAAAiABIAAAABAAIAAAAiABEAAAABAAIAAAAiABAAAAABAAIAAAAiAA8AAAABAAIAAAAiAA4AAAABAAIAAAAiAA0AAAABAAIAAAAiAAwAAAABAAIAAAAiAAsAAAABAAIAAAAiAAoAAAABAAIAAAAiAAkAAAABAAIAAAAiAAgAAAABAAIAAAAiAAcAAAABAAUAAAAoABoAAAACAAIAAAAoABkAAAACAAIAAAAoABgAAAACAAIAAAAoABcAAAACAAIAAAAoABYAAAACAAIAAAAoABUAAAACAAIAAAAoABQAAAACAAIAAAAoABMAAAACAAIAAAAnABoAAAABAAIAAAAnABkAAAABAAIAAAAnABgAAAABAAIAAAAnABcAAAABAAIAAAAnABYAAAABAAIAAAAnABUAAAABAAIAAAAnABQAAAABAAIAAAAnABMAAAABAAIAAAAmABoAAAABAAIAAAAmABkAAAABAAIAAAAmABgAAAABAAIAAAAmABcAAAABAAIAAAAmABYAAAABAAIAAAAmABUAAAABAAIAAAAmABQAAAABAAIAAAAmABMAAAABAAIAAAAlABoAAAABAAIAAAAlABkAAAABAAIAAAAlABgAAAABAAIAAAAlABcAAAABAAIAAAAlABYAAAABAAIAAAAlABUAAAABAAIAAAAlABQAAAABAAIAAAAlABMAAAABAAIAAAAkABoAAAABAAIAAAAkABkAAAABAAIAAAAkABgAAAABAAIAAAAkABcAAAABAAIAAAAkABYAAAABAAIAAAAkABUAAAABAAIAAAAkABQAAAABAAIAAAAkABMAAAABAAIAAAAjABoAAAABAAIAAAAjABkAAAABAAIAAAAjABgAAAABAAIAAAAjABcAAAABAAIAAAAjABYAAAABAAIAAAAjABUAAAABAAIAAAAjABQAAAABAAIAAAAjABMAAAABAAIAAAAiABoAAAABAAIAAAAiABkAAAABAAIAAAAiABgAAAABAAIAAAAiABcAAAABAAIAAAAiABYAAAABAAIAAAAiABUAAAABAAIAAAAiABQAAAABAAIAAAAiABMAAAABAAIAAAAoACMAAAACAAMAAAAoACIAAAACAAIAAAAoACEAAAACAAIAAAAoACAAAAACAAIAAAAoAB8AAAACAAIAAAAoAB4AAAACAAIAAAAoAB0AAAACAAIAAAAoABwAAAACAAIAAAAoABsAAAACAAIAAAAnACMAAAABAAMAAAAnACIAAAABAAIAAAAnACEAAAABAAIAAAAnACAAAAABAAIAAAAnAB8AAAABAAIAAAAnAB4AAAABAAIAAAAnAB0AAAABAAIAAAAnABwAAAABAAIAAAAnABsAAAABAAIAAAAmACMAAAABAAMAAAAmACIAAAABAAIAAAAmACEAAAABAAIAAAAmACAAAAABAAIAAAAmAB8AAAABAAIAAAAmAB4AAAABAAIAAAAmAB0AAAABAAIAAAAmABwAAAABAAIAAAAmABsAAAABAAIAAAAlACMAAAABAAMAAAAlACIAAAABAAIAAAAlACEAAAABAAIAAAAlACAAAAABAAIAAAAlAB8AAAABAAIAAAAlAB4AAAABAAIAAAAlAB0AAAABAAIAAAAlABwAAAABAAIAAAAlABsAAAABAAIAAAAkACMAAAABAAMAAAAkACIAAAABAAIAAAAkACEAAAABAAIAAAAkACAAAAABAAIAAAAkAB8AAAABAAIAAAAkAB4AAAABAAIAAAAkAB0AAAABAAIAAAAkABwAAAABAAIAAAAkABsAAAABAAIAAAAjACMAAAABAAMAAAAjACIAAAABAAIAAAAjACEAAAABAAIAAAAjACAAAAABAAIAAAAjAB8AAAABAAIAAAAjAB4AAAABAAIAAAAjAB0AAAABAAIAAAAjABwAAAABAAIAAAAjABsAAAABAAIAAAAiACMAAAABAAMAAAAiACIAAAABAAIAAAAiACEAAAABAAIAAAAiACAAAAABAAIAAAAiAB8AAAABAAIAAAAiAB4AAAABAAIAAAAiAB0AAAABAAIAAAAiABwAAAABAAIAAAAiABsAAAABAAIAAAAhACMAAAABAAMAAAAhACIAAAABAAIAAAAhACEAAAABAAIAAAAhACAAAAABAAIAAAAhAB8AAAABAAIAAAAhAB4AAAABAAIAAAAhAB0AAAABAAIAAAAhABwAAAABAAIAAAAhABsAAAABAAIAAAAgACMAAAABAAMAAAAgACIAAAABAAIAAAAgACEAAAABAAIAAAAgACAAAAABAAIAAAAgAB8AAAABAAIAAAAgAB4AAAABAAIAAAAgAB0AAAABAAIAAAAgABwAAAABAAIAAAAgABsAAAABAAIAAAAfACMAAAABAAMAAAAfACIAAAABAAIAAAAfACEAAAABAAIAAAAfACAAAAABAAIAAAAfAB8AAAABAAIAAAAfAB4AAAABAAIAAAAfAB0AAAABAAIAAAAfABwAAAABAAIAAAAfABsAAAABAAIAAAAeACMAAAABAAMAAAAeACIAAAABAAIAAAAeACEAAAABAAIAAAAeACAAAAABAAIAAAAeAB8AAAABAAIAAAAeAB4AAAABAAIAAAAeAB0AAAABAAIAAAAeABwAAAABAAIAAAAeABsAAAABAAIAAAAdACMAAAABAAMAAAAdACIAAAABAAIAAAAdACEAAAABAAIAAAAdACAAAAABAAIAAAAdAB8AAAABAAIAAAAdAB4AAAABAAIAAAAdAB0AAAABAAIAAAAdABwAAAABAAIAAAAdABsAAAABAAIAAAAcACMAAAABAAMAAAAcACIAAAABAAIAAAAcACEAAAABAAIAAAAcACAAAAABAAIAAAAcAB8AAAABAAIAAAAcAB4AAAABAAIAAAAcAB0AAAABAAIAAAAcABwAAAABAAIAAAAcABsAAAABAAIAAAAbACMAAAABAAMAAAAbACIAAAABAAIAAAAbACEAAAABAAIAAAAbACAAAAABAAIAAAAbAB8AAAABAAIAAAAbAB4AAAABAAIAAAAbAB0AAAABAAIAAAAbABwAAAABAAIAAAAbABsAAAABAAIAAAAaACMAAAABAAMAAAAaACIAAAABAAIAAAAaACEAAAABAAIAAAAaACAAAAABAAIAAAAaAB8AAAABAAIAAAAaAB4AAAABAAIAAAAaAB0AAAABAAIAAAAaABwAAAABAAIAAAAaABsAAAABAAIAAAAZACMAAAABAAMAAAAZACIAAAABAAIAAAAZACEAAAABAAIAAAAZACAAAAABAAIAAAAZAB8AAAABAAIAAAAZAB4AAAABAAIAAAAZAB0AAAABAAIAAAAZABwAAAABAAIAAAAZABsAAAABAAIAAAAYACMAAAABAAMAAAAYACIAAAABAAIAAAAYACEAAAABAAIAAAAYACAAAAABAAIAAAAYAB8AAAABAAIAAAAYAB4AAAABAAIAAAAYAB0AAAABAAIAAAAYABwAAAABAAIAAAAYABsAAAABAAIAAAAXACMAAAABAAMAAAAXACIAAAABAAIAAAAXACEAAAABAAIAAAAXACAAAAABAAIAAAAXAB8AAAABAAIAAAAXAB4AAAABAAIAAAAXAB0AAAABAAIAAAAXABwAAAABAAIAAAAXABsAAAABAAIAAAAWACMAAAABAAMAAAAWACIAAAABAAIAAAAWACEAAAABAAIAAAAWACAAAAABAAIAAAAWAB8AAAABAAIAAAAWAB4AAAABAAIAAAAWAB0AAAABAAIAAAAWABwAAAABAAIAAAAWABsAAAABAAIAAAAVACMAAAABAAMAAAAVACIAAAABAAIAAAAVACEAAAABAAIAAAAVACAAAAABAAIAAAAVAB8AAAABAAIAAAAVAB4AAAABAAIAAAAVAB0AAAABAAIAAAAVABwAAAABAAIAAAAVABsAAAABAAIAAAAUACMAAAABAAMAAAAUACIAAAABAAIAAAAUACEAAAABAAIAAAAUACAAAAABAAIAAAAUAB8AAAABAAIAAAAUAB4AAAABAAIAAAAUAB0AAAABAAIAAAAUABwAAAABAAIAAAAUABsAAAABAAIAAAATACMAAAABAAMAAAATACIAAAABAAIAAAATACEAAAABAAIAAAATACAAAAABAAIAAAATAB8AAAABAAIAAAATAB4AAAABAAIAAAATAB0AAAABAAIAAAATABwAAAABAAIAAAATABsAAAABAAIAAAASACMAAAABAAMAAAASACIAAAABAAIAAAASACEAAAABAAIAAAASACAAAAABAAIAAAASAB8AAAABAAIAAAASAB4AAAABAAIAAAASAB0AAAABAAIAAAASABwAAAABAAIAAAASABsAAAABAAIAAAARACMAAAABAAMAAAARACIAAAABAAIAAAARACEAAAABAAIAAAARACAAAAABAAIAAAARAB8AAAABAAIAAAARAB4AAAABAAIAAAARAB0AAAABAAIAAAARABwAAAABAAIAAAARABsAAAABAAIAAAAQACMAAAABAAMAAAAQACIAAAABAAIAAAAQACEAAAABAAIAAAAQACAAAAABAAIAAAAQAB8AAAABAAIAAAAQAB4AAAABAAIAAAAQAB0AAAABAAIAAAAQABwAAAABAAIAAAAQABsAAAABAAIAAAAPACMAAAABAAMAAAAPACIAAAABAAIAAAAPACEAAAABAAIAAAAPACAAAAABAAIAAAAPAB8AAAABAAIAAAAPAB4AAAABAAIAAAAPAB0AAAABAAIAAAAPABwAAAABAAIAAAAPABsAAAABAAIAAAAOACMAAAABAAMAAAAOACIAAAABAAIAAAAOACEAAAABAAIAAAAOACAAAAABAAIAAAAOAB8AAAABAAIAAAAOAB4AAAABAAIAAAAOAB0AAAABAAIAAAAOABwAAAABAAIAAAAOABsAAAABAAIAAAANACMAAAABAAMAAAANACIAAAABAAIAAAANACEAAAABAAIAAAANACAAAAABAAIAAAANAB8AAAABAAIAAAANAB4AAAABAAIAAAANAB0AAAABAAIAAAANABwAAAABAAIAAAANABsAAAABAAIAAAAMACMAAAABAAMAAAAMACIAAAABAAIAAAAMACEAAAABAAIAAAAMACAAAAABAAIAAAAMAB8AAAABAAIAAAAMAB4AAAABAAIAAAAMAB0AAAABAAIAAAAMABwAAAABAAIAAAAMABsAAAABAAIAAAALACMAAAABAAMAAAALACIAAAABAAIAAAALACEAAAABAAIAAAALACAAAAABAAIAAAALAB8AAAABAAIAAAALAB4AAAABAAIAAAALAB0AAAABAAIAAAALABwAAAABAAIAAAALABsAAAABAAIAAAAKACMAAAABAAMAAAAKACIAAAABAAIAAAAKACEAAAABAAIAAAAKACAAAAABAAIAAAAKAB8AAAABAAIAAAAKAB4AAAABAAIAAAAKAB0AAAABAAIAAAAKABwAAAABAAIAAAAKABsAAAABAAIAAAAJACMAAAABAAMAAAAJACIAAAABAAIAAAAJACEAAAABAAIAAAAJACAAAAABAAIAAAAJAB8AAAABAAIAAAAJAB4AAAABAAIAAAAJAB0AAAABAAIAAAAJABwAAAABAAIAAAAJABsAAAABAAIAAAAIACMAAAABAAMAAAAIACIAAAABAAIAAAAIACEAAAABAAIAAAAIACAAAAABAAIAAAAIAB8AAAABAAIAAAAIAB4AAAABAAIAAAAIAB0AAAABAAIAAAAIABwAAAABAAIAAAAIABsAAAABAAIAAAAHACMAAAABAAMAAAAHACIAAAABAAIAAAAHACEAAAABAAIAAAAHACAAAAABAAIAAAAHAB8AAAABAAIAAAAHAB4AAAABAAIAAAAHAB0AAAABAAIAAAAHABwAAAABAAIAAAAHABsAAAABAAIAAAAGACMAAAABAAMAAAAGACIAAAABAAIAAAAGACEAAAABAAIAAAAGACAAAAABAAIAAAAGAB8AAAABAAIAAAAGAB4AAAABAAIAAAAGAB0AAAABAAIAAAAGABwAAAABAAIAAAAGABsAAAABAAIAAAAFACMAAAABAAMAAAAFACIAAAABAAIAAAAFACEAAAABAAIAAAAFACAAAAABAAIAAAAFAB8AAAABAAIAAAAFAB4AAAABAAIAAAAFAB0AAAABAAIAAAAFABwAAAABAAIAAAAFABsAAAABAAIAAAAEACMAAAABAAMAAAAEACIAAAABAAIAAAAEACEAAAABAAIAAAAEACAAAAABAAIAAAAEAB8AAAABAAIAAAAEAB4AAAABAAIAAAAEAB0AAAABAAIAAAAEABwAAAABAAIAAAAEABsAAAABAAIAAAADACMAAAABAAMAAAADACIAAAABAAIAAAADACEAAAABAAIAAAADACAAAAABAAIAAAADAB8AAAABAAIAAAADAB4AAAABAAIAAAADAB0AAAABAAIAAAADABwAAAABAAIAAAADABsAAAABAAIAAAACACMAAAABAAMAAAACACIAAAABAAIAAAACACEAAAABAAIAAAACACAAAAABAAIAAAACAB8AAAABAAIAAAACAB4AAAABAAIAAAACAB0AAAABAAIAAAACABwAAAABAAIAAAACABsAAAABAAIAAAABACMAAAABAAMAAAABACIAAAABAAIAAAABACEAAAABAAIAAAABACAAAAABAAIAAAABAB8AAAABAAIAAAABAB4AAAABAAIAAAABAB0AAAABAAIAAAABABwAAAABAAIAAAABABsAAAABAAIAAAAAACMAAAABAAMAAAAAACIAAAABAAIAAAAAACEAAAABAAIAAAAAACAAAAABAAIAAAAAAB8AAAABAAIAAAAAAB4AAAABAAIAAAAAAB0AAAABAAIAAAAAABwAAAABAAIAAAAAABsAAAABAAIAAAD//yMAAAABAAMAAAD//yIAAAABAAIAAAD//yEAAAABAAIAAAD//yAAAAABAAIAAAD//x8AAAABAAIAAAD//x4AAAABAAIAAAD//x0AAAABAAIAAAD//xwAAAABAAIAAAD//xsAAAABAAIAAAD+/yMAAAABAAMAAAD+/yIAAAABAAIAAAD+/yEAAAABAAIAAAD+/yAAAAABAAIAAAD+/x8AAAABAAIAAAD+/x4AAAABAAIAAAD+/x0AAAABAAIAAAD+/xwAAAABAAIAAAD+/xsAAAABAAIAAAD9/yMAAAABAAMAAAD9/yIAAAABAAIAAAD9/yEAAAABAAIAAAD9/yAAAAABAAIAAAD9/x8AAAABAAIAAAD9/x4AAAABAAIAAAD9/x0AAAABAAIAAAD9/xwAAAABAAIAAAD9/xsAAAABAAIAAAD8/yMAAAABAAMAAAD8/yIAAAABAAIAAAD8/yEAAAABAAIAAAD8/yAAAAABAAIAAAD8/x8AAAABAAIAAAD8/x4AAAABAAIAAAD8/x0AAAABAAIAAAD8/xwAAAABAAIAAAD8/xsAAAABAAIAAAD7/yMAAAAAAAMAAAD7/yIAAAAAAAIAAAD7/yEAAAAAAAIAAAD7/yAAAAAAAAIAAAD7/x8AAAAAAAIAAAD7/x4AAAAAAAIAAAD7/x0AAAAAAAIAAAD7/xwAAAAAAAIAAAD7/xsAAAAAAAIAAAAUAA4AAAAAAAUAAAAcAAgAAAAAAAMAAAAdAAgAAAABAAMAAAAeAAgAAAABAAMAAAAfAAgAAAABAAQAAAAgAAgAAAABAAIAAAAgAAkAAAABAAQAAAAgAAoAAAAAAAIAAAAgAAsAAAAAAAIAAAAhAAoAAAABAAIAAAAhAAkAAAABAAIAAAAhAAgAAAABAAIAAAAhAAsAAAABAAIAAAD+/wsAAAABAAIAAAD9/wsAAAABAAIAAAD9/woAAAABAAIAAAD8/wkAAAABAAIAAAD8/wgAAAABAAEAAAD7/wgAAAAAAAEAAAAgAAcAAAACAAUAAAAhAAcAAAABAAEAAAAVAA4AAAABAAEAAAAWAA4AAAABAAEAAAAXAA4AAAABAAEAAADs/wsAAAABAAIAAADs/woAAAABAAIAAADs/wkAAAABAAIAAADr/wsAAAABAAIAAADr/woAAAABAAIAAADr/wkAAAABAAIAAADq/wsAAAABAAIAAADq/woAAAABAAIAAADq/wkAAAABAAIAAADt/wwAAAABAAMAAADt/wsAAAABAAIAAADt/woAAAAAAAUAAADt/wkAAAACAAIAAADt/wgAAAACAAEAAADs/wwAAAABAAMAAADs/wgAAAABAAEAAADr/wwAAAABAAMAAADr/wgAAAABAAEAAADq/wwAAAABAAMAAADq/wgAAAABAAEAAADp/wwAAAAAAAMAAADp/wsAAAAAAAIAAADp/woAAAAAAAIAAADp/wkAAAAAAAIAAADp/wgAAAAAAAEAAADu/woAAAABAAEAAADu/wsAAAABAAIAAADv/woAAAABAAEAAADv/wsAAAABAAIAAADw/woAAAACAAEAAADw/wsAAAACAAIAAADw/wwAAAACAAMAAADv/wwAAAABAAMAAADu/wwAAAABAAMAAAAfAAcAAAABAAEAAAAeAAcAAAABAAEAAAAdAAcAAAACAAUAAAAcAAcAAAAFAAMAAAANAPr/AAACAAMAAAANAPn/AAACAAIAAAANAPj/AAACAAEAAAAMAPr/AAABAAMAAAAMAPn/AAABAAIAAAAMAPj/AAABAAEAAAALAPr/AAAAAAMAAAALAPn/AAAAAAIAAAALAPj/AAAAAAEAAAATAPr/AAACAAMAAAATAPn/AAAAAAQAAAATAPj/AAAAAAUAAAATAPf/AAACAAEAAAASAPr/AAAAAAQAAAASAPn/AAABAAIAAAASAPj/AAABAAIAAAASAPf/AAAAAAUAAAARAPr/AAABAAQAAAARAPn/AAABAAIAAAARAPj/AAABAAIAAAARAPf/AAABAAUAAAAQAPr/AAAAAAMAAAAQAPn/AAABAAQAAAAQAPj/AAABAAUAAAAQAPf/AAAAAAEAAAAPAPn/AAAAAAMAAAAPAPj/AAAAAAEAAAASAPb/AAACAAEAAAARAPb/AAAAAAEAAAAUAPn/AAACAAMAAAAUAPj/AAACAAEAAAASAPv/AAACAAMAAAARAPv/AAAAAAMAAAAAAAoAAAABAAAAAAABAAoAAAABAAAAAAACAAoAAAACAAAAAAAOABEAAAABAAIAAAATAA0AAAAEAAAAAAAUAA0AAAACAAEAAAATAAwAAAAFAAQAAAAdAAYAAAADAAEAAAAiAAYAAAAAAAIAAAAjAAYAAAACAAIAAAAjAAUAAAACAAEAAAAiAAUAAAAAAAEAAAAgAAYAAAADAAEAAAAOAAwAAAADAAEAAAAfAAkAAAAAAAMAAAAPAA4AAAACAAEAAAASABEAAAABAAIAAAASABAAAAABAAEAAAARABEAAAABAAIAAAARABAAAAABAAEAAAAQABEAAAABAAIAAAAQABAAAAAAAAUAAAAQAA8AAAACAAEAAAAPABEAAAABAAIAAAAPABAAAAABAAIAAAAPAA8AAAAAAAUAAAAOABAAAAABAAIAAAANABEAAAABAAIAAAANABAAAAABAAIAAAAZAAkAAAACAAEAAAAYAAkAAAABAAEAAAAYAAoAAAABAAMAAAAZAAoAAAAEAAIAAAAXAAkAAAAAAAEAAAAXAAoAAAAAAAMAAAAGAAsAAAABAAYAAAAHAAsAAAACAAYAAAAIAAsAAAACAAYAAAAJAAsAAAACAAYAAAAKAAsAAAADAAYAAAAWAAkAAAADAAYAAAAVAAkAAAACAAYAAAAUAAkAAAABAAYAAAAYAAUAAAADAAYAAAAXAAUAAAACAAYAAAAWAAUAAAACAAYAAAAVAAUAAAABAAYAAAAQAAYAAAABAAYAAAARAAYAAAADAAYAAAAbAAcAAAAAAAAAAAASAAwAAAAAAAAAAAAaAAoAAAACAAAAAAA=") +tile_set = ExtResource("3_aqk2v") + +[node name="EnemyGround" parent="." instance=ExtResource("3_tlwt5")] +position = Vector2(136, 176) +speed = 20.0 + +[node name="EnemyGround2" parent="." instance=ExtResource("3_tlwt5")] +position = Vector2(184, 224) +speed = 20.0 diff --git a/world.tscn7799719289.tmp b/world.tscn7799719289.tmp new file mode 100644 index 0000000..4f7d947 --- /dev/null +++ b/world.tscn7799719289.tmp @@ -0,0 +1,45 @@ +[gd_scene load_steps=4 format=4 uid="uid://bvam4vqfwqmfl"] + +[ext_resource type="PackedScene" uid="uid://dno8cee2noo4j" path="res://hero.tscn" id="1_f3sb7"] +[ext_resource type="TileSet" uid="uid://dtg8a2s6k1mnt" path="res://Resources/Tilesets/tileset_jungle.tres" id="3_aqk2v"] +[ext_resource type="PackedScene" uid="uid://bta6rg6alpwct" path="res://Prefabs/Characters/enemy_ground.tscn" id="3_tlwt5"] + +[node name="World" type="Node2D"] + +[node name="BackgroundColor" type="ColorRect" parent="."] +offset_left = -256.0 +offset_top = -184.0 +offset_right = 1024.0 +offset_bottom = 552.0 + +[node name="Hero" parent="." instance=ExtResource("1_f3sb7")] +position = Vector2(32, 200) +collision_layer = 3 +collision_mask = 7 +landing_animation_duration = 0.1 + +[node name="Camera2D" type="Camera2D" parent="Hero"] +position = Vector2(0, -16) +ignore_rotation = false +zoom = Vector2(3, 3) +limit_left = 0 +limit_top = 0 +limit_right = 656 +limit_bottom = 480 +position_smoothing_enabled = true +position_smoothing_speed = 10.0 +rotation_smoothing_enabled = true +rotation_smoothing_speed = 7.5 +editor_draw_limits = true + +[node name="TileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAANAA8AAAABAAIAAAANAA4AAAABAAUAAAANAA0AAAAAAAEAAAAMAA8AAAABAAIAAAAMAA4AAAABAAEAAAALAA8AAAABAAIAAAALAA4AAAABAAEAAAAKAA8AAAABAAIAAAAKAA4AAAABAAEAAAAJAA8AAAABAAIAAAAJAA4AAAABAAEAAAAIAA8AAAABAAIAAAAIAA4AAAABAAEAAAAHAA8AAAABAAIAAAAHAA4AAAABAAEAAAAGAA8AAAABAAIAAAAGAA4AAAABAAEAAAAFAA8AAAABAAIAAAAFAA4AAAABAAEAAAAEAA8AAAABAAIAAAAEAA4AAAAAAAUAAAAEAA0AAAACAAEAAAADAA8AAAABAAIAAAADAA4AAAABAAIAAAADAA0AAAABAAEAAAACAA8AAAABAAIAAAACAA4AAAABAAIAAAACAA0AAAABAAEAAAABAA8AAAABAAIAAAABAA4AAAABAAIAAAABAA0AAAABAAEAAAAAAA8AAAABAAIAAAAAAA4AAAABAAIAAAAAAA0AAAABAAEAAAAOAA0AAAAFAAAAAAAOAA4AAAAAAAUAAAAOAA8AAAABAAIAAAAMABAAAAABAAIAAAAMABEAAAABAAIAAAAMABIAAAABAAIAAAANABIAAAABAAIAAAAOABIAAAABAAIAAAAPABIAAAABAAIAAAAQABIAAAABAAIAAAAQABQAAAABAAIAAAAQABMAAAABAAIAAAAPABQAAAABAAIAAAAPABMAAAABAAIAAAAOABQAAAABAAIAAAAOABMAAAABAAIAAAANABQAAAABAAIAAAANABMAAAABAAIAAAAMABQAAAABAAIAAAAMABMAAAABAAIAAAATAA8AAAAAAAIAAAAUAA8AAAABAAIAAAAVAA8AAAABAAIAAAAWAA8AAAABAAIAAAAXAA8AAAABAAIAAAAXABQAAAABAAIAAAAXABMAAAABAAIAAAAXABIAAAABAAIAAAAXABEAAAABAAIAAAAXABAAAAABAAIAAAAWABQAAAABAAIAAAAWABMAAAABAAIAAAAWABIAAAABAAIAAAAWABEAAAABAAIAAAAWABAAAAABAAIAAAAVABQAAAABAAIAAAAVABMAAAABAAIAAAAVABIAAAABAAIAAAAVABEAAAABAAIAAAAVABAAAAABAAIAAAAUABQAAAABAAIAAAAUABMAAAABAAIAAAAUABIAAAABAAIAAAAUABEAAAABAAIAAAAUABAAAAABAAIAAAATABQAAAABAAIAAAATABMAAAABAAIAAAATABIAAAABAAIAAAATABEAAAABAAIAAAATABAAAAABAAUAAAASABQAAAABAAIAAAASABMAAAABAAIAAAASABIAAAABAAIAAAARABQAAAABAAIAAAARABMAAAABAAIAAAARABIAAAABAAIAAAALABQAAAABAAIAAAALABMAAAABAAIAAAALABIAAAABAAIAAAALABEAAAABAAIAAAALABAAAAABAAIAAAAKABQAAAABAAIAAAAKABMAAAABAAIAAAAKABIAAAABAAIAAAAKABEAAAABAAIAAAAKABAAAAABAAIAAAAJABQAAAABAAIAAAAJABMAAAABAAIAAAAJABIAAAABAAIAAAAJABEAAAABAAIAAAAJABAAAAABAAIAAAAIABQAAAABAAIAAAAIABMAAAABAAIAAAAIABIAAAABAAIAAAAIABEAAAABAAIAAAAIABAAAAABAAIAAAAHABQAAAABAAIAAAAHABMAAAABAAIAAAAHABIAAAABAAIAAAAHABEAAAABAAIAAAAHABAAAAABAAIAAAAGABQAAAABAAIAAAAGABMAAAABAAIAAAAGABIAAAABAAIAAAAGABEAAAABAAIAAAAGABAAAAABAAIAAAAFABQAAAABAAIAAAAFABMAAAABAAIAAAAFABIAAAABAAIAAAAFABEAAAABAAIAAAAFABAAAAABAAIAAAAEABQAAAABAAIAAAAEABMAAAABAAIAAAAEABIAAAABAAIAAAAEABEAAAABAAIAAAAEABAAAAABAAIAAAADABQAAAABAAIAAAADABMAAAABAAIAAAADABIAAAABAAIAAAADABEAAAABAAIAAAADABAAAAABAAIAAAACABQAAAABAAIAAAACABMAAAABAAIAAAACABIAAAABAAIAAAACABEAAAABAAIAAAACABAAAAABAAIAAAABABQAAAABAAIAAAABABMAAAABAAIAAAABABIAAAABAAIAAAABABEAAAABAAIAAAABABAAAAABAAIAAAAAABQAAAABAAIAAAAAABMAAAABAAIAAAAAABIAAAABAAIAAAAAABEAAAABAAIAAAAAABAAAAABAAIAAAATAA4AAAAAAAIAAAAcAA8AAAABAAIAAAAbAA8AAAABAAIAAAAaAA8AAAABAAIAAAAZAA8AAAABAAIAAAAYAA8AAAABAAIAAAAYAA4AAAABAAEAAAAZAA4AAAABAAEAAAAaAA0AAAAAAAEAAAAbAA0AAAABAAEAAAAcAAwAAAAAAAEAAAAdAAwAAAABAAEAAAAdAA0AAAABAAIAAAAcAA0AAAABAAUAAAAcAA4AAAABAAIAAAAdAA4AAAABAAIAAAAbAA4AAAABAAIAAAAaAA4AAAABAAUAAAAdAA8AAAABAAIAAAAdABQAAAABAAIAAAAdABMAAAABAAIAAAAdABIAAAABAAIAAAAdABEAAAABAAIAAAAdABAAAAABAAIAAAAcABQAAAABAAIAAAAcABMAAAABAAIAAAAcABIAAAABAAIAAAAcABEAAAABAAIAAAAcABAAAAABAAIAAAAbABQAAAABAAIAAAAbABMAAAABAAIAAAAbABIAAAABAAIAAAAbABEAAAABAAIAAAAbABAAAAABAAIAAAAaABQAAAABAAIAAAAaABMAAAABAAIAAAAaABIAAAABAAIAAAAaABEAAAABAAIAAAAaABAAAAABAAIAAAAZABQAAAABAAIAAAAZABMAAAABAAIAAAAZABIAAAABAAIAAAAZABEAAAABAAIAAAAZABAAAAABAAIAAAAYABQAAAABAAIAAAAYABMAAAABAAIAAAAYABIAAAABAAIAAAAYABEAAAABAAIAAAAYABAAAAABAAIAAAD//xQAAAABAAIAAAD//xMAAAABAAIAAAD//xIAAAABAAIAAAD//xEAAAABAAIAAAD//xAAAAABAAIAAAD//w8AAAABAAIAAAD//w4AAAABAAIAAAD//w0AAAAAAAUAAAD//wwAAAACAAIAAAD//wsAAAACAAIAAAD//woAAAACAAQAAAD+/xQAAAABAAIAAAD+/xMAAAABAAIAAAD+/xIAAAABAAIAAAD+/xEAAAABAAIAAAD+/xAAAAABAAIAAAD+/w8AAAABAAIAAAD+/w4AAAABAAIAAAD+/w0AAAABAAIAAAD+/wwAAAABAAIAAAD+/woAAAABAAIAAAD9/xQAAAABAAIAAAD9/xMAAAABAAIAAAD9/xIAAAABAAIAAAD9/xEAAAABAAIAAAD9/xAAAAABAAIAAAD9/w8AAAABAAIAAAD9/w4AAAABAAIAAAD9/w0AAAABAAIAAAD9/wwAAAABAAIAAAD8/xQAAAABAAIAAAD8/xMAAAABAAIAAAD8/xIAAAABAAIAAAD8/xEAAAABAAIAAAD8/xAAAAABAAIAAAD8/w8AAAABAAIAAAD8/w4AAAABAAIAAAD8/w0AAAABAAIAAAD8/wwAAAABAAIAAAD8/wsAAAABAAIAAAD8/woAAAABAAIAAAD7/xQAAAAAAAIAAAD7/xMAAAAAAAIAAAD7/xIAAAAAAAIAAAD7/xEAAAAAAAIAAAD7/xAAAAAAAAIAAAD7/w8AAAAAAAIAAAD7/w4AAAAAAAIAAAD7/w0AAAAAAAIAAAD7/wwAAAAAAAIAAAD7/wsAAAAAAAIAAAD7/woAAAAAAAIAAAD//wkAAAACAAIAAAD//wgAAAACAAEAAAD+/wkAAAABAAIAAAD+/wgAAAABAAEAAAD9/wkAAAABAAIAAAD9/wgAAAABAAEAAAD7/wkAAAAAAAIAAAAdABoAAAABAAIAAAAdABkAAAABAAIAAAAdABgAAAABAAIAAAAdABcAAAABAAIAAAAdABYAAAABAAIAAAAdABUAAAABAAIAAAAcABoAAAABAAIAAAAcABkAAAABAAIAAAAcABgAAAABAAIAAAAcABcAAAABAAIAAAAcABYAAAABAAIAAAAcABUAAAABAAIAAAAbABoAAAABAAIAAAAbABkAAAABAAIAAAAbABgAAAABAAIAAAAbABcAAAABAAIAAAAbABYAAAABAAIAAAAbABUAAAABAAIAAAAaABoAAAABAAIAAAAaABkAAAABAAIAAAAaABgAAAABAAIAAAAaABcAAAABAAIAAAAaABYAAAABAAIAAAAaABUAAAABAAIAAAAZABoAAAABAAIAAAAZABkAAAABAAIAAAAZABgAAAABAAIAAAAZABcAAAABAAIAAAAZABYAAAABAAIAAAAZABUAAAABAAIAAAAYABoAAAABAAIAAAAYABkAAAABAAIAAAAYABgAAAABAAIAAAAYABcAAAABAAIAAAAYABYAAAABAAIAAAAYABUAAAABAAIAAAAXABoAAAABAAIAAAAXABkAAAABAAIAAAAXABgAAAABAAIAAAAXABcAAAABAAIAAAAXABYAAAABAAIAAAAXABUAAAABAAIAAAAWABoAAAABAAIAAAAWABkAAAABAAIAAAAWABgAAAABAAIAAAAWABcAAAABAAIAAAAWABYAAAABAAIAAAAWABUAAAABAAIAAAAVABoAAAABAAIAAAAVABkAAAABAAIAAAAVABgAAAABAAIAAAAVABcAAAABAAIAAAAVABYAAAABAAIAAAAVABUAAAABAAIAAAAUABoAAAABAAIAAAAUABkAAAABAAIAAAAUABgAAAABAAIAAAAUABcAAAABAAIAAAAUABYAAAABAAIAAAAUABUAAAABAAIAAAATABoAAAABAAIAAAATABkAAAABAAIAAAATABgAAAABAAIAAAATABcAAAABAAIAAAATABYAAAABAAIAAAATABUAAAABAAIAAAASABoAAAABAAIAAAASABkAAAABAAIAAAASABgAAAABAAIAAAASABcAAAABAAIAAAASABYAAAABAAIAAAASABUAAAABAAIAAAARABoAAAABAAIAAAARABkAAAABAAIAAAARABgAAAABAAIAAAARABcAAAABAAIAAAARABYAAAABAAIAAAARABUAAAABAAIAAAAQABoAAAABAAIAAAAQABkAAAABAAIAAAAQABgAAAABAAIAAAAQABcAAAABAAIAAAAQABYAAAABAAIAAAAQABUAAAABAAIAAAAPABoAAAABAAIAAAAPABkAAAABAAIAAAAPABgAAAABAAIAAAAPABcAAAABAAIAAAAPABYAAAABAAIAAAAPABUAAAABAAIAAAAOABoAAAABAAIAAAAOABkAAAABAAIAAAAOABgAAAABAAIAAAAOABcAAAABAAIAAAAOABYAAAABAAIAAAAOABUAAAABAAIAAAANABoAAAABAAIAAAANABkAAAABAAIAAAANABgAAAABAAIAAAANABcAAAABAAIAAAANABYAAAABAAIAAAANABUAAAABAAIAAAAMABoAAAABAAIAAAAMABkAAAABAAIAAAAMABgAAAABAAIAAAAMABcAAAABAAIAAAAMABYAAAABAAIAAAAMABUAAAABAAIAAAALABoAAAABAAIAAAALABkAAAABAAIAAAALABgAAAABAAIAAAALABcAAAABAAIAAAALABYAAAABAAIAAAALABUAAAABAAIAAAAKABoAAAABAAIAAAAKABkAAAABAAIAAAAKABgAAAABAAIAAAAKABcAAAABAAIAAAAKABYAAAABAAIAAAAKABUAAAABAAIAAAAJABoAAAABAAIAAAAJABkAAAABAAIAAAAJABgAAAABAAIAAAAJABcAAAABAAIAAAAJABYAAAABAAIAAAAJABUAAAABAAIAAAAIABoAAAABAAIAAAAIABkAAAABAAIAAAAIABgAAAABAAIAAAAIABcAAAABAAIAAAAIABYAAAABAAIAAAAIABUAAAABAAIAAAAHABoAAAABAAIAAAAHABkAAAABAAIAAAAHABgAAAABAAIAAAAHABcAAAABAAIAAAAHABYAAAABAAIAAAAHABUAAAABAAIAAAAGABoAAAABAAIAAAAGABkAAAABAAIAAAAGABgAAAABAAIAAAAGABcAAAABAAIAAAAGABYAAAABAAIAAAAGABUAAAABAAIAAAAFABoAAAABAAIAAAAFABkAAAABAAIAAAAFABgAAAABAAIAAAAFABcAAAABAAIAAAAFABYAAAABAAIAAAAFABUAAAABAAIAAAAEABoAAAABAAIAAAAEABkAAAABAAIAAAAEABgAAAABAAIAAAAEABcAAAABAAIAAAAEABYAAAABAAIAAAAEABUAAAABAAIAAAADABoAAAABAAIAAAADABkAAAABAAIAAAADABgAAAABAAIAAAADABcAAAABAAIAAAADABYAAAABAAIAAAADABUAAAABAAIAAAACABoAAAABAAIAAAACABkAAAABAAIAAAACABgAAAABAAIAAAACABcAAAABAAIAAAACABYAAAABAAIAAAACABUAAAABAAIAAAABABoAAAABAAIAAAABABkAAAABAAIAAAABABgAAAABAAIAAAABABcAAAABAAIAAAABABYAAAABAAIAAAABABUAAAABAAIAAAAAABoAAAABAAIAAAAAABkAAAABAAIAAAAAABgAAAABAAIAAAAAABcAAAABAAIAAAAAABYAAAABAAIAAAAAABUAAAABAAIAAAD//xoAAAABAAIAAAD//xkAAAABAAIAAAD//xgAAAABAAIAAAD//xcAAAABAAIAAAD//xYAAAABAAIAAAD//xUAAAABAAIAAAD+/xoAAAABAAIAAAD+/xkAAAABAAIAAAD+/xgAAAABAAIAAAD+/xcAAAABAAIAAAD+/xYAAAABAAIAAAD+/xUAAAABAAIAAAD9/xoAAAABAAIAAAD9/xkAAAABAAIAAAD9/xgAAAABAAIAAAD9/xcAAAABAAIAAAD9/xYAAAABAAIAAAD9/xUAAAABAAIAAAD8/xoAAAABAAIAAAD8/xkAAAABAAIAAAD8/xgAAAABAAIAAAD8/xcAAAABAAIAAAD8/xYAAAABAAIAAAD8/xUAAAABAAIAAAD7/xoAAAAAAAIAAAD7/xkAAAAAAAIAAAD7/xgAAAAAAAIAAAD7/xcAAAAAAAIAAAD7/xYAAAAAAAIAAAD7/xUAAAAAAAIAAAAhABoAAAABAAIAAAAhABkAAAABAAIAAAAhABgAAAABAAIAAAAhABcAAAABAAIAAAAhABYAAAABAAIAAAAhABUAAAABAAIAAAAhABQAAAABAAIAAAAhABMAAAABAAIAAAAhABIAAAABAAIAAAAhABEAAAABAAIAAAAhABAAAAABAAIAAAAhAA8AAAABAAIAAAAhAA4AAAABAAIAAAAhAA0AAAABAAIAAAAhAAwAAAABAAIAAAAgABoAAAABAAIAAAAgABkAAAABAAIAAAAgABgAAAABAAIAAAAgABcAAAABAAIAAAAgABYAAAABAAIAAAAgABUAAAABAAIAAAAgABQAAAABAAIAAAAgABMAAAABAAIAAAAgABIAAAABAAIAAAAgABEAAAABAAIAAAAgABAAAAABAAIAAAAgAA8AAAABAAIAAAAgAA4AAAABAAIAAAAgAA0AAAABAAIAAAAgAAwAAAABAAUAAAAfABoAAAABAAIAAAAfABkAAAABAAIAAAAfABgAAAABAAIAAAAfABcAAAABAAIAAAAfABYAAAABAAIAAAAfABUAAAABAAIAAAAfABQAAAABAAIAAAAfABMAAAABAAIAAAAfABIAAAABAAIAAAAfABEAAAABAAIAAAAfABAAAAABAAIAAAAfAA8AAAABAAIAAAAfAA4AAAABAAIAAAAfAA0AAAABAAIAAAAfAAwAAAABAAEAAAAeABoAAAABAAIAAAAeABkAAAABAAIAAAAeABgAAAABAAIAAAAeABcAAAABAAIAAAAeABYAAAABAAIAAAAeABUAAAABAAIAAAAeABQAAAABAAIAAAAeABMAAAABAAIAAAAeABIAAAABAAIAAAAeABEAAAABAAIAAAAeABAAAAABAAIAAAAeAA8AAAABAAIAAAAeAA4AAAABAAIAAAAeAA0AAAABAAIAAAAeAAwAAAABAAEAAAAoABIAAAACAAIAAAAoABEAAAACAAIAAAAoABAAAAACAAIAAAAoAA8AAAACAAIAAAAoAA4AAAACAAIAAAAoAA0AAAACAAIAAAAoAAwAAAACAAIAAAAoAAsAAAACAAIAAAAoAAoAAAACAAIAAAAoAAkAAAACAAIAAAAoAAgAAAACAAIAAAAoAAcAAAACAAEAAAAnABIAAAABAAIAAAAnABEAAAABAAIAAAAnABAAAAABAAIAAAAnAA8AAAABAAIAAAAnAA4AAAABAAIAAAAnAA0AAAABAAIAAAAnAAwAAAABAAIAAAAnAAsAAAABAAIAAAAnAAoAAAABAAIAAAAnAAkAAAABAAIAAAAnAAgAAAABAAIAAAAnAAcAAAABAAEAAAAmABIAAAABAAIAAAAmABEAAAABAAIAAAAmABAAAAABAAIAAAAmAA8AAAABAAIAAAAmAA4AAAABAAIAAAAmAA0AAAABAAIAAAAmAAwAAAABAAIAAAAmAAsAAAABAAIAAAAmAAoAAAABAAIAAAAmAAkAAAABAAIAAAAmAAgAAAABAAIAAAAmAAcAAAABAAEAAAAlABIAAAABAAIAAAAlABEAAAABAAIAAAAlABAAAAABAAIAAAAlAA8AAAABAAIAAAAlAA4AAAABAAIAAAAlAA0AAAABAAIAAAAlAAwAAAABAAIAAAAlAAsAAAABAAIAAAAlAAoAAAABAAIAAAAlAAkAAAABAAIAAAAlAAgAAAABAAIAAAAlAAcAAAABAAEAAAAkABIAAAABAAIAAAAkABEAAAABAAIAAAAkABAAAAABAAIAAAAkAA8AAAABAAIAAAAkAA4AAAABAAIAAAAkAA0AAAABAAIAAAAkAAwAAAABAAIAAAAkAAsAAAABAAIAAAAkAAoAAAABAAIAAAAkAAkAAAABAAIAAAAkAAgAAAABAAIAAAAkAAcAAAABAAEAAAAjABIAAAABAAIAAAAjABEAAAABAAIAAAAjABAAAAABAAIAAAAjAA8AAAABAAIAAAAjAA4AAAABAAIAAAAjAA0AAAABAAIAAAAjAAwAAAABAAIAAAAjAAsAAAABAAIAAAAjAAoAAAABAAIAAAAjAAkAAAABAAIAAAAjAAgAAAABAAIAAAAjAAcAAAAAAAUAAAAiABIAAAABAAIAAAAiABEAAAABAAIAAAAiABAAAAABAAIAAAAiAA8AAAABAAIAAAAiAA4AAAABAAIAAAAiAA0AAAABAAIAAAAiAAwAAAABAAIAAAAiAAsAAAABAAIAAAAiAAoAAAABAAIAAAAiAAkAAAABAAIAAAAiAAgAAAABAAIAAAAiAAcAAAABAAUAAAAoABoAAAACAAIAAAAoABkAAAACAAIAAAAoABgAAAACAAIAAAAoABcAAAACAAIAAAAoABYAAAACAAIAAAAoABUAAAACAAIAAAAoABQAAAACAAIAAAAoABMAAAACAAIAAAAnABoAAAABAAIAAAAnABkAAAABAAIAAAAnABgAAAABAAIAAAAnABcAAAABAAIAAAAnABYAAAABAAIAAAAnABUAAAABAAIAAAAnABQAAAABAAIAAAAnABMAAAABAAIAAAAmABoAAAABAAIAAAAmABkAAAABAAIAAAAmABgAAAABAAIAAAAmABcAAAABAAIAAAAmABYAAAABAAIAAAAmABUAAAABAAIAAAAmABQAAAABAAIAAAAmABMAAAABAAIAAAAlABoAAAABAAIAAAAlABkAAAABAAIAAAAlABgAAAABAAIAAAAlABcAAAABAAIAAAAlABYAAAABAAIAAAAlABUAAAABAAIAAAAlABQAAAABAAIAAAAlABMAAAABAAIAAAAkABoAAAABAAIAAAAkABkAAAABAAIAAAAkABgAAAABAAIAAAAkABcAAAABAAIAAAAkABYAAAABAAIAAAAkABUAAAABAAIAAAAkABQAAAABAAIAAAAkABMAAAABAAIAAAAjABoAAAABAAIAAAAjABkAAAABAAIAAAAjABgAAAABAAIAAAAjABcAAAABAAIAAAAjABYAAAABAAIAAAAjABUAAAABAAIAAAAjABQAAAABAAIAAAAjABMAAAABAAIAAAAiABoAAAABAAIAAAAiABkAAAABAAIAAAAiABgAAAABAAIAAAAiABcAAAABAAIAAAAiABYAAAABAAIAAAAiABUAAAABAAIAAAAiABQAAAABAAIAAAAiABMAAAABAAIAAAAoACMAAAACAAMAAAAoACIAAAACAAIAAAAoACEAAAACAAIAAAAoACAAAAACAAIAAAAoAB8AAAACAAIAAAAoAB4AAAACAAIAAAAoAB0AAAACAAIAAAAoABwAAAACAAIAAAAoABsAAAACAAIAAAAnACMAAAABAAMAAAAnACIAAAABAAIAAAAnACEAAAABAAIAAAAnACAAAAABAAIAAAAnAB8AAAABAAIAAAAnAB4AAAABAAIAAAAnAB0AAAABAAIAAAAnABwAAAABAAIAAAAnABsAAAABAAIAAAAmACMAAAABAAMAAAAmACIAAAABAAIAAAAmACEAAAABAAIAAAAmACAAAAABAAIAAAAmAB8AAAABAAIAAAAmAB4AAAABAAIAAAAmAB0AAAABAAIAAAAmABwAAAABAAIAAAAmABsAAAABAAIAAAAlACMAAAABAAMAAAAlACIAAAABAAIAAAAlACEAAAABAAIAAAAlACAAAAABAAIAAAAlAB8AAAABAAIAAAAlAB4AAAABAAIAAAAlAB0AAAABAAIAAAAlABwAAAABAAIAAAAlABsAAAABAAIAAAAkACMAAAABAAMAAAAkACIAAAABAAIAAAAkACEAAAABAAIAAAAkACAAAAABAAIAAAAkAB8AAAABAAIAAAAkAB4AAAABAAIAAAAkAB0AAAABAAIAAAAkABwAAAABAAIAAAAkABsAAAABAAIAAAAjACMAAAABAAMAAAAjACIAAAABAAIAAAAjACEAAAABAAIAAAAjACAAAAABAAIAAAAjAB8AAAABAAIAAAAjAB4AAAABAAIAAAAjAB0AAAABAAIAAAAjABwAAAABAAIAAAAjABsAAAABAAIAAAAiACMAAAABAAMAAAAiACIAAAABAAIAAAAiACEAAAABAAIAAAAiACAAAAABAAIAAAAiAB8AAAABAAIAAAAiAB4AAAABAAIAAAAiAB0AAAABAAIAAAAiABwAAAABAAIAAAAiABsAAAABAAIAAAAhACMAAAABAAMAAAAhACIAAAABAAIAAAAhACEAAAABAAIAAAAhACAAAAABAAIAAAAhAB8AAAABAAIAAAAhAB4AAAABAAIAAAAhAB0AAAABAAIAAAAhABwAAAABAAIAAAAhABsAAAABAAIAAAAgACMAAAABAAMAAAAgACIAAAABAAIAAAAgACEAAAABAAIAAAAgACAAAAABAAIAAAAgAB8AAAABAAIAAAAgAB4AAAABAAIAAAAgAB0AAAABAAIAAAAgABwAAAABAAIAAAAgABsAAAABAAIAAAAfACMAAAABAAMAAAAfACIAAAABAAIAAAAfACEAAAABAAIAAAAfACAAAAABAAIAAAAfAB8AAAABAAIAAAAfAB4AAAABAAIAAAAfAB0AAAABAAIAAAAfABwAAAABAAIAAAAfABsAAAABAAIAAAAeACMAAAABAAMAAAAeACIAAAABAAIAAAAeACEAAAABAAIAAAAeACAAAAABAAIAAAAeAB8AAAABAAIAAAAeAB4AAAABAAIAAAAeAB0AAAABAAIAAAAeABwAAAABAAIAAAAeABsAAAABAAIAAAAdACMAAAABAAMAAAAdACIAAAABAAIAAAAdACEAAAABAAIAAAAdACAAAAABAAIAAAAdAB8AAAABAAIAAAAdAB4AAAABAAIAAAAdAB0AAAABAAIAAAAdABwAAAABAAIAAAAdABsAAAABAAIAAAAcACMAAAABAAMAAAAcACIAAAABAAIAAAAcACEAAAABAAIAAAAcACAAAAABAAIAAAAcAB8AAAABAAIAAAAcAB4AAAABAAIAAAAcAB0AAAABAAIAAAAcABwAAAABAAIAAAAcABsAAAABAAIAAAAbACMAAAABAAMAAAAbACIAAAABAAIAAAAbACEAAAABAAIAAAAbACAAAAABAAIAAAAbAB8AAAABAAIAAAAbAB4AAAABAAIAAAAbAB0AAAABAAIAAAAbABwAAAABAAIAAAAbABsAAAABAAIAAAAaACMAAAABAAMAAAAaACIAAAABAAIAAAAaACEAAAABAAIAAAAaACAAAAABAAIAAAAaAB8AAAABAAIAAAAaAB4AAAABAAIAAAAaAB0AAAABAAIAAAAaABwAAAABAAIAAAAaABsAAAABAAIAAAAZACMAAAABAAMAAAAZACIAAAABAAIAAAAZACEAAAABAAIAAAAZACAAAAABAAIAAAAZAB8AAAABAAIAAAAZAB4AAAABAAIAAAAZAB0AAAABAAIAAAAZABwAAAABAAIAAAAZABsAAAABAAIAAAAYACMAAAABAAMAAAAYACIAAAABAAIAAAAYACEAAAABAAIAAAAYACAAAAABAAIAAAAYAB8AAAABAAIAAAAYAB4AAAABAAIAAAAYAB0AAAABAAIAAAAYABwAAAABAAIAAAAYABsAAAABAAIAAAAXACMAAAABAAMAAAAXACIAAAABAAIAAAAXACEAAAABAAIAAAAXACAAAAABAAIAAAAXAB8AAAABAAIAAAAXAB4AAAABAAIAAAAXAB0AAAABAAIAAAAXABwAAAABAAIAAAAXABsAAAABAAIAAAAWACMAAAABAAMAAAAWACIAAAABAAIAAAAWACEAAAABAAIAAAAWACAAAAABAAIAAAAWAB8AAAABAAIAAAAWAB4AAAABAAIAAAAWAB0AAAABAAIAAAAWABwAAAABAAIAAAAWABsAAAABAAIAAAAVACMAAAABAAMAAAAVACIAAAABAAIAAAAVACEAAAABAAIAAAAVACAAAAABAAIAAAAVAB8AAAABAAIAAAAVAB4AAAABAAIAAAAVAB0AAAABAAIAAAAVABwAAAABAAIAAAAVABsAAAABAAIAAAAUACMAAAABAAMAAAAUACIAAAABAAIAAAAUACEAAAABAAIAAAAUACAAAAABAAIAAAAUAB8AAAABAAIAAAAUAB4AAAABAAIAAAAUAB0AAAABAAIAAAAUABwAAAABAAIAAAAUABsAAAABAAIAAAATACMAAAABAAMAAAATACIAAAABAAIAAAATACEAAAABAAIAAAATACAAAAABAAIAAAATAB8AAAABAAIAAAATAB4AAAABAAIAAAATAB0AAAABAAIAAAATABwAAAABAAIAAAATABsAAAABAAIAAAASACMAAAABAAMAAAASACIAAAABAAIAAAASACEAAAABAAIAAAASACAAAAABAAIAAAASAB8AAAABAAIAAAASAB4AAAABAAIAAAASAB0AAAABAAIAAAASABwAAAABAAIAAAASABsAAAABAAIAAAARACMAAAABAAMAAAARACIAAAABAAIAAAARACEAAAABAAIAAAARACAAAAABAAIAAAARAB8AAAABAAIAAAARAB4AAAABAAIAAAARAB0AAAABAAIAAAARABwAAAABAAIAAAARABsAAAABAAIAAAAQACMAAAABAAMAAAAQACIAAAABAAIAAAAQACEAAAABAAIAAAAQACAAAAABAAIAAAAQAB8AAAABAAIAAAAQAB4AAAABAAIAAAAQAB0AAAABAAIAAAAQABwAAAABAAIAAAAQABsAAAABAAIAAAAPACMAAAABAAMAAAAPACIAAAABAAIAAAAPACEAAAABAAIAAAAPACAAAAABAAIAAAAPAB8AAAABAAIAAAAPAB4AAAABAAIAAAAPAB0AAAABAAIAAAAPABwAAAABAAIAAAAPABsAAAABAAIAAAAOACMAAAABAAMAAAAOACIAAAABAAIAAAAOACEAAAABAAIAAAAOACAAAAABAAIAAAAOAB8AAAABAAIAAAAOAB4AAAABAAIAAAAOAB0AAAABAAIAAAAOABwAAAABAAIAAAAOABsAAAABAAIAAAANACMAAAABAAMAAAANACIAAAABAAIAAAANACEAAAABAAIAAAANACAAAAABAAIAAAANAB8AAAABAAIAAAANAB4AAAABAAIAAAANAB0AAAABAAIAAAANABwAAAABAAIAAAANABsAAAABAAIAAAAMACMAAAABAAMAAAAMACIAAAABAAIAAAAMACEAAAABAAIAAAAMACAAAAABAAIAAAAMAB8AAAABAAIAAAAMAB4AAAABAAIAAAAMAB0AAAABAAIAAAAMABwAAAABAAIAAAAMABsAAAABAAIAAAALACMAAAABAAMAAAALACIAAAABAAIAAAALACEAAAABAAIAAAALACAAAAABAAIAAAALAB8AAAABAAIAAAALAB4AAAABAAIAAAALAB0AAAABAAIAAAALABwAAAABAAIAAAALABsAAAABAAIAAAAKACMAAAABAAMAAAAKACIAAAABAAIAAAAKACEAAAABAAIAAAAKACAAAAABAAIAAAAKAB8AAAABAAIAAAAKAB4AAAABAAIAAAAKAB0AAAABAAIAAAAKABwAAAABAAIAAAAKABsAAAABAAIAAAAJACMAAAABAAMAAAAJACIAAAABAAIAAAAJACEAAAABAAIAAAAJACAAAAABAAIAAAAJAB8AAAABAAIAAAAJAB4AAAABAAIAAAAJAB0AAAABAAIAAAAJABwAAAABAAIAAAAJABsAAAABAAIAAAAIACMAAAABAAMAAAAIACIAAAABAAIAAAAIACEAAAABAAIAAAAIACAAAAABAAIAAAAIAB8AAAABAAIAAAAIAB4AAAABAAIAAAAIAB0AAAABAAIAAAAIABwAAAABAAIAAAAIABsAAAABAAIAAAAHACMAAAABAAMAAAAHACIAAAABAAIAAAAHACEAAAABAAIAAAAHACAAAAABAAIAAAAHAB8AAAABAAIAAAAHAB4AAAABAAIAAAAHAB0AAAABAAIAAAAHABwAAAABAAIAAAAHABsAAAABAAIAAAAGACMAAAABAAMAAAAGACIAAAABAAIAAAAGACEAAAABAAIAAAAGACAAAAABAAIAAAAGAB8AAAABAAIAAAAGAB4AAAABAAIAAAAGAB0AAAABAAIAAAAGABwAAAABAAIAAAAGABsAAAABAAIAAAAFACMAAAABAAMAAAAFACIAAAABAAIAAAAFACEAAAABAAIAAAAFACAAAAABAAIAAAAFAB8AAAABAAIAAAAFAB4AAAABAAIAAAAFAB0AAAABAAIAAAAFABwAAAABAAIAAAAFABsAAAABAAIAAAAEACMAAAABAAMAAAAEACIAAAABAAIAAAAEACEAAAABAAIAAAAEACAAAAABAAIAAAAEAB8AAAABAAIAAAAEAB4AAAABAAIAAAAEAB0AAAABAAIAAAAEABwAAAABAAIAAAAEABsAAAABAAIAAAADACMAAAABAAMAAAADACIAAAABAAIAAAADACEAAAABAAIAAAADACAAAAABAAIAAAADAB8AAAABAAIAAAADAB4AAAABAAIAAAADAB0AAAABAAIAAAADABwAAAABAAIAAAADABsAAAABAAIAAAACACMAAAABAAMAAAACACIAAAABAAIAAAACACEAAAABAAIAAAACACAAAAABAAIAAAACAB8AAAABAAIAAAACAB4AAAABAAIAAAACAB0AAAABAAIAAAACABwAAAABAAIAAAACABsAAAABAAIAAAABACMAAAABAAMAAAABACIAAAABAAIAAAABACEAAAABAAIAAAABACAAAAABAAIAAAABAB8AAAABAAIAAAABAB4AAAABAAIAAAABAB0AAAABAAIAAAABABwAAAABAAIAAAABABsAAAABAAIAAAAAACMAAAABAAMAAAAAACIAAAABAAIAAAAAACEAAAABAAIAAAAAACAAAAABAAIAAAAAAB8AAAABAAIAAAAAAB4AAAABAAIAAAAAAB0AAAABAAIAAAAAABwAAAABAAIAAAAAABsAAAABAAIAAAD//yMAAAABAAMAAAD//yIAAAABAAIAAAD//yEAAAABAAIAAAD//yAAAAABAAIAAAD//x8AAAABAAIAAAD//x4AAAABAAIAAAD//x0AAAABAAIAAAD//xwAAAABAAIAAAD//xsAAAABAAIAAAD+/yMAAAABAAMAAAD+/yIAAAABAAIAAAD+/yEAAAABAAIAAAD+/yAAAAABAAIAAAD+/x8AAAABAAIAAAD+/x4AAAABAAIAAAD+/x0AAAABAAIAAAD+/xwAAAABAAIAAAD+/xsAAAABAAIAAAD9/yMAAAABAAMAAAD9/yIAAAABAAIAAAD9/yEAAAABAAIAAAD9/yAAAAABAAIAAAD9/x8AAAABAAIAAAD9/x4AAAABAAIAAAD9/x0AAAABAAIAAAD9/xwAAAABAAIAAAD9/xsAAAABAAIAAAD8/yMAAAABAAMAAAD8/yIAAAABAAIAAAD8/yEAAAABAAIAAAD8/yAAAAABAAIAAAD8/x8AAAABAAIAAAD8/x4AAAABAAIAAAD8/x0AAAABAAIAAAD8/xwAAAABAAIAAAD8/xsAAAABAAIAAAD7/yMAAAAAAAMAAAD7/yIAAAAAAAIAAAD7/yEAAAAAAAIAAAD7/yAAAAAAAAIAAAD7/x8AAAAAAAIAAAD7/x4AAAAAAAIAAAD7/x0AAAAAAAIAAAD7/xwAAAAAAAIAAAD7/xsAAAAAAAIAAAAUAA4AAAAAAAUAAAAcAAgAAAAAAAMAAAAdAAgAAAABAAMAAAAeAAgAAAABAAMAAAAfAAgAAAABAAQAAAAgAAgAAAABAAIAAAAgAAkAAAABAAQAAAAgAAoAAAAAAAIAAAAgAAsAAAAAAAIAAAAhAAoAAAABAAIAAAAhAAkAAAABAAIAAAAhAAgAAAABAAIAAAAhAAsAAAABAAIAAAD+/wsAAAABAAIAAAD9/wsAAAABAAIAAAD9/woAAAABAAIAAAD8/wkAAAABAAIAAAD8/wgAAAABAAEAAAD7/wgAAAAAAAEAAAAgAAcAAAACAAUAAAAhAAcAAAABAAEAAAAVAA4AAAABAAEAAAAWAA4AAAABAAEAAAAXAA4AAAABAAEAAADs/wsAAAABAAIAAADs/woAAAABAAIAAADs/wkAAAABAAIAAADr/wsAAAABAAIAAADr/woAAAABAAIAAADr/wkAAAABAAIAAADq/wsAAAABAAIAAADq/woAAAABAAIAAADq/wkAAAABAAIAAADt/wwAAAABAAMAAADt/wsAAAABAAIAAADt/woAAAAAAAUAAADt/wkAAAACAAIAAADt/wgAAAACAAEAAADs/wwAAAABAAMAAADs/wgAAAABAAEAAADr/wwAAAABAAMAAADr/wgAAAABAAEAAADq/wwAAAABAAMAAADq/wgAAAABAAEAAADp/wwAAAAAAAMAAADp/wsAAAAAAAIAAADp/woAAAAAAAIAAADp/wkAAAAAAAIAAADp/wgAAAAAAAEAAADu/woAAAABAAEAAADu/wsAAAABAAIAAADv/woAAAABAAEAAADv/wsAAAABAAIAAADw/woAAAACAAEAAADw/wsAAAACAAIAAADw/wwAAAACAAMAAADv/wwAAAABAAMAAADu/wwAAAABAAMAAAAfAAcAAAABAAEAAAAeAAcAAAABAAEAAAAdAAcAAAACAAUAAAAcAAcAAAAFAAMAAAANAPr/AAACAAMAAAANAPn/AAACAAIAAAANAPj/AAACAAEAAAAMAPr/AAABAAMAAAAMAPn/AAABAAIAAAAMAPj/AAABAAEAAAALAPr/AAAAAAMAAAALAPn/AAAAAAIAAAALAPj/AAAAAAEAAAATAPr/AAACAAMAAAATAPn/AAAAAAQAAAATAPj/AAAAAAUAAAATAPf/AAACAAEAAAASAPr/AAAAAAQAAAASAPn/AAABAAIAAAASAPj/AAABAAIAAAASAPf/AAAAAAUAAAARAPr/AAABAAQAAAARAPn/AAABAAIAAAARAPj/AAABAAIAAAARAPf/AAABAAUAAAAQAPr/AAAAAAMAAAAQAPn/AAABAAQAAAAQAPj/AAABAAUAAAAQAPf/AAAAAAEAAAAPAPn/AAAAAAMAAAAPAPj/AAAAAAEAAAASAPb/AAACAAEAAAARAPb/AAAAAAEAAAAUAPn/AAACAAMAAAAUAPj/AAACAAEAAAASAPv/AAACAAMAAAARAPv/AAAAAAMAAAAAAAoAAAABAAAAAAABAAoAAAABAAAAAAACAAoAAAACAAAAAAAOABEAAAABAAIAAAATAA0AAAAEAAAAAAAUAA0AAAACAAEAAAATAAwAAAAFAAQAAAAdAAYAAAADAAEAAAAiAAYAAAAAAAIAAAAjAAYAAAACAAIAAAAjAAUAAAACAAEAAAAiAAUAAAAAAAEAAAAgAAYAAAADAAEAAAAOAAwAAAADAAEAAAAfAAkAAAAAAAMAAAAPAA4AAAACAAEAAAASABEAAAABAAIAAAASABAAAAABAAEAAAARABEAAAABAAIAAAARABAAAAABAAEAAAAQABEAAAABAAIAAAAQABAAAAAAAAUAAAAQAA8AAAACAAEAAAAPABEAAAABAAIAAAAPABAAAAABAAIAAAAPAA8AAAAAAAUAAAAOABAAAAABAAIAAAANABEAAAABAAIAAAANABAAAAABAAIAAAAZAAkAAAACAAEAAAAYAAkAAAABAAEAAAAYAAoAAAABAAMAAAAZAAoAAAAEAAIAAAAXAAkAAAAAAAEAAAAXAAoAAAAAAAMAAAAGAAsAAAABAAYAAAAHAAsAAAACAAYAAAAIAAsAAAACAAYAAAAJAAsAAAACAAYAAAAKAAsAAAADAAYAAAAWAAkAAAADAAYAAAAVAAkAAAACAAYAAAAUAAkAAAABAAYAAAAYAAUAAAADAAYAAAAXAAUAAAACAAYAAAAWAAUAAAACAAYAAAAVAAUAAAABAAYAAAAQAAYAAAABAAYAAAARAAYAAAADAAYAAAAbAAcAAAAAAAAAAAASAAwAAAAAAAAAAAAaAAoAAAACAAAAAAA=") +tile_set = ExtResource("3_aqk2v") + +[node name="EnemyGround" parent="." instance=ExtResource("3_tlwt5")] +position = Vector2(136, 176) +speed = 20.0 + +[node name="EnemyGround2" parent="." instance=ExtResource("3_tlwt5")] +position = Vector2(184, 224) +speed = 20.0