changes:
Holo-computers' displays now draw above the lighting layer, allowing them to be seen in the dark.
APCs' displays now draw above the lighting layer, allowing them to be seen in the dark.
Adds the do_after progress bars that were originally going to be added with lighting, but got scrapped due to PR-bloat.
changes:
do_after actions now have a progress bar.
Added a changelog for directional lighting as I apparently forgot it.
The do_after proc's required arguments are unchanged, however it now accepts the argument act_target, which allows the caller to specify what object the progress bar should appear over. Defaults to user.
changes:
Engineering now actually gets engineering-type alert consoles instead of the non-functional base type.
Lighting is no longer broken by shuttles.
The ERT shuttle autoannouncer should no longer cause lighting runtimes.
Fixed some bad newlines in some character setup help texts.
Custom loadout tweaks now properly write to SQL.
Custom loadout is now saved as JSON.
Players are now shown a notice when the server was unable to load their custom loadout.
Drowsyness is now clamped to zero.
Added some new tips to the example.
Tweaked some tips' grammar.
Removed some tips that do not apply to our code base.
Probably fixes embraced vampire thralls not getting vampire verbs.
Fixes#1844.
Fixes#1835.
Probably fixes#1687.
Probably fixes#1824.
Fixes#1839
changes:
Refactored footstep sounds to use less operations & only calculate for human-types.
Improved the logging detail of the lighting profiler.
Fixed some shuttle corners that weren't correctly working with parallax space.
Converted get_turf() into a compiler macro.
Solars are now dynamically lit.
Silenced warning from lighting overlays pooling themselves when updated on a space tile.
Fixed a bug where securing a girder was instant when it was supposed to have a delay.
Adds a new process-based effects system with the goal of reducing insane lag from sparks.
Currently only supports sparks, but should be easily extendable to other types of effects.
Also fixes a bug with airlocks where the light from bolts wasn't updating.
Refactors bears slightly to reduce duplicated code & pointless spark object creation and destruction.
Lighting profiler will now log /turf locations & names correctly.
Doors will no longer trigger way more visibility checks than they need to.
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.
Fixes#1419.
Fixes#1551.
Fixes#1516.
Adv. Scanners now obey NO_SCAN species flags.
Adv. Scanners now use NanoUI.
Fixed a runtime from adv. scanners' consoles being deleted.
Fixes#1489Fixes#1499
Grippers basically torn up and remade, i went down to the root and incorporated them into cyborg click and inventory code. This should make them resistant against future bugs.
Fixes all current known gripper bugs. Grippers work properly with all the stuff they should. Minor tweaks to borg modules.
In addition, i went and raided VG, TG, paradise and bay repositories, and ported all their best sprites that were suitable for us. VG station was the most lucrative by far, about 70% of the new ones came from there.
In short, dropped has been redefined from its old usage of "left an inventory slot" to now mean "left a mob's direct contents" which is a far more useful definition programatically.
changes:
imageadd: "Some AI displays now have special icons used when the AI is dead."
rscadd: "Added an admin verb that allows force-storaging of SSD AIs."
imageadd: "The AI's icon now changes when it is EMPed."
other:
Gave a name to borgs' internal radio so it doesn't show as "station bounced radio".
Disabled rejuvinate() for AIs as it didn't actually work anyways.
Fixed a potential bug where an engiborg's welder might've been able to be attached to things.
Added a code helper to check if an item is a borg tool.
Re-adds IPC APC feeding
Removes more of the horror that is type paths in text strings when they don't have to be there :ree:
Fix a bunch of lore blurbs
SQL saving is fixededed
Mark-up REGEX now requires whitespace or line ending/starts between tokens. It doesn't grab tokens surrounded by non-whitespace characters.
Updated the server greeting to only updated saved hashes if a user actively clicks on a tab.
C4 now forces old system for itself, due to raisins.
Admin verb to toggle between global default explosion type. One round only. Requires R_DEBUG or R_SERVER, is hideable.
Adds Shells. Adds tags. Adds IPC subspecies. Adds HK-47's. Does not add IPC construction.
Beyond the obvious review of shells, the exact stats of the IPC subspecies need review. They were largely an afterthought, and quickly overshadowed by the shell project.
Redefine span() to be a macro. Because we don't need it to be a proc ever again.
Rebuild the .all_changelog.yml file to have Bayport stuff at the bottom (onto which we'll add our own shit from this cycle).
Rebuilt the .html file for changelogs to correspond to the above change.
Modified download programs to actually use seconds.
The long waited sock update;
Socks are being added as another underwear like option, with some exclusive ones for females. Only humans (and squish) can have them atm.
Also, I am nearly sure this will work.
Centralises the dview code and defines in one file
Removes the proc version of dview, as it was unused
Fixes three compile errors with offset lighting code
This means that instead of the base turf being defined by the z-level, it's now defined by area and defaulted by z-level.
Updates all "shuttle" and "solar" areas to have a base_turf of space.
Updates docking arms 1, 2, and 3 on the main asteroid level to have a base_turf of space.
Other z-levels may still need updating.
This change means that all actions which destroy or dismantle a tile - for example bombs, a singularity, a shuttle leaving, or deconstruction - now leave these new areas as space not asteroid. Future mapping efforts may need to take this into account.
Conflicts:
code/game/area/Space Station 13 areas.dm
It will first check to see if the turf is set, and if not it will still use the z-level default.
This means we can mark areas as having a base of space to override the z-level base of asteroid that we're using.
As a result, we can ensure the bombs, shuttles moving, etc. leave behind an space turf by defining shuttles, solars/"external" areas as using space as a base.
Areas will need to be updated to check with base_turf = /turf/space and references to the old get_base_turf proc updated so all calls (bombs, Nar'Sie, deconstruction, etc.) have the correct effect, but it's tired and I want to commit this now so I'm committed to finishing it tomorrow.
Modified spawn_sync to include the spawning code, thus simplifying it's usage.
Modified spawn_sync to use actual time for failsafes.
A couple of sensibility tweaks for the wireless controller.
Cleaned up devices.dm to use new spawn_sync code.
Suggestions courtesy of @mwerezak
Added a changelog
Documentation, documentation, documentation.
Safety checks.
Reshuffled some code.
Modified wifi senders and receivers to both use var/id, instead of two different vars for basically the same purpose.