DNA Console
Vars | |
can_use_scanner | Used for setting tgui data - Whether the connected DNA Scanner is usable |
---|---|
connected_scanner | Currently connected DNA Scanner |
delayed_action | Current delayed action, used for delayed enzyme transfer on scanner door close |
diskette | Currently stored genetic data diskette |
enzyme_copy_timer | Cooldown for the genetic makeup transfer actions. |
genetic_makeup_buffer | Maximum number of enzymes we can store |
injector_selection | Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations. |
injectorready | World time when injectors are ready to be printed |
is_injector_ready | Used for setting tgui data - Whether injectors are ready to be printed |
is_joker_ready | Used for setting tgui data - Whether JOKER algorithm is ready |
is_pulsing_rads | Used for setting tgui data - Wheher an enzyme pulse operation is ongoing |
is_scramble_ready | Used for setting tgui data - Whether Scramble DNA is ready |
is_viable_occupant | Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification |
jokerready | World time when JOKER algorithm can be used in DNA Consoles |
max_chromosomes | Maximum number of chromosomes that DNA Consoles are able to store. |
max_injector_instability | Maximum total instability of all combined mutations allowed on an advanced injector |
max_injector_mutations | Maximum number of mutation that an advanced injector can store |
max_injector_selections | Maximum number of advanced injectors that DNA Consoles store |
max_storage | Maximum number of mutations that DNA Consoles are able to store |
rad_pulse_index | Index of the enzyme being modified during delayed enzyme pulse operations |
rad_pulse_timer | World time when the enzyme pulse should complete |
rad_pulse_type | Which dna string to edit with the pulse |
radduration | Duration for enzyme radiation pulses |
radstrength | Strength for enzyme radiation pulses |
scanner_occupant | Current DNA Scanner occupant |
scrambleready | World time when Scramble can be used in DNA Consoles |
stored_chromosomes | List of all chromosomes stored in the DNA Console |
stored_mutations | List of all mutations stored on the DNA Console |
stored_research | Link to the techweb's stored research. Used to retrieve stored mutations |
tgui_advinjector_mutations | Used for setting tgui data - List of occupant mutations |
tgui_console_chromosomes | Used for setting tgui data - List of DNA Console chromosomes |
tgui_console_mutations | Used for setting tgui data - List of DNA Console stored mutations |
tgui_diskette_mutations | Used for setting tgui data - List of diskette stored mutations |
tgui_genetic_makeup | Used for setting tgui data - List of occupant mutations |
tgui_occupant_mutations | Used for setting tgui data - List of occupant mutations |
tgui_view_state | State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at. |
time_to_injector | Used for setting tgui data - Time until injectors are ready |
time_to_joker | Used for setting tgui data - Time until joker is ready |
time_to_pulse | Used for setting tgui data - Time until the enzyme pulse is complete |
time_to_scramble | Used for setting tgui data - Time until scramble is ready |
Procs | |
apply_genetic_makeup | |
build_chrom_list | |
build_genetic_makeup_list | Builds the genetic makeup list which will be sent to tgui interface. |
build_mutation_list | |
can_modify_occupant | |
check_discovery | |
connect_to_scanner | |
get_mut_by_ref | |
on_scanner_close | |
on_scanner_open | |
rad_pulse | |
randomize_radiation_accuracy | |
scanner_operational | Checks if there is a connected DNA Scanner that is operational |
scramble | |
set_default_state | Sets the default state for the tgui interface. |
Var Details
can_use_scanner
Used for setting tgui data - Whether the connected DNA Scanner is usable
connected_scanner
Currently connected DNA Scanner
delayed_action
Current delayed action, used for delayed enzyme transfer on scanner door close
diskette
Currently stored genetic data diskette
enzyme_copy_timer
Cooldown for the genetic makeup transfer actions.
genetic_makeup_buffer
Maximum number of enzymes we can store
injector_selection
Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.
injectorready
World time when injectors are ready to be printed
is_injector_ready
Used for setting tgui data - Whether injectors are ready to be printed
is_joker_ready
Used for setting tgui data - Whether JOKER algorithm is ready
is_pulsing_rads
Used for setting tgui data - Wheher an enzyme pulse operation is ongoing
is_scramble_ready
Used for setting tgui data - Whether Scramble DNA is ready
is_viable_occupant
Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification
jokerready
World time when JOKER algorithm can be used in DNA Consoles
max_chromosomes
Maximum number of chromosomes that DNA Consoles are able to store.
max_injector_instability
Maximum total instability of all combined mutations allowed on an advanced injector
max_injector_mutations
Maximum number of mutation that an advanced injector can store
max_injector_selections
Maximum number of advanced injectors that DNA Consoles store
max_storage
Maximum number of mutations that DNA Consoles are able to store
rad_pulse_index
Index of the enzyme being modified during delayed enzyme pulse operations
rad_pulse_timer
World time when the enzyme pulse should complete
rad_pulse_type
Which dna string to edit with the pulse
radduration
Duration for enzyme radiation pulses
radstrength
Strength for enzyme radiation pulses
scanner_occupant
Current DNA Scanner occupant
scrambleready
World time when Scramble can be used in DNA Consoles
stored_chromosomes
List of all chromosomes stored in the DNA Console
stored_mutations
List of all mutations stored on the DNA Console
stored_research
Link to the techweb's stored research. Used to retrieve stored mutations
tgui_advinjector_mutations
Used for setting tgui data - List of occupant mutations
tgui_console_chromosomes
Used for setting tgui data - List of DNA Console chromosomes
tgui_console_mutations
Used for setting tgui data - List of DNA Console stored mutations
tgui_diskette_mutations
Used for setting tgui data - List of diskette stored mutations
tgui_genetic_makeup
Used for setting tgui data - List of occupant mutations
tgui_occupant_mutations
Used for setting tgui data - List of occupant mutations
tgui_view_state
State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.
time_to_injector
Used for setting tgui data - Time until injectors are ready
time_to_joker
Used for setting tgui data - Time until joker is ready
time_to_pulse
Used for setting tgui data - Time until the enzyme pulse is complete
time_to_scramble
Used for setting tgui data - Time until scramble is ready
Proc Details
apply_genetic_makeup
-
Applies the enzyme buffer to the current scanner occupant
-
Applies the type of a specific genetic makeup buffer to the current scanner
- occupant
-
Arguments:
-
- type - "ui"/"ue"/"mixed" - Which part of the enzyme buffer to apply
-
- buffer_slot - Index of the enzyme buffer to apply
build_chrom_list
-
Takes any given chromosome and calculates chromosome compatibility
-
Will iterate over the stored chromosomes in the DNA Console and will check
-
whether it can be applied to the supplied mutation. Then returns a list of
-
names of chromosomes that were compatible.
-
Arguments:
-
-
- mutation - The mutation to check chromosome compatibility with
build_genetic_makeup_list
Builds the genetic makeup list which will be sent to tgui interface.
build_mutation_list
-
Builds the genetic makeup list which will be sent to tgui interface.
- Will iterate over the connected scanner occupant, DNA Console, inserted
- diskette and chromosomes and any advanced injectors, building the main data
- structures which get passed to the tgui interface.
can_modify_occupant
-
Checks if there is a valid DNA Scanner occupant for genetic modification
- Checks if there is a valid subject in the DNA Scanner that can be genetically
- modified. Will set the scanner occupant var as part of this check.
- Requires that the scanner can be operated and will return early if it can't
check_discovery
-
Checks whether a mutation alias has been discovered
-
Checks whether a given mutation's genetic sequence has been completed and
-
discovers it if appropriate
-
Arguments:
-
-
- alias - Alias of the mutation to check (ie "Mutation 51" or "Mutation 12")
connect_to_scanner
-
Checks for adjacent DNA scanners and connects when it finds a viable one
- Seearches cardinal directions in order. Stops when it finds a viable DNA Scanner.
- Will connect to a broken scanner if no functional scanner is available.
- Links itself to the DNA Scanner to receive door open and close events.
get_mut_by_ref
-
Find a mutation from various storage locations via ATOM ref
-
Takes an ATOM Ref and searches the appropriate mutation buffers and storage
-
vars to try and find the associated mutation.
-
Arguments:
-
-
- ref - ATOM ref of the mutation to locate
-
- target_flags - Flags for storage mediums to search, see #defines
on_scanner_close
-
Called by connected DNA Scanners when their doors close.
- Sets the new scanner occupant and completes delayed enzyme transfer if one
- is queued.
on_scanner_open
-
Called by connected DNA Scanners when their doors open.
- Clears enzyme pulse operations, stops processing and nulls the current
- scanner occupant var.
rad_pulse
-
Performs the enzyme radiation pulse.
- Donor code from previous DNA Console iteration. Called from process() when
- there is a radiation pulse in progress. Ends processing.
randomize_radiation_accuracy
-
Creates a randomised accuracy value for the enzyme pulse functionality.
-
Donor code from previous DNA Console iteration.
-
Arguments:
-
-
- position - Index of the intended enzyme element to pulse
-
- radduration - Duration of intended radiation pulse
-
- number_of_blocks - Number of individual data blocks in the pulsed enzyme
scanner_operational
Checks if there is a connected DNA Scanner that is operational
scramble
-
Scrambles an enzyme element value for the enzyme pulse functionality.
-
Donor code from previous DNA Console iteration.
-
Arguments:
-
-
- input - Enzyme identity element to scramble, expected hex value
-
- rs - Strength of radiation pulse, increases the range of possible outcomes
set_default_state
Sets the default state for the tgui interface.