- SSInput subsystem for running movement inside the tick.
- Switch skin.dmf to use KeyUp/KeyDown procs for movement keys.
- Logic to do responsive diagonal movement.
Every other method of incapacitation is handled by the other procs, leaving "canmove" to functionally only hinder conscious proning. Might send to polaris at some point, but they still lack the features this "fixes" and could probably use a proper de-spaghettification rework on the whole system
Pixel shifting now allows mobs with custom offsets to shift themselves 16 pixels from their default offsets instead of point zero. This means that a wide mob can now shift towards left without getting stopped due to being already at -16 at default offset.
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.