-Okay so. The dismemberment related crashing has decreased in the mob icon cache related cases, but another circumstance has been revealed pointing towards the severed limbs themselves.
-(Someone got splattered yesterday downstream and nuked half server into chain crashing)
-Anyhow. I personally had completely forgotten to update my client last year from an awfully outdated pre-PIXEL_SCALING version, but I happened to do it way after people began crashing and cannot remember encountering a single crash from the before time.
-Which led to a theory that our poor little Byond simply has trouble adjusting to fresh features and occasionally gets overwhelmed by the task of tossing around a bunch of severed limbs inheriting their owner's visual properties while also having to randomly rotate each one.
-This thing just disables pixel scaling from severed limbs upon dismemberment.
-Because of the evil nature of the bug unpredictably manifesting in action and often leaves some witnesses un-crashed, I have no proof if this helps anything but I'll just toss it up and see if it sticks.
Axes executing a cleaving attack now has a visual effect to show the tiles that can potentially get hit.
Gives hatchets and the energy axe the ability to cleave.
Changes the world var from 0 to 7, as it is what /tg/ uses and it might help reduce the amount of data one needs to download when connecting. Not sure if it will but it can't hurt.
* MouseDrop()'s over_object may be null if dropping over a stat panel or over other empty space. Fix runtimes from assuming it is not null.
* Fixes Runtime in clothing_accessories.dm,54: Cannot read null.name
* Fixes Runtime in evidencebag.dm,21: Cannot read null.loc
* This is PHASE 1 of a multi-phase conversion. In this first phase we implement the subsystem, but leave it processing the existing global list variables. In the next phase we will switch to use datum variables in the subsystem. The main reason for splitting into two phases is ease of code review; change the meaningful code without the hundreds of machines -> SSmachines.machinery substitutions.
* We did declare macros for adding/removing things to the processing lists, and convert everywhere to use the macros.
* Added var/is_processing to /datum to keep track of whether an instance is already in a processing list (prevents it being in the list twice!) and also debugging, making sure its not in two lists etc.
* NOTE: The global machines list is **no longer sorted** for performance reasons. As far as I know, the only module that actually ever cared was cameras. Our camera system already handles its own sorting in the cameranets anyway, so it should no longer be needed.
-Apparently storage proc for this thing was changed to return 1 regardless if the item had the quick empty verb or not, which in turn triggered the very first nope of the box specific code.
-Boxes can be quick emptied but lack the actual verb apparently?
Removes the dynamic setting of preload_rsc, because BYOND does not appear to respect it if it's not compiled in, and the dynamic nature of it is unused to my knowledge. If you need to change it, you can change a define in _compile_options.dm
This should now properly set it to '1', which should load all the resources at once, which might make some significant slowdown when first connecting, but should be preferable to constantly getting mini-lags when moving to new areas or hearing new sounds (like when getting shot at!).
Welding in a RIG/spacesuit is currently broken. This PR fixes it. It was broken for two reasons.
First, the proc to get flash protection assumed the RIG was a clothing item, and as such thought it had variables it doesn't. So it would runtime.
Second, spacesuit helmets lost their flash protection for some reason. This has been reversed.
I personally like to imagine we live in a world where 'eject' is not a synonym for 'annihilate'.
Just makes the sound the railguns play when empty be a var, and makes them ACTUALLY eject the magazine instead of just deleting it (copypaste error probably, from the magnetic type, which does that).
* Adds defines for world.tick_usage
* This provides no useful benefit whatsoever, but /tg and Baystation12 have done it, so it will make porting future code easier if we do too. No real harm done either.
This improves the issue of player mobs using excessive CPU every Life() tick.
* Testing determined the worst performance was actually the manipulation of the "healths" HUD doll's overlays.
* Switching to using a mutable_appearance helps quite a bit for little effort.
Or how Woodrat spent too long on something that was supposed to be simple.
- Addition of a Explorer Radio Channel and headsets.
- Explorers and Search and Rescue job slots added
- Adjustments to the pilot job including getting rid of the flatcap
- Map fixes, adjustments, (including signs pointing to cryo) planetside side map additions splitting up of the wilderness into two area sections
- Disabled lighting on the arrivals shuttle area once it is docked with the station, should help with the whole issue of lighting bugging out and having dark space
- Fixed EMS jacket missing icons
- Fixed Research signs being missing for some reason, addition of directional signs for cryo
- Addition of a Search and Rescue Winter coat
- Probably a dozen other small bug fixes I forgot, and bug additions
Tested, seems fine. At least in short tests.