changes:
Removed shim for old spark system.
Converted all calls to old spark system with calls to new one.
Processor-based effects are no longer pooled, as it had minimal performance impact and was breaking things.
Tweaked some visible_messages for rogue drones.
PB effects' handling of location is now done at the /datum/effect_system level.
Ports the newest bay wizard version, with some additions and changes.
General changes:
-ported the newest bay wizard
-wizards can select some school of magic, which also changes their spell selection as whole.
-added several new spells, like raise dead, contracts that bind the person with the wizard, and more.
-added wands, limited sources of certain types of effects/spell, also with their own bad effects for non wizards
-changed the wizard checks to a faction check instead of a mind check
-fixed wizards without certain slots due to race being fucked over due to it
-added new artifacts
-balanced some spells like the emp
-added a lot of new sounds to spell, mostly from tg
-remove horse mask from spell selection, also, you can melt the mask with acid now
-wizard's spell are now displayed at round end like traitors and what they did buy
-also fixes vaurca, and vox, antags spawning without a mask by default
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.
All files deleted and disabled were either:
Not touched for 2+ years
Replaced with native DM functions (JSON specifically)
Generally replaced with newer iterations
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.
Pretty simple. 10 seconds before the round begins, the game will choose a tip and display it.
Tips are handled in the config.
Admins also have a command to display their own customized tip, and also a command to display a pregenerated tip.
Both commands can be ran at any point in the run to good effect. The customized tip will replace the default, Tip of the round that procs 10 seconds before round-start tip, if it is run during the lobby.
All full blanket antagonist bans are now classes as Antagonist, instead of Syndicate bans, as Syndicate refers to a specific subset of antags. This made global banning someone from all roles impossible.
changes:
tweak: "Auto-Hiss should no longer act on sign languages."
tweak: "Auto-Hiss should no longer act on Tajaran languages."
tweak: "Auto-Hiss should no longer act on Unathi languages."
tweak: "Examining an IPC no longer checks their non-existent pulse."
tweak: "You can no longer check the pulse of a species that does not have one."
bugfix: "Examining a human-type mob with robotic limbs no longer shows red examine text for each limb."
bugfix: "Examining a human-type mob now shows hunger level again."
bugfix: "The Ninja's self-destruct should actually kill the Ninja now."
bugfix: "You can no longer use sign language over radios."
Changes not in changelog:
Cleaned up the BST's code a bit.
BSTs now understand/speak the newly added languages
Added #define for languages that did not have them.
BSTs now understand/speak Vaurca Hivenet.
Slightly tweaked names/descriptions of BST items.
Fixed runtime from lawgivers overhearing speech from non-human mobs.
Fixes#1492Fixes#1500Fixes#1505
changes:
imageadd: "Telecomms machines now have open-panel sprites."
imageadd: "Added a new particle accelerator sprite."
Additional changes:
NTNet relay now has its own sprite.
NTNet relay now indicates its status on its sprite.
Fixes the Select-Equipment admin verb's ERT loadouts not being listed.
Adds a Reconnect-SQL verb to admins with permission flag R_DEBUG, as well as making the server attempt to automatically reconnect to SQL on connection drop.
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.
In short, baymerge changed beekeeping. Generally for the better, i love some of the new things they did. But they also removed some things (like the actual bee mobs) and some of their new stuff wasn't properly implemented.
So this PR fixes up both the bay beekeeping content and ours, to work in harmony together, remove redundant stuff, and fix lots of bugs.
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.
Credits for content go to Serveris. All I did was fix it up for the baymerge and got it working in-game (Yes I know zipties don't stack. I couldn't figure it out. Maybe latter.)
Fixes the tools/indentation.awk script to not demand a comma at the end of perfectly valid comments.
Makes it report unnecessary commas in lists.
Readds it to the Travis build list.
What is being fixed:
-messed up sec armor
-skeleton, vox and resomi being player species
-abhumans also had restrictions added until whatever should be done with them was decided or something
-fixing dionae language name
-fixing bluespace suicide and some additions/changes
-fixing random vaurca name gen thing
-fixing missing ipc chest and groin sprites
-added missing resomi hair and some new dank vox hair styles
Ghosts with +ADMIN or +MOD can now alt-left-click on canisters and digital valves in order to toggle them open and shut.
Opening of digital valves provides adminlogs once more.
Unwinding now requires that a prompt be confirmed. This should stop wind-unwind-wind shenanigans from happening.
Removes BOREALIS I.
Implements HTTP POST requests, credit to Oisin100 from Yogstation13 for the ByondPOST.dll.
Implements the BOREALIS II datum and converts all calls to reroute to that.
Adds round logging to channel_announce channels.
Adds pointing at things with alt+rightclick uasing some hacky code wizardry, thanks to kaiochao on the byond forums.
Also adds simple spam control to pointing, and changes the point verbs from using View, to Range, which is mildly faster
Also adds the ability to alt+click to eject your ID from PDAs and many computers. Anything to save on laggy rightclicks
Introduces a few updates from /tg/station13 with regards to runtime logging, and then modifies the runtime logging code to work properly. Developers now have access to both condensed and uncondensed runtime logs, with the former being updated at the end of each round.
he /world/Topic() API has been rewritten.
General function:
The API is initialized upon roundstart and generates a list of possible api requests from /code/datums/api.dm
Once a request is made the following checks are performed:
If a query parameter is set (the function that should be called)
If the ip is ratelimited (or rate-limit-whitelisted)
The query is authenticated against the db using ip, function and key
If these checks pass, it is validated that the api command exists
Then the api command is called, all supplied params are passed through
Each API function returns 1 no matter if it failed or succeded
Additional info is provided in the statuscode, response and data vars
The statuscode, response and data are send back to the caller (through list2params)
The data var is json encoded before sending it back
This is not backward compatible to the current API
Current API Clients need to be updated
AOOC is now added to players upon reconnecting, if they are an antag.
Technically a lazy fix, because the verb should maybe be a mob verb instead, and thus be added automatically. But hey, it works.
changes:
rscadd: "Respawn timers are now tracked individually for playing as animals (mice), small synthetics (drones and pAIs) and crew (everything else). This means you can now play as a mouse or drone while waiting to respawn as a full crewmember.".
tweak: "You can now spawn as a drone immediately upon joining as an observer, without having to wait ten minutes. There is still a cooldown between respawning as a drone if you just died as one."
tweak: "Slightly improved the error messages if you try to respawn when you've not waited long enough."
In addition, unlisted changes:
The admin verb 'Allow player to respawn' now sets all three respawn timers
Respawn times are now centralised in setup #defines, for easier editing in future
Nonliving mobs will no longer attempt to ghost when deleted. A comment in mob.dm explains this change