A port of https://github.com/d3athrow/vgstation13/pull/4377

Allows brooms to be wielded with 2-hands. Doing so places the broom
between your legs so you look like you are riding it.
You can also put a horsehead mask onto the broom to create a stick-horse
to ride. This can also be wielded, but will ALWAYS appear between your
legs.
And for the more magically inclined, wielding a broom or stick-horse (2
hands!) will cause you to ride it like a witch, giving you the ability
to bypass hazards such as tables and banana peels.
Fixes watermelon slices being empty.
Potatoes, carrots, and watermelons will now properly transfer their
reagents to the new slices when chopped/sliced, divided evenly across
the total number of slices.
Watermelons create 5 slices, carrots and potatoes only create 1 (since
they are a plate/pile of fries/sticks).
- Fixes Diona Nymphs getting a color overlay, which was causing them to
become darker and look terrible.
- They now look like they did pre-#980
- Adjusts the equation for hydroponics trays calculating light level
based on their turf (lid down)
- All trays in hydroponics should now have a light level of 3 or higher,
this is subject to further adjustments to fine-tune
- Fixed messages from the eject tank verb to not say things like "the
the tray (#45)"
This commit cleans out any unused fluff item from the fluff item defines
file.
Mecha paintkits have been moved to mecha/paintkits.dm, and the fluff path
in them has been removed.
This commit overhauls the global.dm file, global_lists.dm file, and
defines.dm file into a tree system based on -tg-.
All defines have been split and distributed in code/__DEFINES/
Everything from global.dm and global_lists.dm has been split and
distributed in code/_globalvars
The _compile_options.dm file contains anything that absolutely, 100%, must
be initialized before world.dm.
Name definitions have been moved to code/_globalvars/lists/names.dm.
Other things to note
- All instances of something.z == 2/1/3/5 have been replaced with easily
configurable defines, labeled ZLEVEL_. The map include file can
override these by defining custom ones in it's file, as it is at the
top of the tree.
- Ports https://github.com/Baystation12/Baystation12/pull/9184 from
Baystation
- Prevents deconstruction of soil and invisible soil
- Fixes#1011
- Adds a verb to eject tanks from hydroponics trays if one is inserted
- Don't think anyone has actually done this, but it has been possible
for a LONG time and will be more useful once I get the atmos portion of
botany working
- Fixes grown items not leaving behind their trash
- Notably banana peels and corn cobs. Clowns and hillbillies rejoice!
- Adds 15% chance for a watermelon to leave behind a pack of it's seeds
when eaten.
- Slicing watermelon will not produce seeds ever
- Replaces the Janitorial ERT members' plant-b-gone sprays with new
Telescopic Scythes!
- Can be collapsed to fit on a belt or fit in pockets/bags
- While collapsed, it loses a large amount of it's damage, is not
considered sharp or as having an edge, and cannot cut vines like a
normal scythe. Extended ones are functionally identical to normal
scythes
- Extending and collapsing a telescopic scythe has some awesome sounds
from Freesound.org
This commit prevents a runtime of "list index out of bounds" with events
by adding a simple sanity checking system, so that the list checked always
has a valid check, regardless of if the event has a valid variable. NOTE:
May result in unintended behaviour if an event tries to complete with an
invalid severity level. It will always be set to moderate, as that is a
safe assumption for the code to make.
This commit fixes some special cases where a certain series of events
could lead to a space turf being created which was not activated in LINDA,
therefore it would not drain atmos correctly.
Things changed:
- ChangeTurf properly updates new space tiles
- Admin delete calls changeturf instead of del'ing turfs to satisfy LINDA
- Admin delete now uses qdel instead of del, because everything is being
switched to qdel.
This commit fixes the following things:
- Get_Area() now properly returns the area
- Events will no longer runtime upon being manually triggered by an admin
- The prison break event works again
- Grabbing will no longer runtime (May result in people with pixel
offsets from a grab being stuck, better than a runtime)