Significantly updates the Engineering guidebook (more explicitly the Atmos section) to have a lot more relevant and useful information.
Right now engineering has been getting update after update with no real change to the relevant guidebook entry. This has lead to a lot of out of date information and bad practices being prevalent in the guidebook, something that pains me to read.
* Changed SharedDoorSystem.GetColliding() to allow non-LowImpassible mask entities to stay in the door while it closes
* Update Content.Shared/Doors/Systems/SharedDoorSystem.cs
Clarifies comment of how the mask is used
Co-authored-by: Centronias <charlie.t.santos@gmail.com>
---------
Co-authored-by: Centronias <charlie.t.santos@gmail.com>
* Initial resources commit
* Initial code commit
* Added additional resources
* Continuing to build holopad and telephone systems
* Added hologram shader
* Added hologram system and entity
* Holo calls now have a hologram of the user appear on them
* Initial implementation of holopads transmitting nearby chatter
* Added support for linking across multiple telephones/holopads/entities
* Fixed a bunch of bugs
* Tried simplifying holopad entity dependence, added support for mid-call user switching
* Replaced PVS expansion with manually networked sprite states
* Adjusted volume of ring tone
* Added machine board
* Minor features and tweaks
* Resolving merge conflict
* Recommit audio attributions
* Telephone chat adjustments
* Added support for AI interactions with holopads
* Building the holopad UI
* Holopad UI finished
* Further UI tweaks
* Station AI can hear local chatter when being projected from a holopad
* Minor bug fixes
* Added wire panels to holopads
* Basic broadcasting
* Start of emergency broadcasting code
* Fixing issues with broadcasting
* More work on emergency broadcasting
* Updated holopad visuals
* Added cooldown text to emergency broadcast and control lock out screen
* Code clean up
* Fixed issue with timing
* Broadcasting now requires command access
* Fixed some bugs
* Added multiple holopad prototypes with different ranges
* The AI no longer requires power to interact with holopads
* Fixed some additional issues
* Addressing more issues
* Added emote support for holograms
* Changed the broadcast lockout durations to their proper values
* Added AI vision wire to holopads
* Bug fixes
* AI vision and interaction wires can be added to the same wire panel
* Fixed error
* More bug fixes
* Fixed test fail
* Embellished the emergency call lock out window
* Holopads play borg sounds when speaking
* Borg and AI names are listed as the caller ID on the holopad
* Borg chassis can now be seen on holopad holograms
* Holopad returns to a machine frame when badly damaged
* Clarified some text
* Fix merge conflict
* Fixed merge conflict
* Fixing merge conflict
* Fixing merge conflict
* Fixing merge conflict
* Offset menu on open
* AI can alt click on holopads to activate the projector
* Bug fixes for intellicard interactions
* Fixed speech issue with intellicards
* The UI automatically opens for the AI when it alt-clicks on the holopad
* Simplified shader math
* Telephones will auto hang up 60 seconds after the last person on a call stops speaking
* Added better support for AI requests when multiple AI cores are on the station
* The call controls pop up for the AI when they accept a summons from a holopad
* Compatibility mode fix for the hologram shader
* Further shader fixes for compatibility mode
* File clean up
* More cleaning up
* Removed access requirements from quantum holopads so they can used by nukies
* The title of the holopad window now reflects the name of the device
* Linked telephones will lose their connection if both move out of range of each other
* Fix door animations mispredicting if closing is interrupted
On master it will flicker states a little bit partially due to it not being predicted.
Instead we'll just set it straight back to opening (no animation is ever played anyway).
* no log
* 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
* 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>
* 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
* Station AI overlay
* implement
* Bunch of ports
* Fix a heap of bugs and basic scouting
* helldivers
* Shuffle interactions a bit
* navmap stuff
* Revert "navmap stuff"
This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.
* AI wires implemented
* Fix examines
* Optimise the overlay significantly
* Back to old static
* BUI radial working
* lots of work
* Saving work
* thanks fork
* alright
* pc
* AI upload console
* AI upload
* stuff
* Fix copy-paste shitcode
* AI actions
* navmap work
* Fixes
* first impressions
* a
* reh
* Revert "navmap work"
This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.
# Conflicts:
# Content.Client/Silicons/StationAi/StationAiOverlay.cs
* OD
* radar
* weh
* Fix examines
* scoop mine eyes
* fixes
* reh
* Optimise
* Final round of optimisations
* Fixes
* fixes
* 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
* 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>
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* 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>
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.
* Various sounds ported
* Replace wall_bonk.ogg
* Metal/metalglass break sound pass
* Replace metalbreak.ogg
* Replace woodhit
* Replcae tap.ogg n some smack uses
* Fix lint
* Replace bang.ogg and some instances of hit_kick.ogg
* couple more
* fix wood sound
* i may be stupid
* le attributing
* bro what
* standardize more destruction sounds
* fix melee hit sound cutting off
* window threshold sounds and remove `destroySound` it literally doesnt exist