Files
OldThink/Content.Server/_White/Other/RandomDamageSystem/RandomDamageSystem.cs
Aviu00 1ffb5181be Tweaks (#170)
* - tweak: Tweak chaplain weapons damage.

* - tweak: Stunprod stamina damage tweak.

* - tweak: Tweak web vest.

* - tweak: WarOps gaming.

* - tweak: Less random damage on heavy attack.

* - tweak: Less jammer cost.

* - tweak: Rigged gloves tweak.

* - tweak: Stunprod craft tweaks.

* - tweak: More stuff in vendomat.
2024-03-04 14:02:16 +07:00

29 lines
944 B
C#

using Content.Shared.Damage;
using Content.Shared.Damage.Prototypes;
using Content.Shared.Weapons.Melee.Events;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
namespace Content.Server._White.Other.RandomDamageSystem;
public sealed class RandomDamageSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<RandomDamageComponent, MeleeHitEvent>(HandleHit);
}
private void HandleHit(Entity<RandomDamageComponent> ent, ref MeleeHitEvent args)
{
var damage = _random.NextFloat() * ent.Comp.Max;
if (args.Direction != null) // Heavy attack
damage *= 0.7f;
args.BonusDamage = new DamageSpecifier(_prototypeManager.Index<DamageTypePrototype>("Slash"), damage);
}
}