Weapons tested and general changes made to support the results of those tests

This commit is contained in:
2026-02-16 16:44:36 -08:00
parent a2ceb8e650
commit 017be896f3
43 changed files with 1096 additions and 821 deletions

View File

@@ -33,75 +33,68 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
public override void InitializeDungeon()
{
Show();
Exit.AreaEntered += Exit_AreaEntered;
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
RestoreArea.AreaExited += RestoreArea_AreaExited;
RestoreTimer = new Timer();
RestoreTimer.WaitTime = 0.3f;
RestoreTimer.Timeout += RestoreTimer_Timeout;
AddChild(RestoreTimer);
FloorIsLoaded = true;
Show();
Exit.AreaEntered += Exit_AreaEntered;
RestoreArea.AreaEntered += RestoreArea_AreaEntered;
RestoreArea.AreaExited += RestoreArea_AreaExited;
RestoreTimer = new Timer();
RestoreTimer.WaitTime = 0.3f;
RestoreTimer.Timeout += RestoreTimer_Timeout;
AddChild(RestoreTimer);
FloorIsLoaded = true;
ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered;
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)
dimmable.FadeIn();
ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered;
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)
dimmable.FadeIn();
}
public void OnResolved()
{
Game.ItemRescueMenu.MenuClosing += ItemRescueMenu_MenuClosing;
Game.ItemRescueMenu.MenuClosing += ItemRescueMenu_MenuClosing;
}
private void ItemRescueMenu_MenuClosing()
{
GameRepo.Resume();
GameRepo.Resume();
}
private void ItemRescueInteractZone_AreaEntered(Area3D area)
{
GameRepo.Pause();
Game.ItemRescueMenu.Show();
}
public override void FadeOutAudio()
{
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)
dimmable.FadeOut();
GameRepo.Pause();
Game.ItemRescueMenu.Show();
}
private void RestoreTimer_Timeout()
{
if (!Player.HealthComponent.AtFullHealth)
Player.HealthComponent.Heal(1);
if (!Player.VTComponent.AtFullVT)
Player.VTComponent.Restore(1);
if (!Player.HealthComponent.AtFullHealth)
Player.HealthComponent.Heal(1);
if (!Player.VTComponent.AtFullVT)
Player.VTComponent.Restore(1);
}
private void RestoreArea_AreaExited(Area3D area)
{
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Stop();
Player.SetHealthTimerStatus(true);
}
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Stop();
Player.SetHealthTimerStatus(true);
}
}
private void RestoreArea_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Start();
Player.SetHealthTimerStatus(false);
}
if (area.GetOwner() is IPlayer)
{
RestoreTimer.Start();
Player.SetHealthTimerStatus(false);
}
}
private void Exit_AreaEntered(Area3D area)
{
if (area.GetOwner() is IPlayer)
ExitReached();
if (area.GetOwner() is IPlayer)
ExitReached();
}
public void ExitReached() => Game.FloorExitReached();
@@ -110,10 +103,10 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
public void OnExitTree()
{
Exit.AreaEntered -= Exit_AreaEntered;
RestoreArea.AreaEntered -= RestoreArea_AreaEntered;
RestoreArea.AreaExited -= RestoreArea_AreaExited;
RestoreTimer.Timeout -= RestoreTimer_Timeout;
Exit.AreaEntered -= Exit_AreaEntered;
RestoreArea.AreaEntered -= RestoreArea_AreaEntered;
RestoreArea.AreaExited -= RestoreArea_AreaExited;
RestoreTimer.Timeout -= RestoreTimer_Timeout;
}
}

View File

@@ -19,11 +19,6 @@ public partial class SpecialFloor : Node3D, IDungeonFloor
{
FloorIsLoaded = true;
}
public virtual void FadeOutAudio()
{
}
public bool FloorIsLoaded { get; set; }
public virtual (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() => (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.Position.X, 0, PlayerSpawnPoint.Position.Z));

View File

@@ -101,12 +101,12 @@ script = ExtResource("1_5jip8")
Dialogue = ExtResource("2_7xfp0")
[node name="Model" type="Node3D" parent="."]
transform = Transform3D(1.9, 0, 0, 0, 1.9, 0, 0, 0, 1.9, 0, 5.85044, 0)
transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 0, 5.42773, 0)
[node name="02_ALTAR_FLOOR_ZER0_VER_1" parent="Model" instance=ExtResource("2_xpi6o")]
[node name="Collision" type="Node3D" parent="."]
transform = Transform3D(1.9, 0, 0, 0, 1.9, 0, 0, 0, 1.9, 0, 5.85044, 0)
transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 0, 5.42773, 0)
visible = false
[node name="StaticBody3D" type="StaticBody3D" parent="Collision"]
@@ -154,14 +154,14 @@ shape = SubResource("BoxShape3D_aqomv")
debug_color = Color(0.937255, 0, 0.623529, 1)
[node name="Spawn Points" type="Node3D" parent="."]
transform = Transform3D(1.8, 0, 0, 0, 1.8, 0, 0, 0, 1.8, 0, 5.24512, 0)
transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 0, 4.82241, 0)
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 39.3951, -2.89376, -1.035)
[node name="Room" type="Node3D" parent="."]
transform = Transform3D(1.9, 0, 0, 0, 1.9, 0, 0, 0, 1.9, 0, 5.85044, 0)
transform = Transform3D(1.75, 0, 0, 0, 1.75, 0, 0, 0, 1.75, 0, 5.42773, 0)
[node name="Room" type="Area3D" parent="Room"]
unique_name_in_owner = true