]> git.smokeofanarchy.ru Git - space-station-14.git/commit
DoAfter support for Actions (#38253)
authorkeronshb <54602815+keronshb@users.noreply.github.com>
Mon, 8 Sep 2025 09:55:13 +0000 (05:55 -0400)
committerGitHub <noreply@github.com>
Mon, 8 Sep 2025 09:55:13 +0000 (12:55 +0300)
commitf885075d2e266ac81dd3be6bb8a05e557b9dd51b
tree2be6a1565b79e7f9ddcecde1b4219f7d14344c37
parent88e927f10ac7efca8fad5475626160ba2b7e3d73
DoAfter support for Actions (#38253)

* Adds Action DoAfter Events

* Adds DoAfterArgs fields to DoAfterComp

* Adds a base doafter action

* Adds Attempt action doafter logic

* Adds doafter logic to actions

* Changes Action Attempt Doafter and action doafter to take in Performer and the original use delay. Use delay now triggers when a repeated action  is cancelled.

* Readds the TryPerformAction method and readds request perform action into the action doafter events

* Adds a force skip to DoAfter Cancel so we can skip the complete check

* Adds a Delay Reduction field to the comp and to the comp state

* Fixes doafter mispredict, changes doafter comp check to a guard clause, sets delay reduction if it exists.

* Cancels ActionDoAfter if charges is 0

* Serializes Attempt Frequency

* Comment for rework

* Changes todo into a comment

* Moves doafterargs to doafterargscomp

* Adds DoAfterArgs comp to BaseDoAfterAction

* Removes unused trycomp with actionDoAfter

* Replaces DoAfterRepateUseDelay const with timespan.zero

* Removes unused usings

* Makes SharedActionsSystem partial, adds DoAfter partial class to ActionSystem, moves ActionDoAfter logic to the SharedActionsSystem.DoAfter class

* Cleanup and prediction

* Renames OnActionDoAfterAttempt to OnActionDoAfter, moves both to Shared Action DoAfter

* Removes ActionAttemptDoAfterEvent and moves its summaries to ActionDoAfterEvent. Converts OnActionDoAfterAttempt into TryStartActionDoAfter

* Removes Extra check for charges and actiondoafters

* Sloptimization

* Cleanup

* Cleanup

* Adds param descs

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Content.Shared/Actions/Events/ActionDoAfterEvent.cs [new file with mode: 0644]
Content.Shared/Actions/SharedActionsSystem.DoAfter.cs [new file with mode: 0644]
Content.Shared/Actions/SharedActionsSystem.cs
Content.Shared/DoAfter/DoAfterArgs.cs
Content.Shared/DoAfter/DoAfterArgsComponent.cs [new file with mode: 0644]
Content.Shared/DoAfter/DoAfterComponent.cs
Content.Shared/DoAfter/SharedDoAfterSystem.cs
Resources/Prototypes/Actions/types.yml