Add debug floors, fix boss battle A crashes (need to reimplement the fight anyway)

This commit is contained in:
2025-06-29 22:11:49 -07:00
parent 5d49842c04
commit f12841f88f
21 changed files with 1677 additions and 148 deletions

View File

@@ -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<IEnemyLogic>
{
public override void _Notification(int what) => this.Notify(what);
protected IEnemyLogic _enemyLogic { get; set; } = default!;
IEnemyLogic IProvide<IEnemyLogic>.Value() => _enemyLogic;
public EnemyLogic.IBinding EnemyBinding { get; set; } = default!;
[Dependency] protected IPlayer _player => this.DependOn(() => GetParent().GetChildren().OfType<IPlayer>().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<double> 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<double>(_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<Action>() { 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();
}

View File

@@ -37,11 +37,11 @@ public partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLogic>
#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<IEnemyLogic>
CurrentHP = new AutoProp<double>(_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<IEnemyLogic>
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());
}
}

View File

@@ -98,5 +98,8 @@ public partial class EnemyModelView3D : Node3D, IEnemyModelView
AnimationTree.Get(PARAMETERS_PLAYBACK).As<AnimationNodeStateMachinePlayback>().Stop();
}
public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => throw new System.NotImplementedException();
public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection)
{
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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="."]

View File

@@ -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<IDungeonRoom> 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;
}

View File

@@ -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<IDungeonRoom> 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;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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")])

View File

@@ -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")])

View File

@@ -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

View File

@@ -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)

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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)

View File

@@ -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("../..")

View File

@@ -362,6 +362,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<ISaveChunk<Play
{
if (@event.IsActionPressed(GameInputs.Attack))
Attack();
if (@event.IsActionPressed(GameInputs.Sprint))
Settings.MoveSpeed *= 2;
if (@event.IsActionReleased(GameInputs.Sprint))
Settings.MoveSpeed /= 2;
}
public void OnPhysicsProcess(double delta)