Files
tbd-station-14/Content.Shared/Interaction/Events/SuicideEvent.cs
Scribbles0 220aff21eb Melee Executions (#30104)
* melee executions

* fix damage bug

* cleanup

* address reviews hopefully

* resistance bypass mechanic

* component changes

* self executions (not finished yet)

* self execs part two

* ok i fixed things (still not finished)

* finish everything

* review stuff

* nuke if (kind = special)

* more review stuffs

* Make suicide system much less hardcoded and make much more use of events

* Fix a dumb bug I introduced

* self execution popups

* Integration tests

* Why did they even take 0.5 blunt damage?

* More consistent integration tests

* Destructive equals true

* Allow it to dirty-dispose

* IS THIS WHAT YOU WANT?

* FRESH AND CLEAN

* modifier to multiplier

* don't jinx the integration tests

* no file-scoped namespace

* Move the rest of execution to shared, create SuicideGhostEvent

* handled

* Get rid of unused code and add a comment

* ghost before suicide

* stop cat suicides

* popup fix + small suicide change

* make it a bit better

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-08-11 13:05:54 +10:00

42 lines
990 B
C#

using Content.Shared.Damage;
using Content.Shared.Damage.Prototypes;
using Robust.Shared.Prototypes;
namespace Content.Shared.Interaction.Events;
/// <summary>
/// Raised Directed at an entity to check whether they will handle the suicide.
/// </summary>
public sealed class SuicideEvent : HandledEntityEventArgs
{
public SuicideEvent(EntityUid victim)
{
Victim = victim;
}
public DamageSpecifier? DamageSpecifier;
public ProtoId<DamageTypePrototype>? DamageType;
public EntityUid Victim { get; private set; }
}
public sealed class SuicideByEnvironmentEvent : HandledEntityEventArgs
{
public SuicideByEnvironmentEvent(EntityUid victim)
{
Victim = victim;
}
public EntityUid Victim { get; set; }
}
public sealed class SuicideGhostEvent : HandledEntityEventArgs
{
public SuicideGhostEvent(EntityUid victim)
{
Victim = victim;
}
public EntityUid Victim { get; set; }
public bool CanReturnToBody;
}