SharedZombieSystem.cs 870 B

123456789101112131415161718192021222324252627
  1. using Content.Shared.Movement.Systems;
  2. using Content.Shared.NameModifier.EntitySystems;
  3. namespace Content.Shared.Zombies;
  4. public abstract class SharedZombieSystem : EntitySystem
  5. {
  6. /// <inheritdoc/>
  7. public override void Initialize()
  8. {
  9. base.Initialize();
  10. SubscribeLocalEvent<ZombieComponent, RefreshMovementSpeedModifiersEvent>(OnRefreshSpeed);
  11. SubscribeLocalEvent<ZombieComponent, RefreshNameModifiersEvent>(OnRefreshNameModifiers);
  12. }
  13. private void OnRefreshSpeed(EntityUid uid, ZombieComponent component, RefreshMovementSpeedModifiersEvent args)
  14. {
  15. var mod = component.ZombieMovementSpeedDebuff;
  16. args.ModifySpeed(mod, mod);
  17. }
  18. private void OnRefreshNameModifiers(Entity<ZombieComponent> entity, ref RefreshNameModifiersEvent args)
  19. {
  20. args.AddModifier("zombie-name-prefix");
  21. }
  22. }