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
cl ninjanomnom
fix: Shuttles have proper baseturfs now.
fix: Mineral walls properly use their baseturfs when destroyed/drilled.
add: A new engineering goggle mode allows you to see the shuttle area you're standing in.
admin: Buildmode works a bit better with baseturfs now and can properly only remove the top layer of turfs when editing. Note that as a result the order you place turfs is important and a wall placed on space means when the wall is removed there will be space underneath.
/cl
This adds an area hook for turfs getting the PlaceOnTop proc called so shuttle areas are able to intercept it and add a special turf used for determining where the bottom of the shuttle is. I'm not too certain on this being the best way to handle it but the alternatives restrict the kind of turfs that are allowed to be on shuttles which I didn't want to do as it was part of the whole intent of the baseturf change to allow any turf type on shuttles.
The alternative to the area hook would require a tool which attaches turfs to a shuttle which is why there's a shuttle area viewing tool in this pr. I considered doing it this way first but decided it was too clunky.
In addition to other changes:
Tiled/Reinforced floors have proper baseturfs now.
A large amount of the remaining ChangeTurf calls were swapped over to various baseturf helpers so, for example, mining doesn't create a lavaland turf if somehow the mineral wall is on plating.
Escape pods, the aux base, and syndicate drop pod have been converted over to shuttle templates as well.
The error when the timid var is set incorrectly has been changed to a stack_trace.
The change turf file has been made all lowercase as per standard.
* yeeeeeeeeeeap
* i turned myself into a commit morty!
* I'M COMMIT RICKKKKKKKK
* tinydwarfy was an inside job
* *reels in pain* you KNOW I DON'T LIKE PISTACHIOS
* WOO
* Fixes 0 value not being saved in constant memory circuits
* Fixes 0 value not being loaded in constant memory circuits
* Switched to isnull proc for null checks
* Fixes mannitol not curing brain traumas
* Makes has_trauma_type random, adds type arg to cure_trauma_type
* Adds get_traumas_type proc
* Default to /datum/brain_trauma