added stamina debug options, improved stamina behaviour, changes to flask animation

This commit is contained in:
2026-01-07 14:03:14 +01:00
parent 4a502dce4d
commit 590896a0ff
5 changed files with 139 additions and 28 deletions

View File

@@ -18,7 +18,9 @@ public partial class SROptions
private bool m_fastRunning = false;
private bool m_damageBooster;
private bool m_immortal = false;
// --- STAMINA SETTINGS ---
private float m_staminaRegen = 0.6f; // Default Invector Value
private float m_maxStamina = 100f; // Default Invector Value
private Quest m_currentQuest;
[Category("Build")]
@@ -157,6 +159,87 @@ public partial class SROptions
}
}
[Category("Stats")]
[DisplayName("Stamina Regen Rate")]
[Increment(0.1f)] // Optional attribute for SRDebugger slider/buttons
public float StaminaRegen
{
get
{
if (Player.Instance && Player.Instance.ThirdPersonController)
{
return Player.Instance.ThirdPersonController.staminaRecovery;
}
return m_staminaRegen;
}
set
{
m_staminaRegen = value;
if (Player.Instance && Player.Instance.ThirdPersonController)
{
Player.Instance.ThirdPersonController.staminaRecovery = value;
}
}
}
[Category("Stats")]
[DisplayName("Max Stamina")]
[Increment(10f)]
public float MaxStamina
{
get
{
if (Player.Instance && Player.Instance.ThirdPersonController)
{
return Player.Instance.ThirdPersonController.maxStamina;
}
return m_maxStamina;
}
set
{
m_maxStamina = value;
if (Player.Instance && Player.Instance.ThirdPersonController)
{
// Set the Max value
Player.Instance.ThirdPersonController.maxStamina = value;
// Optional: Refill current stamina so you see the bar grow immediately
// Player.Instance.ThirdPersonController.currentStamina = value;
}
}
}
[Category("Stats")]
[DisplayName("Roll Stamina Cost")]
[Increment(5f)] // Allows changing values by 5 in the debugger
public float RollStaminaCost
{
get
{
if (Player.Instance && Player.Instance.ThirdPersonController)
{
return Player.Instance.ThirdPersonController.rollStamina;
}
return 20f; // Return a safe default if player isn't found
}
set
{
if (Player.Instance && Player.Instance.ThirdPersonController)
{
Player.Instance.ThirdPersonController.rollStamina = value;
}
}
}
[Category("Stats")]
public void ResetStaminaDefaults()
{
StaminaRegen = 0.6f;
MaxStamina = 100f;
}
[Category("Save")]
public void SaveGame()
{