Partially fix boss room A, only one guy moves though
This commit is contained in:
@@ -37,17 +37,24 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
|
||||
[Node] public Area3D PlayerDetector { get; set; } = default!;
|
||||
|
||||
private float _movementSpeed = 2.0f;
|
||||
private Vector3 _previousPosition = Vector3.Zero;
|
||||
|
||||
public void OnResolved()
|
||||
{
|
||||
FollowBehavior.Init(NavigationAgent);
|
||||
FollowBehavior.OnVelocityComputed += OnVelocityComputed;
|
||||
EngagePlayerBehavior.TakeAction += PerformAction;
|
||||
PlayerDetector.BodyEntered += PlayerDetector_BodyEntered;
|
||||
PlayerDetector.BodyExited += PlayerDetector_BodyExited;
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Idle());
|
||||
SetPhysicsProcess(true);
|
||||
}
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer || _enemyLogic.Value is EnemyLogic.State.Patrolling)
|
||||
{
|
||||
var velocity = (GlobalPosition - _previousPosition) / (float)delta;
|
||||
if (velocity.IsZeroApprox())
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Idle());
|
||||
else
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Move());
|
||||
_previousPosition = GlobalPosition;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPhysicsProcess(double delta)
|
||||
@@ -66,10 +73,8 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
protected void OnVelocityComputed(Vector3 safeVelocity)
|
||||
{
|
||||
Velocity = safeVelocity;
|
||||
if (Velocity > Vector3.Zero)
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Move());
|
||||
else
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Idle());
|
||||
if (!Velocity.IsZeroApprox())
|
||||
LookAtTarget(safeVelocity);
|
||||
MoveAndSlide();
|
||||
}
|
||||
|
||||
@@ -106,8 +111,16 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
|
||||
|
||||
public override void Activate()
|
||||
{
|
||||
FollowBehavior.OnVelocityComputed += OnVelocityComputed;
|
||||
EngagePlayerBehavior.TakeAction += PerformAction;
|
||||
PlayerDetector.BodyEntered += PlayerDetector_BodyEntered;
|
||||
PlayerDetector.BodyExited += PlayerDetector_BodyExited;
|
||||
SetProcess(true);
|
||||
SetPhysicsProcess(true);
|
||||
|
||||
Show();
|
||||
EnemyHitbox.SetDeferred(CollisionShape3D.PropertyName.Disabled, false);
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Activate());
|
||||
}
|
||||
|
||||
public void RotateToPlayer(float rotationAngle)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
using System;
|
||||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
|
||||
@@ -19,11 +19,21 @@ public partial class EnemyModelView3D : EnemyModelView
|
||||
|
||||
[Node] public Node3D ExplodingModel { get; set; } = default!;
|
||||
|
||||
public void OnReady()
|
||||
public void OnResolved()
|
||||
{
|
||||
DeathAnimation.AnimationFinished += DeathAnimation_AnimationFinished;
|
||||
}
|
||||
|
||||
public override void PlayWalkAnimation()
|
||||
{
|
||||
_stateMachine.Travel(_walkingName, false);
|
||||
}
|
||||
|
||||
public override void PlayIdleAnimation()
|
||||
{
|
||||
_stateMachine.Travel(_idleName, false);
|
||||
}
|
||||
|
||||
private void DeathAnimation_AnimationFinished(StringName animName)
|
||||
{
|
||||
QueueFree();
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_exr8b"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"]
|
||||
radius = 10.3283
|
||||
height = 50.0
|
||||
radius = 0.658285
|
||||
height = 4.06911
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_jl3qa"]
|
||||
radius = 15.426
|
||||
radius = 2.70035
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_wp4vi"]
|
||||
height = 20.0
|
||||
radius = 15.0
|
||||
height = 7.32397
|
||||
radius = 5.58984
|
||||
|
||||
[node name="HorseFace" type="CharacterBody3D"]
|
||||
collision_layer = 10
|
||||
@@ -30,6 +30,7 @@ script = ExtResource("1_x21p4")
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.283736, 0)
|
||||
shape = SubResource("CapsuleShape3D_c0n4w")
|
||||
|
||||
[node name="EnemyModelView" parent="." instance=ExtResource("2_x21p4")]
|
||||
@@ -53,6 +54,7 @@ collision_layer = 0
|
||||
collision_mask = 34
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.02405, 0)
|
||||
shape = SubResource("CylinderShape3D_wp4vi")
|
||||
|
||||
[node name="Components" type="Node3D" parent="."]
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -9,15 +9,15 @@
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_14j2x"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"]
|
||||
radius = 12.4931
|
||||
height = 50.0
|
||||
radius = 4.93622
|
||||
height = 27.7025
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_j7u30"]
|
||||
radius = 15.426
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_ow3fn"]
|
||||
height = 20.0
|
||||
radius = 15.0
|
||||
height = 30.2505
|
||||
radius = 26.2886
|
||||
|
||||
[node name="OX FACE" type="CharacterBody3D"]
|
||||
collision_layer = 10
|
||||
@@ -29,56 +29,30 @@ script = ExtResource("1_v6b2s")
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3517, 0, 1.32912)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.3517, 15.7207, 1.32912)
|
||||
shape = SubResource("CapsuleShape3D_7uhtm")
|
||||
|
||||
[node name="EnemyModelView" parent="." instance=ExtResource("2_v6b2s")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"]
|
||||
bones/0/position = Vector3(-0.259419, -0.955989, -1.97429)
|
||||
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
|
||||
bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213)
|
||||
bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025)
|
||||
bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842)
|
||||
bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036)
|
||||
bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875)
|
||||
bones/6/rotation = Quaternion(-0.0748623, -0.304184, -0.744777, 0.589215)
|
||||
bones/7/rotation = Quaternion(0.0788712, -0.0306685, -0.220772, 0.971647)
|
||||
bones/8/rotation = Quaternion(-0.127286, 0.0273856, -0.425308, 0.895635)
|
||||
bones/9/rotation = Quaternion(-0.0931654, 0.0493592, -0.752794, 0.649757)
|
||||
bones/10/rotation = Quaternion(0.0429966, 0.0102923, 0.363547, 0.930526)
|
||||
bones/11/rotation = Quaternion(-0.785185, -0.062058, 0.0709016, 0.612051)
|
||||
bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592)
|
||||
bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153)
|
||||
bones/14/rotation = Quaternion(-0.513517, -0.227335, -0.228787, 0.795157)
|
||||
bones/15/rotation = Quaternion(-0.210241, 0.737203, 0.62235, -0.158151)
|
||||
bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174)
|
||||
bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514)
|
||||
bones/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678)
|
||||
bones/19/position = Vector3(-0.302718, -1.12582, -1.97598)
|
||||
bones/19/rotation = Quaternion(0.611408, 0.312413, 0.571405, -0.449527)
|
||||
bones/20/rotation = Quaternion(-0.310858, -0.441522, -0.272557, 0.796328)
|
||||
bones/21/rotation = Quaternion(-0.0601548, 0.0013007, 0.486955, 0.871352)
|
||||
bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516)
|
||||
bones/23/rotation = Quaternion(0.123936, -0.00678731, -0.347765, 0.92933)
|
||||
bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549)
|
||||
bones/25/position = Vector3(4.82744, -12.3397, 0.183847)
|
||||
bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317)
|
||||
bones/26/position = Vector3(-0.253573, -1.11395, -2.0176)
|
||||
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
|
||||
bones/27/rotation = Quaternion(-0.208223, 0.421365, 0.142238, 0.871128)
|
||||
bones/28/rotation = Quaternion(-0.0641552, -0.00115561, -0.51221, 0.85646)
|
||||
bones/29/rotation = Quaternion(0.150998, -0.0515735, 0.668372, 0.726511)
|
||||
bones/31/position = Vector3(-7.29038, -6.72226, -0.133983)
|
||||
bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784)
|
||||
bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
|
||||
bones/0/position = Vector3(-0.260213, -1.04664, -1.96818)
|
||||
bones/6/rotation = Quaternion(-0.0474983, -0.294201, -0.744151, 0.597854)
|
||||
bones/11/rotation = Quaternion(-0.779884, -0.0574123, 0.0814975, 0.617934)
|
||||
bones/15/rotation = Quaternion(-0.215184, 0.744908, 0.614006, -0.147665)
|
||||
bones/19/position = Vector3(-0.375724, -1.19489, -1.73543)
|
||||
bones/19/rotation = Quaternion(0.626596, 0.294168, 0.546967, -0.470817)
|
||||
bones/20/rotation = Quaternion(-0.326686, -0.424016, -0.298791, 0.79007)
|
||||
bones/21/rotation = Quaternion(-0.0604759, 0.00129851, 0.489554, 0.869872)
|
||||
bones/26/position = Vector3(-0.0389835, -1.11395, -2.01906)
|
||||
bones/27/rotation = Quaternion(-0.202434, 0.424565, 0.138093, 0.871605)
|
||||
bones/28/rotation = Quaternion(-0.0628125, -0.00116426, -0.501489, 0.86288)
|
||||
|
||||
[node name="BoneAttachment3D" parent="EnemyModelView/Armature/Skeleton3D" index="0"]
|
||||
transform = Transform3D(-0.297606, -0.084924, -0.950904, -0.328725, -0.926012, 0.185582, -0.896309, 0.367817, 0.247669, -1.66129, 8.31029, 4.94733)
|
||||
transform = Transform3D(-0.266252, -0.0359368, -0.963233, -0.333724, -0.934064, 0.127095, -0.904288, 0.355294, 0.236703, -1.68942, 8.20709, 4.95646)
|
||||
|
||||
[node name="BoneAttachment3D2" parent="EnemyModelView/Armature/Skeleton3D" index="2"]
|
||||
transform = Transform3D(-0.0446689, 0.0287099, -0.998588, -0.0869986, -0.9959, -0.0247414, -0.995205, 0.0857716, 0.0469831, -6.16044, -1.31467, -0.144618)
|
||||
transform = Transform3D(-0.0475678, -0.00318436, -0.998862, -0.0802775, -0.996746, 0.0070003, -0.995635, 0.08052, 0.0471571, -6.31325, -1.22285, -0.162251)
|
||||
|
||||
[node name="Collision" type="Area3D" parent="."]
|
||||
collision_layer = 2048
|
||||
@@ -86,6 +60,7 @@ collision_mask = 0
|
||||
|
||||
[node name="EnemyHitbox" type="CollisionShape3D" parent="Collision"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 14.3724, 0)
|
||||
shape = SubResource("SphereShape3D_j7u30")
|
||||
disabled = true
|
||||
|
||||
@@ -98,6 +73,7 @@ collision_layer = 0
|
||||
collision_mask = 34
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.0279, 0)
|
||||
shape = SubResource("CylinderShape3D_ow3fn")
|
||||
|
||||
[node name="Components" type="Node3D" parent="."]
|
||||
|
||||
@@ -193,7 +193,7 @@ states/Idle/position = Vector2(347, 100)
|
||||
states/Walking/node = SubResource("AnimationNodeAnimation_desgq")
|
||||
states/Walking/position = Vector2(651, 100)
|
||||
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_1ch7e"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_v4mpe"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_nb428"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_srfnr"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_4g1p4"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_evyqg"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_x3fo8")]
|
||||
graph_offset = Vector2(0, -71.1111)
|
||||
graph_offset = Vector2(-3, 30.8889)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_pmgg3"]
|
||||
size = Vector3(5, 24.0327, 5.50244)
|
||||
@@ -2687,7 +2687,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.260079, -1.0314, -1.96921)
|
||||
bones/0/position = Vector3(-0.259313, -0.943851, -1.97511)
|
||||
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "spine0"
|
||||
@@ -2730,7 +2730,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.0501089, -0.295164, -0.744241, 0.597054)
|
||||
bones/6/rotation = Quaternion(-0.0765744, -0.3048, -0.744794, 0.588656)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
@@ -2765,7 +2765,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.780753, -0.0581654, 0.0797825, 0.61699)
|
||||
bones/11/rotation = Quaternion(-0.785869, -0.0626667, 0.0695102, 0.61127)
|
||||
bones/11/scale = Vector3(1, 0.999999, 1)
|
||||
bones/12/name = "arm2_L"
|
||||
bones/12/parent = 11
|
||||
@@ -2793,7 +2793,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.214357, 0.743627, 0.615419, -0.14943)
|
||||
bones/15/rotation = Quaternion(-0.209604, 0.736202, 0.623406, -0.15949)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "arm2_R"
|
||||
bones/16/parent = 15
|
||||
@@ -2820,22 +2820,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.363453, -1.18328, -1.77586)
|
||||
bones/19/rotation = Quaternion(0.624115, 0.297268, 0.551137, -0.467291)
|
||||
bones/19/position = Vector3(-0.292943, -1.11658, -2.00819)
|
||||
bones/19/rotation = Quaternion(0.6093, 0.314818, 0.574607, -0.446621)
|
||||
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.324069, -0.426989, -0.294434, 0.791182)
|
||||
bones/20/rotation = Quaternion(-0.308699, -0.443829, -0.268987, 0.797099)
|
||||
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.0604458, 0.00129872, 0.489311, 0.870011)
|
||||
bones/21/rotation = Quaternion(-0.0600826, 0.0013012, 0.486371, 0.871683)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
bones/22/name = "foot1_L"
|
||||
bones/22/parent = 21
|
||||
@@ -2869,7 +2869,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.075052, -1.11395, -2.01882)
|
||||
bones/26/position = Vector3(-0.282306, -1.11395, -2.01741)
|
||||
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
|
||||
bones/26/scale = Vector3(1, 1, 1)
|
||||
bones/27/name = "leg1_R"
|
||||
@@ -2877,14 +2877,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.203117, 0.424186, 0.138607, 0.871549)
|
||||
bones/27/rotation = Quaternion(-0.209012, 0.420929, 0.142768, 0.871062)
|
||||
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.0630364, -0.00116284, -0.503276, 0.861822)
|
||||
bones/28/rotation = Quaternion(-0.0643247, -0.0011545, -0.513563, 0.855637)
|
||||
bones/28/scale = Vector3(1, 1, 1)
|
||||
bones/29/name = "foot1_R"
|
||||
bones/29/parent = 28
|
||||
@@ -2916,7 +2916,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.269258, -0.0406326, -0.962211, -0.333329, -0.933426, 0.132693, -0.903543, 0.356462, 0.237788, -1.68671, 8.22359, 4.95517)
|
||||
transform = Transform3D(-0.299556, -0.08797, -0.950014, -0.328348, -0.925409, 0.189225, -0.895797, 0.368619, 0.248327, -1.65945, 8.32316, 4.94631)
|
||||
bone_name = "TOP OF SKULL"
|
||||
bone_idx = 8
|
||||
|
||||
@@ -2939,7 +2939,7 @@ mesh = SubResource("ArrayMesh_5ew54")
|
||||
skin = SubResource("Skin_e330f")
|
||||
|
||||
[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(-0.0470964, 0.0021763, -0.998887, -0.0814135, -0.996678, 0.00166662, -0.995565, 0.0814025, 0.0471165, -6.28798, -1.23862, -0.159353)
|
||||
transform = Transform3D(-0.0442828, 0.0327898, -0.99848, -0.0878525, -0.995716, -0.0288032, -0.995147, 0.0864444, 0.0469732, -6.14045, -1.32553, -0.14232)
|
||||
bone_name = "hand_R"
|
||||
bone_idx = 18
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
[Node] public Marker3D PlayerSpawn { get; set; } = default!;
|
||||
|
||||
//[Node] public Node3D HorseHeadStatue { get; set; } = default!;
|
||||
[Node] public Node3D HorseHeadStatue { get; set; } = default!;
|
||||
|
||||
[Node] public Node3D OxFaceStatue { get; set; } = default!;
|
||||
|
||||
[Node] public BossTypeA OxFace { get; set; } = default!;
|
||||
|
||||
//[Node] public BossTypeA HorseFace { get; set; } = default!;
|
||||
[Node] public BossTypeA HorseHead { get; set; } = default!;
|
||||
|
||||
[Node] public Area3D ActivateTrap { get; set; } = default!;
|
||||
|
||||
@@ -36,7 +36,7 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
ActivateTrap.BodyEntered += ActivateTrap_BodyEntered;
|
||||
_exit.AreaEntered += Exit_AreaEntered;
|
||||
OxFace.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
//HorseFace.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
HorseHead.HealthComponent.HealthReachedZero += CheckForBossFightEnd;
|
||||
}
|
||||
|
||||
private void ActivateTrap_BodyEntered(Node3D body)
|
||||
@@ -48,14 +48,14 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
public void StartBossFight()
|
||||
{
|
||||
OxFaceStatue.Hide();
|
||||
//HorseHeadStatue.Hide();
|
||||
HorseHeadStatue.Hide();
|
||||
OxFace.StartFight();
|
||||
//HorseFace.StartFight();
|
||||
HorseHead.StartFight();
|
||||
}
|
||||
|
||||
private void CheckForBossFightEnd()
|
||||
{
|
||||
if (OxFace.HealthComponent.CurrentHP.Value <= 0) //&& HorseFace.HealthComponent.CurrentHP.Value <= 0)
|
||||
if (OxFace.HealthComponent.CurrentHP.Value <= 0 && HorseHead.HealthComponent.CurrentHP.Value <= 0)
|
||||
OnBossFightEnded();
|
||||
}
|
||||
|
||||
@@ -78,5 +78,5 @@ public partial class BossRoomA : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform;
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawn.GlobalBasis, new Vector3(PlayerSpawn.GlobalPosition.X, -2.5f, PlayerSpawn.GlobalPosition.Z));
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public partial class BossRoomB : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
ActivateTrap.BodyEntered += ActivateTrap_AreaEntered;
|
||||
ActivateTrap.BodyEntered += ActivateTrap_AreaEntered;
|
||||
}
|
||||
|
||||
private void ActivateTrap_AreaEntered(Node3D area) => StartBossFight();
|
||||
@@ -32,7 +32,7 @@ public partial class BossRoomB : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
public void StartBossFight()
|
||||
{
|
||||
DemonWall.Activate();
|
||||
DemonWall.Activate();
|
||||
}
|
||||
|
||||
public void InitializeDungeon()
|
||||
@@ -40,5 +40,5 @@ public partial class BossRoomB : Node3D, IBossRoom, IDungeonFloor
|
||||
|
||||
}
|
||||
|
||||
public Transform3D GetPlayerSpawnPoint() => PlayerSpawn.GlobalTransform;
|
||||
public Transform3D GetPlayerSpawnPoint() => new Transform3D(PlayerSpawn.Basis, new Vector3(PlayerSpawn.Position.X, 0f, PlayerSpawn.Position.Z));
|
||||
}
|
||||
|
||||
@@ -106,6 +106,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -59.9126, 0.0301168, 12.1208)
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -28.017, 0.373, 36.8768)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_wji58")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -102,6 +102,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -35.27
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -22.0145, 0.373, 49.5146)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_54mxl")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -167,6 +167,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -49.0813, 0.0171744, 4.04785)
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.81506, 0.373, -3.07342)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_5v5l6")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -111,6 +111,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 62, 0,
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 77.1591, 0.373, -6.01604)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_7j2in")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -143,6 +143,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 63, 0, -34)
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.9476, 0.373, 36.4698)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_gw6gx")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -164,6 +164,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -48.46
|
||||
|
||||
[node name="Minimap2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.3474, 0.373, -36.0745)
|
||||
layers = 2
|
||||
mesh = SubResource("PlaneMesh_ckihq")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=64 format=4 uid="uid://5ja3qxn8h7iw"]
|
||||
[gd_scene load_steps=67 format=4 uid="uid://5ja3qxn8h7iw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://tqyybt313web" path="res://src/map/dungeon/code/BossRoomA.cs" id="1_0h3lb"]
|
||||
[ext_resource type="Texture2D" uid="uid://clc5f6yyc7sdw" path="res://src/map/assets/Jomon Bells/BELL ANIMATIONS_concrete_0003_color_1k.png" id="2_lqw6r"]
|
||||
@@ -7,6 +7,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dipyrtjclqae1" path="res://src/map/assets/Jomon Bells/BELL ANIMATIONS_COLUMN.jpg" id="3_ucaw1"]
|
||||
[ext_resource type="Texture2D" uid="uid://d1xdvf8awh4bi" path="res://src/map/assets/Jomon Bells/BELL ANIMATIONS_CHAIN_TEX.png" id="4_i4jo4"]
|
||||
[ext_resource type="Texture2D" uid="uid://d3e37dca0j8r4" path="res://src/map/dungeon/models/Special Floors & Rooms/Boss Floor A/15_A1_BOSS FLOOR A_VER_CEILING_1.jpg" id="11_1hwdv"]
|
||||
[ext_resource type="PackedScene" uid="uid://2wibfnu2jvlv" path="res://src/enemy/enemy_types/14. horse_head/HorseFace.tscn" id="14_jb41f"]
|
||||
[ext_resource type="PackedScene" uid="uid://8yaqqojv4nuv" path="res://src/enemy/enemy_types/14. horse_head/HorseHeadStatue.tscn" id="15_1ijgn"]
|
||||
[ext_resource type="PackedScene" uid="uid://bvv5giqyrhtl1" path="res://src/enemy/enemy_types/15. ox_face/OxFaceStatue.tscn" id="26_futcf"]
|
||||
[ext_resource type="PackedScene" uid="uid://6dnsw37d1uw4" path="res://src/enemy/enemy_types/15. ox_face/OxFace.tscn" id="27_g6y6v"]
|
||||
[ext_resource type="Shader" uid="uid://dr68ani6ouefm" path="res://src/map/map shaders/B1 Cloud Roll.gdshader" id="30_lmjp4"]
|
||||
@@ -605,6 +607,10 @@ size = Vector3(2.37085, 8.23395, 7.05534)
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_1ijgn"]
|
||||
size = Vector3(1.5415, 7.38159, 1.81665)
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_1ijgn"]
|
||||
height = 8.80884
|
||||
radius = 1.56006
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_pkvyy"]
|
||||
size = Vector3(6.25977, 15.6429, 37.6357)
|
||||
|
||||
@@ -824,6 +830,10 @@ shape = SubResource("BoxShape3D_1ijgn")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 68.86, 17.0536, -22.0851)
|
||||
shape = SubResource("BoxShape3D_1ijgn")
|
||||
|
||||
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Collision/NavigationRegion3D/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 65.7999, 16.8505, -17.951)
|
||||
shape = SubResource("CylinderShape3D_1ijgn")
|
||||
|
||||
[node name="Spawn Points" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.6848, 0, 16.939)
|
||||
|
||||
@@ -836,13 +846,11 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1.7279
|
||||
[node name="ActivateTrap" type="Area3D" parent="Room"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 117.392, -35.0626, -17.4901)
|
||||
visible = false
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/ActivateTrap"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -240.071, 36.4279, 34.624)
|
||||
visible = false
|
||||
shape = SubResource("BoxShape3D_pkvyy")
|
||||
|
||||
[node name="Exit" type="Area3D" parent="Room"]
|
||||
@@ -858,17 +866,29 @@ shape = SubResource("BoxShape3D_1qa0g")
|
||||
[node name="Bosses" type="Node3D" parent="."]
|
||||
|
||||
[node name="OxFace" type="Node3D" parent="Bosses"]
|
||||
transform = Transform3D(-6.55671e-09, 0, -0.15, 0, 0.15, 0, 0.15, 0, -6.55671e-09, -102.157, -0.510939, 13.3664)
|
||||
transform = Transform3D(-6.55671e-09, 0, -0.15, 0, 0.15, 0, 0.15, 0, -6.55671e-09, -103.103, -0.510939, 13.3065)
|
||||
|
||||
[node name="OxFaceStatue" parent="Bosses/OxFace" instance=ExtResource("26_futcf")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(6.66667, 0, 0, 0, 6.66667, 0, 0, 0, 6.66667, 54.7793, -11.9846, -4.01331)
|
||||
transform = Transform3D(6.66667, 0, 2.84217e-14, 0, 6.66667, 0, -2.84217e-14, 0, 6.66667, 54.7793, -14.4037, -4.01331)
|
||||
|
||||
[node name="OxFace" parent="Bosses/OxFace" instance=ExtResource("27_g6y6v")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 58.194, -12.7983, -3.02698)
|
||||
transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 58.194, -15.2174, -3.02698)
|
||||
visible = false
|
||||
|
||||
[node name="HorseHead" type="Node3D" parent="Bosses"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.862301, 0, 2.20054)
|
||||
|
||||
[node name="HorseHead" parent="Bosses/HorseHead" instance=ExtResource("14_jb41f")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.714, -0.54814, 10.8406)
|
||||
visible = false
|
||||
|
||||
[node name="HorseHeadStatue" parent="Bosses/HorseHead" instance=ExtResource("15_1ijgn")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.651, -2.53702, 10.6128)
|
||||
|
||||
[node name="Lights" type="Node3D" parent="."]
|
||||
|
||||
[node name="Outside Sun" type="DirectionalLight3D" parent="Lights"]
|
||||
|
||||
Reference in New Issue
Block a user