Goonstation 13 - Modules - TypesVar Details - Proc Details

/datum/speech_module_tree

Speech module tree datums handle applying the effects of speech prefix, modifier, and output modules to say message datums sent by the parent atom. All say message datums will be processed here prior to being passed to the appropriate say channel by a speech output module.

Vars

auxiliary_treesA list of all auxiliary speech module trees with this speech module tree registered as a target.
persistent_speech_modifiers_by_idAn associative list of speech modifier modules that overide say channel modifier preferences, indexed by the module ID.
postmodifier_speech_prefixes_by_prefix_idAn associative list of speech prefix modules that should be processed after modifiers, indexed by the prefix ID or IDs.
premodifier_speech_prefixes_by_prefix_idAn associative list of speech prefix modules that should be processed before modifiers, indexed by the prefix ID or IDs.
secondary_parentsA list of all atoms that list this speech module tree as their speech tree, despite not being the true parent.
speaker_originThe atom that should act as the origin point for sending messages from this speech module tree.
speaker_parentThe owner of this speech module tree.
speech_modifier_ids_with_subcountAn associative list of speech modifier module subscription counts, indexed by the module ID.
speech_modifiers_by_idAn associative list of speech modifier modules, indexed by the module ID.
speech_output_ids_with_subcountAn associative list of speech output module subscription counts, indexed by the module ID.
speech_outputs_by_channelAn associative list of speech output modules, indexed by the module channel. Additionally, each sublist of modules is sorted by priority.
speech_outputs_by_idAn associative list of speech output modules, indexed by the module ID.
speech_prefix_ids_with_subcountAn associative list of speech prefix module subscription counts, indexed by the module ID.
speech_prefixesA list of speech prefix modules, sorted by priority.
speech_prefixes_by_idAn associative list of speech prefix modules, indexed by the module ID.

Procs

GetAllPrefixesReturns all speech prefix modules on this speech tree.
GetModifierByIDReturns the speech modifier module that matches the specified ID.
GetOutputByIDReturns the speech output module that matches the specified ID.
GetOutputsByChannelReturns a list of speech output modules that output to the specified channel.
GetPrefixByIDReturns the speech prefix module that matches the specified ID.
RemoveSpeechModifierRemoves a speech modifier module from the tree. Returns TRUE on success, FALSE on failure.
RemoveSpeechOutputRemoves a speech output module from the tree. Returns TRUE on success, FALSE on failure.
RemoveSpeechPrefixRemoves a speech prefix module from the tree. Returns TRUE on success, FALSE on failure.
_AddSpeechModifierAdds a new speech modifier module to the tree. Returns a reference to the new modifier module on success.
_AddSpeechOutputAdds a new speech output module to the tree. Returns a reference to the new output module on success.
_AddSpeechPrefixAdds a new speech prefix module to the tree. Returns a reference to the new prefix module on success.
migrate_speech_treeMigrates this speech module tree to a new speaker parent and origin.
processProcess the message, applying the effects of each accent, speech, and output module.
process_prefixAttempt to locate an applicable prefix module from the provided prefix module cache, and apply its affects to a say message.
update_speaker_originUpdate this speech module tree's speaker origin. This will cause spoken messages to appear to originate fom the new speaker origin.

Var Details

auxiliary_trees

A list of all auxiliary speech module trees with this speech module tree registered as a target.

persistent_speech_modifiers_by_id

An associative list of speech modifier modules that overide say channel modifier preferences, indexed by the module ID.

postmodifier_speech_prefixes_by_prefix_id

An associative list of speech prefix modules that should be processed after modifiers, indexed by the prefix ID or IDs.

premodifier_speech_prefixes_by_prefix_id

An associative list of speech prefix modules that should be processed before modifiers, indexed by the prefix ID or IDs.

secondary_parents

A list of all atoms that list this speech module tree as their speech tree, despite not being the true parent.

speaker_origin

The atom that should act as the origin point for sending messages from this speech module tree.

speaker_parent

The owner of this speech module tree.

speech_modifier_ids_with_subcount

An associative list of speech modifier module subscription counts, indexed by the module ID.

speech_modifiers_by_id

An associative list of speech modifier modules, indexed by the module ID.

speech_output_ids_with_subcount

An associative list of speech output module subscription counts, indexed by the module ID.

speech_outputs_by_channel

An associative list of speech output modules, indexed by the module channel. Additionally, each sublist of modules is sorted by priority.

speech_outputs_by_id

An associative list of speech output modules, indexed by the module ID.

speech_prefix_ids_with_subcount

An associative list of speech prefix module subscription counts, indexed by the module ID.

speech_prefixes

A list of speech prefix modules, sorted by priority.

speech_prefixes_by_id

An associative list of speech prefix modules, indexed by the module ID.

Proc Details

GetAllPrefixes

Returns all speech prefix modules on this speech tree.

GetModifierByID

Returns the speech modifier module that matches the specified ID.

GetOutputByID

Returns the speech output module that matches the specified ID.

GetOutputsByChannel

Returns a list of speech output modules that output to the specified channel.

GetPrefixByID

Returns the speech prefix module that matches the specified ID.

RemoveSpeechModifier

Removes a speech modifier module from the tree. Returns TRUE on success, FALSE on failure.

RemoveSpeechOutput

Removes a speech output module from the tree. Returns TRUE on success, FALSE on failure.

RemoveSpeechPrefix

Removes a speech prefix module from the tree. Returns TRUE on success, FALSE on failure.

_AddSpeechModifier

Adds a new speech modifier module to the tree. Returns a reference to the new modifier module on success.

_AddSpeechOutput

Adds a new speech output module to the tree. Returns a reference to the new output module on success.

_AddSpeechPrefix

Adds a new speech prefix module to the tree. Returns a reference to the new prefix module on success.

migrate_speech_tree

Migrates this speech module tree to a new speaker parent and origin.

process

Process the message, applying the effects of each accent, speech, and output module.

process_prefix

Attempt to locate an applicable prefix module from the provided prefix module cache, and apply its affects to a say message.

update_speaker_origin

Update this speech module tree's speaker origin. This will cause spoken messages to appear to originate fom the new speaker origin.