Ports Apollo's infraction's system, creating a permanent criminal record for every character. Every minor or medium infraction accrued over the course of a round is added to the character's permanent security record which is available at vanilla records councils. Antagonists are automatically exempt from this process, and players can exercise control over what charges they consider canon or not.
Brigging a person is now dependent on the criminal sentencing computer, which reads a person's ID and applies a brig timer automatically for the charges selected. Personnel without ID's will have to be brigged manually.
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.
Fixes the mousebeam for more gibbings and ensures that nowhere is safe.
Fixes the multipliers because fuck.
Makes the night lighting process not runtime if night lighting is disabled. Note to Bed: del()-ing processes is bad, they should be disabled instead.
changes:
rscadd: "Added a button on APCs to set the area lights to a 'night-mode' which is dimmer and saves energy."
rscadd: "Added an automated system to turn 'night-mode' on in hallways between 6pm and 7am in station time."
This PR is intended to make working in cargo more interesting, and more like a real warehouse experience. IE, the place is an aladdin's cave full of wierd knicknaks and useful oddifies.
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.
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
Nominating for worst code 2016
Adds in custom objectives for the antag competition
Adds in a verb for players to assign their character's allegiences and to later edit them
Adds in a verb for players to request objectives relating to the contest
Adds in the logging of contest results
Modifies the objective system to facilitate objectives that require regular checking (such as the brigging one, which was not functional up until now)
Updates the TravisCI config to use the latest stable BYOND release.
Adds client version control taken from /TG/station.
Updates the recommended version for hosting.
Updates code to be 510 compile compatible.
Also introduces the new updates to the GOON processScheduler, which should make for better gameplay and less lag. Specially on high population.
Rewrite's Mahzel's SQL character and preference saving.
Introduces easy config switching between the new and old system, with no troubles at all.
Also introduces better logging for DBQuery/proc/parseArguments(), should something go wrong. And classes SQL query errors as full on error snow, as opposed to debug data.
Transfer vote delay is counted from vote end, so it doesn't conflict with invalid or cancelled votes. Or other votes.
TRANSFER_TIMEOUT added as a config option, default value is 2 hours. No transfer votes before 2 hours.
Transfer votes before 3 hour mark require 2/3rds majority to pass again. Credit to SoundScopes for the original snippet.
webint shall be the common word used now, replaced all instances of webinterface or webAPI with that one phrase. Should make it easier to read and search.
sqllogging depracted in favour of config.sql_enabled. Database loading is done through /hook/startup/proc/load_databases, with initialize_database_object() being a generalized proc to read any generic database config file. (TODO: config examples in relaiton to last remark.)
Both procs are now generalized, and accept a DBConnection object as an argument. Due to this generalization, all instances of `establish_db_connection()` must be renamed to `establish_db_connection(dbcon)`.
Also added variable `failed_connections` to the definition of DBConnection.
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.