/tg/ Station 13 - Modules - TypesVar Details - Proc Details

quirk

Vars

abstract_parent_typeWhen making an abstract quirk (in OOP terms), don't forget to set this var to the type path for that abstract quirk.
hardcore_valueAmount of points this trait is worth towards the hardcore character mode; minus points implies a positive quirk, positive means its hard. This is used to pick the quirks assigned to a hardcore character. 0 means its not available to hardcore draws.
iconThe icon to show in the preferences menu. This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).
processing_quirkThis quirk should START_PROCESSING when added and STOP_PROCESSING when removed.

Procs

addAny effect that should be applied every single time the quirk is added to any mob, even when transferred.
add_to_holderAdds the quirk to a new quirk_holder.
add_uniqueAny effects from the proc that should not be done multiple times if the quirk is transferred between mobs. Put stuff like spawning items in here.
on_holder_qdeletingCalled when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.
on_quirk_holder_first_loginOn client connection set quirk preferences.
post_addAny special effects or chat messages which should be applied. This proc is guaranteed to run if the mob has a client when the quirk is added. Otherwise, it runs once on the next COMSIG_MOB_LOGIN.
removeRemoval of any reversible effects added by the quirk.
remove_from_current_holderRemoves the quirk from the current quirk_holder.

Var Details

abstract_parent_type

When making an abstract quirk (in OOP terms), don't forget to set this var to the type path for that abstract quirk.

hardcore_value

Amount of points this trait is worth towards the hardcore character mode; minus points implies a positive quirk, positive means its hard. This is used to pick the quirks assigned to a hardcore character. 0 means its not available to hardcore draws.

icon

The icon to show in the preferences menu. This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).

processing_quirk

This quirk should START_PROCESSING when added and STOP_PROCESSING when removed.

Proc Details

add

Any effect that should be applied every single time the quirk is added to any mob, even when transferred.

add_to_holder

Adds the quirk to a new quirk_holder.

Performs logic to make sure new_holder is a valid holder of this quirk. Returns FALSEy if there was some kind of error. Returns TRUE otherwise. Arguments:

add_unique

Any effects from the proc that should not be done multiple times if the quirk is transferred between mobs. Put stuff like spawning items in here.

on_holder_qdeleting

Called when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.

on_quirk_holder_first_login

On client connection set quirk preferences.

Run post_add to set the client preferences for the quirk. Clear the attached signal for login. Used when the quirk has been gained and no client is attached to the mob.

post_add

Any special effects or chat messages which should be applied. This proc is guaranteed to run if the mob has a client when the quirk is added. Otherwise, it runs once on the next COMSIG_MOB_LOGIN.

remove

Removal of any reversible effects added by the quirk.

remove_from_current_holder

Removes the quirk from the current quirk_holder.