Fixes a bug where station safe could be impossible to open if certain tumbler_open values were rolled.
The bug in question is caused by tumbler rolling which is a core process of the safe-cracking minigame.
After testing it on private server, I have determined that changing tumbler rolling values creates way more newer issues, and as such solved the rare glitch by making sure that any and all values rolled by a safe on initiation are possible to be solved within confines of tumbler rolling
[35 differential value between tumbler_open 1 and 2] = Max of tumbler rolling.
Station Safes now check on initiation if the differential is bigger than 34. If yes, they reduce the differential to 34, making the otherwise impossible station safe spawn possible to crack.
This is part 3 of the work of the big shuttle update started by Poze (#5771, description not up to date.) with more to come as that pr is split up into more manageable chunks. (Previous part: #7457)
Ports (and adjusts) Baystation12/Baystation12#12521 et al. Essentially brings our visualnet code up to the standard of three years ago, rather than five.
Side effects of merging may include but are not limited to loss of AI vision, helmet camera failure, garbage collection implosion, infinite turf loops, and unintended layer shenanigans.
High-level changes:
Overall, visualnet/chunk procs have been renamed and refactored to be clear as to their function.
Fix some layering issues related to magic numbers, these have been set to constants.
Visualnets now track source movement rather than overriding individual mob/obj procs.
Adds obfuscation underlay to complicate memory fudging to remove camera static.
Cameras now only add themselves to the cameranet if they're on open (non-restricted) networks.
Helmet cameras now use cameras themselves rather than network defines.
Adds a sorted object list insertion helper.
The Camera MIU (presently unused) should now function properly.
Unused cultnet / cult mask deleted because refactoring that would likely kill the few brain cells I have left
Adds more bedsheet inhands, because immersion.
Penlight has an inhand now.
Lanterns have new inhands.
Ashtray cigarette extinguish now properly plays the sound.
You can put cigarette butts in cigarette packets
also some more stupid drop sounds
Telescience portals now have a precision of 0, meaning they output on the turf the portal is on.
This means echoes can once again be reliably placed back into their bodies.
This also means calibration should hopefully result in 1/4 the explosions.
If you don't like GPS units phasing into walls and blowing you up 90% of the time, this is the PR for you
Better bed, bedsheet and linen bin sprites
Also added some additional bedsheets , functionally similar, of course. ( Have fun, mappers! )
Added more functionality to bedsheets.