From f12841f88f4ef0a186371e199519d59cee0e02a1 Mon Sep 17 00:00:00 2001 From: Zenny Date: Sun, 29 Jun 2025 22:11:49 -0700 Subject: [PATCH] Add debug floors, fix boss battle A crashes (need to reimplement the fight anyway) --- Zennysoft.Game.Ma/src/enemy/BossTypeA.cs | 102 +++- Zennysoft.Game.Ma/src/enemy/Enemy.cs | 20 +- .../src/enemy/EnemyModelView3D.cs | 5 +- .../enemy_types/14. horse_head/HorseFace.tscn | 27 +- .../14. horse_head/HorseFaceModelView.tscn | 28 +- .../enemy/enemy_types/15. ox_face/OxFace.tscn | 14 +- .../15. ox_face/OxFaceModelView.tscn | 29 +- Zennysoft.Game.Ma/src/map/Map.tscn | 16 +- .../src/map/dungeon/code/BossRoomA.cs | 16 +- .../src/map/dungeon/code/BossRoomB.cs | 12 +- .../dungeon/debug_floors/DebugFloor01.tscn | 402 ++++++++++++++++ .../dungeon/debug_floors/DebugFloor02.tscn | 343 ++++++++++++++ .../dungeon/debug_floors/DebugFloor03.tscn | 447 ++++++++++++++++++ .../dungeon/debug_floors/DebugFloor04.tscn | 243 ++++++++++ .../dungeon/rooms/Set A/15. Boss Floor A.tscn | 27 -- .../rooms/Set A/16. Seshat's Room.tscn | 2 - .../dungeon/rooms/Set A/18. Corridor A.tscn | 54 +-- .../dungeon/rooms/Set A/19. Floor Exit A.tscn | 4 +- .../dungeon/rooms/Set B/27. Water Room B.tscn | 2 +- .../dungeon/rooms/Set B/37. Corridor 2.tscn | 28 +- Zennysoft.Game.Ma/src/player/Player.cs | 4 + 21 files changed, 1677 insertions(+), 148 deletions(-) create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor01.tscn create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor02.tscn create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor03.tscn create mode 100644 Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor04.tscn diff --git a/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs b/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs index 3b9ee8f8..1b0a179a 100644 --- a/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs +++ b/Zennysoft.Game.Ma/src/enemy/BossTypeA.cs @@ -4,31 +4,104 @@ using Godot; using System.Collections.Generic; using System; using Zennysoft.Ma.Adapter; +using System.Linq; +using Chickensoft.Collections; namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] -public partial class BossTypeA : Enemy, IHasPrimaryAttack, IHasSecondaryAttack, ICanActivate +public partial class BossTypeA : CharacterBody3D, IEnemy, IHasPrimaryAttack, IHasSecondaryAttack, ICanActivate, IProvide { public override void _Notification(int what) => this.Notify(what); + protected IEnemyLogic _enemyLogic { get; set; } = default!; + + IEnemyLogic IProvide.Value() => _enemyLogic; + + public EnemyLogic.IBinding EnemyBinding { get; set; } = default!; + + + [Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType().Single()); + [Export] public ElementType PrimaryAttackElementalType { get; set; } = ElementType.None; [Export] public double PrimaryAttackElementalDamageBonus { get; set; } = 1.0; + [Export] protected EnemyStatResource _enemyStatResource { get; set; } = default!; + public ElementType SecondaryAttackElementalType { get; set; } = ElementType.None; public double SecondaryAttackElementalDamageBonus { get; set; } = 1.0; - [Node] public new BossTypeAEnemyModelView _enemyModelView { get; set; } + [Node] public BossTypeAEnemyModelView _enemyModelView { get; set; } [Node] public CollisionShape3D EnemyHitbox { get; set; } = default!; [Node] private Node3D _rotation { get; set; } = default!; + [Node] protected Timer _attackTimer { get; set; } = default!; + + [Node] private CollisionShape3D _collisionShape { get; set; } = default!; + private Vector3 _target; + private float _movementSpeed = 2.0f; + + public AutoProp CurrentHP { get; set; } + + private DamageCalculator _damageCalculator; + + public void Setup() + { + _enemyLogic = new EnemyLogic(); + _enemyLogic.Set(_enemyStatResource); + _enemyLogic.Set(this as IEnemy); + _enemyLogic.Set(_player); + _damageCalculator = new DamageCalculator(); + SetPhysicsProcess(true); + } + + public void OnResolved() + { + EnemyBinding = _enemyLogic.Bind(); + + EnemyBinding + .Handle((in EnemyLogic.Output.TakeAction _) => + { + TakeAction(); + }) + .Handle((in EnemyLogic.Output.Defeated output) => + { + }); + + this.Provide(); + + _enemyLogic.Start(); + + CurrentHP = new AutoProp(_enemyStatResource.MaximumHP); + CurrentHP.Sync += OnHPChanged; + } + + private void OnHPChanged(double newHP) + { + if (newHP <= 0) + Die(); + } + + public virtual void Die() + { + SetProcess(false); + _movementSpeed = 0; + CurrentHP.OnNext(0); + _enemyLogic.Input(new EnemyLogic.Input.EnemyDefeated()); + _collisionShape.SetDeferred("disabled", true); + _enemyModelView.PlayDeathAnimation(); + var tweener = CreateTween(); + tweener.TweenInterval(1.0f); + tweener.TweenCallback(Callable.From(QueueFree)); + } + public void OnReady() { _target = GlobalPosition; @@ -71,7 +144,7 @@ public partial class BossTypeA : Enemy, IHasPrimaryAttack, IHasSecondaryAttack, } } - public override void TakeAction() + public void TakeAction() { var rng = new RandomNumberGenerator(); var options = new List() { PrimaryAttack, SecondaryAttack }; @@ -89,18 +162,20 @@ public partial class BossTypeA : Enemy, IHasPrimaryAttack, IHasSecondaryAttack, _enemyModelView.PlaySecondaryAttackAnimation(); } - public override void StartAttackTimer() + public void StartAttackTimer() { _attackTimer.Timeout += OnAttackTimeout; } - public override void StopAttackTimer() + public void StopAttackTimer() { if (_attackTimer.TimeLeft > 0) _attackTimer.Timeout -= OnAttackTimeout; } - public override void SetTarget(Vector3 target) => _target = target; + + + public void SetTarget(Vector3 target) => _target = target; private void Hitbox_AreaEntered(Area3D area) { @@ -112,10 +187,14 @@ public partial class BossTypeA : Enemy, IHasPrimaryAttack, IHasSecondaryAttack, } } + public void StartFight() + { + _enemyLogic.Input(new EnemyLogic.Input.Alerted()); + } + public void Activate() { Show(); - _enemyLogic.Input(new EnemyLogic.Input.Alerted()); EnemyHitbox.SetDeferred(CollisionShape3D.PropertyName.Disabled, false); } @@ -156,4 +235,13 @@ public partial class BossTypeA : Enemy, IHasPrimaryAttack, IHasSecondaryAttack, CurrentHP.OnCompleted(); StopAttackTimer(); } + + public void Move(Vector3 velocity) => throw new NotImplementedException(); + public void TakeDamage(double damage, ElementType elementType = ElementType.None, bool isCriticalHit = false, bool ignoreDefense = false, bool ignoreElementalResistance = false) => throw new NotImplementedException(); + public void Knockback(float impulse, Vector3 direction) => throw new NotImplementedException(); + public void SetCurrentHP(int newHP) => throw new NotImplementedException(); + public int GetMaximumHP() => throw new NotImplementedException(); + public void SetEnemyGlobalPosition(Vector3 target) => throw new NotImplementedException(); + public Vector3 GetEnemyGlobalPosition() => throw new NotImplementedException(); + public IDungeonRoom GetCurrentRoom() => throw new NotImplementedException(); } diff --git a/Zennysoft.Game.Ma/src/enemy/Enemy.cs b/Zennysoft.Game.Ma/src/enemy/Enemy.cs index 7b936768..a12a3f7a 100644 --- a/Zennysoft.Game.Ma/src/enemy/Enemy.cs +++ b/Zennysoft.Game.Ma/src/enemy/Enemy.cs @@ -37,11 +37,11 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide #region Node Dependencies [Node] private CollisionShape3D _collisionShape { get; set; } = default!; - [Node] private Area3D _lineOfSight { get; set; } = default!; + [Node] private Area3D LineOfSight { get; set; } = default!; [Node] protected Timer _attackTimer { get; set; } = default!; - [Node] private RayCast3D _raycast { get; set; } = default!; + [Node] private RayCast3D Raycast { get; set; } = default!; [Node] protected IEnemyModelView _enemyModelView { get; set; } = default!; #endregion @@ -86,7 +86,7 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide CurrentHP = new AutoProp(_enemyStatResource.MaximumHP); CurrentHP.Sync += OnHPChanged; - _lineOfSight.BodyEntered += LineOfSight_BodyEntered; + LineOfSight.BodyEntered += LineOfSight_BodyEntered; } public override void _Process(double delta) @@ -233,18 +233,18 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide private void LineOfSight_BodyEntered(Node3D body) { - var overlappingBodies = _lineOfSight.GetOverlappingBodies(); + var overlappingBodies = LineOfSight.GetOverlappingBodies(); foreach (var _ in overlappingBodies) { - if (_raycast.GlobalPosition != _player.CurrentPosition) - _raycast.LookAt(_player.CurrentPosition, Vector3.Up); - _raycast.ForceRaycastUpdate(); - if (_raycast.IsColliding()) + if (Raycast.GlobalPosition != _player.CurrentPosition) + Raycast.LookAt(_player.CurrentPosition, Vector3.Up); + Raycast.ForceRaycastUpdate(); + if (Raycast.IsColliding()) { - var collider = _raycast.GetCollider(); + var collider = Raycast.GetCollider(); if (collider is IPlayer) { - _raycast.DebugShapeCustomColor = Color.FromString("Purple", Colors.Purple); + Raycast.DebugShapeCustomColor = Color.FromString("Purple", Colors.Purple); _enemyLogic.Input(new EnemyLogic.Input.Alerted()); } } diff --git a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs index 87a7e0c9..4d4ff709 100644 --- a/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs +++ b/Zennysoft.Game.Ma/src/enemy/EnemyModelView3D.cs @@ -98,5 +98,8 @@ public partial class EnemyModelView3D : Node3D, IEnemyModelView AnimationTree.Get(PARAMETERS_PLAYBACK).As().Stop(); } - public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => throw new System.NotImplementedException(); + public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) + { + + } } diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn index 51205c7b..59012c40 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=7 format=3 uid="uid://2wibfnu2jvlv"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_x21p4"] [ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_jl3qa"] @@ -14,11 +14,11 @@ MaxAttack = 0 MaxDefense = 0 ExpFromDefeat = 0 Luck = 0.05 -TelluricResistance = 0.0 -AeolicResistance = 0.0 -HydricResistance = 0.0 -IgneousResistance = 0.0 -FerrumResistance = 0.0 +_telluricResistance = 0.0 +_aeolicResistance = 0.0 +_hydricResistance = 0.0 +_igneousResistance = 0.0 +_ferrumResistance = 0.0 DropsSoulGemChance = 0.75 metadata/_custom_type_script = "uid://dnkmr0eq1sij0" @@ -26,9 +26,6 @@ metadata/_custom_type_script = "uid://dnkmr0eq1sij0" radius = 10.3283 height = 50.0 -[sub_resource type="SphereShape3D" id="SphereShape3D_x21p4"] -radius = 1.0 - [sub_resource type="SphereShape3D" id="SphereShape3D_jl3qa"] radius = 15.426 @@ -40,7 +37,10 @@ axis_lock_angular_x = true axis_lock_angular_y = true motion_mode = 1 script = ExtResource("1_x21p4") +PrimaryAttackElementalType = null +PrimaryAttackElementalDamageBonus = null _enemyStatResource = SubResource("Resource_jl3qa") +_movementSpeed = null [node name="CollisionShape" type="CollisionShape3D" parent="."] unique_name_in_owner = true @@ -53,15 +53,6 @@ wait_time = 3.5 [node name="EnemyModelView" parent="." instance=ExtResource("2_x21p4")] unique_name_in_owner = true -[node name="LineOfSight" type="Area3D" parent="."] -unique_name_in_owner = true - -[node name="CollisionShape3D" type="CollisionShape3D" parent="LineOfSight"] -shape = SubResource("SphereShape3D_x21p4") - -[node name="Raycast" type="RayCast3D" parent="."] -unique_name_in_owner = true - [node name="Collision" type="Area3D" parent="."] collision_layer = 2048 collision_mask = 0 diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn index 607feb78..e0953bf9 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=35 format=4 uid="uid://bid6f48l0q58o"] -[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_q3bfl"] +[ext_resource type="Script" uid="uid://bvcfww5827g74" path="res://src/enemy/enemy_types/BossTypeAEnemyModelView.cs" id="1_q3bfl"] [ext_resource type="Texture2D" uid="uid://2e4cp477ex0t" path="res://src/enemy/enemy_types/14. horse_head/animation/Horse Head 1_Metal054C_1K-JPG_Color.jpg" id="1_vv6g0"] [ext_resource type="Animation" uid="uid://bhsp32c05j2o5" path="res://src/enemy/enemy_types/14. horse_head/animation/walking.res" id="2_yvw71"] [ext_resource type="Animation" uid="uid://ccq41qrm1lduk" path="res://src/enemy/enemy_types/14. horse_head/animation/walking2.res" id="3_bkc4x"] @@ -950,7 +950,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(0.0996386, -0.283223, -1.53144) +bones/0/position = Vector3(0.0996386, -0.431243, -1.53144) bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -979,7 +979,7 @@ bones/4/parent = 3 bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08) bones/4/enabled = true bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08) -bones/4/rotation = Quaternion(0.00753206, 0.0671297, 0.209216, 0.975534) +bones/4/rotation = Quaternion(-0.00605913, 0.0592422, 0.183905, 0.981138) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 @@ -993,7 +993,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.342657, 0.0520706, -0.493702, 0.79758) +bones/6/rotation = Quaternion(-0.327511, 0.0506271, -0.45109, 0.828668) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -1028,7 +1028,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.806279, -0.0801045, -0.0234975, 0.585615) +bones/11/rotation = Quaternion(-0.814088, -0.0947363, -0.0238342, 0.572467) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -1055,7 +1055,7 @@ bones/15/name = "arm1_R" bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true -bones/15/position = Vector3(-0.2018, 3.64477, 0.0766737) +bones/15/position = Vector3(-0.169433, 3.39586, 0.123739) bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" @@ -1070,7 +1070,7 @@ bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0450407, 0.0973271, 0.265229, 0.958203) +bones/17/rotation = Quaternion(-0.00861264, 0.0960594, 0.277881, 0.955762) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -1083,7 +1083,7 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(0.147751, -0.284407, -1.49267) +bones/19/position = Vector3(0.147751, -0.370067, -1.49267) bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" @@ -1091,14 +1091,14 @@ bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.437674, -0.325425, -0.369556, 0.752309) +bones/20/rotation = Quaternion(-0.433786, -0.330242, -0.375496, 0.749515) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.0475515, 0.00188972, 0.380368, 0.92361) +bones/21/rotation = Quaternion(-0.0494072, 0.00187672, 0.395211, 0.917259) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -1132,7 +1132,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(0.0289172, -0.299562, -1.59603) +bones/26/position = Vector3(0.0289172, -0.356669, -1.59603) bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -1140,14 +1140,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.317513, 0.174091, 0.183894, 0.913816) +bones/27/rotation = Quaternion(-0.312012, 0.178024, 0.184282, 0.914875) bones/27/scale = Vector3(1, 1, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.268209, 0.0202209, -0.175002, 0.947116) +bones/28/rotation = Quaternion(-0.278231, 0.0201328, -0.181542, 0.942987) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -1184,7 +1184,7 @@ mesh = SubResource("ArrayMesh_6e63x") skin = SubResource("Skin_yvw71") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.259654, -0.935368, 0.240137, -0.89194, 0.327605, 0.311637, -2.00356, 8.78341, 6.14536) +transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.303186, -0.918133, 0.255165, -0.878098, 0.373189, 0.299455, -2.00357, 8.72165, 6.32816) bone_name = "TOP OF SKULL" bone_idx = 8 diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn index 7e0342e0..1d8b3a5e 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=7 format=3 uid="uid://6dnsw37d1uw4"] [ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_v6b2s"] [ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="2_j7u30"] @@ -26,9 +26,6 @@ metadata/_custom_type_script = "uid://dnkmr0eq1sij0" radius = 12.4931 height = 50.0 -[sub_resource type="SphereShape3D" id="SphereShape3D_v6b2s"] -radius = 1.0 - [sub_resource type="SphereShape3D" id="SphereShape3D_j7u30"] radius = 15.426 @@ -57,15 +54,6 @@ unique_name_in_owner = true unique_name_in_owner = true wait_time = 3.5 -[node name="LineOfSight" type="Area3D" parent="."] -unique_name_in_owner = true - -[node name="CollisionShape3D" type="CollisionShape3D" parent="LineOfSight"] -shape = SubResource("SphereShape3D_v6b2s") - -[node name="Raycast" type="RayCast3D" parent="."] -unique_name_in_owner = true - [node name="Collision" type="Area3D" parent="."] collision_layer = 2048 collision_mask = 0 diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn index 2c2a02c8..59924d3a 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=25 format=4 uid="uid://dnomfbym36ivg"] +[gd_scene load_steps=26 format=4 uid="uid://dnomfbym36ivg"] [ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_6miqu"] +[ext_resource type="Script" uid="uid://bvcfww5827g74" path="res://src/enemy/enemy_types/BossTypeAEnemyModelView.cs" id="1_f2iok"] [ext_resource type="Texture2D" uid="uid://dp6hwvuhfkji8" path="res://src/enemy/enemy_types/15. ox_face/models/OX FACE_Metal054C_1K-JPG_Color.jpg" id="1_lsf8e"] [ext_resource type="AnimationLibrary" uid="uid://dn4501qsypsu" path="res://src/enemy/enemy_types/14. horse_head/animation/OxFaceAnimations.tres" id="3_pmgg3"] [ext_resource type="Script" uid="uid://6edayafleq8y" path="res://src/hitbox/Hitbox.cs" id="5_f2iok"] @@ -190,7 +191,7 @@ graph_offset = Vector2(0, -71.1111) size = Vector3(5, 24.0327, 5.50244) [node name="EnemyModelView" type="Node3D"] -script = ExtResource("1_6miqu") +script = ExtResource("1_f2iok") [node name="Armature" type="Node3D" parent="."] script = ExtResource("1_6miqu") @@ -200,7 +201,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(-0.259488, -0.96383, -1.97376) +bones/0/position = Vector3(-0.260305, -1.05722, -1.96747) bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -243,7 +244,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.0697867, -0.302352, -0.744713, 0.59086) +bones/6/rotation = Quaternion(-0.0493826, -0.294897, -0.744216, 0.597277) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -278,7 +279,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.784729, -0.0616535, 0.0718257, 0.612568) +bones/11/rotation = Quaternion(-0.779594, -0.0571616, 0.0820679, 0.618248) bones/11/scale = Vector3(1, 0.999999, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -306,7 +307,7 @@ bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095) -bones/15/rotation = Quaternion(-0.210671, 0.737877, 0.621635, -0.157245) +bones/15/rotation = Quaternion(-0.215504, 0.745403, 0.613457, -0.14698) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" bones/16/parent = 15 @@ -333,22 +334,22 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(-0.309033, -1.1318, -1.95517) -bones/19/rotation = Quaternion(0.612762, 0.310855, 0.569327, -0.451397) +bones/19/position = Vector3(-0.384243, -1.20295, -1.70736) +bones/19/rotation = Quaternion(0.628187, 0.292155, 0.544258, -0.473086) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.312233, -0.440038, -0.274881, 0.795813) +bones/20/rotation = Quaternion(-0.328369, -0.422086, -0.301599, 0.789339) bones/20/scale = Vector3(1, 0.999999, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.0601745, 0.00130057, 0.487115, 0.871261) +bones/21/rotation = Quaternion(-0.0605247, 0.00129816, 0.489949, 0.869646) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -382,7 +383,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(-0.235011, -1.11395, -2.01773) +bones/26/position = Vector3(-0.0139445, -1.11395, -2.01924) bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -390,14 +391,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.207711, 0.421647, 0.141893, 0.871169) +bones/27/rotation = Quaternion(-0.201915, 0.424853, 0.137695, 0.871648) bones/27/scale = Vector3(1, 0.999999, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.0640421, -0.00115636, -0.511308, 0.857007) +bones/28/rotation = Quaternion(-0.0627373, -0.00116475, -0.500889, 0.863234) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -429,7 +430,7 @@ bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) bones/32/scale = Vector3(1, 1, 1) [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.291816, -0.0758791, -0.95346, -0.329798, -0.927733, 0.174769, -0.897817, 0.36545, 0.245702, -1.66649, 8.30024, 4.94846) +transform = Transform3D(-0.268422, -0.0393269, -0.962498, -0.333441, -0.933606, 0.131136, -0.903751, 0.356137, 0.237487, -1.68766, 8.19743, 4.95698) bone_name = "TOP OF SKULL" bone_idx = 8 diff --git a/Zennysoft.Game.Ma/src/map/Map.tscn b/Zennysoft.Game.Ma/src/map/Map.tscn index b21e1d24..ee389ac6 100644 --- a/Zennysoft.Game.Ma/src/map/Map.tscn +++ b/Zennysoft.Game.Ma/src/map/Map.tscn @@ -1,12 +1,18 @@ -[gd_scene load_steps=5 format=3 uid="uid://by67pn7fdsg1m"] +[gd_scene load_steps=11 format=3 uid="uid://by67pn7fdsg1m"] [ext_resource type="Script" uid="uid://14e8mu48ed4" path="res://src/map/Map.cs" id="1_bw70o"] -[ext_resource type="PackedScene" uid="uid://dl6h1djc27ddl" path="res://src/map/dungeon/floors/Floor00.tscn" id="3_s7lwc"] -[ext_resource type="PackedScene" uid="uid://dmiqwmivkjgmq" path="res://src/map/dungeon/floors/Floor02.tscn" id="4_0qcd2"] -[ext_resource type="PackedScene" uid="uid://bc1sp6xwe0j65" path="res://src/map/dungeon/floors/Floor01.tscn" id="4_1ny7u"] +[ext_resource type="PackedScene" uid="uid://bh8wgd536f317" path="res://src/map/dungeon/debug_floors/DebugFloor03.tscn" id="2_0qcd2"] +[ext_resource type="PackedScene" uid="uid://bep0gljnsdmwl" path="res://src/map/dungeon/debug_floors/DebugFloor01.tscn" id="2_00xd7"] +[ext_resource type="PackedScene" uid="uid://8oiglrv8q818" path="res://src/map/dungeon/debug_floors/DebugFloor02.tscn" id="3_v14r0"] +[ext_resource type="PackedScene" uid="uid://bpqm38kxonb35" path="res://src/map/dungeon/debug_floors/DebugFloor04.tscn" id="5_ne2vg"] +[ext_resource type="PackedScene" uid="uid://5ja3qxn8h7iw" path="res://src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn" id="6_abpbr"] +[ext_resource type="PackedScene" uid="uid://ceo7ph483io44" path="res://src/map/dungeon/rooms/Set B/34. Boss Floor B.tscn" id="7_caf7v"] +[ext_resource type="PackedScene" uid="uid://bo20ffw2ygbks" path="res://src/map/dungeon/rooms/Set B/35. Goddess of Guidance's Room.tscn" id="8_y74f3"] +[ext_resource type="PackedScene" uid="uid://dttk7gis5ibge" path="res://src/map/dungeon/rooms/Set B/30. Void Room.tscn" id="9_dbqu2"] +[ext_resource type="PackedScene" uid="uid://cyrrhoarhxlhg" path="res://src/map/dungeon/rooms/Set B/36. Final Floor.tscn" id="10_xcm54"] [node name="Map" type="Node3D"] script = ExtResource("1_bw70o") -_floors = Array[PackedScene]([ExtResource("3_s7lwc"), ExtResource("4_1ny7u"), ExtResource("4_0qcd2")]) +_floors = Array[PackedScene]([ExtResource("6_abpbr"), ExtResource("2_00xd7"), ExtResource("3_v14r0"), ExtResource("2_0qcd2"), ExtResource("5_ne2vg"), ExtResource("7_caf7v"), ExtResource("8_y74f3"), ExtResource("9_dbqu2"), ExtResource("10_xcm54")]) [node name="WorldEnvironment" type="WorldEnvironment" parent="."] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomA.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomA.cs index a65fea28..a5aec3f7 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomA.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomA.cs @@ -1,12 +1,13 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; +using System.Collections.Immutable; using Zennysoft.Ma.Adapter; namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] -public partial class BossRoomA : Node3D, IBossRoom +public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor { public override void _Notification(int what) => this.Notify(what); @@ -27,6 +28,8 @@ public partial class BossRoomA : Node3D, IBossRoom [Node] public Node3D GateCollision { get; set; } = default!; [Node] private Area3D _exit { get; set; } = default!; + public ImmutableList Rooms { get; } + public bool FloorIsLoaded { get; set; } public void Setup() { @@ -46,8 +49,8 @@ public partial class BossRoomA : Node3D, IBossRoom { OxFaceStatue.Hide(); HorseHeadStatue.Hide(); - OxFace.Activate(); - HorseFace.Activate(); + OxFace.StartFight(); + HorseFace.StartFight(); } public void OnBossFightEnded() @@ -69,4 +72,11 @@ public partial class BossRoomA : Node3D, IBossRoom if (area.GetOwner() is IPlayer) ExitReached(); } + + public void InitializeDungeon() + { + + } + + public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform; } diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomB.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomB.cs index 13f158e9..723005cc 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomB.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/BossRoomB.cs @@ -1,11 +1,12 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; using Godot; +using System.Collections.Immutable; namespace Zennysoft.Game.Ma; [Meta(typeof(IAutoNode))] -public partial class BossRoomB : Node3D, IBossRoom +public partial class BossRoomB : Node3D, IBossRoom, IDungeonFloor { public override void _Notification(int what) => this.Notify(what); @@ -14,6 +15,8 @@ public partial class BossRoomB : Node3D, IBossRoom [Node] public DemonWall DemonWall { get; set; } = default!; [Node] private Area3D ActivateTrap { get; set; } = default!; + public ImmutableList Rooms { get; } + public bool FloorIsLoaded { get; set; } public void OnReady() { @@ -31,4 +34,11 @@ public partial class BossRoomB : Node3D, IBossRoom { DemonWall.Activate(); } + + public void InitializeDungeon() + { + + } + + public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform; } diff --git a/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor01.tscn b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor01.tscn new file mode 100644 index 00000000..a0bb0c61 --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor01.tscn @@ -0,0 +1,402 @@ +[gd_scene load_steps=17 format=3 uid="uid://bep0gljnsdmwl"] + +[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_hi8ea"] +[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="2_m20ji"] +[ext_resource type="PackedScene" uid="uid://b82dx66mgs2d7" path="res://src/map/dungeon/rooms/Set A/08. Basin Room.tscn" id="3_41yfs"] +[ext_resource type="PackedScene" uid="uid://dpec2lbt83dhe" path="res://src/map/dungeon/rooms/Set A/03. Antechamber A.tscn" id="4_es1bj"] +[ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="5_em4xt"] +[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/rooms/Set A/18. Corridor A.tscn" id="7_yjf3p"] +[ext_resource type="PackedScene" uid="uid://i781lbf2wb22" path="res://src/map/dungeon/rooms/Set A/04. Antechamber B.tscn" id="8_6nrfy"] +[ext_resource type="PackedScene" uid="uid://cam640h4euewx" path="res://src/map/dungeon/rooms/Set A/05. Pit Room A.tscn" id="9_qa3lj"] +[ext_resource type="PackedScene" uid="uid://b7111krf365x0" path="res://src/map/dungeon/rooms/Set A/06. Balcony Room A.tscn" id="10_qhbwi"] +[ext_resource type="PackedScene" uid="uid://vdhl32je6hq2" path="res://src/map/dungeon/rooms/Set A/07. Statue Room.tscn" id="11_fs8rp"] +[ext_resource type="PackedScene" uid="uid://c1qicmrcg6q6x" path="res://src/map/dungeon/rooms/Set A/09. Column Room.tscn" id="12_13oyp"] +[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="19_o4jx7"] +[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="20_qw3qq"] +[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="21_6u31e"] + +[sub_resource type="NavigationMesh" id="NavigationMesh_xw4dv"] +vertices = PackedVector3Array(-9.05359, -0.588592, -35.2421, -9.05359, -0.588592, -35.7421, -11.0536, -0.588592, -35.7421, -11.3036, -0.588592, -34.9921, -21.0536, -0.588592, -51.2421, -21.0536, -0.588592, -51.7421, -23.0536, -0.588592, -51.7421, -23.3036, -0.588592, -50.9921, -37.0536, -0.588592, -20.7421, -39.3036, -0.588592, -20.9921, -39.0536, -0.588592, -19.2421, -37.0536, -0.588592, -19.2421, -19.3036, -0.588592, -58.9921, -20.8036, -0.588592, -58.9921, -20.8036, -0.588592, -56.9921, -19.3036, -0.588592, -56.9921, -43.0536, -0.588592, -19.2421, -43.5536, -0.588592, -18.9921, -43.5536, -0.588592, -16.9921, -43.0536, -0.588592, -16.7421, -41.0536, -0.588592, -16.7421, -40.8036, -0.588592, -18.9921, -43.0536, -0.588592, -15.2421, -43.5536, -0.588592, -14.9921, -43.5536, -0.588592, -12.9921, -43.0536, -0.588592, -11.2421, -43.5536, -0.588592, -10.9921, -43.5536, -0.588592, -8.99206, -39.3036, -0.588592, -16.9921, -39.0536, -0.588592, -16.4921, -37.0536, -0.588592, -16.4921, -35.3036, -0.588592, -24.9921, -35.0536, -0.588592, -24.4921, -33.0536, -0.588592, -24.4921, -31.3036, -0.588592, -28.9921, -31.0536, -0.588592, -28.4921, -29.0536, -0.588592, -28.4921, -23.3036, -0.588592, -32.9921, -23.0536, -0.588592, -32.4921, -21.0536, -0.588592, -32.4921, -20.8036, -0.588592, -32.9921, -21.0536, -0.588592, -35.2421, -23.0536, -0.588592, -35.2421, -19.0536, -0.588592, -31.2421, -19.5536, -0.588592, -30.9921, -19.5536, -0.588592, -28.9921, -19.0536, -0.588592, -27.2421, -19.5536, -0.588592, -26.9921, -19.5536, -0.588592, -24.9921, -19.0536, -0.588592, -23.2421, -19.5536, -0.588592, -22.9921, -19.5536, -0.588592, -20.9921, -19.0536, -0.588592, -19.2421, -19.5536, -0.588592, -18.9921, -19.5536, -0.588592, -16.9921, -19.0536, -0.588592, -15.2421, -19.5536, -0.588592, -14.9921, -19.5536, -0.588592, -12.9921, -19.0536, -0.588592, -11.2421, -19.5536, -0.588592, -10.9921, -19.5536, -0.588592, -8.99206, -19.0536, -0.588592, -7.24206, -19.5536, -0.588592, -6.99206, -19.5536, -0.588592, -4.99206, -19.0536, -0.588592, -3.24206, -19.5536, -0.588592, -2.99206, -19.5536, -0.588592, -0.992058, -19.0536, -0.588592, 0.757942, -19.5536, -0.588592, 1.00794, -19.5536, -0.588592, 3.00794, -20.8036, -0.588592, 9.00794, -21.0536, -0.588592, 8.50794, -23.0536, -0.588592, 8.50794, -23.5536, -0.588592, 9.00794, -23.0536, -0.588592, 11.2579, -20.8036, -0.588592, 11.0079, -23.5536, -0.588592, 11.0079, -19.3036, -0.588592, 11.0079, -19.0536, -0.588592, 11.5079, -17.0536, -0.588592, 11.5079, -15.3036, -0.588592, -32.9921, -15.0536, -0.588592, -32.4921, -13.0536, -0.588592, -32.4921, -11.3036, -0.588592, -32.9921, -11.0536, -0.588592, -32.4921, -9.05359, -0.588592, -32.4921, -23.3036, -0.588592, -56.9921, -23.0536, -0.588592, -56.4921, -21.0536, -0.588592, -56.4921, -19.0536, -0.588592, -56.4921, -17.0536, -0.588592, -56.4921, -15.5536, -0.588592, -70.9921, -15.5536, -0.588592, -68.9921, -15.0536, -0.588592, -68.7421, -15.0536, -0.588592, -67.2421, -15.5536, -0.588592, -66.9921, -15.5536, -0.588592, -64.9921, -15.0536, -0.588592, -63.2421, -15.5536, -0.588592, -62.9921, -15.5536, -0.588592, -60.9921, -43.5536, -0.588592, -50.9921, -43.5536, -0.588592, -48.9921, -43.0536, -0.588592, -48.7421, -39.3036, -0.588592, -48.9921, -39.0536, -0.588592, -48.4921, -37.0536, -0.588592, -48.4921, -35.3036, -0.588592, -52.9921, -35.0536, -0.588592, -52.4921, -33.0536, -0.588592, -52.4921, -27.0536, -0.588592, -55.2421, -27.5536, -0.588592, -54.9921, -27.5536, -0.588592, -52.9921, -27.0536, -0.588592, -51.2421, -27.5536, -0.588592, -50.9921, -27.5536, -0.588592, -48.9921, -27.0536, -0.588592, -48.4921, -24.8036, -0.588592, -48.9921, -25.0536, -0.588592, -51.2421, -25.0536, -0.588592, -48.4921, -23.0536, -0.588592, -47.2421, -23.5536, -0.588592, -46.9921, -23.5536, -0.588592, -44.9921, -23.0536, -0.588592, -43.2421, -23.5536, -0.588592, -42.9921, -23.5536, -0.588592, -40.9921, -27.5536, -0.588592, -34.9921, -27.5536, -0.588592, -32.9921, -27.0536, -0.588592, -32.7421, -32.8036, -0.588592, -30.9921, -33.0536, -0.588592, -31.4921, -35.0536, -0.588592, -31.4921, -35.5536, -0.588592, -30.9921, -35.0536, -0.588592, -28.7421, -32.8036, -0.588592, -28.9921, -35.5536, -0.588592, -28.9921, -43.0536, -0.588592, -47.2421, -43.5536, -0.588592, -46.9921, -43.5536, -0.588592, -44.9921, -43.0536, -0.588592, -43.2421, -43.5536, -0.588592, -42.9921, -43.5536, -0.588592, -40.9921, -43.0536, -0.588592, -39.2421, -43.5536, -0.588592, -38.9921, -43.5536, -0.588592, -36.9921, -43.0536, -0.588592, -35.2421, -43.5536, -0.588592, -34.9921, -43.5536, -0.588592, -32.9921, -43.0536, -0.588592, -31.2421, -43.5536, -0.588592, -30.9921, -43.5536, -0.588592, -28.9921, -43.0536, -0.588592, -27.2421, -43.5536, -0.588592, -26.9921, -43.5536, -0.588592, -24.9921, -43.0536, -0.588592, -24.7421, -41.0536, -0.588592, -24.7421, -40.8036, -0.588592, -26.9921, -43.0536, -0.588592, -23.2421, -43.5536, -0.588592, -22.9921, -43.5536, -0.588592, -20.9921, -43.0536, -0.588592, -20.7421, -41.0536, -0.588592, -20.7421, -40.8036, -0.588592, -22.9921, -40.3036, -0.588592, -4.99206, -40.3036, -0.588592, -6.99206, -41.0536, -0.588592, -7.24206, -41.0536, -0.588592, -8.74206, -40.3036, -0.588592, -8.99206, -40.3036, -0.588592, -10.9921, -41.0536, -0.588592, -12.7421, -40.3036, -0.588592, -12.9921, -40.3036, -0.588592, -14.9921, -36.3036, -0.588592, -16.9921, -36.3036, -0.588592, -18.9921, -36.3036, -0.588592, -20.9921, -36.3036, -0.588592, -22.9921, -37.0536, -0.588592, -23.2421, -39.0536, -0.588592, -23.2421, -32.3036, -0.588592, -24.9921, -32.3036, -0.588592, -26.9921, -33.0536, -0.588592, -27.2421, -35.3036, -0.588592, -26.9921, -24.3036, -0.588592, -28.9921, -24.3036, -0.588592, -30.9921, -25.0536, -0.588592, -31.2421, -27.3036, -0.588592, -30.9921, -28.8036, -0.588592, -28.9921, -25.0536, -0.588592, -28.4921, -20.3036, -0.588592, 15.0079, -20.3036, -0.588592, 13.0079, -21.0536, -0.588592, 12.7579, -16.3036, -0.588592, 11.0079, -16.3036, -0.588592, 9.00794, -17.0536, -0.588592, 8.75794, -19.0536, -0.588592, 8.75794, -17.0536, -0.588592, 7.25794, -16.3036, -0.588592, 7.00794, -16.3036, -0.588592, 5.00794, -17.0536, -0.588592, 4.75794, -17.0536, -0.588592, 3.25794, -16.3036, -0.588592, 3.00794, -16.3036, -0.588592, 1.00794, -17.0536, -0.588592, -0.742058, -16.3036, -0.588592, -0.992058, -16.3036, -0.588592, -2.99206, -17.0536, -0.588592, -4.74206, -16.3036, -0.588592, -4.99206, -16.3036, -0.588592, -6.99206, -17.0536, -0.588592, -8.74206, -16.3036, -0.588592, -8.99206, -16.3036, -0.588592, -10.9921, -17.0536, -0.588592, -12.7421, -16.3036, -0.588592, -12.9921, -16.3036, -0.588592, -14.9921, -17.0536, -0.588592, -16.7421, -16.3036, -0.588592, -16.9921, -16.3036, -0.588592, -18.9921, -17.0536, -0.588592, -20.7421, -16.3036, -0.588592, -20.9921, -16.3036, -0.588592, -22.9921, -17.0536, -0.588592, -24.7421, -16.3036, -0.588592, -24.9921, -16.3036, -0.588592, -26.9921, -17.0536, -0.588592, -28.7421, -16.3036, -0.588592, -28.9921, -16.3036, -0.588592, -30.9921, -8.30359, -0.588592, -32.9921, -8.30359, -0.588592, -34.9921, -12.8036, -0.588592, -34.9921, -13.0536, -0.588592, -35.7421, -15.0536, -0.588592, -35.7421, -16.8036, -0.588592, -34.9921, -17.0536, -0.588592, -35.7421, -19.0536, -0.588592, -35.7421, -19.3036, -0.588592, -34.9921, -19.0536, -0.588592, -32.7421, -17.0536, -0.588592, -32.7421, -21.0536, -0.588592, -36.7421, -20.3036, -0.588592, -36.9921, -20.3036, -0.588592, -38.9921, -21.0536, -0.588592, -39.2421, -21.0536, -0.588592, -40.7421, -20.3036, -0.588592, -40.9921, -20.3036, -0.588592, -42.9921, -21.0536, -0.588592, -44.7421, -20.3036, -0.588592, -44.9921, -20.3036, -0.588592, -46.9921, -21.0536, -0.588592, -48.7421, -20.3036, -0.588592, -48.9921, -20.3036, -0.588592, -50.9921, -23.0536, -0.588592, -48.7421, -25.0536, -0.588592, -52.7421, -24.3036, -0.588592, -52.9921, -24.3036, -0.588592, -54.9921, -12.3036, -0.588592, -56.9921, -12.3036, -0.588592, -58.9921, -13.0536, -0.588592, -59.2421, -15.3036, -0.588592, -58.9921, -16.8036, -0.588592, -56.9921, -13.0536, -0.588592, -56.4921, -13.0536, -0.588592, -60.7421, -12.3036, -0.588592, -60.9921, -12.3036, -0.588592, -62.9921, -13.0536, -0.588592, -64.7421, -12.3036, -0.588592, -64.9921, -12.3036, -0.588592, -66.9921, -13.0536, -0.588592, -68.7421, -12.3036, -0.588592, -68.9921, -12.3036, -0.588592, -70.9921, -16.8036, -0.588592, -58.9921, -17.0536, -0.588592, -59.7421, -19.0536, -0.588592, -59.7421, -21.0536, -0.588592, -59.7421, -23.0536, -0.588592, -59.7421, -24.8036, -0.588592, -58.9921, -25.0536, -0.588592, -59.7421, -27.0536, -0.588592, -59.7421, -27.3036, -0.588592, -58.9921, -27.3036, -0.588592, -56.9921, -24.8036, -0.588592, -56.9921, -28.8036, -0.588592, -58.9921, -29.0536, -0.588592, -59.7421, -31.0536, -0.588592, -59.7421, -32.8036, -0.588592, -58.9921, -33.0536, -0.588592, -59.7421, -35.0536, -0.588592, -59.7421, -36.8036, -0.588592, -54.9921, -37.0536, -0.588592, -55.7421, -39.0536, -0.588592, -55.7421, -39.5536, -0.588592, -54.9921, -39.0536, -0.588592, -51.2421, -37.0536, -0.588592, -52.7421, -40.8036, -0.588592, -50.9921, -41.0536, -0.588592, -51.7421, -43.0536, -0.588592, -51.7421, -41.0536, -0.588592, -48.7421, -36.3036, -0.588592, -48.9921, -36.3036, -0.588592, -50.9921, -37.0536, -0.588592, -51.2421, -32.3036, -0.588592, -52.9921, -32.3036, -0.588592, -54.9921, -33.0536, -0.588592, -55.2421, -35.0536, -0.588592, -55.2421, -24.8036, -0.588592, -34.9921, -25.0536, -0.588592, -35.7421, -27.0536, -0.588592, -35.7421, -24.8036, -0.588592, -32.9921, -41.0536, -0.588592, -28.7421, -40.3036, -0.588592, -28.9921, -40.3036, -0.588592, -30.9921, -41.0536, -0.588592, -32.7421, -40.3036, -0.588592, -32.9921, -40.3036, -0.588592, -34.9921, -41.0536, -0.588592, -36.7421, -40.3036, -0.588592, -36.9921, -40.3036, -0.588592, -38.9921, -41.0536, -0.588592, -40.7421, -40.3036, -0.588592, -40.9921, -40.3036, -0.588592, -42.9921, -41.0536, -0.588592, -44.7421, -40.3036, -0.588592, -44.9921, -40.3036, -0.588592, -46.9921, -41.0536, -0.588592, -39.2421, -43.0536, -0.588592, -40.7421, -41.0536, -0.588592, -15.2421, -43.0536, -0.588592, -12.7421, -41.0536, -0.588592, -11.2421, -43.0536, -0.588592, -8.74206, -17.0536, -0.588592, -31.2421, -28.8036, -0.588592, -30.9921, -29.0536, -0.588592, -31.4921, -12.8036, -0.588592, -32.9921, -19.0536, -0.588592, -28.7421, -17.0536, -0.588592, -27.2421, -19.0536, -0.588592, -24.7421, -17.0536, -0.588592, -23.2421, -19.0536, -0.588592, -20.7421, -17.0536, -0.588592, -19.2421, -19.0536, -0.588592, -16.7421, -17.0536, -0.588592, -15.2421, -19.0536, -0.588592, -12.7421, -17.0536, -0.588592, -11.2421, -19.0536, -0.588592, -8.74206, -17.0536, -0.588592, -7.24206, -19.0536, -0.588592, -4.74206, -17.0536, -0.588592, -3.24206, -19.0536, -0.588592, -0.742058, -17.0536, -0.588592, 0.757942, -19.0536, -0.588592, 3.25794, -41.0536, -0.588592, -31.2421, -43.0536, -0.588592, -32.7421, -23.0536, -0.588592, -40.7421, -21.0536, -0.588592, -43.2421, -23.5536, -0.588592, -36.9921, -23.0536, -0.588592, -36.7421, -15.3036, -0.588592, -34.9921, -41.0536, -0.588592, -35.2421, -43.0536, -0.588592, -36.7421, -23.0536, -0.588592, -44.7421, -21.0536, -0.588592, -47.2421, -27.0536, -0.588592, -52.7421, -25.0536, -0.588592, -55.2421, -23.3036, -0.588592, -58.9921, -15.0536, -0.588592, -60.7421, -13.0536, -0.588592, -63.2421, -15.0536, -0.588592, -64.7421, -13.0536, -0.588592, -67.2421, -37.0536, -0.588592, -24.7421, -39.3036, -0.588592, -24.9921, -31.3036, -0.588592, -58.9921, -31.3036, -0.588592, -56.9921, -31.0536, -0.588592, -56.4921, -19.0536, -0.588592, 7.25794, -43.0536, -0.588592, -28.7421, -41.0536, -0.588592, -43.2421, -43.0536, -0.588592, -44.7421, -41.0536, -0.588592, -47.2421, -32.8036, -0.588592, -56.9921, -43.5536, -0.588592, -4.99206, -43.0536, -0.588592, -4.49206, -41.0536, -0.588592, -4.49206, -23.5536, -0.588592, 15.0079, -23.0536, -0.588592, 15.5079, -21.0536, -0.588592, 15.5079, -13.0536, -0.588592, -71.4921, -15.0536, -0.588592, -71.4921, -39.3036, -0.588592, -26.9921, -39.0536, -0.588592, -27.4921, -35.5536, -0.588592, -58.9921, -19.5536, -0.588592, 7.00794, -37.8036, -0.588592, 35.5079, -37.0536, -0.588592, 35.5079, -36.8036, -0.588592, 35.0079, -38.0536, -0.588592, 34.7579, 14.9464, -0.588592, 19.2579, 15.6964, -0.588592, 19.0079, 15.6964, -0.588592, 18.2579, 14.1964, -0.588592, 18.0079, 19.9464, -0.588592, 12.2579, 16.9464, -0.588592, 13.5079, 12.9464, -0.588592, 15.2579, 14.4464, -0.588592, 15.0079, 8.69641, -0.588592, 23.0079, 11.1964, -0.588592, 23.0079, 14.9464, -0.588592, 20.7579, 32.4464, -0.588592, 17.0079, 32.4464, -0.588592, 18.0079, 33.1964, -0.588592, 18.2579, 32.9464, -0.588592, 16.5079, 15.6964, -0.588592, 10.0079, 15.6964, -0.588592, 9.00794, 14.9464, -0.588592, 8.75794, 14.4464, -0.588592, 10.2579, 14.4464, -0.588592, 13.2579, -33.8036, -0.588592, 49.7579, -33.5536, -0.588592, 51.2579, -33.0536, -0.588592, 51.2579, -33.0536, -0.588592, 37.0079, -33.5536, -0.588592, 38.2579, 14.9464, -0.588592, -31.2421, 14.9464, -0.588592, -32.7421, 12.9464, -0.588592, -32.7421, 12.9464, -0.588592, -31.2421, -36.3036, -0.588592, 37.0079, -37.8036, -0.588592, 37.0079, -38.0536, -0.588592, 37.7579, -36.0536, -0.588592, 38.2579, -43.3036, -0.588592, 45.5079, -48.0536, -0.588592, 49.7579, -47.8036, -0.588592, 51.2579, -36.5536, -0.588592, 51.2579, -36.3036, -0.588592, 49.7579, -40.5536, -0.588592, 45.2579, 14.9464, -0.588592, -35.2421, 14.9464, -0.588592, -35.7421, 12.9464, -0.588592, -35.7421, -43.5536, -0.588592, 33.0079, -43.5536, -0.588592, 34.7579, -42.5536, -0.588592, 35.0079, -40.8036, -0.588592, 33.0079, -41.0536, -0.588592, 32.5079, -43.0536, -0.588592, 32.5079, -31.3036, -0.588592, 35.0079, -31.0536, -0.588592, 35.5079, -29.0536, -0.588592, 35.5079, -28.8036, -0.588592, 35.0079, -23.3036, -0.588592, 35.0079, -23.0536, -0.588592, 35.5079, -21.0536, -0.588592, 35.5079, -20.3036, -0.588592, 35.0079, -20.3036, -0.588592, 33.0079, -21.0536, -0.588592, 32.7579, -19.3036, -0.588592, 23.0079, -19.0536, -0.588592, 23.5079, -17.0536, -0.588592, 23.5079, -15.3036, -0.588592, 23.0079, -15.0536, -0.588592, 23.5079, -13.0536, -0.588592, 23.5079, -11.3036, -0.588592, 23.0079, -11.0536, -0.588592, 23.5079, -9.05359, -0.588592, 23.5079, -7.30359, -0.588592, 23.0079, -7.05359, -0.588592, 23.5079, -5.05359, -0.588592, 23.5079, -3.30359, -0.588592, 23.0079, -3.05359, -0.588592, 23.5079, -1.05359, -0.588592, 23.5079, 0.696411, -0.588592, 23.0079, 0.946411, -0.588592, 23.5079, 2.94641, -0.588592, 23.5079, 4.69641, -0.588592, 23.0079, 4.94641, -0.588592, 23.5079, 6.94641, -0.588592, 23.5079, 7.19641, -0.588592, 23.0079, 8.94641, -0.588592, 23.5079, 10.9464, -0.588592, 23.5079, 16.6964, -0.588592, -4.99206, 16.9464, -0.588592, -4.49206, 18.9464, -0.588592, -4.49206, 24.9464, -0.588592, -3.24206, 24.4464, -0.588592, -2.99206, 24.4464, -0.588592, -0.992058, 24.9464, -0.588592, -0.492058, 28.6964, -0.588592, -0.992058, 27.1964, -0.588592, -2.99206, 28.9464, -0.588592, 0.757942, 28.4464, -0.588592, 1.00794, 28.4464, -0.588592, 3.00794, 28.9464, -0.588592, 3.50794, 32.6964, -0.588592, 3.00794, 31.1964, -0.588592, 1.00794, 35.1964, -0.588592, 7.00794, 32.9464, -0.588592, 4.75794, 32.4464, -0.588592, 5.00794, 32.4464, -0.588592, 7.00794, 32.9464, -0.588592, 7.50794, 34.9464, -0.588592, 7.50794, -19.3036, -0.588592, 21.0079, -20.8036, -0.588592, 21.0079, -23.0536, -0.588592, 23.2579, -23.0536, -0.588592, 24.7579, -20.8036, -0.588592, 23.0079, 36.6964, -0.588592, 7.00794, 36.9464, -0.588592, 7.50794, 38.9464, -0.588592, 7.50794, 40.6964, -0.588592, 7.00794, 40.9464, -0.588592, 7.50794, 42.9464, -0.588592, 7.50794, 43.1964, -0.588592, 5.00794, 42.9464, -0.588592, 4.50794, 40.9464, -0.588592, 4.50794, 39.1964, -0.588592, 5.00794, 38.9464, -0.588592, 4.50794, 36.9464, -0.588592, 4.50794, 34.9464, -0.588592, 0.507942, 32.9464, -0.588592, 0.507942, 32.6964, -0.588592, 1.00794, 34.9464, -0.588592, 3.25794, 35.6964, -0.588592, 3.00794, 35.6964, -0.588592, 1.00794, 30.9464, -0.588592, -3.49206, 28.9464, -0.588592, -3.49206, 28.6964, -0.588592, -2.99206, 30.9464, -0.588592, -0.742058, 31.6964, -0.588592, -0.992058, 31.6964, -0.588592, -2.99206, 26.9464, -0.588592, -7.49206, 24.9464, -0.588592, -7.49206, 24.6964, -0.588592, -6.99206, 26.9464, -0.588592, -4.74206, 27.6964, -0.588592, -4.99206, 27.6964, -0.588592, -6.99206, 23.1964, -0.588592, -6.99206, 22.9464, -0.588592, -7.49206, 20.9464, -0.588592, -7.49206, 20.6964, -0.588592, -6.99206, 19.1964, -0.588592, -6.99206, 18.9464, -0.588592, -7.49206, 16.9464, -0.588592, -7.49206, 12.4464, -0.588592, -34.9921, 12.4464, -0.588592, -32.9921, 12.4464, -0.588592, -30.9921, 12.4464, -0.588592, -28.9921, 12.9464, -0.588592, -27.2421, 12.4464, -0.588592, -26.9921, 12.4464, -0.588592, -24.9921, 12.9464, -0.588592, -23.2421, 12.4464, -0.588592, -22.9921, 12.4464, -0.588592, -20.9921, 12.9464, -0.588592, -19.2421, 12.4464, -0.588592, -18.9921, 12.4464, -0.588592, -16.9921, 12.9464, -0.588592, -15.2421, 12.4464, -0.588592, -14.9921, 12.4464, -0.588592, -12.9921, 12.9464, -0.588592, -11.2421, 12.4464, -0.588592, -10.9921, 12.4464, -0.588592, -8.99206, 12.9464, -0.588592, -7.24206, 12.4464, -0.588592, -6.99206, 12.4464, -0.588592, -4.99206, 12.9464, -0.588592, -3.24206, 12.4464, -0.588592, -2.99206, 12.4464, -0.588592, -0.992058, 12.9464, -0.588592, 0.757942, 12.4464, -0.588592, 1.00794, 12.4464, -0.588592, 3.00794, 12.9464, -0.588592, 4.75794, 12.4464, -0.588592, 5.00794, 12.4464, -0.588592, 7.00794, 12.9464, -0.588592, 8.75794, 12.4464, -0.588592, 9.00794, 12.4464, -0.588592, 11.0079, 12.9464, -0.588592, 11.2579, 12.9464, -0.588592, 12.7579, 12.4464, -0.588592, 13.0079, 12.4464, -0.588592, 15.0079, 11.1964, -0.588592, 21.0079, 10.9464, -0.588592, 20.5079, 8.94641, -0.588592, 20.5079, 8.69641, -0.588592, 21.0079, 7.19641, -0.588592, 21.0079, 6.94641, -0.588592, 20.5079, 4.94641, -0.588592, 20.5079, 4.69641, -0.588592, 21.0079, 3.19641, -0.588592, 21.0079, 2.94641, -0.588592, 20.5079, 0.946411, -0.588592, 20.5079, -0.803589, -0.588592, 21.0079, -1.05359, -0.588592, 20.5079, -3.05359, -0.588592, 20.5079, -4.80359, -0.588592, 21.0079, -5.05359, -0.588592, 20.5079, -7.05359, -0.588592, 20.5079, -8.80359, -0.588592, 21.0079, -9.05359, -0.588592, 20.5079, -11.0536, -0.588592, 20.5079, -12.8036, -0.588592, 21.0079, -13.0536, -0.588592, 20.5079, -15.0536, -0.588592, 20.5079, -16.8036, -0.588592, 21.0079, -17.0536, -0.588592, 20.5079, -19.0536, -0.588592, 20.5079, -21.0536, -0.588592, 20.5079, -23.0536, -0.588592, 20.5079, -23.5536, -0.588592, 21.0079, -23.5536, -0.588592, 23.0079, 14.9464, -0.588592, -23.2421, 14.9464, -0.588592, -24.7421, 12.9464, -0.588592, -24.7421, -23.5536, -0.588592, 25.0079, -23.5536, -0.588592, 27.0079, -23.0536, -0.588592, 28.7579, -23.5536, -0.588592, 29.0079, -23.5536, -0.588592, 31.0079, -28.8036, -0.588592, 33.0079, -29.0536, -0.588592, 32.5079, -31.0536, -0.588592, 32.5079, -31.3036, -0.588592, 33.0079, -32.8036, -0.588592, 33.0079, -33.0536, -0.588592, 32.5079, -35.0536, -0.588592, 32.5079, -35.3036, -0.588592, 33.0079, -36.8036, -0.588592, 33.0079, -37.0536, -0.588592, 32.5079, -39.0536, -0.588592, 32.5079, -39.3036, -0.588592, 33.0079, -21.0536, -0.588592, 31.2579, -23.0536, -0.588592, 31.2579, -23.3036, -0.588592, 33.0079, 14.9464, -0.588592, -7.24206, 14.9464, -0.588592, -8.74206, 12.9464, -0.588592, -8.74206, -20.3036, -0.588592, 31.0079, -20.3036, -0.588592, 29.0079, -21.0536, -0.588592, 27.2579, -20.3036, -0.588592, 27.0079, -20.3036, -0.588592, 25.0079, 15.6964, -0.588592, 23.0079, 15.6964, -0.588592, 21.0079, 14.9464, -0.588592, 23.5079, 32.6964, -0.588592, 22.7579, 32.9464, -0.588592, 23.5079, 34.9464, -0.588592, 23.5079, 35.6964, -0.588592, 23.0079, 34.9464, -0.588592, 20.7579, 32.9464, -0.588592, 21.2579, 35.6964, -0.588592, 21.0079, 34.9464, -0.588592, 19.2579, 35.6964, -0.588592, 19.0079, 35.6964, -0.588592, 17.0079, 34.9464, -0.588592, 16.5079, 14.9464, -0.588592, 7.25794, 15.6964, -0.588592, 7.00794, 15.6964, -0.588592, 5.00794, 14.9464, -0.588592, 3.25794, 15.6964, -0.588592, 3.00794, 15.6964, -0.588592, 1.00794, 14.9464, -0.588592, -0.742058, 15.6964, -0.588592, -0.992058, 15.6964, -0.588592, -2.99206, 14.9464, -0.588592, -15.2421, 14.9464, -0.588592, -16.7421, 12.9464, -0.588592, -16.7421, -43.5536, -0.588592, 42.7579, -48.0536, -0.588592, 38.2579, -50.5536, -0.588592, 38.2579, -50.5536, -0.588592, 49.7579, 15.6964, -0.588592, -8.99206, 15.6964, -0.588592, -10.9921, 14.9464, -0.588592, -12.7421, 15.6964, -0.588592, -12.9921, 15.6964, -0.588592, -14.9921, 15.6964, -0.588592, -16.9921, 15.6964, -0.588592, -18.9921, 14.9464, -0.588592, -20.7421, 15.6964, -0.588592, -20.9921, 15.6964, -0.588592, -22.9921, 15.6964, -0.588592, -24.9921, 15.6964, -0.588592, -26.9921, 14.9464, -0.588592, -28.7421, 15.6964, -0.588592, -28.9921, 15.6964, -0.588592, -30.9921, 15.6964, -0.588592, -32.9921, 15.6964, -0.588592, -34.9921, 36.6964, -0.588592, 5.00794, 35.1964, -0.588592, 5.00794, -21.0536, -0.588592, 28.7579, -23.0536, -0.588592, 27.2579, -21.0536, -0.588592, 24.7579, -16.8036, -0.588592, 23.0079, -15.3036, -0.588592, 21.0079, -12.8036, -0.588592, 23.0079, -11.3036, -0.588592, 21.0079, -8.80359, -0.588592, 23.0079, -7.30359, -0.588592, 21.0079, -4.80359, -0.588592, 23.0079, -3.30359, -0.588592, 21.0079, -0.803589, -0.588592, 23.0079, 0.696411, -0.588592, 21.0079, 3.19641, -0.588592, 23.0079, 24.6964, -0.588592, -4.99206, 15.1964, -0.588592, -4.99206, 16.6964, -0.588592, -6.99206, 12.9464, -0.588592, 7.25794, 14.9464, -0.588592, 4.75794, 12.9464, -0.588592, 3.25794, 14.9464, -0.588592, 0.757942, 12.9464, -0.588592, -0.742058, 14.9464, -0.588592, -3.24206, 19.1964, -0.588592, -4.99206, 39.1964, -0.588592, 7.00794, 40.6964, -0.588592, 5.00794, 43.1964, -0.588592, 7.00794, 12.9464, -0.588592, -4.74206, -40.8036, -0.588592, 42.5079, 14.9464, -0.588592, -11.2421, 12.9464, -0.588592, -12.7421, 14.9464, -0.588592, -19.2421, 12.9464, -0.588592, -20.7421, 14.9464, -0.588592, -27.2421, 12.9464, -0.588592, -28.7421, 23.1964, -0.588592, -4.99206, 12.9464, -0.588592, 20.7579, 30.1964, -0.588592, 18.2579, 31.1964, -0.588592, 18.0079, 31.1964, -0.588592, 12.2579, 27.6964, -0.588592, 12.0079, 19.9464, -0.588592, 23.7579, 20.1964, -0.588592, 27.0079, 27.6964, -0.588592, 27.0079, 27.9464, -0.588592, 23.7579, -51.0536, -0.588592, 37.0079, -51.0536, -0.588592, 51.2579, -40.8036, -0.588592, 37.7579, -42.8036, -0.588592, 37.5079, -47.8036, -0.588592, 37.0079, 30.1964, -0.588592, 21.0079, 46.9464, -0.588592, 7.50794, 47.4464, -0.588592, 7.00794, 47.4464, -0.588592, 5.00794, 46.9464, -0.588592, 4.50794, -24.8036, -0.588592, 35.0079, -24.8036, -0.588592, 33.0079, 30.1964, -0.588592, 23.7579, 30.4464, -0.588592, 22.7579, 22.9464, -0.588592, -4.49206, -25.0536, -0.588592, 35.5079, -25.0536, -0.588592, 32.5079, -33.5536, -0.588592, 35.5079, -32.8036, -0.588592, 35.0079, 12.4464, -0.588592, 19.0079, 12.9464, -0.588592, 19.2579, 17.1964, -0.588592, 12.2579, 17.1964, -0.588592, 15.2579, 16.9464, -0.588592, 23.7579, -41.0536, -0.588592, 35.0079, 27.6964, -0.588592, 8.75794, 20.1964, -0.588592, 8.75794, 16.4464, 7.41141, 8.75794, 16.4464, 7.41141, 11.2579, 19.1964, 7.41141, 11.2579, 19.1964, 7.41141, 8.75794, 28.6964, 7.41141, 8.75794, 28.6964, 7.41141, 11.2579, 31.1964, 7.41141, 11.2579, 31.1964, 7.41141, 8.75794, 28.9464, -0.588592, 9.00794, 28.9464, -0.588592, 11.0079, 30.9464, -0.588592, 11.0079, 30.9464, -0.588592, 9.00794, 16.4464, 7.41141, 24.7579, 16.4464, 7.41141, 27.5079, 19.1964, 7.41141, 27.5079, 19.1964, 7.41141, 24.7579, 28.6964, 7.41141, 24.7579, 28.6964, 7.41141, 27.2579, 31.1964, 7.41141, 27.2579, 31.1964, 7.41141, 24.7579, 16.9464, -0.588592, 25.0079, 16.9464, -0.588592, 27.0079, 18.9464, -0.588592, 27.0079, 18.9464, -0.588592, 25.0079) +polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(11, 10, 8), PackedInt32Array(8, 10, 9), PackedInt32Array(15, 14, 12), PackedInt32Array(12, 14, 13), PackedInt32Array(17, 16, 18), PackedInt32Array(18, 16, 19), PackedInt32Array(19, 16, 20), PackedInt32Array(20, 16, 21), PackedInt32Array(24, 23, 22), PackedInt32Array(27, 26, 25), PackedInt32Array(30, 29, 28), PackedInt32Array(33, 32, 31), PackedInt32Array(36, 35, 34), PackedInt32Array(38, 37, 39), PackedInt32Array(39, 37, 40), PackedInt32Array(40, 37, 42), PackedInt32Array(40, 42, 41), PackedInt32Array(45, 44, 43), PackedInt32Array(48, 47, 46), PackedInt32Array(51, 50, 49), PackedInt32Array(54, 53, 52), PackedInt32Array(57, 56, 55), PackedInt32Array(60, 59, 58), PackedInt32Array(63, 62, 61), PackedInt32Array(66, 65, 64), PackedInt32Array(69, 68, 67), PackedInt32Array(71, 70, 72), PackedInt32Array(72, 70, 73), PackedInt32Array(73, 70, 75), PackedInt32Array(73, 75, 74), PackedInt32Array(74, 76, 73), PackedInt32Array(79, 78, 77), PackedInt32Array(82, 81, 80), PackedInt32Array(85, 84, 83), PackedInt32Array(88, 87, 86), PackedInt32Array(90, 89, 15), PackedInt32Array(93, 92, 91), PackedInt32Array(96, 95, 94), PackedInt32Array(99, 98, 97), PackedInt32Array(102, 101, 100), PackedInt32Array(105, 104, 103), PackedInt32Array(108, 107, 106), PackedInt32Array(111, 110, 109), PackedInt32Array(113, 112, 114), PackedInt32Array(114, 112, 115), PackedInt32Array(115, 112, 117), PackedInt32Array(115, 117, 116), PackedInt32Array(116, 118, 115), PackedInt32Array(121, 120, 119), PackedInt32Array(124, 123, 122), PackedInt32Array(127, 126, 125), PackedInt32Array(129, 128, 130), PackedInt32Array(130, 128, 131), PackedInt32Array(131, 128, 133), PackedInt32Array(131, 133, 132), PackedInt32Array(132, 134, 131), PackedInt32Array(137, 136, 135), PackedInt32Array(140, 139, 138), PackedInt32Array(143, 142, 141), PackedInt32Array(146, 145, 144), PackedInt32Array(149, 148, 147), PackedInt32Array(151, 150, 152), PackedInt32Array(152, 150, 153), PackedInt32Array(153, 150, 154), PackedInt32Array(154, 150, 155), PackedInt32Array(157, 156, 158), PackedInt32Array(158, 156, 159), PackedInt32Array(159, 156, 160), PackedInt32Array(160, 156, 161), PackedInt32Array(162, 164, 163), PackedInt32Array(167, 166, 165), PackedInt32Array(170, 169, 168), PackedInt32Array(172, 171, 11), PackedInt32Array(11, 171, 30), PackedInt32Array(11, 30, 10), PackedInt32Array(10, 30, 28), PackedInt32Array(173, 8, 174), PackedInt32Array(174, 8, 175), PackedInt32Array(175, 8, 176), PackedInt32Array(176, 8, 9), PackedInt32Array(178, 177, 179), PackedInt32Array(179, 177, 33), PackedInt32Array(179, 33, 31), PackedInt32Array(179, 31, 180), PackedInt32Array(182, 181, 183), PackedInt32Array(183, 181, 186), PackedInt32Array(183, 186, 184), PackedInt32Array(184, 186, 185), PackedInt32Array(187, 189, 188), PackedInt32Array(191, 190, 192), PackedInt32Array(192, 190, 79), PackedInt32Array(192, 79, 193), PackedInt32Array(193, 79, 77), PackedInt32Array(195, 194, 196), PackedInt32Array(196, 194, 197), PackedInt32Array(200, 199, 198), PackedInt32Array(203, 202, 201), PackedInt32Array(206, 205, 204), PackedInt32Array(209, 208, 207), PackedInt32Array(212, 211, 210), PackedInt32Array(215, 214, 213), PackedInt32Array(218, 217, 216), PackedInt32Array(221, 220, 219), PackedInt32Array(224, 223, 222), PackedInt32Array(226, 225, 0), PackedInt32Array(0, 225, 85), PackedInt32Array(0, 85, 83), PackedInt32Array(0, 83, 3), PackedInt32Array(229, 228, 227), PackedInt32Array(231, 230, 232), PackedInt32Array(232, 230, 233), PackedInt32Array(233, 230, 235), PackedInt32Array(233, 235, 234), PackedInt32Array(237, 236, 238), PackedInt32Array(238, 236, 239), PackedInt32Array(242, 241, 240), PackedInt32Array(245, 244, 243), PackedInt32Array(247, 246, 248), PackedInt32Array(248, 246, 4), PackedInt32Array(4, 246, 249), PackedInt32Array(4, 249, 7), PackedInt32Array(252, 251, 250), PackedInt32Array(254, 253, 255), PackedInt32Array(255, 253, 258), PackedInt32Array(255, 258, 256), PackedInt32Array(256, 258, 257), PackedInt32Array(261, 260, 259), PackedInt32Array(264, 263, 262), PackedInt32Array(267, 266, 265), PackedInt32Array(270, 269, 268), PackedInt32Array(272, 271, 13), PackedInt32Array(274, 273, 275), PackedInt32Array(275, 273, 276), PackedInt32Array(276, 273, 278), PackedInt32Array(276, 278, 277), PackedInt32Array(281, 280, 279), PackedInt32Array(284, 283, 282), PackedInt32Array(286, 285, 287), PackedInt32Array(287, 285, 288), PackedInt32Array(288, 285, 290), PackedInt32Array(288, 290, 289), PackedInt32Array(292, 291, 293), PackedInt32Array(293, 291, 100), PackedInt32Array(100, 291, 102), PackedInt32Array(102, 291, 294), PackedInt32Array(296, 295, 297), PackedInt32Array(297, 295, 105), PackedInt32Array(297, 105, 289), PackedInt32Array(289, 105, 103), PackedInt32Array(299, 298, 300), PackedInt32Array(300, 298, 108), PackedInt32Array(300, 108, 301), PackedInt32Array(301, 108, 106), PackedInt32Array(303, 302, 304), PackedInt32Array(304, 302, 125), PackedInt32Array(125, 302, 305), PackedInt32Array(125, 305, 127), PackedInt32Array(308, 307, 306), PackedInt32Array(311, 310, 309), PackedInt32Array(314, 313, 312), PackedInt32Array(317, 316, 315), PackedInt32Array(320, 319, 318), PackedInt32Array(141, 322, 321), PackedInt32Array(321, 322, 315), PackedInt32Array(324, 24, 168), PackedInt32Array(168, 24, 22), PackedInt32Array(168, 22, 323), PackedInt32Array(168, 323, 170), PackedInt32Array(326, 27, 165), PackedInt32Array(165, 27, 25), PackedInt32Array(165, 25, 325), PackedInt32Array(165, 325, 167), PackedInt32Array(235, 327, 234), PackedInt32Array(234, 327, 43), PackedInt32Array(128, 34, 133), PackedInt32Array(328, 184, 185), PackedInt32Array(185, 36, 328), PackedInt32Array(328, 36, 329), PackedInt32Array(329, 36, 34), PackedInt32Array(329, 34, 128), PackedInt32Array(227, 3, 330), PackedInt32Array(330, 3, 83), PackedInt32Array(331, 45, 222), PackedInt32Array(222, 45, 43), PackedInt32Array(222, 43, 327), PackedInt32Array(222, 327, 224), PackedInt32Array(333, 48, 219), PackedInt32Array(219, 48, 46), PackedInt32Array(219, 46, 332), PackedInt32Array(219, 332, 221), PackedInt32Array(335, 51, 216), PackedInt32Array(216, 51, 49), PackedInt32Array(216, 49, 334), PackedInt32Array(216, 334, 218), PackedInt32Array(337, 54, 213), PackedInt32Array(213, 54, 52), PackedInt32Array(213, 52, 336), PackedInt32Array(213, 336, 215), PackedInt32Array(339, 57, 210), PackedInt32Array(210, 57, 55), PackedInt32Array(210, 55, 338), PackedInt32Array(210, 338, 212), PackedInt32Array(341, 60, 207), PackedInt32Array(207, 60, 58), PackedInt32Array(207, 58, 340), PackedInt32Array(207, 340, 209), PackedInt32Array(343, 63, 204), PackedInt32Array(204, 63, 61), PackedInt32Array(204, 61, 342), PackedInt32Array(204, 342, 206), PackedInt32Array(345, 66, 201), PackedInt32Array(201, 66, 64), PackedInt32Array(201, 64, 344), PackedInt32Array(201, 344, 203), PackedInt32Array(347, 69, 198), PackedInt32Array(198, 69, 67), PackedInt32Array(198, 67, 346), PackedInt32Array(198, 346, 200), PackedInt32Array(147, 349, 348), PackedInt32Array(348, 349, 309), PackedInt32Array(55, 337, 338), PackedInt32Array(338, 337, 213), PackedInt32Array(210, 340, 339), PackedInt32Array(339, 340, 58), PackedInt32Array(350, 240, 239), PackedInt32Array(61, 341, 342), PackedInt32Array(342, 341, 207), PackedInt32Array(52, 335, 336), PackedInt32Array(336, 335, 216), PackedInt32Array(301, 106, 285), PackedInt32Array(285, 106, 290), PackedInt32Array(350, 124, 240), PackedInt32Array(240, 124, 122), PackedInt32Array(240, 122, 351), PackedInt32Array(240, 351, 242), PackedInt32Array(219, 334, 333), PackedInt32Array(333, 334, 49), PackedInt32Array(353, 352, 236), PackedInt32Array(236, 352, 239), PackedInt32Array(239, 352, 350), PackedInt32Array(330, 82, 227), PackedInt32Array(227, 82, 80), PackedInt32Array(227, 80, 354), PackedInt32Array(227, 354, 229), PackedInt32Array(201, 346, 345), PackedInt32Array(345, 346, 67), PackedInt32Array(41, 233, 40), PackedInt32Array(40, 233, 234), PackedInt32Array(144, 356, 355), PackedInt32Array(355, 356, 312), PackedInt32Array(204, 344, 343), PackedInt32Array(343, 344, 64), PackedInt32Array(357, 121, 243), PackedInt32Array(243, 121, 119), PackedInt32Array(243, 119, 358), PackedInt32Array(243, 358, 245), PackedInt32Array(290, 297, 289), PackedInt32Array(359, 111, 250), PackedInt32Array(250, 111, 109), PackedInt32Array(250, 109, 360), PackedInt32Array(250, 360, 252), PackedInt32Array(14, 88, 13), PackedInt32Array(13, 88, 86), PackedInt32Array(13, 86, 361), PackedInt32Array(13, 361, 272), PackedInt32Array(257, 90, 268), PackedInt32Array(268, 90, 15), PackedInt32Array(268, 15, 12), PackedInt32Array(268, 12, 270), PackedInt32Array(362, 99, 259), PackedInt32Array(259, 99, 97), PackedInt32Array(259, 97, 363), PackedInt32Array(259, 363, 261), PackedInt32Array(364, 96, 262), PackedInt32Array(262, 96, 94), PackedInt32Array(262, 94, 365), PackedInt32Array(262, 365, 264), PackedInt32Array(175, 176, 366), PackedInt32Array(366, 176, 367), PackedInt32Array(250, 117, 359), PackedInt32Array(359, 117, 112), PackedInt32Array(277, 279, 276), PackedInt32Array(75, 70, 77), PackedInt32Array(77, 70, 193), PackedInt32Array(259, 255, 362), PackedInt32Array(362, 255, 256), PackedInt32Array(369, 368, 370), PackedInt32Array(370, 368, 281), PackedInt32Array(370, 281, 279), PackedInt32Array(370, 279, 277), PackedInt32Array(194, 192, 371), PackedInt32Array(371, 192, 193), PackedInt32Array(243, 351, 357), PackedInt32Array(357, 351, 122), PackedInt32Array(42, 353, 41), PackedInt32Array(41, 353, 236), PackedInt32Array(372, 149, 306), PackedInt32Array(306, 149, 147), PackedInt32Array(306, 147, 348), PackedInt32Array(306, 348, 308), PackedInt32Array(349, 146, 309), PackedInt32Array(309, 146, 144), PackedInt32Array(309, 144, 355), PackedInt32Array(309, 355, 311), PackedInt32Array(356, 143, 312), PackedInt32Array(312, 143, 141), PackedInt32Array(312, 141, 321), PackedInt32Array(312, 321, 314), PackedInt32Array(322, 140, 315), PackedInt32Array(315, 140, 138), PackedInt32Array(315, 138, 373), PackedInt32Array(315, 373, 317), PackedInt32Array(374, 137, 318), PackedInt32Array(318, 137, 135), PackedInt32Array(318, 135, 375), PackedInt32Array(318, 375, 320), PackedInt32Array(135, 102, 375), PackedInt32Array(375, 102, 294), PackedInt32Array(94, 93, 365), PackedInt32Array(365, 93, 265), PackedInt32Array(165, 164, 326), PackedInt32Array(305, 302, 37), PackedInt32Array(37, 302, 42), PackedInt32Array(25, 324, 325), PackedInt32Array(325, 324, 168), PackedInt32Array(222, 332, 331), PackedInt32Array(331, 332, 46), PackedInt32Array(22, 19, 323), PackedInt32Array(323, 19, 20), PackedInt32Array(198, 197, 347), PackedInt32Array(153, 154, 156), PackedInt32Array(156, 154, 161), PackedInt32Array(372, 306, 150), PackedInt32Array(150, 306, 155), PackedInt32Array(86, 278, 361), PackedInt32Array(361, 278, 273), PackedInt32Array(159, 160, 16), PackedInt32Array(16, 160, 21), PackedInt32Array(369, 376, 368), PackedInt32Array(368, 376, 282), PackedInt32Array(378, 377, 379), PackedInt32Array(379, 377, 162), PackedInt32Array(162, 377, 164), PackedInt32Array(164, 377, 326), PackedInt32Array(381, 380, 382), PackedInt32Array(382, 380, 187), PackedInt32Array(187, 380, 189), PackedInt32Array(189, 380, 74), PackedInt32Array(384, 383, 91), PackedInt32Array(91, 383, 267), PackedInt32Array(91, 267, 265), PackedInt32Array(91, 265, 93), PackedInt32Array(97, 364, 363), PackedInt32Array(363, 364, 262), PackedInt32Array(20, 21, 28), PackedInt32Array(28, 21, 10), PackedInt32Array(176, 9, 161), PackedInt32Array(161, 9, 160), PackedInt32Array(354, 80, 230), PackedInt32Array(230, 80, 235), PackedInt32Array(385, 367, 155), PackedInt32Array(155, 367, 154), PackedInt32Array(133, 179, 132), PackedInt32Array(132, 179, 180), PackedInt32Array(385, 386, 367), PackedInt32Array(367, 386, 366), PackedInt32Array(366, 386, 31), PackedInt32Array(31, 386, 180), PackedInt32Array(75, 189, 74), PackedInt32Array(268, 256, 257), PackedInt32Array(249, 116, 7), PackedInt32Array(7, 116, 117), PackedInt32Array(284, 282, 387), PackedInt32Array(387, 282, 376), PackedInt32Array(387, 376, 300), PackedInt32Array(387, 300, 301), PackedInt32Array(318, 373, 374), PackedInt32Array(374, 373, 138), PackedInt32Array(289, 103, 291), PackedInt32Array(291, 103, 294), PackedInt32Array(109, 277, 360), PackedInt32Array(360, 277, 278), PackedInt32Array(119, 249, 358), PackedInt32Array(358, 249, 246), PackedInt32Array(184, 127, 183), PackedInt32Array(183, 127, 305), PackedInt32Array(371, 388, 194), PackedInt32Array(194, 388, 197), PackedInt32Array(197, 388, 347), PackedInt32Array(390, 389, 391), PackedInt32Array(391, 389, 392), PackedInt32Array(394, 393, 395), PackedInt32Array(395, 393, 396), PackedInt32Array(399, 398, 400), PackedInt32Array(400, 398, 397), PackedInt32Array(403, 402, 401), PackedInt32Array(405, 404, 406), PackedInt32Array(406, 404, 407), PackedInt32Array(409, 408, 410), PackedInt32Array(410, 408, 411), PackedInt32Array(399, 412, 398), PackedInt32Array(414, 413, 415), PackedInt32Array(415, 413, 417), PackedInt32Array(415, 417, 416), PackedInt32Array(421, 420, 418), PackedInt32Array(418, 420, 419), PackedInt32Array(423, 422, 424), PackedInt32Array(424, 422, 425), PackedInt32Array(430, 429, 431), PackedInt32Array(431, 429, 426), PackedInt32Array(426, 429, 427), PackedInt32Array(427, 429, 428), PackedInt32Array(434, 433, 432), PackedInt32Array(435, 440, 436), PackedInt32Array(436, 440, 437), PackedInt32Array(437, 440, 439), PackedInt32Array(437, 439, 438), PackedInt32Array(442, 441, 443), PackedInt32Array(443, 441, 444), PackedInt32Array(446, 445, 447), PackedInt32Array(447, 445, 448), PackedInt32Array(448, 445, 450), PackedInt32Array(448, 450, 449), PackedInt32Array(453, 452, 451), PackedInt32Array(456, 455, 454), PackedInt32Array(459, 458, 457), PackedInt32Array(462, 461, 460), PackedInt32Array(465, 464, 463), PackedInt32Array(468, 467, 466), PackedInt32Array(470, 469, 471), PackedInt32Array(471, 469, 472), PackedInt32Array(473, 401, 474), PackedInt32Array(474, 401, 402), PackedInt32Array(477, 476, 475), PackedInt32Array(479, 478, 480), PackedInt32Array(480, 478, 481), PackedInt32Array(481, 478, 483), PackedInt32Array(481, 483, 482), PackedInt32Array(485, 484, 486), PackedInt32Array(486, 484, 487), PackedInt32Array(487, 484, 489), PackedInt32Array(487, 489, 488), PackedInt32Array(495, 494, 490), PackedInt32Array(490, 494, 493), PackedInt32Array(490, 493, 492), PackedInt32Array(490, 492, 491), PackedInt32Array(496, 500, 497), PackedInt32Array(497, 500, 498), PackedInt32Array(498, 500, 499), PackedInt32Array(503, 502, 501), PackedInt32Array(506, 505, 504), PackedInt32Array(509, 508, 507), PackedInt32Array(512, 511, 510), PackedInt32Array(514, 513, 515), PackedInt32Array(515, 513, 518), PackedInt32Array(515, 518, 516), PackedInt32Array(516, 518, 517), PackedInt32Array(520, 519, 521), PackedInt32Array(521, 519, 524), PackedInt32Array(521, 524, 522), PackedInt32Array(522, 524, 523), PackedInt32Array(526, 525, 527), PackedInt32Array(527, 525, 530), PackedInt32Array(527, 530, 528), PackedInt32Array(528, 530, 529), PackedInt32Array(532, 531, 533), PackedInt32Array(533, 531, 534), PackedInt32Array(537, 536, 535), PackedInt32Array(420, 539, 538), PackedInt32Array(541, 540, 421), PackedInt32Array(544, 543, 542), PackedInt32Array(547, 546, 545), PackedInt32Array(550, 549, 548), PackedInt32Array(553, 552, 551), PackedInt32Array(556, 555, 554), PackedInt32Array(559, 558, 557), PackedInt32Array(562, 561, 560), PackedInt32Array(565, 564, 563), PackedInt32Array(568, 567, 566), PackedInt32Array(572, 571, 411), PackedInt32Array(411, 571, 570), PackedInt32Array(411, 570, 569), PackedInt32Array(573, 412, 574), PackedInt32Array(574, 412, 575), PackedInt32Array(575, 412, 399), PackedInt32Array(577, 576, 578), PackedInt32Array(578, 576, 579), PackedInt32Array(581, 580, 582), PackedInt32Array(582, 580, 583), PackedInt32Array(583, 580, 469), PackedInt32Array(586, 585, 584), PackedInt32Array(589, 588, 587), PackedInt32Array(592, 591, 590), PackedInt32Array(595, 594, 593), PackedInt32Array(598, 597, 596), PackedInt32Array(601, 600, 599), PackedInt32Array(605, 604, 498), PackedInt32Array(498, 604, 603), PackedInt32Array(498, 603, 602), PackedInt32Array(498, 602, 497), PackedInt32Array(545, 608, 606), PackedInt32Array(606, 608, 607), PackedInt32Array(610, 609, 499), PackedInt32Array(613, 612, 611), PackedInt32Array(615, 614, 616), PackedInt32Array(616, 614, 617), PackedInt32Array(619, 618, 620), PackedInt32Array(620, 618, 621), PackedInt32Array(623, 622, 624), PackedInt32Array(624, 622, 625), PackedInt32Array(628, 627, 626), PackedInt32Array(557, 631, 629), PackedInt32Array(629, 631, 630), PackedInt32Array(633, 632, 626), PackedInt32Array(636, 635, 634), PackedInt32Array(638, 637, 403), PackedInt32Array(403, 637, 639), PackedInt32Array(403, 639, 402), PackedInt32Array(640, 645, 641), PackedInt32Array(641, 645, 642), PackedInt32Array(642, 645, 643), PackedInt32Array(643, 645, 644), PackedInt32Array(643, 644, 646), PackedInt32Array(648, 647, 649), PackedInt32Array(649, 647, 650), PackedInt32Array(650, 647, 406), PackedInt32Array(650, 406, 407), PackedInt32Array(653, 652, 651), PackedInt32Array(656, 655, 654), PackedInt32Array(659, 658, 657), PackedInt32Array(614, 444, 617), PackedInt32Array(617, 444, 441), PackedInt32Array(617, 441, 392), PackedInt32Array(551, 662, 660), PackedInt32Array(660, 662, 661), PackedInt32Array(664, 663, 665), PackedInt32Array(665, 663, 426), PackedInt32Array(665, 426, 427), PackedInt32Array(665, 427, 666), PackedInt32Array(668, 667, 630), PackedInt32Array(671, 670, 669), PackedInt32Array(673, 672, 661), PackedInt32Array(676, 675, 674), PackedInt32Array(678, 677, 607), PackedInt32Array(681, 680, 679), PackedInt32Array(683, 682, 419), PackedInt32Array(437, 438, 625), PackedInt32Array(685, 684, 501), PackedInt32Array(627, 613, 626), PackedInt32Array(626, 613, 611), PackedInt32Array(626, 611, 686), PackedInt32Array(626, 686, 633), PackedInt32Array(687, 610, 634), PackedInt32Array(634, 610, 499), PackedInt32Array(634, 499, 688), PackedInt32Array(634, 688, 636), PackedInt32Array(496, 601, 451), PackedInt32Array(451, 601, 599), PackedInt32Array(451, 599, 689), PackedInt32Array(451, 689, 453), PackedInt32Array(690, 598, 454), PackedInt32Array(454, 598, 596), PackedInt32Array(454, 596, 691), PackedInt32Array(454, 691, 456), PackedInt32Array(692, 595, 457), PackedInt32Array(457, 595, 593), PackedInt32Array(457, 593, 693), PackedInt32Array(457, 693, 459), PackedInt32Array(694, 592, 460), PackedInt32Array(460, 592, 590), PackedInt32Array(460, 590, 695), PackedInt32Array(460, 695, 462), PackedInt32Array(696, 589, 463), PackedInt32Array(463, 589, 587), PackedInt32Array(463, 587, 697), PackedInt32Array(463, 697, 465), PackedInt32Array(698, 586, 466), PackedInt32Array(466, 586, 584), PackedInt32Array(466, 584, 699), PackedInt32Array(466, 699, 468), PackedInt32Array(531, 527, 700), PackedInt32Array(700, 527, 528), PackedInt32Array(702, 475, 701), PackedInt32Array(703, 568, 651), PackedInt32Array(651, 568, 566), PackedInt32Array(651, 566, 704), PackedInt32Array(651, 704, 653), PackedInt32Array(705, 565, 654), PackedInt32Array(654, 565, 563), PackedInt32Array(654, 563, 706), PackedInt32Array(654, 706, 656), PackedInt32Array(707, 562, 657), PackedInt32Array(657, 562, 560), PackedInt32Array(657, 560, 708), PackedInt32Array(657, 708, 659), PackedInt32Array(702, 537, 475), PackedInt32Array(475, 537, 535), PackedInt32Array(475, 535, 709), PackedInt32Array(475, 709, 477), PackedInt32Array(684, 512, 501), PackedInt32Array(501, 512, 510), PackedInt32Array(501, 510, 710), PackedInt32Array(501, 710, 503), PackedInt32Array(711, 509, 504), PackedInt32Array(504, 509, 507), PackedInt32Array(504, 507, 712), PackedInt32Array(504, 712, 506), PackedInt32Array(560, 713, 708), PackedInt32Array(708, 713, 701), PackedInt32Array(430, 431, 413), PackedInt32Array(413, 431, 714), PackedInt32Array(413, 714, 425), PackedInt32Array(413, 425, 417), PackedInt32Array(580, 579, 469), PackedInt32Array(657, 706, 707), PackedInt32Array(707, 706, 563), PackedInt32Array(631, 556, 630), PackedInt32Array(630, 556, 554), PackedInt32Array(630, 554, 715), PackedInt32Array(630, 715, 668), PackedInt32Array(716, 553, 669), PackedInt32Array(669, 553, 551), PackedInt32Array(669, 551, 660), PackedInt32Array(669, 660, 671), PackedInt32Array(662, 550, 661), PackedInt32Array(661, 550, 548), PackedInt32Array(661, 548, 717), PackedInt32Array(661, 717, 673), PackedInt32Array(718, 547, 674), PackedInt32Array(674, 547, 545), PackedInt32Array(674, 545, 606), PackedInt32Array(674, 606, 676), PackedInt32Array(608, 544, 607), PackedInt32Array(607, 544, 542), PackedInt32Array(607, 542, 719), PackedInt32Array(607, 719, 678), PackedInt32Array(720, 541, 679), PackedInt32Array(679, 541, 421), PackedInt32Array(679, 421, 418), PackedInt32Array(679, 418, 681), PackedInt32Array(434, 432, 538), PackedInt32Array(538, 432, 683), PackedInt32Array(538, 683, 419), PackedInt32Array(538, 419, 420), PackedInt32Array(454, 689, 690), PackedInt32Array(690, 689, 599), PackedInt32Array(700, 528, 478), PackedInt32Array(478, 528, 483), PackedInt32Array(482, 522, 484), PackedInt32Array(484, 522, 489), PackedInt32Array(531, 700, 721), PackedInt32Array(535, 534, 709), PackedInt32Array(722, 403, 576), PackedInt32Array(576, 403, 472), PackedInt32Array(576, 472, 469), PackedInt32Array(559, 557, 713), PackedInt32Array(713, 557, 629), PackedInt32Array(713, 629, 701), PackedInt32Array(701, 629, 702), PackedInt32Array(724, 723, 725), PackedInt32Array(725, 723, 726), PackedInt32Array(654, 704, 705), PackedInt32Array(705, 704, 566), PackedInt32Array(596, 692, 691), PackedInt32Array(691, 692, 457), PackedInt32Array(728, 727, 729), PackedInt32Array(729, 727, 730), PackedInt32Array(548, 718, 717), PackedInt32Array(717, 718, 674), PackedInt32Array(466, 697, 698), PackedInt32Array(698, 697, 587), PackedInt32Array(685, 491, 516), PackedInt32Array(516, 491, 488), PackedInt32Array(665, 666, 731), PackedInt32Array(731, 666, 732), PackedInt32Array(573, 572, 412), PackedInt32Array(412, 572, 411), PackedInt32Array(499, 500, 688), PackedInt32Array(424, 425, 733), PackedInt32Array(733, 425, 714), PackedInt32Array(735, 734, 664), PackedInt32Array(664, 734, 663), PackedInt32Array(663, 734, 714), PackedInt32Array(460, 693, 694), PackedInt32Array(694, 693, 593), PackedInt32Array(723, 736, 730), PackedInt32Array(437, 625, 622), PackedInt32Array(510, 711, 710), PackedInt32Array(710, 711, 504), PackedInt32Array(496, 451, 500), PackedInt32Array(483, 521, 482), PackedInt32Array(482, 521, 522), PackedInt32Array(579, 576, 469), PackedInt32Array(738, 737, 739), PackedInt32Array(739, 737, 740), PackedInt32Array(740, 737, 712), PackedInt32Array(740, 712, 507), PackedInt32Array(542, 720, 719), PackedInt32Array(719, 720, 679), PackedInt32Array(742, 628, 741), PackedInt32Array(744, 743, 736), PackedInt32Array(736, 743, 730), PackedInt32Array(721, 745, 531), PackedInt32Array(531, 745, 534), PackedInt32Array(534, 745, 709), PackedInt32Array(741, 746, 742), PackedInt32Array(742, 746, 747), PackedInt32Array(747, 746, 444), PackedInt32Array(747, 444, 614), PackedInt32Array(748, 391, 749), PackedInt32Array(749, 391, 392), PackedInt32Array(751, 750, 396), PackedInt32Array(396, 750, 399), PackedInt32Array(396, 399, 400), PackedInt32Array(634, 686, 687), PackedInt32Array(687, 686, 611), PackedInt32Array(741, 628, 445), PackedInt32Array(445, 628, 450), PackedInt32Array(450, 628, 626), PackedInt32Array(554, 716, 715), PackedInt32Array(715, 716, 669), PackedInt32Array(584, 583, 699), PackedInt32Array(699, 583, 469), PackedInt32Array(437, 622, 621), PackedInt32Array(398, 752, 397), PackedInt32Array(489, 515, 488), PackedInt32Array(488, 515, 516), PackedInt32Array(501, 490, 685), PackedInt32Array(685, 490, 491), PackedInt32Array(644, 645, 647), PackedInt32Array(647, 645, 406), PackedInt32Array(463, 695, 696), PackedInt32Array(696, 695, 590), PackedInt32Array(396, 393, 751), PackedInt32Array(751, 393, 403), PackedInt32Array(751, 403, 722), PackedInt32Array(441, 749, 392), PackedInt32Array(727, 754, 753), PackedInt32Array(397, 726, 753), PackedInt32Array(753, 726, 723), PackedInt32Array(753, 723, 730), PackedInt32Array(753, 730, 727), PackedInt32Array(640, 744, 645), PackedInt32Array(645, 744, 736), PackedInt32Array(397, 753, 400), PackedInt32Array(411, 569, 410), PackedInt32Array(410, 569, 703), PackedInt32Array(410, 703, 651), PackedInt32Array(437, 621, 618), PackedInt32Array(755, 437, 392), PackedInt32Array(392, 437, 618), PackedInt32Array(392, 618, 617), PackedInt32Array(756, 726, 757), PackedInt32Array(757, 726, 397), PackedInt32Array(403, 401, 472), PackedInt32Array(437, 755, 734), PackedInt32Array(734, 755, 733), PackedInt32Array(734, 733, 714), PackedInt32Array(761, 760, 758), PackedInt32Array(758, 760, 759), PackedInt32Array(765, 764, 762), PackedInt32Array(762, 764, 763), PackedInt32Array(769, 768, 766), PackedInt32Array(766, 768, 767), PackedInt32Array(773, 772, 770), PackedInt32Array(770, 772, 771), PackedInt32Array(777, 776, 774), PackedInt32Array(774, 776, 775), PackedInt32Array(781, 780, 778), PackedInt32Array(778, 780, 779)] +sample_partition_type = 2 +geometry_parsed_geometry_type = 1 +geometry_collision_mask = 2147483648 +cell_height = 1.0 +agent_height = 2.0 +agent_max_climb = 1.0 +region_min_size = 8.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_xw4dv"] +size = Vector3(134.778, 1, 155.402) + +[node name="Floor01" type="Node3D"] +script = ExtResource("1_hi8ea") + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +unique_name_in_owner = true +navigation_mesh = SubResource("NavigationMesh_xw4dv") + +[node name="DungeonGenerator" type="Node3D" parent="NavigationRegion3D"] +unique_name_in_owner = true +script = ExtResource("2_m20ji") +room_scenes = Array[PackedScene]([ExtResource("5_em4xt")]) +corridor_room_scene = ExtResource("7_yjf3p") +dungeon_size = Vector3i(40, 1, 40) +voxel_scale = Vector3(4, 4, 4) +generate_on_ready = false +heuristic_scale = 3.0 +corridor_cost_multiplier = 0.1 +hide_debug_visuals_for_all_generated_rooms = false + +[node name="Antechamber A" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_es1bj")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 24, 0, 18) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Antechamber B" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("8_6nrfy")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -36) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Pit Room A" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("9_qa3lj")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 14) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Balcony Room A" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("10_qhbwi")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4, 0, -62) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Statue Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("11_fs8rp")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 44, 0, 16) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="BasinRoom" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("3_41yfs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 44) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Column Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("12_13oyp")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -2, 0, -4) +show_debug_in_game = true +show_grid_aabb_with_doors = true + +[node name="Floor Exit A_0" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("5_em4xt")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -34, 0, -70) + +[node name="Corridor_1" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 14) + +[node name="Corridor_2" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 10) + +[node name="Corridor_3" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 6) + +[node name="Corridor_4" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 2) + +[node name="Corridor_5" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -2) + +[node name="Corridor_6" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -6) + +[node name="Corridor_7" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -10) + +[node name="Corridor_8" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -14) + +[node name="Corridor_9" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -18) + +[node name="Corridor_10" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -22) + +[node name="Corridor_11" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -26) + +[node name="Corridor_12" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -30) + +[node name="Corridor_13" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, -34) + +[node name="Corridor_14" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -34) + +[node name="Corridor_15" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -34) + +[node name="Corridor_16" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -34) + +[node name="Corridor_17" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -34) + +[node name="Corridor_18" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -34) + +[node name="Corridor_19" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -30) + +[node name="Corridor_20" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -30) + +[node name="Corridor_21" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -30) + +[node name="Corridor_22" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -26) + +[node name="Corridor_23" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -26) + +[node name="Corridor_24" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -22) + +[node name="Corridor_25" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -18) + +[node name="Corridor_26" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -18) + +[node name="Corridor_27" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -14) + +[node name="Corridor_28" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -10) + +[node name="Corridor_29" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -6) + +[node name="Corridor_30" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -22) + +[node name="Corridor_31" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -26) + +[node name="Corridor_32" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -30) + +[node name="Corridor_33" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -34) + +[node name="Corridor_34" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -38) + +[node name="Corridor_35" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -42) + +[node name="Corridor_36" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -46) + +[node name="Corridor_37" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -50) + +[node name="Corridor_38" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -50) + +[node name="Corridor_39" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -54) + +[node name="Corridor_40" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -54) + +[node name="Corridor_41" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -58) + +[node name="Corridor_42" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -58) + +[node name="Corridor_43" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -58) + +[node name="Corridor_44" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -58) + +[node name="Corridor_45" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -58) + +[node name="Corridor_46" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -58) + +[node name="Corridor_47" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -62) + +[node name="Corridor_48" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, -6) + +[node name="Corridor_49" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, -6) + +[node name="Corridor_50" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, -6) + +[node name="Corridor_51" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, -2) + +[node name="Corridor_52" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, -2) + +[node name="Corridor_53" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 2) + +[node name="Corridor_54" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 2) + +[node name="Corridor_55" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 6) + +[node name="Corridor_56" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 6) + +[node name="Corridor_57" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0, 6) + +[node name="Corridor_58" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, 6) + +[node name="Corridor_59" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 18) + +[node name="Corridor_60" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 22) + +[node name="Corridor_61" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 18) + +[node name="Corridor_62" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 22) + +[node name="Corridor_63" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 22) + +[node name="Corridor_64" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 22) + +[node name="Corridor_65" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 22) + +[node name="Corridor_66" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 22) + +[node name="Corridor_67" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 22) + +[node name="Corridor_68" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 22) + +[node name="Corridor_69" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, 22) + +[node name="Corridor_70" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 22) + +[node name="Corridor_71" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 22) + +[node name="Corridor_72" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 26) + +[node name="Corridor_73" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 30) + +[node name="Corridor_74" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 34) + +[node name="Corridor_75" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, 34) + +[node name="Corridor_76" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 34) + +[node name="Corridor_77" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, 34) + +[node name="Corridor_78" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, 34) + +[node name="Corridor_79" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 34) + +[node name="Corridor_80" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 14) + +[node name="Corridor_81" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 10) + +[node name="Corridor_82" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 10) + +[node name="Corridor_83" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 6) + +[node name="Corridor_84" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 2) + +[node name="Corridor_85" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -2) + +[node name="Corridor_86" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -6) + +[node name="Corridor_87" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -10) + +[node name="Corridor_88" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -14) + +[node name="Corridor_89" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -18) + +[node name="Corridor_90" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -22) + +[node name="Corridor_91" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -26) + +[node name="Corridor_92" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -30) + +[node name="Corridor_93" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -38) + +[node name="Corridor_94" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -42) + +[node name="Corridor_95" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -46) + +[node name="Corridor_96" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -50) + +[node name="Corridor_97" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -50) + +[node name="Corridor_98" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -54) + +[node name="Corridor_99" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -66) + +[node name="Corridor_100" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_yjf3p")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -70) + +[node name="RoomsContainer" type="Node3D" parent="NavigationRegion3D/DungeonGenerator"] + +[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D"] +collision_layer = 2147483648 +collision_mask = 2147483648 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.35614, -0.797301, -11.2558) +shape = SubResource("BoxShape3D_xw4dv") +disabled = true + +[node name="EnemyDatabase" parent="." instance=ExtResource("19_o4jx7")] +unique_name_in_owner = true +EnemyList = Array[PackedScene]([ExtResource("20_qw3qq"), ExtResource("21_6u31e")]) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor02.tscn b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor02.tscn new file mode 100644 index 00000000..170a00be --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor02.tscn @@ -0,0 +1,343 @@ +[gd_scene load_steps=19 format=3 uid="uid://8oiglrv8q818"] + +[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_6q8cj"] +[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="2_1eowh"] +[ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="5_jomgp"] +[ext_resource type="PackedScene" uid="uid://dhm2lyfkrjugf" path="res://src/map/dungeon/rooms/Set A/11. Long Room.tscn" id="6_feo23"] +[ext_resource type="PackedScene" uid="uid://dn5546yqyntfr" path="res://src/map/dungeon/rooms/Set A/10. Item Transfer Room.tscn" id="6_pq554"] +[ext_resource type="PackedScene" uid="uid://bn4gslp2gk8ds" path="res://src/map/dungeon/rooms/Set A/18. Corridor A.tscn" id="7_355o6"] +[ext_resource type="PackedScene" uid="uid://dhkbvos11tkdw" path="res://src/map/dungeon/rooms/Set A/12. Jump Scare Room.tscn" id="7_qfdg5"] +[ext_resource type="PackedScene" uid="uid://dfpyfpnya0f4u" path="res://src/map/dungeon/rooms/Set A/13. Water Room.tscn" id="8_c8i48"] +[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="8_gh666"] +[ext_resource type="PackedScene" uid="uid://c5eon2dk4ojua" path="res://src/map/dungeon/rooms/Set A/14. Ran's Room.tscn" id="9_3xp6w"] +[ext_resource type="Script" uid="uid://fk3jis6rsipv" path="res://src/map/dungeon/code/corridor.gd" id="9_gw5kq"] +[ext_resource type="PackedScene" uid="uid://crf30tibwsnri" path="res://src/map/dungeon/rooms/Set A/16. Seshat's Room.tscn" id="10_yyu3u"] +[ext_resource type="PackedScene" uid="uid://cw33vpar237pm" path="res://src/map/dungeon/rooms/Set A/17. Gesthemii's Room.tscn" id="11_6q8cj"] +[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="19_3xw4m"] +[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="20_e2hj1"] +[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="21_7a3ox"] + +[sub_resource type="NavigationMesh" id="NavigationMesh_xw4dv"] +vertices = PackedVector3Array(-31.7525, -0.20599, -26.9921, -31.7525, -0.20599, -24.9921, -31.2525, -0.20599, -24.9921, 35.4975, -0.20599, 19.0079, 35.4975, -0.20599, 17.0079, 34.9975, -0.20599, 16.7579, 38.9975, -0.20599, 11.2579, 39.4975, -0.20599, 11.0079, 39.4975, -0.20599, 9.00794, 38.9975, -0.20599, 8.75794, 38.9975, -0.20599, 7.25794, 39.4975, -0.20599, 7.00794, 39.4975, -0.20599, 5.00794, 38.9975, -0.20599, 4.75794, 38.9975, -0.20599, 3.25794, 39.4975, -0.20599, 3.00794, 39.4975, -0.20599, 1.00794, 6.99753, -0.20599, 15.2579, 7.49753, -0.20599, 15.0079, 7.49753, -0.20599, 13.0079, 6.99753, -0.20599, 12.5079, 3.24753, -0.20599, 13.0079, 4.74753, -0.20599, 15.0079, -1.00247, -0.20599, 11.2579, -0.502468, -0.20599, 11.0079, -0.502468, -0.20599, 9.00794, -1.00247, -0.20599, 8.75794, -1.00247, -0.20599, 7.25794, -0.502468, -0.20599, 7.00794, -0.502468, -0.20599, 5.00794, -1.00247, -0.20599, 3.25794, -0.502468, -0.20599, 3.00794, -0.502468, -0.20599, 1.00794, -9.00247, -0.20599, -8.74206, -8.50247, -0.20599, -8.99206, -8.50247, -0.20599, -10.9921, -9.00247, -0.20599, -11.2421, -9.00247, -0.20599, -12.7421, -8.50247, -0.20599, -12.9921, -8.50247, -0.20599, -14.9921, -9.00247, -0.20599, -15.2421, -9.00247, -0.20599, -16.7421, -8.50247, -0.20599, -16.9921, -8.50247, -0.20599, -18.9921, -9.00247, -0.20599, -19.2421, -9.00247, -0.20599, -20.7421, -8.50247, -0.20599, -20.9921, -8.50247, -0.20599, -22.9921, -9.00247, -0.20599, -23.2421, -9.00247, -0.20599, -24.7421, -8.50247, -0.20599, -24.9921, -8.50247, -0.20599, -26.9921, -29.0025, -0.20599, -28.7421, -28.5025, -0.20599, -28.9921, -28.5025, -0.20599, -30.9921, -29.0025, -0.20599, -32.7421, -28.5025, -0.20599, -32.9921, -28.5025, -0.20599, -34.9921, -7.00247, -0.20599, 7.75794, -5.00247, -0.20599, 7.75794, -4.75247, -0.20599, 7.00794, -3.00247, -0.20599, 15.7579, -1.00247, -0.20599, 15.7579, -0.752468, -0.20599, 15.0079, 0.747532, -0.20599, 15.0079, 0.997532, -0.20599, 15.7579, 2.99753, -0.20599, 15.7579, 3.24753, -0.20599, 15.0079, 4.99753, -0.20599, 19.7579, 6.99753, -0.20599, 19.7579, 7.24753, -0.20599, 19.0079, 8.74753, -0.20599, 19.0079, 8.99753, -0.20599, 19.7579, 10.9975, -0.20599, 19.7579, 11.2475, -0.20599, 19.0079, 12.7475, -0.20599, 19.0079, 12.9975, -0.20599, 19.7579, 14.9975, -0.20599, 19.7579, 15.2475, -0.20599, 19.0079, 16.7475, -0.20599, 19.0079, 16.9975, -0.20599, 19.7579, 18.9975, -0.20599, 19.7579, 19.2475, -0.20599, 19.0079, 20.7475, -0.20599, 19.0079, 20.9975, -0.20599, 19.7579, 22.9975, -0.20599, 19.7579, 23.2475, -0.20599, 19.0079, 24.7475, -0.20599, 19.0079, 24.9975, -0.20599, 19.7579, 26.9975, -0.20599, 19.7579, 27.2475, -0.20599, 19.0079, 28.7475, -0.20599, 19.0079, 28.9975, -0.20599, 19.7579, 30.9975, -0.20599, 19.7579, 32.7475, -0.20599, 19.0079, 32.9975, -0.20599, 19.7579, 34.9975, -0.20599, 19.7579, 36.7475, -0.20599, 15.0079, 36.9975, -0.20599, 15.7579, 38.9975, -0.20599, 15.7579, -31.7525, -0.20599, -34.9921, -31.7525, -0.20599, -32.9921, -31.0025, -0.20599, -32.7421, -31.7525, -0.20599, -30.9921, -31.7525, -0.20599, -28.9921, -31.0025, -0.20599, -28.7421, -31.0025, -0.20599, -24.2421, -29.0025, -0.20599, -24.2421, -27.2525, -0.20599, -24.9921, -27.0025, -0.20599, -24.2421, -25.0025, -0.20599, -24.2421, -24.7525, -0.20599, -24.9921, -23.2525, -0.20599, -24.9921, -23.0025, -0.20599, -24.2421, -21.0025, -0.20599, -24.2421, -20.7525, -0.20599, -24.9921, -19.2525, -0.20599, -24.9921, -19.0025, -0.20599, -24.2421, -17.0025, -0.20599, -24.2421, -16.7525, -0.20599, -24.9921, -15.2525, -0.20599, -24.9921, -15.0025, -0.20599, -24.2421, -13.0025, -0.20599, -24.2421, -12.7525, -0.20599, -24.9921, -11.0025, -0.20599, -0.242062, -9.00247, -0.20599, -0.242062, -8.75247, -0.20599, -0.992062, -9.00247, -0.20599, -3.24206, -11.0025, -0.20599, -4.74206, -11.5025, -0.20599, -0.992062, -23.5025, -0.20599, -26.9921, -24.7525, -0.20599, -26.9921, -31.0025, -0.20599, -31.4921, -29.0025, -0.20599, -31.2421, 12.4975, -0.20599, 17.0079, 11.2475, -0.20599, 17.0079, -7.00247, -0.20599, -0.742062, -7.50247, -0.20599, -2.99206, -28.7525, -0.20599, -24.9921, -27.5025, -0.20599, -26.9921, -28.7525, -0.20599, -26.9921, -3.25247, -0.20599, 3.00794, -3.00247, -0.20599, 4.50794, -1.00247, -0.20599, 4.75794, 31.2475, -0.20599, 19.0079, 31.2475, -0.20599, 17.0079, 30.9975, -0.20599, 16.5079, 27.2475, -0.20599, 17.0079, 8.49753, -0.20599, 17.0079, 7.24753, -0.20599, 17.0079, 36.9975, -0.20599, 7.25794, -5.00247, -0.20599, 0.757938, -7.00247, -0.20599, 0.507938, -3.50247, -0.20599, 5.00794, -3.00247, -0.20599, 7.25794, -11.0025, -0.20599, -23.4921, -11.0025, -0.20599, -24.7421, -4.75247, -0.20599, 5.00794, -3.00247, -0.20599, 8.50794, -31.0025, -0.20599, -27.4921, 32.4975, -0.20599, 17.0079, 24.4975, -0.20599, 17.0079, 23.2475, -0.20599, 17.0079, 20.4975, -0.20599, 17.0079, 19.2475, -0.20599, 17.0079, -7.50247, -0.20599, 3.00794, -7.00247, -0.20599, 3.25794, -5.00247, -0.20599, 3.25794, -7.50247, -0.20599, 0.757938, -3.50247, -0.20599, 8.75794, -3.50247, -0.20599, 11.0079, -3.00247, -0.20599, 11.2579, 4.99753, -0.20599, 16.5079, 4.49753, -0.20599, 16.7579, 4.49753, -0.20599, 19.0079, 36.4975, -0.20599, 0.757938, 36.4975, -0.20599, 3.00794, 36.9975, -0.20599, 3.25794, 38.9975, -0.20599, 0.507938, 36.9975, -0.20599, 4.50794, 36.4975, -0.20599, 4.75794, 36.4975, -0.20599, 7.00794, 32.4975, -0.20599, 12.7579, 32.4975, -0.20599, 15.0079, 32.9975, -0.20599, 15.2579, 34.9975, -0.20599, 15.2579, 35.2475, -0.20599, 13.0079, 34.9975, -0.20599, 12.5079, 26.9975, -0.20599, 16.5079, 24.7475, -0.20599, 16.5079, 22.9975, -0.20599, 16.5079, 20.7475, -0.20599, 16.5079, 18.9975, -0.20599, 16.5079, 16.7475, -0.20599, 16.5079, 16.4975, -0.20599, 17.0079, 15.2475, -0.20599, 17.0079, 14.9975, -0.20599, 16.5079, 12.7475, -0.20599, 16.5079, 10.9975, -0.20599, 16.5079, 8.74753, -0.20599, 16.5079, 2.99753, -0.20599, 12.5079, 0.747532, -0.20599, 12.5079, 0.497532, -0.20599, 13.0079, -1.00247, -0.20599, 0.507938, -3.25247, -0.20599, 0.507938, -3.50247, -0.20599, 1.00794, -5.00247, -0.20599, -3.49206, -7.25247, -0.20599, -3.49206, -4.50247, -0.20599, -2.99206, -12.7525, -0.20599, -26.9921, -13.0025, -0.20599, -27.4921, -15.2525, -0.20599, -27.4921, -15.5025, -0.20599, -26.9921, -16.7525, -0.20599, -26.9921, -17.0025, -0.20599, -27.4921, -19.2525, -0.20599, -27.4921, -19.5025, -0.20599, -26.9921, -20.7525, -0.20599, -26.9921, -21.0025, -0.20599, -27.4921, -23.2525, -0.20599, -27.4921, -25.0025, -0.20599, -27.4921, -27.2525, -0.20599, -27.4921, -11.5025, -0.20599, -23.2421, -11.5025, -0.20599, -20.9921, -11.0025, -0.20599, -20.7421, -11.0025, -0.20599, -19.4921, -11.5025, -0.20599, -19.2421, -11.5025, -0.20599, -16.9921, -11.0025, -0.20599, -16.7421, -11.0025, -0.20599, -15.4921, -11.5025, -0.20599, -15.2421, -11.5025, -0.20599, -12.9921, -11.0025, -0.20599, -12.7421, -11.0025, -0.20599, -11.4921, -11.5025, -0.20599, -11.2421, -11.5025, -0.20599, -8.99206, -11.0025, -0.20599, -8.74206, -11.0025, -0.20599, -7.49206, -11.5025, -0.20599, -7.24206, -11.5025, -0.20599, -4.99206, -7.50247, -0.20599, 7.00794, 32.9975, -0.20599, 16.5079, -3.50247, -0.20599, 15.0079, -0.752468, -0.20599, 13.0079, 36.4975, -0.20599, 11.0079, 36.9975, -0.20599, 11.2579, 39.4975, -0.20599, 15.0079, 36.9975, -0.20599, 12.5079, 36.4975, -0.20599, 13.0079, -9.00247, -0.20599, -4.74206, -8.50247, -0.20599, -4.99206, -9.00247, -0.20599, -27.4921, -29.0025, -0.20599, -35.4921, -31.2525, -0.20599, -35.4921, -3.50247, -0.20599, -32.9921, -3.00247, -0.20599, -32.4921, -1.00247, -0.20599, -32.4921, -0.502468, -0.20599, -34.9921, -1.00247, -0.20599, -35.4921, -3.50247, -0.20599, -35.2421, -0.502468, -0.20599, -32.9921, -44.5025, -0.20599, 19.0079, -44.5025, -0.20599, 17.0079, -45.0025, -0.20599, 16.7579, -43.2525, -0.20599, 15.0079, -43.0025, -0.20599, 15.7579, -41.0025, -0.20599, 15.7579, -40.7525, -0.20599, 15.0079, -39.2525, -0.20599, 15.0079, -39.0025, -0.20599, 15.7579, -37.0025, -0.20599, 15.7579, -36.7525, -0.20599, 15.0079, -35.2525, -0.20599, 15.0079, -35.0025, -0.20599, 15.7579, -33.0025, -0.20599, 15.7579, -32.7525, -0.20599, 15.0079, -31.2525, -0.20599, 15.0079, -31.0025, -0.20599, 15.7579, -29.0025, -0.20599, 15.7579, -28.7525, -0.20599, 15.0079, -27.2525, -0.20599, 15.0079, -27.0025, -0.20599, 15.7579, -25.0025, -0.20599, 15.7579, -47.0025, -0.20599, 15.2579, -44.7525, -0.20599, 15.0079, -35.5025, -0.20599, 13.0079, -36.7525, -0.20599, 13.0079, -31.5025, -0.20599, 13.0079, -32.7525, -0.20599, 13.0079, -39.5025, -0.20599, 13.0079, -40.7525, -0.20599, 13.0079, -47.5025, -0.20599, 12.7579, -47.5025, -0.20599, 15.0079, -44.7525, -0.20599, 13.0079, -45.0025, -0.20599, 12.5079, -24.5025, -0.20599, 15.0079, -24.5025, -0.20599, 13.0079, -25.0025, -0.20599, 12.5079, -27.5025, -0.20599, 13.0079, -27.2525, -0.20599, 12.5079, -28.7525, -0.20599, 13.0079, -29.0025, -0.20599, 12.5079, -31.2525, -0.20599, 12.5079, -33.0025, -0.20599, 12.5079, -35.2525, -0.20599, 12.5079, -37.0025, -0.20599, 12.5079, -39.2525, -0.20599, 12.5079, -41.0025, -0.20599, 12.5079, -43.2525, -0.20599, 12.5079, -43.5025, -0.20599, 13.0079, -47.5025, -0.20599, 19.0079, -47.0025, -0.20599, 19.7579, -45.0025, -0.20599, 19.7579, -11.0025, -0.20599, 35.5079, -9.00247, -0.20599, 35.5079, -8.75247, -0.20599, 35.0079, -5.00247, -0.20599, 35.5079, -4.50247, -0.20599, 35.0079, -4.50247, -0.20599, 33.0079, -5.00247, -0.20599, 32.5079, -7.50247, -0.20599, 33.0079, -7.25247, -0.20599, 32.5079, -11.5025, -0.20599, 35.0079, -8.75247, -0.20599, 33.0079, -9.00247, -0.20599, 32.5079, -11.5025, -0.20599, 32.7579, 32.9975, -0.20599, 35.5079, 34.9975, -0.20599, 35.5079, 35.2475, -0.20599, 35.0079, 42.9975, -0.20599, 35.2579, 43.4975, -0.20599, 35.0079, 43.4975, -0.20599, 33.0079, 40.9975, -0.20599, 36.5079, 40.4975, -0.20599, 36.7579, 40.4975, -0.20599, 39.0079, 40.9975, -0.20599, 39.5079, 42.9975, -0.20599, 39.5079, 43.4975, -0.20599, 39.0079, 42.9975, -0.20599, 32.5079, 40.7475, -0.20599, 32.5079, 40.4975, -0.20599, 33.0079, 40.7475, -0.20599, 35.0079, 39.2475, -0.20599, 33.0079, 38.9975, -0.20599, 32.5079, 36.7475, -0.20599, 32.5079, 36.4975, -0.20599, 33.0079, 32.4975, -0.20599, 35.0079, 35.2475, -0.20599, 33.0079, 34.9975, -0.20599, 32.5079, 32.4975, -0.20599, 32.7579, 38.9975, -0.20599, 35.5079, 39.2475, -0.20599, 35.0079) +polygons = [PackedInt32Array(2, 1, 0), PackedInt32Array(5, 4, 3), PackedInt32Array(7, 6, 8), PackedInt32Array(8, 6, 9), PackedInt32Array(11, 10, 12), PackedInt32Array(12, 10, 13), PackedInt32Array(16, 15, 14), PackedInt32Array(18, 17, 19), PackedInt32Array(19, 17, 20), PackedInt32Array(20, 17, 22), PackedInt32Array(20, 22, 21), PackedInt32Array(24, 23, 25), PackedInt32Array(25, 23, 26), PackedInt32Array(29, 28, 27), PackedInt32Array(32, 31, 30), PackedInt32Array(34, 33, 35), PackedInt32Array(35, 33, 36), PackedInt32Array(38, 37, 39), PackedInt32Array(39, 37, 40), PackedInt32Array(42, 41, 43), PackedInt32Array(43, 41, 44), PackedInt32Array(46, 45, 47), PackedInt32Array(47, 45, 48), PackedInt32Array(51, 50, 49), PackedInt32Array(54, 53, 52), PackedInt32Array(57, 56, 55), PackedInt32Array(58, 60, 59), PackedInt32Array(61, 63, 62), PackedInt32Array(65, 64, 66), PackedInt32Array(66, 64, 67), PackedInt32Array(68, 70, 69), PackedInt32Array(72, 71, 73), PackedInt32Array(73, 71, 74), PackedInt32Array(76, 75, 77), PackedInt32Array(77, 75, 78), PackedInt32Array(80, 79, 81), PackedInt32Array(81, 79, 82), PackedInt32Array(84, 83, 85), PackedInt32Array(85, 83, 86), PackedInt32Array(88, 87, 89), PackedInt32Array(89, 87, 90), PackedInt32Array(93, 92, 91), PackedInt32Array(96, 95, 94), PackedInt32Array(99, 98, 97), PackedInt32Array(100, 102, 101), PackedInt32Array(103, 105, 104), PackedInt32Array(107, 106, 2), PackedInt32Array(109, 108, 110), PackedInt32Array(110, 108, 111), PackedInt32Array(113, 112, 114), PackedInt32Array(114, 112, 115), PackedInt32Array(117, 116, 118), PackedInt32Array(118, 116, 119), PackedInt32Array(121, 120, 122), PackedInt32Array(122, 120, 123), PackedInt32Array(125, 124, 126), PackedInt32Array(126, 124, 129), PackedInt32Array(126, 129, 127), PackedInt32Array(127, 129, 128), PackedInt32Array(131, 130, 111), PackedInt32Array(111, 130, 112), PackedInt32Array(102, 55, 132), PackedInt32Array(132, 55, 133), PackedInt32Array(135, 134, 74), PackedInt32Array(74, 134, 75), PackedInt32Array(127, 137, 126), PackedInt32Array(126, 137, 136), PackedInt32Array(140, 139, 138), PackedInt32Array(138, 139, 108), PackedInt32Array(143, 142, 30), PackedInt32Array(30, 142, 141), PackedInt32Array(145, 144, 146), PackedInt32Array(146, 144, 93), PackedInt32Array(146, 93, 91), PackedInt32Array(146, 91, 147), PackedInt32Array(149, 148, 70), PackedInt32Array(70, 148, 71), PackedInt32Array(150, 10, 9), PackedInt32Array(152, 136, 151), PackedInt32Array(143, 29, 142), PackedInt32Array(142, 29, 153), PackedInt32Array(153, 29, 27), PackedInt32Array(153, 27, 154), PackedInt32Array(22, 67, 21), PackedInt32Array(156, 49, 155), PackedInt32Array(155, 49, 48), PackedInt32Array(157, 153, 60), PackedInt32Array(60, 153, 154), PackedInt32Array(154, 27, 158), PackedInt32Array(158, 27, 26), PackedInt32Array(133, 54, 132), PackedInt32Array(132, 54, 103), PackedInt32Array(103, 54, 105), PackedInt32Array(105, 54, 52), PackedInt32Array(0, 159, 2), PackedInt32Array(2, 159, 140), PackedInt32Array(2, 140, 138), PackedInt32Array(2, 138, 107), PackedInt32Array(145, 160, 144), PackedInt32Array(144, 160, 94), PackedInt32Array(105, 52, 159), PackedInt32Array(159, 52, 140), PackedInt32Array(91, 90, 147), PackedInt32Array(162, 161, 86), PackedInt32Array(86, 161, 87), PackedInt32Array(164, 163, 82), PackedInt32Array(82, 163, 83), PackedInt32Array(166, 165, 167), PackedInt32Array(167, 165, 168), PackedInt32Array(167, 168, 152), PackedInt32Array(167, 152, 151), PackedInt32Array(171, 170, 23), PackedInt32Array(23, 170, 169), PackedInt32Array(23, 169, 158), PackedInt32Array(23, 158, 26), PackedInt32Array(173, 172, 174), PackedInt32Array(174, 172, 68), PackedInt32Array(68, 172, 70), PackedInt32Array(70, 172, 149), PackedInt32Array(177, 176, 14), PackedInt32Array(14, 176, 175), PackedInt32Array(14, 175, 178), PackedInt32Array(14, 178, 16), PackedInt32Array(150, 181, 10), PackedInt32Array(10, 181, 180), PackedInt32Array(10, 180, 179), PackedInt32Array(10, 179, 13), PackedInt32Array(184, 183, 185), PackedInt32Array(185, 183, 186), PackedInt32Array(186, 183, 187), PackedInt32Array(187, 183, 182), PackedInt32Array(147, 90, 188), PackedInt32Array(188, 90, 189), PackedInt32Array(189, 90, 161), PackedInt32Array(161, 90, 87), PackedInt32Array(162, 86, 190), PackedInt32Array(190, 86, 191), PackedInt32Array(191, 86, 163), PackedInt32Array(163, 86, 83), PackedInt32Array(164, 82, 192), PackedInt32Array(192, 82, 193), PackedInt32Array(193, 82, 194), PackedInt32Array(194, 82, 79), PackedInt32Array(195, 78, 196), PackedInt32Array(196, 78, 197), PackedInt32Array(197, 78, 134), PackedInt32Array(134, 78, 75), PackedInt32Array(135, 74, 198), PackedInt32Array(198, 74, 199), PackedInt32Array(199, 74, 148), PackedInt32Array(148, 74, 71), PackedInt32Array(21, 67, 200), PackedInt32Array(200, 67, 201), PackedInt32Array(201, 67, 202), PackedInt32Array(202, 67, 64), PackedInt32Array(205, 204, 141), PackedInt32Array(141, 204, 203), PackedInt32Array(141, 203, 32), PackedInt32Array(141, 32, 30), PackedInt32Array(207, 206, 137), PackedInt32Array(137, 206, 208), PackedInt32Array(137, 208, 136), PackedInt32Array(136, 208, 151), PackedInt32Array(209, 123, 210), PackedInt32Array(210, 123, 211), PackedInt32Array(211, 123, 212), PackedInt32Array(212, 123, 120), PackedInt32Array(213, 119, 214), PackedInt32Array(214, 119, 215), PackedInt32Array(215, 119, 216), PackedInt32Array(216, 119, 116), PackedInt32Array(217, 115, 218), PackedInt32Array(218, 115, 219), PackedInt32Array(219, 115, 130), PackedInt32Array(130, 115, 112), PackedInt32Array(131, 111, 220), PackedInt32Array(220, 111, 221), PackedInt32Array(221, 111, 139), PackedInt32Array(139, 111, 108), PackedInt32Array(224, 223, 45), PackedInt32Array(45, 223, 222), PackedInt32Array(45, 222, 155), PackedInt32Array(45, 155, 48), PackedInt32Array(228, 227, 41), PackedInt32Array(41, 227, 226), PackedInt32Array(41, 226, 225), PackedInt32Array(41, 225, 44), PackedInt32Array(232, 231, 37), PackedInt32Array(37, 231, 230), PackedInt32Array(37, 230, 229), PackedInt32Array(37, 229, 40), PackedInt32Array(236, 235, 33), PackedInt32Array(33, 235, 234), PackedInt32Array(33, 234, 233), PackedInt32Array(33, 233, 36), PackedInt32Array(237, 239, 238), PackedInt32Array(217, 216, 115), PackedInt32Array(115, 216, 116), PackedInt32Array(58, 240, 60), PackedInt32Array(60, 240, 157), PackedInt32Array(157, 240, 167), PackedInt32Array(167, 240, 166), PackedInt32Array(184, 185, 241), PackedInt32Array(241, 185, 5), PackedInt32Array(61, 242, 63), PackedInt32Array(63, 242, 243), PackedInt32Array(243, 242, 23), PackedInt32Array(23, 242, 171), PackedInt32Array(245, 244, 6), PackedInt32Array(6, 244, 9), PackedInt32Array(9, 244, 150), PackedInt32Array(160, 241, 94), PackedInt32Array(94, 241, 5), PackedInt32Array(94, 5, 3), PackedInt32Array(94, 3, 96), PackedInt32Array(248, 247, 97), PackedInt32Array(97, 247, 99), PackedInt32Array(99, 247, 246), PackedInt32Array(246, 247, 6), PackedInt32Array(213, 212, 119), PackedInt32Array(119, 212, 120), PackedInt32Array(237, 236, 33), PackedInt32Array(22, 17, 172), PackedInt32Array(172, 17, 149), PackedInt32Array(232, 37, 233), PackedInt32Array(233, 37, 36), PackedInt32Array(248, 97, 186), PackedInt32Array(186, 97, 185), PackedInt32Array(247, 245, 6), PackedInt32Array(128, 239, 249), PackedInt32Array(249, 239, 250), PackedInt32Array(250, 239, 237), PackedInt32Array(250, 237, 33), PackedInt32Array(177, 14, 179), PackedInt32Array(179, 14, 13), PackedInt32Array(228, 41, 229), PackedInt32Array(229, 41, 40), PackedInt32Array(243, 202, 63), PackedInt32Array(63, 202, 64), PackedInt32Array(51, 49, 251), PackedInt32Array(251, 49, 156), PackedInt32Array(251, 156, 123), PackedInt32Array(251, 123, 209), PackedInt32Array(128, 249, 127), PackedInt32Array(224, 45, 225), PackedInt32Array(225, 45, 44), PackedInt32Array(205, 141, 151), PackedInt32Array(151, 141, 167), PackedInt32Array(195, 194, 78), PackedInt32Array(78, 194, 79), PackedInt32Array(252, 57, 253), PackedInt32Array(253, 57, 100), PackedInt32Array(100, 57, 102), PackedInt32Array(102, 57, 55), PackedInt32Array(255, 254, 256), PackedInt32Array(256, 254, 259), PackedInt32Array(256, 259, 258), PackedInt32Array(256, 258, 257), PackedInt32Array(257, 260, 256), PackedInt32Array(263, 262, 261), PackedInt32Array(265, 264, 266), PackedInt32Array(266, 264, 267), PackedInt32Array(269, 268, 270), PackedInt32Array(270, 268, 271), PackedInt32Array(273, 272, 274), PackedInt32Array(274, 272, 275), PackedInt32Array(277, 276, 278), PackedInt32Array(278, 276, 279), PackedInt32Array(282, 281, 280), PackedInt32Array(284, 263, 283), PackedInt32Array(286, 285, 271), PackedInt32Array(271, 285, 272), PackedInt32Array(288, 287, 275), PackedInt32Array(275, 287, 276), PackedInt32Array(290, 289, 267), PackedInt32Array(267, 289, 268), PackedInt32Array(293, 284, 294), PackedInt32Array(294, 284, 283), PackedInt32Array(294, 283, 292), PackedInt32Array(294, 292, 291), PackedInt32Array(296, 295, 297), PackedInt32Array(297, 295, 282), PackedInt32Array(297, 282, 280), PackedInt32Array(297, 280, 298), PackedInt32Array(298, 299, 297), PackedInt32Array(300, 279, 301), PackedInt32Array(301, 279, 302), PackedInt32Array(302, 279, 287), PackedInt32Array(287, 279, 276), PackedInt32Array(288, 275, 303), PackedInt32Array(303, 275, 304), PackedInt32Array(304, 275, 285), PackedInt32Array(285, 275, 272), PackedInt32Array(286, 271, 305), PackedInt32Array(305, 271, 306), PackedInt32Array(306, 271, 289), PackedInt32Array(289, 271, 268), PackedInt32Array(290, 267, 307), PackedInt32Array(307, 267, 308), PackedInt32Array(308, 267, 309), PackedInt32Array(309, 267, 264), PackedInt32Array(311, 310, 312), PackedInt32Array(312, 310, 261), PackedInt32Array(261, 310, 263), PackedInt32Array(263, 310, 283), PackedInt32Array(300, 298, 279), PackedInt32Array(279, 298, 280), PackedInt32Array(293, 309, 284), PackedInt32Array(284, 309, 264), PackedInt32Array(315, 314, 313), PackedInt32Array(317, 316, 318), PackedInt32Array(318, 316, 319), PackedInt32Array(319, 316, 320), PackedInt32Array(320, 316, 315), PackedInt32Array(320, 321, 319), PackedInt32Array(323, 315, 324), PackedInt32Array(324, 315, 313), PackedInt32Array(324, 313, 322), PackedInt32Array(324, 322, 325), PackedInt32Array(315, 323, 320), PackedInt32Array(328, 327, 326), PackedInt32Array(331, 330, 329), PackedInt32Array(332, 334, 333), PackedInt32Array(335, 334, 336), PackedInt32Array(336, 334, 337), PackedInt32Array(337, 334, 332), PackedInt32Array(337, 332, 329), PackedInt32Array(340, 339, 341), PackedInt32Array(341, 339, 338), PackedInt32Array(341, 338, 331), PackedInt32Array(341, 331, 329), PackedInt32Array(343, 342, 344), PackedInt32Array(344, 342, 345), PackedInt32Array(347, 328, 348), PackedInt32Array(348, 328, 326), PackedInt32Array(348, 326, 346), PackedInt32Array(348, 346, 349), PackedInt32Array(328, 347, 345), PackedInt32Array(351, 350, 342), PackedInt32Array(342, 350, 345), PackedInt32Array(345, 350, 328), PackedInt32Array(329, 332, 341), PackedInt32Array(342, 340, 351), PackedInt32Array(351, 340, 341)] +sample_partition_type = 2 +geometry_parsed_geometry_type = 1 +geometry_collision_mask = 2147483648 +cell_height = 1.0 +agent_height = 2.0 +agent_max_climb = 1.0 +region_min_size = 8.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_xw4dv"] +size = Vector3(191.648, 1, 155.671) + +[node name="Floor01" type="Node3D"] +script = ExtResource("1_6q8cj") + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +unique_name_in_owner = true +navigation_mesh = SubResource("NavigationMesh_xw4dv") + +[node name="DungeonGenerator" type="Node3D" parent="NavigationRegion3D"] +unique_name_in_owner = true +script = ExtResource("2_1eowh") +room_scenes = Array[PackedScene]([ExtResource("5_jomgp")]) +corridor_room_scene = ExtResource("7_355o6") +dungeon_size = Vector3i(40, 1, 40) +voxel_scale = Vector3(4, 4, 4) +generate_on_ready = false +heuristic_scale = 3.0 +corridor_cost_multiplier = 0.1 +hide_debug_visuals_for_all_generated_rooms = false + +[node name="Item Transfer Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("6_pq554")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -24) + +[node name="Long Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("6_feo23")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, 0, -50) + +[node name="JumpScareRoom" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_qfdg5")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -46, 0, 4) + +[node name="Water Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("8_c8i48")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -36, 0, 34) + +[node name="RansRoom" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("9_3xp6w")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 14, 0, 36) + +[node name="Seshat\'s Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("10_yyu3u")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 62, 0, 38) + +[node name="GesthemiisRoom" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("11_6q8cj")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -22, 0, -6) + +[node name="Floor Exit A_0" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("5_jomgp")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 18, 0, 2) +script = ExtResource("8_gh666") +size_in_voxels = Vector3i(5, 1, 9) +voxel_scale = Vector3(4, 4, 4) +min_count = 1 +max_count = 1 + +[node name="Corridor_1" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_2" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_3" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -30) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_4" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_5" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_6" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_7" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_8" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_9" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_10" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_11" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_12" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_13" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_14" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_15" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_16" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_17" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0, 34) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_18" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0, 38) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_19" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_20" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_21" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_22" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_23" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_24" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_25" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 10) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_26" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 6) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_27" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 6) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_28" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 2) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_29" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -2) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_30" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -2) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_31" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -6) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_32" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -10) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_33" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_34" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_35" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -22) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_36" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_37" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_38" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_39" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -26) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_40" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 2) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_41" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_42" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_43" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_44" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_45" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 18) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_46" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_47" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 14) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_48" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 10) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_49" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 6) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_50" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_355o6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 38, 0, 2) +script = ExtResource("9_gw5kq") +voxel_scale = Vector3(4, 4, 4) + +[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D"] +collision_layer = 2147483648 +collision_mask = 2147483648 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.35347, 1, -0.115356) +shape = SubResource("BoxShape3D_xw4dv") +disabled = true + +[node name="EnemyDatabase" parent="." instance=ExtResource("19_3xw4m")] +unique_name_in_owner = true +EnemyList = Array[PackedScene]([ExtResource("20_e2hj1"), ExtResource("21_7a3ox")]) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor03.tscn b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor03.tscn new file mode 100644 index 00000000..27716d7d --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor03.tscn @@ -0,0 +1,447 @@ +[gd_scene load_steps=19 format=3 uid="uid://bh8wgd536f317"] + +[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_5qwu0"] +[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="2_w3178"] +[ext_resource type="PackedScene" uid="uid://02v033xrh6xi" path="res://src/map/dungeon/rooms/Set B/38. Floor Exit B.tscn" id="3_5qwu0"] +[ext_resource type="PackedScene" uid="uid://dooy8nc5pgaxm" path="res://src/map/dungeon/rooms/Set B/37. Corridor 2.tscn" id="4_w3178"] +[ext_resource type="PackedScene" uid="uid://dadl2rua1ovhq" path="res://src/map/dungeon/rooms/Set B/20. Antechamber 3.tscn" id="5_mqac6"] +[ext_resource type="PackedScene" uid="uid://dra1mqcqhw7g0" path="res://src/map/dungeon/rooms/Set B/21. Gallery Room.tscn" id="6_0v4w1"] +[ext_resource type="PackedScene" uid="uid://cq82tqhlshn1k" path="res://src/map/dungeon/rooms/Set B/22. Pit Room B.tscn" id="7_5qwu0"] +[ext_resource type="PackedScene" uid="uid://utaqo4hl68yw" path="res://src/map/dungeon/rooms/Set B/23. Antechamber 4.tscn" id="8_w3178"] +[ext_resource type="PackedScene" uid="uid://bhqmpgpegcuu5" path="res://src/map/dungeon/rooms/Set B/24. Balcony Room 2.tscn" id="9_k2pbf"] +[ext_resource type="PackedScene" uid="uid://dbfkpodwvxmfe" path="res://src/map/dungeon/rooms/Set B/25. Pedestal Room.tscn" id="10_4abo2"] +[ext_resource type="PackedScene" uid="uid://d2k2v4bcybx3k" path="res://src/map/dungeon/rooms/Set B/26. Item Transfer Room B.tscn" id="11_h4n5t"] +[ext_resource type="Script" uid="uid://ce73fuh74l81l" path="res://addons/SimpleDungeons/DungeonRoom3D.gd" id="12_6ccoi"] +[ext_resource type="Script" uid="uid://fk3jis6rsipv" path="res://src/map/dungeon/code/corridor.gd" id="13_xw5po"] +[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="14_b8w6w"] +[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="15_optp8"] +[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="16_h86t4"] + +[sub_resource type="NavigationMesh" id="NavigationMesh_xw4dv"] +sample_partition_type = 2 +geometry_parsed_geometry_type = 1 +geometry_collision_mask = 2147483648 +cell_height = 1.0 +agent_height = 2.0 +agent_max_climb = 1.0 +region_min_size = 8.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_xw4dv"] +size = Vector3(191.648, 1, 155.671) + +[node name="Floor01" type="Node3D"] +script = ExtResource("1_5qwu0") + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +unique_name_in_owner = true +navigation_mesh = SubResource("NavigationMesh_xw4dv") + +[node name="DungeonGenerator" type="Node3D" parent="NavigationRegion3D"] +unique_name_in_owner = true +script = ExtResource("2_w3178") +room_scenes = Array[PackedScene]([ExtResource("3_5qwu0")]) +corridor_room_scene = ExtResource("4_w3178") +dungeon_size = Vector3i(40, 1, 40) +voxel_scale = Vector3(4, 4, 4) +generate_on_ready = false +heuristic_scale = 3.0 +corridor_cost_multiplier = 0.1 +show_debug_in_editor = false +hide_debug_visuals_for_all_generated_rooms = false + +[node name="Antechamber 3" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("5_mqac6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -16) + +[node name="Gallery Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("6_0v4w1")] +transform = Transform3D(1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, -68, 0, -8) + +[node name="Pit Room B" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_5qwu0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -54) + +[node name="Antechamber 4" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("8_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -8) + +[node name="Balcony Room 2" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("9_k2pbf")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4, 0, -50) + +[node name="Pedestal Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("10_4abo2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -70, 0, 16) + +[node name="Item Transfer Room B" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("11_h4n5t")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 12) + +[node name="Floor Exit B_0" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("3_5qwu0")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -70, 0, -34) +script = ExtResource("12_6ccoi") +size_in_voxels = Vector3i(5, 1, 9) +voxel_scale = Vector3(4, 4, 4) +min_count = 1 +max_count = 3 + +[node name="Corridor_1" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_2" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_3" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_4" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_5" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_6" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_7" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_8" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_9" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_10" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -10) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_11" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -14) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_12" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -18) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_13" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -22) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_14" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -26) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_15" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -30) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_16" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_17" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_18" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_19" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_20" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_21" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -30) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_22" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -26) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_23" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -22) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_24" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -18) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_25" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_26" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_27" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_28" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, -50) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_29" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -50) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_30" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -50) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_31" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -46) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_32" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -42) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_33" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -38) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_34" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_35" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_36" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_37" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_38" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -34) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_39" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_40" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_41" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_42" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -66, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_43" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -70, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_44" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -70, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_45" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -66, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_46" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_47" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_48" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_49" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_50" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_51" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_52" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_53" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_54" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_55" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_56" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_57" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_58" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_59" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 6) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_60" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_61" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_62" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_63" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_64" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_65" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_66" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_67" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_68" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -2) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_69" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_70" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -66, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="Corridor_71" type="Node3D" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("4_w3178")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -70, 0, -54) +script = ExtResource("13_xw5po") +voxel_scale = Vector3(4, 4, 4) + +[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D"] +collision_layer = 2147483648 +collision_mask = 2147483648 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.7119, 1, 0) +shape = SubResource("BoxShape3D_xw4dv") +disabled = true + +[node name="EnemyDatabase" parent="." instance=ExtResource("14_b8w6w")] +unique_name_in_owner = true +EnemyList = Array[PackedScene]([ExtResource("15_optp8"), ExtResource("16_h86t4")]) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor04.tscn b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor04.tscn new file mode 100644 index 00000000..d4e48d4f --- /dev/null +++ b/Zennysoft.Game.Ma/src/map/dungeon/debug_floors/DebugFloor04.tscn @@ -0,0 +1,243 @@ +[gd_scene load_steps=17 format=3 uid="uid://bpqm38kxonb35"] + +[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_hwssm"] +[ext_resource type="Script" uid="uid://b1x125h0tya2w" path="res://addons/SimpleDungeons/DungeonGenerator3D.gd" id="2_f10ye"] +[ext_resource type="PackedScene" uid="uid://02v033xrh6xi" path="res://src/map/dungeon/rooms/Set B/38. Floor Exit B.tscn" id="3_5wjmx"] +[ext_resource type="PackedScene" uid="uid://dooy8nc5pgaxm" path="res://src/map/dungeon/rooms/Set B/37. Corridor 2.tscn" id="4_5dvb6"] +[ext_resource type="PackedScene" uid="uid://cypdcaqeylnwl" path="res://src/map/dungeon/rooms/Set B/27. Water Room B.tscn" id="5_gt56l"] +[ext_resource type="PackedScene" uid="uid://b8tiuu3l181ke" path="res://src/map/dungeon/rooms/Set B/28. Long Room B.tscn" id="6_rkuht"] +[ext_resource type="PackedScene" uid="uid://5cstpejxygy6" path="res://src/map/dungeon/rooms/Set B/29. Column Circle Room.tscn" id="7_hwssm"] +[ext_resource type="PackedScene" uid="uid://b1oayub1dt5ag" path="res://src/map/dungeon/rooms/Set B/31. Dismantled Saint's Room.tscn" id="8_f10ye"] +[ext_resource type="PackedScene" uid="uid://cuau7xgx3rkxu" path="res://src/map/dungeon/rooms/Set B/32. Proscenium's Room.tscn" id="9_5wjmx"] +[ext_resource type="PackedScene" uid="uid://b6akxaacr8jd2" path="res://src/map/dungeon/rooms/Set B/33. Puer's Room.tscn" id="10_5dvb6"] +[ext_resource type="PackedScene" uid="uid://dqppy7sj8pial" path="res://src/map/dungeon/rooms/Set B/39. Gesthemii's Room 2.tscn" id="11_2me6y"] +[ext_resource type="PackedScene" uid="uid://dbvr8ewajja6a" path="res://src/enemy/EnemyDatabase.tscn" id="14_5jv0q"] +[ext_resource type="PackedScene" uid="uid://bs56ccgosmu47" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.tscn" id="15_raccu"] +[ext_resource type="PackedScene" uid="uid://b0gwivt7cw7nd" path="res://src/enemy/enemy_types/02. michael/Michael.tscn" id="16_5jgmg"] + +[sub_resource type="NavigationMesh" id="NavigationMesh_xw4dv"] +sample_partition_type = 2 +geometry_parsed_geometry_type = 1 +geometry_collision_mask = 2147483648 +cell_height = 1.0 +agent_height = 2.0 +agent_max_climb = 1.0 +region_min_size = 8.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_xw4dv"] +size = Vector3(191.648, 1, 155.671) + +[node name="Floor01" type="Node3D"] +script = ExtResource("1_hwssm") + +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +unique_name_in_owner = true +navigation_mesh = SubResource("NavigationMesh_xw4dv") + +[node name="DungeonGenerator" type="Node3D" parent="NavigationRegion3D"] +unique_name_in_owner = true +script = ExtResource("2_f10ye") +room_scenes = Array[PackedScene]([ExtResource("3_5wjmx")]) +corridor_room_scene = ExtResource("4_5dvb6") +dungeon_size = Vector3i(40, 1, 40) +voxel_scale = Vector3(4, 4, 4) +generate_on_ready = false +heuristic_scale = 3.0 +corridor_cost_multiplier = 0.1 +show_debug_in_editor = false +hide_debug_visuals_for_all_generated_rooms = false + +[node name="Water Room B" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("5_gt56l")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, 0) + +[node name="Long Room B" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("6_rkuht")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 42) + +[node name="Column Circle Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("7_hwssm")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 14, 0, 10) + +[node name="Dismantled Saint\'s Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("8_f10ye")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, 42) + +[node name="Proscenium\'s Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("9_5wjmx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, 10) + +[node name="Puer\'s Room" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("10_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, -14) + +[node name="GesthemiisRoom" parent="NavigationRegion3D/DungeonGenerator" instance=ExtResource("11_2me6y")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -58, 0, -58) + +[node name="RoomsContainer" type="Node3D" parent="NavigationRegion3D/DungeonGenerator"] + +[node name="Floor Exit B_0" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("3_5wjmx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -26) + +[node name="Corridor_1" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0, 26) + +[node name="Corridor_2" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 10) + +[node name="Corridor_3" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 14) + +[node name="Corridor_4" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, 14) + +[node name="Corridor_5" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, 14) + +[node name="Corridor_6" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 14) + +[node name="Corridor_7" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 18) + +[node name="Corridor_8" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 22) + +[node name="Corridor_9" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 26) + +[node name="Corridor_10" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 30) + +[node name="Corridor_11" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 34) + +[node name="Corridor_12" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 38) + +[node name="Corridor_13" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, 42) + +[node name="Corridor_14" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, 42) + +[node name="Corridor_15" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, 42) + +[node name="Corridor_16" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 42) + +[node name="Corridor_17" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26, 0, 42) + +[node name="Corridor_18" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 26) + +[node name="Corridor_19" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 22) + +[node name="Corridor_20" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 22) + +[node name="Corridor_21" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22, 0, 22) + +[node name="Corridor_22" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 22) + +[node name="Corridor_23" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 18) + +[node name="Corridor_24" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 14) + +[node name="Corridor_25" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 26, 0, 10) + +[node name="Corridor_26" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 10) + +[node name="Corridor_27" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 10) + +[node name="Corridor_28" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -14) + +[node name="Corridor_29" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -14) + +[node name="Corridor_30" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -14) + +[node name="Corridor_31" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -14) + +[node name="Corridor_32" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, -34) + +[node name="Corridor_33" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, 0, -38) + +[node name="Corridor_34" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -58, 0, -38) + +[node name="Corridor_35" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, 0, -38) + +[node name="Corridor_36" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -50, 0, -38) + +[node name="Corridor_37" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -38) + +[node name="Corridor_38" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -42, 0, -38) + +[node name="Corridor_39" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -38, 0, -38) + +[node name="Corridor_40" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -38) + +[node name="Corridor_41" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -38) + +[node name="Corridor_42" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -34) + +[node name="Corridor_43" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -30) + +[node name="Corridor_44" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -26) + +[node name="Corridor_45" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -22) + +[node name="Corridor_46" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, -18) + +[node name="Corridor_47" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 6) + +[node name="Corridor_48" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 2) + +[node name="Corridor_49" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2) + +[node name="Corridor_50" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -6) + +[node name="Corridor_51" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -6) + +[node name="Corridor_52" parent="NavigationRegion3D/DungeonGenerator/RoomsContainer" instance=ExtResource("4_5dvb6")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 0, -6) + +[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D"] +collision_layer = 2147483648 +collision_mask = 2147483648 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/StaticBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.7119, 1, 0) +shape = SubResource("BoxShape3D_xw4dv") +disabled = true + +[node name="EnemyDatabase" parent="." instance=ExtResource("14_5jv0q")] +unique_name_in_owner = true +EnemyList = Array[PackedScene]([ExtResource("15_raccu"), ExtResource("16_5jgmg")]) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn index 6e0821a5..3b6b237c 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/15. Boss Floor A.tscn @@ -64,7 +64,6 @@ shadow_mesh = SubResource("ArrayMesh_4eou0") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jcrt6"] resource_name = "SWIRL" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("2_06eum") texture_filter = 2 @@ -74,113 +73,95 @@ resource_name = "MOTHER.002" transparency = 2 alpha_scissor_threshold = 0.5 alpha_antialiasing_mode = 0 -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("3_aiyhv") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x4ioo"] resource_name = "BRICK 3" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("4_gg1gw") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fklur"] resource_name = "FLOOR 1.001" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("5_3yvkn") texture_filter = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t2dkh"] resource_name = "WALL TILE 1" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("6_ayffp") texture_filter = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mhxry"] resource_name = "TILE 5" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("7_mucxn") texture_filter = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qjhhv"] resource_name = "TILE 4.001" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("8_x36ik") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_knbsp"] resource_name = "COLUMN" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("9_peiep") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rb146"] resource_name = "BLUE LIGHT" -cull_mode = 0 shading_mode = 0 albedo_color = Color(0.0408016, 0.822256, 0.810541, 1) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5m22i"] resource_name = "BRICK CORRIDOR" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("10_p5e8a") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6o5w8"] resource_name = "Dark Brick" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("11_rssw8") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_656uk"] resource_name = "LOWER CORRIDOR TRIM" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("12_2niov") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gs3lq"] resource_name = "COLUMN 2" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("13_cvs65") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ub4gm"] resource_name = "BRICK" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("4_gg1gw") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3dv1r"] resource_name = "HAND TILE.004" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("14_l0jay") texture_filter = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6sui2"] resource_name = "BRICK 3.003" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("4_gg1gw") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wdnpw"] resource_name = "STONE PANEL 2.004" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("15_0qf8c") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t0v5k"] resource_name = "TILE 2" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("16_bgmrw") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rnlrr"] resource_name = "STONE PANEL 1.002" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("17_0tjgo") texture_filter = 2 @@ -188,7 +169,6 @@ texture_filter = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_f5xan"] resource_name = "CEILING 1.007" transparency = 4 -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("18_ymsfi") @@ -698,7 +678,6 @@ shadow_mesh = SubResource("ArrayMesh_nweei") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xm4ti"] resource_name = "HAND CYCLE" -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("19_btt2p") @@ -796,7 +775,6 @@ shadow_mesh = SubResource("ArrayMesh_2xh7e") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_08cpb"] resource_name = "Material.018" transparency = 4 -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("20_ibc11") @@ -1175,7 +1153,6 @@ resource_name = "Material.030" transparency = 2 alpha_scissor_threshold = 0.5 alpha_antialiasing_mode = 0 -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("21_a3et2") @@ -1216,7 +1193,6 @@ resource_name = "Material" transparency = 2 alpha_scissor_threshold = 0.5 alpha_antialiasing_mode = 0 -cull_mode = 0 shading_mode = 0 albedo_texture = ExtResource("22_4tjx7") @@ -1972,9 +1948,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -102.157, -2.30863, 13.0139) unique_name_in_owner = true transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -102.157, -0.510939, 13.0139) visible = false -PrimaryAttackElementalType = null -PrimaryAttackElementalDamageBonus = null -_movementSpeed = null [node name="OxFaceStatue" parent="Room" instance=ExtResource("26_futcf")] unique_name_in_owner = true diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/16. Seshat's Room.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/16. Seshat's Room.tscn index 0d6b4b11..17ee1762 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/16. Seshat's Room.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/16. Seshat's Room.tscn @@ -1208,14 +1208,12 @@ size = Vector3(32.0834, 10, 35.8235) [node name="CSGBox" type="CSGBox3D" parent="Doors"] transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -17.9446, -0.0155478, 0.01906) -visible = false use_collision = true size = Vector3(4.05, 4.05, 0.01) material = SubResource("StandardMaterial3D_51rrf") [node name="DOOR" type="CSGBox3D" parent="Doors/CSGBox"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.0686455) -visible = false material_override = SubResource("StandardMaterial3D_alrge") operation = 2 size = Vector3(4, 4, 2) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/18. Corridor A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/18. Corridor A.tscn index eb1fbe53..0db99a07 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/18. Corridor A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/18. Corridor A.tscn @@ -457,7 +457,7 @@ resource_name = "BOTTOM TRIM.007" shading_mode = 0 albedo_texture = ExtResource("5_qnt5r") -[sub_resource type="ArrayMesh" id="ArrayMesh_ood8f"] +[sub_resource type="ArrayMesh" id="ArrayMesh_7a87o"] _surfaces = [{ "aabb": AABB(-0.984553, -23.5008, -0.95724, 2.00022, 24.4466, 1e-05), "format": 34896613377, @@ -509,7 +509,7 @@ _surfaces = [{ "vertex_data": PackedByteArray("AAAAAAAAAID/////AAAAgP//AAAAAACAAAD//wAAAID/f////3////9/////f///") }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_ood8f") +shadow_mesh = SubResource("ArrayMesh_7a87o") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0b3sx"] albedo_texture = ExtResource("9_adgr5") @@ -518,11 +518,7 @@ albedo_texture = ExtResource("9_adgr5") transparency = 1 albedo_color = Color(1, 1, 1, 0) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_adgr5"] -transparency = 1 -albedo_color = Color(1, 1, 1, 0) - -[sub_resource type="ArrayMesh" id="ArrayMesh_p4f4g"] +[sub_resource type="ArrayMesh" id="ArrayMesh_adgr5"] _surfaces = [{ "aabb": AABB(-0.984553, -23.5008, 1.0428, 2.00022, 24.4466, 1e-05), "format": 34896613377, @@ -574,13 +570,17 @@ _surfaces = [{ "vertex_data": PackedByteArray("//8AAAAAAAAAAP//AAAAAAAAAAAAAAAA/////wAAAAD///9/////f////3////9/") }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_p4f4g") +shadow_mesh = SubResource("ArrayMesh_adgr5") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_adgr5"] +transparency = 1 +albedo_color = Color(1, 1, 1, 0) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4sxun"] transparency = 1 albedo_color = Color(1, 1, 1, 0) -[sub_resource type="ArrayMesh" id="ArrayMesh_te6g1"] +[sub_resource type="ArrayMesh" id="ArrayMesh_3j8ld"] _surfaces = [{ "aabb": AABB(-0.984553, -23.5008, -0.95724, 1e-05, 24.4466, 2.00004), "format": 34896613377, @@ -632,13 +632,13 @@ _surfaces = [{ "vertex_data": PackedByteArray("AAAAAP///78AAP//AAD/vwAAAAAAAP+/AAD//////7//fwAA/38AAP9/AAD/fwAA") }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_te6g1") +shadow_mesh = SubResource("ArrayMesh_3j8ld") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hm6c0"] transparency = 1 albedo_color = Color(1, 1, 1, 0) -[sub_resource type="ArrayMesh" id="ArrayMesh_5chhi"] +[sub_resource type="ArrayMesh" id="ArrayMesh_0b3sx"] _surfaces = [{ "aabb": AABB(1.01566, -23.5008, -0.95724, 1e-05, 24.4466, 2.00004), "format": 34896613377, @@ -690,7 +690,7 @@ _surfaces = [{ "vertex_data": PackedByteArray("AAAAAAAAAAAAAP////8AAAAAAAD//wAAAAD//wAAAAD/P/9//z//f/8//3//P/9/") }] blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_5chhi") +shadow_mesh = SubResource("ArrayMesh_0b3sx") [sub_resource type="BoxShape3D" id="BoxShape3D_7uihh"] size = Vector3(4, 4, 4) @@ -702,11 +702,7 @@ size = Vector2(4, 4) [node name="Corridor" type="Node3D"] script = ExtResource("1_lepkf") voxel_scale = Vector3(4, 4, 4) -is_stair_room = null -force_align_with_grid_button = null -show_debug_in_editor = null -show_debug_in_game = null -show_grid_aabb_with_doors = null +show_debug_in_editor = false [node name="Model" type="Node3D" parent="."] script = ExtResource("2_xywry") @@ -780,9 +776,9 @@ mesh = SubResource("ArrayMesh_ue4n7") skeleton = NodePath("") [node name="Box" type="CSGBox3D" parent="Doors/DOOR?"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00166607, -3.72529e-08, 0.0620437) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00236224, -3.72529e-08, 0.0620437) material_override = SubResource("StandardMaterial3D_0b3sx") -size = Vector3(4, 4, 0.203003) +size = Vector3(4.99487, 4, 0.203003) material = SubResource("StandardMaterial3D_7a87o") [node name="DOOR?2" type="CSGBox3D" parent="Doors"] @@ -791,17 +787,17 @@ use_collision = true size = Vector3(3.90674, 4, 0.1) material = SubResource("StandardMaterial3D_3j8ld") -[node name="Box" type="CSGBox3D" parent="Doors/DOOR?2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00166607, -3.72529e-08, 0.0620437) -material_override = SubResource("StandardMaterial3D_0b3sx") -size = Vector3(4, 4, 0.203003) -material = SubResource("StandardMaterial3D_adgr5") - [node name="CA_WALL_3" type="MeshInstance3D" parent="Doors/DOOR?2"] transform = Transform3D(-8.74228e-08, 0.10779, 1.73929e-20, -2, -4.71165e-09, 3.97904e-13, 3.97904e-13, 0, 2, 1.84215, 0.088098, -2.03793) mesh = SubResource("ArrayMesh_ux4sw") skeleton = NodePath("") +[node name="Box" type="CSGBox3D" parent="Doors/DOOR?2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00984479, -3.72529e-08, 0.0620438) +material_override = SubResource("StandardMaterial3D_0b3sx") +size = Vector3(4.97876, 4, 0.203003) +material = SubResource("StandardMaterial3D_adgr5") + [node name="DOOR?3" type="CSGBox3D" parent="Doors"] transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.95513, 0.0586318, -0.00728679) use_collision = true @@ -809,9 +805,9 @@ size = Vector3(3.90674, 4, 0.1) material = SubResource("StandardMaterial3D_3j8ld") [node name="Box" type="CSGBox3D" parent="Doors/DOOR?3"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00166607, -3.72529e-08, 0.0620437) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0715151, -3.72529e-08, 0.0620437) material_override = SubResource("StandardMaterial3D_0b3sx") -size = Vector3(4, 4, 0.203003) +size = Vector3(4.37317, 4, 0.203003) material = SubResource("StandardMaterial3D_4sxun") [node name="CA_WALL_4" type="MeshInstance3D" parent="Doors/DOOR?3"] @@ -826,9 +822,9 @@ size = Vector3(3.90674, 4, 0.1) material = SubResource("StandardMaterial3D_3j8ld") [node name="Box" type="CSGBox3D" parent="Doors/DOOR?4"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00166607, -3.72529e-08, 0.0620437) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00215435, -3.81842e-08, 0.0620437) material_override = SubResource("StandardMaterial3D_0b3sx") -size = Vector3(4, 4, 0.203003) +size = Vector3(4.24316, 4, 0.203003) material = SubResource("StandardMaterial3D_hm6c0") [node name="CA_WALL_1" type="MeshInstance3D" parent="Doors/DOOR?4"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn index a3bab5ff..9b2facb3 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn @@ -454,7 +454,7 @@ shading_mode = 0 albedo_texture = ExtResource("18_r3pjb") [sub_resource type="BoxShape3D" id="BoxShape3D_mg5bq"] -size = Vector3(19.8499, 10.2039, 7.09571) +size = Vector3(15.7098, 10.2039, 7.09571) [sub_resource type="BoxShape3D" id="BoxShape3D_tgauh"] size = Vector3(20, 20, 36) @@ -574,7 +574,7 @@ collision_layer = 256 collision_mask = 256 [node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Exit"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00817108, 1.56831, 4.23168) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00295544, 1.56831, 4.23168) shape = SubResource("BoxShape3D_mg5bq") [node name="Room" type="Area3D" parent="Room"] diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/27. Water Room B.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/27. Water Room B.tscn index f57e3e24..71eef51b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/27. Water Room B.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/27. Water Room B.tscn @@ -758,7 +758,7 @@ size = Vector3(28, 6, 48) material = ExtResource("20_jum0i") size = Vector2(20, 16) -[node name="DungeonRoom3D" type="Node3D"] +[node name="Water Room B" type="Node3D"] script = ExtResource("1_nwdhf") size_in_voxels = Vector3i(7, 1, 12) voxel_scale = Vector3(4, 4, 4) diff --git a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/37. Corridor 2.tscn b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/37. Corridor 2.tscn index 228a897a..bb70ee55 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/37. Corridor 2.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/rooms/Set B/37. Corridor 2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=40 format=4 uid="uid://dooy8nc5pgaxm"] +[gd_scene load_steps=43 format=4 uid="uid://dooy8nc5pgaxm"] [ext_resource type="Script" uid="uid://fk3jis6rsipv" path="res://src/map/dungeon/code/corridor.gd" id="1_71ggh"] [ext_resource type="Script" uid="uid://csxfet8l04swm" path="res://src/map/dungeon/code/CorridorRoom.cs" id="2_5ibpy"] @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://bltjwwsy7cieh" path="res://src/map/dungeon/models/Set B/37. Corridor B/37_A2_CORRIDOR_B_area_2_tile_3.png" id="6_lsept"] [ext_resource type="Texture2D" uid="uid://dqj533i8quohm" path="res://src/map/dungeon/models/Set B/37. Corridor B/37_A2_CORRIDOR_B_CORRIDOR_PANEL_UPPER.png" id="7_sx4i6"] [ext_resource type="Texture2D" uid="uid://bkvegamuqdsdd" path="res://src/map/dungeon/models/Set A/18. Corridor A/CORRIDOR test_FLOOR1.jpg" id="8_4fw8l"] +[ext_resource type="Material" uid="uid://bsafm3t4drpl" path="res://src/map/dungeon/textures/MinimapTexture.tres" id="10_7c8qf"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l2f0d"] resource_name = "Material.014" @@ -671,6 +672,13 @@ shadow_mesh = SubResource("ArrayMesh_4ude8") transparency = 1 albedo_color = Color(1, 1, 1, 0) +[sub_resource type="BoxShape3D" id="BoxShape3D_7c8qf"] +size = Vector3(4, 4, 4) + +[sub_resource type="PlaneMesh" id="PlaneMesh_htf4s"] +material = ExtResource("10_7c8qf") +size = Vector2(4, 4) + [node name="Corridor" type="Node3D"] script = ExtResource("1_71ggh") voxel_scale = Vector3(4, 4, 4) @@ -782,4 +790,22 @@ material = SubResource("StandardMaterial3D_bcqgr") [node name="Room" type="Node3D" parent="."] +[node name="Room" type="Area3D" parent="Room"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 11.8436, 0) +collision_layer = 0 +collision_mask = 10 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/Room"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00170277, -11.8564, -1.19209e-07) +shape = SubResource("BoxShape3D_7c8qf") + [node name="Minimap" type="Node3D" parent="."] + +[node name="Minimap" type="MeshInstance3D" parent="Minimap"] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.03602, 0) +visible = false +layers = 2 +mesh = SubResource("PlaneMesh_htf4s") +skeleton = NodePath("../..") diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index 0b397eb9..e2463a88 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -362,6 +362,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide