Files
Bubberstation/code/datums/components
SkyratBot d3a6ccae68 [MIRROR] Sec Biosuit craft, more bio-emergency supplies [MDB IGNORE] (#26035)
* Sec Biosuit craft, more bio-emergency supplies (#80622)

## About The Pull Request

Makes Security bio suit and bio hood craftable using a normal bio
suit/hood and helmet/armour vest.

Adds a box of sterile masks and latex gloves to the bio-emergency crate
from Cargo.

## Why It's Good For The Game

Security bio suit is the only one with different armour values, yet
there is only one for the entire Security department.
By giving them the ability to craft them we give more Security Officers
protection from disease without losing their red colour and armour
(which is worse in bio suits than on their armour vests). This makes
Security more likely to care about roleplaying during outbreaks, like
enforcing quarantines.
This isn't creating any new bio-suits, as to craft a Security bio-suit
you need to acquire a normal bio-suit and some spare armour.

Adding a box of sterile masks and latex gloves to the emergency
bio-emergency crate makes it more useful. There is only 1 box of sterile
gloves and 1 box of latex gloves on all of the stations at medbay at the
moment. This way they can get more sterile masks and latex gloves to
protect themselves from diseases, which is cool to see players caring
about not getting infected and being in fear.

* Sec Biosuit craft, more bio-emergency supplies

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
2024-01-07 03:27:37 -05:00
..

Datum Component System (DCS)

Concept

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

HackMD page for an introduction to the system as a whole.

See/Define signals and their arguments in __DEFINES\components.dm