refactor + lessen stamina usage

This commit is contained in:
HoherGeist 2025-07-12 23:02:07 +02:00
parent a8063216cc
commit 2f483ca113
2 changed files with 28 additions and 9 deletions

View File

@ -16,6 +16,17 @@ public class DisableStaminaRegenEffect : CustomPlayerEffect, IStaminaModifier
public override EffectClassification Classification => EffectClassification.Negative;
}
public class BloodFueledStaminaEffect : CustomPlayerEffect, IStaminaModifier
{
public bool StaminaModifierActive => IsEnabled;
public float StaminaUsageMultiplier => 0.1f;
public float StaminaRegenMultiplier => 1;
public bool SprintingDisabled => false;
public override EffectClassification Classification => EffectClassification.Negative;
}
public class BloodFueledManager
{
private readonly CustomClasses _plugin;

View File

@ -30,16 +30,24 @@ public abstract class CustomPlayerEffect : StatusEffectBase
_isLoaded = true;
var playerEffects = NetworkManager.singleton.playerPrefab.GetComponent<ReferenceHub>().playerEffectsController.effectsGameObject.transform;
var type = typeof(DisableStaminaRegenEffect);
if (!typeof(StatusEffectBase).IsAssignableFrom(type))
{
Logger.Error($"[CustomPlayerEffect.Initialize] {type.FullName} is not a valid StatusEffectBase and thus could not be registered!");
return;
}
Type[] toLoad =
[
typeof(DisableStaminaRegenEffect),
typeof(BloodFueledStaminaEffect)
];
// register effect into prefab
new GameObject(type.Name, type).transform.parent = playerEffects;
var playerEffects = NetworkManager.singleton.playerPrefab.GetComponent<ReferenceHub>().playerEffectsController.effectsGameObject.transform;
foreach (var type in toLoad)
{
if (!typeof(StatusEffectBase).IsAssignableFrom(type))
{
Logger.Error($"[CustomPlayerEffect.Initialize] {type.FullName} is not a valid StatusEffectBase and thus could not be registered!");
return;
}
// register effect into prefab
new GameObject(type.Name, type).transform.parent = playerEffects;
}
};
}
}