Implements frenzy mechanics.
Frenzy is usually triggered by chaplain actions, or by being low on blood. It gives you the hulk gene and augments your vision, effectively turning you into a relatively powerful hunter.
To het out of it, you need to consume more blood.
The largest chunk of this rewrite.
Reworks the vampire powers, and makes them completely modular, as with changeling. Also adds a few powers, and so on.
A massive list of TO-DOs remains.
Makes a mob/proc/can_use_hand(), which determines whether or not a mob can use a given hand.
Redefined in human.dm to check a hand's status and usability.
Hand usability checks are moved into `mob/living/carbon/human/put_in_l_hand()` and `put_in_r_hand()` respectively. This changes how `obj/item/attack_hand()` functions slightly.
Adds check_ai_laws and check_rune_words to moderators.
Removes debug_variables from standard holders so we don't have aux staff doing silly things.
Removes a duplicate entry of empty_ai_core_toggle_latejoin.
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.
Hardsuit items that would require actual space to be utilized, like weapons, can no longer be used inside mechs. May be modified later to include other conditions, such as being inside lockers or whatever.
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.
Because qdel() doesn't delete the src.cable reference immediately, the emote loops for quite a bit until the garbage collector ticks.
I may need to find a bit of a better method for it, we'll see.
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.
While not exactly a bug, I think it would be logical that blastdoors and such block some level of radiation. As such, if you aren't in full view of the SM, the effective range of the radiation is taken down by 1/3rd. This will make the monitoring room safer.