/tg/ Station 13 - Modules - TypesVar Details - Proc Details

sign_language

Reactive Sign Language Component for Carbons. Allows Carbons to speak with sign language if they have the relevant traits. Implements sign language by incrementally overriding several critical functions, variables, and argument lists.

High-Level Theory of Operation:

  1. Component is added to a Carbon via AddComponent.
  2. Component grants sign language action to its parent, which adds and removes TRAIT_SIGN_LANG.
  3. Component reacts to addition and removal of TRAIT_SIGN_LANG in parent:
  4. If TRAIT_SIGN_LANG is added, then enable sign language. Listen for speech signals and modify the mob's speech, say_mod verbs, and typing indicator.
  5. If TRAIT_SIGN_LANG is removed, then disable sign language. Unregister from speech signals and reset the mob's speech, say_mob verbs, and typing indicator.

Vars

linked_actionThe action for toggling sign language.
omissionsAny symbols to sanitize from signed messages.
tonal_indicatorThe tonal indicator shown when sign language users finish sending a message. If it's empty, none appears.
tonal_timeridThe timerid for our sign language tonal indicator.

Procs

check_signables_stateChecks to see what state this person is in and if they are able to sign or not.
disable_sign_languageSignal handler for [COMSIG_SIGNLANGUAGE_DISABLE] Disables signing for the parent Carbon, allowing them to speak vocally. This proc is only called directly after TRAIT_SIGN_LANG is removed from the Carbon.
enable_sign_languageSignal handler for [COMSIG_SIGNLANGUAGE_ENABLE] Enables signing for the parent Carbon, stopping them from speaking vocally. This proc is only called directly after TRAIT_SIGN_LANG is added to the Carbon.
on_sayReplaces emphatic punctuation with periods. Changes tonal indicator and emotes eyebrow movement based on what is typed.
on_say_quoteSignal proc for COMSIG_MOVABLE_SAY_QUOTE Removes exclamation/question marks.
on_treat_living_messageSignal proc for COMSIG_LIVING_TREAT_MESSAGE Stars out our message if we only have 1 hand free.
on_treat_messageSignal proc for COMSIG_MOVABLE_TREAT_MESSAGE Removes exclamation/question marks only if /atom/movable/proc/say_quote() isn't going to run.
on_try_speechSignal proc for COMSIG_LIVING_TRY_SPEECH Sign languagers can always speak regardless of they're mute (as long as they're not mimes)
on_using_radioSignal proc for COMSIG_MOVABLE_USING_RADIO Disallows us from speaking on comms if we don't have the special trait.
remove_tonal_indicatorRemoves the tonal indicator overlay completely
sanitize_messageReplace specific characters in the input string with periods.

Var Details

linked_action

The action for toggling sign language.

omissions

Any symbols to sanitize from signed messages.

tonal_indicator

The tonal indicator shown when sign language users finish sending a message. If it's empty, none appears.

tonal_timerid

The timerid for our sign language tonal indicator.

Proc Details

check_signables_state

Checks to see what state this person is in and if they are able to sign or not.

disable_sign_language

Signal handler for [COMSIG_SIGNLANGUAGE_DISABLE] Disables signing for the parent Carbon, allowing them to speak vocally. This proc is only called directly after TRAIT_SIGN_LANG is removed from the Carbon.

enable_sign_language

Signal handler for [COMSIG_SIGNLANGUAGE_ENABLE] Enables signing for the parent Carbon, stopping them from speaking vocally. This proc is only called directly after TRAIT_SIGN_LANG is added to the Carbon.

on_say

Replaces emphatic punctuation with periods. Changes tonal indicator and emotes eyebrow movement based on what is typed.

on_say_quote

Signal proc for COMSIG_MOVABLE_SAY_QUOTE Removes exclamation/question marks.

on_treat_living_message

Signal proc for COMSIG_LIVING_TREAT_MESSAGE Stars out our message if we only have 1 hand free.

on_treat_message

Signal proc for COMSIG_MOVABLE_TREAT_MESSAGE Removes exclamation/question marks only if /atom/movable/proc/say_quote() isn't going to run.

on_try_speech

Signal proc for COMSIG_LIVING_TRY_SPEECH Sign languagers can always speak regardless of they're mute (as long as they're not mimes)

on_using_radio

Signal proc for COMSIG_MOVABLE_USING_RADIO Disallows us from speaking on comms if we don't have the special trait.

remove_tonal_indicator

Removes the tonal indicator overlay completely

sanitize_message

Replace specific characters in the input string with periods.