fish-station/Content.Shared/Zombies/SharedZombieSystem.cs
2024-07-27 13:20:14 +03:00

32 lines
1 KiB
C#

using Content.Shared.Actions;
using Content.Shared.Movement.Systems;
using Content.Shared.NameModifier.EntitySystems;
namespace Content.Shared.Zombies;
public abstract class SharedZombieSystem : EntitySystem
{
/// <inheritdoc/>
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<ZombieComponent, RefreshMovementSpeedModifiersEvent>(OnRefreshSpeed);
SubscribeLocalEvent<ZombieComponent, RefreshNameModifiersEvent>(OnRefreshNameModifiers);
}
private void OnRefreshSpeed(EntityUid uid, ZombieComponent component, RefreshMovementSpeedModifiersEvent args)
{
var mod = component.ZombieMovementSpeedBuff;
args.ModifySpeed(mod, mod);
}
private void OnRefreshNameModifiers(Entity<ZombieComponent> entity, ref RefreshNameModifiersEvent args)
{
args.AddModifier("zombie-name-prefix");
}
}
public sealed partial class ZombieJumpActionEvent : WorldTargetActionEvent;
public sealed partial class ZombieFlairActionEvent : InstantActionEvent;