Improves camera EMP handling. Now uses a var and processing to determine when the EMP should end, preventing inconsistent states when a camera is EMPd multiple times.
Reduces the process and bandwidth need for cameras.
* There is now a common camera repository, responsible for setting up cameras once for every invalidation.
* Camera consoles now only updates when the camera cache is invalidated, not every second.
* The console now only presents one network at a time, and only sends the data necessary to view that network (as opposed to sending the data for all cameras).
Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
Now limits moved registrations to when strictly necessary. That is:
* When entering a movable atom, the entering object only registers to its moved event if it has moved listeners on its own.
* Instead, when registering to a moved event, registrations occur recursively until a non-/atom/movable is encountered or a prior movement registration from the same object is reached.
Allows movable atoms to follow other movable atoms, as quickly as BYOND allows. Also supports following atoms inside other atoms.
However, this only works fully when Move() or forceMove() is utilized. Setting loc directly will not raise the moved event.
- Floodlight upgrade doubles cyborg's light intensity, but increases power usage from cyborg's power cell considerably.
- It may be obtained via exosuit fabricator as other upgrades do. Application requires a roboticist/research bot
- Construction module merged back into Engineering module.
- RCD is not available by default. It is now an upgrade, as is the jetpack for mining module, etc.
- Matter synth capacities adjusted a bit. Steel increased from 40 sheets to 60 sheets. Originally (before matter synths were introduced at all) engiborgs had approx. 100 sheets worth of materials. Plasteel increased from 10 sheets to 20 sheets since rwalls require 4 sheets, instead of 2 for quite some time now.
- Adds possibility to install a matter bin into cyborg. Matter bin multiplies cyborg's material capacity. Obviously this is most useful for engineering borgs. Default multiplier is 1, regular matter bin has 2, advanced matter bin 3 and super matter bin 4.
These crystals can be inserted into active uplinks, making it possible to trade them.
Variant of https://github.com/ParadiseSS13/Paradise/pull/3174/files.
The uplink now always shows the description to avoid annoying button shifting.