Goonstation 13 - Modules - TypesVar Details - Proc Details

/datum/listen_module_tree

Listen module tree datums handle applying the effects of languages and listen modifier modules to say message datums received by any listen input modules registered to itself. Processed messages are then stored in the message buffer before being sent to listen effect modules.

Vars

auxiliary_treesA list of all auxiliary listen module trees with this listen module tree registered as a target.
enable_requestsThe number of concurrent requests for this listen module tree to be enabled.
enabledIf disabled, this listen module tree will not receive any messages.
known_language_ids_with_subcountAn associative list of language datum subscription counts, indexed by the language ID.
known_languages_by_idAn associative list of language datums, indexed by the language ID.
listen_control_ids_with_subcountAn associative list of listen control module subscription counts, indexed by the module ID.
listen_controls_by_idAn associative list of listen control modules, indexed by the module ID.
listen_effect_ids_with_subcountAn associative list of listen effect module subscription counts, indexed by the module ID.
listen_effects_by_idAn associative list of listen effect modules, indexed by the module ID.
listen_input_ids_with_subcountAn associative list of listen input module subscription counts, indexed by the module ID.
listen_inputs_by_channelAn associative list of listen input modules, indexed by the module channel.
listen_inputs_by_idAn associative list of listen input modules, indexed by the module ID.
listen_modifier_ids_with_subcountAn associative list of listen modifier module subscription counts, indexed by the module ID.
listen_modifiers_by_idAn associative list of listen modifier modules, indexed by the module ID.
listener_originThe atom that should act as the origin point for listening to messages.
listener_parentThe atom that should receive messages sent to this listen module tree.
message_bufferA temporary buffer of all received messages that are to be outputted to the parent when the buffer is flushed.
message_exporting_treesA list of all listen module trees that this listen module tree buffers processed messages from.
message_importing_treesA list of all listen module trees that buffer messages processed by this listen module tree.
persistent_listen_modifiers_by_idAn associative list of listen modifier modules that overide say channel modifier preferences, indexed by the module ID.
secondary_parentsA list of all atoms that list this listen module tree as their listen tree, despite not being the true parent.
signal_recipientsAn associative list of all signal recipients that may cause the message buffer to flush.
understands_all_languagesWhether this listen module tree is capable of understanding all languages.

Procs

AddKnownLanguageAdds a known language to this listen tree. Known languages allow messages to be understood. Returns TRUE on success, FALSE on failure.
AddLanguageAllSubcountAdds a count from the LANGUAGE_ALL subcount, and enables understands_all_languages.
GetControlByIDReturns the listen control module that matches the specified ID.
GetEffectByIDReturns the listen effect module that matches the specified ID.
GetInputByIDReturns the listen input module that matches the specified ID.
GetInputsByChannelReturns a list of listen input modules that receive from the specified channel.
GetModifierByIDReturns the listen modifier module that matches the specified ID.
RemoveKnownLanguageRemoves a known language from this listen tree. Known languages allow messages to be understood. Returns TRUE on success, FALSE on failure.
RemoveLanguageAllSubcountRemoves a count from the LANGUAGE_ALL subcount, and disables understands_all_languages if no counts remain.
RemoveListenControlRemoves a listen control module from the tree. Returns TRUE on success, FALSE on failure.
RemoveListenEffectRemoves a listen effect module from the tree. Returns TRUE on success, FALSE on failure.
RemoveListenInputRemoves a listen input module from the tree. Returns TRUE on success, FALSE on failure.
RemoveListenModifierRemoves a listen modifier module from the tree. Returns TRUE on success, FALSE on failure.
_AddListenControlAdds a new listen control module to the tree. Returns a reference to the new control module on success.
_AddListenEffectAdds a new listen effect module to the tree. Returns a reference to the new effect module on success.
_AddListenInputAdds a new listen input module to the tree. Returns a reference to the new input module on success.
_AddListenModifierAdds a new listen modifier module to the tree. Returns a reference to the new modifier module on success.
add_message_importing_treeRegister a listen module tree to buffer messages processed by this listen module tree.
add_message_to_bufferAdds a message to the message buffer, and registers the appropriate signals to the tree.
disableDisable this listen module tree, disallowing it's modules to receive messages.
enableEnable this listen module tree, allowing it's modules to receive messages.
flush_message_bufferOutputs all messages stored in the message buffer to the listener parent.
migrate_listen_treeMigrates this listen module tree to a new speaker parent and origin.
processProcess the heard message, applying the effects of each listen modifier module.
remove_message_importing_treeUnregister a listen module tree from buffering messages processed by this listen module tree.
request_enableAdd an enable request to this listen module tree.
unrequest_enableRemove an enable request from this listen module tree.
update_listener_originUpdate this listen module tree's listener origin. This will cause parent to hear messages from the location of the new listener origin.

Var Details

auxiliary_trees

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

enable_requests

The number of concurrent requests for this listen module tree to be enabled.

enabled

If disabled, this listen module tree will not receive any messages.

known_language_ids_with_subcount

An associative list of language datum subscription counts, indexed by the language ID.

known_languages_by_id

An associative list of language datums, indexed by the language ID.

listen_control_ids_with_subcount

An associative list of listen control module subscription counts, indexed by the module ID.

listen_controls_by_id

An associative list of listen control modules, indexed by the module ID.

listen_effect_ids_with_subcount

An associative list of listen effect module subscription counts, indexed by the module ID.

listen_effects_by_id

An associative list of listen effect modules, indexed by the module ID.

listen_input_ids_with_subcount

An associative list of listen input module subscription counts, indexed by the module ID.

listen_inputs_by_channel

An associative list of listen input modules, indexed by the module channel.

listen_inputs_by_id

An associative list of listen input modules, indexed by the module ID.

listen_modifier_ids_with_subcount

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

listen_modifiers_by_id

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

listener_origin

The atom that should act as the origin point for listening to messages.

listener_parent

The atom that should receive messages sent to this listen module tree.

message_buffer

A temporary buffer of all received messages that are to be outputted to the parent when the buffer is flushed.

message_exporting_trees

A list of all listen module trees that this listen module tree buffers processed messages from.

message_importing_trees

A list of all listen module trees that buffer messages processed by this listen module tree.

persistent_listen_modifiers_by_id

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

secondary_parents

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

signal_recipients

An associative list of all signal recipients that may cause the message buffer to flush.

understands_all_languages

Whether this listen module tree is capable of understanding all languages.

Proc Details

AddKnownLanguage

Adds a known language to this listen tree. Known languages allow messages to be understood. Returns TRUE on success, FALSE on failure.

AddLanguageAllSubcount

Adds a count from the LANGUAGE_ALL subcount, and enables understands_all_languages.

GetControlByID

Returns the listen control module that matches the specified ID.

GetEffectByID

Returns the listen effect module that matches the specified ID.

GetInputByID

Returns the listen input module that matches the specified ID.

GetInputsByChannel

Returns a list of listen input modules that receive from the specified channel.

GetModifierByID

Returns the listen modifier module that matches the specified ID.

RemoveKnownLanguage

Removes a known language from this listen tree. Known languages allow messages to be understood. Returns TRUE on success, FALSE on failure.

RemoveLanguageAllSubcount

Removes a count from the LANGUAGE_ALL subcount, and disables understands_all_languages if no counts remain.

RemoveListenControl

Removes a listen control module from the tree. Returns TRUE on success, FALSE on failure.

RemoveListenEffect

Removes a listen effect module from the tree. Returns TRUE on success, FALSE on failure.

RemoveListenInput

Removes a listen input module from the tree. Returns TRUE on success, FALSE on failure.

RemoveListenModifier

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

_AddListenControl

Adds a new listen control module to the tree. Returns a reference to the new control module on success.

_AddListenEffect

Adds a new listen effect module to the tree. Returns a reference to the new effect module on success.

_AddListenInput

Adds a new listen input module to the tree. Returns a reference to the new input module on success.

_AddListenModifier

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

add_message_importing_tree

Register a listen module tree to buffer messages processed by this listen module tree.

add_message_to_buffer

Adds a message to the message buffer, and registers the appropriate signals to the tree.

disable

Disable this listen module tree, disallowing it's modules to receive messages.

enable

Enable this listen module tree, allowing it's modules to receive messages.

flush_message_buffer

Outputs all messages stored in the message buffer to the listener parent.

migrate_listen_tree

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

process

Process the heard message, applying the effects of each listen modifier module.

remove_message_importing_tree

Unregister a listen module tree from buffering messages processed by this listen module tree.

request_enable

Add an enable request to this listen module tree.

unrequest_enable

Remove an enable request from this listen module tree.

update_listener_origin

Update this listen module tree's listener origin. This will cause parent to hear messages from the location of the new listener origin.