Partial port from vgstation.
Notable differences:
handle_regular_hud_updates() is called anytime view is reset, instead of
just from the cancel camera verb. check_eye() now returns the vision
flags to be set on the viewer. Moved cameraFollow to silicon. Camera
consoles now call reset_view explicitly when they want to change a mob's
view, instead of leaving it as a side effect of check_eye()
- AI's name is now correctly displayed when the AI is clientless while being grabbed with intellicard.
- AI's wireless radio is no longer automatically muted when the AI is transferred to intellicard. It may still be muted from the UI if the intellicard's owner wants it.
- Fixes#9543
- Removes ugly floodlight/proc/updateicon() and replaces it with proper floodlight/update_icon() which is standard on all objects/items. Does the same refactor for power cells and adjusts the proc call in relevant files (hence the amount of 1-line changes in various files)
- Makes floodlights properly use CELLRATE. Their load is 200 watts. Cell adjusted accordingly, it starts with 1k cell, which is enough for ~40 minutes (roughly)
- Floodlights with almost discharged cell (less than 10%) ocassionally "flicker", dimming for few seconds. This serves as indicator that the power cell is running low.
- Floodlight luminosity adjusted. They now shine slightly more, espicially closer to the floodlight.
Lamps (old-looking ones), flares now have different color from usual flashlight.
Lit cigs give 0.25 power light - just enough to stand out in full darkness.
Candles are colored too.
Different colors for different camera consoles instead of SUPER RED for everyone.
- Fixes powersinks lasting for infinite duration before exploding.
- Minor adjustment to powersink drain rates. Powersink now drains up to 1.5MW instead of 1MW. It also attempts to drain up to 5kW instead of 2kW from each APC, unless powernet supplies enough power. They can still be overpowered by pumping more than 1.5MW into the grid, which is possible if you either install more coils into main SMES, or use the solars. Even 1MW of default SMES is enough to slow the drain effect considerably, espicially if you can isolate it with breakers.
- Fixes "APC Flickering" issues caused by powersinks. Powersinks are now processed immediately after powernets, which ensures they are first to take power from that powernet. This is unfortunately necessary as APCs would take power first, which is not desired.
- Minor refactor while i was at it - absolute paths, span classes, visible_message() instead of for cycle. No gameplay effect.