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

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_experimentsAvailable experiments
available_nodesNodes that can immediately be researched, all reqs met. assoc list, id = TRUE
boosted_nodesAlready boosted nodes that can't be boosted again. node id = path of boost object.
completed_experimentsCompleted experiments
consoles_accessingAll RD consoles connected to this individual techweb.
custom_designsCustom inserted designs like from disks that should survive recalculation.
deconstructed_itemsItems already deconstructed for a generic point boost, path = list(point_type = points)
discovered_mutationsMutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console
hidden_nodesHidden nodes. id = TRUE. Used for unhiding nodes when requirements are met by removing the entry of the node.
idThe id/name of the whole Techweb viewable to players.
last_bitcoinsCurrent per-second production, used for display only.
organizationOrganization name, used for display
published_papersAssoc list of papers already published by the crew. published_papers[experiment_typepath][tier] = paper Filled with nulls on init, populated only on publication.
research_logsIC logs
research_pointsAvailable research points, type = number
researched_designsDesigns that are available for use. Assoc list, id = TRUE
researched_nodesAlready unlocked and all designs are now available. Assoc list, id = TRUE
scientific_cooperationAssoc list of relationships with various partners scientific_cooperation[partner_typepath] = relationship
techweb_serversAll research servers connected to this individual techweb.
tiersAssoc list, id = number, 1 is available, 2 is all reqs are 1, so on
visible_nodesVisible nodes, doesn't mean it can be researched. Assoc list, id = TRUE

Procs

add_experimentAdds an experiment to this techweb by its type, ensures that no duplicates are added.
add_experimentsAdds a list of experiments to this techweb by their types, ensures that no duplicates are added.
add_scientific_paperPublish the paper into our techweb. Cancel if we are not allowed to.
boost_techweb_nodeBoosts a techweb node.
boost_with_itemBoosts a techweb node by using items.
can_unlock_nodeChecks if a node can be unlocked on this techweb, having the required points and experiments
complete_experimentNotifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this.
have_experiments_for_nodeChecks if all experiments have been completed for a given node on this techweb
initialize_published_papersFill published_papers with nulls.

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

consoles_accessing

All RD consoles connected to this individual techweb.

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.

id

The id/name of the whole Techweb viewable to players.

last_bitcoins

Current per-second production, used for display only.

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

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

scientific_cooperation

Assoc list of relationships with various partners scientific_cooperation[partner_typepath] = relationship

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_experiment

Adds an experiment to this techweb by its type, ensures that no duplicates are added.

Arguments:

add_experiments

Adds a list of experiments to this techweb by their types, ensures that no duplicates are added.

Arguments:

add_scientific_paper

Publish the paper into our techweb. Cancel if we are not allowed to.

boost_techweb_node

Boosts a techweb node.

boost_with_item

Boosts a techweb node by using items.

can_unlock_node

Checks if a node can be unlocked on this techweb, having the required points and experiments

Arguments:

complete_experiment

Notifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this.

Arguments:

have_experiments_for_node

Checks if all experiments have been completed for a given node on this techweb

Arguments:

initialize_published_papers

Fill published_papers with nulls.