diff --git a/Abilities/Fireball.cs b/Abilities/Fireball/Fireball.cs similarity index 100% rename from Abilities/Fireball.cs rename to Abilities/Fireball/Fireball.cs diff --git a/Abilities/Fireball.cs.uid b/Abilities/Fireball/Fireball.cs.uid similarity index 100% rename from Abilities/Fireball.cs.uid rename to Abilities/Fireball/Fireball.cs.uid diff --git a/Abilities/Fireball.png b/Abilities/Fireball/Fireball.png similarity index 100% rename from Abilities/Fireball.png rename to Abilities/Fireball/Fireball.png diff --git a/Abilities/Fireball.png.import b/Abilities/Fireball/Fireball.png.import similarity index 76% rename from Abilities/Fireball.png.import rename to Abilities/Fireball/Fireball.png.import index b0fb6da..b5ca06a 100644 --- a/Abilities/Fireball.png.import +++ b/Abilities/Fireball/Fireball.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://mesi0bfnca6y" -path="res://.godot/imported/Fireball.png-86123da5fd3d9a12514f31908427d9dd.ctex" +path="res://.godot/imported/Fireball.png-220a164c89b06ee48fdd7fb2e948e296.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Abilities/Fireball.png" -dest_files=["res://.godot/imported/Fireball.png-86123da5fd3d9a12514f31908427d9dd.ctex"] +source_file="res://Abilities/Fireball/Fireball.png" +dest_files=["res://.godot/imported/Fireball.png-220a164c89b06ee48fdd7fb2e948e296.ctex"] [params] diff --git a/Abilities/Fireball.tscn b/Abilities/Fireball/Fireball.tscn similarity index 84% rename from Abilities/Fireball.tscn rename to Abilities/Fireball/Fireball.tscn index 291a8b1..78ce568 100644 --- a/Abilities/Fireball.tscn +++ b/Abilities/Fireball/Fireball.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://bc7omt6pay1lx"] -[ext_resource type="Script" uid="uid://tt0u7f0gemjo" path="res://Abilities/Fireball.cs" id="1_0kqim"] -[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball.png" id="2_rf7by"] +[ext_resource type="Script" uid="uid://tt0u7f0gemjo" path="res://Abilities/Fireball/Fireball.cs" id="1_0kqim"] +[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball/Fireball.png" id="2_rf7by"] [sub_resource type="CircleShape2D" id="CircleShape2D_nvq50"] radius = 6.0 @@ -9,6 +9,7 @@ radius = 6.0 [node name="Fireball" type="Area2D"] script = ExtResource("1_0kqim") Speed = 700.0 +Lifetime = 1.0 [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("2_rf7by") diff --git a/Abilities/Fireballv2.cs b/Abilities/Fireball/Fireballv2.cs similarity index 100% rename from Abilities/Fireballv2.cs rename to Abilities/Fireball/Fireballv2.cs diff --git a/Abilities/Fireballv2.cs.uid b/Abilities/Fireball/Fireballv2.cs.uid similarity index 100% rename from Abilities/Fireballv2.cs.uid rename to Abilities/Fireball/Fireballv2.cs.uid diff --git a/Abilities/Fireballv2.tscn b/Abilities/Fireball/Fireballv2.tscn similarity index 82% rename from Abilities/Fireballv2.tscn rename to Abilities/Fireball/Fireballv2.tscn index 6445862..749d5b6 100644 --- a/Abilities/Fireballv2.tscn +++ b/Abilities/Fireball/Fireballv2.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://dhobg02glafch"] -[ext_resource type="Script" uid="uid://c4cmav4r8i83e" path="res://Abilities/Fireballv2.cs" id="1_8mjwt"] -[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball.png" id="2_0w1e3"] +[ext_resource type="Script" uid="uid://c4cmav4r8i83e" path="res://Abilities/Fireball/Fireballv2.cs" id="1_8mjwt"] +[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball/Fireball.png" id="2_0w1e3"] [sub_resource type="CircleShape2D" id="CircleShape2D_nvq50"] radius = 6.0 @@ -9,7 +9,9 @@ radius = 6.0 [node name="Fireballv2" type="Area2D"] script = ExtResource("1_8mjwt") TurnRate = 8.0 +OrbitStrength = 1.0 Speed = 500.0 +Lifetime = 1.0 [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("2_0w1e3") diff --git a/Abilities/Fireballv3.cs b/Abilities/Fireball/Fireballv3.cs similarity index 100% rename from Abilities/Fireballv3.cs rename to Abilities/Fireball/Fireballv3.cs diff --git a/Abilities/Fireballv3.cs.uid b/Abilities/Fireball/Fireballv3.cs.uid similarity index 100% rename from Abilities/Fireballv3.cs.uid rename to Abilities/Fireball/Fireballv3.cs.uid diff --git a/Abilities/Fireballv3.tscn b/Abilities/Fireball/Fireballv3.tscn similarity index 84% rename from Abilities/Fireballv3.tscn rename to Abilities/Fireball/Fireballv3.tscn index f5bfddd..f2446e5 100644 --- a/Abilities/Fireballv3.tscn +++ b/Abilities/Fireball/Fireballv3.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://b2u2xirxjo68h"] -[ext_resource type="Script" uid="uid://bwwxti5v178gx" path="res://Abilities/Fireballv3.cs" id="1_8c7o3"] -[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball.png" id="2_aknci"] +[ext_resource type="Script" uid="uid://bwwxti5v178gx" path="res://Abilities/Fireball/Fireballv3.cs" id="1_8c7o3"] +[ext_resource type="Texture2D" uid="uid://mesi0bfnca6y" path="res://Abilities/Fireball/Fireball.png" id="2_aknci"] [sub_resource type="CircleShape2D" id="CircleShape2D_nvq50"] radius = 6.0 @@ -10,6 +10,7 @@ radius = 6.0 script = ExtResource("1_8c7o3") TurnSpeed = 8.0 Speed = 500.0 +Lifetime = 1.0 [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("2_aknci") diff --git a/Abilities/ProjectileBase.cs b/Abilities/ProjectileBase.cs index 90c4a79..0efd1f2 100644 --- a/Abilities/ProjectileBase.cs +++ b/Abilities/ProjectileBase.cs @@ -3,8 +3,10 @@ using Godot; public partial class ProjectileBase : Area2D { [Export] public float Speed { get; set; } + [Export] public float Lifetime { get; set; } protected CharacterBase? Character; + protected float Age { get; private set; } = 0f; public override void _Ready() { @@ -14,6 +16,16 @@ public partial class ProjectileBase : Area2D } } + public override void _Process(double delta) + { + Age += (float)delta; + + if (Age >= Lifetime) + { + QueueFree(); + } + } + void OnBodyEntered(Node body) { if (body == Character) diff --git a/Characters/Alien/Alien.cs b/Characters/Alien/Alien.cs new file mode 100644 index 0000000..3501d7a --- /dev/null +++ b/Characters/Alien/Alien.cs @@ -0,0 +1,24 @@ +using Godot; +using System; + +public partial class Alien : CharacterBase +{ + private AnimatedSprite2D? _animatedSprite; + + public override void _Ready() + { + _animatedSprite = GetNode("AnimatedSprite2D"); + } + + public override void _Process(double delta) + { + if (IsMoving) + { + _animatedSprite?.Play("walk"); + } + else + { + _animatedSprite?.Stop(); + } + } +} diff --git a/Characters/Alien/Alien.cs.uid b/Characters/Alien/Alien.cs.uid new file mode 100644 index 0000000..08737d6 --- /dev/null +++ b/Characters/Alien/Alien.cs.uid @@ -0,0 +1 @@ +uid://bi3skhkybwoa7 diff --git a/Characters/Alien/Alien.tres b/Characters/Alien/Alien.tres new file mode 100644 index 0000000..edad691 --- /dev/null +++ b/Characters/Alien/Alien.tres @@ -0,0 +1,37 @@ +[gd_resource type="SpriteFrames" load_steps=5 format=3 uid="uid://bqy3twlyxmhx6"] + +[ext_resource type="Texture2D" uid="uid://lja331o88abg" path="res://Characters/Alien/Sprite-0004.png" id="1_gpyw1"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ffiei"] +atlas = ExtResource("1_gpyw1") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d4kv8"] +atlas = ExtResource("1_gpyw1") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_117nm"] +atlas = ExtResource("1_gpyw1") +region = Rect2(16, 0, 16, 32) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ffiei") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_d4kv8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_117nm") +}], +"loop": true, +"name": &"walk", +"speed": 5.0 +}] diff --git a/Characters/Alien/Alien.tscn b/Characters/Alien/Alien.tscn new file mode 100644 index 0000000..6e79dd9 --- /dev/null +++ b/Characters/Alien/Alien.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=3 uid="uid://lfawbspot0vf"] + +[ext_resource type="Script" uid="uid://bi3skhkybwoa7" path="res://Characters/Alien/Alien.cs" id="1_h37a8"] +[ext_resource type="SpriteFrames" uid="uid://bqy3twlyxmhx6" path="res://Characters/Alien/Alien.tres" id="2_5lqdc"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_h37a8"] +radius = 4.0 +height = 28.0 + +[node name="Alien" type="CharacterBody2D" groups=["Player"]] +script = ExtResource("1_h37a8") +Speed = 150.0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(0, 1) +shape = SubResource("CapsuleShape2D_h37a8") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("2_5lqdc") +animation = &"walk" diff --git a/Characters/Alien/Sprite-0004.png b/Characters/Alien/Sprite-0004.png new file mode 100644 index 0000000..6b4d81d Binary files /dev/null and b/Characters/Alien/Sprite-0004.png differ diff --git a/Characters/Alien/Sprite-0004.png.import b/Characters/Alien/Sprite-0004.png.import new file mode 100644 index 0000000..4d1b677 --- /dev/null +++ b/Characters/Alien/Sprite-0004.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lja331o88abg" +path="res://.godot/imported/Sprite-0004.png-e66795ad74755bd4c94f14c19c9ecbcb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Characters/Alien/Sprite-0004.png" +dest_files=["res://.godot/imported/Sprite-0004.png-e66795ad74755bd4c94f14c19c9ecbcb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Characters/CharacterBase.cs b/Characters/CharacterBase.cs index fc004e9..d9ef5b7 100644 --- a/Characters/CharacterBase.cs +++ b/Characters/CharacterBase.cs @@ -18,6 +18,8 @@ public abstract partial class CharacterBase : CharacterBody2D => (GetGlobalMousePosition() - GlobalPosition).Angle(); protected bool IsPrimaryOnCooldown => primaryCooldown > 0f; + protected bool IsMoving + => Velocity != Vector2.Zero; float primaryCooldown; @@ -34,7 +36,7 @@ public abstract partial class CharacterBase : CharacterBody2D void HandleInput(double delta) { - var direction = Input.GetVector(InputLeft, InputRight, InputUp, InputDown); + var direction = Input.GetVector(InputLeft, InputRight, InputUp, InputDown).Normalized(); Velocity = direction * Speed; diff --git a/Characters/Crying Ghost/Crying Ghost.tres b/Characters/Crying Ghost/Crying Ghost.tres new file mode 100644 index 0000000..828d17d --- /dev/null +++ b/Characters/Crying Ghost/Crying Ghost.tres @@ -0,0 +1,72 @@ +[gd_resource type="SpriteFrames" load_steps=10 format=3 uid="uid://v2dncd7e66ki"] + +[ext_resource type="Texture2D" uid="uid://cktqad5dxfmst" path="res://Characters/Crying Ghost/Sprite-0008.png" id="1_pumse"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_3x7sv"] +atlas = ExtResource("1_pumse") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b8dh6"] +atlas = ExtResource("1_pumse") +region = Rect2(0, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1m6wj"] +atlas = ExtResource("1_pumse") +region = Rect2(16, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nxsb8"] +atlas = ExtResource("1_pumse") +region = Rect2(32, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eav7g"] +atlas = ExtResource("1_pumse") +region = Rect2(48, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xejkc"] +atlas = ExtResource("1_pumse") +region = Rect2(64, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xcy63"] +atlas = ExtResource("1_pumse") +region = Rect2(80, 0, 16, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uxp54"] +atlas = ExtResource("1_pumse") +region = Rect2(96, 0, 16, 32) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3x7sv") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_b8dh6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1m6wj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nxsb8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eav7g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xejkc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xcy63") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uxp54") +}], +"loop": true, +"name": &"idle", +"speed": 5.0 +}] diff --git a/Characters/Crying Ghost/Crying Ghost.tscn b/Characters/Crying Ghost/Crying Ghost.tscn new file mode 100644 index 0000000..b2abe5d --- /dev/null +++ b/Characters/Crying Ghost/Crying Ghost.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=5 format=3 uid="uid://61hp8l06y7ka"] + +[ext_resource type="Script" uid="uid://d2mxshuj7um8x" path="res://Characters/Crying Ghost/CryingGhost.cs" id="1_wdx63"] +[ext_resource type="SpriteFrames" uid="uid://v2dncd7e66ki" path="res://Characters/Crying Ghost/Crying Ghost.tres" id="2_6ooq7"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wdx63"] +radius = 4.0 +height = 22.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_wdx63"] +radius = 128.0 + +[node name="CryingGhost" type="CharacterBody2D"] +script = ExtResource("1_wdx63") +Speed = 50.0 + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("2_6ooq7") +animation = &"idle" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CapsuleShape2D_wdx63") + +[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."] +path_desired_distance = 4.0 +target_desired_distance = 4.0 +path_postprocessing = 1 +avoidance_enabled = true +radius = 4.0 +debug_enabled = true + +[node name="DetectionArea" type="Area2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DetectionArea"] +shape = SubResource("CircleShape2D_wdx63") + +[node name="TargetTimer" type="Timer" parent="."] +wait_time = 0.25 diff --git a/Characters/Crying Ghost/CryingGhost.cs b/Characters/Crying Ghost/CryingGhost.cs new file mode 100644 index 0000000..a6bab64 --- /dev/null +++ b/Characters/Crying Ghost/CryingGhost.cs @@ -0,0 +1,78 @@ +using Godot; +using System.Diagnostics.CodeAnalysis; + +public partial class CryingGhost : CharacterBase +{ + private AnimatedSprite2D _animatedSprite = default!; + private NavigationAgent2D _navigationAgent = default!; + private Area2D _detectionArea = default!; + private Timer _targetTimer = default!; + + protected Node2D? Target { get; private set; } + [MemberNotNullWhen(true, nameof(Target))] + protected bool HasTarget => Target is not null; + + public override void _Ready() + { + _animatedSprite = GetNode("AnimatedSprite2D"); + _navigationAgent = GetNode("NavigationAgent2D"); + _detectionArea = GetNode("DetectionArea"); + _targetTimer = GetNode("TargetTimer"); + + _animatedSprite?.Play("idle"); + _detectionArea.BodyEntered += OnBodyEntered; + _detectionArea.BodyExited += OnBodyExited; + _targetTimer.Timeout += OnTimeout; + _navigationAgent.VelocityComputed += OnVelocityComputed; + } + + public override void _PhysicsProcess(double delta) + { + if (!HasTarget) + { + Velocity = Vector2.Zero; + } + else + { + var nextPosition = _navigationAgent.GetNextPathPosition(); + var direction = (nextPosition - GlobalPosition).Normalized(); + + _navigationAgent.Velocity = direction * Speed; + } + + MoveAndSlide(); + } + + void OnBodyEntered(Node2D body) + { + if (body.IsInGroup("Player")) + { + Target = body; + _navigationAgent.TargetPosition = Target.GlobalPosition; + _targetTimer.Start(); + } + } + + void OnBodyExited(Node2D body) + { + if (body == Target) + { + Target = null; + _navigationAgent.TargetPosition = GlobalPosition; + _targetTimer.Stop(); + } + } + + void OnTimeout() + { + if (HasTarget) + { + _navigationAgent.TargetPosition = Target.GlobalPosition; + } + } + + void OnVelocityComputed(Vector2 safeVelocity) + { + Velocity = safeVelocity; + } +} diff --git a/Characters/Crying Ghost/CryingGhost.cs.uid b/Characters/Crying Ghost/CryingGhost.cs.uid new file mode 100644 index 0000000..2398170 --- /dev/null +++ b/Characters/Crying Ghost/CryingGhost.cs.uid @@ -0,0 +1 @@ +uid://d2mxshuj7um8x diff --git a/Characters/Crying Ghost/Sprite-0008.png b/Characters/Crying Ghost/Sprite-0008.png new file mode 100644 index 0000000..6fb52fa Binary files /dev/null and b/Characters/Crying Ghost/Sprite-0008.png differ diff --git a/Characters/Crying Ghost/Sprite-0008.png.import b/Characters/Crying Ghost/Sprite-0008.png.import new file mode 100644 index 0000000..1c767a0 --- /dev/null +++ b/Characters/Crying Ghost/Sprite-0008.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cktqad5dxfmst" +path="res://.godot/imported/Sprite-0008.png-1fafa4a9bb9b4df1192de33bd2fa3429.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Characters/Crying Ghost/Sprite-0008.png" +dest_files=["res://.godot/imported/Sprite-0008.png-1fafa4a9bb9b4df1192de33bd2fa3429.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Characters/Knight/Knight.tscn b/Characters/Knight/Knight.tscn index 8f83b48..8f6c045 100644 --- a/Characters/Knight/Knight.tscn +++ b/Characters/Knight/Knight.tscn @@ -11,7 +11,7 @@ size = Vector2(16, 32) motion_mode = 1 script = ExtResource("1_8l5bb") Weapon = ExtResource("2_0fgit") -Speed = 300.0 +Speed = 100.0 PrimaryCooldown = 1.0 [node name="Body" type="Sprite2D" parent="."] diff --git a/Characters/Potato/Potato.cs b/Characters/Potato/Potato.cs new file mode 100644 index 0000000..3a9ebd6 --- /dev/null +++ b/Characters/Potato/Potato.cs @@ -0,0 +1,24 @@ +using Godot; +using System; + +public partial class Potato : CharacterBase +{ + private AnimatedSprite2D? _animatedSprite; + + public override void _Ready() + { + _animatedSprite = GetNode("AnimatedSprite2D"); + } + + public override void _Process(double delta) + { + if (IsMoving) + { + _animatedSprite?.Play("walk"); + } + else + { + _animatedSprite?.Stop(); + } + } +} diff --git a/Characters/Potato/Potato.cs.uid b/Characters/Potato/Potato.cs.uid new file mode 100644 index 0000000..b9ac227 --- /dev/null +++ b/Characters/Potato/Potato.cs.uid @@ -0,0 +1 @@ +uid://dq1dx56o8k7tg diff --git a/Characters/Potato/Potato.tres b/Characters/Potato/Potato.tres new file mode 100644 index 0000000..fd65f1c --- /dev/null +++ b/Characters/Potato/Potato.tres @@ -0,0 +1,34 @@ +[gd_resource type="SpriteFrames" load_steps=5 format=3 uid="uid://drrdnd1kwr7lj"] + +[ext_resource type="Texture2D" uid="uid://bvs8vrofgjoag" path="res://Characters/Potato/potato.png" id="1_os4wu"] +[ext_resource type="Texture2D" uid="uid://cjs21sigvksdf" path="res://Characters/Potato/potato_walk.png" id="2_g3cha"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_cu4k2"] +atlas = ExtResource("2_g3cha") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f5v2o"] +atlas = ExtResource("2_g3cha") +region = Rect2(16, 0, 16, 16) + +[resource] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": ExtResource("1_os4wu") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cu4k2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f5v2o") +}], +"loop": true, +"name": &"walk", +"speed": 5.0 +}] diff --git a/Characters/Potato/Potato.tscn b/Characters/Potato/Potato.tscn new file mode 100644 index 0000000..e3eab18 --- /dev/null +++ b/Characters/Potato/Potato.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=3 uid="uid://bqbsh3mejgs18"] + +[ext_resource type="Script" uid="uid://dq1dx56o8k7tg" path="res://Characters/Potato/Potato.cs" id="1_nwx1l"] +[ext_resource type="SpriteFrames" uid="uid://drrdnd1kwr7lj" path="res://Characters/Potato/Potato.tres" id="2_sw86o"] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_sw86o"] +radius = 4.1781855 +height = 15.565589 + +[node name="Potato" type="CharacterBody2D"] +script = ExtResource("1_nwx1l") +Speed = 100.0 + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = ExtResource("2_sw86o") +animation = &"walk" +frame_progress = 0.988052 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +rotation = 0.61086524 +shape = SubResource("CapsuleShape2D_sw86o") diff --git a/Characters/Potato/potato.png b/Characters/Potato/potato.png new file mode 100644 index 0000000..7cfd152 Binary files /dev/null and b/Characters/Potato/potato.png differ diff --git a/Characters/Potato/potato.png.import b/Characters/Potato/potato.png.import new file mode 100644 index 0000000..163e16b --- /dev/null +++ b/Characters/Potato/potato.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvs8vrofgjoag" +path="res://.godot/imported/potato.png-8d8c005bc502d63f08b319ec956f9fa9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Characters/Potato/potato.png" +dest_files=["res://.godot/imported/potato.png-8d8c005bc502d63f08b319ec956f9fa9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Characters/Potato/potato_walk.png b/Characters/Potato/potato_walk.png new file mode 100644 index 0000000..74fdc07 Binary files /dev/null and b/Characters/Potato/potato_walk.png differ diff --git a/Characters/Potato/potato_walk.png.import b/Characters/Potato/potato_walk.png.import new file mode 100644 index 0000000..917c4a5 --- /dev/null +++ b/Characters/Potato/potato_walk.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjs21sigvksdf" +path="res://.godot/imported/potato_walk.png-796309b1abb8d979328a6e8ba0383026.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Characters/Potato/potato_walk.png" +dest_files=["res://.godot/imported/potato_walk.png-796309b1abb8d979328a6e8ba0383026.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Characters/Wizard/Wizard.tscn b/Characters/Wizard/Wizard.tscn index 7ee87c9..ad2fae3 100644 --- a/Characters/Wizard/Wizard.tscn +++ b/Characters/Wizard/Wizard.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://qi1cvcj41wxr" path="res://Characters/Wizard/Body.png" id="1_pptet"] [ext_resource type="Script" uid="uid://cx2flf2i3h0rv" path="res://Characters/Wizard/Wizard.cs" id="1_vgyld"] -[ext_resource type="PackedScene" uid="uid://b2u2xirxjo68h" path="res://Abilities/Fireballv3.tscn" id="2_n5kae"] +[ext_resource type="PackedScene" uid="uid://b2u2xirxjo68h" path="res://Abilities/Fireball/Fireballv3.tscn" id="2_n5kae"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_n5kae"] size = Vector2(16, 32) @@ -11,7 +11,7 @@ size = Vector2(16, 32) motion_mode = 1 script = ExtResource("1_vgyld") Projectile = ExtResource("2_n5kae") -Speed = 300.0 +Speed = 75.0 PrimaryCooldown = 0.5 [node name="Body" type="Sprite2D" parent="."] diff --git a/Environment/Tiles/FloorTile16.png b/Environment/Tiles/Floor/Debug.png similarity index 100% rename from Environment/Tiles/FloorTile16.png rename to Environment/Tiles/Floor/Debug.png diff --git a/Environment/Tiles/FloorTile16.png.import b/Environment/Tiles/Floor/Debug.png.import similarity index 76% rename from Environment/Tiles/FloorTile16.png.import rename to Environment/Tiles/Floor/Debug.png.import index 73f40e4..a6690f8 100644 --- a/Environment/Tiles/FloorTile16.png.import +++ b/Environment/Tiles/Floor/Debug.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://urhgw0tiji88" -path="res://.godot/imported/FloorTile16.png-0ec93fd5f65affde1fdd7c93b3b9e4c8.ctex" +path="res://.godot/imported/Debug.png-8a36d959f9111130b60ad1eafc5350a5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Environment/Tiles/FloorTile16.png" -dest_files=["res://.godot/imported/FloorTile16.png-0ec93fd5f65affde1fdd7c93b3b9e4c8.ctex"] +source_file="res://Environment/Tiles/Floor/Debug.png" +dest_files=["res://.godot/imported/Debug.png-8a36d959f9111130b60ad1eafc5350a5.ctex"] [params] diff --git a/Environment/Tiles/Floor/Plain.png b/Environment/Tiles/Floor/Plain.png new file mode 100644 index 0000000..5bb7b66 Binary files /dev/null and b/Environment/Tiles/Floor/Plain.png differ diff --git a/Environment/Tiles/Floor/Plain.png.import b/Environment/Tiles/Floor/Plain.png.import new file mode 100644 index 0000000..58086f5 --- /dev/null +++ b/Environment/Tiles/Floor/Plain.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7ftsqvk686hn" +path="res://.godot/imported/Plain.png-34f9baf8febb9fa7112834a539263591.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Environment/Tiles/Floor/Plain.png" +dest_files=["res://.godot/imported/Plain.png-34f9baf8febb9fa7112834a539263591.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Environment/Tiles/Floor/Square4.png b/Environment/Tiles/Floor/Square4.png new file mode 100644 index 0000000..c553b31 Binary files /dev/null and b/Environment/Tiles/Floor/Square4.png differ diff --git a/Environment/Tiles/Floor/Square4.png.import b/Environment/Tiles/Floor/Square4.png.import new file mode 100644 index 0000000..a021de6 --- /dev/null +++ b/Environment/Tiles/Floor/Square4.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sm06orxldfgs" +path="res://.godot/imported/Square4.png-93df56fcb113c6281d288843bd40d197.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Environment/Tiles/Floor/Square4.png" +dest_files=["res://.godot/imported/Square4.png-93df56fcb113c6281d288843bd40d197.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Environment/Tiles/Tiles.tres b/Environment/Tiles/Tiles.tres index 86a7b12..599fc75 100644 --- a/Environment/Tiles/Tiles.tres +++ b/Environment/Tiles/Tiles.tres @@ -1,18 +1,48 @@ -[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://cvtrfc1jh3v56"] +[gd_resource type="TileSet" load_steps=12 format=3 uid="uid://cvtrfc1jh3v56"] -[ext_resource type="Texture2D" uid="uid://urhgw0tiji88" path="res://Environment/Tiles/FloorTile16.png" id="1_g8jos"] -[ext_resource type="Texture2D" uid="uid://cp4va5lqydihh" path="res://Environment/Tiles/WallTile16.png" id="2_gv1ha"] +[ext_resource type="Texture2D" uid="uid://urhgw0tiji88" path="res://Environment/Tiles/Floor/Debug.png" id="1_21hfy"] +[ext_resource type="Texture2D" uid="uid://cp4va5lqydihh" path="res://Environment/Tiles/Wall/Debug.png" id="2_8ptfa"] +[ext_resource type="Texture2D" uid="uid://sm06orxldfgs" path="res://Environment/Tiles/Floor/Square4.png" id="3_d7vwv"] +[ext_resource type="Texture2D" uid="uid://7ftsqvk686hn" path="res://Environment/Tiles/Floor/Plain.png" id="4_e3nq8"] + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_21hfy"] +vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)]) +agent_radius = 0.0 [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_21hfy"] -texture = ExtResource("1_g8jos") +texture = ExtResource("1_21hfy") 0:0/0 = 0 +0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_21hfy") [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_8ptfa"] -texture = ExtResource("2_gv1ha") +texture = ExtResource("2_8ptfa") 0:0/0 = 0 0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) +[sub_resource type="NavigationPolygon" id="NavigationPolygon_8ptfa"] +vertices = PackedVector2Array(8, 8, -8, 8, -8, -8, 8, -8) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)]) +agent_radius = 0.0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_d7vwv"] +texture = ExtResource("3_d7vwv") +0:0/0 = 0 +0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_8ptfa") + +[sub_resource type="NavigationPolygon" id="NavigationPolygon_d7vwv"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e4sdj"] +texture = ExtResource("4_e3nq8") +0:0/0 = 0 +0:0/0/navigation_layer_0/polygon = SubResource("NavigationPolygon_d7vwv") + [resource] physics_layer_0/collision_layer = 1 +navigation_layer_0/layers = 1 sources/0 = SubResource("TileSetAtlasSource_21hfy") sources/1 = SubResource("TileSetAtlasSource_8ptfa") +sources/2 = SubResource("TileSetAtlasSource_d7vwv") +sources/3 = SubResource("TileSetAtlasSource_e4sdj") diff --git a/Environment/Tiles/WallTile16.png b/Environment/Tiles/Wall/Debug.png similarity index 100% rename from Environment/Tiles/WallTile16.png rename to Environment/Tiles/Wall/Debug.png diff --git a/Environment/Tiles/WallTile16.png.import b/Environment/Tiles/Wall/Debug.png.import similarity index 76% rename from Environment/Tiles/WallTile16.png.import rename to Environment/Tiles/Wall/Debug.png.import index bff2d97..85a56db 100644 --- a/Environment/Tiles/WallTile16.png.import +++ b/Environment/Tiles/Wall/Debug.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cp4va5lqydihh" -path="res://.godot/imported/WallTile16.png-49a4d5bdce0b800a761a2052cdcbe3d6.ctex" +path="res://.godot/imported/Debug.png-8c9002057f574af6c8e6ddeba457752c.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Environment/Tiles/WallTile16.png" -dest_files=["res://.godot/imported/WallTile16.png-49a4d5bdce0b800a761a2052cdcbe3d6.ctex"] +source_file="res://Environment/Tiles/Wall/Debug.png" +dest_files=["res://.godot/imported/Debug.png-8c9002057f574af6c8e6ddeba457752c.ctex"] [params] diff --git a/Stages/Sandbox.tscn b/Stages/Sandbox.tscn index f36c038..8a25a47 100644 --- a/Stages/Sandbox.tscn +++ b/Stages/Sandbox.tscn @@ -1,17 +1,23 @@ -[gd_scene load_steps=5 format=4 uid="uid://bls8padw7lugq"] +[gd_scene load_steps=6 format=4 uid="uid://bls8padw7lugq"] [ext_resource type="TileSet" uid="uid://cvtrfc1jh3v56" path="res://Environment/Tiles/Tiles.tres" id="1_8ulg6"] -[ext_resource type="PackedScene" uid="uid://xcfscklhvnew" path="res://Characters/Wizard/Wizard.tscn" id="1_qjlds"] -[ext_resource type="PackedScene" uid="uid://dhobg02glafch" path="res://Abilities/Fireballv2.tscn" id="3_wxhq4"] +[ext_resource type="PackedScene" uid="uid://lfawbspot0vf" path="res://Characters/Alien/Alien.tscn" id="2_8ulg6"] +[ext_resource type="PackedScene" uid="uid://61hp8l06y7ka" path="res://Characters/Crying Ghost/Crying Ghost.tscn" id="3_wxhq4"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_8ulg6"] size = Vector2(64, 193) +[sub_resource type="NavigationPolygon" id="NavigationPolygon_wxhq4"] +vertices = PackedVector2Array(224, -480, 224, -336, 16, -336, -304, -480, 256, -112, 256, -224, 432, -224, 432, -96, 272, -96, 272, -64, 112, -64, 16, -112, 112, 112, -112, 112, -112, -112, -16, -112, -16, -336, -304, -336) +polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(4, 5, 6, 7, 8), PackedInt32Array(4, 8, 9, 10, 11), PackedInt32Array(10, 12, 13, 14, 15), PackedInt32Array(11, 10, 15), PackedInt32Array(2, 11, 15, 16), PackedInt32Array(3, 2, 16), PackedInt32Array(3, 16, 17)]) +outlines = Array[PackedVector2Array]([PackedVector2Array(-320, -496, -320, -320, -32, -320, -32, -128, -128, -128, -128, 128, 128, 128, 128, -48, 288, -48, 288, -80, 448, -80, 448, -240, 240, -240, 240, -128, 32, -128, 32, -320, 240, -320, 240, -496)]) +agent_radius = 16.0 + [node name="Sandbox" type="Node2D"] [node name="Floor" type="TileMapLayer" parent="."] position = Vector2(0, -1) -tile_map_data = PackedByteArray("AAD9//z/AAAAAAAAAAD9//3/AAAAAAAAAAD9//7/AAAAAAAAAAD9////AAAAAAAAAAD9/wAAAAAAAAAAAAD9/wEAAAAAAAAAAAD9/wIAAAAAAAAAAAD9/wMAAAAAAAAAAAD+//z/AAAAAAAAAAD+//3/AAAAAAAAAAD+//7/AAAAAAAAAAD+////AAAAAAAAAAD+/wAAAAAAAAAAAAD+/wEAAAAAAAAAAAD+/wIAAAAAAAAAAAD+/wMAAAAAAAAAAAD///z/AAAAAAAAAAD///3/AAAAAAAAAAD///7/AAAAAAAAAAD/////AAAAAAAAAAD//wAAAAAAAAAAAAD//wEAAAAAAAAAAAD//wIAAAAAAAAAAAD//wMAAAAAAAAAAAAAAPz/AAAAAAAAAAAAAP3/AAAAAAAAAAAAAP7/AAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAABAPz/AAAAAAAAAAABAP3/AAAAAAAAAAABAP7/AAAAAAAAAAABAP//AAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAABAAIAAAAAAAAAAAABAAMAAAAAAAAAAAACAPz/AAAAAAAAAAACAP3/AAAAAAAAAAACAP7/AAAAAAAAAAACAP//AAAAAAAAAAACAAAAAAAAAAAAAAACAAEAAAAAAAAAAAACAAIAAAAAAAAAAAACAAMAAAAAAAAAAAADAPz/AAAAAAAAAAADAP3/AAAAAAAAAAADAP7/AAAAAAAAAAADAP//AAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADAAMAAAAAAAAAAAD8//z/AAAAAAAAAAD8//3/AAAAAAAAAAD8//7/AAAAAAAAAAD8////AAAAAAAAAAD8/wAAAAAAAAAAAAD8/wEAAAAAAAAAAAD8/wIAAAAAAAAAAAD8/wMAAAAAAAAAAAD4//j/AAAAAAAAAAD4//n/AAAAAAAAAAD4//r/AAAAAAAAAAD4//v/AAAAAAAAAAD4//z/AAAAAAAAAAD4//3/AAAAAAAAAAD4//7/AAAAAAAAAAD4////AAAAAAAAAAD4/wAAAAAAAAAAAAD4/wEAAAAAAAAAAAD4/wIAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD4/wcAAAAAAAAAAAD5//j/AAAAAAAAAAD5//n/AAAAAAAAAAD5//r/AAAAAAAAAAD5//v/AAAAAAAAAAD5//z/AAAAAAAAAAD5//3/AAAAAAAAAAD5//7/AAAAAAAAAAD5////AAAAAAAAAAD5/wAAAAAAAAAAAAD5/wEAAAAAAAAAAAD5/wIAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD5/wcAAAAAAAAAAAD6//j/AAAAAAAAAAD6//n/AAAAAAAAAAD6//r/AAAAAAAAAAD6//v/AAAAAAAAAAD6//z/AAAAAAAAAAD6//3/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD6/wAAAAAAAAAAAAD6/wEAAAAAAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD6/wcAAAAAAAAAAAD7//j/AAAAAAAAAAD7//n/AAAAAAAAAAD7//r/AAAAAAAAAAD7//v/AAAAAAAAAAD7//z/AAAAAAAAAAD7//3/AAAAAAAAAAD7//7/AAAAAAAAAAD7////AAAAAAAAAAD7/wAAAAAAAAAAAAD7/wEAAAAAAAAAAAD7/wIAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD7/wcAAAAAAAAAAAD8//j/AAAAAAAAAAD8//n/AAAAAAAAAAD8//r/AAAAAAAAAAD8//v/AAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD8/wcAAAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD9//r/AAAAAAAAAAD9//v/AAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD9/wcAAAAAAAAAAAD+//j/AAAAAAAAAAD+//n/AAAAAAAAAAD+//r/AAAAAAAAAAD+//v/AAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD+/wcAAAAAAAAAAAD///j/AAAAAAAAAAD///n/AAAAAAAAAAD///r/AAAAAAAAAAD///v/AAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAD//wcAAAAAAAAAAAAAAPj/AAAAAAAAAAAAAPn/AAAAAAAAAAAAAPr/AAAAAAAAAAAAAPv/AAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAABAPj/AAAAAAAAAAABAPn/AAAAAAAAAAABAPr/AAAAAAAAAAABAPv/AAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAACAPj/AAAAAAAAAAACAPn/AAAAAAAAAAACAPr/AAAAAAAAAAACAPv/AAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAACAAcAAAAAAAAAAAADAPj/AAAAAAAAAAADAPn/AAAAAAAAAAADAPr/AAAAAAAAAAADAPv/AAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAADAAcAAAAAAAAAAAAEAPj/AAAAAAAAAAAEAPn/AAAAAAAAAAAEAPr/AAAAAAAAAAAEAPv/AAAAAAAAAAAEAPz/AAAAAAAAAAAEAP3/AAAAAAAAAAAEAP7/AAAAAAAAAAAEAP//AAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEAAMAAAAAAAAAAAAEAAQAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAEAAcAAAAAAAAAAAAFAPj/AAAAAAAAAAAFAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAFAPv/AAAAAAAAAAAFAPz/AAAAAAAAAAAFAP3/AAAAAAAAAAAFAP7/AAAAAAAAAAAFAP//AAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFAAMAAAAAAAAAAAAFAAQAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAFAAcAAAAAAAAAAAAGAPj/AAAAAAAAAAAGAPn/AAAAAAAAAAAGAPr/AAAAAAAAAAAGAPv/AAAAAAAAAAAGAPz/AAAAAAAAAAAGAP3/AAAAAAAAAAAGAP7/AAAAAAAAAAAGAP//AAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAGAAMAAAAAAAAAAAAGAAQAAAAAAAAAAAAGAAUAAAAAAAAAAAAGAAYAAAAAAAAAAAAGAAcAAAAAAAAAAAAHAPj/AAAAAAAAAAAHAPn/AAAAAAAAAAAHAPr/AAAAAAAAAAAHAPv/AAAAAAAAAAAHAPz/AAAAAAAAAAAHAP3/AAAAAAAAAAAHAP7/AAAAAAAAAAAHAP//AAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAHAAMAAAAAAAAAAAAHAAQAAAAAAAAAAAAHAAUAAAAAAAAAAAAHAAYAAAAAAAAAAAAHAAcAAAAAAAAAAAD///f/AAAAAAAAAAD///b/AAAAAAAAAAD///X/AAAAAAAAAAD///T/AAAAAAAAAAD///P/AAAAAAAAAAD+//f/AAAAAAAAAAD+//b/AAAAAAAAAAD+//X/AAAAAAAAAAD+//T/AAAAAAAAAAD+//P/AAAAAAAAAAD+//L/AAAAAAAAAAD+//H/AAAAAAAAAAD+//D/AAAAAAAAAAD+/+//AAAAAAAAAAD+/+7/AAAAAAAAAAD+/+3/AAAAAAAAAAD+/+z/AAAAAAAAAAD//+z/AAAAAAAAAAD//+3/AAAAAAAAAAD//+7/AAAAAAAAAAD//+//AAAAAAAAAAD///D/AAAAAAAAAAD///H/AAAAAAAAAAD///L/AAAAAAAAAAAAAOz/AAAAAAAAAAAAAO3/AAAAAAAAAAAAAO7/AAAAAAAAAAAAAO//AAAAAAAAAAAAAPD/AAAAAAAAAAAAAPH/AAAAAAAAAAAAAPL/AAAAAAAAAAAAAPP/AAAAAAAAAAAAAPT/AAAAAAAAAAAAAPX/AAAAAAAAAAAAAPb/AAAAAAAAAAAAAPf/AAAAAAAAAAABAOz/AAAAAAAAAAABAO3/AAAAAAAAAAABAO7/AAAAAAAAAAABAO//AAAAAAAAAAABAPD/AAAAAAAAAAABAPH/AAAAAAAAAAABAPL/AAAAAAAAAAABAPP/AAAAAAAAAAABAPT/AAAAAAAAAAABAPX/AAAAAAAAAAABAPb/AAAAAAAAAAABAPf/AAAAAAAAAADs/+H/AAAAAAAAAADs/+L/AAAAAAAAAADs/+P/AAAAAAAAAADs/+T/AAAAAAAAAADs/+X/AAAAAAAAAADs/+b/AAAAAAAAAADs/+f/AAAAAAAAAADs/+j/AAAAAAAAAADs/+n/AAAAAAAAAADs/+r/AAAAAAAAAADs/+v/AAAAAAAAAADt/+H/AAAAAAAAAADt/+L/AAAAAAAAAADt/+P/AAAAAAAAAADt/+T/AAAAAAAAAADt/+X/AAAAAAAAAADt/+b/AAAAAAAAAADt/+f/AAAAAAAAAADt/+j/AAAAAAAAAADt/+n/AAAAAAAAAADt/+r/AAAAAAAAAADt/+v/AAAAAAAAAADu/+H/AAAAAAAAAADu/+L/AAAAAAAAAADu/+P/AAAAAAAAAADu/+T/AAAAAAAAAADu/+X/AAAAAAAAAADu/+b/AAAAAAAAAADu/+f/AAAAAAAAAADu/+j/AAAAAAAAAADu/+n/AAAAAAAAAADu/+r/AAAAAAAAAADu/+v/AAAAAAAAAADv/+H/AAAAAAAAAADv/+L/AAAAAAAAAADv/+P/AAAAAAAAAADv/+T/AAAAAAAAAADv/+X/AAAAAAAAAADv/+b/AAAAAAAAAADv/+f/AAAAAAAAAADv/+j/AAAAAAAAAADv/+n/AAAAAAAAAADv/+r/AAAAAAAAAADv/+v/AAAAAAAAAADw/+H/AAAAAAAAAADw/+L/AAAAAAAAAADw/+P/AAAAAAAAAADw/+T/AAAAAAAAAADw/+X/AAAAAAAAAADw/+b/AAAAAAAAAADw/+f/AAAAAAAAAADw/+j/AAAAAAAAAADw/+n/AAAAAAAAAADw/+r/AAAAAAAAAADw/+v/AAAAAAAAAADx/+H/AAAAAAAAAADx/+L/AAAAAAAAAADx/+P/AAAAAAAAAADx/+T/AAAAAAAAAADx/+X/AAAAAAAAAADx/+b/AAAAAAAAAADx/+f/AAAAAAAAAADx/+j/AAAAAAAAAADx/+n/AAAAAAAAAADx/+r/AAAAAAAAAADx/+v/AAAAAAAAAADy/+H/AAAAAAAAAADy/+L/AAAAAAAAAADy/+P/AAAAAAAAAADy/+T/AAAAAAAAAADy/+X/AAAAAAAAAADy/+b/AAAAAAAAAADy/+f/AAAAAAAAAADy/+j/AAAAAAAAAADy/+n/AAAAAAAAAADy/+r/AAAAAAAAAADy/+v/AAAAAAAAAADz/+H/AAAAAAAAAADz/+L/AAAAAAAAAADz/+P/AAAAAAAAAADz/+T/AAAAAAAAAADz/+X/AAAAAAAAAADz/+b/AAAAAAAAAADz/+f/AAAAAAAAAADz/+j/AAAAAAAAAADz/+n/AAAAAAAAAADz/+r/AAAAAAAAAADz/+v/AAAAAAAAAAD0/+H/AAAAAAAAAAD0/+L/AAAAAAAAAAD0/+P/AAAAAAAAAAD0/+T/AAAAAAAAAAD0/+X/AAAAAAAAAAD0/+b/AAAAAAAAAAD0/+f/AAAAAAAAAAD0/+j/AAAAAAAAAAD0/+n/AAAAAAAAAAD0/+r/AAAAAAAAAAD0/+v/AAAAAAAAAAD1/+H/AAAAAAAAAAD1/+L/AAAAAAAAAAD1/+P/AAAAAAAAAAD1/+T/AAAAAAAAAAD1/+X/AAAAAAAAAAD1/+b/AAAAAAAAAAD1/+f/AAAAAAAAAAD1/+j/AAAAAAAAAAD1/+n/AAAAAAAAAAD1/+r/AAAAAAAAAAD1/+v/AAAAAAAAAAD2/+H/AAAAAAAAAAD2/+L/AAAAAAAAAAD2/+P/AAAAAAAAAAD2/+T/AAAAAAAAAAD2/+X/AAAAAAAAAAD2/+b/AAAAAAAAAAD2/+f/AAAAAAAAAAD2/+j/AAAAAAAAAAD2/+n/AAAAAAAAAAD2/+r/AAAAAAAAAAD2/+v/AAAAAAAAAAD3/+H/AAAAAAAAAAD3/+L/AAAAAAAAAAD3/+P/AAAAAAAAAAD3/+T/AAAAAAAAAAD3/+X/AAAAAAAAAAD3/+b/AAAAAAAAAAD3/+f/AAAAAAAAAAD3/+j/AAAAAAAAAAD3/+n/AAAAAAAAAAD3/+r/AAAAAAAAAAD3/+v/AAAAAAAAAAD4/+H/AAAAAAAAAAD4/+L/AAAAAAAAAAD4/+P/AAAAAAAAAAD4/+T/AAAAAAAAAAD4/+X/AAAAAAAAAAD4/+b/AAAAAAAAAAD4/+f/AAAAAAAAAAD4/+j/AAAAAAAAAAD4/+n/AAAAAAAAAAD4/+r/AAAAAAAAAAD4/+v/AAAAAAAAAAD5/+H/AAAAAAAAAAD5/+L/AAAAAAAAAAD5/+P/AAAAAAAAAAD5/+T/AAAAAAAAAAD5/+X/AAAAAAAAAAD5/+b/AAAAAAAAAAD5/+f/AAAAAAAAAAD5/+j/AAAAAAAAAAD5/+n/AAAAAAAAAAD5/+r/AAAAAAAAAAD5/+v/AAAAAAAAAAD6/+H/AAAAAAAAAAD6/+L/AAAAAAAAAAD6/+P/AAAAAAAAAAD6/+T/AAAAAAAAAAD6/+X/AAAAAAAAAAD6/+b/AAAAAAAAAAD6/+f/AAAAAAAAAAD6/+j/AAAAAAAAAAD6/+n/AAAAAAAAAAD6/+r/AAAAAAAAAAD6/+v/AAAAAAAAAAD7/+H/AAAAAAAAAAD7/+L/AAAAAAAAAAD7/+P/AAAAAAAAAAD7/+T/AAAAAAAAAAD7/+X/AAAAAAAAAAD7/+b/AAAAAAAAAAD7/+f/AAAAAAAAAAD7/+j/AAAAAAAAAAD7/+n/AAAAAAAAAAD7/+r/AAAAAAAAAAD7/+v/AAAAAAAAAAD8/+H/AAAAAAAAAAD8/+L/AAAAAAAAAAD8/+P/AAAAAAAAAAD8/+T/AAAAAAAAAAD8/+X/AAAAAAAAAAD8/+b/AAAAAAAAAAD8/+f/AAAAAAAAAAD8/+j/AAAAAAAAAAD8/+n/AAAAAAAAAAD8/+r/AAAAAAAAAAD8/+v/AAAAAAAAAAD9/+H/AAAAAAAAAAD9/+L/AAAAAAAAAAD9/+P/AAAAAAAAAAD9/+T/AAAAAAAAAAD9/+X/AAAAAAAAAAD9/+b/AAAAAAAAAAD9/+f/AAAAAAAAAAD9/+j/AAAAAAAAAAD9/+n/AAAAAAAAAAD9/+r/AAAAAAAAAAD9/+v/AAAAAAAAAAD+/+H/AAAAAAAAAAD+/+L/AAAAAAAAAAD+/+P/AAAAAAAAAAD+/+T/AAAAAAAAAAD+/+X/AAAAAAAAAAD+/+b/AAAAAAAAAAD+/+f/AAAAAAAAAAD+/+j/AAAAAAAAAAD+/+n/AAAAAAAAAAD+/+r/AAAAAAAAAAD+/+v/AAAAAAAAAAD//+H/AAAAAAAAAAD//+L/AAAAAAAAAAD//+P/AAAAAAAAAAD//+T/AAAAAAAAAAD//+X/AAAAAAAAAAD//+b/AAAAAAAAAAD//+f/AAAAAAAAAAD//+j/AAAAAAAAAAD//+n/AAAAAAAAAAD//+r/AAAAAAAAAAD//+v/AAAAAAAAAAAAAOH/AAAAAAAAAAAAAOL/AAAAAAAAAAAAAOP/AAAAAAAAAAAAAOT/AAAAAAAAAAAAAOX/AAAAAAAAAAAAAOb/AAAAAAAAAAAAAOf/AAAAAAAAAAAAAOj/AAAAAAAAAAAAAOn/AAAAAAAAAAAAAOr/AAAAAAAAAAAAAOv/AAAAAAAAAAABAOH/AAAAAAAAAAABAOL/AAAAAAAAAAABAOP/AAAAAAAAAAABAOT/AAAAAAAAAAABAOX/AAAAAAAAAAABAOb/AAAAAAAAAAABAOf/AAAAAAAAAAABAOj/AAAAAAAAAAABAOn/AAAAAAAAAAABAOr/AAAAAAAAAAABAOv/AAAAAAAAAAACAOH/AAAAAAAAAAACAOL/AAAAAAAAAAACAOP/AAAAAAAAAAACAOT/AAAAAAAAAAACAOX/AAAAAAAAAAACAOb/AAAAAAAAAAACAOf/AAAAAAAAAAACAOj/AAAAAAAAAAACAOn/AAAAAAAAAAACAOr/AAAAAAAAAAACAOv/AAAAAAAAAAADAOH/AAAAAAAAAAADAOL/AAAAAAAAAAADAOP/AAAAAAAAAAADAOT/AAAAAAAAAAADAOX/AAAAAAAAAAADAOb/AAAAAAAAAAADAOf/AAAAAAAAAAADAOj/AAAAAAAAAAADAOn/AAAAAAAAAAADAOr/AAAAAAAAAAADAOv/AAAAAAAAAAAEAOH/AAAAAAAAAAAEAOL/AAAAAAAAAAAEAOP/AAAAAAAAAAAEAOT/AAAAAAAAAAAEAOX/AAAAAAAAAAAEAOb/AAAAAAAAAAAEAOf/AAAAAAAAAAAEAOj/AAAAAAAAAAAEAOn/AAAAAAAAAAAEAOr/AAAAAAAAAAAEAOv/AAAAAAAAAAAFAOH/AAAAAAAAAAAFAOL/AAAAAAAAAAAFAOP/AAAAAAAAAAAFAOT/AAAAAAAAAAAFAOX/AAAAAAAAAAAFAOb/AAAAAAAAAAAFAOf/AAAAAAAAAAAFAOj/AAAAAAAAAAAFAOn/AAAAAAAAAAAFAOr/AAAAAAAAAAAFAOv/AAAAAAAAAAAGAOH/AAAAAAAAAAAGAOL/AAAAAAAAAAAGAOP/AAAAAAAAAAAGAOT/AAAAAAAAAAAGAOX/AAAAAAAAAAAGAOb/AAAAAAAAAAAGAOf/AAAAAAAAAAAGAOj/AAAAAAAAAAAGAOn/AAAAAAAAAAAGAOr/AAAAAAAAAAAGAOv/AAAAAAAAAAAHAOH/AAAAAAAAAAAHAOL/AAAAAAAAAAAHAOP/AAAAAAAAAAAHAOT/AAAAAAAAAAAHAOX/AAAAAAAAAAAHAOb/AAAAAAAAAAAHAOf/AAAAAAAAAAAHAOj/AAAAAAAAAAAHAOn/AAAAAAAAAAAHAOr/AAAAAAAAAAAHAOv/AAAAAAAAAAAIAOH/AAAAAAAAAAAIAOL/AAAAAAAAAAAIAOP/AAAAAAAAAAAIAOT/AAAAAAAAAAAIAOX/AAAAAAAAAAAIAOb/AAAAAAAAAAAIAOf/AAAAAAAAAAAIAOj/AAAAAAAAAAAIAOn/AAAAAAAAAAAIAOr/AAAAAAAAAAAIAOv/AAAAAAAAAAAJAOH/AAAAAAAAAAAJAOL/AAAAAAAAAAAJAOP/AAAAAAAAAAAJAOT/AAAAAAAAAAAJAOX/AAAAAAAAAAAJAOb/AAAAAAAAAAAJAOf/AAAAAAAAAAAJAOj/AAAAAAAAAAAJAOn/AAAAAAAAAAAJAOr/AAAAAAAAAAAJAOv/AAAAAAAAAAAKAOH/AAAAAAAAAAAKAOL/AAAAAAAAAAAKAOP/AAAAAAAAAAAKAOT/AAAAAAAAAAAKAOX/AAAAAAAAAAAKAOb/AAAAAAAAAAAKAOf/AAAAAAAAAAAKAOj/AAAAAAAAAAAKAOn/AAAAAAAAAAAKAOr/AAAAAAAAAAAKAOv/AAAAAAAAAAALAOH/AAAAAAAAAAALAOL/AAAAAAAAAAALAOP/AAAAAAAAAAALAOT/AAAAAAAAAAALAOX/AAAAAAAAAAALAOb/AAAAAAAAAAALAOf/AAAAAAAAAAALAOj/AAAAAAAAAAALAOn/AAAAAAAAAAALAOr/AAAAAAAAAAALAOv/AAAAAAAAAAAMAOH/AAAAAAAAAAAMAOL/AAAAAAAAAAAMAOP/AAAAAAAAAAAMAOT/AAAAAAAAAAAMAOX/AAAAAAAAAAAMAOb/AAAAAAAAAAAMAOf/AAAAAAAAAAAMAOj/AAAAAAAAAAAMAOn/AAAAAAAAAAAMAOr/AAAAAAAAAAAMAOv/AAAAAAAAAAANAOH/AAAAAAAAAAANAOL/AAAAAAAAAAANAOP/AAAAAAAAAAANAOT/AAAAAAAAAAANAOX/AAAAAAAAAAANAOb/AAAAAAAAAAANAOf/AAAAAAAAAAANAOj/AAAAAAAAAAANAOn/AAAAAAAAAAANAOr/AAAAAAAAAAANAOv/AAAAAAAAAAAOAOH/AAAAAAAAAAAOAOL/AAAAAAAAAAAOAOP/AAAAAAAAAAAOAOT/AAAAAAAAAAAOAOX/AAAAAAAAAAAOAOb/AAAAAAAAAAAOAOf/AAAAAAAAAAAOAOj/AAAAAAAAAAAOAOn/AAAAAAAAAAAOAOr/AAAAAAAAAAAOAOv/AAAAAAAAAAAQAPb/AAAAAAAAAAARAPb/AAAAAAAAAAASAPb/AAAAAAAAAAATAPb/AAAAAAAAAAAUAPb/AAAAAAAAAAAPAPP/AAAAAAAAAAAPAPT/AAAAAAAAAAAPAPX/AAAAAAAAAAAPAPb/AAAAAAAAAAAPAPf/AAAAAAAAAAAPAPj/AAAAAAAAAAAPAPn/AAAAAAAAAAAPAPr/AAAAAAAAAAAQAPP/AAAAAAAAAAAQAPT/AAAAAAAAAAAQAPX/AAAAAAAAAAAQAPf/AAAAAAAAAAAQAPj/AAAAAAAAAAAQAPn/AAAAAAAAAAAQAPr/AAAAAAAAAAARAPP/AAAAAAAAAAARAPT/AAAAAAAAAAARAPX/AAAAAAAAAAARAPf/AAAAAAAAAAARAPj/AAAAAAAAAAARAPn/AAAAAAAAAAARAPr/AAAAAAAAAAASAPP/AAAAAAAAAAASAPT/AAAAAAAAAAASAPX/AAAAAAAAAAASAPf/AAAAAAAAAAASAPj/AAAAAAAAAAASAPn/AAAAAAAAAAASAPr/AAAAAAAAAAATAPP/AAAAAAAAAAATAPT/AAAAAAAAAAATAPX/AAAAAAAAAAATAPf/AAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAAUAPP/AAAAAAAAAAAUAPT/AAAAAAAAAAAUAPX/AAAAAAAAAAAUAPf/AAAAAAAAAAAUAPj/AAAAAAAAAAAUAPn/AAAAAAAAAAAUAPr/AAAAAAAAAAAVAPP/AAAAAAAAAAAVAPT/AAAAAAAAAAAVAPX/AAAAAAAAAAAVAPb/AAAAAAAAAAAVAPf/AAAAAAAAAAAVAPj/AAAAAAAAAAAVAPn/AAAAAAAAAAAVAPr/AAAAAAAAAAAWAPP/AAAAAAAAAAAWAPT/AAAAAAAAAAAWAPX/AAAAAAAAAAAWAPb/AAAAAAAAAAAWAPf/AAAAAAAAAAAWAPj/AAAAAAAAAAAWAPn/AAAAAAAAAAAWAPr/AAAAAAAAAAAXAPP/AAAAAAAAAAAXAPT/AAAAAAAAAAAXAPX/AAAAAAAAAAAXAPb/AAAAAAAAAAAXAPf/AAAAAAAAAAAXAPj/AAAAAAAAAAAXAPn/AAAAAAAAAAAXAPr/AAAAAAAAAAAYAPP/AAAAAAAAAAAYAPT/AAAAAAAAAAAYAPX/AAAAAAAAAAAYAPb/AAAAAAAAAAAYAPf/AAAAAAAAAAAYAPj/AAAAAAAAAAAYAPn/AAAAAAAAAAAYAPr/AAAAAAAAAAAZAPP/AAAAAAAAAAAZAPT/AAAAAAAAAAAZAPX/AAAAAAAAAAAZAPb/AAAAAAAAAAAZAPf/AAAAAAAAAAAZAPj/AAAAAAAAAAAZAPn/AAAAAAAAAAAZAPr/AAAAAAAAAAAPAPH/AAAAAAAAAAAQAPH/AAAAAAAAAAARAPH/AAAAAAAAAAASAPH/AAAAAAAAAAATAPH/AAAAAAAAAAAUAPH/AAAAAAAAAAAVAPH/AAAAAAAAAAAWAPH/AAAAAAAAAAAXAPH/AAAAAAAAAAAYAPH/AAAAAAAAAAAZAPH/AAAAAAAAAAAaAPH/AAAAAAAAAAAbAPH/AAAAAAAAAAAPAPL/AAAAAAAAAAAQAPL/AAAAAAAAAAARAPL/AAAAAAAAAAASAPL/AAAAAAAAAAATAPL/AAAAAAAAAAAUAPL/AAAAAAAAAAAVAPL/AAAAAAAAAAAWAPL/AAAAAAAAAAAXAPL/AAAAAAAAAAAYAPL/AAAAAAAAAAAZAPL/AAAAAAAAAAAaAPL/AAAAAAAAAAAaAPP/AAAAAAAAAAAaAPT/AAAAAAAAAAAaAPX/AAAAAAAAAAAaAPb/AAAAAAAAAAAaAPf/AAAAAAAAAAAaAPj/AAAAAAAAAAAaAPn/AAAAAAAAAAAaAPr/AAAAAAAAAAAbAPL/AAAAAAAAAAAbAPP/AAAAAAAAAAAbAPT/AAAAAAAAAAAbAPX/AAAAAAAAAAAbAPb/AAAAAAAAAAAbAPf/AAAAAAAAAAAbAPj/AAAAAAAAAAAbAPn/AAAAAAAAAAAbAPr/AAAAAAAAAAAIAPj/AAAAAAAAAAAIAPn/AAAAAAAAAAAIAPr/AAAAAAAAAAAJAPj/AAAAAAAAAAAJAPn/AAAAAAAAAAAJAPr/AAAAAAAAAAAKAPj/AAAAAAAAAAAKAPn/AAAAAAAAAAAKAPr/AAAAAAAAAAALAPj/AAAAAAAAAAALAPn/AAAAAAAAAAALAPr/AAAAAAAAAAAMAPj/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPr/AAAAAAAAAAANAPj/AAAAAAAAAAANAPn/AAAAAAAAAAANAPr/AAAAAAAAAAAOAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAAOAPr/AAAAAAAAAAAIAPv/AAAAAAAAAAAJAPv/AAAAAAAAAAAKAPv/AAAAAAAAAAALAPv/AAAAAAAAAAAMAPv/AAAAAAAAAAANAPv/AAAAAAAAAAAOAPv/AAAAAAAAAAAPAPv/AAAAAAAAAAAQAPv/AAAAAAAAAAARAPv/AAAAAAAAAAAIAPz/AAAAAAAAAAAJAPz/AAAAAAAAAAAKAPz/AAAAAAAAAAALAPz/AAAAAAAAAAAMAPz/AAAAAAAAAAANAPz/AAAAAAAAAAAOAPz/AAAAAAAAAAAPAPz/AAAAAAAAAAAQAPz/AAAAAAAAAAARAPz/AAAAAAAAAAA=") +tile_map_data = PackedByteArray("AAD9//z/AgAAAAAAAAD9//3/AgAAAAAAAAD9//7/AgAAAAAAAAD9////AgAAAAAAAAD9/wAAAgAAAAAAAAD9/wEAAgAAAAAAAAD9/wIAAgAAAAAAAAD9/wMAAgAAAAAAAAD+//z/AgAAAAAAAAD+//3/AgAAAAAAAAD+//7/AwAAAAAAAAD+////AwAAAAAAAAD+/wAAAwAAAAAAAAD+/wEAAwAAAAAAAAD+/wIAAgAAAAAAAAD+/wMAAgAAAAAAAAD///z/AgAAAAAAAAD///3/AgAAAAAAAAD///7/AwAAAAAAAAD/////AwAAAAAAAAD//wAAAwAAAAAAAAD//wEAAwAAAAAAAAD//wIAAgAAAAAAAAD//wMAAgAAAAAAAAAAAPz/AgAAAAAAAAAAAP3/AgAAAAAAAAAAAP7/AwAAAAAAAAAAAP//AwAAAAAAAAAAAAAAAwAAAAAAAAAAAAEAAwAAAAAAAAAAAAIAAgAAAAAAAAAAAAMAAgAAAAAAAAABAPz/AgAAAAAAAAABAP3/AgAAAAAAAAABAP7/AwAAAAAAAAABAP//AwAAAAAAAAABAAAAAwAAAAAAAAABAAEAAwAAAAAAAAABAAIAAgAAAAAAAAABAAMAAgAAAAAAAAACAPz/AgAAAAAAAAACAP3/AgAAAAAAAAACAP7/AgAAAAAAAAACAP//AgAAAAAAAAACAAAAAgAAAAAAAAACAAEAAgAAAAAAAAACAAIAAgAAAAAAAAACAAMAAgAAAAAAAAADAPz/AgAAAAAAAAADAP3/AgAAAAAAAAADAP7/AgAAAAAAAAADAP//AgAAAAAAAAADAAAAAgAAAAAAAAADAAEAAgAAAAAAAAADAAIAAgAAAAAAAAADAAMAAgAAAAAAAAD8//z/AgAAAAAAAAD8//3/AgAAAAAAAAD8//7/AgAAAAAAAAD8////AgAAAAAAAAD8/wAAAgAAAAAAAAD8/wEAAgAAAAAAAAD8/wIAAgAAAAAAAAD8/wMAAgAAAAAAAAD4//j/AwAAAAAAAAD4//n/AwAAAAAAAAD4//r/AwAAAAAAAAD4//v/AwAAAAAAAAD4//z/AwAAAAAAAAD4//3/AwAAAAAAAAD4//7/AwAAAAAAAAD4////AwAAAAAAAAD4/wAAAwAAAAAAAAD4/wEAAwAAAAAAAAD4/wIAAwAAAAAAAAD4/wMAAwAAAAAAAAD4/wQAAwAAAAAAAAD4/wUAAwAAAAAAAAD4/wYAAwAAAAAAAAD4/wcAAwAAAAAAAAD5//j/AwAAAAAAAAD5//n/AgAAAAAAAAD5//r/AgAAAAAAAAD5//v/AgAAAAAAAAD5//z/AgAAAAAAAAD5//3/AgAAAAAAAAD5//7/AgAAAAAAAAD5////AgAAAAAAAAD5/wAAAgAAAAAAAAD5/wEAAgAAAAAAAAD5/wIAAgAAAAAAAAD5/wMAAgAAAAAAAAD5/wQAAgAAAAAAAAD5/wUAAgAAAAAAAAD5/wYAAgAAAAAAAAD5/wcAAwAAAAAAAAD6//j/AwAAAAAAAAD6//n/AgAAAAAAAAD6//r/AgAAAAAAAAD6//v/AgAAAAAAAAD6//z/AgAAAAAAAAD6//3/AgAAAAAAAAD6//7/AgAAAAAAAAD6////AgAAAAAAAAD6/wAAAgAAAAAAAAD6/wEAAgAAAAAAAAD6/wIAAgAAAAAAAAD6/wMAAgAAAAAAAAD6/wQAAgAAAAAAAAD6/wUAAgAAAAAAAAD6/wYAAgAAAAAAAAD6/wcAAwAAAAAAAAD7//j/AwAAAAAAAAD7//n/AgAAAAAAAAD7//r/AgAAAAAAAAD7//v/AgAAAAAAAAD7//z/AgAAAAAAAAD7//3/AgAAAAAAAAD7//7/AgAAAAAAAAD7////AgAAAAAAAAD7/wAAAgAAAAAAAAD7/wEAAgAAAAAAAAD7/wIAAgAAAAAAAAD7/wMAAgAAAAAAAAD7/wQAAgAAAAAAAAD7/wUAAgAAAAAAAAD7/wYAAgAAAAAAAAD7/wcAAwAAAAAAAAD8//j/AwAAAAAAAAD8//n/AgAAAAAAAAD8//r/AgAAAAAAAAD8//v/AgAAAAAAAAD8/wQAAgAAAAAAAAD8/wUAAgAAAAAAAAD8/wYAAgAAAAAAAAD8/wcAAwAAAAAAAAD9//j/AwAAAAAAAAD9//n/AgAAAAAAAAD9//r/AgAAAAAAAAD9//v/AgAAAAAAAAD9/wQAAgAAAAAAAAD9/wUAAgAAAAAAAAD9/wYAAgAAAAAAAAD9/wcAAwAAAAAAAAD+//j/AwAAAAAAAAD+//n/AgAAAAAAAAD+//r/AgAAAAAAAAD+//v/AgAAAAAAAAD+/wQAAgAAAAAAAAD+/wUAAgAAAAAAAAD+/wYAAgAAAAAAAAD+/wcAAwAAAAAAAAD///j/AgAAAAAAAAD///n/AgAAAAAAAAD///r/AgAAAAAAAAD///v/AgAAAAAAAAD//wQAAgAAAAAAAAD//wUAAgAAAAAAAAD//wYAAgAAAAAAAAD//wcAAwAAAAAAAAAAAPj/AgAAAAAAAAAAAPn/AgAAAAAAAAAAAPr/AgAAAAAAAAAAAPv/AgAAAAAAAAAAAAQAAgAAAAAAAAAAAAUAAgAAAAAAAAAAAAYAAgAAAAAAAAAAAAcAAwAAAAAAAAABAPj/AwAAAAAAAAABAPn/AgAAAAAAAAABAPr/AgAAAAAAAAABAPv/AgAAAAAAAAABAAQAAgAAAAAAAAABAAUAAgAAAAAAAAABAAYAAgAAAAAAAAABAAcAAwAAAAAAAAACAPj/AwAAAAAAAAACAPn/AgAAAAAAAAACAPr/AgAAAAAAAAACAPv/AgAAAAAAAAACAAQAAgAAAAAAAAACAAUAAgAAAAAAAAACAAYAAgAAAAAAAAACAAcAAwAAAAAAAAADAPj/AwAAAAAAAAADAPn/AgAAAAAAAAADAPr/AgAAAAAAAAADAPv/AgAAAAAAAAADAAQAAgAAAAAAAAADAAUAAgAAAAAAAAADAAYAAgAAAAAAAAADAAcAAwAAAAAAAAAEAPj/AwAAAAAAAAAEAPn/AgAAAAAAAAAEAPr/AgAAAAAAAAAEAPv/AgAAAAAAAAAEAPz/AgAAAAAAAAAEAP3/AgAAAAAAAAAEAP7/AgAAAAAAAAAEAP//AgAAAAAAAAAEAAAAAgAAAAAAAAAEAAEAAgAAAAAAAAAEAAIAAgAAAAAAAAAEAAMAAgAAAAAAAAAEAAQAAgAAAAAAAAAEAAUAAgAAAAAAAAAEAAYAAgAAAAAAAAAEAAcAAwAAAAAAAAAFAPj/AwAAAAAAAAAFAPn/AgAAAAAAAAAFAPr/AgAAAAAAAAAFAPv/AgAAAAAAAAAFAPz/AgAAAAAAAAAFAP3/AgAAAAAAAAAFAP7/AgAAAAAAAAAFAP//AgAAAAAAAAAFAAAAAgAAAAAAAAAFAAEAAgAAAAAAAAAFAAIAAgAAAAAAAAAFAAMAAgAAAAAAAAAFAAQAAgAAAAAAAAAFAAUAAgAAAAAAAAAFAAYAAgAAAAAAAAAFAAcAAwAAAAAAAAAGAPj/AwAAAAAAAAAGAPn/AgAAAAAAAAAGAPr/AgAAAAAAAAAGAPv/AgAAAAAAAAAGAPz/AgAAAAAAAAAGAP3/AgAAAAAAAAAGAP7/AgAAAAAAAAAGAP//AgAAAAAAAAAGAAAAAgAAAAAAAAAGAAEAAgAAAAAAAAAGAAIAAgAAAAAAAAAGAAMAAgAAAAAAAAAGAAQAAgAAAAAAAAAGAAUAAgAAAAAAAAAGAAYAAgAAAAAAAAAGAAcAAwAAAAAAAAAHAPj/AwAAAAAAAAAHAPn/AgAAAAAAAAAHAPr/AgAAAAAAAAAHAPv/AgAAAAAAAAAHAPz/AwAAAAAAAAAHAP3/AwAAAAAAAAAHAP7/AwAAAAAAAAAHAP//AwAAAAAAAAAHAAAAAwAAAAAAAAAHAAEAAwAAAAAAAAAHAAIAAwAAAAAAAAAHAAMAAwAAAAAAAAAHAAQAAwAAAAAAAAAHAAUAAwAAAAAAAAAHAAYAAwAAAAAAAAAHAAcAAwAAAAAAAAD///f/AgAAAAAAAAD///b/AgAAAAAAAAD///X/AgAAAAAAAAD///T/AgAAAAAAAAD///P/AgAAAAAAAAD+//f/AwAAAAAAAAD+//b/AwAAAAAAAAD+//X/AwAAAAAAAAD+//T/AwAAAAAAAAD+//P/AwAAAAAAAAD+//L/AwAAAAAAAAD+//H/AwAAAAAAAAD+//D/AwAAAAAAAAD+/+//AwAAAAAAAAD+/+7/AwAAAAAAAAD+/+3/AwAAAAAAAAD+/+z/AwAAAAAAAAD//+z/AgAAAAAAAAD//+3/AgAAAAAAAAD//+7/AgAAAAAAAAD//+//AgAAAAAAAAD///D/AgAAAAAAAAD///H/AgAAAAAAAAD///L/AgAAAAAAAAAAAOz/AgAAAAAAAAAAAO3/AgAAAAAAAAAAAO7/AgAAAAAAAAAAAO//AgAAAAAAAAAAAPD/AgAAAAAAAAAAAPH/AgAAAAAAAAAAAPL/AgAAAAAAAAAAAPP/AgAAAAAAAAAAAPT/AgAAAAAAAAAAAPX/AgAAAAAAAAAAAPb/AgAAAAAAAAAAAPf/AgAAAAAAAAABAOz/AwAAAAAAAAABAO3/AwAAAAAAAAABAO7/AwAAAAAAAAABAO//AwAAAAAAAAABAPD/AwAAAAAAAAABAPH/AwAAAAAAAAABAPL/AwAAAAAAAAABAPP/AwAAAAAAAAABAPT/AwAAAAAAAAABAPX/AwAAAAAAAAABAPb/AwAAAAAAAAABAPf/AwAAAAAAAADs/+H/AwAAAAAAAADs/+L/AwAAAAAAAADs/+P/AwAAAAAAAADs/+T/AwAAAAAAAADs/+X/AwAAAAAAAADs/+b/AwAAAAAAAADs/+f/AwAAAAAAAADs/+j/AwAAAAAAAADs/+n/AwAAAAAAAADs/+r/AwAAAAAAAADs/+v/AwAAAAAAAADt/+H/AwAAAAAAAADt/+L/AgAAAAAAAADt/+P/AgAAAAAAAADt/+T/AgAAAAAAAADt/+X/AgAAAAAAAADt/+b/AgAAAAAAAADt/+f/AgAAAAAAAADt/+j/AgAAAAAAAADt/+n/AgAAAAAAAADt/+r/AgAAAAAAAADt/+v/AwAAAAAAAADu/+H/AwAAAAAAAADu/+L/AgAAAAAAAADu/+P/AgAAAAAAAADu/+T/AgAAAAAAAADu/+X/AgAAAAAAAADu/+b/AgAAAAAAAADu/+f/AgAAAAAAAADu/+j/AgAAAAAAAADu/+n/AgAAAAAAAADu/+r/AgAAAAAAAADu/+v/AwAAAAAAAADv/+H/AwAAAAAAAADv/+L/AgAAAAAAAADv/+P/AgAAAAAAAADv/+T/AgAAAAAAAADv/+X/AgAAAAAAAADv/+b/AgAAAAAAAADv/+f/AgAAAAAAAADv/+j/AgAAAAAAAADv/+n/AgAAAAAAAADv/+r/AgAAAAAAAADv/+v/AwAAAAAAAADw/+H/AwAAAAAAAADw/+L/AgAAAAAAAADw/+P/AgAAAAAAAADw/+T/AgAAAAAAAADw/+X/AgAAAAAAAADw/+b/AgAAAAAAAADw/+f/AgAAAAAAAADw/+j/AgAAAAAAAADw/+n/AgAAAAAAAADw/+r/AgAAAAAAAADw/+v/AwAAAAAAAADx/+H/AwAAAAAAAADx/+L/AgAAAAAAAADx/+P/AgAAAAAAAADx/+T/AgAAAAAAAADx/+X/AgAAAAAAAADx/+b/AgAAAAAAAADx/+f/AgAAAAAAAADx/+j/AgAAAAAAAADx/+n/AgAAAAAAAADx/+r/AgAAAAAAAADx/+v/AwAAAAAAAADy/+H/AwAAAAAAAADy/+L/AgAAAAAAAADy/+P/AgAAAAAAAADy/+T/AgAAAAAAAADy/+X/AgAAAAAAAADy/+b/AgAAAAAAAADy/+f/AgAAAAAAAADy/+j/AgAAAAAAAADy/+n/AgAAAAAAAADy/+r/AgAAAAAAAADy/+v/AwAAAAAAAADz/+H/AwAAAAAAAADz/+L/AgAAAAAAAADz/+P/AgAAAAAAAADz/+T/AgAAAAAAAADz/+X/AgAAAAAAAADz/+b/AgAAAAAAAADz/+f/AgAAAAAAAADz/+j/AgAAAAAAAADz/+n/AgAAAAAAAADz/+r/AgAAAAAAAADz/+v/AwAAAAAAAAD0/+H/AwAAAAAAAAD0/+L/AgAAAAAAAAD0/+P/AgAAAAAAAAD0/+T/AgAAAAAAAAD0/+X/AgAAAAAAAAD0/+b/AgAAAAAAAAD0/+f/AgAAAAAAAAD0/+j/AgAAAAAAAAD0/+n/AgAAAAAAAAD0/+r/AgAAAAAAAAD0/+v/AwAAAAAAAAD1/+H/AwAAAAAAAAD1/+L/AgAAAAAAAAD1/+P/AgAAAAAAAAD1/+T/AgAAAAAAAAD1/+X/AgAAAAAAAAD1/+b/AgAAAAAAAAD1/+f/AgAAAAAAAAD1/+j/AgAAAAAAAAD1/+n/AgAAAAAAAAD1/+r/AgAAAAAAAAD1/+v/AwAAAAAAAAD2/+H/AwAAAAAAAAD2/+L/AgAAAAAAAAD2/+P/AgAAAAAAAAD2/+T/AgAAAAAAAAD2/+X/AgAAAAAAAAD2/+b/AgAAAAAAAAD2/+f/AgAAAAAAAAD2/+j/AgAAAAAAAAD2/+n/AgAAAAAAAAD2/+r/AgAAAAAAAAD2/+v/AwAAAAAAAAD3/+H/AwAAAAAAAAD3/+L/AgAAAAAAAAD3/+P/AgAAAAAAAAD3/+T/AgAAAAAAAAD3/+X/AgAAAAAAAAD3/+b/AgAAAAAAAAD3/+f/AgAAAAAAAAD3/+j/AgAAAAAAAAD3/+n/AgAAAAAAAAD3/+r/AgAAAAAAAAD3/+v/AwAAAAAAAAD4/+H/AwAAAAAAAAD4/+L/AgAAAAAAAAD4/+P/AgAAAAAAAAD4/+T/AgAAAAAAAAD4/+X/AgAAAAAAAAD4/+b/AgAAAAAAAAD4/+f/AgAAAAAAAAD4/+j/AgAAAAAAAAD4/+n/AgAAAAAAAAD4/+r/AgAAAAAAAAD4/+v/AwAAAAAAAAD5/+H/AwAAAAAAAAD5/+L/AgAAAAAAAAD5/+P/AgAAAAAAAAD5/+T/AgAAAAAAAAD5/+X/AgAAAAAAAAD5/+b/AgAAAAAAAAD5/+f/AgAAAAAAAAD5/+j/AgAAAAAAAAD5/+n/AgAAAAAAAAD5/+r/AgAAAAAAAAD5/+v/AwAAAAAAAAD6/+H/AwAAAAAAAAD6/+L/AgAAAAAAAAD6/+P/AgAAAAAAAAD6/+T/AgAAAAAAAAD6/+X/AgAAAAAAAAD6/+b/AgAAAAAAAAD6/+f/AgAAAAAAAAD6/+j/AgAAAAAAAAD6/+n/AgAAAAAAAAD6/+r/AgAAAAAAAAD6/+v/AwAAAAAAAAD7/+H/AwAAAAAAAAD7/+L/AgAAAAAAAAD7/+P/AgAAAAAAAAD7/+T/AgAAAAAAAAD7/+X/AgAAAAAAAAD7/+b/AgAAAAAAAAD7/+f/AgAAAAAAAAD7/+j/AgAAAAAAAAD7/+n/AgAAAAAAAAD7/+r/AgAAAAAAAAD7/+v/AwAAAAAAAAD8/+H/AwAAAAAAAAD8/+L/AgAAAAAAAAD8/+P/AgAAAAAAAAD8/+T/AgAAAAAAAAD8/+X/AgAAAAAAAAD8/+b/AgAAAAAAAAD8/+f/AgAAAAAAAAD8/+j/AgAAAAAAAAD8/+n/AgAAAAAAAAD8/+r/AgAAAAAAAAD8/+v/AwAAAAAAAAD9/+H/AwAAAAAAAAD9/+L/AgAAAAAAAAD9/+P/AgAAAAAAAAD9/+T/AgAAAAAAAAD9/+X/AgAAAAAAAAD9/+b/AgAAAAAAAAD9/+f/AgAAAAAAAAD9/+j/AgAAAAAAAAD9/+n/AgAAAAAAAAD9/+r/AgAAAAAAAAD9/+v/AwAAAAAAAAD+/+H/AwAAAAAAAAD+/+L/AgAAAAAAAAD+/+P/AgAAAAAAAAD+/+T/AgAAAAAAAAD+/+X/AgAAAAAAAAD+/+b/AgAAAAAAAAD+/+f/AgAAAAAAAAD+/+j/AgAAAAAAAAD+/+n/AgAAAAAAAAD+/+r/AgAAAAAAAAD+/+v/AwAAAAAAAAD//+H/AwAAAAAAAAD//+L/AgAAAAAAAAD//+P/AgAAAAAAAAD//+T/AgAAAAAAAAD//+X/AgAAAAAAAAD//+b/AgAAAAAAAAD//+f/AgAAAAAAAAD//+j/AgAAAAAAAAD//+n/AgAAAAAAAAD//+r/AgAAAAAAAAD//+v/AgAAAAAAAAAAAOH/AwAAAAAAAAAAAOL/AgAAAAAAAAAAAOP/AgAAAAAAAAAAAOT/AgAAAAAAAAAAAOX/AgAAAAAAAAAAAOb/AgAAAAAAAAAAAOf/AgAAAAAAAAAAAOj/AgAAAAAAAAAAAOn/AgAAAAAAAAAAAOr/AgAAAAAAAAAAAOv/AgAAAAAAAAABAOH/AwAAAAAAAAABAOL/AgAAAAAAAAABAOP/AgAAAAAAAAABAOT/AgAAAAAAAAABAOX/AgAAAAAAAAABAOb/AgAAAAAAAAABAOf/AgAAAAAAAAABAOj/AgAAAAAAAAABAOn/AgAAAAAAAAABAOr/AgAAAAAAAAABAOv/AwAAAAAAAAACAOH/AwAAAAAAAAACAOL/AgAAAAAAAAACAOP/AgAAAAAAAAACAOT/AgAAAAAAAAACAOX/AgAAAAAAAAACAOb/AgAAAAAAAAACAOf/AgAAAAAAAAACAOj/AgAAAAAAAAACAOn/AgAAAAAAAAACAOr/AgAAAAAAAAACAOv/AwAAAAAAAAADAOH/AwAAAAAAAAADAOL/AgAAAAAAAAADAOP/AgAAAAAAAAADAOT/AgAAAAAAAAADAOX/AgAAAAAAAAADAOb/AgAAAAAAAAADAOf/AgAAAAAAAAADAOj/AgAAAAAAAAADAOn/AgAAAAAAAAADAOr/AgAAAAAAAAADAOv/AwAAAAAAAAAEAOH/AwAAAAAAAAAEAOL/AgAAAAAAAAAEAOP/AgAAAAAAAAAEAOT/AgAAAAAAAAAEAOX/AgAAAAAAAAAEAOb/AgAAAAAAAAAEAOf/AgAAAAAAAAAEAOj/AgAAAAAAAAAEAOn/AgAAAAAAAAAEAOr/AgAAAAAAAAAEAOv/AwAAAAAAAAAFAOH/AwAAAAAAAAAFAOL/AgAAAAAAAAAFAOP/AgAAAAAAAAAFAOT/AgAAAAAAAAAFAOX/AgAAAAAAAAAFAOb/AgAAAAAAAAAFAOf/AgAAAAAAAAAFAOj/AgAAAAAAAAAFAOn/AgAAAAAAAAAFAOr/AgAAAAAAAAAFAOv/AwAAAAAAAAAGAOH/AwAAAAAAAAAGAOL/AgAAAAAAAAAGAOP/AgAAAAAAAAAGAOT/AgAAAAAAAAAGAOX/AgAAAAAAAAAGAOb/AgAAAAAAAAAGAOf/AgAAAAAAAAAGAOj/AgAAAAAAAAAGAOn/AgAAAAAAAAAGAOr/AgAAAAAAAAAGAOv/AwAAAAAAAAAHAOH/AwAAAAAAAAAHAOL/AgAAAAAAAAAHAOP/AgAAAAAAAAAHAOT/AgAAAAAAAAAHAOX/AgAAAAAAAAAHAOb/AgAAAAAAAAAHAOf/AgAAAAAAAAAHAOj/AgAAAAAAAAAHAOn/AgAAAAAAAAAHAOr/AgAAAAAAAAAHAOv/AwAAAAAAAAAIAOH/AwAAAAAAAAAIAOL/AgAAAAAAAAAIAOP/AgAAAAAAAAAIAOT/AgAAAAAAAAAIAOX/AgAAAAAAAAAIAOb/AgAAAAAAAAAIAOf/AgAAAAAAAAAIAOj/AgAAAAAAAAAIAOn/AgAAAAAAAAAIAOr/AgAAAAAAAAAIAOv/AwAAAAAAAAAJAOH/AwAAAAAAAAAJAOL/AgAAAAAAAAAJAOP/AgAAAAAAAAAJAOT/AgAAAAAAAAAJAOX/AgAAAAAAAAAJAOb/AgAAAAAAAAAJAOf/AgAAAAAAAAAJAOj/AgAAAAAAAAAJAOn/AgAAAAAAAAAJAOr/AgAAAAAAAAAJAOv/AwAAAAAAAAAKAOH/AwAAAAAAAAAKAOL/AgAAAAAAAAAKAOP/AgAAAAAAAAAKAOT/AgAAAAAAAAAKAOX/AgAAAAAAAAAKAOb/AgAAAAAAAAAKAOf/AgAAAAAAAAAKAOj/AgAAAAAAAAAKAOn/AgAAAAAAAAAKAOr/AgAAAAAAAAAKAOv/AwAAAAAAAAALAOH/AwAAAAAAAAALAOL/AgAAAAAAAAALAOP/AgAAAAAAAAALAOT/AgAAAAAAAAALAOX/AgAAAAAAAAALAOb/AgAAAAAAAAALAOf/AgAAAAAAAAALAOj/AgAAAAAAAAALAOn/AgAAAAAAAAALAOr/AgAAAAAAAAALAOv/AwAAAAAAAAAMAOH/AwAAAAAAAAAMAOL/AgAAAAAAAAAMAOP/AgAAAAAAAAAMAOT/AgAAAAAAAAAMAOX/AgAAAAAAAAAMAOb/AgAAAAAAAAAMAOf/AgAAAAAAAAAMAOj/AgAAAAAAAAAMAOn/AgAAAAAAAAAMAOr/AgAAAAAAAAAMAOv/AwAAAAAAAAANAOH/AwAAAAAAAAANAOL/AgAAAAAAAAANAOP/AgAAAAAAAAANAOT/AgAAAAAAAAANAOX/AgAAAAAAAAANAOb/AgAAAAAAAAANAOf/AgAAAAAAAAANAOj/AgAAAAAAAAANAOn/AgAAAAAAAAANAOr/AgAAAAAAAAANAOv/AwAAAAAAAAAOAOH/AwAAAAAAAAAOAOL/AwAAAAAAAAAOAOP/AwAAAAAAAAAOAOT/AwAAAAAAAAAOAOX/AwAAAAAAAAAOAOb/AwAAAAAAAAAOAOf/AwAAAAAAAAAOAOj/AwAAAAAAAAAOAOn/AwAAAAAAAAAOAOr/AwAAAAAAAAAOAOv/AwAAAAAAAAAQAPb/AgAAAAAAAAARAPb/AgAAAAAAAAASAPb/AgAAAAAAAAATAPb/AgAAAAAAAAAUAPb/AgAAAAAAAAAPAPP/AwAAAAAAAAAPAPT/AwAAAAAAAAAPAPX/AwAAAAAAAAAPAPb/AwAAAAAAAAAPAPf/AwAAAAAAAAAPAPj/AwAAAAAAAAAPAPn/AgAAAAAAAAAPAPr/AgAAAAAAAAAQAPP/AgAAAAAAAAAQAPT/AgAAAAAAAAAQAPX/AgAAAAAAAAAQAPf/AgAAAAAAAAAQAPj/AgAAAAAAAAAQAPn/AgAAAAAAAAAQAPr/AgAAAAAAAAARAPP/AgAAAAAAAAARAPT/AgAAAAAAAAARAPX/AgAAAAAAAAARAPf/AgAAAAAAAAARAPj/AgAAAAAAAAARAPn/AgAAAAAAAAARAPr/AwAAAAAAAAASAPP/AgAAAAAAAAASAPT/AgAAAAAAAAASAPX/AgAAAAAAAAASAPf/AgAAAAAAAAASAPj/AgAAAAAAAAASAPn/AgAAAAAAAAASAPr/AwAAAAAAAAATAPP/AgAAAAAAAAATAPT/AgAAAAAAAAATAPX/AgAAAAAAAAATAPf/AgAAAAAAAAATAPj/AgAAAAAAAAATAPn/AgAAAAAAAAATAPr/AwAAAAAAAAAUAPP/AgAAAAAAAAAUAPT/AgAAAAAAAAAUAPX/AgAAAAAAAAAUAPf/AgAAAAAAAAAUAPj/AgAAAAAAAAAUAPn/AgAAAAAAAAAUAPr/AwAAAAAAAAAVAPP/AgAAAAAAAAAVAPT/AgAAAAAAAAAVAPX/AgAAAAAAAAAVAPb/AgAAAAAAAAAVAPf/AgAAAAAAAAAVAPj/AgAAAAAAAAAVAPn/AgAAAAAAAAAVAPr/AwAAAAAAAAAWAPP/AgAAAAAAAAAWAPT/AgAAAAAAAAAWAPX/AgAAAAAAAAAWAPb/AgAAAAAAAAAWAPf/AgAAAAAAAAAWAPj/AgAAAAAAAAAWAPn/AgAAAAAAAAAWAPr/AwAAAAAAAAAXAPP/AgAAAAAAAAAXAPT/AgAAAAAAAAAXAPX/AgAAAAAAAAAXAPb/AgAAAAAAAAAXAPf/AgAAAAAAAAAXAPj/AgAAAAAAAAAXAPn/AgAAAAAAAAAXAPr/AwAAAAAAAAAYAPP/AgAAAAAAAAAYAPT/AgAAAAAAAAAYAPX/AgAAAAAAAAAYAPb/AgAAAAAAAAAYAPf/AgAAAAAAAAAYAPj/AgAAAAAAAAAYAPn/AgAAAAAAAAAYAPr/AwAAAAAAAAAZAPP/AgAAAAAAAAAZAPT/AgAAAAAAAAAZAPX/AgAAAAAAAAAZAPb/AgAAAAAAAAAZAPf/AgAAAAAAAAAZAPj/AgAAAAAAAAAZAPn/AgAAAAAAAAAZAPr/AwAAAAAAAAAPAPH/AwAAAAAAAAAQAPH/AwAAAAAAAAARAPH/AwAAAAAAAAASAPH/AwAAAAAAAAATAPH/AwAAAAAAAAAUAPH/AwAAAAAAAAAVAPH/AwAAAAAAAAAWAPH/AwAAAAAAAAAXAPH/AwAAAAAAAAAYAPH/AwAAAAAAAAAZAPH/AwAAAAAAAAAaAPH/AwAAAAAAAAAbAPH/AwAAAAAAAAAPAPL/AwAAAAAAAAAQAPL/AgAAAAAAAAARAPL/AgAAAAAAAAASAPL/AgAAAAAAAAATAPL/AgAAAAAAAAAUAPL/AgAAAAAAAAAVAPL/AgAAAAAAAAAWAPL/AgAAAAAAAAAXAPL/AgAAAAAAAAAYAPL/AgAAAAAAAAAZAPL/AgAAAAAAAAAaAPL/AgAAAAAAAAAaAPP/AgAAAAAAAAAaAPT/AgAAAAAAAAAaAPX/AgAAAAAAAAAaAPb/AgAAAAAAAAAaAPf/AgAAAAAAAAAaAPj/AgAAAAAAAAAaAPn/AgAAAAAAAAAaAPr/AwAAAAAAAAAbAPL/AwAAAAAAAAAbAPP/AwAAAAAAAAAbAPT/AwAAAAAAAAAbAPX/AwAAAAAAAAAbAPb/AwAAAAAAAAAbAPf/AwAAAAAAAAAbAPj/AwAAAAAAAAAbAPn/AwAAAAAAAAAbAPr/AwAAAAAAAAAIAPj/AwAAAAAAAAAIAPn/AgAAAAAAAAAIAPr/AgAAAAAAAAAJAPj/AwAAAAAAAAAJAPn/AgAAAAAAAAAJAPr/AgAAAAAAAAAKAPj/AwAAAAAAAAAKAPn/AgAAAAAAAAAKAPr/AgAAAAAAAAALAPj/AwAAAAAAAAALAPn/AgAAAAAAAAALAPr/AgAAAAAAAAAMAPj/AwAAAAAAAAAMAPn/AgAAAAAAAAAMAPr/AgAAAAAAAAANAPj/AwAAAAAAAAANAPn/AgAAAAAAAAANAPr/AgAAAAAAAAAOAPj/AwAAAAAAAAAOAPn/AgAAAAAAAAAOAPr/AgAAAAAAAAAIAPv/AgAAAAAAAAAJAPv/AgAAAAAAAAAKAPv/AgAAAAAAAAALAPv/AgAAAAAAAAAMAPv/AgAAAAAAAAANAPv/AgAAAAAAAAAOAPv/AgAAAAAAAAAPAPv/AgAAAAAAAAAQAPv/AgAAAAAAAAARAPv/AwAAAAAAAAAIAPz/AwAAAAAAAAAJAPz/AwAAAAAAAAAKAPz/AwAAAAAAAAALAPz/AwAAAAAAAAAMAPz/AwAAAAAAAAANAPz/AwAAAAAAAAAOAPz/AwAAAAAAAAAPAPz/AwAAAAAAAAAQAPz/AwAAAAAAAAARAPz/AwAAAAAAAAA=") tile_set = ExtResource("1_8ulg6") [node name="Corridor" type="Area2D" parent="Floor"] @@ -24,8 +30,19 @@ shape = SubResource("RectangleShape2D_8ulg6") tile_map_data = PackedByteArray("AAD3//f/AQAAAAAAAAD3//j/AQAAAAAAAAD3//n/AQAAAAAAAAD3//r/AQAAAAAAAAD3//v/AQAAAAAAAAD3//z/AQAAAAAAAAD3//3/AQAAAAAAAAD3//7/AQAAAAAAAAD3////AQAAAAAAAAD3/wAAAQAAAAAAAAD3/wEAAQAAAAAAAAD3/wIAAQAAAAAAAAD3/wMAAQAAAAAAAAD3/wQAAQAAAAAAAAD3/wUAAQAAAAAAAAD3/wYAAQAAAAAAAAD3/wcAAQAAAAAAAAD3/wgAAQAAAAAAAAD4/wgAAQAAAAAAAAD5/wgAAQAAAAAAAAD6/wgAAQAAAAAAAAD7/wgAAQAAAAAAAAD8/wgAAQAAAAAAAAD9/wgAAQAAAAAAAAD+/wgAAQAAAAAAAAD//wgAAQAAAAAAAAAAAAgAAQAAAAAAAAABAAgAAQAAAAAAAAACAAgAAQAAAAAAAAADAAgAAQAAAAAAAAAEAAgAAQAAAAAAAAAFAAgAAQAAAAAAAAAGAAgAAQAAAAAAAAAHAAgAAQAAAAAAAAAIAAgAAQAAAAAAAAAIAAcAAQAAAAAAAAAIAAYAAQAAAAAAAAAIAAUAAQAAAAAAAAAIAAQAAQAAAAAAAAAIAAMAAQAAAAAAAAAIAAIAAQAAAAAAAAAIAAEAAQAAAAAAAAAIAAAAAQAAAAAAAAAIAP//AQAAAAAAAAAIAP7/AQAAAAAAAAAIAP3/AQAAAAAAAAAIAPf/AQAAAAAAAAAHAPf/AQAAAAAAAAAGAPf/AQAAAAAAAAAFAPf/AQAAAAAAAAAEAPf/AQAAAAAAAAADAPf/AQAAAAAAAAACAPf/AQAAAAAAAAD9//f/AQAAAAAAAAD8//f/AQAAAAAAAAD7//f/AQAAAAAAAAD6//f/AQAAAAAAAAD5//f/AQAAAAAAAAD4//f/AQAAAAAAAAD9//b/AQAAAAAAAAD9//X/AQAAAAAAAAD9//T/AQAAAAAAAAD9//P/AQAAAAAAAAD9//L/AQAAAAAAAAD9//H/AQAAAAAAAAD9//D/AQAAAAAAAAD9/+//AQAAAAAAAAD9/+7/AQAAAAAAAAD9/+3/AQAAAAAAAAD9/+z/AQAAAAAAAAD8/+z/AQAAAAAAAAD7/+z/AQAAAAAAAAD6/+z/AQAAAAAAAAD5/+z/AQAAAAAAAAD4/+z/AQAAAAAAAAD3/+z/AQAAAAAAAAD2/+z/AQAAAAAAAAD1/+z/AQAAAAAAAAD0/+z/AQAAAAAAAADz/+z/AQAAAAAAAADy/+z/AQAAAAAAAADx/+z/AQAAAAAAAADw/+z/AQAAAAAAAADv/+z/AQAAAAAAAADu/+z/AQAAAAAAAADt/+z/AQAAAAAAAADs/+z/AQAAAAAAAADr/+z/AQAAAAAAAADr/+v/AQAAAAAAAADr/+r/AQAAAAAAAADr/+n/AQAAAAAAAADr/+j/AQAAAAAAAADr/+f/AQAAAAAAAADr/+b/AQAAAAAAAADr/+X/AQAAAAAAAADr/+T/AQAAAAAAAADr/+P/AQAAAAAAAADr/+L/AQAAAAAAAADr/+H/AQAAAAAAAADr/+D/AQAAAAAAAADs/+D/AQAAAAAAAADt/+D/AQAAAAAAAADu/+D/AQAAAAAAAADv/+D/AQAAAAAAAADw/+D/AQAAAAAAAADx/+D/AQAAAAAAAADy/+D/AQAAAAAAAADz/+D/AQAAAAAAAAD0/+D/AQAAAAAAAAD1/+D/AQAAAAAAAAD2/+D/AQAAAAAAAAD3/+D/AQAAAAAAAAD4/+D/AQAAAAAAAAD5/+D/AQAAAAAAAAD6/+D/AQAAAAAAAAD7/+D/AQAAAAAAAAD8/+D/AQAAAAAAAAD9/+D/AQAAAAAAAAD+/+D/AQAAAAAAAAD//+D/AQAAAAAAAAAAAOD/AQAAAAAAAAABAOD/AQAAAAAAAAACAOD/AQAAAAAAAAADAOD/AQAAAAAAAAAEAOD/AQAAAAAAAAAFAOD/AQAAAAAAAAAGAOD/AQAAAAAAAAAHAOD/AQAAAAAAAAAIAOD/AQAAAAAAAAAJAOD/AQAAAAAAAAAKAOD/AQAAAAAAAAALAOD/AQAAAAAAAAAMAOD/AQAAAAAAAAANAOD/AQAAAAAAAAAOAOD/AQAAAAAAAAAPAOD/AQAAAAAAAAAPAOH/AQAAAAAAAAAPAOL/AQAAAAAAAAAPAOP/AQAAAAAAAAAPAOT/AQAAAAAAAAAPAOX/AQAAAAAAAAAPAOb/AQAAAAAAAAAPAOf/AQAAAAAAAAAPAOj/AQAAAAAAAAAPAOn/AQAAAAAAAAAPAOr/AQAAAAAAAAAPAOv/AQAAAAAAAAAPAOz/AQAAAAAAAAAOAOz/AQAAAAAAAAANAOz/AQAAAAAAAAAMAOz/AQAAAAAAAAALAOz/AQAAAAAAAAAKAOz/AQAAAAAAAAAJAOz/AQAAAAAAAAAIAOz/AQAAAAAAAAAHAOz/AQAAAAAAAAAGAOz/AQAAAAAAAAAFAOz/AQAAAAAAAAAEAOz/AQAAAAAAAAADAOz/AQAAAAAAAAACAOz/AQAAAAAAAAACAO3/AQAAAAAAAAACAO7/AQAAAAAAAAACAO//AQAAAAAAAAACAPD/AQAAAAAAAAACAPH/AQAAAAAAAAACAPL/AQAAAAAAAAACAPP/AQAAAAAAAAACAPT/AQAAAAAAAAACAPX/AQAAAAAAAAACAPb/AQAAAAAAAAAOAPD/AQAAAAAAAAAOAPH/AQAAAAAAAAAOAPL/AQAAAAAAAAAOAPP/AQAAAAAAAAAOAPT/AQAAAAAAAAAOAPX/AQAAAAAAAAAOAPb/AQAAAAAAAAAOAPf/AQAAAAAAAAASAPv/AQAAAAAAAAATAPv/AQAAAAAAAAAUAPv/AQAAAAAAAAAVAPv/AQAAAAAAAAAWAPv/AQAAAAAAAAAXAPv/AQAAAAAAAAAYAPv/AQAAAAAAAAAZAPv/AQAAAAAAAAAaAPv/AQAAAAAAAAAbAPv/AQAAAAAAAAAcAPv/AQAAAAAAAAAcAPr/AQAAAAAAAAAcAPn/AQAAAAAAAAAcAPj/AQAAAAAAAAAcAPf/AQAAAAAAAAAcAPb/AQAAAAAAAAAcAPX/AQAAAAAAAAAcAPT/AQAAAAAAAAAcAPP/AQAAAAAAAAAcAPL/AQAAAAAAAAAcAPH/AQAAAAAAAAAcAPD/AQAAAAAAAAAbAPD/AQAAAAAAAAAaAPD/AQAAAAAAAAAZAPD/AQAAAAAAAAAYAPD/AQAAAAAAAAAXAPD/AQAAAAAAAAAWAPD/AQAAAAAAAAAVAPD/AQAAAAAAAAAUAPD/AQAAAAAAAAATAPD/AQAAAAAAAAASAPD/AQAAAAAAAAARAPD/AQAAAAAAAAAQAPD/AQAAAAAAAAAPAPD/AQAAAAAAAAAJAPf/AQAAAAAAAAAKAPf/AQAAAAAAAAALAPf/AQAAAAAAAAAMAPf/AQAAAAAAAAANAPf/AQAAAAAAAAAJAP3/AQAAAAAAAAAKAP3/AQAAAAAAAAALAP3/AQAAAAAAAAAMAP3/AQAAAAAAAAANAP3/AQAAAAAAAAAOAP3/AQAAAAAAAAAPAP3/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP3/AQAAAAAAAAASAP3/AQAAAAAAAAASAPz/AQAAAAAAAAA=") tile_set = ExtResource("1_8ulg6") -[node name="Character" parent="." instance=ExtResource("1_qjlds")] -Projectile = ExtResource("3_wxhq4") +[node name="Alien" parent="." instance=ExtResource("2_8ulg6")] -[node name="Camera2D" type="Camera2D" parent="Character"] -zoom = Vector2(2, 2) +[node name="Camera2D" type="Camera2D" parent="Alien"] +position_smoothing_enabled = true + +[node name="CryingGhost" parent="." instance=ExtResource("3_wxhq4")] +position = Vector2(350, -184) + +[node name="CryingGhost2" parent="." instance=ExtResource("3_wxhq4")] +position = Vector2(-224, -405) + +[node name="CryingGhost3" parent="." instance=ExtResource("3_wxhq4")] +position = Vector2(198, -416) + +[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."] +navigation_polygon = SubResource("NavigationPolygon_wxhq4") diff --git a/project.godot b/project.godot index 5301a91..bc1b396 100644 --- a/project.godot +++ b/project.godot @@ -17,8 +17,9 @@ config/icon="res://icon.svg" [display] -window/size/viewport_width=1920 -window/size/viewport_height=1080 +window/size/viewport_width=640 +window/size/viewport_height=360 +window/stretch/mode="canvas_items" mouse_cursor/custom_image="uid://dffyyka82e8mr" mouse_cursor/custom_image_hotspot=Vector2(16, 16)