* Paradise Pop Effects
Adds effects to the recently added Paradise Pop reagents.
- This was not included in the initial PR since it affects balance and
shouldn't hold up the base system which does not affect balance.
Effects by reagent:
- Paradise Punch: no effect, purely a flavor drink
- Apple-pocalypse: Very small chance to suck nearby objects towards the
drinker each life tick (weak version of the liquid dark matter effect)
- Berry Banned:
- Good version: Low chance to heal a tiny amount of a RANDOM damage type
each cycle (less than omnizine, as well as less reliable)
- Bad version: 50% chance to inflict toxin damage each cycle (same
strength as the basic toxin reagent, but less frequent), BWOINKS the
victim if they die with it in their system (more on this later)
- Blackeye Brew: Low chance to make the drinker shout a random bit of
"tider talk" each cycle. Will make you sound like an idiot.
- Grape Granade: Low chance of making you burp, even lower chance of
causing nearby objects to fly away from you (weaker version of sorium
effect, same chance as the apple-pocalypse pull)
- Meteor Malt: Low chance to cause a screen shake and sound for only the
drinker as if a meteor hit nearby, as well as a lower chance for a small
amount (1-5 units) of a randomly selected mineral to appear in their
bloodstream (mostly harmless, though there is a chance for it to be
plasma)
CODER FUNTIME:
Adds support for death-triggered chem effects.
- Currently used only by the poisonous Berry Banned, this can be used in
the future to have chems that could transform dead bodies into swarms of
spiders, insta-borg a body, or even possibly revive a person the instant
they die.
🆑
rscadd: Adds effects to the Paradise Pop reagents. Drink them all to
unlock their powers!
/🆑
* why do you always wait until after i commit multiple times to point out something that has been in there since the first commit?
A lot has changed.
Major points:
- All mobs now use the -tg- thrown alerts system. This is a system where
a maximum of 5 "alerts" (which take the apperance of HUD icons like the
inventory and modular action buttons) on their HUD.
- Alerts are defined as a subtype of /obj/screen/alert.
- Alerts are "thrown", or activated on the mob with the proc
`mob.throw_alert("alert_id", /obj/screen/alert/path, severity
(optional), new_master (optional, overlays the referenced "obj" on the
button))`
- Alerts are cleared by calling `mob.clear_alert("alert_id")` or by the
/obj/screen/alert containing a `timeout` setting, which will
automatically clear itself after that period of deciseconds.
- Alerts may have functionality beyond appearance: Mousing over them
will use the WireWraith tooltip system to generate a themed tooltip,
and clicking them may have a function defined on the
/obj/screen/alert object.
- Shift-clicking an alert will give you it's name and status, in case
the tooltips fail to work.
- Hunger/Oxygen/Toxin/Nitrogen/Pressure/Etc warnings are now handled via
the -tg- thrown alerts system.
- Failing to breathe anything will display as an "No O2" warning.
- Species breathing has been refactored to accomodate this. Vox are
able to breathe the station air without instantly dying, but will be
poisoned every time they breathe by the oxygen in the air. Any
species with a unique gas breathing type will also display the
correct "Choking (no X gas)" instead of just "oxygen". (Unless they
have not breathed anything in, it's a quirk.)
- Robot cell/temperature alerts also use this.
- Aliens, though not harmed by toxins, will have an alert if they
breathe in toxins, notifying them that "You'll be toast if this
lights up."
- More alerts have been added
- Buckling
- Activated on: Being buckled to an object.
- Cleared on: Being unbuckled.
- Click functionality: Calls resist(); Will unbuckle from chair
instantly if unrestrained, otherwise, there is a delay period.
- Hand/Leg cuffs
- Activated on: Being handcuffed.
- Cleared on: Being unhandcuffed.
- Click functionality: Calls resist(); Will attempt to either get out
of the handcuffs, or, if you are a xenomorph or hulk, break the
handcuffs in 5 seconds.
- Blind/High
- Activated on: Becoming blinded/becoming high on LSD.
- Cleared on: Becoming unblinded/the high wearing off.
- Click functionality: None.
- Asleep
- Activated on: Life() tick detecting sleeping.
- Deactivated on: Sleeping being 0 or less.
- Click functionality: None.
- Weightless
- Activated on: Losing gravity.
- Deactivated on: Moving back into an area with gravity.
- Click functionality: None.
- On Fire
- Activated on: Catching fire.
- Deactivated on: Being extinguished.
- Click functionality: Calls resist(); Causes you to stop, drop, and
roll, which will reduce firestacks and possibly extinguish you.
- Law update (BORG ONLY)
- Activated on: Laws being changed.
- Deactivated on: Timer, 300 deciseconds.
- Click functionality: None.
- Hacked (BORG ONLY)
- Activated on: Being emagged/given malf tools by the malf AI.
- Deactivated on: Emagged status being removed.
- Click functionality: None.
- Locked (BORG ONLY)
- Activated on: Lockdown being set (by emag law rewriting/robotics
console/wire being destroyed)
- Deactivated on: Movement being unlocked.
- Click functionality: None.
- Notify Cloning (GHOST ONLY)
- Activated on: A human's body being placed in a DNA scanner.
- Deactivated on: Timer, 300 deciseconds.
- Click functionality: Reenters body.
- Notify Jump (MULTIPURPOSE) (GHOST ONLY)
- Activated on: Any sort of chance to become a mob (ie, golem rune).
- Deactivated on: Timer, 300 deciseconds.
- Click functionality: Varies.
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.