Changes by code002lover

This commit is contained in:
HoherGeist
2025-07-12 22:53:13 +02:00
parent 14e32bc921
commit a8063216cc
4 changed files with 49 additions and 42 deletions
-41
View File
@@ -1,51 +1,10 @@
using CustomPlayerEffects;
using LabApi.Features.Wrappers;
using Mirror;
using PlayerRoles.FirstPersonControl;
using UnityEngine;
using UnityEngine.SceneManagement;
using Logger = LabApi.Features.Console.Logger;
using Random = System.Random;
namespace CustomClasses;
public abstract class CustomPlayerEffect : StatusEffectBase
{
private static bool _isLoaded;
public Player Owner { get; private set; } = null!;
protected override void Start()
{
Owner = Player.Get(Hub);
base.Start();
}
public override string ToString() => $"{GetType().Name}: Owner ({Owner}) - Intensity ({Intensity}) - Duration {Duration}";
internal static void Initialize()
{
SceneManager.sceneLoaded += (_, _) =>
{
if (_isLoaded)
return;
_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;
}
// register effect into prefab
new GameObject(type.Name, type).transform.parent = playerEffects;
};
}
}
public class DisableStaminaRegenEffect : CustomPlayerEffect, IStaminaModifier
{
public bool StaminaModifierActive => IsEnabled;