diff --git a/assets/bosses/carpet/black/carpet-1.png b/assets/bosses/carpet/black/carpet-1.png new file mode 100755 index 0000000..99d1aba Binary files /dev/null and b/assets/bosses/carpet/black/carpet-1.png differ diff --git a/assets/bosses/carpet/black/carpet-1.png.import b/assets/bosses/carpet/black/carpet-1.png.import new file mode 100644 index 0000000..23f61b3 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-1.png-229150b49ea3da86da1feb5583bf56ef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-1.png" +dest_files=[ "res://.import/carpet-1.png-229150b49ea3da86da1feb5583bf56ef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-2.png b/assets/bosses/carpet/black/carpet-2.png new file mode 100755 index 0000000..8337245 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-2.png differ diff --git a/assets/bosses/carpet/black/carpet-2.png.import b/assets/bosses/carpet/black/carpet-2.png.import new file mode 100644 index 0000000..8a20316 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-2.png-cb95af996c7ae3045dbfcae3b4a5337a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-2.png" +dest_files=[ "res://.import/carpet-2.png-cb95af996c7ae3045dbfcae3b4a5337a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-3.png b/assets/bosses/carpet/black/carpet-3.png new file mode 100755 index 0000000..92a79f0 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-3.png differ diff --git a/assets/bosses/carpet/black/carpet-3.png.import b/assets/bosses/carpet/black/carpet-3.png.import new file mode 100644 index 0000000..60bc787 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-3.png-34f318c30f404feca210621eaa9321db.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-3.png" +dest_files=[ "res://.import/carpet-3.png-34f318c30f404feca210621eaa9321db.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-4.png b/assets/bosses/carpet/black/carpet-4.png new file mode 100755 index 0000000..09bdf5c Binary files /dev/null and b/assets/bosses/carpet/black/carpet-4.png differ diff --git a/assets/bosses/carpet/black/carpet-4.png.import b/assets/bosses/carpet/black/carpet-4.png.import new file mode 100644 index 0000000..7f8f2d8 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-4.png-1b313e37dbe6b9827614ecf4332ff949.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-4.png" +dest_files=[ "res://.import/carpet-4.png-1b313e37dbe6b9827614ecf4332ff949.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-5.png b/assets/bosses/carpet/black/carpet-5.png new file mode 100755 index 0000000..da6a3e0 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-5.png differ diff --git a/assets/bosses/carpet/black/carpet-5.png.import b/assets/bosses/carpet/black/carpet-5.png.import new file mode 100644 index 0000000..e6c431d --- /dev/null +++ b/assets/bosses/carpet/black/carpet-5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-5.png-4aa23fc4ec3af37967ea2169bf5a64b8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-5.png" +dest_files=[ "res://.import/carpet-5.png-4aa23fc4ec3af37967ea2169bf5a64b8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-6.png b/assets/bosses/carpet/black/carpet-6.png new file mode 100755 index 0000000..c8ce088 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-6.png differ diff --git a/assets/bosses/carpet/black/carpet-6.png.import b/assets/bosses/carpet/black/carpet-6.png.import new file mode 100644 index 0000000..f1f7105 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-6.png-23e6193cc9b7bb8b59c13fc6705b4538.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-6.png" +dest_files=[ "res://.import/carpet-6.png-23e6193cc9b7bb8b59c13fc6705b4538.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-7.png b/assets/bosses/carpet/black/carpet-7.png new file mode 100755 index 0000000..ec07137 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-7.png differ diff --git a/assets/bosses/carpet/black/carpet-7.png.import b/assets/bosses/carpet/black/carpet-7.png.import new file mode 100644 index 0000000..629868b --- /dev/null +++ b/assets/bosses/carpet/black/carpet-7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-7.png-de44581400b43734d09fe22d6c6f37ba.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-7.png" +dest_files=[ "res://.import/carpet-7.png-de44581400b43734d09fe22d6c6f37ba.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-8.png b/assets/bosses/carpet/black/carpet-8.png new file mode 100755 index 0000000..6cf730b Binary files /dev/null and b/assets/bosses/carpet/black/carpet-8.png differ diff --git a/assets/bosses/carpet/black/carpet-8.png.import b/assets/bosses/carpet/black/carpet-8.png.import new file mode 100644 index 0000000..dd14df8 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-8.png-0efe225887372918a012512ed7af41e6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-8.png" +dest_files=[ "res://.import/carpet-8.png-0efe225887372918a012512ed7af41e6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/black/carpet-9.png b/assets/bosses/carpet/black/carpet-9.png new file mode 100755 index 0000000..78946b5 Binary files /dev/null and b/assets/bosses/carpet/black/carpet-9.png differ diff --git a/assets/bosses/carpet/black/carpet-9.png.import b/assets/bosses/carpet/black/carpet-9.png.import new file mode 100644 index 0000000..14d1ca8 --- /dev/null +++ b/assets/bosses/carpet/black/carpet-9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-9.png-46f0ffd5987cfcf79deefcaf9d54ca17.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/black/carpet-9.png" +dest_files=[ "res://.import/carpet-9.png-46f0ffd5987cfcf79deefcaf9d54ca17.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/carpet-full.aseprite b/assets/bosses/carpet/carpet-full.aseprite new file mode 100755 index 0000000..768a923 Binary files /dev/null and b/assets/bosses/carpet/carpet-full.aseprite differ diff --git a/assets/bosses/carpet/carpets-black.png b/assets/bosses/carpet/carpets-black.png new file mode 100644 index 0000000..a63731e Binary files /dev/null and b/assets/bosses/carpet/carpets-black.png differ diff --git a/assets/bosses/carpet/carpets-black.png.import b/assets/bosses/carpet/carpets-black.png.import new file mode 100644 index 0000000..5a025b8 --- /dev/null +++ b/assets/bosses/carpet/carpets-black.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpets-black.png-647a72d03562f24b316db249ab4196fc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/carpets-black.png" +dest_files=[ "res://.import/carpets-black.png-647a72d03562f24b316db249ab4196fc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/carpets-red.png b/assets/bosses/carpet/carpets-red.png new file mode 100644 index 0000000..75ae685 Binary files /dev/null and b/assets/bosses/carpet/carpets-red.png differ diff --git a/assets/bosses/carpet/carpets-red.png.import b/assets/bosses/carpet/carpets-red.png.import new file mode 100644 index 0000000..ac262a8 --- /dev/null +++ b/assets/bosses/carpet/carpets-red.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpets-red.png-39b25ffcbcc792329d056f3cb5852662.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/carpets-red.png" +dest_files=[ "res://.import/carpets-red.png-39b25ffcbcc792329d056f3cb5852662.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-1.png b/assets/bosses/carpet/red/carpet-1.png new file mode 100755 index 0000000..c99d2a8 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-1.png differ diff --git a/assets/bosses/carpet/red/carpet-1.png.import b/assets/bosses/carpet/red/carpet-1.png.import new file mode 100644 index 0000000..5aa8495 --- /dev/null +++ b/assets/bosses/carpet/red/carpet-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-1.png-5a0029af274ba12871236d42037f5140.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-1.png" +dest_files=[ "res://.import/carpet-1.png-5a0029af274ba12871236d42037f5140.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-2.png b/assets/bosses/carpet/red/carpet-2.png new file mode 100755 index 0000000..b40bc7a Binary files /dev/null and b/assets/bosses/carpet/red/carpet-2.png differ diff --git a/assets/bosses/carpet/red/carpet-2.png.import b/assets/bosses/carpet/red/carpet-2.png.import new file mode 100644 index 0000000..60098e6 --- /dev/null +++ b/assets/bosses/carpet/red/carpet-2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-2.png-f4d8f8d35906a603c5e9c92a4d787e2a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-2.png" +dest_files=[ "res://.import/carpet-2.png-f4d8f8d35906a603c5e9c92a4d787e2a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-3.png b/assets/bosses/carpet/red/carpet-3.png new file mode 100755 index 0000000..5b1b602 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-3.png differ diff --git a/assets/bosses/carpet/red/carpet-3.png.import b/assets/bosses/carpet/red/carpet-3.png.import new file mode 100644 index 0000000..bc0493f --- /dev/null +++ b/assets/bosses/carpet/red/carpet-3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-3.png-f28dbd7f33e001648eb35431bf6c5909.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-3.png" +dest_files=[ "res://.import/carpet-3.png-f28dbd7f33e001648eb35431bf6c5909.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-4.png b/assets/bosses/carpet/red/carpet-4.png new file mode 100755 index 0000000..62215a0 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-4.png differ diff --git a/assets/bosses/carpet/red/carpet-4.png.import b/assets/bosses/carpet/red/carpet-4.png.import new file mode 100644 index 0000000..cce91c8 --- /dev/null +++ b/assets/bosses/carpet/red/carpet-4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-4.png-3746d5686c77ebd3d9d248a2a29218e4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-4.png" +dest_files=[ "res://.import/carpet-4.png-3746d5686c77ebd3d9d248a2a29218e4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-5.png b/assets/bosses/carpet/red/carpet-5.png new file mode 100755 index 0000000..219aa96 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-5.png differ diff --git a/assets/bosses/carpet/red/carpet-5.png.import b/assets/bosses/carpet/red/carpet-5.png.import new file mode 100644 index 0000000..2e0e217 --- /dev/null +++ b/assets/bosses/carpet/red/carpet-5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-5.png-41e9db363e5ffdbc0105f7eec6238da7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-5.png" +dest_files=[ "res://.import/carpet-5.png-41e9db363e5ffdbc0105f7eec6238da7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-6.png b/assets/bosses/carpet/red/carpet-6.png new file mode 100755 index 0000000..e7e0c5b Binary files /dev/null and b/assets/bosses/carpet/red/carpet-6.png differ diff --git a/assets/bosses/carpet/red/carpet-6.png.import b/assets/bosses/carpet/red/carpet-6.png.import new file mode 100644 index 0000000..0b61100 --- /dev/null +++ b/assets/bosses/carpet/red/carpet-6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-6.png-dc7d7db6c922113df95c8462fcfd7843.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-6.png" +dest_files=[ "res://.import/carpet-6.png-dc7d7db6c922113df95c8462fcfd7843.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-7.png b/assets/bosses/carpet/red/carpet-7.png new file mode 100755 index 0000000..28866e3 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-7.png differ diff --git a/assets/bosses/carpet/red/carpet-7.png.import b/assets/bosses/carpet/red/carpet-7.png.import new file mode 100644 index 0000000..f51604d --- /dev/null +++ b/assets/bosses/carpet/red/carpet-7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-7.png-2cde3b41bae9d5adbd028accb4ccbf08.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-7.png" +dest_files=[ "res://.import/carpet-7.png-2cde3b41bae9d5adbd028accb4ccbf08.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-8.png b/assets/bosses/carpet/red/carpet-8.png new file mode 100755 index 0000000..51fb1f1 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-8.png differ diff --git a/assets/bosses/carpet/red/carpet-8.png.import b/assets/bosses/carpet/red/carpet-8.png.import new file mode 100644 index 0000000..25fbd6b --- /dev/null +++ b/assets/bosses/carpet/red/carpet-8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-8.png-3bcd71363272144520b432e9ba5ab568.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-8.png" +dest_files=[ "res://.import/carpet-8.png-3bcd71363272144520b432e9ba5ab568.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/carpet/red/carpet-9.png b/assets/bosses/carpet/red/carpet-9.png new file mode 100755 index 0000000..2e6d595 Binary files /dev/null and b/assets/bosses/carpet/red/carpet-9.png differ diff --git a/assets/bosses/carpet/red/carpet-9.png.import b/assets/bosses/carpet/red/carpet-9.png.import new file mode 100644 index 0000000..dd7b16b --- /dev/null +++ b/assets/bosses/carpet/red/carpet-9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/carpet-9.png-b198b1cbdb84e09425dd8c8c7b062615.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/carpet/red/carpet-9.png" +dest_files=[ "res://.import/carpet-9.png-b198b1cbdb84e09425dd8c8c7b062615.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/idle/boss-black-idle.png b/assets/bosses/idle/boss-black-idle.png new file mode 100755 index 0000000..1bfba9d Binary files /dev/null and b/assets/bosses/idle/boss-black-idle.png differ diff --git a/assets/bosses/idle/boss-black-idle.png.import b/assets/bosses/idle/boss-black-idle.png.import new file mode 100644 index 0000000..acb8224 --- /dev/null +++ b/assets/bosses/idle/boss-black-idle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/boss-black-idle.png-8948bcf02936c175cce4a0f5aa158acf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/idle/boss-black-idle.png" +dest_files=[ "res://.import/boss-black-idle.png-8948bcf02936c175cce4a0f5aa158acf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/idle/boss-red-idle.png b/assets/bosses/idle/boss-red-idle.png new file mode 100755 index 0000000..7b9f441 Binary files /dev/null and b/assets/bosses/idle/boss-red-idle.png differ diff --git a/assets/bosses/idle/boss-red-idle.png.import b/assets/bosses/idle/boss-red-idle.png.import new file mode 100644 index 0000000..e932aa4 --- /dev/null +++ b/assets/bosses/idle/boss-red-idle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/boss-red-idle.png-77df7feae6909027d8a5f819deaff199.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/idle/boss-red-idle.png" +dest_files=[ "res://.import/boss-red-idle.png-77df7feae6909027d8a5f819deaff199.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/perefouettard-idle-singleframe.png b/assets/bosses/perefouettard-idle-singleframe.png new file mode 100755 index 0000000..406fe07 Binary files /dev/null and b/assets/bosses/perefouettard-idle-singleframe.png differ diff --git a/assets/bosses/perefouettard-idle-singleframe.png.import b/assets/bosses/perefouettard-idle-singleframe.png.import new file mode 100644 index 0000000..df76904 --- /dev/null +++ b/assets/bosses/perefouettard-idle-singleframe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/perefouettard-idle-singleframe.png-64317d5f8f1b8a8758aebff1cbd2f9e1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/perefouettard-idle-singleframe.png" +dest_files=[ "res://.import/perefouettard-idle-singleframe.png-64317d5f8f1b8a8758aebff1cbd2f9e1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/perefouettard.aseprite b/assets/bosses/perefouettard.aseprite new file mode 100755 index 0000000..23f8abe Binary files /dev/null and b/assets/bosses/perefouettard.aseprite differ diff --git a/assets/bosses/stnicholas-idle-singleframe.png b/assets/bosses/stnicholas-idle-singleframe.png new file mode 100755 index 0000000..6b081c5 Binary files /dev/null and b/assets/bosses/stnicholas-idle-singleframe.png differ diff --git a/assets/bosses/stnicholas-idle-singleframe.png.import b/assets/bosses/stnicholas-idle-singleframe.png.import new file mode 100644 index 0000000..c819e2f --- /dev/null +++ b/assets/bosses/stnicholas-idle-singleframe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/stnicholas-idle-singleframe.png-15d118f12de46e21078447dec5c3aa27.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/bosses/stnicholas-idle-singleframe.png" +dest_files=[ "res://.import/stnicholas-idle-singleframe.png-15d118f12de46e21078447dec5c3aa27.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/bosses/stnicholas-perefouettard-recherche.aseprite b/assets/bosses/stnicholas-perefouettard-recherche.aseprite new file mode 100755 index 0000000..c80f957 Binary files /dev/null and b/assets/bosses/stnicholas-perefouettard-recherche.aseprite differ diff --git a/assets/bosses/stnicholas.aseprite b/assets/bosses/stnicholas.aseprite new file mode 100755 index 0000000..e9f0074 Binary files /dev/null and b/assets/bosses/stnicholas.aseprite differ diff --git a/assets/brand/Personnage.png b/assets/brand/Personnage.png new file mode 100755 index 0000000..ff57bad Binary files /dev/null and b/assets/brand/Personnage.png differ diff --git a/assets/brand/Personnage.png.import b/assets/brand/Personnage.png.import new file mode 100644 index 0000000..12b8d68 --- /dev/null +++ b/assets/brand/Personnage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Personnage.png-2536f4fc3ebbe8f78b699940cbc596ff.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/brand/Personnage.png" +dest_files=[ "res://.import/Personnage.png-2536f4fc3ebbe8f78b699940cbc596ff.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/brand/black.png b/assets/brand/black.png new file mode 100755 index 0000000..fdaf0b3 Binary files /dev/null and b/assets/brand/black.png differ diff --git a/assets/brand/black.png.import b/assets/brand/black.png.import new file mode 100644 index 0000000..228e1c5 --- /dev/null +++ b/assets/brand/black.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/black.png-f292baa3ebdf3889e8660bcc3562ae84.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/brand/black.png" +dest_files=[ "res://.import/black.png-f292baa3ebdf3889e8660bcc3562ae84.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/brand/logo_v1.aseprite b/assets/brand/logo_v1.aseprite new file mode 100755 index 0000000..15b6b63 Binary files /dev/null and b/assets/brand/logo_v1.aseprite differ diff --git a/assets/brand/red.png b/assets/brand/red.png new file mode 100755 index 0000000..b36a96d Binary files /dev/null and b/assets/brand/red.png differ diff --git a/assets/brand/red.png.import b/assets/brand/red.png.import new file mode 100644 index 0000000..61b325b --- /dev/null +++ b/assets/brand/red.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/red.png-d1d04d0514767d3631bb8e2d5f2ba34c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/brand/red.png" +dest_files=[ "res://.import/red.png-d1d04d0514767d3631bb8e2d5f2ba34c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/brand/stnicholas-perefouettard-recherche.aseprite b/assets/brand/stnicholas-perefouettard-recherche.aseprite new file mode 100755 index 0000000..c80f957 Binary files /dev/null and b/assets/brand/stnicholas-perefouettard-recherche.aseprite differ diff --git a/assets/brand/temp-logo.png b/assets/brand/temp-logo.png new file mode 100755 index 0000000..bbbca1b Binary files /dev/null and b/assets/brand/temp-logo.png differ diff --git a/assets/brand/temp-logo.png.import b/assets/brand/temp-logo.png.import new file mode 100644 index 0000000..8225776 --- /dev/null +++ b/assets/brand/temp-logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/temp-logo.png-af995921b846835d63e25445879efc1c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/brand/temp-logo.png" +dest_files=[ "res://.import/temp-logo.png-af995921b846835d63e25445879efc1c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/light.png b/assets/light.png new file mode 100644 index 0000000..52899e1 Binary files /dev/null and b/assets/light.png differ diff --git a/assets/light.png.import b/assets/light.png.import new file mode 100644 index 0000000..205cafa --- /dev/null +++ b/assets/light.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/light.png-87539b10c4b4cebc046b6b91ffea6f69.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/light.png" +dest_files=[ "res://.import/light.png-87539b10c4b4cebc046b6b91ffea6f69.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/researches/terrain.png b/assets/researches/terrain.png new file mode 100755 index 0000000..67e2781 Binary files /dev/null and b/assets/researches/terrain.png differ diff --git a/assets/researches/terrain.png.import b/assets/researches/terrain.png.import new file mode 100644 index 0000000..0256ad1 --- /dev/null +++ b/assets/researches/terrain.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/terrain.png-d1e0fa35f3847293cd534e7aa523e557.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/researches/terrain.png" +dest_files=[ "res://.import/terrain.png-d1e0fa35f3847293cd534e7aa523e557.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/researches/visual-slice-boss.aseprite b/assets/researches/visual-slice-boss.aseprite new file mode 100755 index 0000000..45e1167 Binary files /dev/null and b/assets/researches/visual-slice-boss.aseprite differ diff --git a/assets/researches/visual-slice-boss.png b/assets/researches/visual-slice-boss.png new file mode 100755 index 0000000..e7be6c8 Binary files /dev/null and b/assets/researches/visual-slice-boss.png differ diff --git a/assets/researches/visual-slice-boss.png.import b/assets/researches/visual-slice-boss.png.import new file mode 100644 index 0000000..5b8cd66 --- /dev/null +++ b/assets/researches/visual-slice-boss.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/visual-slice-boss.png-cbdec39cb99cc7e327e89eb3dd0cd194.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/researches/visual-slice-boss.png" +dest_files=[ "res://.import/visual-slice-boss.png-cbdec39cb99cc7e327e89eb3dd0cd194.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/assets/researches/visual-slice-inside-school.aseprite b/assets/researches/visual-slice-inside-school.aseprite new file mode 100755 index 0000000..05b5b92 Binary files /dev/null and b/assets/researches/visual-slice-inside-school.aseprite differ diff --git a/assets/researches/visual-slice-outside.aseprite b/assets/researches/visual-slice-outside.aseprite new file mode 100755 index 0000000..103be2c Binary files /dev/null and b/assets/researches/visual-slice-outside.aseprite differ diff --git a/assets/researches/visual-slice-outside.png b/assets/researches/visual-slice-outside.png new file mode 100755 index 0000000..9789dd5 Binary files /dev/null and b/assets/researches/visual-slice-outside.png differ diff --git a/assets/researches/visual-slice-outside.png.import b/assets/researches/visual-slice-outside.png.import new file mode 100644 index 0000000..5182ec3 --- /dev/null +++ b/assets/researches/visual-slice-outside.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/visual-slice-outside.png-5bed442c1ef73fc8beee4162d5358383.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/researches/visual-slice-outside.png" +dest_files=[ "res://.import/visual-slice-outside.png-5bed442c1ef73fc8beee4162d5358383.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot index 856d533..1758683 100644 --- a/project.godot +++ b/project.godot @@ -12,32 +12,45 @@ config_version=4 config/name="schoolboybattle" run/main_scene="res://src/ui/menus/local-connection/ConnectionTest.tscn" -config/icon="res://icon.png" +boot_splash/image="res://assets/brand/Personnage.png" +boot_splash/fullsize=false +config/icon="res://assets/brand/temp-logo.png" [autoload] gamestate="*res://src/scripts/gamestate.gd" +[display] + +window/size/width=1280 +window/size/height=720 +window/stretch/mode="2d" +window/stretch/aspect="expand" + +[global] + +mask=false + [input] up={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } down={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } left={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } right={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } @@ -45,6 +58,14 @@ right={ pointing/emulate_touch_from_mouse=true +[layer_names] + +2d_physics/layer_1="player" +2d_physics/layer_2="candy" +2d_physics/layer_3="wall" +2d_physics/layer_4="team_red" +2d_physics/layer_5="team_black" + [physics] common/enable_pause_aware_picking=true diff --git a/src/Game.gd b/src/Game.gd index 7a07c05..f443a34 100644 --- a/src/Game.gd +++ b/src/Game.gd @@ -1,23 +1,104 @@ extends Node2D -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" +"""######################################## + VARIABLES +########################################""" -# Called when the node enters the scene tree for the first time. -func _ready(): - pass +var player: KinematicBody2D +var is_server: bool + + +"""######################################## + INIT +########################################""" + + +func init(players_init, server_only = false): + var player_scene = load("res://src/actors/player/player.tscn") + + # Create the players + var i_black = 0 + var i_red = 0 + + for id in players_init: + var p_init = players_init[id] + + var spawn_pos = Vector2() + if p_init['team']: + spawn_pos = get_node("YSort/Map/SpawnPointsBlack/" + str(i_black)).position + i_black += 1 + else: + spawn_pos = get_node("YSort/Map/SpawnPointsRed/" + str(i_red)).position + i_red += 1 + var p = player_scene.instance() + + p.init(p_init["name"], p_init["gender"], p_init["team"], spawn_pos) + p.set_name(str(id)) # Use unique ID as node name + p.set_network_master(id) #set unique id as master + + # If the player we are creating is the one of this instance + if get_tree().get_network_unique_id() == id: + # Set it's camera as the main one + p.get_node("Camera").current = true + player = p + + get_node("YSort/Players").add_child(p) + + if get_tree().is_network_server(): + + # Candy spawners + var candy_spawner = load("res://src/scripts/server/candySpawners/CandySpawners.tscn").instance() + self.add_child(candy_spawner) + candy_spawner.init($YSort/Map/CandySpawners.get_children()) + + # Candy trails + var candy_trails = load("res://src/scripts/server/trails/Trails.tscn").instance() + self.add_child(candy_trails) + candy_trails.init($YSort/Players) + + if server_only: + $CameraServerOnly.visible = true + $CameraServerOnly.current = true + $CanvasLayer/HUD.visible = false func set_main_player(): + # Connects the joystick's signal to the player of this instance $CanvasLayer/HUD/Joystick.connect( "use_move_vector", get_node("YSort/Players/" + str(get_tree().get_network_unique_id())), "_on_joystick_event" ) + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass + + + +"""######################################## + PROCESS +########################################""" + + # Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass +func _process(delta): + + if get_tree().is_network_server(): + pass # self.draw_player_trail() + + # Shrunk the trail if it's too big FIXME : doesn't work ? + #if points_size > 5: + # $ThisPlayerTrail.points.resize(1) + + +remote func spawn_candy(pos, type): + pass + + +"""######################################## + SLOTS +########################################""" diff --git a/src/Game.tscn b/src/Game.tscn index e0c7ead..2dbaced 100644 --- a/src/Game.tscn +++ b/src/Game.tscn @@ -1,5 +1,6 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=5 format=2] +[ext_resource path="res://src/actors/candy/candy.tscn" type="PackedScene" id=1] [ext_resource path="res://src/ui/game-hud.tscn" type="PackedScene" id=2] [ext_resource path="res://src/levels/level-demo.tscn" type="PackedScene" id=3] [ext_resource path="res://src/Game.gd" type="Script" id=4] @@ -15,34 +16,14 @@ script = ExtResource( 4 ) [node name="Players" type="YSort" parent="YSort"] -[node name="Map" parent="YSort" instance=ExtResource( 3 )] -position = Vector2( 6.10352e-05, 0.00012207 ) - -[node name="SpawnPoints" type="Node2D" parent="."] - -[node name="0" type="Position2D" parent="SpawnPoints"] -position = Vector2( 967.322, 687.308 ) - -[node name="1" type="Position2D" parent="SpawnPoints"] -position = Vector2( 1343.5, 789.131 ) - -[node name="2" type="Position2D" parent="SpawnPoints"] -position = Vector2( 1878.08, 817.415 ) +[node name="Candies" type="YSort" parent="YSort"] -[node name="3" type="Position2D" parent="SpawnPoints"] -position = Vector2( 2078.89, 172.534 ) +[node name="Candy" parent="YSort/Candies" instance=ExtResource( 1 )] +position = Vector2( 1056.73, -671.071 ) -[node name="4" type="Position2D" parent="SpawnPoints"] -position = Vector2( 1026.88, -537.15 ) - -[node name="5" type="Position2D" parent="SpawnPoints"] -position = Vector2( 5.99316, -518.414 ) - -[node name="6" type="Position2D" parent="SpawnPoints"] -position = Vector2( -548.38, -845.045 ) - -[node name="7" type="Position2D" parent="SpawnPoints"] -position = Vector2( -512.421, 302.658 ) +[node name="Map" parent="YSort" instance=ExtResource( 3 )] +position = Vector2( 6.10352e-05, 0.00012207 ) -[node name="8" type="Position2D" parent="SpawnPoints"] -position = Vector2( 104.882, 904.978 ) +[node name="CameraServerOnly" type="Camera2D" parent="."] +visible = false +zoom = Vector2( 15, 15 ) diff --git a/src/actors/candy.tscn b/src/actors/candy.tscn deleted file mode 100644 index 52b7a80..0000000 --- a/src/actors/candy.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://src/actors/candy.gd" type="Script" id=1] - -[node name="Candy" type="Node2D"] -script = ExtResource( 1 ) diff --git a/src/actors/candy/candy.gd b/src/actors/candy/candy.gd new file mode 100644 index 0000000..d8873ac --- /dev/null +++ b/src/actors/candy/candy.gd @@ -0,0 +1,75 @@ +extends Node2D + +"""######################################## + VARIABLES +########################################""" + + +var next_candy: Node2D = null +var taken_by: KinematicBody2D = null +var spawner: Node = null + +var targeted_position: Vector2 = Vector2.ZERO + +puppet var puppet_targeted_pos = Vector2.ZERO + + +"""######################################## + INIT +########################################""" + + +func _init(): + pass + +# Called when the node enters the scene tree for the first time. +func _ready(): + targeted_position = position + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + if taken_by != null: + if is_network_master(): + assert(get_tree().is_network_server()) + # self.position = taken_by.position + rset("puppet_targeted_pos", targeted_position) + else: + targeted_position = puppet_targeted_pos + + self.position = lerp(self.position, self.targeted_position, 0.1) + + +# Picked up from the ground by a player +func _on_Area2D_body_entered(player): + if not player is KinematicBody2D: + return + + print($Area2D.get_collision_mask()) + self.taken_by = player + self.set_collision_player(false) # Doesn't detect every player + player.take_candy(self) + + +"""######################################## + MISC +########################################""" + + +func is_taken(): + return self.taken_by != null + + +func set_collision_player(value: bool): + $Area2D.set_collision_mask_bit(0, value) + + +# false -> red / true -> black +func set_color_team(is_black: bool): + # Set the candy visual color + pass + + +# false -> red / true -> black +func set_collision_team(is_black: bool): + $Area2D.set_collision_mask_bit(3, not is_black) + $Area2D.set_collision_mask_bit(4, is_black) diff --git a/src/actors/candy/candy.tscn b/src/actors/candy/candy.tscn new file mode 100644 index 0000000..a989137 --- /dev/null +++ b/src/actors/candy/candy.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://src/actors/candy/candy.gd" type="Script" id=1] +[ext_resource path="res://src/actors/candy/spriteFrames/mandarinSmall.tres" type="SpriteFrames" id=2] + +[sub_resource type="CircleShape2D" id=1] +radius = 56.0357 + +[node name="Candy" type="Node2D"] +script = ExtResource( 1 ) + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +scale = Vector2( 10, 10 ) +frames = ExtResource( 2 ) +animation = "idle" +frame = 7 +playing = true + +[node name="Area2D" type="Area2D" parent="."] +collision_layer = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +shape = SubResource( 1 ) + +[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] diff --git a/src/actors/candy/spriteFrames/mandarinLarge.tres b/src/actors/candy/spriteFrames/mandarinLarge.tres new file mode 100644 index 0000000..5f8c9e2 --- /dev/null +++ b/src/actors/candy/spriteFrames/mandarinLarge.tres @@ -0,0 +1,51 @@ +[gd_resource type="SpriteFrames" load_steps=12 format=2] + +[ext_resource path="res://assets/candy/idle/mandarin-big-idle.png" type="Texture" id=1] + +[sub_resource type="AtlasTexture" id=11] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 1 ) +region = Rect2( 13, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=13] +atlas = ExtResource( 1 ) +region = Rect2( 26, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=14] +atlas = ExtResource( 1 ) +region = Rect2( 39, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=15] +atlas = ExtResource( 1 ) +region = Rect2( 52, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=16] +atlas = ExtResource( 1 ) +region = Rect2( 65, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=17] +atlas = ExtResource( 1 ) +region = Rect2( 78, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=18] +atlas = ExtResource( 1 ) +region = Rect2( 91, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=19] +atlas = ExtResource( 1 ) +region = Rect2( 104, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=20] +atlas = ExtResource( 1 ) +region = Rect2( 117, 0, 13, 13 ) + +[resource] +animations = [ { +"frames": [ SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ), SubResource( 19 ), SubResource( 20 ) ], +"loop": true, +"name": "idle", +"speed": 10.0 +} ] diff --git a/src/actors/candy/spriteFrames/mandarinSmall.tres b/src/actors/candy/spriteFrames/mandarinSmall.tres new file mode 100644 index 0000000..8bb38dc --- /dev/null +++ b/src/actors/candy/spriteFrames/mandarinSmall.tres @@ -0,0 +1,43 @@ +[gd_resource type="SpriteFrames" load_steps=10 format=2] + +[ext_resource path="res://assets/candy/idle/mandarin-small-idle.png" type="Texture" id=1] + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=13] +atlas = ExtResource( 1 ) +region = Rect2( 13, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=14] +atlas = ExtResource( 1 ) +region = Rect2( 26, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=15] +atlas = ExtResource( 1 ) +region = Rect2( 39, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=16] +atlas = ExtResource( 1 ) +region = Rect2( 52, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=17] +atlas = ExtResource( 1 ) +region = Rect2( 65, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=18] +atlas = ExtResource( 1 ) +region = Rect2( 78, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=19] +atlas = ExtResource( 1 ) +region = Rect2( 91, 0, 13, 13 ) + +[resource] +animations = [ { +"frames": [ SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ), SubResource( 19 ) ], +"loop": true, +"name": "idle", +"speed": 10.0 +} ] diff --git a/src/actors/candy/spriteFrames/peanutLarge.tres b/src/actors/candy/spriteFrames/peanutLarge.tres new file mode 100644 index 0000000..3d4cffd --- /dev/null +++ b/src/actors/candy/spriteFrames/peanutLarge.tres @@ -0,0 +1,59 @@ +[gd_resource type="SpriteFrames" load_steps=14 format=2] + +[ext_resource path="res://assets/candy/idle/peanut-big-idle.png" type="Texture" id=1] + +[sub_resource type="AtlasTexture" id=1] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 1 ) +region = Rect2( 13, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=3] +atlas = ExtResource( 1 ) +region = Rect2( 26, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=4] +atlas = ExtResource( 1 ) +region = Rect2( 39, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 1 ) +region = Rect2( 52, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 1 ) +region = Rect2( 65, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 78, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 1 ) +region = Rect2( 91, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 1 ) +region = Rect2( 104, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=10] +atlas = ExtResource( 1 ) +region = Rect2( 117, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=11] +atlas = ExtResource( 1 ) +region = Rect2( 130, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 1 ) +region = Rect2( 143, 0, 13, 13 ) + +[resource] +animations = [ { +"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ) ], +"loop": true, +"name": "idle", +"speed": 10.0 +} ] diff --git a/src/actors/candy/spriteFrames/peanutSmall.tres b/src/actors/candy/spriteFrames/peanutSmall.tres new file mode 100644 index 0000000..e183935 --- /dev/null +++ b/src/actors/candy/spriteFrames/peanutSmall.tres @@ -0,0 +1,43 @@ +[gd_resource type="SpriteFrames" load_steps=10 format=2] + +[ext_resource path="res://assets/candy/idle/peanut-small-idle.png" type="Texture" id=1] + +[sub_resource type="AtlasTexture" id=1] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 1 ) +region = Rect2( 13, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=3] +atlas = ExtResource( 1 ) +region = Rect2( 26, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=4] +atlas = ExtResource( 1 ) +region = Rect2( 39, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 1 ) +region = Rect2( 52, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 1 ) +region = Rect2( 65, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 78, 0, 13, 13 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 1 ) +region = Rect2( 91, 0, 13, 13 ) + +[resource] +animations = [ { +"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ) ], +"loop": true, +"name": "idle", +"speed": 10.0 +} ] diff --git a/src/actors/player.tscn b/src/actors/player.tscn deleted file mode 100644 index 1823306..0000000 --- a/src/actors/player.tscn +++ /dev/null @@ -1,392 +0,0 @@ -[gd_scene load_steps=81 format=2] - -[ext_resource path="res://src/actors/player.gd" type="Script" id=1] -[ext_resource path="res://assets/player/idle/girl-red-idle.png" type="Texture" id=2] -[ext_resource path="res://assets/player/run/girl-red-run.png" type="Texture" id=3] -[ext_resource path="res://assets/player/idle/boy-black-idle.png" type="Texture" id=4] -[ext_resource path="res://assets/player/run/boy-black-run.png" type="Texture" id=5] -[ext_resource path="res://assets/player/run/girl-black-run.png" type="Texture" id=6] -[ext_resource path="res://assets/player/run/boy-red-run.png" type="Texture" id=7] -[ext_resource path="res://assets/player/idle/boy-red-idle.png" type="Texture" id=8] -[ext_resource path="res://assets/player/idle/girl-black-idle.png" type="Texture" id=9] -[ext_resource path="res://assets/fonts/Roboto/Roboto-Bold.ttf" type="DynamicFontData" id=10] - -[sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 6, 0.5 ) - -[sub_resource type="AtlasTexture" id=2] -atlas = ExtResource( 8 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=3] -atlas = ExtResource( 8 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=4] -atlas = ExtResource( 8 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=5] -atlas = ExtResource( 8 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=6] -atlas = ExtResource( 8 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=7] -atlas = ExtResource( 8 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=8] -atlas = ExtResource( 7 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=9] -atlas = ExtResource( 7 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=10] -atlas = ExtResource( 7 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=11] -atlas = ExtResource( 7 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=12] -atlas = ExtResource( 7 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=13] -atlas = ExtResource( 7 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=14] -atlas = ExtResource( 7 ) -region = Rect2( 72, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=15] -atlas = ExtResource( 7 ) -region = Rect2( 84, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=16] -atlas = ExtResource( 7 ) -region = Rect2( 96, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=17] -atlas = ExtResource( 7 ) -region = Rect2( 108, 0, 12, 15 ) - -[sub_resource type="SpriteFrames" id=18] -animations = [ { -"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ) ], -"loop": true, -"name": "idle", -"speed": 5.0 -}, { -"frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ) ], -"loop": true, -"name": "run", -"speed": 15.0 -} ] - -[sub_resource type="AtlasTexture" id=19] -atlas = ExtResource( 4 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=20] -atlas = ExtResource( 4 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=21] -atlas = ExtResource( 4 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=22] -atlas = ExtResource( 4 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=23] -atlas = ExtResource( 4 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=24] -atlas = ExtResource( 4 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=25] -atlas = ExtResource( 5 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=26] -atlas = ExtResource( 5 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=27] -atlas = ExtResource( 5 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=28] -atlas = ExtResource( 5 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=29] -atlas = ExtResource( 5 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=30] -atlas = ExtResource( 5 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=31] -atlas = ExtResource( 5 ) -region = Rect2( 72, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=32] -atlas = ExtResource( 5 ) -region = Rect2( 84, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=33] -atlas = ExtResource( 5 ) -region = Rect2( 96, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=34] -atlas = ExtResource( 5 ) -region = Rect2( 108, 0, 12, 15 ) - -[sub_resource type="SpriteFrames" id=35] -animations = [ { -"frames": [ SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ) ], -"loop": true, -"name": "idle", -"speed": 5.0 -}, { -"frames": [ SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ), SubResource( 31 ), SubResource( 32 ), SubResource( 33 ), SubResource( 34 ) ], -"loop": true, -"name": "run", -"speed": 15.0 -} ] - -[sub_resource type="AtlasTexture" id=36] -atlas = ExtResource( 2 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=37] -atlas = ExtResource( 2 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=38] -atlas = ExtResource( 2 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=39] -atlas = ExtResource( 2 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=40] -atlas = ExtResource( 2 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=41] -atlas = ExtResource( 2 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=42] -atlas = ExtResource( 3 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=43] -atlas = ExtResource( 3 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=44] -atlas = ExtResource( 3 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=45] -atlas = ExtResource( 3 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=46] -atlas = ExtResource( 3 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=47] -atlas = ExtResource( 3 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=48] -atlas = ExtResource( 3 ) -region = Rect2( 72, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=49] -atlas = ExtResource( 3 ) -region = Rect2( 84, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=50] -atlas = ExtResource( 3 ) -region = Rect2( 96, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=51] -atlas = ExtResource( 3 ) -region = Rect2( 108, 0, 12, 15 ) - -[sub_resource type="SpriteFrames" id=52] -animations = [ { -"frames": [ SubResource( 36 ), SubResource( 37 ), SubResource( 38 ), SubResource( 39 ), SubResource( 40 ), SubResource( 41 ) ], -"loop": true, -"name": "idle", -"speed": 5.0 -}, { -"frames": [ SubResource( 42 ), SubResource( 43 ), SubResource( 44 ), SubResource( 45 ), SubResource( 46 ), SubResource( 47 ), SubResource( 48 ), SubResource( 49 ), SubResource( 50 ), SubResource( 51 ) ], -"loop": true, -"name": "run", -"speed": 15.0 -} ] - -[sub_resource type="AtlasTexture" id=53] -atlas = ExtResource( 9 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=54] -atlas = ExtResource( 9 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=55] -atlas = ExtResource( 9 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=56] -atlas = ExtResource( 9 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=57] -atlas = ExtResource( 9 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=58] -atlas = ExtResource( 9 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=59] -atlas = ExtResource( 6 ) -region = Rect2( 0, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=60] -atlas = ExtResource( 6 ) -region = Rect2( 12, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=61] -atlas = ExtResource( 6 ) -region = Rect2( 24, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=62] -atlas = ExtResource( 6 ) -region = Rect2( 36, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=63] -atlas = ExtResource( 6 ) -region = Rect2( 48, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=64] -atlas = ExtResource( 6 ) -region = Rect2( 60, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=65] -atlas = ExtResource( 6 ) -region = Rect2( 72, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=66] -atlas = ExtResource( 6 ) -region = Rect2( 84, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=67] -atlas = ExtResource( 6 ) -region = Rect2( 96, 0, 12, 15 ) - -[sub_resource type="AtlasTexture" id=68] -atlas = ExtResource( 6 ) -region = Rect2( 108, 0, 12, 15 ) - -[sub_resource type="SpriteFrames" id=69] -animations = [ { -"frames": [ SubResource( 53 ), SubResource( 54 ), SubResource( 55 ), SubResource( 56 ), SubResource( 57 ), SubResource( 58 ) ], -"loop": true, -"name": "idle", -"speed": 5.0 -}, { -"frames": [ SubResource( 59 ), SubResource( 60 ), SubResource( 61 ), SubResource( 62 ), SubResource( 63 ), SubResource( 64 ), SubResource( 65 ), SubResource( 66 ), SubResource( 67 ), SubResource( 68 ) ], -"loop": true, -"name": "run", -"speed": 15.0 -} ] - -[sub_resource type="DynamicFont" id=70] -outline_size = 2 -outline_color = Color( 0, 0, 0, 1 ) -use_mipmaps = true -use_filter = true -font_data = ExtResource( 10 ) - -[node name="Player" type="KinematicBody2D"] -scale = Vector2( 10, 10 ) -collision_layer = 3 -collision_mask = 3 -script = ExtResource( 1 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2( 0, 4.49091 ) -shape = SubResource( 1 ) - -[node name="Sprites" type="Node2D" parent="."] -position = Vector2( 0, -3.00909 ) - -[node name="BoyRed" type="AnimatedSprite" parent="Sprites"] -frames = SubResource( 18 ) -animation = "idle" -playing = true - -[node name="BoyBlack" type="AnimatedSprite" parent="Sprites"] -visible = false -frames = SubResource( 35 ) -animation = "run" -frame = 9 -playing = true - -[node name="GirlRed" type="AnimatedSprite" parent="Sprites"] -visible = false -frames = SubResource( 52 ) -animation = "run" -frame = 8 -playing = true - -[node name="GirlBlack" type="AnimatedSprite" parent="Sprites"] -visible = false -frames = SubResource( 69 ) -animation = "run" -frame = 2 -playing = true - -[node name="Camera" type="Camera2D" parent="."] -position = Vector2( 0, -3.00909 ) -smoothing_enabled = true -smoothing_speed = 10.0 -editor_draw_screen = false - -[node name="NameTag" type="Label" parent="."] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -4.65121 -margin_top = -13.7379 -margin_right = 88.3488 -margin_bottom = 5.26215 -rect_scale = Vector2( 0.1, 0.1 ) -custom_fonts/font = SubResource( 70 ) -text = "Player Name" -align = 1 -__meta__ = { -"_edit_use_anchors_": false -} diff --git a/src/actors/player.gd b/src/actors/player/player.gd similarity index 64% rename from src/actors/player.gd rename to src/actors/player/player.gd index e1d0a89..32bfb13 100644 --- a/src/actors/player.gd +++ b/src/actors/player/player.gd @@ -14,6 +14,8 @@ puppet var puppet_velocity = Vector2.ZERO var velocity = Vector2.ZERO var joystick_velocity = Vector2.ZERO +var trail: Array = Array() + var speed = 500 var gender = null var team = null @@ -23,26 +25,24 @@ var flip_h = false INIT ########################################""" + +# Default values func _init(): self.gender = gender_e.GIRL self.team = team_e.RED +# Used as a constructor func init(name: String, gender: bool, team: bool, position: Vector2): $NameTag.set_text(name) self.gender = gender self.team = team self.position = position -func init_animated_sprite(): - for sprite in $Sprites.get_children(): - var sprite_as = sprite as AnimatedSprite - sprite_as.hide() - get_sprite_node().show() - # Called when the node enters the scene tree for the first time func _ready(): - init_animated_sprite() + self.init_sprite_frame() + """######################################## PROCESS @@ -68,6 +68,8 @@ func _process(delta): func apply_movements(): # The function already uses delta in its implementation move_and_slide(velocity) + if not is_network_master(): + puppet_pos = position # To avoid jitter func run(): @@ -95,23 +97,27 @@ func get_player_action_input(): func animate(): - var node_to_animate = get_sprite_node() - node_to_animate.animation = get_animation() - node_to_animate.flip_h = flip_h - if abs(velocity.x) > 0: - flip_h = velocity.x < 0 + $AnimatedSprite.animation = get_animation() + $AnimatedSprite.flip_h = self.flip_h + if abs(self.velocity.x) > 0: + self.flip_h = self.velocity.x < 0 + +func init_sprite_frame(): + var sprite_frames: SpriteFrames + if int(self.gender) == self.gender_e.BOY and int(self.team) == self.team_e.RED: + sprite_frames = preload("res://src/actors/player/spriteFrames/boyRed.tres") + if int(self.gender) == self.gender_e.BOY and int(self.team) == self.team_e.BLACK: + sprite_frames = preload("res://src/actors/player/spriteFrames/boyBlack.tres") + if int(self.gender) == self.gender_e.GIRL and int(self.team) == self.team_e.RED: + sprite_frames = preload("res://src/actors/player/spriteFrames/girlRed.tres") + if int(self.gender) == self.gender_e.GIRL and int(self.team) == self.team_e.BLACK: + sprite_frames = preload("res://src/actors/player/spriteFrames/girlBlack.tres") + $AnimatedSprite.set_sprite_frames(sprite_frames) -func get_sprite_node(): - if int(gender) == gender_e.BOY and int(team) == team_e.RED: return $Sprites/BoyRed - if int(gender) == gender_e.BOY and int(team) == team_e.BLACK: return $Sprites/BoyBlack - if int(gender) == gender_e.GIRL and int(team) == team_e.RED: return $Sprites/GirlRed - if int(gender) == gender_e.GIRL and int(team) == team_e.BLACK: return $Sprites/GirlBlack - print("No animation defined") - assert(false) func get_animation(): - if abs(velocity.x) > 0 || abs(velocity.y) > 0: + if abs(self.velocity.x) > 0 || abs(self.velocity.y) > 0: return "run" return "idle" @@ -129,6 +135,19 @@ func multiplayer_movements(): position = puppet_pos velocity = puppet_velocity + +"""######################################## + CANDIES +########################################""" + + +func take_candy(candy: Node2D): + assert(candy is Node2D) + self.trail.insert(0, candy) + candy.set_collision_team(bool(self.team)) + candy.set_color_team(bool(self.team)) + + """######################################## SLOTS ########################################""" diff --git a/src/actors/player/player.tscn b/src/actors/player/player.tscn new file mode 100644 index 0000000..4b9b9b4 --- /dev/null +++ b/src/actors/player/player.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://src/actors/player/player.gd" type="Script" id=1] +[ext_resource path="res://src/actors/player/spriteFrames/boyRed.tres" type="SpriteFrames" id=2] +[ext_resource path="res://assets/fonts/Roboto/Roboto-Bold.ttf" type="DynamicFontData" id=6] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 6, 0.5 ) + +[sub_resource type="DynamicFont" id=2] +outline_size = 2 +outline_color = Color( 0, 0, 0, 1 ) +use_mipmaps = true +use_filter = true +font_data = ExtResource( 6 ) + +[node name="Player" type="KinematicBody2D"] +scale = Vector2( 10, 10 ) +collision_mask = 4 +script = ExtResource( 1 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0, 4.49091 ) +shape = SubResource( 1 ) + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +position = Vector2( 0, -3.00909 ) +frames = ExtResource( 2 ) +animation = "idle" +frame = 2 +playing = true + +[node name="Camera" type="Camera2D" parent="."] +position = Vector2( 0, -3.00909 ) +smoothing_enabled = true +smoothing_speed = 10.0 +editor_draw_screen = false + +[node name="NameTag" type="Label" parent="."] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -13.9851 +margin_top = -15.9362 +margin_right = 79.0149 +margin_bottom = 3.06382 +rect_scale = Vector2( 0.3, 0.3 ) +custom_fonts/font = SubResource( 2 ) +text = "Player Name" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CandiesTrail" type="Node2D" parent="."] +position = Vector2( 15.3043, 0 ) +scale = Vector2( 0.1, 0.1 ) diff --git a/src/actors/player/spriteFrames/boyBlack.tres b/src/actors/player/spriteFrames/boyBlack.tres new file mode 100644 index 0000000..b566394 --- /dev/null +++ b/src/actors/player/spriteFrames/boyBlack.tres @@ -0,0 +1,81 @@ +[gd_resource type="SpriteFrames" load_steps=19 format=2] + +[ext_resource path="res://assets/player/idle/boy-black-idle.png" type="Texture" id=1] +[ext_resource path="res://assets/player/run/boy-black-run.png" type="Texture" id=2] + +[sub_resource type="AtlasTexture" id=19] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=20] +atlas = ExtResource( 1 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=21] +atlas = ExtResource( 1 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=22] +atlas = ExtResource( 1 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=23] +atlas = ExtResource( 1 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=24] +atlas = ExtResource( 1 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=25] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=26] +atlas = ExtResource( 2 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=27] +atlas = ExtResource( 2 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=28] +atlas = ExtResource( 2 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=29] +atlas = ExtResource( 2 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=30] +atlas = ExtResource( 2 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=31] +atlas = ExtResource( 2 ) +region = Rect2( 72, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=32] +atlas = ExtResource( 2 ) +region = Rect2( 84, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=33] +atlas = ExtResource( 2 ) +region = Rect2( 96, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=34] +atlas = ExtResource( 2 ) +region = Rect2( 108, 0, 12, 15 ) + +[resource] +animations = [ { +"frames": [ SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ) ], +"loop": true, +"name": "idle", +"speed": 5.0 +}, { +"frames": [ SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ), SubResource( 31 ), SubResource( 32 ), SubResource( 33 ), SubResource( 34 ) ], +"loop": true, +"name": "run", +"speed": 15.0 +} ] diff --git a/src/actors/player/spriteFrames/boyRed.tres b/src/actors/player/spriteFrames/boyRed.tres new file mode 100644 index 0000000..0ffe4dd --- /dev/null +++ b/src/actors/player/spriteFrames/boyRed.tres @@ -0,0 +1,81 @@ +[gd_resource type="SpriteFrames" load_steps=19 format=2] + +[ext_resource path="res://assets/player/idle/boy-red-idle.png" type="Texture" id=1] +[ext_resource path="res://assets/player/run/boy-red-run.png" type="Texture" id=2] + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=3] +atlas = ExtResource( 1 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=4] +atlas = ExtResource( 1 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 1 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 1 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 2 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=10] +atlas = ExtResource( 2 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=11] +atlas = ExtResource( 2 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 2 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=13] +atlas = ExtResource( 2 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=14] +atlas = ExtResource( 2 ) +region = Rect2( 72, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=15] +atlas = ExtResource( 2 ) +region = Rect2( 84, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=16] +atlas = ExtResource( 2 ) +region = Rect2( 96, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=17] +atlas = ExtResource( 2 ) +region = Rect2( 108, 0, 12, 15 ) + +[resource] +animations = [ { +"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ) ], +"loop": true, +"name": "idle", +"speed": 5.0 +}, { +"frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ) ], +"loop": true, +"name": "run", +"speed": 15.0 +} ] diff --git a/src/actors/player/spriteFrames/girlBlack.tres b/src/actors/player/spriteFrames/girlBlack.tres new file mode 100644 index 0000000..2e87283 --- /dev/null +++ b/src/actors/player/spriteFrames/girlBlack.tres @@ -0,0 +1,81 @@ +[gd_resource type="SpriteFrames" load_steps=19 format=2] + +[ext_resource path="res://assets/player/idle/girl-black-idle.png" type="Texture" id=1] +[ext_resource path="res://assets/player/run/girl-black-run.png" type="Texture" id=2] + +[sub_resource type="AtlasTexture" id=19] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=20] +atlas = ExtResource( 1 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=21] +atlas = ExtResource( 1 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=22] +atlas = ExtResource( 1 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=23] +atlas = ExtResource( 1 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=24] +atlas = ExtResource( 1 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=25] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=26] +atlas = ExtResource( 2 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=27] +atlas = ExtResource( 2 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=28] +atlas = ExtResource( 2 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=29] +atlas = ExtResource( 2 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=30] +atlas = ExtResource( 2 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=31] +atlas = ExtResource( 2 ) +region = Rect2( 72, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=32] +atlas = ExtResource( 2 ) +region = Rect2( 84, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=33] +atlas = ExtResource( 2 ) +region = Rect2( 96, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=34] +atlas = ExtResource( 2 ) +region = Rect2( 108, 0, 12, 15 ) + +[resource] +animations = [ { +"frames": [ SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ) ], +"loop": true, +"name": "idle", +"speed": 5.0 +}, { +"frames": [ SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ), SubResource( 31 ), SubResource( 32 ), SubResource( 33 ), SubResource( 34 ) ], +"loop": true, +"name": "run", +"speed": 15.0 +} ] diff --git a/src/actors/player/spriteFrames/girlRed.tres b/src/actors/player/spriteFrames/girlRed.tres new file mode 100644 index 0000000..c5ad70f --- /dev/null +++ b/src/actors/player/spriteFrames/girlRed.tres @@ -0,0 +1,81 @@ +[gd_resource type="SpriteFrames" load_steps=19 format=2] + +[ext_resource path="res://assets/player/run/girl-red-run.png" type="Texture" id=1] +[ext_resource path="res://assets/player/idle/girl-red-idle.png" type="Texture" id=2] + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=3] +atlas = ExtResource( 2 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=4] +atlas = ExtResource( 2 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 2 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 2 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 2 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=8] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=9] +atlas = ExtResource( 1 ) +region = Rect2( 12, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=10] +atlas = ExtResource( 1 ) +region = Rect2( 24, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=11] +atlas = ExtResource( 1 ) +region = Rect2( 36, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=12] +atlas = ExtResource( 1 ) +region = Rect2( 48, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=13] +atlas = ExtResource( 1 ) +region = Rect2( 60, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=14] +atlas = ExtResource( 1 ) +region = Rect2( 72, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=15] +atlas = ExtResource( 1 ) +region = Rect2( 84, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=16] +atlas = ExtResource( 1 ) +region = Rect2( 96, 0, 12, 15 ) + +[sub_resource type="AtlasTexture" id=17] +atlas = ExtResource( 1 ) +region = Rect2( 108, 0, 12, 15 ) + +[resource] +animations = [ { +"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ) ], +"loop": true, +"name": "idle", +"speed": 5.0 +}, { +"frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ) ], +"loop": true, +"name": "run", +"speed": 15.0 +} ] diff --git a/src/levels/level-demo.tscn b/src/levels/level-demo.tscn index 1b5e5cc..bd07110 100644 --- a/src/levels/level-demo.tscn +++ b/src/levels/level-demo.tscn @@ -1,13 +1,16 @@ -[gd_scene load_steps=51 format=2] +[gd_scene load_steps=74 format=2] [ext_resource path="res://assets/world/base/planks.png" type="Texture" id=1] [ext_resource path="res://assets/world/base/path/path.png" type="Texture" id=2] +[ext_resource path="res://assets/bosses/carpet/carpets-black.png" type="Texture" id=3] [ext_resource path="res://assets/world/base/snow.png" type="Texture" id=4] [ext_resource path="res://assets/world/base/face-outside-2.png" type="Texture" id=5] [ext_resource path="res://assets/world/base/face-outside-1.png" type="Texture" id=6] [ext_resource path="res://assets/world/base/walls/walls.png" type="Texture" id=7] [ext_resource path="res://assets/world/base/face.png" type="Texture" id=8] [ext_resource path="res://assets/world/deco/barriers.png" type="Texture" id=9] +[ext_resource path="res://assets/bosses/carpet/carpets-red.png" type="Texture" id=10] +[ext_resource path="res://src/scripts/server/candySpawners/spawner.gd" type="Script" id=11] [sub_resource type="TileSet" id=1] 1/name = "snow.png 1" @@ -50,64 +53,121 @@ 0/shapes = [ ] 0/z_index = 0 -[sub_resource type="ConvexPolygonShape2D" id=3] -points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) +[sub_resource type="OccluderPolygon2D" id=3] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) [sub_resource type="ConvexPolygonShape2D" id=4] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=5] -points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) +[sub_resource type="OccluderPolygon2D" id=5] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) [sub_resource type="ConvexPolygonShape2D" id=6] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=7] +[sub_resource type="OccluderPolygon2D" id=7] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=8] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=9] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=10] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=11] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=12] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=13] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=14] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=15] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=16] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=17] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=18] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=19] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=20] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="OccluderPolygon2D" id=21] +polygon = PoolVector2Array( 0, 0, 13, 0, 13, 13, 0, 13 ) + +[sub_resource type="OccluderPolygon2D" id=22] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=8] +[sub_resource type="ConvexPolygonShape2D" id=24] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=9] +[sub_resource type="ConvexPolygonShape2D" id=25] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=10] +[sub_resource type="ConvexPolygonShape2D" id=26] +points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=27] +points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=28] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=11] +[sub_resource type="ConvexPolygonShape2D" id=29] points = PoolVector2Array( 13, 13, 0, 13, 0, 0.0629883, 13, 0.0629883 ) -[sub_resource type="ConvexPolygonShape2D" id=12] +[sub_resource type="ConvexPolygonShape2D" id=30] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=13] +[sub_resource type="ConvexPolygonShape2D" id=31] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=14] +[sub_resource type="ConvexPolygonShape2D" id=32] points = PoolVector2Array( 0, 0, 13, 0, 13, 13, 0, 13 ) -[sub_resource type="ConvexPolygonShape2D" id=15] +[sub_resource type="ConvexPolygonShape2D" id=33] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=16] +[sub_resource type="ConvexPolygonShape2D" id=34] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=17] +[sub_resource type="ConvexPolygonShape2D" id=35] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=18] +[sub_resource type="ConvexPolygonShape2D" id=36] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=19] +[sub_resource type="ConvexPolygonShape2D" id=37] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=20] +[sub_resource type="ConvexPolygonShape2D" id=38] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=21] +[sub_resource type="OccluderPolygon2D" id=39] +polygon = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=40] points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) -[sub_resource type="TileSet" id=22] +[sub_resource type="TileSet" id=41] 0/name = "face-outside-2.png 0" 0/texture = ExtResource( 5 ) 0/tex_offset = Vector2( 0, 0 ) @@ -115,17 +175,18 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 0/region = Rect2( 0, 0, 13, 13 ) 0/tile_mode = 0 0/occluder_offset = Vector2( 0, 0 ) +0/occluder = SubResource( 3 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 3 ) +0/shape = SubResource( 4 ) 0/shape_one_way = false 0/shape_one_way_margin = 1.0 0/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 3 ), +"shape": SubResource( 4 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 0/z_index = 0 @@ -136,17 +197,18 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 1/region = Rect2( 0, 0, 13, 13 ) 1/tile_mode = 0 1/occluder_offset = Vector2( 0, 0 ) +1/occluder = SubResource( 5 ) 1/navigation_offset = Vector2( 0, 0 ) 1/shape_offset = Vector2( 0, 0 ) 1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -1/shape = SubResource( 4 ) +1/shape = SubResource( 6 ) 1/shape_one_way = false 1/shape_one_way_margin = 1.0 1/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 4 ), +"shape": SubResource( 6 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 1/z_index = 0 @@ -161,7 +223,7 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 2/autotile/icon_coordinate = Vector2( 3, 3 ) 2/autotile/tile_size = Vector2( 13, 13 ) 2/autotile/spacing = 0 -2/autotile/occluder_map = [ ] +2/autotile/occluder_map = [ Vector2( 0, 0 ), SubResource( 7 ), Vector2( 0, 1 ), SubResource( 8 ), Vector2( 0, 2 ), SubResource( 9 ), Vector2( 0, 3 ), SubResource( 10 ), Vector2( 1, 0 ), SubResource( 11 ), Vector2( 1, 1 ), SubResource( 12 ), Vector2( 1, 2 ), SubResource( 13 ), Vector2( 1, 3 ), SubResource( 14 ), Vector2( 2, 0 ), SubResource( 15 ), Vector2( 2, 1 ), SubResource( 16 ), Vector2( 2, 2 ), SubResource( 17 ), Vector2( 2, 3 ), SubResource( 18 ), Vector2( 3, 0 ), SubResource( 19 ), Vector2( 3, 1 ), SubResource( 20 ), Vector2( 3, 2 ), SubResource( 21 ), Vector2( 3, 3 ), SubResource( 22 ) ] 2/autotile/navpoly_map = [ ] 2/autotile/priority_map = [ ] 2/autotile/z_index_map = [ ] @@ -169,104 +231,104 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 2/navigation_offset = Vector2( 0, 0 ) 2/shape_offset = Vector2( 0, 0 ) 2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -2/shape = SubResource( 5 ) +2/shape = SubResource( 23 ) 2/shape_one_way = false 2/shape_one_way_margin = 1.0 2/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 5 ), +"shape": SubResource( 23 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 6 ), +"shape": SubResource( 24 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 7 ), +"shape": SubResource( 25 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 3, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 8 ), +"shape": SubResource( 26 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 9 ), +"shape": SubResource( 27 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 10 ), +"shape": SubResource( 28 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 11 ), +"shape": SubResource( 29 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 3, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 12 ), +"shape": SubResource( 30 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 13 ), +"shape": SubResource( 31 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 14 ), +"shape": SubResource( 32 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 15 ), +"shape": SubResource( 33 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 3, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 16 ), +"shape": SubResource( 34 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 3, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 17 ), +"shape": SubResource( 35 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 18 ), +"shape": SubResource( 36 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 19 ), +"shape": SubResource( 37 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 20 ), +"shape": SubResource( 38 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 2/z_index = 0 @@ -277,17 +339,18 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 3/region = Rect2( 0, 0, 13, 13 ) 3/tile_mode = 0 3/occluder_offset = Vector2( 0, 0 ) +3/occluder = SubResource( 39 ) 3/navigation_offset = Vector2( 0, 0 ) 3/shape_offset = Vector2( 0, 0 ) 3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -3/shape = SubResource( 21 ) +3/shape = SubResource( 40 ) 3/shape_one_way = false 3/shape_one_way_margin = 1.0 3/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 21 ), +"shape": SubResource( 40 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 3/z_index = 0 @@ -306,64 +369,112 @@ points = PoolVector2Array( 13, 13, 0, 13, 0, 0, 13, 0 ) 4/shapes = [ ] 4/z_index = 0 -[sub_resource type="ConvexPolygonShape2D" id=23] +[sub_resource type="TileSet" id=42] +0/name = "carpets-black.png 0" +0/texture = ExtResource( 3 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 39, 39 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 0 +0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 256, Vector2( 0, 1 ), 260, Vector2( 0, 2 ), 4, Vector2( 1, 0 ), 320, Vector2( 1, 1 ), 325, Vector2( 1, 2 ), 5, Vector2( 2, 0 ), 64, Vector2( 2, 1 ), 65, Vector2( 2, 2 ), 1 ] +0/autotile/icon_coordinate = Vector2( 1, 1 ) +0/autotile/tile_size = Vector2( 13, 13 ) +0/autotile/spacing = 0 +0/autotile/occluder_map = [ ] +0/autotile/navpoly_map = [ ] +0/autotile/priority_map = [ ] +0/autotile/z_index_map = [ ] +0/occluder_offset = Vector2( 0, 0 ) +0/navigation_offset = Vector2( 0, 0 ) +0/shape_offset = Vector2( 0, 0 ) +0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +0/shape_one_way = false +0/shape_one_way_margin = 0.0 +0/shapes = [ ] +0/z_index = 0 +1/name = "carpets-red.png 1" +1/texture = ExtResource( 10 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 0, 0, 39, 39 ) +1/tile_mode = 1 +1/autotile/bitmask_mode = 0 +1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 256, Vector2( 0, 1 ), 260, Vector2( 0, 2 ), 4, Vector2( 1, 0 ), 320, Vector2( 1, 1 ), 325, Vector2( 1, 2 ), 5, Vector2( 2, 0 ), 64, Vector2( 2, 1 ), 65, Vector2( 2, 2 ), 1 ] +1/autotile/icon_coordinate = Vector2( 1, 1 ) +1/autotile/tile_size = Vector2( 13, 13 ) +1/autotile/spacing = 0 +1/autotile/occluder_map = [ ] +1/autotile/navpoly_map = [ ] +1/autotile/priority_map = [ ] +1/autotile/z_index_map = [ ] +1/occluder_offset = Vector2( 0, 0 ) +1/navigation_offset = Vector2( 0, 0 ) +1/shape_offset = Vector2( 0, 0 ) +1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +1/shape_one_way = false +1/shape_one_way_margin = 0.0 +1/shapes = [ ] +1/z_index = 0 + +[sub_resource type="ConvexPolygonShape2D" id=43] points = PoolVector2Array( 13, 11, 0, 11, 0, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=24] +[sub_resource type="ConvexPolygonShape2D" id=44] points = PoolVector2Array( 13, 11, 0, 11, 0, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=25] +[sub_resource type="ConvexPolygonShape2D" id=45] points = PoolVector2Array( 8, 13, 5, 13, 5, 11, 8, 11 ) -[sub_resource type="ConvexPolygonShape2D" id=26] +[sub_resource type="ConvexPolygonShape2D" id=46] points = PoolVector2Array( 5, 0, 8, 0, 8, 10, 5, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=27] +[sub_resource type="ConvexPolygonShape2D" id=47] points = PoolVector2Array( 8, 10, 5, 10, 5, 0, 8, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=28] +[sub_resource type="ConvexPolygonShape2D" id=48] points = PoolVector2Array( 8, 13, 5, 13, 5, 0, 8, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=29] +[sub_resource type="ConvexPolygonShape2D" id=49] points = PoolVector2Array( 8, 13, 5, 13, 5, 10, 8, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=30] +[sub_resource type="ConvexPolygonShape2D" id=50] points = PoolVector2Array( 8, 11, 5, 11, 5, 0, 8, 0 ) -[sub_resource type="ConvexPolygonShape2D" id=31] +[sub_resource type="ConvexPolygonShape2D" id=51] points = PoolVector2Array( 13, 11, 2, 11, 2, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=32] +[sub_resource type="ConvexPolygonShape2D" id=52] points = PoolVector2Array( 11, 11, 0, 11, 0, 10, 11, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=33] +[sub_resource type="ConvexPolygonShape2D" id=53] points = PoolVector2Array( 8, 13, 5, 13, 5, 11, 8, 11 ) -[sub_resource type="ConvexPolygonShape2D" id=34] +[sub_resource type="ConvexPolygonShape2D" id=54] points = PoolVector2Array( 8, 11, 0, 11, 0, 10, 8, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=35] +[sub_resource type="ConvexPolygonShape2D" id=55] points = PoolVector2Array( 0, 10, 8, 10, 8, 11, 0, 11 ) -[sub_resource type="ConvexPolygonShape2D" id=36] +[sub_resource type="ConvexPolygonShape2D" id=56] points = PoolVector2Array( 13, 11, 5, 11, 5, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=37] +[sub_resource type="ConvexPolygonShape2D" id=57] points = PoolVector2Array( 13, 11, 5, 11, 5, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=38] +[sub_resource type="ConvexPolygonShape2D" id=58] points = PoolVector2Array( 11, 11, 0, 11, 0, 10, 11, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=39] +[sub_resource type="ConvexPolygonShape2D" id=59] points = PoolVector2Array( 4, 17, 2, 17, 2, 11, 4, 11 ) -[sub_resource type="ConvexPolygonShape2D" id=40] +[sub_resource type="ConvexPolygonShape2D" id=60] points = PoolVector2Array( 13, 11, 2, 11, 2, 10, 13, 10 ) -[sub_resource type="ConvexPolygonShape2D" id=41] +[sub_resource type="ConvexPolygonShape2D" id=61] points = PoolVector2Array( 11, 17, 9, 17, 9, 11, 11, 11 ) -[sub_resource type="TileSet" id=42] +[sub_resource type="TileSet" id=62] 0/name = "barriers.png 0" 0/texture = ExtResource( 9 ) 0/tex_offset = Vector2( 0, 0 ) @@ -383,98 +494,98 @@ points = PoolVector2Array( 11, 17, 9, 17, 9, 11, 11, 11 ) 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 23 ) +0/shape = SubResource( 43 ) 0/shape_one_way = false 0/shape_one_way_margin = 1.0 0/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 23 ), +"shape": SubResource( 43 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 24 ), +"shape": SubResource( 44 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 25 ), +"shape": SubResource( 45 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 26 ), +"shape": SubResource( 46 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 27 ), +"shape": SubResource( 47 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 28 ), +"shape": SubResource( 48 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 29 ), +"shape": SubResource( 49 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 2, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 30 ), +"shape": SubResource( 50 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 31 ), +"shape": SubResource( 51 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 3 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 32 ), +"shape": SubResource( 52 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 33 ), +"shape": SubResource( 53 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 34 ), +"shape": SubResource( 54 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 1, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 35 ), +"shape": SubResource( 55 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 2 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 36 ), +"shape": SubResource( 56 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 1 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 37 ), +"shape": SubResource( 57 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 0/z_index = 0 @@ -488,20 +599,20 @@ points = PoolVector2Array( 11, 17, 9, 17, 9, 11, 11, 11 ) 1/navigation_offset = Vector2( 0, 0 ) 1/shape_offset = Vector2( 0, 0 ) 1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -1/shape = SubResource( 38 ) +1/shape = SubResource( 58 ) 1/shape_one_way = false 1/shape_one_way_margin = 1.0 1/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 38 ), +"shape": SubResource( 58 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 39 ), +"shape": SubResource( 59 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 1/z_index = 0 @@ -515,20 +626,20 @@ points = PoolVector2Array( 11, 17, 9, 17, 9, 11, 11, 11 ) 2/navigation_offset = Vector2( 0, 0 ) 2/shape_offset = Vector2( 0, 0 ) 2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -2/shape = SubResource( 40 ) +2/shape = SubResource( 60 ) 2/shape_one_way = false 2/shape_one_way_margin = 1.0 2/shapes = [ { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 40 ), +"shape": SubResource( 60 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) }, { "autotile_coord": Vector2( 0, 0 ), "one_way": false, "one_way_margin": 1.0, -"shape": SubResource( 41 ), +"shape": SubResource( 61 ), "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) } ] 2/z_index = 0 @@ -543,40 +654,163 @@ scale = Vector2( 10, 10 ) tile_set = SubResource( 1 ) cell_size = Vector2( 13, 13 ) cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) +collision_layer = 4 +collision_mask = 0 format = 1 -tile_data = PoolIntArray( -720902, 1, 0, -720901, 1, 0, -720900, 1, 0, -720899, 1, 0, -720898, 1, 0, -720897, 1, 0, -786432, 1, 0, -786431, 1, 0, -786430, 1, 0, -786429, 1, 0, -786428, 1, 0, -786427, 1, 0, -786426, 1, 0, -786425, 1, 0, -786424, 1, 0, -786423, 1, 0, -786422, 1, 0, -786421, 1, 0, -786420, 1, 0, -786419, 1, 0, -786418, 1, 0, -786417, 1, 0, -786416, 1, 0, -786415, 1, 0, -786414, 1, 0, -786413, 1, 0, -786412, 1, 0, -655366, 1, 0, -655365, 1, 0, -655364, 1, 0, -655363, 1, 0, -655362, 1, 0, -655361, 1, 0, -720896, 1, 0, -720895, 1, 0, -720894, 1, 0, -720893, 1, 0, -720892, 1, 0, -720891, 1, 0, -720890, 1, 0, -720889, 1, 0, -720888, 1, 0, -720887, 1, 0, -720886, 1, 0, -720885, 1, 0, -720884, 1, 0, -720883, 1, 0, -720882, 1, 0, -720881, 1, 0, -720880, 1, 0, -720879, 1, 0, -720878, 1, 0, -720877, 1, 0, -720876, 1, 0, -589830, 1, 0, -589829, 1, 0, -589828, 1, 0, -589827, 1, 0, -589826, 1, 0, -589825, 1, 0, -655360, 1, 0, -655359, 1, 0, -655358, 1, 0, -655357, 1, 0, -655356, 1, 0, -655355, 1, 0, -655354, 1, 0, -655353, 1, 0, -655352, 1, 0, -655351, 1, 0, -655350, 1, 0, -655349, 1, 0, -655348, 1, 0, -655347, 1, 0, -655346, 1, 0, -655345, 1, 0, -655344, 1, 0, -655343, 1, 0, -655342, 1, 0, -655341, 1, 0, -655340, 1, 0, -524294, 1, 0, -524293, 1, 0, -524292, 1, 0, -524291, 1, 0, -524290, 0, 0, -524289, 0, 0, -589824, 0, 0, -589822, 1, 0, -589821, 1, 0, -589820, 1, 0, -589819, 1, 0, -589807, 1, 0, -589806, 1, 0, -589805, 1, 0, -589804, 1, 0, -458758, 1, 0, -458757, 1, 0, -458756, 1, 0, -458755, 1, 0, -458754, 0, 0, -458753, 0, 0, -524288, 0, 0, -524286, 1, 0, -524285, 1, 0, -524284, 1, 0, -524283, 1, 0, -524271, 1, 0, -524270, 1, 0, -524269, 1, 0, -524268, 1, 0, -393222, 1, 0, -393221, 1, 0, -393220, 1, 0, -393219, 1, 0, -393218, 0, 0, -393217, 0, 0, -458752, 0, 0, -458745, 0, 0, -458744, 0, 0, -458743, 0, 0, -458742, 0, 0, -458741, 0, 0, -458740, 0, 0, -458739, 0, 0, -458738, 0, 0, -458737, 0, 0, -458736, 0, 0, -458735, 1, 0, -458734, 1, 0, -458733, 1, 0, -458732, 1, 0, -327686, 1, 0, -327685, 1, 0, -327684, 1, 0, -327683, 1, 0, -327682, 0, 0, -327681, 0, 0, -393216, 0, 0, -393209, 0, 0, -393208, 0, 0, -393207, 0, 0, -393206, 0, 0, -393205, 0, 0, -393204, 0, 0, -393203, 0, 0, -393202, 0, 0, -393201, 0, 0, -393200, 0, 0, -393199, 1, 0, -393198, 1, 0, -393197, 1, 0, -393196, 1, 0, -262150, 1, 0, -262149, 1, 0, -262148, 1, 0, -262147, 1, 0, -262146, 0, 0, -262145, 0, 0, -327680, 0, 0, -327679, 0, 0, -327678, 0, 0, -327677, 0, 0, -327676, 0, 0, -327675, 0, 0, -327674, 0, 0, -327673, 0, 0, -327672, 0, 0, -327666, 0, 0, -327665, 0, 0, -327664, 0, 0, -327663, 1, 0, -327662, 1, 0, -327661, 1, 0, -327660, 1, 0, -196614, 1, 0, -196613, 1, 0, -196612, 1, 0, -196611, 1, 0, -196610, 0, 0, -196609, 0, 0, -262144, 0, 0, -262143, 0, 0, -262142, 0, 0, -262141, 0, 0, -262140, 0, 0, -262139, 0, 0, -262138, 0, 0, -262137, 0, 0, -262136, 0, 0, -262129, 0, 0, -262128, 0, 0, -262127, 1, 0, -262126, 1, 0, -262125, 1, 0, -262124, 1, 0, -131078, 1, 0, -131077, 1, 0, -131076, 1, 0, -131075, 1, 0, -196598, 1, 0, -196597, 1, 0, -196596, 1, 0, -196593, 0, 0, -196592, 0, 0, -196591, 1, 0, -196590, 1, 0, -196589, 1, 0, -196588, 1, 0, -65542, 1, 0, -65541, 1, 0, -65540, 1, 0, -65539, 1, 0, -65538, 1, 0, -65537, 1, 0, -131072, 1, 0, -131071, 1, 0, -131070, 1, 0, -131069, 1, 0, -131068, 1, 0, -131067, 1, 0, -131066, 1, 0, -131065, 1, 0, -131064, 1, 0, -131063, 1, 0, -131062, 1, 0, -131061, 1, 0, -131060, 1, 0, -131059, 1, 0, -131058, 1, 0, -131057, 0, 0, -131056, 0, 0, -131055, 1, 0, -131054, 1, 0, -131053, 1, 0, -131052, 1, 0, -6, 1, 0, -5, 1, 0, -4, 1, 0, -3, 1, 0, -2, 1, 0, -1, 1, 0, -65536, 1, 0, -65535, 1, 0, -65534, 1, 0, -65533, 1, 0, -65532, 1, 0, -65531, 1, 0, -65530, 1, 0, -65529, 1, 0, -65528, 1, 0, -65527, 1, 0, -65526, 1, 0, -65525, 1, 0, -65524, 1, 0, -65523, 1, 0, -65522, 1, 0, -65521, 0, 0, -65520, 0, 0, -65519, 1, 0, -65518, 1, 0, -65517, 1, 0, -65516, 1, 0, 65530, 1, 0, 65531, 1, 0, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 10, 1, 0, 11, 1, 0, 12, 1, 0, 13, 1, 0, 14, 1, 0, 15, 0, 0, 16, 0, 0, 17, 1, 0, 18, 1, 0, 19, 1, 0, 20, 1, 0, 131066, 1, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 1, 0, 65538, 1, 0, 65539, 1, 0, 65540, 1, 0, 65541, 1, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 65546, 1, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 0, 0, 65552, 0, 0, 65553, 1, 0, 65554, 1, 0, 65555, 1, 0, 65556, 1, 0, 196602, 1, 0, 196603, 1, 0, 196604, 1, 0, 196605, 1, 0, 196606, 1, 0, 196607, 1, 0, 131072, 1, 0, 131073, 1, 0, 131074, 1, 0, 131075, 1, 0, 131076, 1, 0, 131077, 1, 0, 131078, 1, 0, 131079, 1, 0, 131080, 1, 0, 131081, 1, 0, 131082, 1, 0, 131083, 1, 0, 131084, 1, 0, 131085, 1, 0, 131086, 1, 0, 131087, 0, 0, 131088, 0, 0, 131089, 1, 0, 131090, 1, 0, 131091, 1, 0, 131092, 1, 0, 262138, 1, 0, 262139, 1, 0, 262140, 1, 0, 262141, 1, 0, 262142, 1, 0, 262143, 1, 0, 196608, 1, 0, 196609, 1, 0, 196610, 1, 0, 196611, 1, 0, 196612, 1, 0, 196613, 1, 0, 196614, 1, 0, 196615, 1, 0, 196616, 1, 0, 196617, 1, 0, 196618, 1, 0, 196619, 1, 0, 196620, 1, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 1, 0, 196625, 1, 0, 196626, 1, 0, 196627, 1, 0, 196628, 1, 0, 327674, 1, 0, 327675, 1, 0, 327676, 1, 0, 327677, 1, 0, 327678, 1, 0, 327679, 1, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 1, 0, 262153, 1, 0, 262154, 1, 0, 262155, 1, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 1, 0, 262164, 1, 0, 393210, 1, 0, 393211, 1, 0, 393212, 1, 0, 393213, 1, 0, 393214, 1, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 1, 0, 327689, 1, 0, 327690, 1, 0, 327691, 1, 0, 327692, 1, 0, 327693, 1, 0, 327694, 1, 0, 327695, 1, 0, 327696, 1, 0, 327697, 1, 0, 327698, 1, 0, 327699, 1, 0, 327700, 1, 0, 458746, 1, 0, 458747, 1, 0, 458748, 1, 0, 458749, 1, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 1, 0, 393225, 1, 0, 393226, 1, 0, 393227, 1, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 1, 0, 393233, 1, 0, 393234, 1, 0, 393235, 1, 0, 393236, 1, 0, 524282, 1, 0, 524283, 1, 0, 524284, 1, 0, 524285, 1, 0, 524286, 1, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 1, 0, 458761, 1, 0, 458762, 1, 0, 458763, 1, 0, 458764, 1, 0, 458765, 1, 0, 458766, 1, 0, 458767, 1, 0, 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 589818, 1, 0, 589819, 1, 0, 589820, 1, 0, 589821, 1, 0, 589822, 1, 0, 589823, 1, 0, 524288, 1, 0, 524289, 1, 0, 524290, 1, 0, 524291, 1, 0, 524292, 1, 0, 524293, 1, 0, 524294, 1, 0, 524295, 1, 0, 524296, 1, 0, 524297, 1, 0, 524298, 1, 0, 524299, 1, 0, 524300, 1, 0, 524301, 1, 0, 524302, 1, 0, 524303, 1, 0, 524304, 1, 0, 524305, 1, 0, 524306, 1, 0, 524307, 1, 0, 524308, 1, 0, 655354, 1, 0, 655355, 1, 0, 655356, 1, 0, 655357, 1, 0, 655358, 1, 0, 655359, 1, 0, 589824, 1, 0, 589825, 1, 0, 589826, 1, 0, 589827, 1, 0, 589828, 1, 0, 589829, 1, 0, 589830, 1, 0, 589831, 1, 0, 589832, 1, 0, 589833, 1, 0, 589834, 1, 0, 589835, 1, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 1, 0, 589841, 1, 0, 589842, 1, 0, 589843, 1, 0, 589844, 1, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 786426, 1, 0, 786427, 1, 0, 786428, 1, 0, 786429, 1, 0, 786430, 1, 0, 786431, 1, 0, 720896, 1, 0, 720897, 1, 0, 720898, 1, 0, 720899, 1, 0, 720900, 1, 0, 720901, 1, 0, 720902, 1, 0, 720903, 1, 0, 720904, 1, 0, 720905, 1, 0, 720906, 1, 0, 720907, 1, 0, 720908, 1, 0, 720909, 1, 0, 720910, 1, 0, 720911, 1, 0, 720912, 1, 0, 720913, 1, 0, 720914, 1, 0, 720915, 1, 0, 720916, 1, 0, 851962, 1, 0, 851963, 1, 0, 851964, 1, 0, 851965, 1, 0, 851966, 1, 0, 851967, 1, 0, 786432, 1, 0, 786433, 1, 0, 786434, 1, 0, 786435, 1, 0, 786436, 1, 0, 786437, 1, 0, 786438, 1, 0, 786439, 1, 0, 786440, 1, 0, 786441, 1, 0, 786442, 1, 0, 786443, 1, 0, 786444, 1, 0, 786445, 1, 0, 786446, 1, 0, 786447, 1, 0, 786448, 1, 0, 786449, 1, 0, 786450, 1, 0, 786451, 1, 0, 786452, 1, 0 ) +tile_data = PoolIntArray( -1114125, 1, 0, -1114124, 1, 0, -1114123, 1, 0, -1114122, 1, 0, -1114121, 1, 0, -1114120, 1, 0, -1114119, 1, 0, -1114118, 1, 0, -1114117, 1, 0, -1114116, 1, 0, -1114115, 1, 0, -1114114, 1, 0, -1114113, 1, 0, -1179648, 1, 0, -1179647, 1, 0, -1179646, 1, 0, -1179645, 1, 0, -1179644, 1, 0, -1179643, 1, 0, -1179642, 1, 0, -1179641, 1, 0, -1179640, 1, 0, -1179639, 1, 0, -1179638, 1, 0, -1179637, 1, 0, -1179636, 1, 0, -1179635, 1, 0, -1179634, 1, 0, -1179633, 1, 0, -1179632, 1, 0, -1179631, 1, 0, -1179630, 1, 0, -1179629, 1, 0, -1179628, 1, 0, -1179627, 1, 0, -1179626, 1, 0, -1179625, 1, 0, -1179624, 1, 0, -1179623, 1, 0, -1179622, 1, 0, -1179621, 1, 0, -1048589, 1, 0, -1048588, 1, 0, -1048587, 1, 0, -1048586, 1, 0, -1048585, 1, 0, -1048584, 1, 0, -1048583, 1, 0, -1048582, 1, 0, -1048581, 1, 0, -1048580, 1, 0, -1048579, 1, 0, -1048578, 1, 0, -1048577, 1, 0, -1114112, 1, 0, -1114111, 1, 0, -1114110, 1, 0, -1114109, 1, 0, -1114108, 1, 0, -1114107, 1, 0, -1114106, 1, 0, -1114105, 1, 0, -1114104, 1, 0, -1114103, 1, 0, -1114102, 1, 0, -1114101, 1, 0, -1114100, 1, 0, -1114099, 1, 0, -1114098, 1, 0, -1114097, 1, 0, -1114096, 1, 0, -1114095, 1, 0, -1114094, 1, 0, -1114093, 1, 0, -1114092, 1, 0, -1114091, 1, 0, -1114090, 1, 0, -1114089, 1, 0, -1114088, 1, 0, -1114087, 1, 0, -1114086, 1, 0, -1114085, 1, 0, -983053, 1, 0, -983052, 1, 0, -983051, 1, 0, -983050, 1, 0, -983049, 1, 0, -983048, 1, 0, -983047, 1, 0, -983046, 1, 0, -983045, 1, 0, -983044, 1, 0, -983043, 1, 0, -983042, 1, 0, -983041, 1, 0, -1048576, 1, 0, -1048575, 1, 0, -1048574, 1, 0, -1048573, 1, 0, -1048572, 1, 0, -1048571, 1, 0, -1048570, 1, 0, -1048569, 1, 0, -1048568, 1, 0, -1048567, 1, 0, -1048566, 1, 0, -1048565, 1, 0, -1048564, 1, 0, -1048563, 1, 0, -1048562, 1, 0, -1048561, 1, 0, -1048560, 1, 0, -1048559, 1, 0, -1048558, 1, 0, -1048557, 1, 0, -1048556, 1, 0, -1048555, 1, 0, -1048554, 1, 0, -1048553, 1, 0, -1048552, 1, 0, -1048551, 1, 0, -1048550, 1, 0, -1048549, 1, 0, -917517, 1, 0, -917516, 1, 0, -917515, 1, 0, -917514, 1, 0, -917513, 1, 0, -917512, 1, 0, -917511, 1, 0, -917510, 1, 0, -917509, 1, 0, -917508, 1, 0, -917507, 1, 0, -917506, 1, 0, -917505, 1, 0, -983040, 1, 0, -983039, 1, 0, -983038, 1, 0, -983037, 1, 0, -983036, 1, 0, -983035, 1, 0, -983034, 1, 0, -983033, 1, 0, -983032, 1, 0, -983031, 1, 0, -983030, 1, 0, -983029, 1, 0, -983028, 1, 0, -983027, 1, 0, -983026, 1, 0, -983025, 1, 0, -983024, 1, 0, -983023, 1, 0, -983022, 1, 0, -983021, 1, 0, -983020, 1, 0, -983019, 1, 0, -983018, 1, 0, -983017, 1, 0, -983016, 1, 0, -983015, 1, 0, -983014, 1, 0, -983013, 1, 0, -851981, 1, 0, -851980, 1, 0, -851979, 1, 0, -851978, 1, 0, -851977, 1, 0, -851976, 1, 0, -851975, 1, 0, -851974, 1, 0, -851973, 1, 0, -851972, 1, 0, -851971, 1, 0, -851970, 1, 0, -851969, 1, 0, -917504, 1, 0, -917503, 1, 0, -917502, 1, 0, -917501, 1, 0, -917500, 1, 0, -917499, 1, 0, -917498, 1, 0, -917497, 1, 0, -917496, 1, 0, -917495, 1, 0, -917494, 1, 0, -917493, 1, 0, -917492, 1, 0, -917491, 1, 0, -917490, 1, 0, -917489, 1, 0, -917488, 1, 0, -917487, 1, 0, -917486, 1, 0, -917485, 1, 0, -917484, 1, 0, -917483, 1, 0, -917482, 1, 0, -917481, 1, 0, -917480, 1, 0, -917479, 1, 0, -917478, 1, 0, -917477, 1, 0, -786445, 1, 0, -786444, 1, 0, -786443, 1, 0, -786442, 1, 0, -786441, 1, 0, -786440, 1, 0, -786439, 1, 0, -786438, 1, 0, -786437, 1, 0, -786436, 1, 0, -786435, 1, 0, -786434, 1, 0, -786433, 1, 0, -851968, 1, 0, -851967, 1, 0, -851966, 1, 0, -851965, 1, 0, -851964, 1, 0, -851963, 1, 0, -851962, 1, 0, -851961, 1, 0, -851960, 1, 0, -851959, 1, 0, -851958, 1, 0, -851957, 1, 0, -851956, 1, 0, -851955, 1, 0, -851954, 1, 0, -851953, 1, 0, -851952, 1, 0, -851951, 1, 0, -851950, 1, 0, -851949, 1, 0, -851948, 1, 0, -851947, 1, 0, -851946, 1, 0, -851945, 1, 0, -851944, 1, 0, -851943, 1, 0, -851942, 1, 0, -851941, 1, 0, -720909, 1, 0, -720908, 1, 0, -720907, 1, 0, -720906, 1, 0, -720905, 1, 0, -720904, 1, 0, -720903, 1, 0, -720902, 1, 0, -720901, 1, 0, -720900, 1, 0, -720899, 1, 0, -720898, 1, 0, -720897, 1, 0, -786432, 1, 0, -786431, 1, 0, -786430, 1, 0, -786429, 1, 0, -786428, 1, 0, -786427, 1, 0, -786426, 1, 0, -786425, 1, 0, -786424, 1, 0, -786423, 1, 0, -786422, 1, 0, -786421, 1, 0, -786420, 1, 0, -786419, 1, 0, -786418, 1, 0, -786417, 1, 0, -786416, 1, 0, -786415, 1, 0, -786414, 1, 0, -786413, 1, 0, -786412, 1, 0, -786411, 1, 0, -786410, 1, 0, -786409, 1, 0, -786408, 1, 0, -786407, 1, 0, -786406, 1, 0, -786405, 1, 0, -655373, 1, 0, -655372, 1, 0, -655371, 1, 0, -655370, 1, 0, -655369, 1, 0, -655368, 1, 0, -655367, 1, 0, -655366, 1, 0, -655365, 1, 0, -655364, 1, 0, -655363, 1, 0, -655362, 1, 0, -655361, 1, 0, -720896, 1, 0, -720895, 1, 0, -720894, 1, 0, -720893, 1, 0, -720892, 1, 0, -720891, 1, 0, -720890, 1, 0, -720889, 1, 0, -720888, 1, 0, -720887, 1, 0, -720886, 1, 0, -720885, 1, 0, -720884, 1, 0, -720883, 1, 0, -720882, 1, 0, -720881, 1, 0, -720880, 1, 0, -720879, 1, 0, -720878, 1, 0, -720877, 1, 0, -720876, 1, 0, -720875, 1, 0, -720874, 1, 0, -720873, 1, 0, -720872, 1, 0, -720871, 1, 0, -720870, 1, 0, -720869, 1, 0, -589837, 1, 0, -589836, 1, 0, -589835, 1, 0, -589834, 1, 0, -589833, 1, 0, -589832, 1, 0, -589831, 1, 0, -589830, 1, 0, -589829, 1, 0, -589828, 1, 0, -589827, 1, 0, -589826, 1, 0, -589825, 1, 0, -655360, 1, 0, -655359, 1, 0, -655358, 1, 0, -655357, 1, 0, -655356, 1, 0, -655355, 1, 0, -655354, 1, 0, -655353, 1, 0, -655352, 1, 0, -655351, 1, 0, -655350, 1, 0, -655349, 1, 0, -655348, 1, 0, -655347, 1, 0, -655346, 1, 0, -655345, 1, 0, -655344, 1, 0, -655343, 1, 0, -655342, 1, 0, -655341, 1, 0, -655340, 1, 0, -655339, 1, 0, -655338, 1, 0, -655337, 1, 0, -655336, 1, 0, -655335, 1, 0, -655334, 1, 0, -655333, 1, 0, -524301, 1, 0, -524300, 1, 0, -524299, 1, 0, -524298, 1, 0, -524297, 1, 0, -524296, 1, 0, -524295, 1, 0, -524294, 1, 0, -524293, 1, 0, -524292, 1, 0, -524291, 1, 0, -524290, 0, 0, -524289, 0, 0, -589824, 0, 0, -589822, 1, 0, -589821, 1, 0, -589820, 1, 0, -589819, 1, 0, -589807, 1, 0, -589806, 1, 0, -589805, 1, 0, -589804, 1, 0, -589803, 1, 0, -589802, 1, 0, -589801, 1, 0, -589800, 1, 0, -589799, 1, 0, -589798, 1, 0, -589797, 1, 0, -458765, 1, 0, -458764, 1, 0, -458763, 1, 0, -458762, 1, 0, -458761, 1, 0, -458760, 1, 0, -458759, 1, 0, -458758, 1, 0, -458757, 1, 0, -458756, 1, 0, -458755, 1, 0, -458754, 0, 0, -458753, 0, 0, -524288, 0, 0, -524286, 1, 0, -524285, 1, 0, -524284, 1, 0, -524283, 1, 0, -524271, 1, 0, -524270, 1, 0, -524269, 1, 0, -524268, 1, 0, -524267, 1, 0, -524266, 1, 0, -524265, 1, 0, -524264, 1, 0, -524263, 1, 0, -524262, 1, 0, -524261, 1, 0, -393229, 1, 0, -393228, 1, 0, -393227, 1, 0, -393226, 1, 0, -393225, 1, 0, -393224, 1, 0, -393223, 1, 0, -393222, 1, 0, -393221, 1, 0, -393220, 1, 0, -393219, 1, 0, -393218, 0, 0, -393217, 0, 0, -458752, 0, 0, -458745, 0, 0, -458744, 0, 0, -458743, 0, 0, -458742, 0, 0, -458741, 0, 0, -458740, 0, 0, -458739, 0, 0, -458738, 0, 0, -458737, 0, 0, -458736, 0, 0, -458735, 1, 0, -458734, 1, 0, -458733, 1, 0, -458732, 1, 0, -458731, 1, 0, -458730, 1, 0, -458729, 1, 0, -458728, 1, 0, -458727, 1, 0, -458726, 1, 0, -458725, 1, 0, -327693, 1, 0, -327692, 1, 0, -327691, 1, 0, -327690, 1, 0, -327689, 1, 0, -327688, 1, 0, -327687, 1, 0, -327686, 1, 0, -327685, 1, 0, -327684, 1, 0, -327683, 1, 0, -327682, 0, 0, -327681, 0, 0, -393216, 0, 0, -393209, 0, 0, -393208, 0, 0, -393207, 0, 0, -393206, 0, 0, -393205, 0, 0, -393204, 0, 0, -393203, 0, 0, -393202, 0, 0, -393201, 0, 0, -393200, 0, 0, -393199, 1, 0, -393198, 1, 0, -393197, 1, 0, -393196, 1, 0, -393195, 1, 0, -393194, 1, 0, -393193, 1, 0, -393192, 1, 0, -393191, 1, 0, -393190, 1, 0, -393189, 1, 0, -262157, 1, 0, -262156, 1, 0, -262155, 1, 0, -262154, 1, 0, -262153, 1, 0, -262152, 1, 0, -262151, 1, 0, -262150, 1, 0, -262149, 1, 0, -262148, 1, 0, -262147, 1, 0, -262146, 0, 0, -262145, 0, 0, -327680, 0, 0, -327679, 0, 0, -327678, 0, 0, -327677, 0, 0, -327676, 0, 0, -327675, 0, 0, -327674, 0, 0, -327673, 0, 0, -327672, 0, 0, -327666, 0, 0, -327665, 0, 0, -327664, 0, 0, -327663, 1, 0, -327662, 1, 0, -327661, 1, 0, -327660, 1, 0, -327659, 1, 0, -327658, 1, 0, -327657, 1, 0, -327656, 1, 0, -327655, 1, 0, -327654, 1, 0, -327653, 1, 0, -196621, 1, 0, -196620, 1, 0, -196619, 1, 0, -196618, 1, 0, -196617, 1, 0, -196616, 1, 0, -196615, 1, 0, -196614, 1, 0, -196613, 1, 0, -196612, 1, 0, -196611, 1, 0, -196610, 0, 0, -196609, 0, 0, -262144, 0, 0, -262143, 0, 0, -262142, 0, 0, -262141, 0, 0, -262140, 0, 0, -262139, 0, 0, -262138, 0, 0, -262137, 0, 0, -262136, 0, 0, -262129, 0, 0, -262128, 0, 0, -262127, 1, 0, -262126, 1, 0, -262125, 1, 0, -262124, 1, 0, -262123, 1, 0, -262122, 1, 0, -262121, 1, 0, -262120, 1, 0, -262119, 1, 0, -262118, 1, 0, -262117, 1, 0, -131085, 1, 0, -131084, 1, 0, -131083, 1, 0, -131082, 1, 0, -131081, 1, 0, -131080, 1, 0, -131079, 1, 0, -131078, 1, 0, -131077, 1, 0, -131076, 1, 0, -131075, 1, 0, -196598, 1, 0, -196597, 1, 0, -196596, 1, 0, -196593, 0, 0, -196592, 0, 0, -196591, 1, 0, -196590, 1, 0, -196589, 1, 0, -196588, 1, 0, -196587, 1, 0, -196586, 1, 0, -196585, 1, 0, -196584, 1, 0, -196583, 1, 0, -196582, 1, 0, -196581, 1, 0, -65549, 1, 0, -65548, 1, 0, -65547, 1, 0, -65546, 1, 0, -65545, 1, 0, -65544, 1, 0, -65543, 1, 0, -65542, 1, 0, -65541, 1, 0, -65540, 1, 0, -65539, 1, 0, -65538, 1, 0, -65537, 1, 0, -131072, 1, 0, -131071, 1, 0, -131070, 1, 0, -131069, 1, 0, -131068, 1, 0, -131067, 1, 0, -131066, 1, 0, -131065, 1, 0, -131064, 1, 0, -131063, 1, 0, -131062, 1, 0, -131061, 1, 0, -131060, 1, 0, -131059, 1, 0, -131058, 1, 0, -131057, 0, 0, -131056, 0, 0, -131055, 1, 0, -131054, 1, 0, -131053, 1, 0, -131052, 1, 0, -131051, 1, 0, -131050, 1, 0, -131049, 1, 0, -131048, 1, 0, -131047, 1, 0, -131046, 1, 0, -131045, 1, 0, -13, 1, 0, -12, 1, 0, -11, 1, 0, -10, 1, 0, -9, 1, 0, -8, 1, 0, -7, 1, 0, -6, 1, 0, -5, 1, 0, -4, 1, 0, -3, 1, 0, -2, 1, 0, -1, 1, 0, -65536, 1, 0, -65535, 1, 0, -65534, 1, 0, -65533, 1, 0, -65532, 1, 0, -65531, 1, 0, -65530, 1, 0, -65529, 1, 0, -65528, 1, 0, -65527, 1, 0, -65526, 1, 0, -65525, 1, 0, -65524, 1, 0, -65523, 1, 0, -65522, 1, 0, -65521, 0, 0, -65520, 0, 0, -65519, 1, 0, -65518, 1, 0, -65517, 1, 0, -65516, 1, 0, -65515, 1, 0, -65514, 1, 0, -65513, 1, 0, -65512, 1, 0, -65511, 1, 0, -65510, 1, 0, -65509, 1, 0, 65523, 1, 0, 65524, 1, 0, 65525, 1, 0, 65526, 1, 0, 65527, 1, 0, 65528, 1, 0, 65529, 1, 0, 65530, 1, 0, 65531, 1, 0, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 0, 6, 1, 0, 7, 1, 0, 8, 1, 0, 9, 1, 0, 10, 1, 0, 11, 1, 0, 12, 1, 0, 13, 1, 0, 14, 1, 0, 15, 0, 0, 16, 0, 0, 17, 1, 0, 18, 1, 0, 19, 1, 0, 20, 1, 0, 21, 1, 0, 22, 1, 0, 23, 1, 0, 24, 1, 0, 25, 1, 0, 26, 1, 0, 27, 1, 0, 131059, 1, 0, 131060, 1, 0, 131061, 1, 0, 131062, 1, 0, 131063, 1, 0, 131064, 1, 0, 131065, 1, 0, 131066, 1, 0, 131067, 1, 0, 131068, 1, 0, 131069, 1, 0, 131070, 1, 0, 131071, 1, 0, 65536, 1, 0, 65537, 1, 0, 65538, 1, 0, 65539, 1, 0, 65540, 1, 0, 65541, 1, 0, 65542, 1, 0, 65543, 1, 0, 65544, 1, 0, 65545, 1, 0, 65546, 1, 0, 65547, 1, 0, 65548, 1, 0, 65549, 1, 0, 65550, 1, 0, 65551, 0, 0, 65552, 0, 0, 65553, 1, 0, 65554, 1, 0, 65555, 1, 0, 65556, 1, 0, 65557, 1, 0, 65558, 1, 0, 65559, 1, 0, 65560, 1, 0, 65561, 1, 0, 65562, 1, 0, 65563, 1, 0, 196595, 1, 0, 196596, 1, 0, 196597, 1, 0, 196598, 1, 0, 196599, 1, 0, 196600, 1, 0, 196601, 1, 0, 196602, 1, 0, 196603, 1, 0, 196604, 1, 0, 196605, 1, 0, 196606, 1, 0, 196607, 1, 0, 131072, 1, 0, 131073, 1, 0, 131074, 1, 0, 131075, 1, 0, 131076, 1, 0, 131077, 1, 0, 131078, 1, 0, 131079, 1, 0, 131080, 1, 0, 131081, 1, 0, 131082, 1, 0, 131083, 1, 0, 131084, 1, 0, 131085, 1, 0, 131086, 1, 0, 131087, 0, 0, 131088, 0, 0, 131089, 1, 0, 131090, 1, 0, 131091, 1, 0, 131092, 1, 0, 131093, 1, 0, 131094, 1, 0, 131095, 1, 0, 131096, 1, 0, 131097, 1, 0, 131098, 1, 0, 131099, 1, 0, 262131, 1, 0, 262132, 1, 0, 262133, 1, 0, 262134, 1, 0, 262135, 1, 0, 262136, 1, 0, 262137, 1, 0, 262138, 1, 0, 262139, 1, 0, 262140, 1, 0, 262141, 1, 0, 262142, 1, 0, 262143, 1, 0, 196608, 1, 0, 196609, 1, 0, 196610, 1, 0, 196611, 1, 0, 196612, 1, 0, 196613, 1, 0, 196614, 1, 0, 196615, 1, 0, 196616, 1, 0, 196617, 1, 0, 196618, 1, 0, 196619, 1, 0, 196620, 1, 0, 196621, 1, 0, 196622, 1, 0, 196623, 1, 0, 196624, 1, 0, 196625, 1, 0, 196626, 1, 0, 196627, 1, 0, 196628, 1, 0, 196629, 1, 0, 196630, 1, 0, 196631, 1, 0, 196632, 1, 0, 196633, 1, 0, 196634, 1, 0, 196635, 1, 0, 327667, 1, 0, 327668, 1, 0, 327669, 1, 0, 327670, 1, 0, 327671, 1, 0, 327672, 1, 0, 327673, 1, 0, 327674, 1, 0, 327675, 1, 0, 327676, 1, 0, 327677, 1, 0, 327678, 1, 0, 327679, 1, 0, 262144, 1, 0, 262145, 1, 0, 262146, 1, 0, 262147, 1, 0, 262148, 1, 0, 262149, 1, 0, 262150, 1, 0, 262151, 1, 0, 262152, 1, 0, 262153, 1, 0, 262154, 1, 0, 262155, 1, 0, 262156, 1, 0, 262157, 1, 0, 262158, 1, 0, 262159, 1, 0, 262160, 1, 0, 262161, 1, 0, 262162, 1, 0, 262163, 1, 0, 262164, 1, 0, 262165, 1, 0, 262166, 1, 0, 262167, 1, 0, 262168, 1, 0, 262169, 1, 0, 262170, 1, 0, 262171, 1, 0, 393203, 1, 0, 393204, 1, 0, 393205, 1, 0, 393206, 1, 0, 393207, 1, 0, 393208, 1, 0, 393209, 1, 0, 393210, 1, 0, 393211, 1, 0, 393212, 1, 0, 393213, 1, 0, 393214, 1, 0, 393215, 1, 0, 327680, 1, 0, 327681, 1, 0, 327682, 1, 0, 327683, 1, 0, 327684, 1, 0, 327685, 1, 0, 327686, 1, 0, 327687, 1, 0, 327688, 1, 0, 327689, 1, 0, 327690, 1, 0, 327691, 1, 0, 327692, 1, 0, 327693, 1, 0, 327694, 1, 0, 327695, 1, 0, 327696, 1, 0, 327697, 1, 0, 327698, 1, 0, 327699, 1, 0, 327700, 1, 0, 327701, 1, 0, 327702, 1, 0, 327703, 1, 0, 327704, 1, 0, 327705, 1, 0, 327706, 1, 0, 327707, 1, 0, 458739, 1, 0, 458740, 1, 0, 458741, 1, 0, 458742, 1, 0, 458743, 1, 0, 458744, 1, 0, 458745, 1, 0, 458746, 1, 0, 458747, 1, 0, 458748, 1, 0, 458749, 1, 0, 458750, 1, 0, 458751, 1, 0, 393216, 1, 0, 393217, 1, 0, 393218, 1, 0, 393219, 1, 0, 393220, 1, 0, 393221, 1, 0, 393222, 1, 0, 393223, 1, 0, 393224, 1, 0, 393225, 1, 0, 393226, 1, 0, 393227, 1, 0, 393228, 1, 0, 393229, 1, 0, 393230, 1, 0, 393231, 1, 0, 393232, 1, 0, 393233, 1, 0, 393234, 1, 0, 393235, 1, 0, 393236, 1, 0, 393237, 1, 0, 393238, 1, 0, 393239, 1, 0, 393240, 1, 0, 393241, 1, 0, 393242, 1, 0, 393243, 1, 0, 524275, 1, 0, 524276, 1, 0, 524277, 1, 0, 524278, 1, 0, 524279, 1, 0, 524280, 1, 0, 524281, 1, 0, 524282, 1, 0, 524283, 1, 0, 524284, 1, 0, 524285, 1, 0, 524286, 1, 0, 524287, 1, 0, 458752, 1, 0, 458753, 1, 0, 458754, 1, 0, 458755, 1, 0, 458756, 1, 0, 458757, 1, 0, 458758, 1, 0, 458759, 1, 0, 458760, 1, 0, 458761, 1, 0, 458762, 1, 0, 458763, 1, 0, 458764, 1, 0, 458765, 1, 0, 458766, 1, 0, 458767, 1, 0, 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 458776, 1, 0, 458777, 1, 0, 458778, 1, 0, 458779, 1, 0, 589811, 1, 0, 589812, 1, 0, 589813, 1, 0, 589814, 1, 0, 589815, 1, 0, 589816, 1, 0, 589817, 1, 0, 589818, 1, 0, 589819, 1, 0, 589820, 1, 0, 589821, 1, 0, 589822, 1, 0, 589823, 1, 0, 524288, 1, 0, 524289, 1, 0, 524290, 1, 0, 524291, 1, 0, 524292, 1, 0, 524293, 1, 0, 524294, 1, 0, 524295, 1, 0, 524296, 1, 0, 524297, 1, 0, 524298, 1, 0, 524299, 1, 0, 524300, 1, 0, 524301, 1, 0, 524302, 1, 0, 524303, 1, 0, 524304, 1, 0, 524305, 1, 0, 524306, 1, 0, 524307, 1, 0, 524308, 1, 0, 524309, 1, 0, 524310, 1, 0, 524311, 1, 0, 524312, 1, 0, 524313, 1, 0, 524314, 1, 0, 524315, 1, 0, 655347, 1, 0, 655348, 1, 0, 655349, 1, 0, 655350, 1, 0, 655351, 1, 0, 655352, 1, 0, 655353, 1, 0, 655354, 1, 0, 655355, 1, 0, 655356, 1, 0, 655357, 1, 0, 655358, 1, 0, 655359, 1, 0, 589824, 1, 0, 589825, 1, 0, 589826, 1, 0, 589827, 1, 0, 589828, 1, 0, 589829, 1, 0, 589830, 1, 0, 589831, 1, 0, 589832, 1, 0, 589833, 1, 0, 589834, 1, 0, 589835, 1, 0, 589836, 1, 0, 589837, 1, 0, 589838, 1, 0, 589839, 1, 0, 589840, 1, 0, 589841, 1, 0, 589842, 1, 0, 589843, 1, 0, 589844, 1, 0, 589845, 1, 0, 589846, 1, 0, 589847, 1, 0, 589848, 1, 0, 589849, 1, 0, 589850, 1, 0, 589851, 1, 0, 720883, 1, 0, 720884, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 1, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 786419, 1, 0, 786420, 1, 0, 786421, 1, 0, 786422, 1, 0, 786423, 1, 0, 786424, 1, 0, 786425, 1, 0, 786426, 1, 0, 786427, 1, 0, 786428, 1, 0, 786429, 1, 0, 786430, 1, 0, 786431, 1, 0, 720896, 1, 0, 720897, 1, 0, 720898, 1, 0, 720899, 1, 0, 720900, 1, 0, 720901, 1, 0, 720902, 1, 0, 720903, 1, 0, 720904, 1, 0, 720905, 1, 0, 720906, 1, 0, 720907, 1, 0, 720908, 1, 0, 720909, 1, 0, 720910, 1, 0, 720911, 1, 0, 720912, 1, 0, 720913, 1, 0, 720914, 1, 0, 720915, 1, 0, 720916, 1, 0, 720917, 1, 0, 720918, 1, 0, 720919, 1, 0, 720920, 1, 0, 720921, 1, 0, 720922, 1, 0, 720923, 1, 0, 851955, 1, 0, 851956, 1, 0, 851957, 1, 0, 851958, 1, 0, 851959, 1, 0, 851960, 1, 0, 851961, 1, 0, 851962, 1, 0, 851963, 1, 0, 851964, 1, 0, 851965, 1, 0, 851966, 1, 0, 851967, 1, 0, 786432, 1, 0, 786433, 1, 0, 786434, 1, 0, 786435, 1, 0, 786436, 1, 0, 786437, 1, 0, 786438, 1, 0, 786439, 1, 0, 786440, 1, 0, 786441, 1, 0, 786442, 1, 0, 786443, 1, 0, 786444, 1, 0, 786445, 1, 0, 786446, 1, 0, 786447, 1, 0, 786448, 1, 0, 786449, 1, 0, 786450, 1, 0, 786451, 1, 0, 786452, 1, 0, 786453, 1, 0, 786454, 1, 0, 786455, 1, 0, 786456, 1, 0, 786457, 1, 0, 786458, 1, 0, 786459, 1, 0, 917491, 1, 0, 917492, 1, 0, 917493, 1, 0, 917494, 1, 0, 917495, 1, 0, 917496, 1, 0, 917497, 1, 0, 917498, 1, 0, 917499, 1, 0, 917500, 1, 0, 917501, 1, 0, 917502, 1, 0, 917503, 1, 0, 851968, 1, 0, 851969, 1, 0, 851970, 1, 0, 851971, 1, 0, 851972, 1, 0, 851973, 1, 0, 851974, 1, 0, 851975, 1, 0, 851976, 1, 0, 851977, 1, 0, 851978, 1, 0, 851979, 1, 0, 851980, 1, 0, 851981, 1, 0, 851982, 1, 0, 851983, 1, 0, 851984, 1, 0, 851985, 1, 0, 851986, 1, 0, 851987, 1, 0, 851988, 1, 0, 851989, 1, 0, 851990, 1, 0, 851991, 1, 0, 851992, 1, 0, 851993, 1, 0, 851994, 1, 0, 851995, 1, 0, 983027, 1, 0, 983028, 1, 0, 983029, 1, 0, 983030, 1, 0, 983031, 1, 0, 983032, 1, 0, 983033, 1, 0, 983034, 1, 0, 983035, 1, 0, 983036, 1, 0, 983037, 1, 0, 983038, 1, 0, 983039, 1, 0, 917504, 1, 0, 917505, 1, 0, 917506, 1, 0, 917507, 1, 0, 917508, 1, 0, 917509, 1, 0, 917510, 1, 0, 917511, 1, 0, 917512, 1, 0, 917513, 1, 0, 917514, 1, 0, 917515, 1, 0, 917516, 1, 0, 917517, 1, 0, 917518, 1, 0, 917519, 1, 0, 917520, 1, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 1, 0, 917526, 1, 0, 917527, 1, 0, 917528, 1, 0, 917529, 1, 0, 917530, 1, 0, 917531, 1, 0, 1048563, 1, 0, 1048564, 1, 0, 1048565, 1, 0, 1048566, 1, 0, 1048567, 1, 0, 1048568, 1, 0, 1048569, 1, 0, 1048570, 1, 0, 1048571, 1, 0, 1048572, 1, 0, 1048573, 1, 0, 1048574, 1, 0, 1048575, 1, 0, 983040, 1, 0, 983041, 1, 0, 983042, 1, 0, 983043, 1, 0, 983044, 1, 0, 983045, 1, 0, 983046, 1, 0, 983047, 1, 0, 983048, 1, 0, 983049, 1, 0, 983050, 1, 0, 983051, 1, 0, 983052, 1, 0, 983053, 1, 0, 983054, 1, 0, 983055, 1, 0, 983056, 1, 0, 983057, 1, 0, 983058, 1, 0, 983059, 1, 0, 983060, 1, 0, 983061, 1, 0, 983062, 1, 0, 983063, 1, 0, 983064, 1, 0, 983065, 1, 0, 983066, 1, 0, 983067, 1, 0, 1114099, 1, 0, 1114100, 1, 0, 1114101, 1, 0, 1114102, 1, 0, 1114103, 1, 0, 1114104, 1, 0, 1114105, 1, 0, 1114106, 1, 0, 1114107, 1, 0, 1114108, 1, 0, 1114109, 1, 0, 1114110, 1, 0, 1114111, 1, 0, 1048576, 1, 0, 1048577, 1, 0, 1048578, 1, 0, 1048579, 1, 0, 1048580, 1, 0, 1048581, 1, 0, 1048582, 1, 0, 1048583, 1, 0, 1048584, 1, 0, 1048585, 1, 0, 1048586, 1, 0, 1048587, 1, 0, 1048588, 1, 0, 1048589, 1, 0, 1048590, 1, 0, 1048591, 1, 0, 1048592, 1, 0, 1048593, 1, 0, 1048594, 1, 0, 1048595, 1, 0, 1048596, 1, 0, 1048597, 1, 0, 1048598, 1, 0, 1048599, 1, 0, 1048600, 1, 0, 1048601, 1, 0, 1048602, 1, 0, 1048603, 1, 0, 1179635, 1, 0, 1179636, 1, 0, 1179637, 1, 0, 1179638, 1, 0, 1179639, 1, 0, 1179640, 1, 0, 1179641, 1, 0, 1179642, 1, 0, 1179643, 1, 0, 1179644, 1, 0, 1179645, 1, 0, 1179646, 1, 0, 1179647, 1, 0, 1114112, 1, 0, 1114113, 1, 0, 1114114, 1, 0, 1114115, 1, 0, 1114116, 1, 0, 1114117, 1, 0, 1114118, 1, 0, 1114119, 1, 0, 1114120, 1, 0, 1114121, 1, 0, 1114122, 1, 0, 1114123, 1, 0, 1114124, 1, 0, 1114125, 1, 0, 1114126, 1, 0, 1114127, 1, 0, 1114128, 1, 0, 1114129, 1, 0, 1114130, 1, 0, 1114131, 1, 0, 1114132, 1, 0, 1114133, 1, 0, 1114134, 1, 0, 1114135, 1, 0, 1114136, 1, 0, 1114137, 1, 0, 1114138, 1, 0, 1114139, 1, 0, 1245171, 1, 0, 1245172, 1, 0, 1245173, 1, 0, 1245174, 1, 0, 1245175, 1, 0, 1245176, 1, 0, 1245177, 1, 0, 1245178, 1, 0, 1245179, 1, 0, 1245180, 1, 0, 1245181, 1, 0, 1245182, 1, 0, 1245183, 1, 0, 1179648, 1, 0, 1179649, 1, 0, 1179650, 1, 0, 1179651, 1, 0, 1179652, 1, 0, 1179653, 1, 0, 1179654, 1, 0, 1179655, 1, 0, 1179656, 1, 0, 1179657, 1, 0, 1179658, 1, 0, 1179659, 1, 0, 1179660, 1, 0, 1179661, 1, 0, 1179662, 1, 0, 1179663, 1, 0, 1179664, 1, 0, 1179665, 1, 0, 1179666, 1, 0, 1179667, 1, 0, 1179668, 1, 0, 1179669, 1, 0, 1179670, 1, 0, 1179671, 1, 0, 1179672, 1, 0, 1179673, 1, 0, 1179674, 1, 0, 1179675, 1, 0 ) [node name="Path" type="TileMap" parent="Background"] scale = Vector2( 10, 10 ) tile_set = SubResource( 2 ) cell_size = Vector2( 13, 13 ) cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) +collision_layer = 4 +collision_mask = 0 format = 1 tile_data = PoolIntArray( -655361, 0, 8, -720896, 0, 6, -720895, 0, 196609, -720894, 0, 196609, -720893, 0, 3, -720890, 0, 196608, -720889, 0, 196610, -720884, 0, 196611, -589825, 0, 65544, -655360, 0, 65547, -655357, 0, 131073, -655356, 0, 196610, -655351, 0, 196611, -524289, 0, 196616, -589824, 0, 196619, -65525, 0, 196608, -65524, 0, 3, 12, 0, 65536, 65536, 0, 8, 65537, 0, 10, 65538, 0, 10, 65539, 0, 10, 65540, 0, 10, 65541, 0, 10, 65542, 0, 10, 65543, 0, 10, 65544, 0, 11, 65548, 0, 65536, 196607, 0, 8, 131072, 0, 65541, 131073, 0, 65546, 131074, 0, 65546, 131075, 0, 65546, 131076, 0, 65546, 131077, 0, 65546, 131078, 0, 65546, 131079, 0, 65546, 131080, 0, 65542, 131081, 0, 11, 131084, 0, 65536, 131087, 0, 8, 131088, 0, 11, 262143, 0, 65544, 196608, 0, 65546, 196609, 0, 65546, 196610, 0, 65546, 196611, 0, 65546, 196612, 0, 65546, 196613, 0, 65546, 196614, 0, 65546, 196615, 0, 65546, 196616, 0, 65546, 196617, 0, 65547, 196619, 0, 8, 196620, 0, 65543, 196623, 0, 65544, 196624, 0, 65547, 327678, 0, 8, 327679, 0, 65541, 262144, 0, 65546, 262145, 0, 65546, 262146, 0, 65546, 262147, 0, 65546, 262148, 0, 65546, 262149, 0, 131078, 262150, 0, 196617, 262151, 0, 131077, 262152, 0, 65546, 262153, 0, 65542, 262154, 0, 10, 262155, 0, 65541, 262156, 0, 65542, 262157, 0, 11, 262159, 0, 65544, 262160, 0, 65547, 393214, 0, 196616, 393215, 0, 131077, 327680, 0, 65546, 327681, 0, 65546, 327682, 0, 65546, 327683, 0, 131078, 327684, 0, 196617, 327685, 0, 196619, 327687, 0, 196616, 327688, 0, 196617, 327689, 0, 131077, 327690, 0, 65546, 327691, 0, 65546, 327692, 0, 65546, 327693, 0, 65542, 327694, 0, 10, 327695, 0, 131082, 327696, 0, 196619, 458751, 0, 196616, 393216, 0, 196617, 393217, 0, 196617, 393218, 0, 196617, 393219, 0, 196619, 393225, 0, 196616, 393226, 0, 196617, 393227, 0, 196617, 393228, 0, 196617, 393229, 0, 196617, 393230, 0, 196618, 393231, 0, 196619, 458766, 0, 65536, 458768, 0, 196611, 524298, 0, 1, 524299, 0, 196609, 524300, 0, 3, 524302, 0, 65536, 589834, 0, 65536, 589836, 0, 131073, 589837, 0, 196609, 589838, 0, 131075, 589841, 0, 0, 655370, 0, 131072, 655377, 0, 131072, 720909, 0, 196611 ) [node name="Inside" type="TileMap" parent="Background"] +light_mask = 3 scale = Vector2( 10, 10 ) -tile_set = SubResource( 22 ) +tile_set = SubResource( 41 ) cell_size = Vector2( 13, 13 ) cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) collision_friction = 0.13 -collision_layer = 3 -collision_mask = 3 +collision_layer = 4 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -589829, 2, 1, -589828, 2, 196609, -589827, 2, 196609, -589826, 2, 196610, -655359, 2, 0, -524293, 2, 65536, -524292, 3, 0, -524291, 3, 0, -524290, 3, 0, -524289, 4, 0, -589824, 4, 0, -589823, 2, 65536, -589818, 2, 1, -589817, 2, 196609, -589816, 2, 196609, -589815, 2, 196609, -589814, 2, 196609, -589813, 2, 196609, -589812, 2, 196609, -589811, 2, 196609, -589810, 2, 196609, -589809, 2, 196609, -589808, 2, 196609, -589807, 2, 3, -458757, 2, 65536, -458756, 4, 0, -458755, 4, 0, -458754, 4, 0, -458753, 4, 0, -524288, 4, 0, -524287, 2, 65536, -524282, 2, 65536, -524281, 3, 0, -524280, 3, 0, -524279, 3, 0, -524278, 3, 0, -524277, 3, 0, -524276, 3, 0, -524275, 3, 0, -524274, 3, 0, -524273, 3, 0, -524272, 3, 0, -524271, 2, 65536, -393221, 2, 65536, -393220, 4, 0, -393219, 4, 0, -393218, 4, 0, -393217, 4, 0, -458752, 4, 0, -458751, 2, 131073, -458750, 2, 196609, -458749, 2, 196609, -458748, 2, 196609, -458747, 2, 196609, -458746, 2, 131075, -458745, 4, 0, -458744, 4, 0, -458743, 4, 0, -458742, 4, 0, -458741, 4, 0, -458740, 4, 0, -458739, 4, 0, -458738, 4, 0, -458737, 4, 0, -458736, 4, 0, -458735, 2, 65536, -327685, 2, 65536, -327684, 4, 0, -327683, 4, 0, -327682, 4, 0, -327681, 4, 0, -393216, 4, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 4, 0, -393208, 4, 0, -393207, 4, 0, -393206, 4, 0, -393205, 4, 0, -393204, 4, 0, -393203, 4, 0, -393202, 4, 0, -393201, 4, 0, -393200, 4, 0, -393199, 2, 65536, -262149, 2, 65536, -262148, 4, 0, -262147, 4, 0, -262146, 4, 0, -262145, 4, 0, -327680, 4, 0, -327679, 4, 0, -327678, 4, 0, -327677, 4, 0, -327676, 4, 0, -327675, 4, 0, -327674, 4, 0, -327673, 4, 0, -327672, 4, 0, -327671, 2, 1, -327670, 2, 196609, -327669, 2, 196609, -327668, 2, 196609, -327667, 2, 3, -327666, 4, 0, -327665, 4, 0, -327664, 4, 0, -327663, 2, 65536, -196613, 2, 131073, -196612, 2, 196609, -196611, 2, 196609, -196610, 2, 3, -196609, 4, 0, -262144, 4, 0, -262143, 4, 0, -262142, 4, 0, -262141, 4, 0, -262140, 4, 0, -262139, 4, 0, -262138, 4, 0, -262137, 4, 0, -262136, 4, 0, -262135, 2, 65536, -262134, 1, 0, -262133, 0, 0, -262132, 1, 0, -262131, 2, 131073, -262130, 2, 3, -262129, 4, 0, -262128, 4, 0, -262127, 2, 65536, -131077, 1, 0, -131076, 0, 0, -131075, 1, 0, -131074, 2, 131073, -131073, 2, 196609, -196608, 2, 196609, -196607, 2, 196609, -196606, 2, 196609, -196605, 2, 196609, -196604, 2, 196609, -196603, 2, 196609, -196602, 2, 196609, -196601, 2, 196609, -196600, 2, 196609, -196599, 2, 131075, -196595, 1, 0, -196594, 2, 65536, -196593, 4, 0, -196592, 4, 0, -196591, 2, 65536, -65538, 1, 0, -65537, 0, 0, -131072, 1, 0, -131071, 0, 0, -131070, 1, 0, -131069, 0, 0, -131068, 1, 0, -131067, 0, 0, -131066, 1, 0, -131065, 0, 0, -131064, 1, 0, -131063, 0, 0, -131058, 2, 65536, -131057, 4, 0, -131056, 4, 0, -131055, 2, 65536, -65522, 2, 65536, -65521, 4, 0, -65520, 4, 0, -65519, 2, 131073, -65518, 2, 196609, -65517, 2, 196609, -65516, 2, 3, 14, 2, 65536, 15, 4, 0, 16, 4, 0, 17, 3, 0, 18, 3, 0, 19, 3, 0, 20, 2, 65536, 65550, 2, 131072, 65551, 4, 0, 65552, 4, 0, 65553, 4, 0, 65554, 4, 0, 65555, 4, 0, 65556, 2, 65536, 131086, 1, 0, 131087, 4, 0, 131088, 4, 0, 131089, 4, 0, 131090, 4, 0, 131091, 4, 0, 131092, 2, 65536, 196622, 4, 0, 196623, 4, 0, 196624, 4, 0, 196625, 4, 0, 196626, 4, 0, 196627, 4, 0, 196628, 2, 65536, 262158, 4, 0, 262159, 4, 0, 262160, 4, 0, 262161, 4, 0, 262164, 2, 65536, 327694, 2, 196608, 327695, 2, 196609, 327696, 2, 196609, 327697, 2, 196609, 327698, 2, 196609, 327699, 2, 196609, 327700, 2, 131075, 393230, 0, 0, 393231, 1, 0, 393232, 0, 0, 393233, 1, 0, 393234, 0, 0, 393235, 1, 0, 393236, 0, 0 ) + +[node name="Spawn" type="TileMap" parent="Background"] +scale = Vector2( 10, 10 ) +tile_set = SubResource( 42 ) +cell_size = Vector2( 13, 13 ) +cell_custom_transform = Transform2D( 0, 0, 0, 0, 0, 0 ) +collision_layer = 4 +collision_mask = 0 format = 1 -tile_data = PoolIntArray( -589826, 2, 0, -655359, 2, 0, -524290, 2, 65536, -524289, 4, 0, -589824, 4, 0, -589823, 2, 65536, -589818, 2, 1, -589817, 2, 196609, -589816, 2, 196609, -589815, 2, 196609, -589814, 2, 196609, -589813, 2, 196609, -589812, 2, 196609, -589811, 2, 196609, -589810, 2, 196609, -589809, 2, 196609, -589808, 2, 196609, -589807, 2, 3, -458754, 2, 65536, -458753, 4, 0, -524288, 4, 0, -524287, 2, 65536, -524282, 2, 65536, -524281, 3, 0, -524280, 3, 0, -524279, 3, 0, -524278, 3, 0, -524277, 3, 0, -524276, 3, 0, -524275, 3, 0, -524274, 3, 0, -524273, 3, 0, -524272, 3, 0, -524271, 2, 65536, -393218, 2, 65536, -393217, 4, 0, -458752, 4, 0, -458751, 2, 131073, -458750, 2, 196609, -458749, 2, 196609, -458748, 2, 196609, -458747, 2, 196609, -458746, 2, 131075, -458745, 4, 0, -458744, 4, 0, -458743, 4, 0, -458742, 4, 0, -458741, 4, 0, -458740, 4, 0, -458739, 4, 0, -458738, 4, 0, -458737, 4, 0, -458736, 4, 0, -458735, 2, 65536, -327682, 2, 65536, -327681, 4, 0, -393216, 4, 0, -393215, 3, 0, -393214, 3, 0, -393213, 3, 0, -393212, 3, 0, -393211, 3, 0, -393210, 3, 0, -393209, 4, 0, -393208, 4, 0, -393207, 4, 0, -393206, 4, 0, -393205, 4, 0, -393204, 4, 0, -393203, 4, 0, -393202, 4, 0, -393201, 4, 0, -393200, 4, 0, -393199, 2, 65536, -262146, 2, 65536, -262145, 4, 0, -327680, 4, 0, -327679, 4, 0, -327678, 4, 0, -327677, 4, 0, -327676, 4, 0, -327675, 4, 0, -327674, 4, 0, -327673, 4, 0, -327672, 4, 0, -327671, 2, 1, -327670, 2, 196609, -327669, 2, 196609, -327668, 2, 196609, -327667, 2, 3, -327666, 4, 0, -327665, 4, 0, -327664, 4, 0, -327663, 2, 65536, -196610, 2, 65536, -196609, 4, 0, -262144, 4, 0, -262143, 4, 0, -262142, 4, 0, -262141, 4, 0, -262140, 4, 0, -262139, 4, 0, -262138, 4, 0, -262137, 4, 0, -262136, 4, 0, -262135, 2, 65536, -262134, 1, 0, -262133, 0, 0, -262132, 1, 0, -262131, 2, 131073, -262130, 2, 3, -262129, 4, 0, -262128, 4, 0, -262127, 2, 65536, -131074, 2, 131073, -131073, 2, 196609, -196608, 2, 196609, -196607, 2, 196609, -196606, 2, 196609, -196605, 2, 196609, -196604, 2, 196609, -196603, 2, 196609, -196602, 2, 196609, -196601, 2, 196609, -196600, 2, 196609, -196599, 2, 131075, -196595, 1, 0, -196594, 2, 65536, -196593, 4, 0, -196592, 4, 0, -196591, 2, 65536, -65538, 1, 0, -65537, 0, 0, -131072, 1, 0, -131071, 0, 0, -131070, 1, 0, -131069, 0, 0, -131068, 1, 0, -131067, 0, 0, -131066, 1, 0, -131065, 0, 0, -131064, 1, 0, -131063, 0, 0, -131058, 2, 65536, -131057, 4, 0, -131056, 4, 0, -131055, 2, 65536, -65522, 2, 65536, -65521, 4, 0, -65520, 4, 0, -65519, 2, 65536, 14, 2, 65536, 15, 4, 0, 16, 4, 0, 17, 2, 65536, 65550, 2, 131072, 65551, 4, 0, 65552, 4, 0, 65553, 2, 131072, 131086, 1, 0, 131087, 4, 0, 131088, 4, 0, 131089, 0, 0 ) +tile_data = PoolIntArray( -458756, 1, 0, -458755, 1, 1, -458754, 1, 2, -393220, 1, 65536, -393219, 1, 65537, -393218, 1, 65538, -327684, 1, 65536, -327683, 1, 65537, -327682, 1, 65538, -262148, 1, 131072, -262147, 1, 131073, -262146, 1, 131074, 65553, 0, 0, 65554, 0, 1, 65555, 0, 2, 131089, 0, 65536, 131090, 0, 65537, 131091, 0, 65538, 196625, 0, 65536, 196626, 0, 65537, 196627, 0, 65538, 262161, 0, 131072, 262162, 0, 131073, 262163, 0, 131074 ) [node name="Dynamic" type="YSort" parent="."] [node name="Barriers" type="TileMap" parent="Dynamic"] scale = Vector2( 10, 10 ) -tile_set = SubResource( 42 ) +tile_set = SubResource( 62 ) cell_size = Vector2( 13, 13 ) cell_tile_origin = 1 cell_y_sort = true -collision_layer = 3 -collision_mask = 3 +collision_layer = 4 +collision_mask = 0 format = 1 tile_data = PoolIntArray( 393222, 0, 196608, 393223, 0, 0, 393224, 0, 65537, 458760, 0, 131072, 458761, 0, 0, 458762, 0, 1, 458763, 0, 0, 458764, 0, 0, 458765, 0, 65537, 524301, 0, 196610, 524303, 0, 65538, 589835, 0, 65538, 589839, 0, 131074, 655371, 0, 131072, 655372, 0, 1, 655373, 0, 0, 655374, 0, 0, 655375, 0, 131073 ) [node name="Foreground" type="Node2D" parent="."] z_index = 1 + +[node name="SpawnPointsRed" type="Node2D" parent="."] +position = Vector2( -6.10352e-05, -0.00012207 ) + +[node name="0" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -422.019, -602.768 ) + +[node name="1" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -282.703, -616.172 ) + +[node name="2" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -354.253, -754.013 ) + +[node name="3" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -211.811, -770.315 ) + +[node name="4" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -433.199, -941.217 ) + +[node name="5" type="Position2D" parent="SpawnPointsRed"] +position = Vector2( -291.215, -944.93 ) + +[node name="SpawnPointsBlack" type="Node2D" parent="."] +position = Vector2( -6.10352e-05, -0.00012207 ) + +[node name="0" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2273.97, 241.198 ) + +[node name="1" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2276.23, 404.199 ) + +[node name="2" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2418.81, 324.483 ) + +[node name="3" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2419.62, 503.602 ) + +[node name="4" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2279.61, 549.918 ) + +[node name="5" type="Position2D" parent="SpawnPointsBlack"] +position = Vector2( 2542.72, 412.654 ) + +[node name="CandySpawners" type="Node2D" parent="."] + +[node name="0" type="Position2D" parent="CandySpawners"] +position = Vector2( 2015, -585 ) +script = ExtResource( 11 ) + +[node name="1" type="Position2D" parent="CandySpawners"] +position = Vector2( 1885, -715 ) +script = ExtResource( 11 ) + +[node name="2" type="Position2D" parent="CandySpawners"] +position = Vector2( 1495, -715 ) +script = ExtResource( 11 ) + +[node name="3" type="Position2D" parent="CandySpawners"] +position = Vector2( 585, -585 ) +script = ExtResource( 11 ) + +[node name="4" type="Position2D" parent="CandySpawners"] +position = Vector2( 325, -585 ) +script = ExtResource( 11 ) + +[node name="5" type="Position2D" parent="CandySpawners"] +position = Vector2( 325, -975 ) +script = ExtResource( 11 ) + +[node name="6" type="Position2D" parent="CandySpawners"] +position = Vector2( 455, -975 ) +script = ExtResource( 11 ) + +[node name="7" type="Position2D" parent="CandySpawners"] +position = Vector2( 845, -1235 ) +script = ExtResource( 11 ) + +[node name="8" type="Position2D" parent="CandySpawners"] +position = Vector2( 2535, -325 ) +script = ExtResource( 11 ) + +[node name="9" type="Position2D" parent="CandySpawners"] +position = Vector2( 325, 715 ) +script = ExtResource( 11 ) + +[node name="10" type="Position2D" parent="CandySpawners"] +position = Vector2( 195, 715 ) +script = ExtResource( 11 ) + +[node name="11" type="Position2D" parent="CandySpawners"] +position = Vector2( 65, 585 ) +script = ExtResource( 11 ) + +[node name="12" type="Position2D" parent="CandySpawners"] +position = Vector2( -455, 585 ) +script = ExtResource( 11 ) + +[node name="13" type="Position2D" parent="CandySpawners"] +position = Vector2( -585, -65 ) +script = ExtResource( 11 ) + +[node name="14" type="Position2D" parent="CandySpawners"] +position = Vector2( -845, -455 ) +script = ExtResource( 11 ) + +[node name="15" type="Position2D" parent="CandySpawners"] +position = Vector2( 1495, -65 ) +script = ExtResource( 11 ) diff --git a/src/scripts/gamestate.gd b/src/scripts/gamestate.gd index 502fc7f..9ad04a4 100644 --- a/src/scripts/gamestate.gd +++ b/src/scripts/gamestate.gd @@ -18,10 +18,11 @@ const MAX_PEERS = 8 # Name for my player. var player_name = "no player name yet" +var server_only: bool = true -# Names for remote players in id:name format. -var other_players = {} -var players_ready = [] +# Names for remote players in id -> name format. +var players = {} +var id_players_ready = [] # Signals to let lobby GUI know what's going on. signal player_list_changed() @@ -58,14 +59,15 @@ func _player_connected(id): # When a player connects to the server we are already connected on, this slot is activated # We have to tell the newly connected player that we are here. # -> This signal is also emitted server-side when a new clients made a connection - rpc_id(id, "register_player", player_name) + if not server_only: + rpc_id(id, "register_player", player_name) # Callback from SceneTree. func _player_disconnected(id): if has_node("/root/World"): # Game is in progress. if get_tree().is_network_server(): - emit_signal("game_error", "Player " + other_players[id] + " disconnected") + emit_signal("game_error", "Player " + players[id] + " disconnected") end_game() else: # Game is not in progress. # Unregister this player. @@ -74,13 +76,15 @@ func _player_disconnected(id): remote func register_player(new_player_name): var id = get_tree().get_rpc_sender_id() - other_players[id] = new_player_name + if id == 0: + id = get_tree().get_network_unique_id() + players[id] = new_player_name print("A new player is connected : " + str(id)) emit_signal("player_list_changed") func unregister_player(id): - other_players.erase(id) + players.erase(id) emit_signal("player_list_changed") @@ -96,34 +100,14 @@ remote func pre_start_game(players_init): get_tree().get_root().add_child(game) # Hide the LocalConnection node (not remove it) get_tree().get_root().get_node("LocalConnection").hide() + # Init the Game node + game.init(players_init, self.server_only) - var player_scene = load("res://src/actors/player.tscn") - - # Create the players - var i = 0 - for id in players_init: - var p_init = players_init[id] - var spawn_pos = game.get_node("SpawnPoints/" + str(i)).position - var p = player_scene.instance() - - p.init(p_init["name"], p_init["gender"], p_init["team"], spawn_pos) - p.set_name(str(id)) # Use unique ID as node name - p.set_network_master(id) #set unique id as master - - # If the player we are creating is the one of this instance - if get_tree().get_network_unique_id() == id: - # Set it's camera as the main one - p.get_node("Camera").current = true - - game.get_node("YSort/Players").add_child(p) - i += 1 - + # Tell server we are ready to start if not get_tree().is_network_server(): - # Tell server we are ready to start rpc_id(1, "ready_to_start") - elif other_players.size() == 0: - # If we're the server and no one else is connected - post_start_game() + else: + ready_to_start() remote func post_start_game(): @@ -138,7 +122,7 @@ func end_game(): get_node("/root/World").queue_free() emit_signal("game_ended") - other_players.clear() + players.clear() """##################### @@ -146,13 +130,15 @@ Getters and setters #####################""" -func get_player_list(): - return other_players.values() +func get_players_list(): + return self.players func get_player_name(): - return player_name + return self.player_name +func get_server_only(): + return self.server_only """################################################# THIS INSTANCE AS A CLIENT @@ -160,15 +146,19 @@ func get_player_name(): func join_game(ip, new_player_name): - player_name = new_player_name + self.server_only = false + var peer = NetworkedMultiplayerENet.new() peer.create_client(ip, DEFAULT_PORT) get_tree().set_network_peer(peer) + + self.player_name = new_player_name + self.register_player(self.player_name) # Callback from SceneTree, only for clients (not server). func _connected_ok(): - # We just connected to a serverĀ§ + # We've just connected to a server emit_signal("connection_succeeded") print("We are connected!") print(get_tree().get_network_connected_peers()) @@ -192,8 +182,16 @@ func _connected_fail(): # This instance clicked the "host" button -func host_game(new_player_name): - player_name = new_player_name +func host_and_play_game(new_player_name): + self.server_only = false + self.host_game() + + self.player_name = new_player_name + self.register_player(self.player_name) + + +# This instance clicked the "host only" button +func host_game(): var peer = NetworkedMultiplayerENet.new() peer.create_server(DEFAULT_PORT, MAX_PEERS) get_tree().set_network_peer(peer) @@ -204,12 +202,12 @@ remote func ready_to_start(): assert(get_tree().is_network_server()) var id = get_tree().get_rpc_sender_id() - if not id in players_ready: - players_ready.append(id) + if not id in id_players_ready: + id_players_ready.append(id) # Wait for every player to be ready - if players_ready.size() == other_players.size(): + if id_players_ready.size() == players.size(): # If everyone is ready - for p in other_players: + for p in players: rpc_id(p, "post_start_game") post_start_game() @@ -222,8 +220,8 @@ func begin_game(): var team_toggler = randf() > 0.5 # setup teams and player genders - var all_players = other_players.duplicate(false) - all_players[1] = player_name + var all_players = players.duplicate(false) + # all_players[1] = player_name var players_init = {} for id in all_players: diff --git a/src/actors/candy.gd b/src/scripts/server/candySpawner.gd similarity index 66% rename from src/actors/candy.gd rename to src/scripts/server/candySpawner.gd index d144d48..056e206 100644 --- a/src/actors/candy.gd +++ b/src/scripts/server/candySpawner.gd @@ -1,4 +1,4 @@ -extends Node2D +extends Node # Declare member variables here. Examples: @@ -8,9 +8,10 @@ extends Node2D # Called when the node enters the scene tree for the first time. func _ready(): - pass # Replace with function body. + print("I AM LOADED") + #pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass +func _process(delta): + print("Spawn candy") diff --git a/src/scripts/server/candySpawners/CandySpawners.gd b/src/scripts/server/candySpawners/CandySpawners.gd new file mode 100644 index 0000000..ae68580 --- /dev/null +++ b/src/scripts/server/candySpawners/CandySpawners.gd @@ -0,0 +1,29 @@ +extends Node + + +var spawners = Array() + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass + +func init(spawners_list: Array): + for s in spawners_list: + self.spawners.append(s) + + +func _on_Timer_timeout(): + var rng = RandomNumberGenerator.new() + rng.randomize() + + var available_spawners: Array = Array() + for s in self.spawners: + if not s.spawned: + available_spawners.append(s) + + if available_spawners.size() == 0: + return + + var spawner:Position2D = available_spawners[randi() % available_spawners.size()] + spawner.server_spawn() diff --git a/src/scripts/server/candySpawners/CandySpawners.tscn b/src/scripts/server/candySpawners/CandySpawners.tscn new file mode 100644 index 0000000..1d18a88 --- /dev/null +++ b/src/scripts/server/candySpawners/CandySpawners.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://src/scripts/server/candySpawners/CandySpawners.gd" type="Script" id=1] + +[node name="CandySpawners" type="Node"] +script = ExtResource( 1 ) + +[node name="Timer" type="Timer" parent="."] +wait_time = 0.1 +autostart = true + +[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/src/scripts/server/candySpawners/spawner.gd b/src/scripts/server/candySpawners/spawner.gd new file mode 100644 index 0000000..00f330c --- /dev/null +++ b/src/scripts/server/candySpawners/spawner.gd @@ -0,0 +1,34 @@ +extends Position2D + + +export var spawned: bool = false +var candy_scene + + +# Called when the node enters the scene tree for the first time. +func _ready(): + self.candy_scene = preload("res://src/actors/candy/candy.tscn") + + +# Called only server-side +func server_spawn(): + assert(get_tree().is_network_server()) + + self.spawned = true + for id in gamestate.get_players_list(): + rpc_id(id, "spawn_candy") + + self.spawn_candy() + + +# Canned on every client +remote func spawn_candy(): + var candy: Node2D = self.candy_scene.instance() + candy.position = self.position + candy.set_network_master(1) + + if get_tree().is_network_server(): + candy.spawner = self + candy.set_collision_player(true) + + get_node("../../../Candies").add_child(candy) diff --git a/src/scripts/server/trails/Trails.gd b/src/scripts/server/trails/Trails.gd new file mode 100644 index 0000000..5faa750 --- /dev/null +++ b/src/scripts/server/trails/Trails.gd @@ -0,0 +1,74 @@ +extends Node2D + + +const PLAYER_LINE_DISTANCE_DRAW = 100 +const DISTANCE_BETWEEN_CANDIES = 120 + + +# Called when the node enters the scene tree for the first time. +func init(players_node: Node2D): + var players = gamestate.get_players_list() + + for p in players_node.get_children(): + var id = p.get_name() + + var line_2d = Line2D.new() + line_2d.set_name(str(id)) + line_2d.set_default_color(Color(1, 1, 1, 0)) + add_child(line_2d) + line_2d.add_point(p.get_position()) + line_2d.add_point(p.get_position()) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + var players = get_tree().get_root().get_node("Game/YSort/Players") + # Create the lines behind the players + self.draw_lines(players) + + # Place the candies + self.place_candies(players) + + +func draw_lines(players): + for p in players.get_children(): + var id = p.get_name() + var line = self.get_node(id) + + var last_last_point = line.points[1] + line.set_point_position(0, p.position) + if not line.points.empty(): + if p.position.distance_to(last_last_point) > PLAYER_LINE_DISTANCE_DRAW: + line.add_point(p.position, 0) + + +func place_candies(players): + for p in players.get_children(): + var trail: Line2D = get_tree().get_root().get_node("Game/Trails/" + p.get_name()) + + # the remaining length on the trail until the next candy + var remaining_dist: int = self.DISTANCE_BETWEEN_CANDIES + # the index of the current point in on the player's trail + var i: int = 0 + var segment_lengh = distance_between_trail_points(trail, i) + + for c in p.trail: # for each candy the player has picked up + while remaining_dist > segment_lengh: + remaining_dist -= segment_lengh + i += 1 + segment_lengh = distance_between_trail_points(trail, i) + # place the candy somewhere in this segment of the line + var factor = remaining_dist / segment_lengh + + c.targeted_position = lerp(trail.points[i], trail.points[i+1], factor) + + # calculate the remaining distance for the next candy to place + remaining_dist = self.DISTANCE_BETWEEN_CANDIES + remaining_dist + + +# Returns the distance between the points i and i+1 +func distance_between_trail_points(trail: Line2D, i: int) -> float : + return sqrt( + pow(trail.points[i].x - trail.points[i+1].x, 2) + + pow(trail.points[i].y - trail.points[i+1].y, 2) + ) diff --git a/src/scripts/server/trails/Trails.tscn b/src/scripts/server/trails/Trails.tscn new file mode 100644 index 0000000..6a04fd0 --- /dev/null +++ b/src/scripts/server/trails/Trails.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://src/scripts/server/trails/Trails.gd" type="Script" id=1] + +[node name="Trails" type="Node2D"] +script = ExtResource( 1 ) diff --git a/src/ui/menus/local-connection/ConnectionTest.gd b/src/ui/menus/local-connection/ConnectionTest.gd index 87d6e76..137a55f 100644 --- a/src/ui/menus/local-connection/ConnectionTest.gd +++ b/src/ui/menus/local-connection/ConnectionTest.gd @@ -1,14 +1,16 @@ extends Control -onready var players_list = $WaitingRoom/MarginContainer/VBoxContainer/PlayersList -onready var start_button = $WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonStart -onready var host_button = $Connection/VBoxContainer/GridContainer/ButtonHost -onready var join_button = $Connection/VBoxContainer/GridContainer/ButtonJoin -onready var username = $Connection/VBoxContainer/GridContainer/LineEditPseudo -onready var ip_address = $Connection/VBoxContainer/GridContainer/LineEditAddress -onready var error = $Connection/VBoxContainer/LabelError -onready var back_button = $WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonBack +onready var players_list = $WaitingRoom/MarginContainer/VBoxContainer/PlayersList +onready var show_ip_address = $WaitingRoom/MarginContainer/VBoxContainer/IPAddress +onready var start_button = $WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonStart +onready var back_button = $WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonBack + +onready var join_button = $Connection/VBoxContainer/GridContainer/ButtonJoin +onready var host_button = $Connection/VBoxContainer/GridContainer/ButtonHost +onready var username = $Connection/VBoxContainer/GridContainer/LineEditPseudo +onready var ip_address = $Connection/VBoxContainer/GridContainer/LineEditAddress +onready var error = $Connection/VBoxContainer/LabelError const MIN_PLAYERS = 1 @@ -21,6 +23,10 @@ func _ready(): $Connection.show() $WaitingRoom.hide() + + # Show the IP address on the GUI + show_ip_address.text = "Adresse IP : " + str(IP.get_local_addresses()[0]) + # Set the username if OS.has_environment("USERNAME"): username.text = OS.get_environment("USERNAME") @@ -31,7 +37,14 @@ func _ready(): func _on_ButtonHost_pressed(): $WaitingRoom.show() $Connection.hide() - gamestate.host_game(username.text) + gamestate.host_and_play_game(username.text) + refresh_waiting_room() + + +func _on_ButtonHostOnly_pressed(): + $WaitingRoom.show() + $Connection.hide() + gamestate.host_game() refresh_waiting_room() @@ -82,12 +95,13 @@ func _on_game_error(errtxt): func refresh_waiting_room(): - var players = gamestate.get_player_list() - players.sort() + var players = gamestate.get_players_list() players_list.clear() - players_list.add_item(gamestate.get_player_name() + " (You)") - for p in players: - players_list.add_item(p) + for id in players: + var p = players[id] + if id == get_tree().get_network_unique_id(): + p += " (You)" + players_list.add_item(p + " (" + str(id) + ")") if get_tree().is_network_server(): if players.size() < MIN_PLAYERS - 1: diff --git a/src/ui/menus/local-connection/ConnectionTest.tscn b/src/ui/menus/local-connection/ConnectionTest.tscn index ff80c25..65feae7 100644 --- a/src/ui/menus/local-connection/ConnectionTest.tscn +++ b/src/ui/menus/local-connection/ConnectionTest.tscn @@ -11,15 +11,15 @@ __meta__ = { } [node name="Connection" type="Panel" parent="."] -visible = false anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -margin_left = -200.5 -margin_top = -63.4983 -margin_right = 200.5 -margin_bottom = 60.5017 +margin_left = -401.699 +margin_top = -111.582 +margin_right = -0.698853 +margin_bottom = 12.4184 +rect_scale = Vector2( 2, 2 ) __meta__ = { "_edit_use_anchors_": false } @@ -39,7 +39,7 @@ __meta__ = { [node name="GridContainer" type="GridContainer" parent="Connection/VBoxContainer"] margin_right = 297.0 -margin_bottom = 52.0 +margin_bottom = 76.0 size_flags_horizontal = 3 size_flags_vertical = 3 columns = 2 @@ -80,23 +80,31 @@ size_flags_horizontal = 3 size_flags_vertical = 3 text = "Rejoindre une partie" -[node name="LabelError" type="Label" parent="Connection/VBoxContainer"] +[node name="ButtonHostOnly" type="Button" parent="Connection/VBoxContainer/GridContainer"] margin_top = 56.0 +margin_right = 146.0 +margin_bottom = 76.0 +text = "Serveur uniquement" + +[node name="LabelError" type="Label" parent="Connection/VBoxContainer"] +margin_top = 80.0 margin_right = 297.0 -margin_bottom = 70.0 +margin_bottom = 94.0 __meta__ = { "_edit_use_anchors_": false } [node name="WaitingRoom" type="Panel" parent="."] +visible = false anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -margin_left = -133.0 -margin_top = -140.0 -margin_right = 133.0 -margin_bottom = 140.0 +margin_left = -244.649 +margin_top = -286.199 +margin_right = 21.3506 +margin_bottom = -6.19907 +rect_scale = Vector2( 2, 2 ) __meta__ = { "_edit_use_anchors_": false } @@ -115,47 +123,61 @@ __meta__ = { [node name="VBoxContainer" type="VBoxContainer" parent="WaitingRoom/MarginContainer"] margin_left = 20.0 margin_top = 20.0 -margin_right = 246.0 -margin_bottom = 260.0 +margin_right = 245.0 +margin_bottom = 259.0 __meta__ = { "_edit_use_anchors_": false } [node name="Title" type="Label" parent="WaitingRoom/MarginContainer/VBoxContainer"] -margin_right = 226.0 +margin_right = 225.0 margin_bottom = 14.0 text = "Liste d'attente" [node name="PlayersList" type="ItemList" parent="WaitingRoom/MarginContainer/VBoxContainer"] margin_top = 18.0 -margin_right = 226.0 -margin_bottom = 216.0 +margin_right = 225.0 +margin_bottom = 197.0 size_flags_vertical = 3 +[node name="IPAddress" type="Label" parent="WaitingRoom/MarginContainer/VBoxContainer"] +margin_top = 201.0 +margin_right = 225.0 +margin_bottom = 215.0 +text = "Adresse IP : " + [node name="HBoxContainer" type="HBoxContainer" parent="WaitingRoom/MarginContainer/VBoxContainer"] -margin_top = 220.0 -margin_right = 226.0 -margin_bottom = 240.0 +margin_top = 219.0 +margin_right = 225.0 +margin_bottom = 239.0 [node name="ButtonBack" type="Button" parent="WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer"] -margin_right = 111.0 +margin_right = 110.0 margin_bottom = 20.0 size_flags_horizontal = 3 text = "Retour" [node name="ButtonStart" type="Button" parent="WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer"] -margin_left = 115.0 -margin_right = 226.0 +margin_left = 114.0 +margin_right = 225.0 margin_bottom = 20.0 size_flags_horizontal = 3 text = "START" [node name="ErrorDialog" type="AcceptDialog" parent="."] -margin_right = 48.0 -margin_bottom = 40.0 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -181.052 +margin_top = -73.0972 +margin_right = -86.0515 +margin_bottom = -15.0972 +rect_scale = Vector2( 3.7533, 3.7533 ) window_title = "Alerte !" [connection signal="pressed" from="Connection/VBoxContainer/GridContainer/ButtonHost" to="." method="_on_ButtonHost_pressed"] [connection signal="pressed" from="Connection/VBoxContainer/GridContainer/ButtonJoin" to="." method="_on_ButtonJoin_pressed"] +[connection signal="pressed" from="Connection/VBoxContainer/GridContainer/ButtonHostOnly" to="." method="_on_ButtonHostOnly_pressed"] [connection signal="pressed" from="WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonBack" to="." method="_on_ButtonBack_pressed"] [connection signal="pressed" from="WaitingRoom/MarginContainer/VBoxContainer/HBoxContainer/ButtonStart" to="." method="_on_ButtonStart_pressed"]