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.)
Can now see the current compilation date and revision:
* In the Dream Daemon log output.
* By using the "Show Server Revision" client verb which also links you to the commit in question.
Partially by request:
The inactive check process now respects client holder status and can be configured how long clients may remain inactive before being kicked.
The purpose of this is to allow for testers on our test server without them having advance proc call which can do some fun stuff with python, etc.
Also removes debug controller so that testers can't just edit the configuration to remove debugparanoid
The default config is the status quo, you have to go out of your way and set this option in config to remove proccal from R_DEBUG
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.
Alters the event controller based on http://baystation12.net/forums/viewtopic.php?f=5&t=10706.
Exception is that there is always some start time variance to prevent metagaming.
Mundane, moderate, and major events run on their own timers and start and run independantly of each other.
Multiple events of the same severity degree can run at the same time. However, currently only one instance of the same event can be active at a time.