]> git.smokeofanarchy.ru Git - space-station-14.git/commit
Firelock improvements part 1 (#26582)
authornikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Wed, 22 May 2024 11:16:20 +0000 (11:16 +0000)
committerGitHub <noreply@github.com>
Wed, 22 May 2024 11:16:20 +0000 (04:16 -0700)
commitdf8b9a659ecbd412243acdbf02fa96e2a74d5789
tree51fcc9a73af93e6cb0c9a943b59fc652b6be6b79
parent6a9139b4e1427fa8ea397383c04f9391ee287fb7
Firelock improvements part 1 (#26582)

* Change prying system and pryunpoweredcomp to allow for custom time modifiers

This will be useful if I go the route of making firelocks pryable when
unpowered instead of just being able to open and close instantly when
unpowered.

* Make firelocks properly predicted

Shared system made. Since atmos checks can only be done on the server we
just have it set relevant bools on the component and then dirty it.
Ditched atmos checks on trying to open, they now only happen whenever
firelocks are updated.

* Make firelocks pryable without a crowbar

While this usually would only allow you to do this when a door is
unpowered, firelocks do not have the airlock component which actually
does that check. As such firelocks will always allow you to pry them
open/closed by hand.

* Clean up System. Change update interval to be based on ticks. Move as much as possible to shared

* Make firelocks unable to emergency close for 2 seconds after being pried open

* Clean up

* More cleanup

* Reorganize SharedFirelockSystem methods to match Initialize order

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Content.Client/Doors/FirelockSystem.cs
Content.Server/Doors/Systems/FirelockSystem.cs
Content.Shared/Doors/Components/FirelockComponent.cs
Content.Shared/Doors/Systems/SharedDoorSystem.cs
Content.Shared/Doors/Systems/SharedFirelockSystem.cs [new file with mode: 0644]
Content.Shared/Prying/Components/PryUnpoweredComponent.cs
Content.Shared/Prying/Systems/PryingSystem.cs
Resources/Prototypes/Entities/Structures/Doors/Firelocks/firelock.yml