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 | This is a list of all incomplete experiment datums that are accessible for scientists to complete |
---|---|
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 | A list of all experiment datums that have been complete |
consoles_accessing | All RD consoles connected to this individual techweb. |
custom_designs | Custom inserted designs like from disks that should survive recalculation. |
deconstructed_items | List of items already deconstructed for research points, preventing infinite research point generation. |
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. |
id | The id/name of the whole Techweb viewable to players. |
income_modifier | A multiplier applied to all research gain, cut in half if the Master server was sabotaged. |
last_bitcoins | Current per-second production, used for display only. |
last_income | The amount of research points generated the techweb generated the latest time it generated. |
organization | Organization name, used for display |
published_papers | Assoc list of papers already published by the crew. published_papers[experiment_typepath][tier] = paper Filled with nulls on init, populated only on publication. |
research_logs | Game logs of research nodes, "node_name" "node_cost" "node_researcher" "node_research_location" |
research_points | Available research points, type = number |
research_queue_nodes | Assoc list of nodes queued for automatic research when there are enough points available research_queue_nodes[node_id] = user_enqueued |
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 |
scientific_cooperation | Assoc list of relationships with various partners scientific_cooperation[partner_typepath] = relationship |
should_generate_points | Boolean on whether the techweb should generate research points overtime. |
skipped_experiment_types | Assoc list of all experiment datums that have been skipped, to tech point reward for completing them - That is, upon researching a node without completing its associated discounts, their experiments go here. Completing these experiments will have a refund. |
techweb_servers | All research servers connected to this individual techweb. |
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_design_by_id | add_design_by_id The main way to add add designs to techweb Uses the techweb node's ID Args: id - the ID of the techweb node to research custom - Boolean on whether the node should also be added to custom_designs add_to - A custom list to add the node to, overwriting research_designs. |
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. |
add_scientific_paper | Publish the paper into our techweb. Cancel if we are not allowed to. |
boost_techweb_node | Boosts a techweb node. |
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 |
initialize_published_papers | Fill published_papers with nulls. |
unhide_node | Removes a node from the hidden_nodes list, making it viewable and researchable (if no experiments are required). |
Var Details
available_experiments
This is a list of all incomplete experiment datums that are accessible for scientists to complete
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
A list of all experiment datums that have been complete
consoles_accessing
All RD consoles connected to this individual techweb.
custom_designs
Custom inserted designs like from disks that should survive recalculation.
deconstructed_items
List of items already deconstructed for research points, preventing infinite research point generation.
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.
id
The id/name of the whole Techweb viewable to players.
income_modifier
A multiplier applied to all research gain, cut in half if the Master server was sabotaged.
last_bitcoins
Current per-second production, used for display only.
last_income
The amount of research points generated the techweb generated the latest time it generated.
organization
Organization name, used for display
published_papers
Assoc list of papers already published by the crew. published_papers[experiment_typepath][tier] = paper Filled with nulls on init, populated only on publication.
research_logs
Game logs of research nodes, "node_name" "node_cost" "node_researcher" "node_research_location"
research_points
Available research points, type = number
research_queue_nodes
Assoc list of nodes queued for automatic research when there are enough points available research_queue_nodes[node_id] = user_enqueued
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
scientific_cooperation
Assoc list of relationships with various partners scientific_cooperation[partner_typepath] = relationship
should_generate_points
Boolean on whether the techweb should generate research points overtime.
skipped_experiment_types
Assoc list of all experiment datums that have been skipped, to tech point reward for completing them - That is, upon researching a node without completing its associated discounts, their experiments go here. Completing these experiments will have a refund.
techweb_servers
All research servers connected to this individual techweb.
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_design_by_id
add_design_by_id The main way to add add designs to techweb Uses the techweb node's ID Args: id - the ID of the techweb node to research custom - Boolean on whether the node should also be added to custom_designs add_to - A custom list to add the node to, overwriting research_designs.
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
add_scientific_paper
Publish the paper into our techweb. Cancel if we are not allowed to.
boost_techweb_node
Boosts a techweb node.
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
initialize_published_papers
Fill published_papers with nulls.
unhide_node
Removes a node from the hidden_nodes list, making it viewable and researchable (if no experiments are required).