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.
This commit overhauls a bunch of systems so that buckling works for
any subtype of /obj. This means that space vines and chairs and beds all
use the same system. A lot of stuff has been touched.
This commit overhauls the examine system to baystation's latest system,
including a more efficient verb approach, and a new status panel tab,
which shows more information for pre-defined objects.
This commit does the following:
- Replaces all instances of magic intent words, like "harm" and
"help" with defines, I_HELP, I_DISARM, I_GRAB, I_HARM
- Fixes a few manual grab instances left over in attack_alien, they
will now used grabbedby()
This commit ports the base system of LINDA from TG. This version of linda
is the original version, with none of -tg-'s fixes, rewrites, or other
such improvements attached.
The mob ignite system has been 100% removed, as LINDA does not support
this normally. It may be added back in when the improvements and refactors
to LINDA have been ported.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
- Also adds ABSTRACT and NODROP flags in preparation for removal of
canremove and abstract vars.
- Sorts some of the setup.dm flags so they're in order.
- Replaces 'flags & 2' in policetape.dm with pass_flags & PASSTABLE,
should have the same effect.
Hydroponics trays can now be sprayed with any spray container (Space
Cleaner bottles, Chemsprayers, Plant-B-Gone bottles, etc) and will
correctly transfer the actual reagents to the tray and remove them from
the container.
Repairing robotic limbs with a welder will no longer cause eye damage.
This will allow medical to repair IPCs and prosthetic limbs again
without needing a welding mask/goggles. May also extend to fixing up
borgs with a welder too. The sounds and other recent IPC changes are
unaffected.
Anyone injected with Slime Toxin, the special reagent from Green Slime
Extract, will now receive some messages explaining their new form.
Should hopefully avoid confusion regarding Shadow People and the
previously unexplained damage they were receiving. At this time, the
dark sight for Shadow People is likely still not functioning properly,
and will hopefully be improved in the near future.
Now weapons can properly cause cuts without necessarily having a greater
chance to remove limbs.
Also separates is_sharp, has_edge, and can_puncture.
Conflicts:
code/__HELPERS/unsorted.dm
code/modules/mob/living/living_defense.dm
code/modules/mob/living/silicon/robot/component.dm
code/modules/mob/living/simple_animal/bees.dm
code/modules/projectiles/gun.dm
code/modules/reagents/reagent_containers/syringes.dm
code/modules/surgery/eye.dm