Space Station 13 - Modules - TypesVar Details - Proc Details

status_effect

Vars

alert_typeThe typepath to the alert thrown by the status effect when created. Status effect "name"s and "description"s are shown to the owner here.
durationWhen set initially / in on_creation, this is how long the status effect lasts in deciseconds. While processing, this becomes the world.time when the status effect will expire. -1 = infinite duration.
examine_textIf defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves
idThe ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.
linked_alertThe alert itself, created in [proc/on_creation] (if alert_type is specified).
on_remove_on_mob_deleteIf TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].
ownerThe mob affected by the status effect.
processing_speedUsed to define if the status effect should be using SSfastprocess or SSprocessing
status_typeHow many of the effect can be on one mob, and/or what happens when you try to add a duplicate.
tick_intervalWhen set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. Note that this cannot be faster than the processing subsystem you choose to fire the effect on. (See: [var/processing_speed]) While processing, this becomes the world.time when the next tick will occur. -1 = will prevent ticks, and if duration is also unlimited (-1), stop processing wholesale.

Procs

be_replacedCalled instead of on_remove when a status effect of status_type STATUS_EFFECT_REPLACE is replaced by itself, or when a status effect with on_remove_on_mob_delete set to FALSE has its mob deleted
before_removeCalled before being fully removed (before on_remove) Returning FALSE will cancel removal
get_examine_textGets and formats examine text associated with our status effect. Return 'null' to have no examine text appear (default behavior).
nextmove_adjustAdds nextmove adjustment additiviely to the owner while applied
nextmove_modifierAdds nextmove modifier multiplicatively to the owner while applied
on_applyCalled whenever the effect is applied in on_created Returning FALSE will cause it to delete itself during creation instead.
on_creationCalled from New() with any supplied status effect arguments. Not guaranteed to exist by the end. Returning FALSE from on_apply will stop on_creation and self-delete the effect.
on_removeCalled whenever the buff expires or is removed (qdeleted) Note that at the point this is called, it is out of the owner's status_effects list, but owner is not yet null
on_timeoutCalled specifically whenever the status effect expires.
refreshCalled when a status effect of status_type STATUS_EFFECT_REFRESH has its duration refreshed in apply_status_effect - is passed New() args
remove_durationRemove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.
tickCalled every tick from process(). This is only called of tick_interval is not -1.

Var Details

alert_type

The typepath to the alert thrown by the status effect when created. Status effect "name"s and "description"s are shown to the owner here.

duration

When set initially / in on_creation, this is how long the status effect lasts in deciseconds. While processing, this becomes the world.time when the status effect will expire. -1 = infinite duration.

examine_text

If defined, this text will appear when the mob is examined - to use he, she etc. use "SUBJECTPRONOUN" and replace it in the examines themselves

id

The ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.

linked_alert

The alert itself, created in [proc/on_creation] (if alert_type is specified).

on_remove_on_mob_delete

If TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].

owner

The mob affected by the status effect.

processing_speed

Used to define if the status effect should be using SSfastprocess or SSprocessing

status_type

How many of the effect can be on one mob, and/or what happens when you try to add a duplicate.

tick_interval

When set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. Note that this cannot be faster than the processing subsystem you choose to fire the effect on. (See: [var/processing_speed]) While processing, this becomes the world.time when the next tick will occur. -1 = will prevent ticks, and if duration is also unlimited (-1), stop processing wholesale.

Proc Details

be_replaced

Called instead of on_remove when a status effect of status_type STATUS_EFFECT_REPLACE is replaced by itself, or when a status effect with on_remove_on_mob_delete set to FALSE has its mob deleted

before_remove

Called before being fully removed (before on_remove) Returning FALSE will cancel removal

get_examine_text

Gets and formats examine text associated with our status effect. Return 'null' to have no examine text appear (default behavior).

nextmove_adjust

Adds nextmove adjustment additiviely to the owner while applied

nextmove_modifier

Adds nextmove modifier multiplicatively to the owner while applied

on_apply

Called whenever the effect is applied in on_created Returning FALSE will cause it to delete itself during creation instead.

on_creation

Called from New() with any supplied status effect arguments. Not guaranteed to exist by the end. Returning FALSE from on_apply will stop on_creation and self-delete the effect.

on_remove

Called whenever the buff expires or is removed (qdeleted) Note that at the point this is called, it is out of the owner's status_effects list, but owner is not yet null

on_timeout

Called specifically whenever the status effect expires.

refresh

Called when a status effect of status_type STATUS_EFFECT_REFRESH has its duration refreshed in apply_status_effect - is passed New() args

remove_duration

Remove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.

tick

Called every tick from process(). This is only called of tick_interval is not -1.

Note that every tick =/= every processing cycle.