make suicide actions require confirming (#24609)

* add ActionAttemptEvent

* add ConfirmableAction compsys

* make suicide actions confirmable

* use new trolling techniques

* better query and dirty them

* death

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
deltanedas
2024-03-01 02:48:43 +00:00
committed by GitHub
parent c83ad11be1
commit ad3f3a5d36
6 changed files with 157 additions and 0 deletions

View File

@@ -352,6 +352,13 @@ public abstract class SharedActionsSystem : EntitySystem
if (!action.Enabled)
return;
// check for action use prevention
// TODO: make code below use this event with a dedicated component
var attemptEv = new ActionAttemptEvent(user);
RaiseLocalEvent(actionEnt, ref attemptEv);
if (attemptEv.Cancelled)
return;
var curTime = GameTiming.CurTime;
// TODO: Check for charge recovery timer
if (action.Cooldown.HasValue && action.Cooldown.Value.End > curTime)