code/__HELPERS/hallucinations.dm
HALLUCINATION_ARG_TYPE | What typepath of the hallucination |
---|---|
HALLUCINATION_ARG_SOURCE | Where the hallucination came from, for logging |
HALLUCINATION_ARGLIST | Onwards from this index, it's the arglist that gets passed into the hallucination created. |
NO_HALLUCINATION_BIOTYPES | Biotypes which cannot hallucinate for balance and logic reasons (not code) |
cause_hallucination | Causes a hallucination of a certain type to the mob. |
/proc/visible_hallucination_pulse | Emits a hallucinating pulse around the passed atom. Affects everyone in the passed radius who can view the center, except for those with TRAIT_MADNESS_IMMUNE, or those who are blind. |
/proc/hallucination_pulse | Emits a hallucinating pulse around the passed atom. Affects everyone in the passed radius except for those with TRAIT_MADNESS_IMMUNE. This affects blind players. |
/proc/generate_hallucination_weighted_list | Generates the global weighted list of random hallucinations. |
/proc/debug_hallucination_weighted_list | Debug proc for getting the total weight of the random_hallucination_weighted_list |
/proc/get_random_valid_hallucination_subtype | Gets a random subtype of the passed hallucination type that has a random_hallucination_weight > 0. If no subtype is passed, it will get any random hallucination subtype that is not abstract and has weight > 0. This can be used instead of picking from the global weighted list to just get a random valid hallucination. |
/proc/select_hallucination_type | Helper to give the passed mob the ability to select a hallucination from the list of all hallucination subtypes. |
/proc/create_delusion | Helper to give the passed mob the ability to create a delusion hallucination (even a custom one). Returns a list of arguments - pass these to _cause_hallucination to cause the desired hallucination |
BUBBLEGUM_HALLUCINATION_LINES | Lines the bubblegum hallucinatoin uses when it pops up |
Define Details
BUBBLEGUM_HALLUCINATION_LINES
Lines the bubblegum hallucinatoin uses when it pops up
HALLUCINATION_ARGLIST
Onwards from this index, it's the arglist that gets passed into the hallucination created.
HALLUCINATION_ARG_SOURCE
Where the hallucination came from, for logging
HALLUCINATION_ARG_TYPE
What typepath of the hallucination
NO_HALLUCINATION_BIOTYPES
Biotypes which cannot hallucinate for balance and logic reasons (not code)
cause_hallucination
Causes a hallucination of a certain type to the mob.
First argument is always the type of halllucination, a /datum/hallucination, required. second argument is always the key source of the hallucination, used for admin logging, required.
Additionally, named arguments are supported for passing them forward to the created hallucination's new().