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

gizmodes

You can imagine a /datum/gizmodes as remote and a TV The mode_controles is the remote. Maybe there's 9 buttons for 1-9, and pressing the buttons just goes to that channel! Maybe there's 10 buttons, 1-9 for selecting a channel and an extra for going to the selected channel Or maybe there's two buttons, one that cycles to the next number and one that then goes to that channel] The giz_pulse is essentually the TV. Generally the functioning of the TV is themed, happy image :) or sad image :(

Vars

active_gizmodesInstantiated active operating modes/gizpulses
cooldown_timeTime between pulses
current_activeThe currently selected gizpulse
guaranteed_active_gizmodesGuaranted operating modes/gizpulses types. use GIZMO_PICK_ONE with an associated list for more bespoke guaranteed picking
interfaceOur paarent gizmo interface
max_modesMax modes from possible_active_modes
min_modesMin modes from possible_active_modes
mode_pulseThe selected mode controle
mode_pulsesMode controles add signals that decide how gizpulses are activated Such as cycle to the next gizpulse, directly activate a gizpulse, or select a specific gizpulse Select mode, for example, adds a callback for every gizpulse + 1 for activating that Cycle mode activate adds only one callback, which cycles to the next one and then activates it
possible_active_modesRandom gizpulses we can have. PICKWEIGHTED SO GIVE IT A VALUE (/datum/gizpulse/milk_person = 1)

Procs

activateActivate this gizmode which in turn activates the active gizpulse (you following me here?)
generate_modesPick the paths to generate and instantiate them

Var Details

active_gizmodes

Instantiated active operating modes/gizpulses

cooldown_time

Time between pulses

current_active

The currently selected gizpulse

guaranteed_active_gizmodes

Guaranted operating modes/gizpulses types. use GIZMO_PICK_ONE with an associated list for more bespoke guaranteed picking

interface

Our paarent gizmo interface

max_modes

Max modes from possible_active_modes

min_modes

Min modes from possible_active_modes

mode_pulse

The selected mode controle

mode_pulses

Mode controles add signals that decide how gizpulses are activated Such as cycle to the next gizpulse, directly activate a gizpulse, or select a specific gizpulse Select mode, for example, adds a callback for every gizpulse + 1 for activating that Cycle mode activate adds only one callback, which cycles to the next one and then activates it

possible_active_modes

Random gizpulses we can have. PICKWEIGHTED SO GIVE IT A VALUE (/datum/gizpulse/milk_person = 1)

Proc Details

activate

Activate this gizmode which in turn activates the active gizpulse (you following me here?)

generate_modes

Pick the paths to generate and instantiate them