From a1f67c3d71ace1efc09959bc3bd11814ae8d8a38 Mon Sep 17 00:00:00 2001 From: Zenny Date: Tue, 20 Jan 2026 21:18:10 -0800 Subject: [PATCH] Fix dying loop, add death counter, add die button to debug --- .../gamestates/GameState.State.DebugMenu.cs | 2 +- .../Quest/QuestData.cs | 3 + Zennysoft.Game.Ma/Ma.csproj | 2 +- Zennysoft.Game.Ma/Ma.csproj.old.5 | 38 -- Zennysoft.Game.Ma/src/game/Game.cs | 11 +- Zennysoft.Game.Ma/src/game/Game.tscn | 4 +- .../src/item_rescue/RescuedItems.cs | 2 + Zennysoft.Game.Ma/src/map/Map.tscn | 56 ++- .../src/map/dungeon/code/Overworld.cs | 3 - .../floors/Special Floors/Overworld.tscn | 13 +- ...ngroom_brick_corridor_corrected.png.import | 2 +- .../rooms/Set A/04. Tree Antechamber.tscn | 106 +++-- Zennysoft.Game.Ma/src/menu/DebugMenu.tscn | 22 + Zennysoft.Game.Ma/src/player/Player.cs | 400 +++++++++--------- Zennysoft.Game.Ma/src/player/Player.tscn | 8 +- .../src/ui/pause_menu/PauseDebugMenu.cs | 12 + 16 files changed, 390 insertions(+), 294 deletions(-) delete mode 100644 Zennysoft.Game.Ma/Ma.csproj.old.5 diff --git a/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.DebugMenu.cs b/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.DebugMenu.cs index 2e049e36..a3cfb28a 100644 --- a/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.DebugMenu.cs +++ b/Zennysoft.Game.Ma.Implementation/Game/state/gamestates/GameState.State.DebugMenu.cs @@ -8,7 +8,7 @@ public partial class GameState public partial record State { [Meta, LogicBlock(typeof(State), Diagram = true)] - public partial record DebugMenu : State, IGet + public partial record DebugMenu : InGame, IGet { public Transition On(in Input.DebugButtonPressed input) { diff --git a/Zennysoft.Game.Ma.Implementation/Quest/QuestData.cs b/Zennysoft.Game.Ma.Implementation/Quest/QuestData.cs index b139076b..a09d2165 100644 --- a/Zennysoft.Game.Ma.Implementation/Quest/QuestData.cs +++ b/Zennysoft.Game.Ma.Implementation/Quest/QuestData.cs @@ -6,6 +6,9 @@ namespace Zennysoft.Ma.Adapter; [Meta, Id("quest_data")] public partial record QuestData { + [Save("death_count")] + public int DeathCount { get; set; } = 0; + [Save("quest_data_1")] public bool QuestMarker1 { get; set; } = false; } diff --git a/Zennysoft.Game.Ma/Ma.csproj b/Zennysoft.Game.Ma/Ma.csproj index 0ca2470c..853d610d 100644 --- a/Zennysoft.Game.Ma/Ma.csproj +++ b/Zennysoft.Game.Ma/Ma.csproj @@ -1,4 +1,4 @@ - + net8.0 true diff --git a/Zennysoft.Game.Ma/Ma.csproj.old.5 b/Zennysoft.Game.Ma/Ma.csproj.old.5 deleted file mode 100644 index 853d610d..00000000 --- a/Zennysoft.Game.Ma/Ma.csproj.old.5 +++ /dev/null @@ -1,38 +0,0 @@ - - - net8.0 - true - CS9057 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index da35ca99..1d270152 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -99,6 +99,7 @@ public partial class Game : Node3D, IGame }, QuestData = new QuestData() { + DeathCount = QuestData.DeathCount, QuestMarker1 = QuestData.QuestMarker1 } }; @@ -145,6 +146,8 @@ public partial class Game : Node3D, IGame public async void OnResolved() { + LoadExistingGame(); + await InitializeGame(); GameState.Set(GameRepo); @@ -256,8 +259,10 @@ public partial class Game : Node3D, IGame public IDungeonFloor CurrentFloor => _map.CurrentFloor; - public void GameOver() + public async void GameOver() { + QuestData.DeathCount++; + await Save(); _player.Deactivate(); GameState.Input(new GameState.Input.GameOver()); } @@ -363,8 +368,8 @@ public partial class Game : Node3D, IGame }) .Handle((in GameState.Output.GameOver _) => { - //GameRepo.Pause(); - //DeathMenu.FadeIn(); + GameRepo.Pause(); + GameOverMenu.FadeIn(); }); } diff --git a/Zennysoft.Game.Ma/src/game/Game.tscn b/Zennysoft.Game.Ma/src/game/Game.tscn index 4f610b4f..6cda66b8 100644 --- a/Zennysoft.Game.Ma/src/game/Game.tscn +++ b/Zennysoft.Game.Ma/src/game/Game.tscn @@ -1,9 +1,8 @@ -[gd_scene load_steps=7 format=3 uid="uid://33ek675mfb5n"] +[gd_scene load_steps=6 format=3 uid="uid://33ek675mfb5n"] [ext_resource type="Script" uid="uid://chftlu4proh3d" path="res://src/game/Game.cs" id="1_ytcii"] [ext_resource type="PackedScene" uid="uid://b1muxus5qdbeu" path="res://src/ui/in_game_ui/InGameUI.tscn" id="5_lxtnp"] [ext_resource type="PackedScene" uid="uid://cgwiwufvxvfs4" path="res://src/ui/load_next_level/LoadNextLevel.tscn" id="7_yw8km"] -[ext_resource type="Script" uid="uid://cbal5oeaha4nx" path="res://src/ui/pause_menu/PauseMenu.cs" id="11_5ng8c"] [ext_resource type="PackedScene" uid="uid://dbtfgrtgpr4qg" path="res://src/ui/game_over/GameOverMenu.tscn" id="11_wypid"] [ext_resource type="PackedScene" uid="uid://blbqgw3wosc1w" path="res://src/ui/pause_menu/PauseMenu.tscn" id="12_yev8k"] @@ -45,4 +44,3 @@ unique_name_in_owner = true [node name="PauseMenu" parent="." instance=ExtResource("12_yev8k")] unique_name_in_owner = true visible = false -script = ExtResource("11_5ng8c") diff --git a/Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs b/Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs index d218105e..47913b8a 100644 --- a/Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs +++ b/Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs @@ -53,4 +53,6 @@ public partial class RescuedItems : Node3D Game.RescuedItems.Items.Clear(); } + + public override void _ExitTree() => base._ExitTree(); } diff --git a/Zennysoft.Game.Ma/src/map/Map.tscn b/Zennysoft.Game.Ma/src/map/Map.tscn index a01ec32d..17b4cb35 100644 --- a/Zennysoft.Game.Ma/src/map/Map.tscn +++ b/Zennysoft.Game.Ma/src/map/Map.tscn @@ -76,15 +76,63 @@ libraries = { [node name="MapOrder" type="Node" parent="."] unique_name_in_owner = true +[node name="Overworld" type="Node" parent="MapOrder"] +script = ExtResource("3_v14r0") + [node name="Altar" type="Node" parent="MapOrder"] script = ExtResource("3_v14r0") FloorName = 1 -[node name="FirstFloor" type="Node" parent="MapOrder"] +[node name="Floor01" type="Node" parent="MapOrder"] script = ExtResource("2_00xd7") -FolderName = "SetAFloors" +FolderName = "Floor01" FloorOdds = Array[float]([0.0, 1.0]) Sproingy = 1.0 -[node name="Overworld" type="Node" parent="MapOrder"] -script = ExtResource("3_v14r0") +[node name="Floor02" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor02" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor03" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor03" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor04" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor04" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor05" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor05" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor06" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor06" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor07" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor07" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor08" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor08" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 + +[node name="Floor09" type="Node" parent="MapOrder"] +script = ExtResource("2_00xd7") +FolderName = "Floor09" +FloorOdds = Array[float]([0.0, 1.0]) +Sproingy = 1.0 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs index 6cd9c351..f1474e64 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs @@ -18,8 +18,6 @@ public partial class Overworld : Node3D, IDungeonFloor [Node] private Area3D Exit { get; set; } = default!; - [Node] private RescuedItems RescuedItems { get; set; } = default!; - [Node] private Area3D RestoreArea { get; set; } = default!; public ImmutableList Rooms => []; @@ -32,7 +30,6 @@ public partial class Overworld : Node3D, IDungeonFloor { Show(); Exit.AreaEntered += Exit_AreaEntered; - RescuedItems.SpawnRescuedItems(); RestoreArea.AreaEntered += RestoreArea_AreaEntered; RestoreArea.AreaExited += RestoreArea_AreaExited; RestoreTimer = new Timer(); diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn index 7e8f0cda..cdf05b60 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Overworld.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=523 format=4 uid="uid://dvnc26rebk6o0"] +[gd_scene load_steps=522 format=4 uid="uid://dvnc26rebk6o0"] [ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"] [ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"] -[ext_resource type="AudioStream" uid="uid://dqmsaok6fyhe7" path="res://src/audio/amb/amb_perlin.wav" id="2_wbbo3"] -[ext_resource type="AudioStream" uid="uid://dl07vg00se7hd" path="res://src/audio/amb/amb_white_noise.wav" id="3_c2gp5"] -[ext_resource type="AudioStream" uid="uid://boypvgaweep8a" path="res://src/audio/amb/amb_beach.wav" id="3_pvi8n"] +[ext_resource type="AudioStream" uid="uid://dqmsaok6fyhe7" path="res://src/audio/AMB/amb_perlin.wav" id="2_wbbo3"] +[ext_resource type="AudioStream" uid="uid://dl07vg00se7hd" path="res://src/audio/AMB/amb_white_noise.wav" id="3_c2gp5"] +[ext_resource type="AudioStream" uid="uid://boypvgaweep8a" path="res://src/audio/AMB/amb_beach.wav" id="3_pvi8n"] [ext_resource type="Texture2D" uid="uid://w33fr6exryiy" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_37.png" id="3_uyygh"] [ext_resource type="Texture2D" uid="uid://dv10yaqvp3mub" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_71.png" id="4_r8r3k"] [ext_resource type="Shader" uid="uid://brhf7s3riyag5" path="res://src/map/map shaders/Metal.gdshader" id="5_d1qcb"] @@ -104,7 +104,6 @@ [ext_resource type="PackedScene" uid="uid://clml6uw8csbw1" path="res://src/map/overworld/Models/Overworld Re-Scaled (Missing Distance Objects).glb" id="108_yksd7"] [ext_resource type="PackedScene" uid="uid://dld10xlpr8d17" path="res://src/map/assets/OW_gate.glb" id="109_8vsb2"] [ext_resource type="PackedScene" uid="uid://dnomijv6j8s3" path="res://src/map/overworld/Models/Overworld COLLISION.glb" id="109_vbsj2"] -[ext_resource type="PackedScene" uid="uid://tc5kdfoggrng" path="res://src/item_rescue/RescuedItems.tscn" id="141_b6pah"] [ext_resource type="Texture2D" uid="uid://bd3ad0jb6emg" path="res://src/vfx/World/GREEN_FLAME.png" id="141_fmewe"] [ext_resource type="Texture2D" uid="uid://b7kj1pxt7wx1g" path="res://src/vfx/World/BLUE_FLAME.png" id="142_8vsb2"] [ext_resource type="Texture2D" uid="uid://tqkq5kaijq7f" path="res://src/vfx/World/REGULAR_FLAME.png" id="143_xuv6m"] @@ -10671,10 +10670,6 @@ omni_range = 60.893 [node name="Item Transport" type="Node3D" parent="Node3D"] -[node name="RescuedItems" parent="Node3D/Item Transport" instance=ExtResource("141_b6pah")] -unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -349.863, 9.41853, 131.703) - [node name="Flames" type="Node3D" parent="Node3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -384.577, -32.0995, 112.205) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/LongRoom/A1-Longroom_brick_corridor_corrected.png.import b/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/LongRoom/A1-Longroom_brick_corridor_corrected.png.import index ee8cdd57..7d75e72f 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/LongRoom/A1-Longroom_brick_corridor_corrected.png.import +++ b/Zennysoft.Game.Ma/src/map/dungeon/models/Area 1/LongRoom/A1-Longroom_brick_corridor_corrected.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://rq7xhwirdq4k" +uid="uid://d2b7x8y1t8h0c" path="res://.godot/imported/A1-Longroom_brick_corridor_corrected.png-b1ea2c8e973447760ca54f5a871194df.ctex" metadata={ "vram_texture": false diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/04. Tree Antechamber.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/04. Tree Antechamber.tscn index ceddf394..0f9a57f2 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/04. Tree Antechamber.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/04. Tree Antechamber.tscn @@ -1,27 +1,42 @@ -[gd_scene load_steps=19 format=3 uid="uid://tpgwccr6v43e"] +[gd_scene load_steps=23 format=3 uid="uid://tpgwccr6v43e"] [ext_resource type="Script" uid="uid://dhollu4j3pynq" path="res://src/map/dungeon/code/MonsterRoom.cs" id="1_58osi"] [ext_resource type="PackedScene" uid="uid://cljj515aklhoq" path="res://src/map/dungeon/models/Area 1/Tree/A1-Tree.glb" id="2_rr4cd"] [ext_resource type="Texture2D" uid="uid://dw50ys561j8no" path="res://src/map/assets/DUST_1.png" id="4_e73oq"] [ext_resource type="Texture2D" uid="uid://ba7ch5rr7qj1d" path="res://src/minimap/textures/Room Maps/mi_treeante.png" id="7_hy27a"] -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8p1kn"] -data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1) - -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_f8ox8"] -data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1) - -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_4swpa"] -data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1) - -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yav33"] -data = PackedVector3Array(-1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, 1) - -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_b3r1q"] -data = PackedVector3Array(27.7283, 2.9884, 14.2001, 27.7283, 9.9474, 23.5665, 27.7283, 2.9884, 23.5665, 27.7283, 2.9884, 14.2001, 27.7283, 9.9474, 14.2001, 27.7283, 9.9474, 23.5665, 27.7283, -3.9703, 14.2001, 27.7283, 2.9884, 14.2001, 27.7283, 2.9884, 23.5665, 27.7283, -3.9703, 14.2001, 27.7283, 2.9884, 23.5665, 27.7283, -3.9703, 23.5665, 27.7283, -10.8601, 14.2001, 27.7283, -3.9703, 14.2001, 27.7283, -3.9703, 23.5665, 27.7283, -10.8601, 14.2001, 27.7283, -3.9703, 23.5665, 27.7283, -10.8601, 23.5665, 27.7283, 0.8907, 9.6498, 27.7283, 2.9884, 14.2001, 27.7283, -3.9703, 14.2001, 27.7283, 2.9884, 9.6498, 27.7283, 9.9474, 14.2001, 27.7283, 2.9884, 14.2001, 27.7283, 0.8907, 9.6498, 27.7283, 2.9884, 9.6498, 27.7283, 2.9884, 14.2001, 27.7283, 2.9884, 9.6498, 27.7283, 9.9474, 9.6498, 27.7283, 9.9474, 14.2001, 27.7283, 0.8907, -4.2669, 27.7283, 2.9884, 9.6498, 27.7283, 0.8907, 9.6498, 27.7283, 2.9884, -4.2669, 27.7283, 9.9474, 9.6498, 27.7283, 2.9884, 9.6498, 27.7283, 0.8907, -4.2669, 27.7283, 2.9884, -4.2669, 27.7283, 2.9884, 9.6498, 27.7283, 2.9884, -4.2669, 27.7283, 9.9474, -4.2669, 27.7283, 9.9474, 9.6498, 27.7283, -3.9703, -8.9055, 27.7283, 2.9884, -4.2669, 27.7283, 0.8907, -4.2669, 27.7283, 2.9884, -8.9055, 27.7283, 9.9474, -4.2669, 27.7283, 2.9884, -4.2669, 27.7283, -3.9703, -8.9055, 27.7283, 2.9884, -8.9055, 27.7283, 2.9884, -4.2669, 27.7283, 2.9884, -8.9055, 27.7283, 9.9474, -8.9055, 27.7283, 9.9474, -4.2669, 27.7283, -10.8601, -18.1836, 27.7283, -3.9703, -8.9055, 27.7283, -10.8601, -8.9055, 27.7283, -10.8601, -18.1836, 27.7283, -3.9703, -18.1836, 27.7283, -3.9703, -8.9055, 27.7283, -3.9703, -18.1836, 27.7283, 2.9884, -8.9055, 27.7283, -3.9703, -8.9055, 27.7283, -10.8601, -32.0995, 27.7283, -3.9703, -18.1836, 27.7283, -10.8601, -18.1836, 27.7283, -10.8601, -32.0995, 27.7283, -3.9703, -32.0995, 27.7283, -3.9703, -18.1836, 27.7283, -3.9703, -18.1836, 27.7283, 2.9884, -18.1836, 27.7283, 2.9884, -8.9055, 27.7283, 2.9884, -18.1836, 27.7283, 9.9474, -8.9055, 27.7283, 2.9884, -8.9055, 27.7283, -3.9703, -32.0995, 27.7283, 2.9884, -18.1836, 27.7283, -3.9703, -18.1836, 27.7283, 2.9884, -18.1836, 27.7283, 9.9474, -18.1836, 27.7283, 9.9474, -8.9055, 27.7283, -3.9703, -32.0995, 27.7283, 2.9884, -32.0995, 27.7283, 2.9884, -18.1836, 27.7283, 2.9884, -32.0995, 27.7283, 9.9474, -18.1836, 27.7283, 2.9884, -18.1836, 27.7283, 2.9884, -32.0995, 27.7283, 9.9474, -32.0995, 27.7283, 9.9474, -18.1836, -14.0418, 2.9884, 23.5665, -27.9575, 9.9474, 23.5665, -27.9575, 2.9884, 23.5665, -14.0418, 2.9884, 23.5665, -14.0418, 9.9474, 23.5665, -27.9575, 9.9474, 23.5665, -14.0418, -3.9703, 23.5665, -14.0418, 2.9884, 23.5665, -27.9575, 2.9884, 23.5665, -14.0418, -3.9703, 23.5665, -27.9575, 2.9884, 23.5665, -27.9575, -3.9703, 23.5665, -14.0418, -10.8601, 23.5665, -14.0418, -3.9703, 23.5665, -27.9575, -3.9703, 23.5665, -14.0418, -10.8601, 23.5665, -27.9575, -3.9703, 23.5665, -27.9575, -10.8601, 23.5665, 27.7283, 2.9884, 23.5665, 13.8083, 9.9474, 23.5665, 13.8083, 2.9884, 23.5665, 27.7283, 2.9884, 23.5665, 27.7283, 9.9474, 23.5665, 13.8083, 9.9474, 23.5665, 27.7283, -3.9703, 23.5665, 27.7283, 2.9884, 23.5665, 13.8083, 2.9884, 23.5665, 27.7283, -3.9703, 23.5665, 13.8083, 2.9884, 23.5665, 13.8083, -3.9703, 23.5665, 27.7283, -10.8601, 23.5665, 27.7283, -3.9703, 23.5665, 13.8083, -3.9703, 23.5665, 27.7283, -10.8601, 23.5665, 13.8083, -3.9703, 23.5665, 13.8083, -10.8601, 23.5665, -27.9575, -3.9703, -8.6737, -27.9575, 9.9474, -18.1836, -27.9575, -3.9703, -18.1836, -27.9575, -3.9703, -8.6737, -27.9575, 9.9474, -9.1145, -27.9575, 9.9474, -18.1836, -27.9575, 1.6073, -4.2669, -27.9575, 9.9474, -9.1145, -27.9575, -3.9703, -8.6737, -27.9575, 1.6073, -4.2669, -27.9575, 9.9474, -4.2669, -27.9575, 9.9474, -9.1145, -27.9575, -10.8601, -8.7068, -27.9575, -3.9703, -8.6737, -27.9575, -3.9703, -18.1836, -27.9575, -3.9703, -18.1836, -27.9575, 9.9474, -18.1836, -27.9575, 9.9474, -32.0995, -27.9575, -10.8601, -8.7068, -27.9575, -3.9703, -18.1836, -27.9575, -10.8601, -18.1836, -27.9575, -3.9703, -18.1836, -27.9575, 9.9474, -32.0995, -27.9575, -3.9703, -32.0995, -27.9575, -10.8601, -18.1836, -27.9575, -3.9703, -18.1836, -27.9575, -3.9703, -32.0995, -27.9575, -10.8601, -18.1836, -27.9575, -3.9703, -32.0995, -27.9575, -10.8601, -32.0995, 27.7283, -10.8601, -8.9055, 27.7283, 0.8907, -4.2669, 27.7283, -10.8601, -4.2669, 27.7283, -10.8601, -8.9055, 27.7283, -3.9703, -8.9055, 27.7283, 0.8907, -4.2669, -27.9575, -10.8601, 14.3623, -27.9575, 1.6073, 9.6498, -27.9575, -10.8601, 9.6498, -27.9575, -10.8601, 14.3623, -27.9575, -3.9703, 14.2357, -27.9575, 1.6073, 9.6498, 13.8083, 6.7749, 15.1735, 17.293, 6.0758, 13.1341, 13.8083, 6.7749, 9.6498, 13.8083, 6.7749, 9.6498, 17.293, 6.0758, 13.1341, 24.2394, 6.0758, 13.1341, 23.1985, 6.0758, 14.1754, 24.2394, 6.0758, 13.1341, 17.293, 6.0758, 13.1341, 23.1985, 6.0758, 16.1061, 24.2394, 6.0758, 13.1341, 23.1985, 6.0758, 14.1754, 23.1985, 6.0758, 14.1754, 17.293, 6.0758, 13.1341, 18.3339, 6.0758, 14.1754, 23.1985, 6.0758, 16.1061, 24.2394, 6.0758, 15.8921, 24.2394, 6.0758, 13.1341, 23.1985, 6.0758, 19.04, 24.2394, 6.0758, 15.8921, 23.1985, 6.0758, 16.1061, 23.1985, 6.0758, 19.04, 24.2394, 6.0758, 20.0814, 24.2394, 6.0758, 15.8921, 18.3339, 6.0758, 19.04, 24.2394, 6.0758, 20.0814, 23.1985, 6.0758, 19.04, 18.3339, 6.0758, 19.04, 17.293, 6.0758, 20.0814, 24.2394, 6.0758, 20.0814, 13.8083, 6.7749, 9.6498, 24.2394, 6.0758, 13.1341, 27.7283, 6.7749, 9.6498, 18.3339, 6.0758, 16.1061, 17.293, 6.0758, 20.0814, 18.3339, 6.0758, 19.04, 27.7283, 6.7749, 9.6498, 14.7082, 5.0957, 8.7494, 13.8083, 6.7749, 9.6498, 27.7283, 6.7749, 9.6498, 27.7207, 5.0957, 8.7494, 14.7082, 5.0957, 8.7494, 27.7207, 5.0957, 8.7494, 14.7082, 4.1771, 8.7494, 14.7082, 5.0957, 8.7494, 27.7207, 5.0957, 8.7494, 27.7207, 4.1771, 8.7494, 14.7082, 4.1771, 8.7494, 18.3339, 6.0758, 16.1061, 17.293, 6.0758, 15.8921, 17.293, 6.0758, 20.0814, 18.3339, 6.0758, 14.1754, 17.293, 6.0758, 15.8921, 18.3339, 6.0758, 16.1061, 18.3339, 6.0758, 14.1754, 17.293, 6.0758, 13.1341, 17.293, 6.0758, 15.8921, 13.8083, 6.7749, 23.5665, 17.293, 6.0758, 20.0814, 17.293, 6.0758, 15.8921, 13.8083, 6.7749, 15.1735, 17.293, 6.0758, 15.8921, 17.293, 6.0758, 13.1341, 13.8083, 6.7749, 23.5665, 17.293, 6.0758, 15.8921, 13.8083, 6.7749, 15.1735, 13.8083, 6.7749, 15.1735, 12.6366, 5.2477, 22.3952, 13.8083, 6.7749, 23.5665, 13.8083, 6.7749, 9.6498, 12.6366, 5.2477, 15.4147, 13.8083, 6.7749, 15.1735, 13.8083, 6.7749, 15.1735, 12.6366, 5.2477, 15.4147, 12.6366, 5.2477, 22.3952, 13.8083, 6.7749, 9.6498, 12.6366, 5.2477, 10.8211, 12.6366, 5.2477, 15.4147, 11.5643, 5.2477, 22.2703, 12.6366, 5.2477, 22.3952, 12.6366, 5.2477, 15.4147, 11.5643, 5.2477, 16.5844, 12.6366, 5.2477, 15.4147, 12.6366, 5.2477, 10.8211, 11.5643, 5.2477, 22.2703, 12.6366, 5.2477, 15.4147, 11.5643, 5.2477, 16.5844, 11.5643, 5.2477, 16.5844, 12.6366, 5.2477, 10.8211, 11.5643, 5.2477, 12.8419, 11.5643, 5.2477, 12.8419, 12.6366, 5.2477, 10.8211, 1.0627, 5.2477, 10.8211, 11.5643, 5.2477, 16.5844, 11.5643, 5.0744, 22.2703, 11.5643, 5.2477, 22.2703, 11.5643, 5.2477, 12.8419, 1.0627, 5.2477, 10.8211, 2.1359, 5.2477, 12.8419, 2.1359, 5.2477, 12.8419, 1.0627, 5.2477, 10.8211, 1.0627, 5.2477, 15.4147, 11.5643, 5.2477, 12.8419, 11.5643, 5.0744, 16.5844, 11.5643, 5.2477, 16.5844, 11.5643, 5.2477, 16.5844, 11.5643, 5.0744, 16.5844, 11.5643, 5.0744, 22.2703, 2.1359, 5.2477, 12.8419, 11.5643, 5.0744, 12.8419, 11.5643, 5.2477, 12.8419, 11.5643, 5.2477, 12.8419, 11.5643, 5.0744, 12.8419, 11.5643, 5.0744, 16.5844, 2.1359, 5.2477, 12.8419, 1.0627, 5.2477, 15.4147, 2.1359, 5.2477, 16.5844, 2.1359, 5.2477, 16.5844, 1.0627, 5.2477, 15.4147, 1.0627, 5.2477, 22.3952, 2.1359, 5.2477, 12.8419, 2.1359, 5.0744, 12.8419, 11.5643, 5.0744, 12.8419, 2.1359, 5.2477, 16.5844, 2.1359, 5.0744, 12.8419, 2.1359, 5.2477, 12.8419, 7.9657, 5.0744, 18.7028, 11.5643, 5.0744, 16.5844, 11.5643, 5.0744, 12.8419, 2.1359, 5.2477, 16.5844, 1.0627, 5.2477, 22.3952, 2.1359, 5.2477, 22.2703, 2.1359, 5.2477, 22.2703, 1.0627, 5.2477, 22.3952, 12.6366, 5.2477, 22.3952, 2.1359, 5.2477, 22.2703, 12.6366, 5.2477, 22.3952, 11.5643, 5.2477, 22.2703, 2.1359, 5.2477, 22.2703, 2.1359, 5.0744, 16.5844, 2.1359, 5.2477, 16.5844, 2.1359, 5.2477, 16.5844, 2.1359, 5.0744, 16.5844, 2.1359, 5.0744, 12.8419, 11.5643, 5.2477, 22.2703, 2.1359, 5.0744, 22.2703, 2.1359, 5.2477, 22.2703, 2.1359, 5.2477, 22.2703, 2.1359, 5.0744, 22.2703, 2.1359, 5.0744, 16.5844, 11.5643, 5.2477, 22.2703, 11.5643, 5.0744, 22.2703, 2.1359, 5.0744, 22.2703, 7.9657, 5.0744, 21.8252, 11.5643, 5.0744, 22.2703, 11.5643, 5.0744, 16.5844, 7.9657, 5.0744, 21.8252, 11.5643, 5.0744, 16.5844, 7.9657, 5.0744, 18.7028, 2.7876, 5.0744, 21.8252, 2.1359, 5.0744, 22.2703, 11.5643, 5.0744, 22.2703, 2.7876, 5.0744, 21.8252, 11.5643, 5.0744, 22.2703, 7.9657, 5.0744, 21.8252, 3.9296, 5.0744, 20.6836, 2.7876, 5.0744, 21.8252, 7.9657, 5.0744, 21.8252, 3.9296, 5.0744, 20.6836, 7.9657, 5.0744, 21.8252, 6.8237, 5.0744, 20.6836, 6.8237, 5.0744, 20.6836, 7.9657, 5.0744, 21.8252, 7.9657, 5.0744, 18.7028, 3.9296, 5.0744, 18.9381, 2.7876, 5.0744, 21.8252, 3.9296, 5.0744, 20.6836, 6.8237, 5.0744, 20.6836, 7.9657, 5.0744, 18.7028, 6.8237, 5.0744, 18.9381, 3.9296, 5.0744, 18.9381, 2.7876, 5.0744, 18.7028, 2.7876, 5.0744, 21.8252, 2.7876, 5.0744, 18.7028, 2.1359, 5.0744, 22.2703, 2.7876, 5.0744, 21.8252, 2.7876, 5.0744, 18.7028, 2.1359, 5.0744, 16.5844, 2.1359, 5.0744, 22.2703, 3.9296, 5.0744, 17.7897, 2.7876, 5.0744, 18.7028, 3.9296, 5.0744, 18.9381, 2.7876, 5.0744, 16.6472, 2.1359, 5.0744, 16.5844, 2.7876, 5.0744, 18.7028, 3.9296, 5.0744, 17.7897, 2.7876, 5.0744, 16.6472, 2.7876, 5.0744, 18.7028, 2.7876, 5.0744, 16.6472, 2.1359, 5.0744, 12.8419, 2.1359, 5.0744, 16.5844, 6.8237, 5.0744, 17.7897, 2.7876, 5.0744, 16.6472, 3.9296, 5.0744, 17.7897, 7.9657, 5.0744, 16.6472, 2.1359, 5.0744, 12.8419, 2.7876, 5.0744, 16.6472, 6.8237, 5.0744, 17.7897, 7.9657, 5.0744, 16.6472, 2.7876, 5.0744, 16.6472, 6.8237, 5.0744, 18.9381, 7.9657, 5.0744, 16.6472, 6.8237, 5.0744, 17.7897, 6.8237, 5.0744, 18.9381, 7.9657, 5.0744, 18.7028, 7.9657, 5.0744, 16.6472, 7.9657, 5.0744, 16.6472, 11.5643, 5.0744, 12.8419, 2.1359, 5.0744, 12.8419, 7.9657, 5.0744, 18.7028, 11.5643, 5.0744, 12.8419, 7.9657, 5.0744, 16.6472, -14.0418, 6.7749, 23.5665, -26.5988, 4.1196, 22.2074, -27.9575, 6.7749, 23.5665, -14.0418, 6.7749, 23.5665, -15.4005, 4.1196, 22.2074, -26.5988, 4.1196, 22.2074, -27.9575, 6.7749, 9.6498, -25.8825, 6.0663, -2.1918, -27.9575, 6.7749, -4.2669, -27.9575, 6.7749, 9.6498, -25.8825, 6.0663, 7.5747, -25.8825, 6.0663, -2.1918, -25.8825, 6.0663, 7.5747, -25.8825, 7.182, -2.1918, -25.8825, 6.0663, -2.1918, -25.8825, 6.0663, 7.5747, -25.8825, 7.182, 7.5747, -25.8825, 7.182, -2.1918, -27.9575, 6.7749, 15.1735, -26.5988, 4.1196, 11.008, -27.9575, 6.7749, 9.6498, -27.9575, 6.7749, 15.1735, -26.5988, 4.1196, 15.4538, -26.5988, 4.1196, 11.008, -27.9575, 6.7749, 23.5665, -26.5988, 4.1196, 15.4538, -27.9575, 6.7749, 15.1735, -27.9575, 6.7749, 23.5665, -26.5988, 4.1196, 22.2074, -26.5988, 4.1196, 15.4538, 27.7283, 6.7749, 23.5665, 17.293, 6.0758, 20.0814, 13.8083, 6.7749, 23.5665, 27.7283, 6.7749, 23.5665, 24.2394, 6.0758, 20.0814, 17.293, 6.0758, 20.0814, 27.7283, 6.7749, 15.1735, 24.2394, 6.0758, 20.0814, 27.7283, 6.7749, 23.5665, 27.7283, 6.7749, 15.1735, 24.2394, 6.0758, 15.8921, 24.2394, 6.0758, 20.0814, 27.7283, 6.7749, 9.6498, 24.2394, 6.0758, 15.8921, 27.7283, 6.7749, 15.1735, 27.7283, 6.7749, 9.6498, 24.2394, 6.0758, 13.1341, 24.2394, 6.0758, 15.8921, 3.9296, 4.0314, 18.9381, 2.8029, 4.0314, 17.7897, 3.9296, 4.0314, 17.7897, 3.9296, 4.0314, 18.9381, 2.8029, 4.0314, 18.9381, 2.8029, 4.0314, 17.7897, 3.9296, 4.0314, 20.6836, 2.8029, 4.0314, 18.9381, 3.9296, 4.0314, 18.9381, 3.9296, 4.0314, 20.6836, 2.8029, 4.0314, 20.6836, 2.8029, 4.0314, 18.9381, 13.7786, 9.9474, -32.0995, 27.7283, 6.4593, -32.0995, 27.7283, 9.9474, -32.0995, 13.7786, 9.9474, -32.0995, 13.7786, 6.4593, -32.0995, 27.7283, 6.4593, -32.0995, -0.1167, 8.8571, -32.0995, 13.7786, 7.4636, -32.0995, 13.7786, 8.8571, -32.0995, -0.1167, 8.8571, -32.0995, -0.1167, 7.4636, -32.0995, 13.7786, 7.4636, -32.0995, -27.9575, 6.7749, 15.1735, -27.9575, 1.6073, 9.6498, -27.9575, -3.9703, 14.2357, -27.9575, 6.7749, 15.1735, -27.9575, 6.7749, 9.6498, -27.9575, 1.6073, 9.6498, -27.9575, 6.7749, 23.5665, -27.9575, 6.7749, 15.1735, -27.9575, -3.9703, 14.2357, -27.9575, 6.7749, 23.5665, -27.9575, -3.9703, 14.2357, -27.9575, -3.9703, 23.5665, -27.9575, -10.8601, -32.0995, -16.7303, -3.8858, -32.0995, -16.7303, -10.8598, -32.0995, -27.9575, -10.8601, -32.0995, -27.9575, -3.9703, -32.0995, -16.7303, -3.8858, -32.0995, -27.9575, 7.1915, -32.0995, -16.7303, -3.8858, -32.0995, -27.9575, -3.9703, -32.0995, -27.9575, 7.1915, -32.0995, -16.7303, 7.1915, -32.0995, -16.7303, -3.8858, -32.0995, -16.7303, 7.1915, -32.0995, -9.0013, -3.8858, -32.0995, -16.7303, -3.8858, -32.0995, -0.1167, 5.3557, -32.0995, -9.0013, -3.8858, -32.0995, -16.7303, 7.1915, -32.0995, -9.0013, -3.8858, -32.0995, -0.1167, 5.3557, -32.0995, -7.2755, -3.9097, -32.0995, -7.2755, -3.9097, -32.0995, -0.1167, 5.3557, -32.0995, -0.1167, -3.9097, -32.0995, -0.1167, 5.3557, -32.0995, 6.8602, -3.9097, -32.0995, -0.1167, -3.9097, -32.0995, -0.1167, 5.3557, -32.0995, -16.7303, 7.1915, -32.0995, -0.1167, 7.1483, -32.0995, -0.1167, 7.1483, -32.0995, -16.7303, 7.1915, -32.0995, -16.7303, 9.4305, -32.0995, -0.1167, 7.1483, -32.0995, -16.7303, 9.4305, -32.0995, -0.1167, 9.4305, -32.0995, 13.7786, 7.4636, -32.0995, -0.1167, 5.3557, -32.0995, -0.1167, 7.4636, -32.0995, -0.1167, 5.3557, -32.0995, 13.7786, 7.4636, -32.0995, 11.2473, -3.8858, -32.0995, -0.1167, 5.3557, -32.0995, 11.2473, -3.8858, -32.0995, 6.8602, -3.9097, -32.0995, 11.2473, -3.8858, -32.0995, 13.7786, 7.4636, -32.0995, 13.7786, -3.8858, -32.0995, 6.8602, -3.9097, -32.0995, 11.2473, -3.8858, -32.0995, 11.2473, -10.8598, -32.0995, 6.8602, -3.9097, -32.0995, 11.2473, -10.8598, -32.0995, 8.4382, -10.8598, -32.0995, 11.2473, -3.8858, -32.0995, 13.7786, -10.8598, -32.0995, 11.2473, -10.8598, -32.0995, 11.2473, -3.8858, -32.0995, 13.7786, -3.8858, -32.0995, 13.7786, -10.8598, -32.0995, 27.7283, -3.9703, -32.0995, 13.7786, -10.8598, -32.0995, 13.7786, -3.8858, -32.0995, 27.7283, -3.9703, -32.0995, 27.7283, -10.8601, -32.0995, 13.7786, -10.8598, -32.0995, 27.7283, 6.4593, -32.0995, 27.7283, -3.9703, -32.0995, 13.7786, -3.8858, -32.0995, 27.7283, 6.4593, -32.0995, 13.7786, -3.8858, -32.0995, 13.7786, 6.4593, -32.0995, -27.9575, 6.7749, 9.6498, -27.2956, 1.6073, 9.6498, -27.9575, 1.6073, 9.6498, -27.9575, 6.7749, 9.6498, -27.2956, 6.7749, 9.6498, -27.2956, 1.6073, 9.6498, -27.9575, 1.6073, 9.6498, -27.2956, 1.6073, 9.6498, -27.2956, 1.6073, -4.2669, -27.9575, 1.6073, 9.6498, -27.2956, 1.6073, -4.2669, -27.9575, 1.6073, -4.2669, -27.9575, 1.6073, -4.2669, -27.2956, 1.6073, -4.2669, -27.2956, 6.7749, -4.2669, -27.9575, 1.6073, -4.2669, -27.2956, 6.7749, -4.2669, -27.9575, 6.7749, -4.2669, -27.9575, -10.8601, 23.5665, -27.9575, -3.9703, 14.2357, -27.9575, -10.8601, 14.3623, -27.9575, -10.8601, 23.5665, -27.9575, -3.9703, 23.5665, -27.9575, -3.9703, 14.2357, 27.7283, -10.8601, 9.6498, 27.7283, -3.9703, 14.2001, 27.7283, -10.8601, 14.2001, 27.7283, -10.8601, 9.6498, 27.7283, 0.8907, 9.6498, 27.7283, -3.9703, 14.2001, 6.8458, -17.8232, 23.5665, 13.8083, -17.8232, 9.6498, 13.8083, -17.8232, 23.5665, 13.8083, -17.8232, 23.5665, 27.7283, -17.8232, 9.6498, 27.7283, -17.8232, 23.5665, 13.8083, -17.8232, 23.5665, 13.8083, -17.8232, 9.6498, 27.7283, -17.8232, 9.6498, 13.8083, -17.8232, 9.6498, 27.7283, -17.8232, -4.2669, 27.7283, -17.8232, 9.6498, 6.8458, -17.8232, 23.5665, 6.8458, -17.8232, 9.6498, 13.8083, -17.8232, 9.6498, -0.1167, -17.8232, 23.5665, 6.8458, -17.8232, 9.6498, 6.8458, -17.8232, 23.5665, -0.1167, -17.8232, 23.5665, -0.1167, -17.8232, 9.6498, 6.8458, -17.8232, 9.6498, 13.8083, -17.8232, 9.6498, 13.8083, -17.8232, -4.2669, 27.7283, -17.8232, -4.2669, 6.8458, -17.8232, 9.6498, 13.8083, -17.8232, -4.2669, 13.8083, -17.8232, 9.6498, 13.8083, -17.8232, -4.2669, 27.7283, -17.8232, -8.9055, 27.7283, -17.8232, -4.2669, -0.1167, -17.8232, 9.6498, 6.8458, -17.8232, -4.2669, 6.8458, -17.8232, 9.6498, 6.8458, -17.8232, 9.6498, 6.8458, -17.8232, -4.2669, 13.8083, -17.8232, -4.2669, -0.1167, -17.8232, 9.6498, -0.1167, -17.8232, -4.2669, 6.8458, -17.8232, -4.2669, 13.8083, -17.8232, -4.2669, 13.8083, -17.8232, -8.9055, 27.7283, -17.8232, -8.9055, 6.8458, -17.8232, -4.2669, 13.8083, -17.8232, -8.9055, 13.8083, -17.8232, -4.2669, 13.8083, -17.8232, -8.9055, 27.7283, -17.8232, -18.1836, 27.7283, -17.8232, -8.9055, -0.1167, -17.8232, -4.2669, 6.8458, -17.8232, -8.9055, 6.8458, -17.8232, -4.2669, 6.8458, -17.8232, -4.2669, 6.8458, -17.8232, -8.9055, 13.8083, -17.8232, -8.9055, -0.1167, -17.8232, -4.2669, -0.1167, -17.8232, -8.9055, 6.8458, -17.8232, -8.9055, 13.8083, -17.8232, -8.9055, 13.8083, -17.8232, -18.1836, 27.7283, -17.8232, -18.1836, 6.8458, -17.8232, -8.9055, 13.8083, -17.8232, -18.1836, 13.8083, -17.8232, -8.9055, 13.8083, -17.8232, -18.1836, 27.7283, -17.8232, -32.0995, 27.7283, -17.8232, -18.1836, 13.8083, -17.8232, -18.1836, 13.7786, -17.8232, -32.0995, 27.7283, -17.8232, -32.0995, 6.8458, -17.8232, -8.9055, 6.8458, -17.8232, -18.1836, 13.8083, -17.8232, -18.1836, 6.8458, -17.8232, -18.1836, 13.7786, -17.8232, -32.0995, 13.8083, -17.8232, -18.1836, -0.1167, -17.8232, -8.9055, 6.8458, -17.8232, -18.1836, 6.8458, -17.8232, -8.9055, 6.8458, -17.8232, -18.1836, 8.4169, -17.8232, -32.0995, 13.7786, -17.8232, -32.0995, -0.1167, -17.8232, -8.9055, -0.1167, -17.8232, -18.1836, 6.8458, -17.8232, -18.1836, -0.1167, -17.8232, -18.1836, 8.4169, -17.8232, -32.0995, 6.8458, -17.8232, -18.1836, -0.1167, -17.8232, -18.1836, -0.1167, -17.8232, -32.0995, 8.4169, -17.8232, -32.0995, -7.0835, -17.8232, 23.5665, -0.1167, -17.8232, 9.6498, -0.1167, -17.8232, 23.5665, -7.0835, -17.8232, 23.5665, -7.0835, -17.8232, 9.6498, -0.1167, -17.8232, 9.6498, -7.0835, -17.8232, 9.6498, -0.1167, -17.8232, -4.2669, -0.1167, -17.8232, 9.6498, -14.0418, -17.8232, 23.5665, -7.0835, -17.8232, 9.6498, -7.0835, -17.8232, 23.5665, -7.0835, -17.8232, 9.6498, -7.0835, -17.8232, -4.2669, -0.1167, -17.8232, -4.2669, -14.0418, -17.8232, 23.5665, -14.0418, -17.8232, 9.6498, -7.0835, -17.8232, 9.6498, -14.0418, -17.8232, 9.6498, -7.0835, -17.8232, -4.2669, -7.0835, -17.8232, 9.6498, -27.9575, -17.8232, 23.5665, -14.0418, -17.8232, 9.6498, -14.0418, -17.8232, 23.5665, -7.0835, -17.8232, -4.2669, -0.1167, -17.8232, -8.9055, -0.1167, -17.8232, -4.2669, -27.9575, -17.8232, 23.5665, -27.9575, -17.8232, 9.6498, -14.0418, -17.8232, 9.6498, -27.9575, -17.8232, 9.6498, -14.0418, -17.8232, -4.2669, -14.0418, -17.8232, 9.6498, -14.0418, -17.8232, 9.6498, -14.0418, -17.8232, -4.2669, -7.0835, -17.8232, -4.2669, -27.9575, -17.8232, 9.6498, -27.9575, -17.8232, -4.2669, -14.0418, -17.8232, -4.2669, -7.0835, -17.8232, -4.2669, -7.0835, -17.8232, -8.9055, -0.1167, -17.8232, -8.9055, -14.0418, -17.8232, -4.2669, -7.0835, -17.8232, -8.9055, -7.0835, -17.8232, -4.2669, -7.0835, -17.8232, -8.9055, -0.1167, -17.8232, -18.1836, -0.1167, -17.8232, -8.9055, -27.9575, -17.8232, -4.2669, -14.0418, -17.8232, -8.9055, -14.0418, -17.8232, -4.2669, -14.0418, -17.8232, -4.2669, -14.0418, -17.8232, -8.9055, -7.0835, -17.8232, -8.9055, -27.9575, -17.8232, -4.2669, -27.9575, -17.8232, -8.9055, -14.0418, -17.8232, -8.9055, -7.0835, -17.8232, -8.9055, -7.0835, -17.8232, -18.1836, -0.1167, -17.8232, -18.1836, -14.0418, -17.8232, -8.9055, -7.0835, -17.8232, -18.1836, -7.0835, -17.8232, -8.9055, -7.0835, -17.8232, -18.1836, -0.1167, -17.8232, -32.0995, -0.1167, -17.8232, -18.1836, -7.0835, -17.8232, -18.1836, -7.0835, -17.8232, -32.0995, -0.1167, -17.8232, -32.0995, -14.0418, -17.8232, -8.9055, -14.0418, -17.8232, -18.1836, -7.0835, -17.8232, -18.1836, -14.0418, -17.8232, -18.1836, -7.0835, -17.8232, -32.0995, -7.0835, -17.8232, -18.1836, -27.9575, -17.8232, -8.9055, -14.0418, -17.8232, -18.1836, -14.0418, -17.8232, -8.9055, -14.0418, -17.8232, -18.1836, -16.7303, -17.8232, -32.0995, -7.0835, -17.8232, -32.0995, -27.9575, -17.8232, -8.9055, -27.9575, -17.8232, -18.1836, -14.0418, -17.8232, -18.1836, -27.9575, -17.8232, -18.1836, -16.7303, -17.8232, -32.0995, -14.0418, -17.8232, -18.1836, -27.9575, -17.8232, -18.1836, -27.9575, -17.8232, -32.0995, -16.7303, -17.8232, -32.0995, -9.0013, -10.8596, -32.0995, -7.2755, -3.9095, -32.0995, -7.2755, -10.8596, -32.0995, -9.0013, -10.8596, -32.0995, -9.0013, -3.8855, -32.0995, -7.2755, -3.9095, -32.0995, -16.7303, -10.8596, -32.0995, -9.0013, -3.8855, -32.0995, -9.0013, -10.8596, -32.0995, -16.7303, -10.8596, -32.0995, -16.7303, -3.8855, -32.0995, -9.0013, -3.8855, -32.0995, -20.9821, 4.1198, 16.2426, -20.9821, 2.8895, 18.3798, -20.9821, 4.1198, 18.3798, -20.9821, 4.1198, 18.3798, -20.9821, 2.8895, 18.3798, -24.5254, 2.8895, 18.3798, -20.9821, 4.1198, 18.3798, -24.5254, 2.8895, 18.3798, -24.5254, 4.1198, 18.3798, -20.9821, 4.1198, 16.2426, -20.9821, 2.8895, 16.2426, -20.9821, 2.8895, 18.3798, -20.9821, 4.1198, 14.8362, -20.9821, 2.8895, 16.2426, -20.9821, 4.1198, 16.2426, -24.5254, 2.8895, 16.2426, -24.5254, 2.8895, 18.3798, -20.9821, 2.8895, 18.3798, -24.5254, 4.1198, 18.3798, -24.5254, 2.8895, 18.3798, -24.5254, 2.8895, 16.2426, -24.5254, 2.8895, 16.2426, -20.9821, 2.8895, 18.3798, -20.9821, 2.8895, 16.2426, -24.5254, 4.1198, 18.3798, -24.5254, 2.8895, 16.2426, -24.5254, 4.1198, 16.2426, -20.9821, 4.1198, 14.8362, -20.9821, 2.8895, 14.8362, -20.9821, 2.8895, 16.2426, -24.5254, 4.1198, 14.8362, -20.9821, 2.8895, 14.8362, -20.9821, 4.1198, 14.8362, -24.5254, 2.8895, 14.8362, -24.5254, 2.8895, 16.2426, -20.9821, 2.8895, 16.2426, -24.5254, 4.1198, 16.2426, -24.5254, 2.8895, 16.2426, -24.5254, 2.8895, 14.8362, -24.5254, 2.8895, 14.8362, -20.9821, 2.8895, 16.2426, -20.9821, 2.8895, 14.8362, -24.5254, 4.1198, 16.2426, -24.5254, 2.8895, 14.8362, -24.5254, 4.1198, 14.8362, -24.5254, 4.1198, 14.8362, -24.5254, 2.8895, 14.8362, -20.9821, 2.8895, 14.8362, 18.3344, 6.0759, 14.1756, 23.1989, 4.8539, 14.1756, 23.1989, 6.0759, 14.1756, 18.3344, 6.0759, 14.1756, 18.3344, 4.8539, 14.1756, 23.1989, 4.8539, 14.1756, 18.3344, 6.0759, 16.1065, 18.3344, 4.8539, 14.1756, 18.3344, 6.0759, 14.1756, 23.1989, 6.0759, 14.1756, 23.1989, 4.8539, 14.1756, 23.1989, 4.8539, 16.1065, 18.3344, 4.8539, 14.1756, 23.1989, 4.8539, 16.1065, 23.1989, 4.8539, 14.1756, 23.1989, 6.0759, 14.1756, 23.1989, 4.8539, 16.1065, 23.1989, 6.0759, 16.1065, 18.3344, 6.0759, 16.1065, 18.3344, 4.8539, 16.1065, 18.3344, 4.8539, 14.1756, 18.3344, 4.8539, 14.1756, 18.3344, 4.8539, 16.1065, 23.1989, 4.8539, 16.1065, 18.3344, 6.0759, 19.0404, 18.3344, 4.8539, 16.1065, 18.3344, 6.0759, 16.1065, 23.1989, 6.0759, 16.1065, 23.1989, 4.8539, 16.1065, 23.1989, 4.8539, 19.0404, 18.3344, 4.8539, 16.1065, 23.1989, 4.8539, 19.0404, 23.1989, 4.8539, 16.1065, 23.1989, 6.0759, 16.1065, 23.1989, 4.8539, 19.0404, 23.1989, 6.0759, 19.0404, 18.3344, 6.0759, 19.0404, 18.3344, 4.8539, 19.0404, 18.3344, 4.8539, 16.1065, 18.3344, 4.8539, 16.1065, 18.3344, 4.8539, 19.0404, 23.1989, 4.8539, 19.0404, 23.1989, 6.0759, 19.0404, 18.3344, 4.8539, 19.0404, 18.3344, 6.0759, 19.0404, 23.1989, 6.0759, 19.0404, 23.1989, 4.8539, 19.0404, 18.3344, 4.8539, 19.0404, 17.7964, 4.1773, 5.6617, 17.7964, 3.4403, -0.2787, 17.7964, 4.1773, -0.2787, 17.7964, 4.1773, 5.6617, 17.7964, 3.4403, 5.6617, 17.7964, 3.4403, -0.2787, 23.7369, 4.1773, 5.6617, 17.7964, 3.4403, 5.6617, 17.7964, 4.1773, 5.6617, 17.7964, 4.1773, -0.2787, 17.7964, 3.4403, -0.2787, 23.7369, 3.4403, -0.2787, 17.7964, 4.1773, -0.2787, 23.7369, 3.4403, -0.2787, 23.7369, 4.1773, -0.2787, 23.7369, 4.1773, -0.2787, 23.7369, 3.4403, 5.6617, 23.7369, 4.1773, 5.6617, 23.7369, 4.1773, 5.6617, 23.7369, 3.4403, 5.6617, 17.7964, 3.4403, 5.6617, 23.7369, 4.1773, -0.2787, 23.7369, 3.4403, -0.2787, 23.7369, 3.4403, 5.6617, 17.7964, 3.4403, -0.2787, 23.7369, 0.7997, -0.2787, 23.7369, 3.4403, -0.2787, 23.7369, 3.4403, 5.6617, 17.7964, 0.7997, 5.6617, 17.7964, 3.4403, 5.6617, 23.7369, 3.4403, -0.2787, 23.7369, 0.7997, 5.6617, 23.7369, 3.4403, 5.6617, 23.7369, 3.4403, -0.2787, 23.7369, 0.7997, -0.2787, 23.7369, 0.7997, 5.6617, 23.7369, 3.4403, 5.6617, 23.7369, 0.7997, 5.6617, 17.7964, 0.7997, 5.6617, 17.7964, 0.7997, 5.6617, 16.4389, 3.4403, 5.6617, 17.7964, 3.4403, 5.6617, 17.7964, 0.7997, -0.2787, 23.7369, 0.7997, 5.6617, 23.7369, 0.7997, -0.2787, 17.7964, 0.7997, -0.2787, 17.7964, 0.7997, 5.6617, 23.7369, 0.7997, 5.6617, 17.7964, 3.4403, -0.2787, 17.7964, 0.7997, -0.2787, 23.7369, 0.7997, -0.2787, 17.7964, 0.7997, 5.6617, 16.4389, 0.7997, 5.6617, 16.4389, 3.4403, 5.6617, 17.7964, 0.7997, -0.2787, 16.4389, 0.7997, 5.6617, 17.7964, 0.7997, 5.6617, 16.4389, 3.4403, 5.6617, 16.4389, 0.7997, 5.6617, 16.4389, 0.7997, -0.2787, 17.7964, 0.7997, -0.2787, 16.4389, 0.7997, -0.2787, 16.4389, 0.7997, 5.6617, 17.7964, 3.4403, -0.2787, 16.4389, 0.7997, -0.2787, 17.7964, 0.7997, -0.2787, 16.4389, 3.4403, 5.6617, 16.4389, 0.7997, -0.2787, 16.4389, 3.4403, -0.2787, 17.7964, 3.4403, -0.2787, 16.4389, 3.4403, -0.2787, 16.4389, 0.7997, -0.2787, 6.8233, 5.0744, 20.6836, 3.93, 4.0316, 20.6836, 3.93, 5.0744, 20.6836, 3.93, 5.0744, 20.6836, 3.93, 4.0316, 20.6836, 3.93, 4.0316, 18.938, 3.93, 5.0744, 20.6836, 3.93, 4.0316, 18.938, 3.93, 5.0744, 18.938, 3.93, 5.0744, 18.938, 3.93, 4.0316, 18.938, 3.93, 4.0316, 17.7896, 3.93, 5.0744, 18.938, 3.93, 4.0316, 17.7896, 3.93, 5.0744, 17.7896, 6.8233, 5.0744, 20.6836, 6.8233, 4.0316, 20.6836, 3.93, 4.0316, 20.6836, 6.8233, 5.0744, 18.938, 6.8233, 4.0316, 20.6836, 6.8233, 5.0744, 20.6836, 6.8233, 4.0316, 20.6836, 3.93, 3.0621, 20.6836, 3.93, 4.0316, 20.6836, 3.93, 3.0621, 20.6836, 2.8028, 4.0316, 20.6836, 3.93, 4.0316, 20.6836, 6.8233, 5.0744, 18.938, 6.8233, 4.0316, 18.938, 6.8233, 4.0316, 20.6836, 6.8233, 5.0744, 17.7896, 6.8233, 4.0316, 18.938, 6.8233, 5.0744, 18.938, 3.93, 5.0744, 17.7896, 6.8233, 4.0316, 17.7896, 6.8233, 5.0744, 17.7896, 6.8233, 5.0744, 17.7896, 6.8233, 4.0316, 17.7896, 6.8233, 4.0316, 18.938, 3.93, 5.0744, 17.7896, 3.93, 4.0316, 17.7896, 6.8233, 4.0316, 17.7896, 6.8233, 4.0316, 18.938, 6.8233, 3.0621, 20.6836, 6.8233, 4.0316, 20.6836, 6.8233, 4.0316, 20.6836, 6.8233, 3.0621, 20.6836, 3.93, 3.0621, 20.6836, 6.8233, 4.0316, 17.7896, 6.8233, 3.0621, 18.938, 6.8233, 4.0316, 18.938, 6.8233, 4.0316, 18.938, 6.8233, 3.0621, 18.938, 6.8233, 3.0621, 20.6836, 3.93, 4.0316, 17.7896, 6.8233, 3.0621, 17.7896, 6.8233, 4.0316, 17.7896, 6.8233, 4.0316, 17.7896, 6.8233, 3.0621, 17.7896, 6.8233, 3.0621, 18.938, 3.93, 4.0316, 17.7896, 3.93, 3.0621, 17.7896, 6.8233, 3.0621, 17.7896, 3.93, 3.0621, 17.7896, 6.8233, 3.0621, 18.938, 6.8233, 3.0621, 17.7896, 3.93, 3.0621, 18.938, 6.8233, 3.0621, 20.6836, 6.8233, 3.0621, 18.938, 3.93, 3.0621, 17.7896, 3.93, 3.0621, 18.938, 6.8233, 3.0621, 18.938, 3.93, 3.0621, 18.938, 3.93, 3.0621, 20.6836, 6.8233, 3.0621, 20.6836, 3.93, 4.0316, 17.7896, 2.8028, 3.0621, 17.7896, 3.93, 3.0621, 17.7896, 3.93, 4.0316, 17.7896, 2.8028, 4.0316, 17.7896, 2.8028, 3.0621, 17.7896, 2.8028, 4.0316, 18.938, 2.8028, 3.0621, 17.7896, 2.8028, 4.0316, 17.7896, 3.93, 3.0621, 18.938, 3.93, 2.2067, 20.6836, 3.93, 3.0621, 20.6836, 2.8028, 4.0316, 18.938, 2.8028, 3.0621, 18.938, 2.8028, 3.0621, 17.7896, 2.8028, 4.0316, 20.6836, 2.8028, 3.0621, 18.938, 2.8028, 4.0316, 18.938, 2.8028, 3.0621, 18.938, 2.8028, 2.2067, 17.7896, 2.8028, 3.0621, 17.7896, 3.93, 3.0621, 20.6836, 2.8028, 3.0621, 20.6836, 2.8028, 4.0316, 20.6836, 2.8028, 4.0316, 20.6836, 2.8028, 3.0621, 20.6836, 2.8028, 3.0621, 18.938, 3.93, 3.0621, 20.6836, 3.93, 2.2067, 20.6836, 2.8028, 2.2067, 20.6836, 3.93, 3.0621, 20.6836, 2.8028, 2.2067, 20.6836, 2.8028, 3.0621, 20.6836, 3.93, 3.0621, 18.938, 3.93, 2.2067, 18.938, 3.93, 2.2067, 20.6836, 3.93, 2.2067, 18.938, 2.8028, 2.2067, 20.6836, 3.93, 2.2067, 20.6836, 3.93, 3.0621, 17.7896, 3.93, 2.2067, 18.938, 3.93, 3.0621, 18.938, 2.8028, 3.0621, 20.6836, 2.8028, 2.2067, 20.6836, 2.8028, 2.2067, 18.938, 2.8028, 3.0621, 20.6836, 2.8028, 2.2067, 18.938, 2.8028, 3.0621, 18.938, 3.93, 2.2067, 18.938, 2.8028, 2.2067, 18.938, 2.8028, 2.2067, 20.6836, 2.8028, 3.0621, 18.938, 2.8028, 2.2067, 18.938, 2.8028, 2.2067, 17.7896, 3.93, 3.0621, 17.7896, 3.93, 2.2067, 17.7896, 3.93, 2.2067, 18.938, 3.93, 2.2067, 17.7896, 2.8028, 2.2067, 18.938, 3.93, 2.2067, 18.938, 2.8028, 3.0621, 17.7896, 3.93, 2.2067, 17.7896, 3.93, 3.0621, 17.7896, 3.93, 2.2067, 17.7896, 2.8028, 2.2067, 17.7896, 2.8028, 2.2067, 18.938, 2.8028, 3.0621, 17.7896, 2.8028, 2.2067, 17.7896, 3.93, 2.2067, 17.7896, -16.9363, 7.1821, 0.5155, -16.9363, 4.7311, 4.8675, -16.9363, 7.1821, 4.8675, -16.9363, 7.1821, 4.8675, -16.9363, 4.7311, 4.8675, -21.2881, 4.7311, 4.8675, -16.9363, 7.1821, 4.8675, -21.2881, 4.7311, 4.8675, -21.2881, 7.1821, 4.8675, -16.9363, 7.1821, 0.5155, -16.9363, 4.7311, 0.5155, -16.9363, 4.7311, 4.8675, -21.2881, 7.1821, 0.5155, -16.9363, 4.7311, 0.5155, -16.9363, 7.1821, 0.5155, -21.2881, 4.7311, 0.5155, -21.2881, 4.7311, 4.8675, -16.9363, 4.7311, 4.8675, -21.2881, 7.1821, 4.8675, -21.2881, 4.7311, 4.8675, -21.2881, 4.7311, 0.5155, -21.2881, 4.7311, 0.5155, -16.9363, 4.7311, 4.8675, -16.9363, 4.7311, 0.5155, -21.2881, 7.1821, 4.8675, -21.2881, 4.7311, 0.5155, -21.2881, 7.1821, 0.5155, -21.2881, 7.1821, 0.5155, -21.2881, 4.7311, 0.5155, -16.9363, 4.7311, 0.5155, -4.769, 9.4306, -22.8272, -9.3977, 3.7323, -22.8272, -9.3977, 9.4306, -22.8272, -4.769, 9.4306, -22.8272, -4.769, 3.7323, -22.8272, -9.3977, 3.7323, -22.8272, -4.769, 3.7323, -22.8272, -9.3977, 1.2467, -22.8272, -9.3977, 3.7323, -22.8272, -4.769, 3.7323, -22.8272, -4.769, 1.2467, -22.8272, -9.3977, 1.2467, -22.8272, -9.3977, 1.2467, -22.8272, -13.2999, 3.7323, -22.8272, -9.3977, 3.7323, -22.8272, -9.3977, 1.2467, -22.8272, -13.2999, 1.2467, -22.8272, -13.2999, 3.7323, -22.8272, -26.3444, 7.6598, -30.5476, -16.6058, 6.504, -30.5476, -16.6058, 7.6598, -30.5476, -16.6058, 7.6598, -30.5476, -16.6058, 6.504, -30.5476, -16.6058, 6.504, -20.8095, -16.6058, 7.6598, -30.5476, -16.6058, 6.504, -20.8095, -16.6058, 7.6598, -20.8095, -26.3444, 7.6598, -30.5476, -26.3444, 6.504, -30.5476, -16.6058, 6.504, -30.5476, -26.3444, 6.504, -30.5476, -16.6058, 6.504, -20.8095, -16.6058, 6.504, -30.5476, -26.3444, 7.6598, -20.8095, -26.3444, 6.504, -30.5476, -26.3444, 7.6598, -30.5476, -16.6058, 7.6598, -20.8095, -16.6058, 6.504, -20.8095, -26.3444, 6.504, -20.8095, -16.6058, 7.6598, -20.8095, -26.3444, 6.504, -20.8095, -26.3444, 7.6598, -20.8095, -26.3444, 6.504, -30.5476, -26.3444, 6.504, -20.8095, -16.6058, 6.504, -20.8095, -26.3444, 7.6598, -20.8095, -26.3444, 6.504, -20.8095, -26.3444, 6.504, -30.5476, -16.239, 7.7638, -6.4646, -25.7607, 6.32, -6.4646, -25.7607, 7.7638, -6.4646, -25.7607, 7.7638, -6.4646, -25.7607, 6.32, -6.4646, -25.7607, 6.32, -15.9862, -25.7607, 7.7638, -6.4646, -25.7607, 6.32, -15.9862, -25.7607, 7.7638, -15.9862, -16.239, 7.7638, -6.4646, -16.239, 6.32, -6.4646, -25.7607, 6.32, -6.4646, -25.7607, 6.32, -15.9862, -25.7607, 6.32, -6.4646, -16.239, 6.32, -6.4646, -16.239, 7.7638, -15.9862, -16.239, 6.32, -6.4646, -16.239, 7.7638, -6.4646, -25.7607, 7.7638, -15.9862, -25.7607, 6.32, -15.9862, -16.239, 6.32, -15.9862, -25.7607, 7.7638, -15.9862, -16.239, 6.32, -15.9862, -16.239, 7.7638, -15.9862, -25.7607, 6.32, -15.9862, -16.239, 6.32, -6.4646, -16.239, 6.32, -15.9862, -16.239, 7.7638, -15.9862, -16.239, 6.32, -15.9862, -16.239, 6.32, -6.4646, -4.769, 3.7323, -27.4558, -4.769, 1.2467, -22.8272, -4.769, 3.7323, -22.8272, -4.769, 3.7323, -27.4558, -4.769, 1.2467, -27.4558, -4.769, 1.2467, -22.8272, -4.769, 9.4306, -27.4558, -4.769, 3.7323, -27.4558, -4.769, 3.7323, -22.8272, -4.769, 9.4306, -27.4558, -4.769, 3.7323, -22.8272, -4.769, 9.4306, -22.8272, -9.3977, 9.4306, -27.4558, -4.769, 3.7323, -27.4558, -4.769, 9.4306, -27.4558, -9.3977, 3.7323, -27.4558, -4.769, 1.2467, -27.4558, -4.769, 3.7323, -27.4558, -9.3977, 9.4306, -27.4558, -9.3977, 3.7323, -27.4558, -4.769, 3.7323, -27.4558, -9.3977, 3.7323, -27.4558, -9.3977, 1.2467, -27.4558, -4.769, 1.2467, -27.4558, -9.3977, 9.4306, -22.8272, -9.3977, 3.7323, -27.4558, -9.3977, 9.4306, -27.4558, -9.3977, 9.4306, -22.8272, -9.3977, 3.7323, -22.8272, -9.3977, 3.7323, -27.4558, -9.3977, 3.7323, -27.4558, -13.2999, 1.2467, -27.4558, -9.3977, 1.2467, -27.4558, -9.3977, 3.7323, -27.4558, -13.2999, 3.7323, -27.4558, -13.2999, 1.2467, -27.4558, -13.2999, 3.7323, -22.8272, -13.2999, 1.2467, -27.4558, -13.2999, 3.7323, -27.4558, -13.2999, 3.7323, -22.8272, -13.2999, 1.2467, -22.8272, -13.2999, 1.2467, -27.4558, 1.0556, 4.2065, -27.7247, 6.2223, 0.9494, -27.7247, 6.2223, 4.2065, -27.7247, 1.0556, 7.4635, -27.7247, 1.0556, 4.2065, -27.7247, 6.2223, 4.2065, -27.7247, 1.0556, 7.4635, -27.7247, 6.2223, 4.2065, -27.7247, 6.2223, 7.4635, -27.7247, 6.2223, 7.4635, -27.7247, 6.2223, 4.2065, -27.7247, 6.2223, 4.2065, -22.5582, 6.2223, 7.4635, -27.7247, 6.2223, 4.2065, -22.5582, 6.2223, 7.4635, -22.5582, 6.2223, 0.9494, -27.7247, 10.4834, 4.2065, -27.7247, 6.2223, 4.2065, -27.7247, 1.0556, 4.2065, -27.7247, 1.0556, 0.9494, -27.7247, 6.2223, 0.9494, -27.7247, 6.2223, 0.9494, -27.7247, 10.4834, 0.9494, -27.7247, 10.4834, 4.2065, -27.7247, 10.4834, 4.2065, -27.7247, 10.4834, 0.9494, -27.7247, 10.4834, 0.9494, -22.5582, 10.4834, 4.2065, -27.7247, 10.4834, 0.9494, -22.5582, 10.4834, 4.2065, -22.5582, 1.0556, 0.9494, -27.7247, 6.2223, -0.727, -27.7247, 6.2223, 0.9494, -27.7247, 1.0556, 0.9494, -27.7247, 1.0556, -0.727, -27.7247, 6.2223, -0.727, -27.7247, 6.2223, 0.9494, -27.7247, 6.2223, -0.727, -27.7247, 6.2223, -0.727, -22.5582, 6.2223, 0.9494, -27.7247, 6.2223, -0.727, -22.5582, 6.2223, 0.9494, -22.5582, 1.0556, 4.2065, -22.5582, 1.0556, 0.9494, -27.7247, 1.0556, 4.2065, -27.7247, 1.0556, 7.4635, -22.5582, 1.0556, 4.2065, -22.5582, 1.0556, 4.2065, -27.7247, 1.0556, 7.4635, -22.5582, 1.0556, 4.2065, -27.7247, 1.0556, 7.4635, -27.7247, 1.0556, 4.2065, -22.5582, 1.0556, 0.9494, -22.5582, 1.0556, 0.9494, -27.7247, 1.0556, 0.9494, -22.5582, 1.0556, -0.727, -27.7247, 1.0556, 0.9494, -27.7247, 1.0556, 0.9494, -22.5582, 1.0556, -0.727, -22.5582, 1.0556, -0.727, -27.7247, 6.2223, 4.2065, -22.5582, 1.0556, 0.9494, -22.5582, 1.0556, 4.2065, -22.5582, 6.2223, 7.4635, -22.5582, 6.2223, 4.2065, -22.5582, 1.0556, 4.2065, -22.5582, 6.2223, 7.4635, -22.5582, 1.0556, 4.2065, -22.5582, 1.0556, 7.4635, -22.5582, 6.2223, 4.2065, -22.5582, 6.2223, 0.9494, -22.5582, 1.0556, 0.9494, -22.5582, 6.2223, 0.9494, -22.5582, 1.0556, -0.727, -22.5582, 1.0556, 0.9494, -22.5582, 6.2223, 0.9494, -22.5582, 6.2223, -0.727, -22.5582, 1.0556, -0.727, -22.5582, 6.2223, 4.2065, -22.5582, 10.4834, 0.9494, -22.5582, 6.2223, 0.9494, -22.5582, 6.2223, 4.2065, -22.5582, 10.4834, 4.2065, -22.5582, 10.4834, 0.9494, -22.5582, 6.2223, 0.9494, -22.5582, 10.4834, 0.9494, -27.7247, 6.2223, 0.9494, -27.7247, 6.2223, 0.9494, -22.5582, 10.4834, 0.9494, -22.5582, 10.4834, 0.9494, -27.7247, 1.0556, -0.727, -27.7247, 6.2223, -0.727, -22.5582, 6.2223, -0.727, -27.7247, 1.0556, -0.727, -27.7247, 1.0556, -0.727, -22.5582, 6.2223, -0.727, -22.5582, -9.3977, 1.2467, -27.4558, -4.769, 1.2467, -22.8272, -4.769, 1.2467, -27.4558, -9.3977, 1.2467, -27.4558, -9.3977, 1.2467, -22.8272, -4.769, 1.2467, -22.8272, -9.3977, 1.2467, -27.4558, -13.2999, 1.2467, -22.8272, -9.3977, 1.2467, -22.8272, -9.3977, 1.2467, -27.4558, -13.2999, 1.2467, -27.4558, -13.2999, 1.2467, -22.8272, -14.0414, 7.1915, -18.1836, -27.9575, 7.7638, -18.1836, -14.0414, 7.7638, -18.1836, -14.0414, 7.1915, -18.1836, -27.9575, 7.1915, -18.1836, -27.9575, 7.7638, -18.1836, -27.2953, 1.6075, 9.6499, -27.2953, 6.775, -4.2666, -27.2953, 1.6075, -4.2666, -27.2953, 1.6075, 9.6499, -27.2953, 6.775, 9.6499, -27.2953, 6.775, -4.2666, -14.0418, 9.9475, -4.2669, -14.0418, 6.7749, 9.6498, -14.0418, 9.9475, 9.6498, -14.0418, 9.9475, -4.2669, -14.0418, 9.9475, 9.6498, -0.1167, 9.9475, 9.6498, -14.0418, 9.9475, 9.6498, -0.1167, 6.7749, 9.6498, -0.1167, 9.9475, 9.6498, -14.0418, 9.9475, 9.6498, -14.0418, 6.7749, 9.6498, -0.1167, 6.7749, 9.6498, -14.0418, 9.9475, -4.2669, -0.1167, 9.9475, 9.6498, -0.1167, 9.9475, -4.2669, -14.0418, 9.9475, -18.1836, -14.0418, 9.9475, -4.2669, -0.1167, 9.9475, -4.2669, -14.0418, 9.9475, -18.1836, -0.1167, 9.9475, -4.2669, -0.1167, 9.9475, -18.1836, -0.1167, 9.9475, -18.1836, -14.0418, 9.4305, -18.1836, -14.0418, 9.9475, -18.1836, -0.1167, 9.9475, -18.1836, -0.1167, 9.4305, -18.1836, -14.0418, 9.4305, -18.1836, -14.0418, 9.9475, -18.1836, -14.0418, 7.7639, -4.2669, -14.0418, 9.9475, -4.2669, -14.0418, 9.9475, -18.1836, -14.0418, 7.7639, -18.1836, -14.0418, 7.7639, -4.2669, -16.2391, 7.7639, -6.4643, -14.0418, 7.7639, -4.2669, -14.0418, 7.7639, -18.1836, -25.7601, 7.7639, -6.4643, -14.0418, 7.7639, -4.2669, -16.2391, 7.7639, -6.4643, -16.2391, 7.7639, -6.4643, -14.0418, 7.7639, -18.1836, -16.2391, 7.7639, -15.9862, -25.7601, 7.7639, -6.4643, -27.9575, 7.7639, -4.2669, -14.0418, 7.7639, -4.2669, -16.2391, 7.7639, -15.9862, -14.0418, 7.7639, -18.1836, -27.9575, 7.7639, -18.1836, -25.7601, 7.7639, -15.9862, -27.9575, 7.7639, -4.2669, -25.7601, 7.7639, -6.4643, -16.2391, 7.7639, -15.9862, -27.9575, 7.7639, -18.1836, -25.7601, 7.7639, -15.9862, -25.7601, 7.7639, -15.9862, -27.9575, 7.7639, -18.1836, -27.9575, 7.7639, -4.2669, -27.9575, 9.9475, -4.2669, -14.0418, 6.7749, -4.2669, -14.0418, 9.9475, -4.2669, -27.9575, 9.9475, -4.2669, -27.9575, 6.7749, -4.2669, -14.0418, 6.7749, -4.2669, -14.0418, 9.9475, -4.2669, -14.0418, 6.7749, -4.2669, -14.0418, 6.7749, 9.6498, -27.9575, 6.7749, -4.2669, -16.1168, 6.0663, -2.1918, -14.0418, 6.7749, -4.2669, -27.9575, 6.7749, -4.2669, -25.8825, 6.0663, -2.1918, -16.1168, 6.0663, -2.1918, -14.0418, 6.7749, -4.2669, -16.1168, 6.0663, -2.1918, -16.1168, 6.0663, 7.5747, -14.0418, 6.7749, -4.2669, -16.1168, 6.0663, 7.5747, -14.0418, 6.7749, 9.6498, -25.8825, 6.0663, -2.1918, -16.1168, 7.1821, -2.1918, -16.1168, 6.0663, -2.1918, -25.8825, 6.0663, -2.1918, -25.8825, 7.1821, -2.1918, -16.1168, 7.1821, -2.1918, -16.1168, 6.0663, -2.1918, -16.1168, 7.1821, 7.5747, -16.1168, 6.0663, 7.5747, -16.1168, 6.0663, -2.1918, -16.1168, 7.1821, -2.1918, -16.1168, 7.1821, 7.5747, -16.9359, 7.1821, 0.5152, -16.1168, 7.1821, -2.1918, -25.8825, 7.1821, -2.1918, -16.9359, 7.1821, 4.8676, -16.1168, 7.1821, -2.1918, -16.9359, 7.1821, 0.5152, -16.9359, 7.1821, 4.8676, -16.1168, 7.1821, 7.5747, -16.1168, 7.1821, -2.1918, -16.9359, 7.1821, 0.5152, -25.8825, 7.1821, -2.1918, -21.2881, 7.1821, 0.5152, -21.2881, 7.1821, 4.8676, -16.1168, 7.1821, 7.5747, -16.9359, 7.1821, 4.8676, -21.2881, 7.1821, 0.5152, -25.8825, 7.1821, -2.1918, -25.8825, 7.1821, 7.5747, -21.2881, 7.1821, 0.5152, -25.8825, 7.1821, 7.5747, -21.2881, 7.1821, 4.8676, -21.2881, 7.1821, 4.8676, -25.8825, 7.1821, 7.5747, -16.1168, 7.1821, 7.5747, -16.1168, 6.0663, 7.5747, -16.1168, 7.1821, 7.5747, -25.8825, 7.1821, 7.5747, -16.1168, 6.0663, 7.5747, -25.8825, 7.1821, 7.5747, -25.8825, 6.0663, 7.5747, -14.0418, 6.7749, 9.6498, -16.1168, 6.0663, 7.5747, -25.8825, 6.0663, 7.5747, -14.0418, 6.7749, 9.6498, -25.8825, 6.0663, 7.5747, -27.9575, 6.7749, 9.6498, -27.9575, 6.7749, 9.6498, -15.4005, 4.1196, 11.008, -14.0418, 6.7749, 9.6498, -27.9575, 6.7749, 9.6498, -26.5988, 4.1196, 11.008, -15.4005, 4.1196, 11.008, -20.9822, 4.1196, 14.8363, -15.4005, 4.1196, 11.008, -26.5988, 4.1196, 11.008, -20.9822, 4.1196, 14.8363, -26.5988, 4.1196, 11.008, -24.5255, 4.1196, 14.8363, -24.5255, 4.1196, 14.8363, -26.5988, 4.1196, 11.008, -26.5988, 4.1196, 15.4538, -20.9822, 4.1196, 16.2429, -15.4005, 4.1196, 11.008, -20.9822, 4.1196, 14.8363, -24.5255, 4.1196, 14.8363, -26.5988, 4.1196, 15.4538, -24.5255, 4.1196, 16.2429, -24.5255, 4.1196, 16.2429, -26.5988, 4.1196, 15.4538, -26.5988, 4.1196, 22.2074, -24.5255, 4.1196, 16.2429, -26.5988, 4.1196, 22.2074, -24.5255, 4.1196, 18.3792, -24.5255, 4.1196, 18.3792, -26.5988, 4.1196, 22.2074, -15.4005, 4.1196, 22.2074, -24.5255, 4.1196, 18.3792, -15.4005, 4.1196, 22.2074, -20.9822, 4.1196, 18.3792, -20.9822, 4.1196, 16.2429, -15.4005, 4.1196, 15.4538, -15.4005, 4.1196, 11.008, -20.9822, 4.1196, 18.3792, -15.4005, 4.1196, 15.4538, -20.9822, 4.1196, 16.2429, -20.9822, 4.1196, 18.3792, -15.4005, 4.1196, 22.2074, -15.4005, 4.1196, 15.4538, -14.0418, 6.7749, 9.6498, -15.4005, 4.1196, 11.008, -15.4005, 4.1196, 15.4538, -14.0418, 6.7749, 15.1735, -15.4005, 4.1196, 15.4538, -15.4005, 4.1196, 22.2074, -14.0418, 6.7749, 9.6498, -15.4005, 4.1196, 15.4538, -14.0418, 6.7749, 15.1735, -14.0418, 6.7749, 15.1735, -15.4005, 4.1196, 22.2074, -14.0418, 6.7749, 23.5665, -14.0418, 6.7749, 23.5665, -12.7562, 5.6837, 15.4385, -14.0418, 6.7749, 15.1735, -14.0418, 6.7749, 23.5665, -12.7562, 5.6837, 22.2813, -12.7562, 5.6837, 15.4385, -14.0418, 6.7749, 15.1735, -12.7562, 5.6837, 10.9341, -14.0418, 6.7749, 9.6498, -14.0418, 6.7749, 15.1735, -12.7562, 5.6837, 15.4385, -12.7562, 5.6837, 10.9341, -14.0418, 6.7749, 9.6498, -12.7562, 5.6837, 10.9341, -1.41, 5.6837, 10.9341, -14.0418, 6.7749, 9.6498, -1.41, 5.6837, 10.9341, -0.1167, 6.7749, 9.6498, -11.3278, 5.6837, 11.3248, -12.7562, 5.6837, 10.9341, -12.7562, 5.6837, 15.4385, -11.3278, 5.6837, 14.6944, -12.7562, 5.6837, 15.4385, -12.7562, 5.6837, 22.2813, -11.3278, 5.6837, 11.3248, -12.7562, 5.6837, 15.4385, -11.3278, 5.6837, 14.6944, -11.3278, 5.6837, 14.6944, -12.7562, 5.6837, 22.2813, -11.3278, 5.6837, 19.8138, -2.8383, 5.6837, 11.3248, -12.7562, 5.6837, 10.9341, -11.3278, 5.6837, 11.3248, -2.8383, 5.6837, 11.3248, -1.41, 5.6837, 10.9341, -12.7562, 5.6837, 10.9341, -11.3278, 5.6837, 14.6944, -10.1144, 4.6853, 12.5378, -11.3278, 5.6837, 11.3248, -11.3278, 5.6837, 11.3248, -4.0517, 4.6853, 12.5378, -2.8383, 5.6837, 11.3248, -11.3278, 5.6837, 11.3248, -10.1144, 4.6853, 12.5378, -4.0517, 4.6853, 12.5378, -11.3278, 5.6837, 14.6944, -10.1144, 4.6853, 14.9442, -10.1144, 4.6853, 12.5378, -11.3278, 5.6837, 19.8138, -10.1144, 4.6853, 14.9442, -11.3278, 5.6837, 14.6944, -11.3278, 5.6837, 19.8138, -12.7562, 5.6837, 22.2813, -1.41, 5.6837, 22.2813, -7.013, 4.6853, 14.2884, -10.1144, 4.6853, 12.5378, -10.1144, 4.6853, 14.9442, -4.4511, 4.6853, 14.2884, -4.0517, 4.6853, 12.5378, -10.1144, 4.6853, 12.5378, -4.4511, 4.6853, 14.2884, -10.1144, 4.6853, 12.5378, -7.013, 4.6853, 14.2884, -7.013, 4.6853, 14.2884, -4.4511, 3.7819, 14.2884, -4.4511, 4.6853, 14.2884, -4.4511, 4.6853, 15.3052, -4.0517, 4.6853, 12.5378, -4.4511, 4.6853, 14.2884, -4.4511, 4.6853, 14.2884, -4.4511, 3.7819, 14.2884, -4.4511, 3.7819, 15.3052, -4.4511, 4.6853, 14.2884, -4.4511, 3.7819, 15.3052, -4.4511, 4.6853, 15.3052, -7.013, 3.7819, 14.2884, -4.4511, 3.7819, 15.3052, -4.4511, 3.7819, 14.2884, -7.013, 4.6853, 14.2884, -7.013, 3.7819, 14.2884, -4.4511, 3.7819, 14.2884, -7.013, 4.6853, 14.2884, -10.1144, 4.6853, 14.9442, -7.013, 4.6853, 15.3052, -7.013, 4.6853, 15.3052, -7.013, 3.7819, 14.2884, -7.013, 4.6853, 14.2884, -7.013, 4.6853, 15.3052, -10.1144, 4.6853, 14.9442, -10.1144, 4.6853, 18.6009, -11.3278, 5.6837, 19.8138, -10.1144, 4.6853, 18.6009, -10.1144, 4.6853, 14.9442, -7.013, 4.6853, 15.3052, -7.013, 3.7819, 15.3052, -7.013, 3.7819, 14.2884, -7.013, 3.7819, 14.2884, -7.013, 3.7819, 15.3052, -4.4511, 3.7819, 15.3052, -7.013, 4.6853, 15.3052, -10.1144, 4.6853, 18.6009, -7.013, 4.6853, 16.8502, -7.013, 4.6853, 16.8502, -7.013, 3.7819, 15.3052, -7.013, 4.6853, 15.3052, -2.8383, 5.6837, 19.8138, -10.1144, 4.6853, 18.6009, -11.3278, 5.6837, 19.8138, -11.3278, 5.6837, 19.8138, -1.41, 5.6837, 22.2813, -2.8383, 5.6837, 19.8138, -7.013, 4.6853, 16.8502, -10.1144, 4.6853, 18.6009, -4.0517, 4.6853, 18.6009, -2.8383, 5.6837, 19.8138, -4.0517, 4.6853, 18.6009, -10.1144, 4.6853, 18.6009, -7.013, 4.6853, 16.8502, -7.013, 3.7819, 16.8502, -7.013, 3.7819, 15.3052, -7.013, 3.7819, 15.3052, -4.4511, 3.7819, 16.8502, -4.4511, 3.7819, 15.3052, -7.013, 3.7819, 15.3052, -7.013, 3.7819, 16.8502, -4.4511, 3.7819, 16.8502, -4.4511, 4.6853, 15.3052, -4.4511, 3.7819, 15.3052, -4.4511, 3.7819, 16.8502, -4.4511, 4.6853, 16.8502, -7.013, 3.7819, 16.8502, -7.013, 4.6853, 16.8502, -4.4511, 4.6853, 16.8502, -4.4511, 3.7819, 16.8502, -7.013, 3.7819, 16.8502, -7.013, 4.6853, 16.8502, -4.0517, 4.6853, 18.6009, -4.4511, 4.6853, 16.8502, -4.4511, 4.6853, 15.3052, -4.4511, 3.7819, 16.8502, -4.4511, 4.6853, 16.8502, -4.4511, 4.6853, 16.8502, -4.0517, 4.6853, 14.9442, -4.4511, 4.6853, 15.3052, -4.4511, 4.6853, 16.8502, -4.0517, 4.6853, 18.6009, -4.0517, 4.6853, 14.9442, -4.4511, 4.6853, 15.3052, -4.0517, 4.6853, 14.9442, -4.0517, 4.6853, 12.5378, -2.8383, 5.6837, 11.3248, -4.0517, 4.6853, 12.5378, -4.0517, 4.6853, 14.9442, -2.8383, 5.6837, 14.6944, -4.0517, 4.6853, 14.9442, -4.0517, 4.6853, 18.6009, -2.8383, 5.6837, 11.3248, -4.0517, 4.6853, 14.9442, -2.8383, 5.6837, 14.6944, -2.8383, 5.6837, 14.6944, -4.0517, 4.6853, 18.6009, -2.8383, 5.6837, 19.8138, -2.8383, 5.6837, 14.6944, -1.41, 5.6837, 10.9341, -2.8383, 5.6837, 11.3248, -2.8383, 5.6837, 19.8138, -1.41, 5.6837, 15.4385, -2.8383, 5.6837, 14.6944, -2.8383, 5.6837, 14.6944, -1.41, 5.6837, 15.4385, -1.41, 5.6837, 10.9341, -0.1167, 6.7749, 9.6498, -1.41, 5.6837, 10.9341, -1.41, 5.6837, 15.4385, -2.8383, 5.6837, 19.8138, -1.41, 5.6837, 22.2813, -1.41, 5.6837, 15.4385, -0.1167, 6.7749, 9.6498, -1.41, 5.6837, 15.4385, -0.1167, 6.7749, 15.1735, -0.1167, 6.7749, 15.1735, -1.41, 5.6837, 15.4385, -1.41, 5.6837, 22.2813, -0.1167, 6.7749, 15.1735, -1.41, 5.6837, 22.2813, -0.1167, 6.7749, 23.5665, -0.1167, 6.7749, 23.5665, 1.0627, 5.2481, 15.4147, -0.1167, 6.7749, 15.1735, -0.1167, 6.7749, 23.5665, 1.0627, 5.2481, 22.3952, 1.0627, 5.2481, 15.4147, -0.1167, 6.7749, 15.1735, 1.0627, 5.2481, 15.4147, 1.0627, 5.2481, 10.8211, -0.1167, 6.7749, 15.1735, 1.0627, 5.2481, 10.8211, -0.1167, 6.7749, 9.6498, -0.1167, 6.7749, 9.6498, 1.0627, 5.2481, 10.8211, 12.6366, 5.2481, 10.8211, -0.1167, 6.7749, 9.6498, 12.6366, 5.2481, 10.8211, 13.8083, 6.7749, 9.6498, -0.1167, 9.9475, 9.6498, -0.1167, 6.7749, 9.6498, 13.8083, 6.7749, 9.6498, -0.1167, 9.9475, 9.6498, 13.8083, 6.7749, 9.6498, 13.8083, 9.9475, 9.6498, -0.1167, 9.9475, -4.2669, -0.1167, 9.9475, 9.6498, 13.8083, 9.9475, 9.6498, -0.1167, 9.9475, -4.2669, 13.8083, 9.9475, 9.6498, 13.8083, 9.9475, -4.2669, 13.8083, 9.9475, 9.6498, 13.8083, 6.7749, 9.6498, 13.8083, 6.7749, -4.2669, 13.8083, 9.9475, 9.6498, 13.8083, 6.7749, -4.2669, 13.8083, 9.9475, -4.2669, 13.8083, 6.7749, 9.6498, 14.7082, 5.0959, -3.3674, 13.8083, 6.7749, -4.2669, 13.8083, 6.7749, 9.6498, 14.7082, 5.0959, 8.7494, 14.7082, 5.0959, -3.3674, 13.8083, 6.7749, -4.2669, 14.7082, 5.0959, -3.3674, 27.7207, 5.0959, -3.3674, 13.8083, 6.7749, -4.2669, 27.7207, 5.0959, -3.3674, 27.7283, 6.7749, -4.2669, 13.8083, 9.9475, -4.2669, 13.8083, 6.7749, -4.2669, 27.7283, 6.7749, -4.2669, 13.8083, 9.9475, -4.2669, 27.7283, 6.7749, -4.2669, 27.7283, 9.9475, -4.2669, 14.7082, 5.0959, -3.3674, 27.7207, 4.1772, -3.3674, 27.7207, 5.0959, -3.3674, -0.1167, 9.9475, -18.1836, -0.1167, 9.9475, -4.2669, 13.8083, 9.9475, -4.2669, 14.7082, 5.0959, 8.7494, 14.7082, 4.1772, -3.3674, 14.7082, 5.0959, -3.3674, 14.7082, 5.0959, -3.3674, 14.7082, 4.1772, -3.3674, 27.7207, 4.1772, -3.3674, 14.7082, 5.0959, 8.7494, 14.7082, 4.1772, 8.7494, 14.7082, 4.1772, -3.3674, 23.7364, 4.1772, -0.2789, 27.7207, 4.1772, -3.3674, 14.7082, 4.1772, -3.3674, 23.7364, 4.1772, 5.6618, 27.7207, 4.1772, -3.3674, 23.7364, 4.1772, -0.2789, 23.7364, 4.1772, -0.2789, 14.7082, 4.1772, -3.3674, 17.796, 4.1772, -0.2789, 17.796, 4.1772, -0.2789, 14.7082, 4.1772, -3.3674, 14.7082, 4.1772, 8.7494, 23.7364, 4.1772, 5.6618, 27.7207, 4.1772, 8.7494, 27.7207, 4.1772, -3.3674, 17.796, 4.1772, -0.2789, 14.7082, 4.1772, 8.7494, 17.796, 4.1772, 5.6618, 17.796, 4.1772, 5.6618, 27.7207, 4.1772, 8.7494, 23.7364, 4.1772, 5.6618, 17.796, 4.1772, 5.6618, 14.7082, 4.1772, 8.7494, 27.7207, 4.1772, 8.7494, -0.1167, 9.9475, -18.1836, 13.8083, 9.9475, -4.2669, 13.8083, 9.9475, -18.1836, 13.8083, 9.9475, -4.2669, 13.8083, 7.9474, -18.1836, 13.8083, 9.9475, -18.1836, 13.8083, 9.9475, -4.2669, 13.8083, 7.9474, -4.2669, 13.8083, 7.9474, -18.1836, 13.8083, 7.9474, -18.1836, 13.8083, 7.9474, -4.2669, 27.7283, 7.9474, -4.2669, 13.8083, 7.9474, -18.1836, 27.7283, 7.9474, -4.2669, 27.7283, 7.9474, -18.1836, -0.1167, 9.9475, -18.1836, -0.1167, 8.8572, -32.0995, -0.1167, 9.9475, -32.0995, 13.8083, 9.9475, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 9.9475, -18.1836, -0.1167, 9.9475, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 8.8572, -32.0995, 13.8083, 9.9475, -18.1836, 13.8083, 8.8572, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 7.4635, -32.0995, -0.1167, 8.8572, -32.0995, 13.8083, 8.8572, -18.1836, -0.1167, 7.4635, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 8.8572, -18.1836, -0.1167, 7.4635, -18.1836, -0.1167, 7.4635, -32.0995, 13.8083, 8.8572, -18.1836, 13.8083, 7.4635, -18.1836, -0.1167, 7.4635, -18.1836, 1.055, 7.4635, -27.725, -0.1167, 7.4635, -32.0995, -0.1167, 7.4635, -18.1836, 6.2221, 7.4635, -27.725, -0.1167, 7.4635, -32.0995, 1.055, 7.4635, -27.725, 1.055, 7.4635, -27.725, -0.1167, 7.4635, -18.1836, 1.055, 7.4635, -22.5581, 1.055, 7.4635, -22.5581, -0.1167, 7.4635, -18.1836, 13.8083, 7.4635, -18.1836, 6.2221, 7.4635, -27.725, 13.7786, 7.4635, -32.0995, -0.1167, 7.4635, -32.0995, 1.055, 7.4635, -22.5581, 13.8083, 7.4635, -18.1836, 6.2221, 7.4635, -22.5581, 6.2221, 7.4635, -22.5581, 13.7786, 7.4635, -32.0995, 6.2221, 7.4635, -27.725, 6.2221, 7.4635, -22.5581, 13.8083, 7.4635, -18.1836, 13.7786, 7.4635, -32.0995, 13.7786, -17.8232, -32.0995, 26.4393, -17.8207, -30.8152, 27.7283, -17.8232, -32.0995, 13.7786, -17.8232, -32.0995, 13.793, -17.8207, -30.8152, 26.4393, -17.8207, -30.8152, 27.7283, -17.8232, -32.0995, 26.4393, -17.8207, -30.8152, 26.4393, -17.8207, -17.5406, 27.7283, -17.8232, -32.0995, 26.4393, -17.8207, -17.5406, 27.7283, -17.8232, -18.1836, 27.7283, -17.8232, -18.1836, 26.4393, -17.8207, -17.5406, 26.4393, -17.8207, -8.6915, 27.7283, -17.8232, -18.1836, 26.4393, -17.8207, -8.6915, 27.7283, -17.8232, -8.9055, 27.7283, -17.8232, -8.9055, 26.4393, -17.8207, -8.6915, 26.4393, -17.8207, -4.2669, 27.7283, -17.8232, -8.9055, 26.4393, -17.8207, -4.2669, 27.7283, -17.8232, -4.2669, -16.7303, 9.9475, -32.0995, -14.0418, 7.1914, -18.1836, -14.0418, 9.9475, -18.1836, -16.7303, 9.9475, -32.0995, -16.7303, 7.1914, -32.0995, -14.0418, 7.1914, -18.1836, -16.6062, 7.6597, -30.5476, -14.0418, 7.1914, -18.1836, -16.7303, 7.1914, -32.0995, -16.6062, 7.6597, -30.5476, -16.7303, 7.1914, -32.0995, -27.9575, 7.1914, -32.0995, -16.6062, 7.6597, -20.8092, -14.0418, 7.1914, -18.1836, -16.6062, 7.6597, -30.5476, -16.6062, 7.6597, -30.5476, -27.9575, 7.1914, -32.0995, -26.3448, 7.6597, -30.5476, -26.3448, 7.6597, -20.8092, -14.0418, 7.1914, -18.1836, -16.6062, 7.6597, -20.8092, -26.3448, 7.6597, -30.5476, -27.9575, 7.1914, -32.0995, -27.9575, 7.1914, -18.1836, -26.3448, 7.6597, -20.8092, -27.9575, 7.1914, -18.1836, -14.0418, 7.1914, -18.1836, -26.3448, 7.6597, -30.5476, -27.9575, 7.1914, -18.1836, -26.3448, 7.6597, -20.8092, 13.7786, 6.4596, -32.0995, 27.7283, 6.4596, -18.1836, 27.7283, 6.4596, -32.0995, 13.7786, 6.4596, -32.0995, 13.8083, 6.4596, -18.1836, 27.7283, 6.4596, -18.1836, 27.7283, 9.9475, -18.1836, 27.7283, 6.4596, -18.1836, 13.8083, 6.4596, -18.1836, 27.7283, 9.9475, -18.1836, 13.8083, 6.4596, -18.1836, 13.8083, 9.9475, -18.1836, 13.8083, 9.9475, -18.1836, 13.8083, 6.4596, -18.1836, 13.7786, 6.4596, -32.0995, 13.8083, 9.9475, -18.1836, 13.7786, 6.4596, -32.0995, 13.7786, 9.9475, -32.0995, -13.1411, 9.4305, -31.1991, -14.0418, 9.4305, -18.1836, -13.1411, 9.4305, -19.084, -13.1411, 9.4305, -19.084, -14.0418, 9.4305, -18.1836, -0.1167, 9.4305, -18.1836, -13.1411, 9.4305, -31.1991, -16.7303, 9.4305, -32.0995, -14.0418, 9.4305, -18.1836, -9.3973, 9.4305, -27.4558, -13.1411, 9.4305, -31.1991, -13.1411, 9.4305, -19.084, -9.3973, 9.4305, -27.4558, -13.1411, 9.4305, -19.084, -9.3973, 9.4305, -22.8274, -4.7689, 9.4305, -27.4558, -13.1411, 9.4305, -31.1991, -9.3973, 9.4305, -27.4558, -13.1411, 9.4305, -19.084, -0.1167, 9.4305, -18.1836, -1.0251, 9.4305, -19.084, -9.3973, 9.4305, -22.8274, -13.1411, 9.4305, -19.084, -1.0251, 9.4305, -19.084, -1.0251, 9.4305, -19.084, -0.1167, 9.4305, -18.1836, -0.1167, 9.4305, -32.0995, -9.3973, 9.4305, -22.8274, -1.0251, 9.4305, -19.084, -4.7689, 9.4305, -22.8274, -1.0251, 9.4305, -31.1991, -16.7303, 9.4305, -32.0995, -13.1411, 9.4305, -31.1991, -1.0251, 9.4305, -31.1991, -0.1167, 9.4305, -32.0995, -16.7303, 9.4305, -32.0995, -4.7689, 9.4305, -27.4558, -1.0251, 9.4305, -31.1991, -13.1411, 9.4305, -31.1991, -1.0251, 9.4305, -19.084, -0.1167, 9.4305, -32.0995, -1.0251, 9.4305, -31.1991, -4.7689, 9.4305, -22.8274, -1.0251, 9.4305, -31.1991, -4.7689, 9.4305, -27.4558, -4.7689, 9.4305, -22.8274, -1.0251, 9.4305, -19.084, -1.0251, 9.4305, -31.1991, -0.1167, 7.1482, -18.1836, -0.1167, 5.3557, -32.0995, -0.1167, 7.1482, -32.0995, -0.1167, 7.1482, -18.1836, -0.1167, 5.3557, -18.1836, -0.1167, 5.3557, -32.0995, 6.2221, 4.2065, -27.725, 10.4834, 4.2065, -22.5581, 6.2221, 4.2065, -22.5581, 6.2221, 4.2065, -27.725, 10.4834, 4.2065, -27.725, 10.4834, 4.2065, -22.5581, -9.3973, 3.7323, -22.8274, -13.3, 3.7323, -27.4558, -9.3973, 3.7323, -27.4558, -9.3973, 3.7323, -22.8274, -13.3, 3.7323, -22.8274, -13.3, 3.7323, -27.4558, 17.796, 3.4403, 5.6618, 16.439, 3.4403, -0.2789, 17.796, 3.4403, -0.2789, 17.796, 3.4403, 5.6618, 16.439, 3.4403, 5.6618, 16.439, 3.4403, -0.2789, -14.0418, 2.9886, 23.5665, -13.3986, 9.3047, 22.2813, -14.0418, 9.9475, 23.5665, -14.0418, 2.9886, 23.5665, -13.3986, 2.6674, 22.2813, -13.3986, 9.3047, 22.2813, -14.0418, -3.9703, 23.5665, -13.3986, 2.6674, 22.2813, -14.0418, 2.9886, 23.5665, -14.0418, -3.9703, 23.5665, -13.3986, -3.9703, 22.2813, -13.3986, 2.6674, 22.2813, -14.0418, -10.8601, 23.5665, -13.3986, -3.9703, 22.2813, -14.0418, -3.9703, 23.5665, -14.0418, -10.8601, 23.5665, -13.3986, -10.8558, 22.2813, -13.3986, -3.9703, 22.2813, 27.7283, -17.8232, 23.5665, 13.1651, -17.8207, 22.2813, 13.8083, -17.8232, 23.5665, 27.7283, -17.8232, 23.5665, 26.4393, -17.8207, 22.2813, 13.1651, -17.8207, 22.2813, 27.7283, -10.8601, -8.9055, 26.4393, -10.8558, -17.5406, 27.7283, -10.8601, -18.1836, 27.7283, -10.8601, -8.9055, 26.4393, -10.8558, -8.6915, 26.4393, -10.8558, -17.5406, 27.7283, -10.8601, -18.1836, 26.4393, -10.8558, -17.5406, 26.4393, -10.8558, -30.8152, 27.7283, -10.8601, -18.1836, 26.4393, -10.8558, -30.8152, 27.7283, -10.8601, -32.0995, 13.8083, 9.9475, 23.5665, 13.1651, 2.6674, 22.2813, 13.8083, 2.9886, 23.5665, 13.8083, 9.9475, 23.5665, 13.1651, 9.3047, 22.2813, 13.1651, 2.6674, 22.2813, 13.8083, 2.9886, 23.5665, 13.1651, 2.6674, 22.2813, 13.1651, -3.9703, 22.2813, 13.8083, 2.9886, 23.5665, 13.1651, -3.9703, 22.2813, 13.8083, -3.9703, 23.5665, 13.8083, -3.9703, 23.5665, 13.1651, -3.9703, 22.2813, 13.1651, -10.8558, 22.2813, 13.8083, -3.9703, 23.5665, 13.1651, -10.8558, 22.2813, 13.8083, -10.8601, 23.5665, 27.7283, -10.8601, -32.0995, 13.793, -10.8554, -30.8152, 13.7786, -10.8597, -32.0995, 27.7283, -10.8601, -32.0995, 26.4393, -10.8558, -30.8152, 13.793, -10.8554, -30.8152, -27.9575, -10.8601, 14.3623, -26.6727, -10.8558, 22.2813, -27.9575, -10.8601, 23.5665, -27.9575, -10.8601, 14.3623, -26.6727, -10.8558, 14.2765, -26.6727, -10.8558, 22.2813, 13.8083, -10.8601, 23.5665, 26.4393, -10.8558, 22.2813, 27.7283, -10.8601, 23.5665, 13.8083, -10.8601, 23.5665, 13.1651, -10.8558, 22.2813, 26.4393, -10.8558, 22.2813, -27.9575, -10.8601, 23.5665, -13.3986, -10.8558, 22.2813, -14.0418, -10.8601, 23.5665, -27.9575, -10.8601, 23.5665, -26.6727, -10.8558, 22.2813, -13.3986, -10.8558, 22.2813, 6.5246, 2.6674, 22.2813, -0.1167, 9.3047, 22.2813, -0.1167, 2.6674, 22.2813, 6.5246, 2.6674, 22.2813, 6.5246, 9.3047, 22.2813, -0.1167, 9.3047, 22.2813, 13.1651, 2.6674, 22.2813, 6.5246, 9.3047, 22.2813, 6.5246, 2.6674, 22.2813, 13.1651, 2.6674, 22.2813, 13.1651, 9.3047, 22.2813, 6.5246, 9.3047, 22.2813, 13.1651, -3.9703, 22.2813, 13.1651, 2.6674, 22.2813, 6.5246, 2.6674, 22.2813, 13.1651, -3.9703, 22.2813, 6.5246, 2.6674, 22.2813, 6.5246, -3.9703, 22.2813, 13.1651, -10.8558, 22.2813, 13.1651, -3.9703, 22.2813, 6.5246, -3.9703, 22.2813, 13.1651, -10.8558, 22.2813, 6.5246, -3.9703, 22.2813, 6.5246, -10.8558, 22.2813, 13.1651, -17.8207, 22.2813, 13.1651, -10.8558, 22.2813, 6.5246, -10.8558, 22.2813, 13.1651, -17.8207, 22.2813, 6.5246, -10.8558, 22.2813, 6.5246, -17.8207, 22.2813, 6.5246, -17.8207, 22.2813, 6.5246, -10.8558, 22.2813, -0.1167, -10.8558, 22.2813, 6.5246, -17.8207, 22.2813, -0.1167, -10.8558, 22.2813, -0.1167, -17.8207, 22.2813, -0.1167, 2.6674, 22.2813, -0.1167, 9.3047, 22.2813, -6.7572, 9.3047, 22.2813, -0.1167, 2.6674, 22.2813, -6.7572, 9.3047, 22.2813, -6.7572, 2.6674, 22.2813, -6.7572, 2.6674, 22.2813, -6.7572, 9.3047, 22.2813, -13.3986, 9.3047, 22.2813, -6.7572, 2.6674, 22.2813, -13.3986, 9.3047, 22.2813, -13.3986, 2.6674, 22.2813, -6.7572, -3.9703, 22.2813, -6.7572, 2.6674, 22.2813, -13.3986, 2.6674, 22.2813, -6.7572, -3.9703, 22.2813, -13.3986, 2.6674, 22.2813, -13.3986, -3.9703, 22.2813, -13.3986, -3.9703, 22.2813, -6.7572, -10.8558, 22.2813, -6.7572, -3.9703, 22.2813, -13.3986, -3.9703, 22.2813, -13.3986, -10.8558, 22.2813, -6.7572, -10.8558, 22.2813, -13.3986, -10.8558, 22.2813, -6.7572, -17.8207, 22.2813, -6.7572, -10.8558, 22.2813, -13.3986, -10.8558, 22.2813, -13.3986, -17.8207, 22.2813, -6.7572, -17.8207, 22.2813, -6.7572, -10.8558, 22.2813, -6.7572, -17.8207, 22.2813, -0.1167, -17.8207, 22.2813, -6.7572, -10.8558, 22.2813, -0.1167, -17.8207, 22.2813, -0.1167, -10.8558, 22.2813, 11.2363, -10.8554, -30.8152, 13.793, -17.8207, -30.8152, 11.2363, -17.8207, -30.8152, 11.2363, -10.8554, -30.8152, 13.793, -10.8554, -30.8152, 13.793, -17.8207, -30.8152, 8.4382, -17.8207, -30.8152, 11.2363, -10.8554, -30.8152, 11.2363, -17.8207, -30.8152, 8.4382, -17.8207, -30.8152, 8.4382, -10.8554, -30.8152, 11.2363, -10.8554, -30.8152, 26.4393, -10.8558, -30.8152, 13.793, -17.8207, -30.8152, 13.793, -10.8554, -30.8152, 26.4393, -10.8558, -30.8152, 26.4393, -17.8207, -30.8152, 13.793, -17.8207, -30.8152, 26.4393, -17.8207, 14.1797, 26.4393, -10.8558, 22.2813, 26.4393, -17.8207, 22.2813, 26.4393, -17.8207, 14.1797, 26.4393, -10.8558, 14.1797, 26.4393, -10.8558, 22.2813, -13.3986, -17.8207, 22.2813, -26.6727, -10.8558, 22.2813, -26.6727, -17.8207, 22.2813, -13.3986, -17.8207, 22.2813, -13.3986, -10.8558, 22.2813, -26.6727, -10.8558, 22.2813, 26.4393, -17.8207, 22.2813, 13.1651, -10.8558, 22.2813, 13.1651, -17.8207, 22.2813, 26.4393, -17.8207, 22.2813, 26.4393, -10.8558, 22.2813, 13.1651, -10.8558, 22.2813, 26.4393, -17.8207, -30.8152, 26.4393, -10.8558, -17.5406, 26.4393, -17.8207, -17.5406, 26.4393, -17.8207, -30.8152, 26.4393, -10.8558, -30.8152, 26.4393, -10.8558, -17.5406, 26.4393, -17.8207, -17.5406, 26.4393, -10.8558, -17.5406, 26.4393, -10.8558, -8.6915, 26.4393, -17.8207, -17.5406, 26.4393, -10.8558, -8.6915, 26.4393, -17.8207, -8.6915, -26.6727, -17.8207, -30.8152, -13.3986, -10.8554, -30.8152, -13.3986, -17.8207, -30.8152, -26.6727, -17.8207, -30.8152, -26.6727, -10.8558, -30.8152, -13.3986, -10.8554, -30.8152, -26.6727, -17.8207, -8.8911, -26.6727, -10.8558, -17.5406, -26.6727, -17.8207, -17.5406, -26.6727, -17.8207, -8.8911, -26.6727, -10.8558, -8.7246, -26.6727, -10.8558, -17.5406, -26.6727, -17.8207, -17.5406, -26.6727, -10.8558, -30.8152, -26.6727, -17.8207, -30.8152, -26.6727, -17.8207, -17.5406, -26.6727, -10.8558, -17.5406, -26.6727, -10.8558, -30.8152, 11.2473, -17.8232, -32.0995, 13.793, -17.8207, -30.8152, 13.7786, -17.8232, -32.0995, 11.2473, -17.8232, -32.0995, 11.2363, -17.8207, -30.8152, 13.793, -17.8207, -30.8152, 6.8518, -17.8232, -32.0995, 11.2363, -17.8207, -30.8152, 11.2473, -17.8232, -32.0995, 6.8518, -17.8232, -32.0995, 8.4382, -17.8207, -30.8152, 11.2363, -17.8207, -30.8152, -26.6727, -17.8207, 22.2813, -26.6727, -10.8558, 14.2765, -26.6727, -17.8207, 14.2765, -26.6727, -17.8207, 22.2813, -26.6727, -10.8558, 22.2813, -26.6727, -10.8558, 14.2765, 13.7786, -10.8597, -32.0995, 11.2363, -10.8554, -30.8152, 11.2473, -10.8597, -32.0995, 13.7786, -10.8597, -32.0995, 13.793, -10.8554, -30.8152, 11.2363, -10.8554, -30.8152, 8.4382, -10.8554, -30.8152, 11.2473, -10.8597, -32.0995, 11.2363, -10.8554, -30.8152, 8.4382, -10.8554, -30.8152, 8.4382, -10.8597, -32.0995, 11.2473, -10.8597, -32.0995, -13.3986, -17.8207, -30.8152, -8.9945, -10.8554, -30.8152, -8.9945, -17.8207, -30.8152, -13.3986, -17.8207, -30.8152, -13.3986, -10.8554, -30.8152, -8.9945, -10.8554, -30.8152, 27.7283, -10.8601, 23.5665, 26.4393, -10.8558, 14.1797, 27.7283, -10.8601, 14.2001, 27.7283, -10.8601, 23.5665, 26.4393, -10.8558, 22.2813, 26.4393, -10.8558, 14.1797, 6.8462, -10.8601, 23.5664, -0.116, -3.9702, 23.5664, -0.116, -10.8601, 23.5664, -0.116, -10.8601, 23.5664, 6.5248, -10.8558, 22.2815, 6.8462, -10.8601, 23.5664, -0.116, -10.8601, 23.5664, -0.116, -10.8558, 22.2815, 6.5248, -10.8558, 22.2815, 6.8462, -10.8601, 23.5664, 6.8462, -3.9702, 23.5664, -0.116, -3.9702, 23.5664, 6.8462, -3.9702, 23.5664, -0.116, 2.9886, 23.5664, -0.116, -3.9702, 23.5664, 6.8462, -3.9702, 23.5664, 6.8462, 2.9886, 23.5664, -0.116, 2.9886, 23.5664, -0.116, -3.9702, 23.5664, -0.116, 2.9886, 23.5664, -7.0785, 2.9886, 23.5664, -0.116, -3.9702, 23.5664, -7.0785, 2.9886, 23.5664, -7.0785, -3.9702, 23.5664, -7.0785, -3.9702, 23.5664, -0.116, -10.8601, 23.5664, -0.116, -3.9702, 23.5664, -7.0785, -3.9702, 23.5664, -7.0785, -10.8601, 23.5664, -0.116, -10.8601, 23.5664, -7.0785, -10.8601, 23.5664, -0.116, -10.8558, 22.2815, -0.116, -10.8601, 23.5664, -7.0785, -10.8601, 23.5664, -6.7571, -10.8558, 22.2815, -0.116, -10.8558, 22.2815, 6.8462, -10.8601, 23.5664, 6.5248, -3.9701, 22.2815, 6.8462, -3.9702, 23.5664, 6.8462, -10.8601, 23.5664, 6.5248, -10.8558, 22.2815, 6.5248, -3.9701, 22.2815, 6.8462, -3.9702, 23.5664, 6.5248, -3.9701, 22.2815, 6.5248, 2.6674, 22.2815, 6.8462, -3.9702, 23.5664, 6.5248, 2.6674, 22.2815, 6.8462, 2.9886, 23.5664, 6.8462, 2.9886, 23.5664, 6.5248, 2.6674, 22.2815, -0.116, 2.6674, 22.2815, 6.8462, 2.9886, 23.5664, -0.116, 2.6674, 22.2815, -0.116, 2.9886, 23.5664, -0.116, 2.9886, 23.5664, -0.116, 2.6674, 22.2815, -6.7571, 2.6674, 22.2815, -0.116, 2.9886, 23.5664, -6.7571, 2.6674, 22.2815, -7.0785, 2.9886, 23.5664, -7.0785, 2.9886, 23.5664, -6.7571, 2.6674, 22.2815, -6.7571, -3.9701, 22.2815, -7.0785, 2.9886, 23.5664, -6.7571, -3.9701, 22.2815, -7.0785, -3.9702, 23.5664, -7.0785, -3.9702, 23.5664, -6.7571, -3.9701, 22.2815, -6.7571, -10.8558, 22.2815, -7.0785, -3.9702, 23.5664, -6.7571, -10.8558, 22.2815, -7.0785, -10.8601, 23.5664, -16.7298, -10.8595, -32.0995, -26.6722, -10.8558, -30.8146, -27.9575, -10.8601, -32.0995, -16.7298, -10.8595, -32.0995, -13.3982, -10.8553, -30.8146, -26.6722, -10.8558, -30.8146, -27.9575, -10.8601, -32.0995, -26.6722, -10.8558, -30.8146, -26.6722, -10.8558, -17.5406, -27.9575, -10.8601, -32.0995, -26.6722, -10.8558, -17.5406, -27.9575, -10.8601, -18.1831, -27.9575, -10.8601, -18.1831, -26.6722, -10.8558, -17.5406, -26.6722, -10.8558, -8.7239, -27.9575, -10.8601, -18.1831, -26.6722, -10.8558, -8.7239, -27.9575, -10.8601, -8.7066, -9.0007, -10.8595, -32.0995, -13.3982, -10.8553, -30.8146, -16.7298, -10.8595, -32.0995, -9.0007, -10.8595, -32.0995, -8.9944, -10.8553, -30.8146, -13.3982, -10.8553, -30.8146) - [sub_resource type="BoxShape3D" id="BoxShape3D_q0uor"] -size = Vector3(19.9883, 0.1, 16.028) +size = Vector3(7.93076, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_e73oq"] +size = Vector3(7.93076, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_82gcq"] +size = Vector3(4.03071, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_gwdg0"] +size = Vector3(8.03586, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_55djs"] +size = Vector3(8.03586, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_vqrrr"] +size = Vector3(19.9874, 7.25739, 0.543945) + +[sub_resource type="BoxShape3D" id="BoxShape3D_i5gjf"] +size = Vector3(19.9874, 16.0032, 0.543945) + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_q0uor"] +height = 5.25122 +radius = 0.69043 + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_e73oq"] +height = 5.25122 +radius = 0.69043 + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_82gcq"] +height = 5.25122 +radius = 1.77539 [sub_resource type="BoxShape3D" id="BoxShape3D_cgshv"] size = Vector3(20, 8, 16) @@ -102,31 +117,54 @@ transform = Transform3D(0.108167, 0.0160921, -0.26644, -0.0480183, 0.283968, -0. transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.98162, 0) [node name="StaticBody3D" type="StaticBody3D" parent="Collision"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 29.0197, -61.6663, -123.329) [node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(1.98349, 0, 0, 0, -4.11903, 0, 0, 0, 1.98349, -26.9016, 63.8068, 138.349) -shape = SubResource("ConcavePolygonShape3D_8p1kn") - -[node name="CollisionShape3D4" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(1.27215, 0, 0, 0, -3.85135, 0, 0, 0, 1.27215, -28.2887, 63.4856, 124.082) -shape = SubResource("ConcavePolygonShape3D_f8ox8") - -[node name="CollisionShape3D3" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(1.27215, 0, 0, 0, -3.85135, 0, 0, 0, 1.27215, -9.5796, 63.4856, 123.946) -shape = SubResource("ConcavePolygonShape3D_4swpa") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.93715, 1.65952, 0.228027) +shape = SubResource("BoxShape3D_q0uor") [node name="CollisionShape3D2" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(1.27215, 0, 0, 0, -3.85135, 0, 0, 0, 1.27215, -11.7239, 63.6639, 137.554) -shape = SubResource("ConcavePolygonShape3D_yav33") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.9098, 1.65952, 0.228027) +shape = SubResource("BoxShape3D_e73oq") + +[node name="CollisionShape3D4" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.9098, 1.65952, 0.228027) +shape = SubResource("BoxShape3D_e73oq") + +[node name="CollisionShape3D3" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 19.69, 1.65952, 13.965) +shape = SubResource("BoxShape3D_82gcq") [node name="CollisionShape3D5" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(0.359158, 0, 0, 0, 0.288074, 0, 0, 0, 0.287429, -18.9669, 64.8124, 132.579) -shape = SubResource("ConcavePolygonShape3D_b3r1q") +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 19.69, 1.65952, 3.97148) +shape = SubResource("BoxShape3D_gwdg0") + +[node name="CollisionShape3D12" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.229598, 1.65952, 3.97148) +shape = SubResource("BoxShape3D_55djs") [node name="CollisionShape3D6" type="CollisionShape3D" parent="Collision/StaticBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.0465, 59.6782, 131.323) -shape = SubResource("BoxShape3D_q0uor") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.96545, 1.65952, 15.6902) +shape = SubResource("BoxShape3D_vqrrr") + +[node name="CollisionShape3D7" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 9.96545, -2.22044, 7.96054) +shape = SubResource("BoxShape3D_i5gjf") + +[node name="CollisionShape3D8" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.15524, 0.66373, 0.993662) +shape = SubResource("CylinderShape3D_q0uor") + +[node name="CollisionShape3D9" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.8732, 0.66373, 1.12954) +shape = SubResource("CylinderShape3D_e73oq") + +[node name="CollisionShape3D10" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.6584, 0.66373, 14.1816) +shape = SubResource("CylinderShape3D_82gcq") + +[node name="CollisionShape3D11" type="CollisionShape3D" parent="Collision/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.91207, 0.66373, 14.1816) +shape = SubResource("CylinderShape3D_82gcq") [node name="Spawn Points" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7193, 0) diff --git a/Zennysoft.Game.Ma/src/menu/DebugMenu.tscn b/Zennysoft.Game.Ma/src/menu/DebugMenu.tscn index 2da087fd..863637e7 100644 --- a/Zennysoft.Game.Ma/src/menu/DebugMenu.tscn +++ b/Zennysoft.Game.Ma/src/menu/DebugMenu.tscn @@ -117,3 +117,25 @@ popup/item_14/id = 14 unique_name_in_owner = true layout_mode = 2 text = "Load Next Floor" + +[node name="DieButton" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer/VFlowContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Die" + +[node name="DeathCountLabel" type="Label" parent="."] +layout_mode = 0 +offset_left = 58.0 +offset_top = 657.0 +offset_right = 160.0 +offset_bottom = 680.0 +text = "Death Count:" + +[node name="DeathCount" type="Label" parent="."] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 165.0 +offset_top = 658.0 +offset_right = 205.0 +offset_bottom = 681.0 +text = "100" diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index eea0165b..3148b3e7 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -111,201 +111,203 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide public void Initialize() { - var container = new SimpleInjector.Container(); - container.Register(Lifestyle.Singleton); + var container = new SimpleInjector.Container(); + container.Register(Lifestyle.Singleton); - PlayerLogic = container.GetInstance(); - PlayerLogic.Set(this as IPlayer); - PlayerLogic.Set(Settings); + PlayerLogic = container.GetInstance(); + PlayerLogic.Set(this as IPlayer); + PlayerLogic.Set(Settings); - Inventory = new Inventory(); - HealthComponent = new HealthComponent(InitialHP); - VTComponent = new VTComponent(InitialVT); - AttackComponent = new AttackComponent(InitialAttack); - DefenseComponent = new DefenseComponent(InitialDefense); - ExperiencePointsComponent = new ExperiencePointsComponent(); - LuckComponent = new LuckComponent(InitialLuck); - EquipmentComponent = new EquipmentComponent(); + Inventory = new Inventory(); + HealthComponent = new HealthComponent(InitialHP); + VTComponent = new VTComponent(InitialVT); + AttackComponent = new AttackComponent(InitialAttack); + DefenseComponent = new DefenseComponent(InitialDefense); + ExperiencePointsComponent = new ExperiencePointsComponent(); + LuckComponent = new LuckComponent(InitialLuck); + EquipmentComponent = new EquipmentComponent(); - _itemReroller = new ItemReroller(ItemDatabase.Instance); + _itemReroller = new ItemReroller(ItemDatabase.Instance); - CameraAnimations.AnimationFinished += CameraAnimations_AnimationFinished; + CameraAnimations.AnimationFinished += CameraAnimations_AnimationFinished; - Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration }; + Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration }; - PlayerBinding = PlayerLogic.Bind(); + PlayerBinding = PlayerLogic.Bind(); - PlayerBinding - .Handle((in PlayerLogic.Output.ThrowItem output) => - { - }) - .Handle((in PlayerLogic.Output.Move output) => - { - Move(output.delta); - }); + PlayerBinding + .Handle((in PlayerLogic.Output.ThrowItem output) => + { + }) + .Handle((in PlayerLogic.Output.Move output) => + { + Move(output.delta); + }); - PlayerLogic.Start(); - this.Provide(); + PlayerLogic.Start(); + this.Provide(); } public void ResetPlayerData() { - foreach (var item in Inventory.Items) - Inventory.Remove(item); + PlayerFXAnimations.Play("RESET"); - HealthComponent.Reset(); - VTComponent.Reset(); - AttackComponent.Reset(); - DefenseComponent.Reset(); - ExperiencePointsComponent.Reset(); - LuckComponent.Reset(); - EquipmentComponent.Reset(); + foreach (var item in Inventory.Items) + Inventory.Remove(item); - HealthTimer.Timeout += OnHealthTimerTimeout; + HealthComponent.Reset(); + VTComponent.Reset(); + AttackComponent.Reset(); + DefenseComponent.Reset(); + ExperiencePointsComponent.Reset(); + LuckComponent.Reset(); + EquipmentComponent.Reset(); + + HealthTimer.Timeout += OnHealthTimerTimeout; } #region Initialization public void OnReady() { - Hitbox.AreaEntered += Hitbox_AreaEntered; - CollisionDetector.AreaEntered += CollisionDetector_AreaEntered; - HealthComponent.HealthReachedZero += Die; - HealthTimer.WaitTime = _healthTimerWaitTime; - SetProcessInput(false); - SetPhysicsProcess(false); + Hitbox.AreaEntered += Hitbox_AreaEntered; + CollisionDetector.AreaEntered += CollisionDetector_AreaEntered; + HealthComponent.HealthReachedZero += Die; + PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished; + HealthTimer.WaitTime = _healthTimerWaitTime; + SetProcessInput(false); + SetPhysicsProcess(false); } #endregion public void Activate() { - SetProcessInput(true); - SetPhysicsProcess(true); - SetHealthTimerStatus(HealthTimerIsActive); + SetProcessInput(true); + SetPhysicsProcess(true); + SetHealthTimerStatus(HealthTimerIsActive); } public void Deactivate() { - Velocity = Vector3.Zero; - SetProcessInput(false); - SetPhysicsProcess(false); - SetHealthTimerStatus(false); + Velocity = Vector3.Zero; + SetProcessInput(false); + SetPhysicsProcess(false); + SetHealthTimerStatus(false); } public void LookUp() => CameraAnimations.Play("look_up"); public void SetHealthTimerStatus(bool isActive) { - if (isActive) - HealthTimer.Start(); - else - HealthTimer.Stop(); + if (isActive) + HealthTimer.Start(); + else + HealthTimer.Stop(); } public void TeleportPlayer(Transform3D newTransform) { - Transform = newTransform; + Transform = newTransform; } public void TakeDamage(AttackData damage) { - _camera3D.AddShake(1.0f); - TakeDamageAnimationPlayer.Play("take_damage"); - var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.CurrentDefense.Value + EquipmentComponent.BonusDefense, EquipmentComponent.ElementalResistance); - HealthComponent.Damage(damageReceived); - SfxDatabase.Instance.Play(SoundEffect.TakeDamage); + _camera3D.AddShake(1.0f); + TakeDamageAnimationPlayer.Play("take_damage"); + var damageReceived = DamageCalculator.CalculateDamage(damage, DefenseComponent.CurrentDefense.Value + EquipmentComponent.BonusDefense, EquipmentComponent.ElementalResistance); + HealthComponent.Damage(damageReceived); + SfxDatabase.Instance.Play(SoundEffect.TakeDamage); } public void Knockback(float impulse) { - _knockbackStrength = impulse; - _knockbackDirection = GlobalBasis.Z.Normalized(); + _knockbackStrength = impulse; + _knockbackDirection = GlobalBasis.Z.Normalized(); } public void LevelUp() { - var rng = new RandomNumberGenerator(); - rng.Randomize(); - var hpIncrease = rng.RandiRange(3, 6); - HealthComponent.RaiseMaximumHP(hpIncrease); - ExperiencePointsComponent.LevelUp(); + var rng = new RandomNumberGenerator(); + rng.Randomize(); + var hpIncrease = rng.RandiRange(3, 6); + HealthComponent.RaiseMaximumHP(hpIncrease); + ExperiencePointsComponent.LevelUp(); } public void Die() { - PlayerFXAnimations.Play("death"); - HealthTimer.WaitTime = _healthTimerWaitTime; - HealthTimer.Timeout -= OnHealthTimerTimeout; - SetProcessInput(false); - SetPhysicsProcess(false); - PlayerDied?.Invoke(); + PlayerFXAnimations.Play("death"); + HealthTimer.WaitTime = _healthTimerWaitTime; + HealthTimer.Timeout -= OnHealthTimerTimeout; + SetProcessInput(false); + SetPhysicsProcess(false); } public void Reset() { - CameraAnimations.Play("RESET"); + CameraAnimations.Play("RESET"); } public override void _Input(InputEvent @event) { - if (@event.IsActionPressed(GameInputs.Attack)) - Attack(); - if (@event.IsActionPressed(GameInputs.Sprint)) - Settings.MoveSpeed *= 2; - if (@event.IsActionReleased(GameInputs.Sprint)) - Settings.MoveSpeed /= 2; + if (@event.IsActionPressed(GameInputs.Attack)) + Attack(); + if (@event.IsActionPressed(GameInputs.Sprint)) + Settings.MoveSpeed *= 2; + if (@event.IsActionReleased(GameInputs.Sprint)) + Settings.MoveSpeed /= 2; } public void PlayTestAnimation() { - PlayerFXAnimations.Play("test_animation"); + PlayerFXAnimations.Play("test_animation"); } public void OnPhysicsProcess(double delta) { - PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta)); - PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform)); + PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta)); + PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform)); } public void Equip(EquipableItem equipable) { - if (equipable.ItemTag == ItemTag.MysteryItem) - { - var rerolledItem = _itemReroller.RerollItem(equipable, Inventory); - Equip(rerolledItem); - return; - } + if (equipable.ItemTag == ItemTag.MysteryItem) + { + var rerolledItem = _itemReroller.RerollItem(equipable, Inventory); + Equip(rerolledItem); + return; + } - HealthComponent.RaiseMaximumHP(equipable.BonusHP, false); - VTComponent.RaiseMaximumVT(equipable.BonusVT, false); + HealthComponent.RaiseMaximumHP(equipable.BonusHP, false); + VTComponent.RaiseMaximumVT(equipable.BonusVT, false); - EquipmentComponent.Equip(equipable); + EquipmentComponent.Equip(equipable); } public void Unequip(EquipableItem equipable) { - HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP); - VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT); + HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP); + VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT); - EquipmentComponent.Unequip(equipable); + EquipmentComponent.Unequip(equipable); } private void CameraAnimations_AnimationFinished(StringName animName) { - PointUpFinished?.Invoke(); + PointUpFinished?.Invoke(); } private static Vector3 GlobalInputVector { - get - { - var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown); - var input = new Vector3 - { - X = rawInput.X, - Z = rawInput.Y - }; - return input with { Y = 0f }; - } + get + { + var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown); + var input = new Vector3 + { + X = rawInput.X, + Z = rawInput.Y + }; + return input with { Y = 0f }; + } } private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft); @@ -314,143 +316,149 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide private void Attack() { - if (PlayerIsHittingGeometry()) - AnimationPlayer.Play("hit_wall"); - else if (!AnimationPlayer.IsPlaying()) - PlayAttackAnimation(); + if (PlayerIsHittingGeometry()) + AnimationPlayer.Play("hit_wall"); + else if (!AnimationPlayer.IsPlaying()) + PlayAttackAnimation(); } private void ThrowItem() { - var itemScene = GD.Load("res://src/items/throwable/ThrowableItem.tscn"); - var throwItem = itemScene.Instantiate(); - GetTree().Root.AddChildEx(throwItem); - throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0); - throwItem.GlobalRotation = GlobalRotation; + var itemScene = GD.Load("res://src/items/throwable/ThrowableItem.tscn"); + var throwItem = itemScene.Instantiate(); + GetTree().Root.AddChildEx(throwItem); + throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0); + throwItem.GlobalRotation = GlobalRotation; } private void PlayAttackAnimation() { - SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect); - var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed; - AnimationPlayer.SetSpeedScale((float)attackSpeed); - AnimationPlayer.Play("attack"); + SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect); + var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed; + AnimationPlayer.SetSpeedScale((float)attackSpeed); + AnimationPlayer.Play("attack"); + } + + private void PlayerFXAnimations_AnimationFinished(StringName animName) + { + if (animName == "death") + PlayerDied?.Invoke(); } private void OnExitTree() { - PlayerLogic.Stop(); - PlayerBinding.Dispose(); - Hitbox.AreaEntered -= Hitbox_AreaEntered; - CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered; - HealthComponent.HealthReachedZero -= Die; - HealthTimer.Timeout -= OnHealthTimerTimeout; + PlayerLogic.Stop(); + PlayerBinding.Dispose(); + Hitbox.AreaEntered -= Hitbox_AreaEntered; + CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered; + HealthComponent.HealthReachedZero -= Die; + HealthTimer.Timeout -= OnHealthTimerTimeout; } private void Move(float delta) { - var rawInput = GlobalInputVector; - var strafeLeftInput = LeftStrafeInputVector; - var strafeRightInput = RightStrafeInputVector; + var rawInput = GlobalInputVector; + var strafeLeftInput = LeftStrafeInputVector; + var strafeRightInput = RightStrafeInputVector; - var transform = Transform; - transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis; - var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized(); - var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration; - _knockbackStrength *= 0.9f; - Transform = Transform with { Basis = transform.Basis }; - Velocity = velocity + (_knockbackDirection * _knockbackStrength); - if (!WalkSFX.Playing && !Velocity.IsZeroApprox()) - WalkSFX.Play(); - else if (Velocity.IsZeroApprox()) - WalkSFX.Stop(); - MoveAndSlide(); + var transform = Transform; + transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis; + var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized(); + var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration; + _knockbackStrength *= 0.9f; + Transform = Transform with { Basis = transform.Basis }; + Velocity = velocity + (_knockbackDirection * _knockbackStrength); + if (!WalkSFX.Playing && !Velocity.IsZeroApprox()) + WalkSFX.Play(); + else if (Velocity.IsZeroApprox()) + WalkSFX.Stop(); + MoveAndSlide(); } private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition; private void OnHealthTimerTimeout() { - if (VTComponent.CurrentVT.Value > 0) - { - if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption) - _healthTimerActive = !_healthTimerActive; + if (VTComponent.CurrentVT.Value > 0) + { + if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption) + _healthTimerActive = !_healthTimerActive; - HealthComponent.Heal(1); + HealthComponent.Heal(1); - if (_healthTimerActive) - VTComponent.Reduce(1); - } - else - HealthComponent.Damage(1); + if (_healthTimerActive) + VTComponent.Reduce(1); + } + else + HealthComponent.Damage(1); } private void Hitbox_AreaEntered(Area3D area) { - var target = area.GetOwner(); - if (target is IEnemy enemy) - HitEnemy(enemy); + var target = area.GetOwner(); + if (target is IEnemy enemy) + HitEnemy(enemy); } private void HitEnemy(IEnemy enemy) { - var ignoreElementalResistance = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreAffinity; - var ignoreDefense = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreDefense; - var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value + EquipmentComponent.BonusLuck); - var totalDamage = AttackComponent.CurrentAttack.Value + EquipmentComponent.BonusAttack; - var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement; + var ignoreElementalResistance = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreAffinity; + var ignoreDefense = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponTag == WeaponTag.IgnoreDefense; + var isCriticalHit = BattleExtensions.IsCriticalHit(LuckComponent.Luck.Value + EquipmentComponent.BonusLuck); + var totalDamage = AttackComponent.CurrentAttack.Value + EquipmentComponent.BonusAttack; + var element = (EquipmentComponent.EquippedWeapon.Value as Weapon).WeaponElement; - if (isCriticalHit) - { - totalDamage += (int)(totalDamage * 0.5f); - SfxDatabase.Instance.Play(SoundEffect.Crit); - } + if (isCriticalHit) + { + totalDamage += (int)(totalDamage * 0.5f); + SfxDatabase.Instance.Play(SoundEffect.Crit); + } - var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance); - var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, enemy.ElementalResistanceSet); - enemy.HealthComponent.Damage(damageDealt); + var baseAttack = new AttackData(totalDamage, element, ignoreDefense, ignoreElementalResistance); + var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, enemy.ElementalResistanceSet); + enemy.HealthComponent.Damage(damageDealt); - if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable) - knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized()); - if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.SelfDamage) - HealthComponent.Damage(5); + if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable) + knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized()); + if (((Weapon)EquipmentComponent.EquippedWeapon.Value).WeaponTag == WeaponTag.SelfDamage) + HealthComponent.Damage(5); } private void CollisionDetector_AreaEntered(Area3D area) { - if (area.GetParent() is InventoryItem inventoryItem) - { - var isAdded = Inventory.PickUpItem(inventoryItem); - if (isAdded) - inventoryItem.QueueFree(); - } - if (area.GetParent() is DroppedItem droppedItem) - { - var isAdded = Inventory.PickUpItem(droppedItem.Item); - if (isAdded) - droppedItem.QueueFree(); - } - if (area.GetParent() is ThrownItem thrownItem) - { - var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown); - if (isAdded) - thrownItem.QueueFree(); - } - if (area.GetParent() is Restorative restorative) - { - restorative.QueueFree(); - } + if (area.GetParent() is InventoryItem inventoryItem) + { + var isAdded = Inventory.PickUpItem(inventoryItem); + if (isAdded) + inventoryItem.QueueFree(); + } + if (area.GetParent() is DroppedItem droppedItem) + { + var isAdded = Inventory.PickUpItem(droppedItem.Item); + if (isAdded) + droppedItem.QueueFree(); + } + if (area.GetParent() is ThrownItem thrownItem) + { + var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown); + if (isAdded) + thrownItem.QueueFree(); + } + if (area.GetParent() is Restorative restorative) + { + restorative.QueueFree(); + } } private bool PlayerIsHittingGeometry() { - var collisions = WallCheck.GetCollidingBodies(); - return collisions.Count > 0; + var collisions = WallCheck.GetCollidingBodies(); + return collisions.Count > 0; } private void WallCheck_BodyEntered(Node body) { - GD.Print("Hit wall"); - AnimationPlayer.Stop(); + GD.Print("Hit wall"); + AnimationPlayer.Stop(); } } diff --git a/Zennysoft.Game.Ma/src/player/Player.tscn b/Zennysoft.Game.Ma/src/player/Player.tscn index c2543265..79ca4002 100644 --- a/Zennysoft.Game.Ma/src/player/Player.tscn +++ b/Zennysoft.Game.Ma/src/player/Player.tscn @@ -2847,6 +2847,9 @@ animations = [{ }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ywo1c") +}, { +"duration": 1.0, +"texture": null }], "loop": false, "name": &"default", @@ -8002,6 +8005,9 @@ animations = [{ }, { "duration": 1.0, "texture": SubResource("AtlasTexture_d4xbt") +}, { +"duration": 1.0, +"texture": null }], "loop": false, "name": &"default", @@ -12585,7 +12591,7 @@ frame_progress = 1.0 [node name="Crit Marker" type="AnimatedSprite2D" parent="ScreenFX/SubViewportContainer/SubViewport"] position = Vector2(730, 531) sprite_frames = SubResource("SpriteFrames_gtij5") -frame = 31 +frame = 32 frame_progress = 1.0 speed_scale = 2.0 diff --git a/Zennysoft.Game.Ma/src/ui/pause_menu/PauseDebugMenu.cs b/Zennysoft.Game.Ma/src/ui/pause_menu/PauseDebugMenu.cs index c7755f49..f3c085b9 100644 --- a/Zennysoft.Game.Ma/src/ui/pause_menu/PauseDebugMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/pause_menu/PauseDebugMenu.cs @@ -12,6 +12,8 @@ public partial class PauseDebugMenu : Control, IDebugMenu { public override void _Notification(int what) => this.Notify(what); + [Dependency] private IGame _game => this.DependOn(); + [Dependency] private IMap _map => this.DependOn(() => new Map()); [Dependency] private IPlayer _player => this.DependOn(); @@ -24,6 +26,10 @@ public partial class PauseDebugMenu : Control, IDebugMenu [Node] public Button LoadNextFloorButton { get; set; } = default!; + [Node] public Button DieButton { get; set; } = default!; + + [Node] public Label DeathCount { get; set; } = default!; + private readonly string _floorFilePath = @"res://src/map/dungeon/floors/"; private readonly string _enemyFilePath = @"res://src/enemy/enemy_types"; @@ -35,6 +41,8 @@ public partial class PauseDebugMenu : Control, IDebugMenu public override void _Ready() { LoadNextFloorButton.Pressed += LoadNextFloorButton_Pressed; + DieButton.Pressed += DieButton_Pressed; + VisibilityChanged += PauseDebugMenu_VisibilityChanged; _itemDatabase = ItemDatabase.Instance; _spawnableItems = _itemDatabase.Items; @@ -79,6 +87,10 @@ public partial class PauseDebugMenu : Control, IDebugMenu SpawnEnemyDropDown.ItemSelected += SpawnEnemyDropDown_ItemSelected; } + private void DieButton_Pressed() => _player.Die(); + + private void PauseDebugMenu_VisibilityChanged() => DeathCount.Text = _game.QuestData.DeathCount.ToString("D2"); + private void FloorSelectDropDown_ItemSelected(long index) { var sceneName = FloorSelectDropDown.GetItemText((int)index);