Borrows /tg/ html stripping code.
Ghosts are the first to be given this boon, they now have to deliberately emote things like "Spooky man and it#36&;s friends type crap".
Continues the wiring upgrade. Now cameras, airlocks, robots, and air alarms also use the new wire datum system.
Global wiring code is now removed but there are sneaky objects which didn't rely on them such as mulebots and autolathes.
Fixes a few issues from the previous upgrade.
Previously missed Z-level checks in the form "z != X". Utilized this regex which hopefully has cought most of them [zZ](\s?)(!?)=(\s?)(\d+).
Adds more Z-level configuration, admin levels.
Now possible to configure 3 different kind of Z-levels.
Station levels: Which Z-levels the station exists on.
Contact levels: Which Z-levels are typically affected by, for example, Code Red which alters the visual state of fire alarms.
Player levels: Which Z-levels a character can typically reach.
- Adds new standardised proc for power usage as Cyborg
- Each component now uses different amount of power. Some components use "idle" power (camera), which means constant load. Other components use "active" power, which is single-time burst load.. Example: Actuator.
- Power usage is directly proportional to work done. Moving cyborg uses more power than still cyborg.
- Information in Status tab changed. Now it only shows percentage of remaining charge, as well as cell rating and cell load (W)
Updated surgery helper to account for that, also cleaned it up a little with replacing all the possible causes of lying down with just lying check. It's all checked in can_move already.
Checking only a few pixels had the tendancy to turn my charcter's head inside out when I was pointing directions other than south. Worse case is 1024 tests per object in the image. This test should be uncommon and the CPU usage is constrained by other factors.
Several items in the map are set with a dir other than 2 but the icon associated with the item doesn't have directions. As such they misrender.
This resolves that specific issue, for the most part. Due to an odd behavior of Byond, when this circumstance occurs the icon proc produces a 32x32 image that is all alpha 0. At least that's what my testing suggests; it may be possible with large icons to encounter this as an issue and cause it to ignore an icon that should be reloaded from the default. However, this can't do any worse than the current software.