One research item.
LuaForceunknownfalseThe force this technology belongs to.
stringunknownfalseName of this technology.
LocalisedStringunknownfalseLocalised name of this technology.
LocalisedStringunknownfalseLuaTechnologyPrototypeunknownfalseThe prototype of this technology.
booleanbooleanfalseCan this technology be researched?
booleanbooleanfalseIf this technology will be visible in the research GUI even though it is disabled.
booleanunknownfalseIs this an upgrade-type research?
booleanbooleanfalseHas this technology been researched? Switching from false to true will trigger the technology advancement perks; switching from true to false will reverse them.
Dict<string, LuaTechnology>unknownfalsePrerequisites of this technology. The result maps technology name to the LuaTechnology object.
Dict<string, LuaTechnology>unknownfalseSuccessors of this technology, i.e. technologies which have this technology as a prerequisite.
Array<ResearchIngredient>unknownfalseThe types of ingredients that labs will require to research this technology.
uint32unknownfalseThe number of research units required for this technology.
This is multiplied by the current research cost multiplier, unless LuaTechnologyPrototype::ignore_tech_cost_multiplier is true.
doubleunknownfalseAmount of energy required to finish a unit of research.
stringunknownfalseThe string used to alphabetically sort these prototypes. It is a simple string that has no additional semantic meaning.
uint32uint32falseThe current level of this technology. For level-based technology writing to this is the same as researching the technology to the previous level. Writing the level will set LuaTechnology::enabled to true.
MathExpressionunknowntrueThe count formula, if this research has any. See TechnologyUnit::count_formula for details.
doubledoublefalseSaved technology progress fraction as a value in range [0, 1). 0 means there is no saved progress.
booleanunknownfalseIs this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.
stringunknownfalseThe class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.
LuaTechnology.reload()
technology.reload()
takes_table: falsetable_optional: falseReload this technology from its prototype.
LuaTechnology.research_recursive()
technology.research_recursive()
takes_table: falsetable_optional: falseResearch this technology and all of its prerequisites recursively.