quirk

Vars | |
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. |
processing_quirk | This quirk should START_PROCESSING when added and STOP_PROCESSING when removed. |
Procs | |
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. |
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. |
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. |
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.
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:
- new_holder - The mob to add this quirk to.
- quirk_transfer - If this is being added to the holder as part of a quirk transfer. Quirks can use this to decide not to spawn new items or apply any other one-time effects.
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.