Fix level up, fix gallery room height, fix enemy heights, fix gospel of dimension spawn height, put minimap on right visual layer for some floors, add script to floor scene file

This commit is contained in:
2026-02-06 03:24:34 -08:00
parent 70a33d68cf
commit 8dd194a202
44 changed files with 125 additions and 53 deletions

View File

@@ -15,4 +15,6 @@ public interface IExperiencePointsComponent : IEntityComponent
public void Gain(int baseExpGain); public void Gain(int baseExpGain);
public void LevelUp(); public void LevelUp();
public event Action PlayerLevelUp;
} }

View File

@@ -22,6 +22,8 @@ public class ExperiencePointsComponent : IExperiencePointsComponent
private readonly AutoProp<int> _level; private readonly AutoProp<int> _level;
public event Action PlayerLevelUp;
public ExperiencePointsComponent() public ExperiencePointsComponent()
{ {
var firstLevelExpRequirement = ExpToNextLevelCalculation(1); var firstLevelExpRequirement = ExpToNextLevelCalculation(1);
@@ -57,6 +59,7 @@ public class ExperiencePointsComponent : IExperiencePointsComponent
var expToNextLevel = ExpToNextLevelCalculation(_level.Value); var expToNextLevel = ExpToNextLevelCalculation(_level.Value);
_currentExp.OnNext(_currentExp.Value - _expToNextLevel.Value); _currentExp.OnNext(_currentExp.Value - _expToNextLevel.Value);
_expToNextLevel.OnNext(expToNextLevel); _expToNextLevel.OnNext(expToNextLevel);
PlayerLevelUp?.Invoke();
} }
private int ExpToNextLevelCalculation(int nextLevel) private int ExpToNextLevelCalculation(int nextLevel)

View File

@@ -207,7 +207,7 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
var spawnPointsGodotCollection = new Godot.Collections.Array<Marker3D>(spawnPoints); var spawnPointsGodotCollection = new Godot.Collections.Array<Marker3D>(spawnPoints);
var randomSpawnPoint = spawnPointsGodotCollection.PickRandom(); var randomSpawnPoint = spawnPointsGodotCollection.PickRandom();
GlobalPosition = randomSpawnPoint.GlobalPosition; GlobalPosition = new Vector3(randomSpawnPoint.GlobalPosition.X, 0, randomSpawnPoint.GlobalPosition.Y);
_previousPosition = GlobalPosition; _previousPosition = GlobalPosition;
if (this is IHavePatrolBehavior patrolEnemy) if (this is IHavePatrolBehavior patrolEnemy)

View File

@@ -33,7 +33,7 @@ public abstract partial class Enemy2D : Enemy
if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer || _enemyLogic.Value is EnemyLogic.State.Patrolling) if (_enemyLogic.Value is EnemyLogic.State.FollowPlayer || _enemyLogic.Value is EnemyLogic.State.Patrolling)
{ {
var velocity = (GlobalPosition - _previousPosition) / (float)delta; var velocity = (GlobalPosition - _previousPosition) / (float)delta;
if (velocity.IsZeroApprox()) if (velocity.Length() < 0.3f)
_enemyLogic.Input(new EnemyLogic.Input.Idle()); _enemyLogic.Input(new EnemyLogic.Input.Idle());
else else
_enemyLogic.Input(new EnemyLogic.Input.Move()); _enemyLogic.Input(new EnemyLogic.Input.Move());

View File

@@ -84,18 +84,12 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
public virtual void PlayIdleAnimation() public virtual void PlayIdleAnimation()
{ {
if (!AnimationTree.HasAnimation("idle_front"))
return;
_walkSFX.Stop(); _walkSFX.Stop();
_stateMachine.Travel(_idleName, false); _stateMachine.Travel(_idleName, false);
} }
public virtual void PlayWalkAnimation() public virtual void PlayWalkAnimation()
{ {
if (!AnimationTree.HasAnimation("idle_front_walking"))
return;
if (!_walkSFX.Playing) if (!_walkSFX.Playing)
_walkSFX.Play(); _walkSFX.Play();
_stateMachine.Travel(_walkingName, false); _stateMachine.Travel(_walkingName, false);

View File

@@ -38,6 +38,7 @@ public partial class FilthEater : Enemy2D, IHavePatrolBehavior, IHaveEngagePlaye
public void OnResolved() public void OnResolved()
{ {
_enemyLogic.Input(new EnemyLogic.Input.Activate());
_enemyLogic.Input(new EnemyLogic.Input.Patrol()); _enemyLogic.Input(new EnemyLogic.Input.Patrol());
} }

View File

@@ -25,6 +25,13 @@ radius = 1.0
script = ExtResource("4_5eid5") script = ExtResource("4_5eid5")
Name = "Filth Eater" Name = "Filth Eater"
Description = "This guy grosses me out." Description = "This guy grosses me out."
MaximumHP = ""
ATK = ""
DEF = ""
Affinity = ""
Weakness = ""
Drop1 = ""
Drop2 = ""
metadata/_custom_type_script = ExtResource("4_5eid5") metadata/_custom_type_script = ExtResource("4_5eid5")
[sub_resource type="CylinderShape3D" id="CylinderShape3D_qbmfg"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_qbmfg"]
@@ -41,7 +48,7 @@ script = ExtResource("1_p438s")
[node name="LineOfSight" type="Area3D" parent="."] [node name="LineOfSight" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.56859, 0)
collision_layer = 2 collision_layer = 2
collision_mask = 2 collision_mask = 2
@@ -51,15 +58,17 @@ shape = SubResource("CylinderShape3D_jbgmx")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.56859, 0)
shape = SubResource("CapsuleShape3D_cwfph") shape = SubResource("CapsuleShape3D_cwfph")
[node name="Raycast" type="RayCast3D" parent="."] [node name="Raycast" type="RayCast3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56859, 0)
target_position = Vector3(0, 0, -5) target_position = Vector3(0, 0, -5)
collision_mask = 3 collision_mask = 3
[node name="Collision" type="Area3D" parent="."] [node name="Collision" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56859, 0)
collision_layer = 2048 collision_layer = 2048
collision_mask = 0 collision_mask = 0
@@ -69,10 +78,12 @@ shape = SubResource("SphereShape3D_0y048")
[node name="EnemyModelView" parent="." instance=ExtResource("3_rrwed")] [node name="EnemyModelView" parent="." instance=ExtResource("3_rrwed")]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.06859, 0)
EnemyLoreInfo = SubResource("Resource_fv5vf") EnemyLoreInfo = SubResource("Resource_fv5vf")
[node name="PlayerDetector" type="Area3D" parent="."] [node name="PlayerDetector" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56859, 0)
collision_layer = 0 collision_layer = 0
collision_mask = 34 collision_mask = 34
@@ -81,6 +92,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.179932, 0)
shape = SubResource("CylinderShape3D_qbmfg") shape = SubResource("CylinderShape3D_qbmfg")
[node name="Components" type="Node3D" parent="."] [node name="Components" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56859, 0)
[node name="PatrolBehavior" parent="Components" instance=ExtResource("5_pvjvo")] [node name="PatrolBehavior" parent="Components" instance=ExtResource("5_pvjvo")]
unique_name_in_owner = true unique_name_in_owner = true
@@ -99,6 +111,7 @@ avoidance_enabled = true
radius = 1.0 radius = 1.0
[node name="HitSounds" type="Node3D" parent="."] [node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56859, 0)
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] [node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -1919,7 +1919,7 @@ states/Start/position = Vector2(198, 100)
states/Walking/node = ExtResource("197_mno7m") states/Walking/node = ExtResource("197_mno7m")
states/Walking/position = Vector2(588, 100) states/Walking/position = Vector2(588, 100)
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0")] transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0")]
graph_offset = Vector2(-32, 46) graph_offset = Vector2(226.043, 46)
[sub_resource type="AtlasTexture" id="AtlasTexture_smxxh"] [sub_resource type="AtlasTexture" id="AtlasTexture_smxxh"]
atlas = ExtResource("194_pyy2h") atlas = ExtResource("194_pyy2h")

View File

@@ -36,10 +36,11 @@ script = ExtResource("1_3ejdn")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.95329, 0)
shape = SubResource("CapsuleShape3D_cwfph") shape = SubResource("CapsuleShape3D_cwfph")
[node name="Collision" type="Node3D" parent="."] [node name="Collision" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.95329, 0)
[node name="Collision" type="Area3D" parent="Collision"] [node name="Collision" type="Area3D" parent="Collision"]
collision_layer = 2048 collision_layer = 2048
@@ -50,7 +51,7 @@ shape = SubResource("SphereShape3D_8vcnq")
[node name="LineOfSight" type="Area3D" parent="."] [node name="LineOfSight" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.95329, 0)
collision_layer = 2 collision_layer = 2
collision_mask = 2 collision_mask = 2
@@ -65,12 +66,14 @@ target_position = Vector3(0, 0, -5)
collision_mask = 3 collision_mask = 3
[node name="Visual" type="Node3D" parent="."] [node name="Visual" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.95329, 0)
[node name="EnemyModelView" parent="Visual" instance=ExtResource("4_82s0m")] [node name="EnemyModelView" parent="Visual" instance=ExtResource("4_82s0m")]
unique_name_in_owner = true unique_name_in_owner = true
[node name="PlayerDetector" type="Area3D" parent="."] [node name="PlayerDetector" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.95329, 0)
collision_layer = 0 collision_layer = 0
collision_mask = 34 collision_mask = 34
@@ -78,6 +81,7 @@ collision_mask = 34
shape = SubResource("CylinderShape3D_746fv") shape = SubResource("CylinderShape3D_746fv")
[node name="Components" type="Node3D" parent="."] [node name="Components" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.95329, 0)
[node name="PatrolBehavior" parent="Components" instance=ExtResource("4_8ymq6")] [node name="PatrolBehavior" parent="Components" instance=ExtResource("4_8ymq6")]
unique_name_in_owner = true unique_name_in_owner = true
@@ -96,6 +100,7 @@ avoidance_enabled = true
radius = 1.0 radius = 1.0
[node name="HitSounds" type="Node3D" parent="."] [node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.95329, 0)
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] [node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -122,7 +127,7 @@ stream = ExtResource("10_ddchx")
bus = &"SFX" bus = &"SFX"
[node name="Shadow" type="Sprite3D" parent="."] [node name="Shadow" type="Sprite3D" parent="."]
transform = Transform3D(0.925, 0, 0, 0, -4.0433e-08, 0.925, 0, -0.925, -4.0433e-08, 0.00393164, -1.00089, 0.0077811) transform = Transform3D(0.925, 0, 0, 0, -4.0433e-08, 0.925, 0, -0.925, -4.0433e-08, 0.00393164, 0.101466, 0.0077811)
transparency = 0.1 transparency = 0.1
cast_shadow = 0 cast_shadow = 0
modulate = Color(1, 1, 1, 0.591) modulate = Color(1, 1, 1, 0.591)

View File

@@ -33,12 +33,12 @@ script = ExtResource("1_iy2fp")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2, 0)
shape = SubResource("CapsuleShape3D_cwfph") shape = SubResource("CapsuleShape3D_cwfph")
[node name="LineOfSight" type="Area3D" parent="."] [node name="LineOfSight" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2, 0)
collision_layer = 2 collision_layer = 2
collision_mask = 2 collision_mask = 2
@@ -53,6 +53,7 @@ target_position = Vector3(0, 0, -5)
collision_mask = 3 collision_mask = 3
[node name="Collision" type="Area3D" parent="."] [node name="Collision" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
collision_layer = 2048 collision_layer = 2048
collision_mask = 0 collision_mask = 0
@@ -61,9 +62,11 @@ shape = SubResource("SphereShape3D_8vcnq")
[node name="EnemyModelView" parent="." instance=ExtResource("2_v2urn")] [node name="EnemyModelView" parent="." instance=ExtResource("2_v2urn")]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="PlayerDetector" type="Area3D" parent="."] [node name="PlayerDetector" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
collision_layer = 0 collision_layer = 0
collision_mask = 34 collision_mask = 34
@@ -71,6 +74,7 @@ collision_mask = 34
shape = SubResource("CylinderShape3D_jhnwb") shape = SubResource("CylinderShape3D_jhnwb")
[node name="Components" type="Node3D" parent="."] [node name="Components" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="PatrolBehavior" parent="Components" instance=ExtResource("4_bjnvx")] [node name="PatrolBehavior" parent="Components" instance=ExtResource("4_bjnvx")]
unique_name_in_owner = true unique_name_in_owner = true
@@ -92,6 +96,7 @@ avoidance_enabled = true
radius = 1.0 radius = 1.0
[node name="HitSounds" type="Node3D" parent="."] [node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] [node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -1537,7 +1537,7 @@ autoplay = true
bus = &"SFX" bus = &"SFX"
[node name="Shadow" type="Sprite3D" parent="."] [node name="Shadow" type="Sprite3D" parent="."]
transform = Transform3D(1.265, 0, 0, 0, -5.52949e-08, 1.265, 0, -1.265, -5.52949e-08, 0.00393164, -1.31885, 0.0077811) transform = Transform3D(1.265, 0, 0, 0, -5.52949e-08, 1.265, 0, -1.265, -5.52949e-08, 0.00393164, -1.88689, 0.0077811)
transparency = 0.1 transparency = 0.1
cast_shadow = 0 cast_shadow = 0
modulate = Color(1, 1, 1, 0.591) modulate = Color(1, 1, 1, 0.591)

View File

@@ -33,12 +33,12 @@ script = ExtResource("1_e2477")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.47389, 0)
shape = SubResource("CapsuleShape3D_cwfph") shape = SubResource("CapsuleShape3D_cwfph")
[node name="LineOfSight" type="Area3D" parent="."] [node name="LineOfSight" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1.47389, 0)
collision_layer = 2 collision_layer = 2
collision_mask = 2 collision_mask = 2
@@ -53,6 +53,7 @@ target_position = Vector3(0, 0, -5)
collision_mask = 3 collision_mask = 3
[node name="Collision" type="Area3D" parent="."] [node name="Collision" type="Area3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47389, 0)
collision_layer = 2048 collision_layer = 2048
collision_mask = 0 collision_mask = 0
@@ -61,9 +62,11 @@ shape = SubResource("SphereShape3D_8vcnq")
[node name="EnemyModelView" parent="." instance=ExtResource("3_tbkej")] [node name="EnemyModelView" parent="." instance=ExtResource("3_tbkej")]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47389, 0)
[node name="PlayerDetector" type="Area3D" parent="."] [node name="PlayerDetector" type="Area3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47389, 0)
collision_layer = 0 collision_layer = 0
collision_mask = 34 collision_mask = 34
@@ -71,6 +74,7 @@ collision_mask = 34
shape = SubResource("CylinderShape3D_tbkej") shape = SubResource("CylinderShape3D_tbkej")
[node name="Components" type="Node3D" parent="."] [node name="Components" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47389, 0)
[node name="PatrolBehavior" parent="Components" instance=ExtResource("4_dxxe5")] [node name="PatrolBehavior" parent="Components" instance=ExtResource("4_dxxe5")]
unique_name_in_owner = true unique_name_in_owner = true
@@ -89,6 +93,7 @@ avoidance_enabled = true
radius = 1.0 radius = 1.0
[node name="HitSounds" type="Node3D" parent="."] [node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.47389, 0)
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"] [node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -39,11 +39,4 @@ public partial class GoldSproingy : Enemy2D, IHavePatrolBehavior, IHaveFleeBehav
} }
public override void Move() => EnemyModelView.PlayIdleAnimation(); public override void Move() => EnemyModelView.PlayIdleAnimation();
public override void _ExitTree()
{
PatrolBehavior.OnVelocityComputed -= OnVelocityComputed;
PlayerDetector.BodyEntered -= PlayerDetector_BodyEntered;
PlayerDetector.BodyExited -= PlayerDetector_BodyExited;
}
} }

View File

@@ -42,10 +42,11 @@ script = ExtResource("1_o1o4d")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 2.09874, 0)
shape = SubResource("CapsuleShape3D_cwfph") shape = SubResource("CapsuleShape3D_cwfph")
[node name="Collision" type="Node3D" parent="."] [node name="Collision" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.09874, 0)
[node name="Collision" type="Area3D" parent="Collision"] [node name="Collision" type="Area3D" parent="Collision"]
collision_layer = 2048 collision_layer = 2048
@@ -83,11 +84,13 @@ collision_mask = 34
shape = SubResource("CylinderShape3D_drfkj") shape = SubResource("CylinderShape3D_drfkj")
[node name="Visual" type="Node3D" parent="."] [node name="Visual" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.09874, 0)
[node name="EnemyModelView" parent="Visual" instance=ExtResource("2_o1o4d")] [node name="EnemyModelView" parent="Visual" instance=ExtResource("2_o1o4d")]
unique_name_in_owner = true unique_name_in_owner = true
[node name="Components" type="Node3D" parent="."] [node name="Components" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.09874, 0)
[node name="PatrolBehavior" parent="Components" instance=ExtResource("3_dxqkk")] [node name="PatrolBehavior" parent="Components" instance=ExtResource("3_dxqkk")]
unique_name_in_owner = true unique_name_in_owner = true
@@ -101,6 +104,7 @@ avoidance_enabled = true
radius = 1.0 radius = 1.0
[node name="SFX" type="Node3D" parent="."] [node name="SFX" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.09874, 0)
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"] [node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@@ -209,7 +209,7 @@ public class EffectService
var roomsGodotCollection = new Godot.Collections.Array<MonsterRoom>(validRooms); var roomsGodotCollection = new Godot.Collections.Array<MonsterRoom>(validRooms);
var randomRoom = roomsGodotCollection.PickRandom(); var randomRoom = roomsGodotCollection.PickRandom();
var spawnPoint = randomRoom.PlayerSpawn; var spawnPoint = randomRoom.PlayerSpawn;
player.TeleportPlayer((spawnPoint.Rotation, spawnPoint.Position)); player.TeleportPlayer((spawnPoint.Rotation, new Vector3(spawnPoint.Position.X, 0, spawnPoint.Position.Z)));
SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom); SfxDatabase.Instance.Play(SoundEffect.TeleportToRandomRoom);
} }

View File

@@ -78,7 +78,7 @@ navigation_mesh = SubResource("NavigationMesh_7ysko")
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -27.9429, 0, -4.39086) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -27.9429, 0, -4.39086)
[node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("3_7ysko")] [node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("3_7ysko")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 2.00561, 33.9984) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, 33.998)
[node name="BasinRoom" parent="NavigationRegion3D" instance=ExtResource("8_mm2su")] [node name="BasinRoom" parent="NavigationRegion3D" instance=ExtResource("8_mm2su")]
transform = Transform3D(0, 0, 1, 0, 1, 0, -1, 0, 0, 33.9683, -0.0379416, 34.0224) transform = Transform3D(0, 0, 1, 0, 1, 0, -1, 0, 0, 33.9683, -0.0379416, 34.0224)

View File

@@ -128,7 +128,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -29, 0, -14)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.0424, -3.38633, 47.9748) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.0424, -3.38633, 47.9748)
[node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("12_u3sjh")] [node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("12_u3sjh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 2.00241, 30) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 30)
[node name="CA1_CORNERBLOCK" parent="NavigationRegion3D" instance=ExtResource("5_5con5")] [node name="CA1_CORNERBLOCK" parent="NavigationRegion3D" instance=ExtResource("5_5con5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -59, 0, 28) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -59, 0, 28)

View File

@@ -92,7 +92,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -6.947
transform = Transform3D(2.98023e-08, 0, -1, 0, 1, 0, 1, 0, 2.98023e-08, -44.8972, 0, -3.93051) transform = Transform3D(2.98023e-08, 0, -1, 0, 1, 0, 1, 0, 2.98023e-08, -44.8972, 0, -3.93051)
[node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("6_pbqy2")] [node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("6_pbqy2")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.00045, 2, 18) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, 18)
[node name="02_BigBlockRoom" parent="NavigationRegion3D" instance=ExtResource("7_ry1wj")] [node name="02_BigBlockRoom" parent="NavigationRegion3D" instance=ExtResource("7_ry1wj")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 24.9478, 0, 17.9076) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 24.9478, 0, 17.9076)
@@ -149,7 +149,8 @@ mesh = SubResource("PlaneMesh_ry1wj")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.88379, -1.627, 10.9144) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.88379, -0.652309, 10.9144)
layers = 2
mesh = SubResource("PlaneMesh_ferpc") mesh = SubResource("PlaneMesh_ferpc")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -166,8 +166,12 @@ layers = 0
mesh = SubResource("PlaneMesh_q0osc") mesh = SubResource("PlaneMesh_q0osc")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="Node3D6" parent="NavigationRegion3D" instance=ExtResource("15_rdx86")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 35.3871, 0, 5.99815)
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.87502, -1.627, 11.4857) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.87502, -1.627, 11.4857)
layers = 2
mesh = SubResource("PlaneMesh_2edmy") mesh = SubResource("PlaneMesh_2edmy")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -89,7 +89,7 @@ transform = Transform3D(-8.74228e-08, 0, -2, 0, 2, 0, 2, 0, -8.74228e-08, 73.702
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 20.833, 4.371, -22.475) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 20.833, 4.371, -22.475)
[node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("5_bqqn6")] [node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("5_bqqn6")]
transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -41.9999, 1.98411, 46) transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -42, 0, 46)
[node name="Statue Room" parent="NavigationRegion3D" instance=ExtResource("12_mwhl3")] [node name="Statue Room" parent="NavigationRegion3D" instance=ExtResource("12_mwhl3")]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -33.9995, 0, 12.0695) transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -33.9995, 0, 12.0695)
@@ -155,6 +155,7 @@ mesh = SubResource("PlaneMesh_bqqn6")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3232, -9.627, 9.60703) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.3232, -9.627, 9.60703)
layers = 2
mesh = SubResource("PlaneMesh_e2od1") mesh = SubResource("PlaneMesh_e2od1")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -1,5 +1,6 @@
[gd_scene load_steps=20 format=3 uid="uid://b0ufyie2aq3oy"] [gd_scene load_steps=21 format=3 uid="uid://b0ufyie2aq3oy"]
[ext_resource type="Script" uid="uid://dwt6302nsf4vq" path="res://src/map/dungeon/code/DungeonFloor.cs" id="1_3sxps"]
[ext_resource type="PackedScene" uid="uid://dfpyfpnya0f4u" path="res://src/map/dungeon/rooms/Set A/13. Water Room.tscn" id="1_jn0u4"] [ext_resource type="PackedScene" uid="uid://dfpyfpnya0f4u" path="res://src/map/dungeon/rooms/Set A/13. Water Room.tscn" id="1_jn0u4"]
[ext_resource type="PackedScene" uid="uid://by2op0p65ht27" path="res://src/map/dungeon/rooms/Set A/02. Big Block Room.tscn" id="2_eck5x"] [ext_resource type="PackedScene" uid="uid://by2op0p65ht27" path="res://src/map/dungeon/rooms/Set A/02. Big Block Room.tscn" id="2_eck5x"]
[ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="3_3sxps"] [ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="3_3sxps"]
@@ -70,6 +71,7 @@ _data = {
} }
[node name="4b" type="Node3D"] [node name="4b" type="Node3D"]
script = ExtResource("1_3sxps")
[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] [node name="NavigationRegion3D" type="NavigationRegion3D" parent="."]
navigation_mesh = SubResource("NavigationMesh_eck5x") navigation_mesh = SubResource("NavigationMesh_eck5x")
@@ -127,6 +129,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.3714, -14.627, -7.52566) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.3714, -14.627, -7.52566)
layers = 2
mesh = SubResource("PlaneMesh_a154m") mesh = SubResource("PlaneMesh_a154m")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -81,7 +81,7 @@ navigation_mesh = SubResource("NavigationMesh_rghjh")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.705, -0.08, 10.07) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.705, -0.08, 10.07)
[node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("2_f4t56")] [node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("2_f4t56")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -12.7064, 2, -31.9042) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -12.706, 0, -31.904)
[node name="Long Room" parent="NavigationRegion3D" instance=ExtResource("3_wbyyx")] [node name="Long Room" parent="NavigationRegion3D" instance=ExtResource("3_wbyyx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.1365, 0, -3.89138) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -51.1365, 0, -3.89138)
@@ -154,6 +154,7 @@ skeleton = NodePath("../../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.70335, -5.627, -3.95678) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.70335, -5.627, -3.95678)
layers = 2
mesh = SubResource("PlaneMesh_nls0x") mesh = SubResource("PlaneMesh_nls0x")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -143,7 +143,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -19.79
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -21.8763, -0.0302756, -61.0795) transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -21.8763, -0.0302756, -61.0795)
[node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("15_b6ce1")] [node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("15_b6ce1")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 92.3546, 1.97453, -46.5255) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 92.355, 0, -46.526)
[node name="Node3D18" parent="NavigationRegion3D" instance=ExtResource("8_3ae17")] [node name="Node3D18" parent="NavigationRegion3D" instance=ExtResource("8_3ae17")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 9.7533, 0, -34.5417) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 9.7533, 0, -34.5417)
@@ -165,6 +165,7 @@ skeleton = NodePath("../../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32.1436, -17.627, -25.006) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 32.1436, -17.627, -25.006)
layers = 2
mesh = SubResource("PlaneMesh_yhnvc") mesh = SubResource("PlaneMesh_yhnvc")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -158,6 +158,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35.2676, -9.54691, -16.1372) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -35.2676, -9.54691, -16.1372)
layers = 2
mesh = SubResource("PlaneMesh_36beo") mesh = SubResource("PlaneMesh_36beo")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -83,7 +83,7 @@ navigation_mesh = SubResource("NavigationMesh_p70jf")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.387, 3.56246, 45.5497) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.387, 3.56246, 45.5497)
[node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("3_5rsdd")] [node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("3_5rsdd")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -30.9011, 2.00522, 19.2355) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -30.901, 0, 19.236)
[node name="Column Room" parent="NavigationRegion3D" instance=ExtResource("4_l15fl")] [node name="Column Room" parent="NavigationRegion3D" instance=ExtResource("4_l15fl")]
transform = Transform3D(1, 0, -1.06581e-14, 0, 1, 0, 1.06581e-14, 0, 1, 78.6671, 0, 42.7835) transform = Transform3D(1, 0, -1.06581e-14, 0, 1, 0, 1.06581e-14, 0, 1, 78.6671, 0, 42.7835)
@@ -174,6 +174,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 43.4336, -7.83002, 10.6265) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 43.4336, -7.83002, 10.6265)
layers = 2
mesh = SubResource("PlaneMesh_l15fl") mesh = SubResource("PlaneMesh_l15fl")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -159,6 +159,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.9971, -1.23456, 12.6741) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.9971, -1.23456, 12.6741)
layers = 2
mesh = SubResource("PlaneMesh_m6pak") mesh = SubResource("PlaneMesh_m6pak")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -93,7 +93,7 @@ transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -1, 0, -
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.9281, -0.085, 10) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 38.9281, -0.085, 10)
[node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("6_mqwjf")] [node name="GalleryA1" parent="NavigationRegion3D" instance=ExtResource("6_mqwjf")]
transform = Transform3D(1.98418e-09, 0, 1, 0, 1, 0, -1, 0, 1.98418e-09, -47, 2, 20) transform = Transform3D(1.98418e-09, 0, 1, 0, 1, 0, -1, 0, 1.98418e-09, -47, 0, 20)
[node name="Long Room" parent="NavigationRegion3D" instance=ExtResource("7_caxvq")] [node name="Long Room" parent="NavigationRegion3D" instance=ExtResource("7_caxvq")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90.412, 0, -4) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90.412, 0, -4)
@@ -102,7 +102,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 90.412, 0, -4)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.00053, 0, -13.9305) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.00053, 0, -13.9305)
[node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("9_3rk4b")] [node name="A1CircleRoom" parent="NavigationRegion3D" instance=ExtResource("9_3rk4b")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -5, 2, 20) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -5, 0, 20)
[node name="CA1_3BLOCK" parent="NavigationRegion3D" instance=ExtResource("8_irxvk")] [node name="CA1_3BLOCK" parent="NavigationRegion3D" instance=ExtResource("8_irxvk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 22) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 22)
@@ -154,6 +154,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.946, -1.01226, -8.047) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 28.946, -1.01226, -8.047)
layers = 2
mesh = SubResource("PlaneMesh_mqwjf") mesh = SubResource("PlaneMesh_mqwjf")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -174,6 +174,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.3119, -1.65182, -2.33316) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.3119, -1.65182, -2.33316)
layers = 2
mesh = SubResource("PlaneMesh_u6l1h") mesh = SubResource("PlaneMesh_u6l1h")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

File diff suppressed because one or more lines are too long

View File

@@ -193,6 +193,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 61.8826, -1.59075, -9.67056) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 61.8826, -1.59075, -9.67056)
layers = 2
mesh = SubResource("PlaneMesh_cqkfq") mesh = SubResource("PlaneMesh_cqkfq")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -154,6 +154,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.87809, -8.95929, 41.5167) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.87809, -8.95929, 41.5167)
layers = 2
mesh = SubResource("PlaneMesh_53qaf") mesh = SubResource("PlaneMesh_53qaf")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -147,6 +147,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.27648, -4.40777, 38.915) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.27648, -4.40777, 38.915)
layers = 2
mesh = SubResource("PlaneMesh_qclr3") mesh = SubResource("PlaneMesh_qclr3")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -149,4 +149,5 @@ skeleton = NodePath("../..")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.9422, 0, -22.6404) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39.9422, 0, -22.6404)
layers = 2
mesh = SubResource("PlaneMesh_axhvs") mesh = SubResource("PlaneMesh_axhvs")

View File

@@ -192,6 +192,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.44169, -0.247826, 3.07943) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.44169, -0.247826, 3.07943)
layers = 2
mesh = SubResource("PlaneMesh_tr1gi") mesh = SubResource("PlaneMesh_tr1gi")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -166,6 +166,7 @@ skeleton = NodePath("../..")
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.8659, -11.2217, 66.0216) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.8659, -11.2217, 66.0216)
layers = 2
mesh = SubResource("PlaneMesh_f5oy5") mesh = SubResource("PlaneMesh_f5oy5")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -170,6 +170,7 @@ skeleton = NodePath("../..")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.859, -1.6004, 42.4854) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.859, -1.6004, 42.4854)
layers = 2
mesh = SubResource("PlaneMesh_vi6hn") mesh = SubResource("PlaneMesh_vi6hn")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"]

View File

@@ -189,6 +189,7 @@ skeleton = NodePath("../..")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.9698, -4.55022, -79.843) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -39.9698, -4.55022, -79.843)
layers = 2
mesh = SubResource("PlaneMesh_nlvua") mesh = SubResource("PlaneMesh_nlvua")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"]

View File

@@ -168,6 +168,7 @@ mesh = SubResource("PlaneMesh_irwtv")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.0523, -3.76094, 15.9884) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.0523, -3.76094, 15.9884)
layers = 2
mesh = SubResource("PlaneMesh_wklws") mesh = SubResource("PlaneMesh_wklws")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"]

View File

@@ -151,6 +151,7 @@ skeleton = NodePath("../..")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.60067, -1.96918, 40.358) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.60067, -1.96918, 40.358)
layers = 2
mesh = SubResource("PlaneMesh_xw3tf") mesh = SubResource("PlaneMesh_xw3tf")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"]

View File

@@ -222,6 +222,7 @@ skeleton = NodePath("../..")
[node name="Minimap" type="MeshInstance3D" parent="."] [node name="Minimap" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.305, -0.327558, 16.999) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 34.305, -0.327558, 16.999)
layers = 2
mesh = SubResource("PlaneMesh_x4fnm") mesh = SubResource("PlaneMesh_x4fnm")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap"]

View File

@@ -190,6 +190,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.0957, 2.16418, -35.8279)
[node name="Minimap2" type="MeshInstance3D" parent="."] [node name="Minimap2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.04739, -2.4605, -26.4829) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.04739, -2.4605, -26.4829)
layers = 2
mesh = SubResource("PlaneMesh_ur1qn") mesh = SubResource("PlaneMesh_ur1qn")
[node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"] [node name="AnimationPlayer" type="AnimationPlayer" parent="Minimap2"]

View File

@@ -143,6 +143,7 @@ subdivide_depth = 1
script = ExtResource("1_k4n66") script = ExtResource("1_k4n66")
[node name="Model" type="Node3D" parent="."] [node name="Model" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.98973, 0)
[node name="A1-WateryCircle" parent="Model" instance=ExtResource("1_1t1ov")] [node name="A1-WateryCircle" parent="Model" instance=ExtResource("1_1t1ov")]
@@ -156,6 +157,7 @@ mesh = SubResource("PlaneMesh_wbtug")
skeleton = NodePath("../../..") skeleton = NodePath("../../..")
[node name="Collisions" type="Node3D" parent="."] [node name="Collisions" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.98973, 0)
[node name="StaticBody3D" type="StaticBody3D" parent="Collisions"] [node name="StaticBody3D" type="StaticBody3D" parent="Collisions"]
@@ -190,7 +192,7 @@ transform = Transform3D(9.69048, 0, 0, 0, 9.69048, 0, 0, 0, 9.69048, -0.0314422,
shape = SubResource("ConcavePolygonShape3D_j6fpi") shape = SubResource("ConcavePolygonShape3D_j6fpi")
[node name="Spawn Points" type="Node3D" parent="."] [node name="Spawn Points" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 0, -8.8875) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 1.98973, -8.8875)
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"] [node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -223,7 +225,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.6143, -1.602, 6.01731)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9752, -1.602, 11.0699) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9752, -1.602, 11.0699)
[node name="Room" type="Node3D" parent="."] [node name="Room" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 0, -8.8875) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 1.98973, -8.8875)
[node name="Room" type="Area3D" parent="Room"] [node name="Room" type="Area3D" parent="Room"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -245,6 +247,7 @@ sorting_offset = 100.0
mesh = SubResource("PlaneMesh_qjvxm") mesh = SubResource("PlaneMesh_qjvxm")
[node name="Lights" type="Node3D" parent="."] [node name="Lights" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.98973, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights"] [node name="OmniLight3D" type="OmniLight3D" parent="Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.116278, 2.29578, -0.0767513) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.116278, 2.29578, -0.0767513)
@@ -254,6 +257,7 @@ omni_range = 14.008
omni_attenuation = 1.157 omni_attenuation = 1.157
[node name="VFX" type="Node3D" parent="."] [node name="VFX" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.98973, 0)
[node name="GPUParticles3D2" type="GPUParticles3D" parent="VFX"] [node name="GPUParticles3D2" type="GPUParticles3D" parent="VFX"]
transform = Transform3D(0.464, 0, 0, 0, 0.227, 0, 0, 0, 0.462, -0.206923, -1.16501, -0.808931) transform = Transform3D(0.464, 0, 0, 0, 0.227, 0, 0, 0, 0.462, -0.206923, -1.16501, -0.808931)

View File

@@ -91,10 +91,12 @@ subdivide_depth = 1
script = ExtResource("1_wk80w") script = ExtResource("1_wk80w")
[node name="Model" type="Node3D" parent="."] [node name="Model" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="A1Gallery" parent="Model" instance=ExtResource("1_4yixp")] [node name="A1Gallery" parent="Model" instance=ExtResource("1_4yixp")]
[node name="Collisions" type="Node3D" parent="."] [node name="Collisions" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="StaticBody3D" type="StaticBody3D" parent="Collisions"] [node name="StaticBody3D" type="StaticBody3D" parent="Collisions"]
@@ -123,7 +125,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000244141, -2.04318, 4.0011
shape = SubResource("BoxShape3D_q8qa6") shape = SubResource("BoxShape3D_q8qa6")
[node name="Spawn Points" type="Node3D" parent="."] [node name="Spawn Points" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 0, -8.8875) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 2, -8.8875)
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"] [node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -156,7 +158,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.6143, -1.602, 6.01731)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9752, -1.602, 11.0699) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9752, -1.602, 11.0699)
[node name="Room" type="Node3D" parent="."] [node name="Room" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 0, -8.8875) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 2, -8.8875)
[node name="Room" type="Area3D" parent="Room"] [node name="Room" type="Area3D" parent="Room"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -178,6 +180,7 @@ sorting_offset = 100.0
mesh = SubResource("PlaneMesh_w4hfg") mesh = SubResource("PlaneMesh_w4hfg")
[node name="Lights" type="Node3D" parent="."] [node name="Lights" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="OmniLight3D" type="OmniLight3D" parent="Lights"] [node name="OmniLight3D" type="OmniLight3D" parent="Lights"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.768, -5.27914) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.768, -5.27914)
@@ -212,6 +215,7 @@ shadow_enabled = true
omni_range = 10.2 omni_range = 10.2
[node name="VFX" type="Node3D" parent="."] [node name="VFX" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
[node name="Altar Godrays" type="CSGCylinder3D" parent="VFX"] [node name="Altar Godrays" type="CSGCylinder3D" parent="VFX"]
transform = Transform3D(0.238656, -0.489364, -20.1776, -0.180127, 20.1781, -0.491485, 20.1828, 0.185877, 0.234199, -0.00122181, 7.10086, 1.28416) transform = Transform3D(0.238656, -0.489364, -20.1776, -0.180127, 20.1781, -0.491485, 20.1828, 0.185877, 0.234199, -0.00122181, 7.10086, 1.28416)

View File

@@ -171,6 +171,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered; CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
HealthComponent.CurrentHP.Changed += InverseHPToAttackPowerSync; HealthComponent.CurrentHP.Changed += InverseHPToAttackPowerSync;
HealthComponent.HealthReachedZero += Die; HealthComponent.HealthReachedZero += Die;
ExperiencePointsComponent.PlayerLevelUp += OnLevelUp;
PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished; PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished;
HealthTimer.WaitTime = _healthTimerWaitTime; HealthTimer.WaitTime = _healthTimerWaitTime;
SetProcessInput(false); SetProcessInput(false);
@@ -222,17 +223,13 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
_knockbackDirection = GlobalBasis.Z.Normalized(); _knockbackDirection = GlobalBasis.Z.Normalized();
} }
public void PlayJumpScareAnimation() => PlayerFXAnimations.Play("jump_scare");
public void LevelUp() public void LevelUp()
{ {
var rng = new RandomNumberGenerator();
rng.Randomize();
var hpIncrease = rng.RandiRange(3, 6);
HealthComponent.RaiseMaximumHP(hpIncrease);
ExperiencePointsComponent.LevelUp(); ExperiencePointsComponent.LevelUp();
} }
public void PlayJumpScareAnimation() => PlayerFXAnimations.Play("jump_scare");
public void Die() public void Die()
{ {
PlayerFXAnimations.Play("death"); PlayerFXAnimations.Play("death");
@@ -295,6 +292,19 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
} }
} }
private void OnLevelUp()
{
BoostPlayerHPFromLevelUp();
}
private void BoostPlayerHPFromLevelUp()
{
var rng = new RandomNumberGenerator();
rng.Randomize();
var hpIncrease = rng.RandiRange(3, 6);
HealthComponent.RaiseMaximumHP(hpIncrease);
}
private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft); private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft);
private static float RightStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeRight); private static float RightStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeRight);