This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.
changes:
New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
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.
Allows the AI to use the "Toggle Hologram Movement" verb to toggle whether the hologram should follow the AI eye or not.
Also adds a check to ensure that the holopad can see the hologram, otherwise it shuts down.
Partial port of https://github.com/PolarisSS13/Polaris/pull/11.
- Fixes few typos in the code
- Fixes AI Eye object being solid, therefore being able to block movement of other players.
- Fixes non-station APCs boosting CPU as others.
Implemented Suggestions
+ Selection is now done in slightly better way (Basic Encryption Hack, Hack/Unlock Cyborg, Hack AI). Only relevant entities are offered in the list.
+ Adds varedit-modifiable variables for CPU Gain and Storage boost. These variables may be used by admin in game or by tester to faster unlock abilities.
+ Slightly nerfed APC CPU power generation.
+ Reworked machine overload. Now it only works on machines which are powered. Unpowered or broken machines cannot be overloaded. /obj/machinery/power type machines (APCs, SMESs, overall most stuff that directly handles electricity) received bonus explosion strength to compensate. Machine overload also drains massive power from local APC, therefore preventing spam of this ability (normal APC should take about 2-3 of these before needing to recharge). Also, qdel instead of del.
+ System Override now uses shuffled list of APCs when hacking them, as opposed to alphabetical list.
+ CPU generation rate is now shown in Status tab.
Implementation of a cult visual network, similar to the original camera network.
Includes the "eye" itself and the initial construction of a mob that can control one.
Relocates eye movement to the eye code itself.
Adds a mask that allows any mob able of wearing it direct access to the camera network, as a proof of concept and adminbus.
Now possible to customize chunk obfuscation image per chunk type.
Obfuscation images are stored per type (thus the small datum structure) to reduce memory footprint in the case of multiple chunks using the same image.