This commit refactors light_color definitions for most machines and
consoles that use light_color's. Instead of having the same color repeated
over and over again, there are #defines for most of the common ones.
Some machines and other places may not use lighting defs- this is
intentional. The defines as they are, are relatively clean, and machinery
was where the bulk of repeated light definitions were. Other, special
colors, can just be defined in the same file that they are used once in.
This commit lightens the restrictions on stacks, so that they can now
build on any type of /turf/simulated instead of requiring
/turf/simulated/floor.
The primary intent of this commit is allowing people to build on shuttles,
as they are now considerably less "magical", given that they have
lighting, and glass sheets + metal rods already ignore these restrictions.
This commit readds every fluff lighter to a new lighters.dm file, as well
as moving every lighter into it. There are enough to justify seperating it
from cigs_lighters.dm. Fluff lighter paths have not been touched for
compatibility to the database and map.
This commit also readds the flasks, with the fluff paths removed.
Cryopods attempt to preserve certain important items when despawning
their occupants. They also attempt to remove the contents of anything on
their occupants. Some preserved items have important contents, which
should not be removed, and may cause runtimes after retrieval. This
should fix those runtimes.
Adds 2 Horsemasks to the AutoDrobe's hacked items list.
Adds 2 new crates to cargo: Team Jerseys Crate and Polo Supply Crate.
- Team Jerseys Crate (15 supply points) contains 4 red jerseys, 4 blue
jerseys, and 1 beach ball
- Polo Supply Crate (20 supply points) contains 6 brooms, 6 horse masks
(to put on the brooms), and 1 beach ball
Adds new jerseys: an alternative to athletic shorts that come in red and
blue. Red team is the NT Phi-ghters, Blue is the NT Pi-rates. Show your
team spirit today!
Some recipes were sorted using paths that resulted in empty recipe types
(for example, /datum/recipe/microwave/human/burger causing an empty
/detum/recipe/microwave/human type to exist). These would be included in
the available recipes, and since their requirements are null, would all
be satisfied by anything in the machine. Since their result is null, a
runtime would occur while trying to create nothing.
This fixes some (all? Too lazy to test them all) kitchen machines never
failing.
Vending machines would attempt to build_inventory using what appears to
have been an old, multi-call method, including a named argument that no
longer exists and would runtime.
If you tried to clean an atom with soap, and that atom was deleted
before you finished cleaning, the message attempting to display its name
would runtime.
Holidays are now actual datums with procs and vars and everything.
Holidays run a proc called celebrate() when it's time to celebrate them.
Currently none of them do anything but that should change, wink wink.
Holidays can now run for more than a day. The important ones, april fools,
christmas, halloween, new years, and easter, all last at least a week.
The idea is so people can celebrate christmas in game without having to,
you know, actually play on fucking christmas. And also to put a time limit
on how long stuff like the annoying spookoween closet skeletons will stick
around so it doesn't overstay its welcome and become annoying as shit like
last year.
The event SS now allows more than 1 holiday to run at a time.
This matters for new years + christmas, easter + april fools, easter + 4/20,
and any holiday that can happen on friday the 13th.
The events get stored in a list that's only initialized if there's an active
holiday so testing for potential holidays is still pretty easy.
Added more easter dates so we won't have to add more until 2040.
The current batch run out in 2017.
:-------------PARACODE NOTES------------:
Tied to event process
Extra procs for holidays to be able to run special events alone
Admin manual-override functionality maintained and ported to new system
Instead of a snowflake check in adjacent.dm, doors now actually properly
use their nice open_layer and close_layer when opening and closing, thus
removing the need for a snowflake check to open firelocks that would
appear on the same layer as doors.
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.