/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/status_effects.dm

STATUS_EFFECT_MULTIPLEif it allows multiple instances of the effect
STATUS_EFFECT_UNIQUEif it allows only one, preventing new instances
STATUS_EFFECT_REPLACEif it allows only one, but new instances replace
STATUS_EFFECT_REFRESHif it only allows one, and new instances just instead refresh the timer
STATUS_EFFECT_PERMANENTUse in status effect "duration" to make it last forever
STATUS_EFFECT_NO_TICKUse in status effect "tick_interval" to prevent it from calling tick()
STATUS_EFFECT_ID_ABSTRACTIndicates this status effect is an abstract type, ie not instantiated Doesn't actually do anything in practice, primarily just a marker / used in unit tests, so don't worry if your abstract status effect doesn't actually set this
STATUS_EFFECT_FAST_PROCESSProcessing flags - used to define the speed at which the status will work This is fast - 0.2s between ticks (I believe!)
STATUS_EFFECT_NORMAL_PROCESSThis is slower and better for more intensive status effects - 1s between ticks
CURSE_BLINDINGmakes the edges of the target's screen obscured
CURSE_SPAWNINGspawns creatures that attack the target only
CURSE_WASTINGcauses gradual damage
CURSE_GRASPINGhands reach out from the sides of the screen, doing damage and stunning if they hit the target
TRADITIONAL_INCAPACITATEDIf the mob is normal incapacitated. Should never need this, just avoids issues if we ever overexpand this
INCAPABLE_RESTRAINTSIf the incapacitated status effect is being caused by restraints (handcuffs)
INCAPABLE_STASISIf the incapacitated status effect is being caused by stasis (stasis beds)
INCAPABLE_GRABIf the incapacitated status effect is being caused by being agressively grabbed
INCAPACITATED_IGNORINGChecks to see if a mob would be incapacitated even while ignoring some types Does this by inverting the passed in flags and seeing if we're still incapacitated
MAX_FIRE_STACKSMax amounts of fire stacks a mob can get
MOB_BIG_FIRE_STACK_THRESHOLDIf a mob has a higher threshold than this, the icon shown will be increased to the big fire icon.
become_blindCauses the mob to become blind via the passed source
cure_blindCures the mob's blindness from the passed source, removing blindness wholesale if no sources are left
is_blindIs the mob blind?
is_blind_fromIs the mob blind from the passed source or sources?
become_nearsightedCauses the mob to become nearsighted via the passed source
cure_nearsightedCures the mob's nearsightedness from the passed source, removing nearsighted wholesale if no sources are left
is_nearsightedIs the mob nearsighted?
is_nearsighted_fromIs the mob nearsigthed from the passed source or sources?

Define Details

CURSE_BLINDING

makes the edges of the target's screen obscured

CURSE_GRASPING

hands reach out from the sides of the screen, doing damage and stunning if they hit the target

CURSE_SPAWNING

spawns creatures that attack the target only

CURSE_WASTING

causes gradual damage

INCAPABLE_GRAB

If the incapacitated status effect is being caused by being agressively grabbed

INCAPABLE_RESTRAINTS

If the incapacitated status effect is being caused by restraints (handcuffs)

INCAPABLE_STASIS

If the incapacitated status effect is being caused by stasis (stasis beds)

INCAPACITATED_IGNORING

Checks to see if a mob would be incapacitated even while ignoring some types Does this by inverting the passed in flags and seeing if we're still incapacitated

MAX_FIRE_STACKS

Max amounts of fire stacks a mob can get

MOB_BIG_FIRE_STACK_THRESHOLD

If a mob has a higher threshold than this, the icon shown will be increased to the big fire icon.

STATUS_EFFECT_FAST_PROCESS

Processing flags - used to define the speed at which the status will work This is fast - 0.2s between ticks (I believe!)

STATUS_EFFECT_ID_ABSTRACT

Indicates this status effect is an abstract type, ie not instantiated Doesn't actually do anything in practice, primarily just a marker / used in unit tests, so don't worry if your abstract status effect doesn't actually set this

STATUS_EFFECT_MULTIPLE

if it allows multiple instances of the effect

STATUS_EFFECT_NORMAL_PROCESS

This is slower and better for more intensive status effects - 1s between ticks

STATUS_EFFECT_NO_TICK

Use in status effect "tick_interval" to prevent it from calling tick()

STATUS_EFFECT_PERMANENT

Use in status effect "duration" to make it last forever

STATUS_EFFECT_REFRESH

if it only allows one, and new instances just instead refresh the timer

STATUS_EFFECT_REPLACE

if it allows only one, but new instances replace

STATUS_EFFECT_UNIQUE

if it allows only one, preventing new instances

TRADITIONAL_INCAPACITATED

If the mob is normal incapacitated. Should never need this, just avoids issues if we ever overexpand this

become_blind

Causes the mob to become blind via the passed source

become_nearsighted

Causes the mob to become nearsighted via the passed source

cure_blind

Cures the mob's blindness from the passed source, removing blindness wholesale if no sources are left

cure_nearsighted

Cures the mob's nearsightedness from the passed source, removing nearsighted wholesale if no sources are left

is_blind

Is the mob blind?

is_blind_from

Is the mob blind from the passed source or sources?

is_nearsighted

Is the mob nearsighted?

is_nearsighted_from

Is the mob nearsigthed from the passed source or sources?