mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 05:27:38 +03:00
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using Content.Shared.Armor;
|
|
using Content.Shared.Damage.Events;
|
|
using Content.Shared.Examine;
|
|
using Content.Shared.Inventory;
|
|
|
|
namespace Content.Shared.Stunnable;
|
|
|
|
public sealed partial class StaminaDamageResistanceSystem : EntitySystem
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<StaminaDamageResistanceComponent, InventoryRelayedEvent<TakeStaminaDamageEvent>>(OnStaminaMeleeHit);
|
|
SubscribeLocalEvent<StaminaDamageResistanceComponent, ArmorExamineEvent>(OnExamine);
|
|
}
|
|
|
|
private void OnStaminaMeleeHit(Entity<StaminaDamageResistanceComponent> ent, ref InventoryRelayedEvent<TakeStaminaDamageEvent> args)
|
|
{
|
|
args.Args.Multiplier *= ent.Comp.Coefficient;
|
|
}
|
|
private void OnExamine(Entity<StaminaDamageResistanceComponent> ent, ref ArmorExamineEvent args)
|
|
{
|
|
var percentage = (1 - ent.Comp.Coefficient) * 100;
|
|
|
|
if (percentage == 0)
|
|
return;
|
|
|
|
args.Msg.PushNewline();
|
|
args.Msg.AddMarkupOrThrow(Loc.GetString("armor-examine-stamina", ("num", percentage)));
|
|
}
|
|
}
|