This PR fixes a few bugs that were recently reported both by players and
by our new bug monitoring system. An AI agent (specifically Gemini 3)
was used to do some of the code diving process, while the fixes were
tested and verified myself manually. Yes I have actually verified the
fixes in this PR in testing.
The swap to Calculus methods for organ EMP was done by me, no AI. I love
Calculus to much to let a bot do it for me. In particular my fix to
organ EMP was to make it so that EMP damage is handled directly as
"number of fractional seconds the EMP will last", and that they tick
down cleanly per second. I did this because after fixing mechanical
organs not doing ANY EMP effects at all, I tested them and discovered
that the EMP effects were extremely underwhelming. They were like, "Your
screen only briefly filling with static for like 2 ticks", and "your
heart skips a single beat", which was lame and nonthreatening.
Significantly more fun is making the static last for N number of
seconds, and for the Heart to fail to pump for N number of seconds (very
life threatening!)
The new organ EMP handling vars are per-organ rather than a define, so
if we want there to be different EMP times for hearts vs eyes, that's
totally doable. Just make the heart have a larger recovery rate, or the
eyes have a smaller recovery rate.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
Added a paralysis indicator to the HUD.
Being paralyzed will no longer make you asleep, instead, you will be awake with a crit overlay, and you will only be able to whisper.
Pain doesn't slow you down as much anymore. It's still pretty substantial, though.
You now lose pain damage much faster.
A message now plays if you drop your items because of how much pain damage you have.
Ported the clickcatcher from tg/bay. You can now click black spots to turn. Isn't that handy, especially with vision cones.
Reworked fullscreen overlays into an easier and better system, courtesy of PsiOmegaDelta.
Similiarly, added fadeout animations to all pain overlays, plus unconsciousness.
Fixed the vampire frenzy overlay never showing.
Unconsciousness is now FULL darkness.
Flashing mobs is now an inbuilt proc.
Pain message/status displaying has been unified into custom_pain. This might cause some weirdness with when people go unconscious or get paralysis from excessive pain.
Oxyloss has been fixed and so has the oxygen damage overlay, which is now back. I'm not sure of the actual impact this has on damage.
Also added a fullscreen BIG RED overlay when you have BIG PAIN.
Diona now feel pain, although they only take 70% of the pain other species experience.
Unathi now get a unique pain message, instead of the dear god one.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
This pr creates a new check, can_feel_pain, it checks for the NO_PAIN flag, if the target is under influence of mind altering drugs or strong painkillers. This check replaces all the species procs and fixes somethings, like people under the influence of pain killers still getting knocked out from pain and etc.
Added several new preservatives and flavorings in vending machine junkfood. As a result, junkfood is now more filling
Tweaked pain messages.
Penalties for Organ damage now start at >=1 instead of >0.
Added Adipemcina, a fictional heart medication that specially reduces heart damage.
Tweaked soporific and new chems a bit more. Added Paracetamol, a lesser drug to tramadol, known to all as tylenol, and implemented it into sleepers! Gave inaprovaline the IB slowing property to keep sleepers in the game and allow EMTs better usage. Oxycodone made easier to craft by making the plasma a catalyst, but decreased it's overdose limit. Applied oxycodone and paracetamol to be able to handle things painkillers should.