* fix(emag): Emagging a lock properly unlocks the component
Fixes#24860
* fix(emag): Emagging a lock no longer duplicates the unlock sound
(cherry picked from commit 370a79fbc847c75aca4d733e1cac2bb56a19776b)
* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
(cherry picked from commit c7870882f6f956eea07cbb4738ae45c8805c8ce6)
People are using these as unhackable and hard-to-tailgate airlocks into sec. They should not be trivial for security officers to move through.
Made LockComponent have configurable lock times to implement this.
(cherry picked from commit 8ca7cb59a3b83e86c9b27a9549bf85a9f914b6fe)