Added Hemophilia Trait (#38224)

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
TheFlyingSentry
2025-08-20 21:02:54 -04:00
committed by GitHub
parent 96d3b4bb29
commit 3d0573e7c8
7 changed files with 59 additions and 2 deletions

View File

@@ -0,0 +1,16 @@
using Robust.Shared.GameStates;
namespace Content.Shared.Traits.Assorted;
/// <summary>
/// This component is used for the Hemophilia Trait, it reduces the passive bleed stack reduction amount so entities with it bleed for longer.
/// </summary>
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class HemophiliaComponent : Component
{
/// <summary>
/// What multiplier should be applied to the BleedReduction when an entity bleeds?
/// </summary>
[DataField, AutoNetworkedField]
public float HemophiliaBleedReductionMultiplier = 0.33f;
}

View File

@@ -0,0 +1,16 @@
using Content.Shared.Body.Events;
namespace Content.Shared.Traits.Assorted;
public sealed class HemophiliaSystem : EntitySystem
{
public override void Initialize()
{
SubscribeLocalEvent<HemophiliaComponent, BleedModifierEvent>(OnBleedModifier);
}
private void OnBleedModifier(Entity<HemophiliaComponent> ent, ref BleedModifierEvent args)
{
args.BleedReductionAmount *= ent.Comp.HemophiliaBleedReductionMultiplier;
}
}