This adds throw_alert() and /obj/screen/alert, a system that allows you
to do custom hud alerts for any variety of things from "You're too
cold!" to mecha status indicators for the pilot.
There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. The
xenochimera feral indicator would probably be a good candidate for
conversion, but I didn't touch it in this PR. There's also a number of
new alerts, such as blindness, highness, legcuffed, buckled, handcuffed,
and probably some more I missed; read code/_onclick/hud/alert.dm and see
for yourself!
Additionally, a number of tweaks have been done to resisting code, to
make it so that there's an indicator when you're buckled or handcuffed,
and can just click the alert to start resisting. This includes a
refactor that combines the logic for lockers, holders, micros
escaping from shoes, and struggling in a gut all into one proc, called
container_resist(). This means that vore bellies actually no longer need
the resist override, but it's been left in place just in case someone
finds something else they want to use it for.
Also, the health and internals indicator got moved down one tile each.
Needed room for the alerts. If we add the oxygen tank action buttons
from /tg/ and remove the internals indicator, the health indicator can
go back where it was originally.
* Updates one arcade machine emag message to to_chat, adds another.
* Returns 1 in emag_act for orion trail.
* Converts a bunch of stuff to macros. Should probably not break anything.
* Fixes an improper macro usage.
* Attempts to fix all 20 errors.
* Adds: flamenco dress, bustle dress, cowboy duster, sheriff badge, tiny cowboy hat. To be added: 2 pairs of cowboy boots, stick horse.
* Adds 2 cowboy boots and a stick horse. yeehaw.
* Attempting to squash conflict that was caused by one of my OWN prs. For shame.
* attempting to fix conflict ft. anewbe
* Bouquets
* Fake Bouquets. Can be won from arcade machines.
* Heart box chocolates containing a set arrangement of chocolates.
* Adds said chocolates (milk chocolate, white chocolate, and truffles) all bite-sized.
* Adds 5 cards, one blank and four with covers. Function identical to paper except you can't make an airplane because I hate fun.
* Adds The four cards with covers, 3 real bouquets, and 2 chocolate boxes to cargo under a 'gift crate' for 10 points.
Sprites by me. Code would not be possible without cerebul's help. Let me know if I've goofed on something, but I did test all of the items + ordering them from cargo.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.