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.
Fixes#881
Contest: Fix assigning of self
Fix objective hoarding
Preferences Helpers
So we have an easier way of keeping track who's represented where and how.
Add aggressive objectives and remove passive ones.
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.
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)
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.
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.
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.
Adds a new route for the webint url parser. Also reverts to checking for config.webint_url as opposed to running double checks for config.webint_enabled and then for the url. If the URL is present, we're enabling the webint.
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.
Should make the functions that rely on feeding links for the user about the webinterface easier and faster. Simply need to modify the `process_webAPI_link()` proc and call the specific hyperlinks.
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.
Most likely also fixes the hickup where BYOND still rending lights are blobs of light despite having hardware acceleration enabled.
Ports https://github.com/ParadiseSS13/Paradise/pull/1690. Fixes#10147 as much as it can be fixed I believe.
Before: When a client is created it's player_age variable is set to "Requires Database", then a select query is ran against the database to see if they have been seen before if they have logged in before this will have a row for them and it will set player age. However if there is no row for them it doesn't change player_age from default.
After: Before we check for an entry in the database we set their player_age to zero, we already checked we have a database connection so we know we will be able to pull this information and if we can't then it means they are a new player. Set their player_age to zero and be done with it.
What this does: Brand new players will no longer be able to bypass the jobs minimal age limit.