Techweb

A datum representing a research techweb
Techweb datums are meant to store unlocked research, being able to be stored on research consoles, servers, and disks. They are NOT global.
Vars | |
available_experiments | Available experiments |
---|---|
available_nodes | Nodes that can immediately be researched, all reqs met. assoc list, id = TRUE |
boosted_nodes | Already boosted nodes that can't be boosted again. node id = path of boost object. |
completed_experiments | Completed experiments |
custom_designs | Custom inserted designs like from disks that should survive recalculation. |
deconstructed_items | Items already deconstructed for a generic point boost, path = list(point_type = points) |
discovered_mutations | Mutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console |
hidden_nodes | Hidden nodes. id = TRUE. Used for unhiding nodes when requirements are met by removing the entry of the node. |
last_bitcoins | Current per-second production, used for display only. |
organization | Organization name, used for display |
research_logs | IC logs |
research_points | Available research points, type = number |
researched_designs | Designs that are available for use. Assoc list, id = TRUE |
researched_nodes | Already unlocked and all designs are now available. Assoc list, id = TRUE |
tiers | Assoc list, id = number, 1 is available, 2 is all reqs are 1, so on |
visible_nodes | Visible nodes, doesn't mean it can be researched. Assoc list, id = TRUE |
Procs | |
add_experiment | Adds an experiment to this techweb by its type, ensures that no duplicates are added. |
add_experiments | Adds a list of experiments to this techweb by their types, ensures that no duplicates are added. |
can_unlock_node | Checks if a node can be unlocked on this techweb, having the required points and experiments |
complete_experiment | Notifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this. |
have_experiments_for_node | Checks if all experiments have been completed for a given node on this techweb |
Var Details
available_experiments

Available experiments
available_nodes

Nodes that can immediately be researched, all reqs met. assoc list, id = TRUE
boosted_nodes

Already boosted nodes that can't be boosted again. node id = path of boost object.
completed_experiments

Completed experiments
custom_designs

Custom inserted designs like from disks that should survive recalculation.
deconstructed_items

Items already deconstructed for a generic point boost, path = list(point_type = points)
discovered_mutations

Mutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console
hidden_nodes

Hidden nodes. id = TRUE. Used for unhiding nodes when requirements are met by removing the entry of the node.
last_bitcoins

Current per-second production, used for display only.
organization

Organization name, used for display
research_logs

IC logs
research_points

Available research points, type = number
researched_designs

Designs that are available for use. Assoc list, id = TRUE
researched_nodes

Already unlocked and all designs are now available. Assoc list, id = TRUE
tiers

Assoc list, id = number, 1 is available, 2 is all reqs are 1, so on
visible_nodes

Visible nodes, doesn't mean it can be researched. Assoc list, id = TRUE
Proc Details
add_experiment
Adds an experiment to this techweb by its type, ensures that no duplicates are added.
Arguments:
- experiment_type - the type of the experiment to add
add_experiments
Adds a list of experiments to this techweb by their types, ensures that no duplicates are added.
Arguments:
- experiment_list - the list of types of experiments to add
can_unlock_node
Checks if a node can be unlocked on this techweb, having the required points and experiments
Arguments:
- node - the node to check
complete_experiment
Notifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this.
Arguments:
- completed_experiment - the experiment which was completed
have_experiments_for_node
Checks if all experiments have been completed for a given node on this techweb
Arguments:
- node - the node to check