fix: makes dragnet non harmful
tweak: pacifists can now use any disabler or stun setting on any energy gun
code: removed all of the pacifism check code from code/modules/mob/living/living.dm
code: gun objects no longer have a harmful variable, instead, ammo_casing objects now have a harmful variable, which is by default set to TRUE
code: if a pacifist fires a gun, it checks whether or not the round chambered is lethal, instead of whether or not the gun itself is lethal.
By moving our logging to a DLL we see a drop in CPU/real time of 2-3 orders of magnitude. This is due to BYOND opening and closing file handles on every write, causing incredible amounts of unneeded overhead. The logging library also handles timestamps for us, further increasing performance gains.
This library will also allow for further offloading in the future, such as completely replacing file2text() and friends.
A pre-compiled DLL is bundled, but Linux users will have to compile manually. Directions can be found at the rust-g repo.
Log output is enhanced with millisecond time stamps:
[2018-04-01 15:56:23.522] blah blah blah
This includes runtimes as well, which benefit from the same timestamp improvements and no longer have hacky splitting code to add their own timestamps.
Log shutdown is handled in a dedicated proc called as late as possible, as rust-g integration expands this will be factored out into a generic native code shutdown proc.
* Removed parent call to stop the paperbin from dropping from being carried when getting a pen or paper.
* Found a better fix
* Better operator
* Fixed fingerprints not being created upon paper bin interaction
* Review change
* Fixed notes for detective's printed report
* Added alt-click functionality to clear logs for detective scanner
* Added a right click option to detective scanner to display logs without printing them
* Made the display function as an action button.
* Review changes done
* review changes
* review changes and a bad player message fix
* Temporary concept code for PR
I doubt this code is the standard method of doing things, but trying to understand this code is a bit AIDS
* Using wrench_act() and default_unfasten_wrench() instead
It actually works this time