# Microbiology I: Developer Reference #### Main goal: Redesign a simple game loop for microbiology. ### CREATE /Reagents-Microbiology.dm Holds the biochemical reagents. Uses the data var to define the precursor reagent via id. data: holds the id of the precursor reagent. Effects are implemented within the datum whenever possible. However, the forensic scanner and welding tool use booleans to trigger changes in their home codes. The three organ disease cure reagents have been implemented here. Commented at the bottom are ideas that do not have supporting code or are (in my understanding) too laggy to implement in BYOND. ### /pathogen_machines.dm **Line 425: delete 'as mob'** The Synth-O-Matic code has been reworked. The Synthomatic no longer requires any code from pathology. The synthmodules can be safely removed from the cargo and pathology code, although it may be nice to keep them as cosmetic trinkets in deep space. Code modernization has been limited to basic code structure. Terminology may be defunct such as "ejectanti" and "ejectsupp". These old portions will be addressed in a TGUI PR. Unless directed, this PR will not seek to modernize the Synthomatic to TGUI, as that can be accomplished separately. The whitelist is a manual entry of the id of each precursor reagent. A better implementation probably exists. Emagging the machine results in a bypass of the budget and reduced creation times. Instead of antiagents and suppressants, the machine now accepts bloodbags and egg beakers. The precursor reagents and their vials are not consumed (I think it would be tedious to eject and reinsert vials every time you make a new batch). The machine produces plastic vials of biochemicals. Plastic vials are qdeled if empty. The plastic vial code may need a cleanliness PR. ### /solar.dm **Line 86: Add var/improve = 1, a multiplier.** **Line 166: add improve * to the power generation equation.** ### /weldingtool.dm **Line 31: Add var/microbioupgrade = FALSE boolean.** **Lines 338-340: conditional for the upgrade** If the tool has been upgraded, the fuel used will be the minimum between a coin flip boolean and the minimum of 1 and the original use amount. ### /recharger.dm This code refers to tool chargers (batons, eguns, miner tools, cargotele, cells) **Line 53: add var/secondarymult = 1.** This is a multiplier stacked on the output calculation. **Line 170: Add * secondarymult to the charging equation.** ### /goonstation.dme **Line 782: include /Reagents-Microbiology.dm.**