Goonstation 13 - Modules - TypesVar Details - Proc Details

/datum/statusEffect

Our datum that keeps track of an individual status effect.

Vars

descTooltip desc
durationIn deciseconds (tenths of a second, same as ticks just sane). A duration of NULL is infinite. (This is distinct from 0)
effect_qualityIf the effect is positive (buffs), negative (debuffs), or neutral (misc)
exclusiveGroupoptional name of a group of buffs. players can only have a certain number of buffs of a given group - any new applications fail. useful for food buffs etc.
icon_stateIcon state to display.
idUnique ID of the status effect
maxDurationIf non-null, duration of the effect will be clamped to be max. this amount.
move_triggeredhas an on-move effect
movement_modifierHas a movement-modifying effect
nameTooltip name to display
ownerOwner of the status effect
track_catPut a label here to track anyone with this effect into this category
uniqueIf true, this status effect can only have one instance on any given object.
visibleIs this visible in the status effect bar?

Procs

dropSweatCalled by some foods, use inside onUpdate(timePassed)
getChefHintUsed to generate text specifically for the chef examining food. Otherwise fallbacks to getTooltip().
getExamineInformation that should show up when an object has this effect and is examined.
getTooltipUsed to generate tooltip. Can be changed to have dynamic tooltips.
onAddCalled when the status is added to an object. owner is already set at this point.
onChangeCalled when the status is changed using setStatus. Called after duration is updated etc.
onCheckCalled by hasStatus. Used to handle additional checks with the optional arg in that proc.
onRemoveCalled when the status is removed from the object. owner is still set at this point.
onUpdateCalled every tick by the status controller.
preCheckUsed to run a custom check before adding status to an object. For when you want something to be flat out immune or something.

Var Details

desc

Tooltip desc

duration

In deciseconds (tenths of a second, same as ticks just sane). A duration of NULL is infinite. (This is distinct from 0)

effect_quality

If the effect is positive (buffs), negative (debuffs), or neutral (misc)

exclusiveGroup

optional name of a group of buffs. players can only have a certain number of buffs of a given group - any new applications fail. useful for food buffs etc.

icon_state

Icon state to display.

id

Unique ID of the status effect

maxDuration

If non-null, duration of the effect will be clamped to be max. this amount.

move_triggered

has an on-move effect

movement_modifier

Has a movement-modifying effect

name

Tooltip name to display

owner

Owner of the status effect

track_cat

Put a label here to track anyone with this effect into this category

unique

If true, this status effect can only have one instance on any given object.

visible

Is this visible in the status effect bar?

Proc Details

dropSweat

Called by some foods, use inside onUpdate(timePassed)

Required: sweatReagent - the chemical you're sweating

targetTurf should be left default

getChefHint

Used to generate text specifically for the chef examining food. Otherwise fallbacks to getTooltip().

getExamine

Information that should show up when an object has this effect and is examined.

getTooltip

Used to generate tooltip. Can be changed to have dynamic tooltips.

onAdd

Called when the status is added to an object. owner is already set at this point.

optional {optional} - arg from setStatus (passed in)

onChange

Called when the status is changed using setStatus. Called after duration is updated etc.

optional {optional} - arg from setStatus (passed in)

onCheck

Called by hasStatus. Used to handle additional checks with the optional arg in that proc.

onRemove

Called when the status is removed from the object. owner is still set at this point.

onUpdate

Called every tick by the status controller.

required {timePassed} - the actual time since the last update call.

preCheck

Used to run a custom check before adding status to an object. For when you want something to be flat out immune or something.