Commit Graph

73 Commits

Author SHA1 Message Date
metalgearsloth 4ca2a2bb8f
Fix sensors blocking doors (#32591) 2024-10-01 23:00:48 -06:00
metalgearsloth bed968465c
Fix multiple door issues (#32483)
* Fix multiple door issues

- Doors should no longer cycle open-and-closed anymore (at least nowhere near as easily).
- Door sprites shouldn't flicker as much (needs my engine PRs to remove all but one of them).

* woops conversion
2024-09-28 19:02:43 +10:00
Fildrance 4bcf3c3c0e
Station AI ability to electricute doors (#32012)
* Boom! Emergency access!

* Emergency access sound

* locale

* Updated sounds

* bleh

* Door electrify base

* feat: popups on attempt to activate AI action when wires cut

* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door

* refactor: added icon and sound for door overcharge

* meta.json should use tabs not spaces

* refactor: extracted sounds for airlock overcharge to static field in system

* refactor: cleanup, ScarKy0 mentions for resources

* refactor: removed unused textures

* feat: now notification is displayed when AI attempting to interact with door which have wire cut

* StationAiWhitelistComponent is properly gating  BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered

* refactor: use PlayLocal to play electrify sound only for AI player

* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.

* bolts now check for power using SharedPowerReceiverSystem

* electrify localization and louder electrify sounds

* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut

* refactor: cleanup

* New sprites and fixes

* Copyright

* even more sprite changes

* refactore: cleanup, rename overcharge => electrify

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-27 17:22:17 +10:00
metalgearsloth b1e69ee84d
Fix airlock autoclose mispredict (#32477)
* Fix airlock autoclose mispredict

It was hard to see this ingame due to animations masking it. The only way you'd notice currently is the light mispredicting.

* cudin
2024-09-27 16:10:27 +10:00
deltanedas b11fdd5f0b
network airlock AutoClose (#32124)
* network airlock AutoClose

* least stupid language

* great language

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-14 10:51:51 +10:00
Plykiya 7f9e06501f
Update SharedDoorSystem.cs to not use Component.Owner (#29963)
* Update SharedDoorSystem.cs

* comment

* empty space

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-28 13:18:12 +10:00
nikthechampiongr 6aced66406
Firelocks are no longer pryable by hand if they are powered (#29221) 2024-06-22 10:49:50 -07:00
Nemanja a1a8f04036
Decouple interactions from hands, cleanup old events, add new fears (#28393)
* ok basic shit

* second part

* pretend it isn't real it can't hurt you.

* 👁️ 👁️

* shadowcommander review
2024-05-31 13:26:19 -07:00
ShadowCommander 42de8df519
Add firelock warnings popup when opening on access allowed (#28420) 2024-05-31 10:56:20 -04:00
ShadowCommander e4f1201b4c
Add pressure and temperature warning text to firelocks (#28341) 2024-05-28 10:59:13 -04:00
nikthechampiongr b2ca9b6a9c
Fix firelock prediction issues with periodic pulses of closing lights (#28227)
* Fix firelock prediction issues with periodic pulses of closing lights

For some reason this function was setting a time for the next state
which was triggering the door system to try to close the firelock.
This does not happen serverside because the function only fires from an
event called clientside apparently.
It appears to be an attempt to stop firelocks from closing instantly
that did not function properly, and I cannot discern any other purpose.
As such I have removed it.

* Remove redundant serverside check

This became redundant with commit 439a87f2
2024-05-24 16:44:42 +02:00
nikthechampiongr df8b9a659e
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>
2024-05-22 04:16:20 -07:00
nikthechampiongr deac5a6842
Fix misprediction of emergency access (#25973)
The EmergencyAccess bool on the AirlockComponent would not get synced to the client
2024-03-11 12:50:09 +11:00
exincore 68bb57bbaf
Fixed Emag wiping door access without bolting open (#25836) 2024-03-05 18:20:38 +11:00
Nemanja 2852483b5c
remove doorslam sound (#25737) 2024-03-01 11:58:52 +11:00
Nemanja ce0a51fc29
Predict doors and airlocks (#25419)
* predict doors and airlocks

* prying, too

* ack

* eek
2024-02-23 10:01:31 +11:00
Pieter-Jan Briers 68ce53ae17
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
Kot bedccf8e31
Allow opening doors mid-deny animation, if you have the access (#24969)
Allow opening doors mid-deny animation, if you have access ofc
2024-02-05 18:31:21 -05:00
nikthechampiongr 9bebdf5706
Fix improper prediction on unpryable doors (#24738)
Fix improper prediction on unpryable doors.

Entities that had CanPry to false on their components would get
improperly predicted as pryable on the client because the check was only
preformed on the server. Same problem existed for welded doors. Moved
the check from server to shared.
2024-01-30 13:03:15 -05:00
Repo f280ff6e78
Fix conveyors to allow doors to close over top (#22117) 2023-12-04 16:07:48 -07:00
metalgearsloth 269c93245d
Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
metalgearsloth 5b8f3c48c4
Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth 9b1b3e03ed
Content audio (#20862) 2023-10-29 14:58:23 +11:00
nikthechampiongr 8f181b4534
Fix popup messages appearing when someone tries to open a door without a tool. (#21099)
* The fixTM

* typo fix

* addressing review
2023-10-26 22:26:52 -04:00
DrSmugleaf f560f88eb5
Remove 700 usages of Component.Owner (#21100) 2023-10-19 12:34:31 -07:00
chromiumboy 149c494972
Fix powered door prying popup (#20669) 2023-10-01 22:27:29 -08:00
DrSmugleaf a44fa86b68
Update trivial components to use auto comp states (#20539) 2023-09-28 16:20:29 -07:00
nikthechampiongr 5ff79120e6
EasyPry airlocks for arrivals. Now also prying refactor I guess (#19394)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-09-28 21:34:21 +10:00
metalgearsloth 5a0fc68be2
Content update for NetEntities (#18935) 2023-09-11 09:42:41 +10:00
Leon Friedrich af79f369ae
Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Tom Leys 4a55a000cb
Add Fire-fighting remote for Fire-doors (#16189) 2023-08-11 02:29:33 -07:00
metalgearsloth 1de396d566
Fix jetpack warnings (#18227) 2023-07-23 16:00:59 +10:00
Arendian 024c8fbdc7
Makes shutters close on certain objects (#17782) 2023-07-01 13:19:03 -06:00
metalgearsloth 90110183be
Fix a bunch of logger warnings (#17691) 2023-06-27 23:56:52 +10:00
metalgearsloth b67209cb24
Revert "Door opening tweaks" (#17395) 2023-06-17 12:09:49 +10:00
metalgearsloth c24c6e93ec
Door opening tweaks (#16799) 2023-06-13 20:30:04 +10:00
Leon Friedrich 7a424e40fd
Add EntityUid fields to some physics events (#17055) 2023-06-02 22:20:09 +10:00
Tom Leys a196756124
Split Door Bolt functionality out of AirlockDoor (#16354) 2023-05-31 10:23:35 -04:00
Tom Leys 9fce417662
Firelocks only open on click (not close) (#16516) 2023-05-16 23:37:37 -07:00
Dawid Bla 1b36d6fe9d
Stop puddles and soap from blocking doors (#16258) 2023-05-10 09:54:43 +10:00
Kevin Zheng 4e5adc2b86
Add interlocking airlocks (#14177)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-07 16:49:11 +10:00
Slava0135 277689c9a6
make shields be able to block doorways (#16079)
* you can block doors
(doors now consider static fixtures)

* this was unnecessary
2023-05-05 11:14:32 -04:00
TemporalOroboros 7523ed4c17
Resolves AirlockVisualizer is Obsolete (#13884) 2023-04-22 19:18:16 +10:00
DrSmugleaf b947856431
Remove hands component reference (#15197) 2023-04-07 11:21:12 -07:00
metalgearsloth 846274b7b8
Don't re-close closed doors (#15007)
Fixes them re-closing on shuttle departure. If this is bad can just make shuttle code handle it but this seemed more appropriate?
2023-04-03 13:28:27 -05:00
Leon Friedrich 19277a2276
More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
metalgearsloth b9a805b352
Reduce some state handling allocs (#14301) 2023-02-28 08:05:29 -08:00
Visne c6d3e4f3bd
Fix warnings and code cleanup/fixes (#13570) 2023-01-19 13:56:45 +11:00
metalgearsloth 2873a830bd
ECS airlocks (#13500) 2023-01-17 11:44:32 -07:00