mirror of
https://github.com/corvax-team/ss14-wl.git
synced 2026-02-15 03:31:38 +01:00
Allows pacifists to throw Items with DamageOnLand (#31060)
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
using Content.Server.Damage.Components;
|
||||
using Content.Shared.CombatMode.Pacification;
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Throwing;
|
||||
|
||||
namespace Content.Server.Damage.Systems
|
||||
{
|
||||
/// <summary>
|
||||
/// Damages the thrown item when it lands.
|
||||
/// </summary>
|
||||
public sealed class DamageOnLandSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly DamageableSystem _damageableSystem = default!;
|
||||
@@ -13,19 +15,6 @@ namespace Content.Server.Damage.Systems
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<DamageOnLandComponent, LandEvent>(DamageOnLand);
|
||||
SubscribeLocalEvent<DamageOnLandComponent, AttemptPacifiedThrowEvent>(OnAttemptPacifiedThrow);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prevent Pacified entities from throwing damaging items.
|
||||
/// </summary>
|
||||
private void OnAttemptPacifiedThrow(Entity<DamageOnLandComponent> ent, ref AttemptPacifiedThrowEvent args)
|
||||
{
|
||||
// Allow healing projectiles, forbid any that do damage:
|
||||
if (ent.Comp.Damage.AnyPositive())
|
||||
{
|
||||
args.Cancel("pacified-cannot-throw");
|
||||
}
|
||||
}
|
||||
|
||||
private void DamageOnLand(EntityUid uid, DamageOnLandComponent component, ref LandEvent args)
|
||||
|
||||
Reference in New Issue
Block a user