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
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.
changes:
rscadd: "Respawn timers are now tracked individually for playing as animals (mice), small synthetics (drones and pAIs) and crew (everything else). This means you can now play as a mouse or drone while waiting to respawn as a full crewmember.".
tweak: "You can now spawn as a drone immediately upon joining as an observer, without having to wait ten minutes. There is still a cooldown between respawning as a drone if you just died as one."
tweak: "Slightly improved the error messages if you try to respawn when you've not waited long enough."
In addition, unlisted changes:
The admin verb 'Allow player to respawn' now sets all three respawn timers
Respawn times are now centralised in setup #defines, for easier editing in future
Nonliving mobs will no longer attempt to ghost when deleted. A comment in mob.dm explains this change
Fixes:
- "Eldritch Horror, Central Command Internal Affairs Agent, NMSS Odin"
- Someone earlier said it was annoying that the fake CentComm messages sent by MalfAI don't have the same sound as regular CentComm messages, making it easy to tell when it's malf
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.
* Tajaran species name
Corrected several errors in the code, which resulted in tajaran gloves
not working properly. 'Tajara' is the singular name of the species
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.
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.
log_and_message_admins() (which sure needs a shorter name) now uses key_name_admin() instead of just key_name().
Replaces calls to admin_log_and_message_admins() which did this with log_and_message_admins() instead.