Traps will trigger don't matter if you are walking or running, same with portable flashers.
Also, fixing a missing shotgun box sprite and a the wrong gun in the supply cargo crate.
remove job restrictions from jackboots until more boots are added
add glowsticks and illegal gun crates to cargo, which is locked behind the supply contraband system
Refactors the Server Greeting datum to do majority of the processing clientside. No longer will we be holding massive spans of text in memory, and looking over them for shits and giggles.
rscadd: "Added three new energy-based weapons, one designed purely for pest-control."
rscadd: "Added a new rare handpistol, based off of a proposed competitor to the NT Mk58."
rscadd: "Added a new pet for the Head of Security - the PTR-7 Tranquilizer Rifle."
rscadd: "Syndicate manhack delivery grenades are now available via the traitor uplink."
rscadd: "Manhacks will no longer attack anyone belonging to the 'syndicate' faction, including Heist pirates."
tweak: "Tweaked loadout customisation whitelists, generally making them more restrictive by role."
bugfix: "It is no longer possible to be older or younger than your species ought to be."
Fixes the config.api_rate_limit_whitelist to have proper true values associated with the indexes after startup. This way, the index grab method of checking for a list entry (which the api_do_auth_check proc uses) works.
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.
This is another Update to the API that adds / changes:
Unified Naming of API Comands and API Functions. --> They are now called "API Commands" across all files and the DB
Moves API Related procs from world.dm to api.dm
Adds a proc to write the API commands to the db (so there is no need to manually maintain the list of API commands)
The name change needs to be done before the API is live.
No changelog because there is already a entry
This adds some useful functions to the API and redefines the way the params are checked.
API Versioning
Very important to be able to check from the client if the serverside API is still compatible with the client implementation
Refactored Params
Mark params as required / optional
Different types of params (string / integer / list / select / senderkey)
Name and description for params
API Function to get all the functions a specific ip/token combo is allowed to use
API Function to get details about a specific API function
Fixes#526Fixes#202
bugfix: "Attempting to grab or pull bee swarms no longer works"
bugfix: "Fixed bee swarms still flying around when dead and appearing to be unkillable."
tweak: "Bees now take double damage from fire."
tweak: "Thick material clothing now protects against beestings."
tweak: "Beekeeping crate is no longer contraband in cargo."
In this update:
Returning old e-rifles from old code.
Changing regular energy gun to energy carbine
Adding back the energy pistol
Buffing a bit the heavy asset protection suit, and fixing more loadout related issues with the nt and syndicate assault teams
Reworked a bit the syndicate commando and deathsquad loadouts
Returning shotgun boxes, that works like speed loaders, from old code, now with unique sprites
Stun batons now emit light
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
The idea is to consolidate all of the spam that you see on the lower right panel into one concrete, semi-persistent pop-up window. Utilizing bootstrap, it'll show you a neat welcome screen, the message of the day, staff memos (if accessible), and a personalized set of notifications. The system is set up for easy future expansion, as well.
Centralises vomiting code to remove duplication and standardise effects.
Makes vomiting empty your stomach a bit (30u, the capacity of a drink
glass)
Adds Ipecac, an emetic to cause vomiting
The Dev Flag and status is back in game! As of right now, you will have
to play around with the values in regards to the defines in setup.dm
(specifically with CCIAA), but everything works fine, besides maybe Devs
having some verbs they shouldn't for some reason..
But besides that, it's peachy.
Improves camera EMP handling. Now uses a var and processing to determine when the EMP should end, preventing inconsistent states when a camera is EMPd multiple times.
Reduces the process and bandwidth need for cameras.
* There is now a common camera repository, responsible for setting up cameras once for every invalidation.
* Camera consoles now only updates when the camera cache is invalidated, not every second.
* The console now only presents one network at a time, and only sends the data necessary to view that network (as opposed to sending the data for all cameras).
Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
The Vampire gamemode, as ported right now. The gamemode is in, as well
as creating a vampire through the traitor panel. All abilities seem to
function, unable to test enthrall however (though I have a feeling it
will have to be redone). Enthralling someone without a CKey will give
you the correct response, however.
Any abilities having to do with lums will need to be redone. Vamphud as
well.
If looking over this and pointing out errors/fixing is faster than
simply porting it yourself, then feel free to do so!
Now limits moved registrations to when strictly necessary. That is:
* When entering a movable atom, the entering object only registers to its moved event if it has moved listeners on its own.
* Instead, when registering to a moved event, registrations occur recursively until a non-/atom/movable is encountered or a prior movement registration from the same object is reached.
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.
These crystals can be inserted into active uplinks, making it possible to trade them.
Variant of https://github.com/ParadiseSS13/Paradise/pull/3174/files.
The uplink now always shows the description to avoid annoying button shifting.
Corrects a number of places where New() did not call ..(), and implements similar changes to attempt to ensure New()/initialize() complete running before qdel() runs.
Cuts down on the number of created items during server start.