This is now updated to baymerge and completed
rscadd "Overhauled all of the security hud job icons, to be more visually pleasing and better communicate roles"
bugfix "Intern positions and psychiatrists now have an icon. All jobs that were missing an icon should be fixed"
tweak "Made the loyalty implant icon a less obtrusive green light, instead of a big red square"
tweak "CCIA, ERT, IAA and any similar nanotrasen representatives now have the N logo as their icon"
Reverts the automatic re-execution of queries after the db connection is reestablished, added in 36a084f.
It was causing infinite recursion and generally breaking the server, dropping a single query on reconnect is still better than the old behavior of dropping all queries.
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.
Changed Stats gathering to include game_id.
Removed a duplicate proc that's never used.
This introduces a breaking chance in the feedback table.
The table should be renamed and recreated with the new schema.
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.
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.
Renames the variables of the DBConnection object to make differentiating them easier.
Reworks the `DBConnection/New()` and `Connect()` methods to allow for the automatic creation of the dbi handler string. Adds a con_database variable to DBConnection to enable this. DBConnection objects now also house the current database they're using for this purpose.
Moves the constructor for dbcon under `/hook/startup/proc/connectDB()`, as it needs to be called after the SQL config has been read by `datum/global_init/New()`
Because of the limitations of BYOND's bitwise operators (which affect both the old and new implementations of num2hex()), you cannot use numbers larger than 2^16 with that proc.
Manual port of https://github.com/PolarisSS13/Polaris/pull/430.
Clothes now have a flash protection and tint level. If one is wearing multiple items with these modifiers they do stack.
Glasses also have a number of additional additions such as sight flags, see_invis level, and so forth.
Flash protection comes in 4 levels: Reduced, none, moderate, major.
Reduced protection, for example, means the user takes increased damaged from welding.
Moderate protection safeguards mobs from flashes, flash grenades, projectors, etc.
Major protection protects from the above as well as welding.
Tint also comes in 4 levels: None, moderate, heavy, blind
Moderate tint will apply the nearsighted overlay.
Major tint will apply the welding overlay.
Blind will apply the blindness overlay.
The end result is an attempt of less type checking. Any set of glasses may now also contain HUD glasses.
This should make a future rewrite of HUD glasses easier (could have the HUD functionality be a datum rather than separate item).
Replaces two procs:
proc/sql_poll_admins()
proc/sql_poll_players()
With the proc:
proc/sql_poll_population()
Which does the same thing, except fixes and issue with sql logging, where player counts and admin counts would be placed in different rows:
Pictures for comparison:
Before: https://i.imgur.com/As4hAV8.png
After: http://i.imgur.com/ssm20IQ.png