mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 21:12:24 +01:00
INDRA, general nuclear fusion update (#21285)
Fixes https://github.com/Aurorastation/Aurora.3/issues/18951 Fixes https://github.com/Aurorastation/Aurora.3/issues/19447 Fixes https://github.com/Aurorastation/Aurora.3/issues/20283 Fixes https://github.com/Aurorastation/Aurora.3/issues/21395 Overhauls a wide variety of INDRA behaviors and related gas/material properties. changes: - balance: "Fusion reaction modifications. Higher radiation and temperature output, comparable power output." - balance: "Increased rad resistance modifier of Borosilicate Windows from 1 -> 4 and (closed) Blast Doors from 1 -> 6." - balance: "INDRA Field Strength minima/maxima changed from 1-100 -> 20-120. Power costs increased significantly." - balance: "INDRA instability increase per tick now limited, similar to Supermatter (prevents sudden instability spike from instantly nuking it)." - balance: "APC cell charge rate increased 10x." - balance: "Rebalanced contents of INDRA hard storage compartment." - balance: "SMES coils capacities halved, throughputs doubled." - balance: "SMES unit maximum coil capacity increased from 6 -> 8." - balance: "TEG maximum power output increased from 500000 -> 2500000." - balance: "Power wasted from exceeding TEG maximum power output decreased from 50% to 33%." - balance: "Portable generators of all types have had their power generation capacity doubled." - rscadd: "New 'Fusion Codex' app added for all crew with ACCESS_ENGINE that details all available nuclear fusion chains." - rscadd: "Boron added as a singleton/reagent. Poisonous to vaurca, still usable in nuclear fusion as fuel assembly rods." - rscadd: "INDRA Field Strength now scales plasma temperature entropy, power output from temperature multiplier, and instability increase per tick." - refactor: "'Boron' gas renamed to 'Helium-3'. Boron is not a gas. Deal with it." - refactor: "'Steam' gas renamed to 'Water Vapor'." - code_imp: "Descriptions added to gas singletons for future use." - qol: "Minor remap of INDRA control room for usability." - qol: "Standardized gas canister naming conventions." - qol: "INDRA and APC TGUI interfaces now use use kW, MW abbreviations for high wattages." - bugfix: "INDRA Kinetic Harvester no longer rapidly deselects materials for harvest when too many are being generated at once." - bugfix: "INDRA EM Field effect no longer considers the camera within its reactor chamber a destabilizing influence." - bugfix: "INDRA reactor core now produces radiation as intended." - bugfix: "Deuterium and Tritium canisters no longer contain 50% standard hydrogen (inheritance issue)." --------- Signed-off-by: Batrachophreno <Batrochophreno@gmail.com> Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it> Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
This commit is contained in:
co-authored by
Matt Atlas
Geeves
parent
93b7dbba83
commit
b3b4f4b9c6
@@ -521,23 +521,23 @@
|
||||
complexity = 9
|
||||
inputs = list()
|
||||
outputs = list(
|
||||
"pressure" = IC_PINTYPE_NUMBER,
|
||||
"temperature" = IC_PINTYPE_NUMBER,
|
||||
GAS_OXYGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_NITROGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_CO2 = IC_PINTYPE_NUMBER,
|
||||
GAS_PHORON = IC_PINTYPE_NUMBER,
|
||||
GAS_N2O = IC_PINTYPE_NUMBER,
|
||||
GAS_HYDROGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_DEUTERIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_TRITIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_HELIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_BORON = IC_PINTYPE_NUMBER,
|
||||
GAS_SULFUR = IC_PINTYPE_NUMBER,
|
||||
GAS_NO2 = IC_PINTYPE_NUMBER,
|
||||
GAS_CHLORINE = IC_PINTYPE_NUMBER,
|
||||
GAS_STEAM = IC_PINTYPE_NUMBER,
|
||||
"other" = IC_PINTYPE_NUMBER
|
||||
"pressure" = IC_PINTYPE_NUMBER,
|
||||
"temperature" = IC_PINTYPE_NUMBER,
|
||||
GAS_OXYGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_NITROGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_CO2 = IC_PINTYPE_NUMBER,
|
||||
GAS_PHORON = IC_PINTYPE_NUMBER,
|
||||
GAS_N2O = IC_PINTYPE_NUMBER,
|
||||
GAS_HYDROGEN = IC_PINTYPE_NUMBER,
|
||||
GAS_DEUTERIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_TRITIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_HELIUM = IC_PINTYPE_NUMBER,
|
||||
GAS_HELIUMFUE = IC_PINTYPE_NUMBER,
|
||||
GAS_SULFUR = IC_PINTYPE_NUMBER,
|
||||
GAS_NO2 = IC_PINTYPE_NUMBER,
|
||||
GAS_CHLORINE = IC_PINTYPE_NUMBER,
|
||||
GAS_WATERVAPOR = IC_PINTYPE_NUMBER,
|
||||
"other" = IC_PINTYPE_NUMBER
|
||||
)
|
||||
activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT)
|
||||
spawn_flags = IC_SPAWN_RESEARCH
|
||||
@@ -642,11 +642,11 @@
|
||||
var/deuterium_level = environment.gas[GAS_DEUTERIUM]/total_moles
|
||||
var/tritium_level = environment.gas[GAS_TRITIUM]/total_moles
|
||||
var/helium_level = environment.gas[GAS_HELIUM]/total_moles
|
||||
var/boron_level = environment.gas[GAS_BORON]/total_moles
|
||||
var/helium3_level = environment.gas[GAS_HELIUMFUEL]/total_moles
|
||||
var/sulfurdioxide_level = environment.gas[GAS_SULFUR]/total_moles
|
||||
var/nitrogendioxide_level = environment.gas[GAS_NO2]/total_moles
|
||||
var/chlorine_level = environment.gas[GAS_CHLORINE]/total_moles
|
||||
var/steam_level = environment.gas[GAS_STEAM]/total_moles
|
||||
var/watervapor_level = environment.gas[GAS_WATERVAPOR]/total_moles
|
||||
var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level)
|
||||
set_pin_data(IC_OUTPUT, 1, pressure)
|
||||
set_pin_data(IC_OUTPUT, 2, round(environment.temperature-T0C,0.1))
|
||||
@@ -659,11 +659,11 @@
|
||||
set_pin_data(IC_OUTPUT, 8, round(deuterium_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 9, round(tritium_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 10, round(helium_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 11, round(boron_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 11, round(helium3_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 12, round(sulfurdioxide_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 13, round(nitrogendioxide_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 14, round(chlorine_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 15, round(steam_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 15, round(watervapor_level*100,0.01))
|
||||
set_pin_data(IC_OUTPUT, 16, round(unknown_level, 0.01))
|
||||
set_pin_data(IC_OUTPUT, 17, round(unknown_level, 0.01))
|
||||
else
|
||||
@@ -812,9 +812,9 @@
|
||||
gas_name = GAS_HELIUM
|
||||
gas_display_name = GAS_HELIUM
|
||||
|
||||
/obj/item/integrated_circuit/input/gas_sensor/boron_level
|
||||
gas_name = GAS_BORON
|
||||
gas_display_name = GAS_BORON
|
||||
/obj/item/integrated_circuit/input/gas_sensor/helium3_level
|
||||
gas_name = GAS_HELIUMFUEL
|
||||
gas_display_name = GAS_HELIUMFUEL
|
||||
|
||||
/obj/item/integrated_circuit/input/gas_sensor/sulfurdioxide_level
|
||||
gas_name = GAS_SULFUR
|
||||
@@ -828,9 +828,9 @@
|
||||
gas_name = GAS_CHLORINE
|
||||
gas_display_name = GAS_CHLORINE
|
||||
|
||||
/obj/item/integrated_circuit/input/gas_sensor/steam_level
|
||||
gas_name = GAS_STEAM
|
||||
gas_display_name = GAS_STEAM
|
||||
/obj/item/integrated_circuit/input/gas_sensor/watervapor_level
|
||||
gas_name = GAS_WATERVAPOR
|
||||
gas_display_name = GAS_WATERVAPOR
|
||||
|
||||
/obj/item/integrated_circuit/input/turfpoint
|
||||
name = "tile pointer"
|
||||
|
||||
Reference in New Issue
Block a user