Emote
Most of the text that's not someone talking is based off of this.
Yes, the displayed message is stored on the datum, it would cause problems for emotes with a message that can vary, but that's handled differently in run_emote(), so be sure to use can_message_change if you plan to have different displayed messages from player to player.
Vars | |
audio_cooldown | How long is the cooldown on the audio of the emote, if it has one? |
---|---|
can_message_change | Does this message have a message that can be modified by the user? |
cooldown | The cooldown between the uses of the emote. |
emote_type | Whether the emote is visible or audible. |
hands_use_check | Checks if the mob can use its hands before performing the emote. |
key | What calls the emote. |
key_third_person | This will also call the emote. |
message | Message displayed when emote is used. |
message_AI | Message displayed if the user is an AI. |
message_alien | Message displayed if the user is a grown alien. |
message_ipc | Message displayed if the user is an IPC. |
message_larva | Message displayed if the user is an alien larva. |
message_mime | Message displayed if the user is a mime. |
message_monkey | Message displayed if the user is a monkey. |
message_param | Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else. |
message_robot | Message displayed if the user is a robot. |
message_simple | Message to display if the user is a simple_animal. |
mob_type_allowed_typecache | Types that are allowed to use that emote. |
mob_type_blacklist_typecache | Types that are NOT allowed to use that emote. |
mob_type_ignore_stat_typecache | Types that can use this emote regardless of their state. |
muzzle_ignore | Will only work if the emote is EMOTE_AUDIBLE. |
only_forced_audio | Can only code call this event instead of the player. |
sound | Sound to play when emote is called. |
species_type_whitelist_typecache | Species types which the emote will be exclusively available to. |
stat_allowed | In which state can you use this emote? (Check stat.dm for a full list of them) |
vary | Used for the honk borg emote. |
Procs | |
can_run_emote | Check to see if the user is allowed to run the emote. |
check_cooldown | For handling emote cooldown, return true to allow the emote to happen. |
get_frequency | Returns a number to be used as the frequency variable for the emote sound.
[/datum/emote/var/vary] must also be set to TRUE for this to work, due a check in playsound_local() . |
get_sound | To get the sound that the emote plays, for special sound interactions depending on the mob. |
replace_pronoun | To replace pronouns in the inputed string with the user's proper pronouns. |
run_emote | Handles the modifications and execution of emotes. |
select_message_type | Selects the message type to override the message with. |
select_param | Replaces the %t in the message in message_param by params. |
should_play_sound | Check to see if the user should play a sound when performing the emote. |
Var Details
audio_cooldown
How long is the cooldown on the audio of the emote, if it has one?
can_message_change
Does this message have a message that can be modified by the user?
cooldown
The cooldown between the uses of the emote.
emote_type
Whether the emote is visible or audible.
hands_use_check
Checks if the mob can use its hands before performing the emote.
key
What calls the emote.
key_third_person
This will also call the emote.
message
Message displayed when emote is used.
message_AI
Message displayed if the user is an AI.
message_alien
Message displayed if the user is a grown alien.
message_ipc
Message displayed if the user is an IPC.
message_larva
Message displayed if the user is an alien larva.
message_mime
Message displayed if the user is a mime.
message_monkey
Message displayed if the user is a monkey.
message_param
Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.
message_robot
Message displayed if the user is a robot.
message_simple
Message to display if the user is a simple_animal.
mob_type_allowed_typecache
Types that are allowed to use that emote.
mob_type_blacklist_typecache
Types that are NOT allowed to use that emote.
mob_type_ignore_stat_typecache
Types that can use this emote regardless of their state.
muzzle_ignore
Will only work if the emote is EMOTE_AUDIBLE.
only_forced_audio
Can only code call this event instead of the player.
sound
Sound to play when emote is called.
species_type_whitelist_typecache
Species types which the emote will be exclusively available to.
stat_allowed
In which state can you use this emote? (Check stat.dm for a full list of them)
vary
Used for the honk borg emote.
Proc Details
can_run_emote
Check to see if the user is allowed to run the emote.
Arguments:
- user - Person that is trying to send the emote.
- status_check - Bool that says whether we should check their stat or not.
- intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE).
Returns a bool about whether or not the user can run the emote.
check_cooldown
For handling emote cooldown, return true to allow the emote to happen.
Arguments:
- user - Person that is trying to send the emote.
- intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE).
Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.
get_frequency
Returns a number to be used as the frequency
variable for the emote sound.
[/datum/emote/var/vary]
must also be set to TRUE
for this to work, due a check in playsound_local()
.
Arguments:
- user - Person that is trying to send the emote.
Returns the frequency that will modify the the sound used by the emote.
get_sound
To get the sound that the emote plays, for special sound interactions depending on the mob.
Arguments:
- user - Person that is trying to send the emote.
Returns the sound that will be made while sending the emote.
replace_pronoun
To replace pronouns in the inputed string with the user's proper pronouns.
Arguments:
- user - Person that is trying to send the emote.
- msg - The string to modify.
Returns the modified msg string.
run_emote
Handles the modifications and execution of emotes.
Arguments:
- user - Person that is trying to send the emote.
- params - Parameters added after the emote.
- type_override - Override to the current emote_type.
- intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE).
Returns TRUE if it was able to run the emote, FALSE otherwise.
select_message_type
Selects the message type to override the message with.
Arguments:
- user - Person that is trying to send the emote.
- msg - The string to modify.
- intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE).
Returns the new message, or msg directly, if no change was needed.
select_param
Replaces the %t in the message in message_param by params.
Arguments:
- user - Person that is trying to send the emote.
- params - Parameters added after the emote.
Returns the modified string.
should_play_sound
Check to see if the user should play a sound when performing the emote.
Arguments:
- user - Person that is doing the emote.
- intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE).
Returns a bool about whether or not the user should play a sound when performing the emote.