From 0948ad7dca8403cc28a9b760940c7a86434e78e1 Mon Sep 17 00:00:00 2001 From: SapphicOverload <93578146+SapphicOverload@users.noreply.github.com> Date: Mon, 10 Jul 2023 19:03:27 -0400 Subject: [PATCH] aaaaaa (#19566) --- .../machinery/components/fusion/hfr_defines.dm | 11 +++++++++++ .../machinery/components/fusion/hfr_main_processes.dm | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm index 3b6cfbb8f467..1eb1852e6194 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm @@ -140,15 +140,26 @@ // // Explosion flags for use in fuel recipes // + +/// Causes a light explosion on meltdown #define HYPERTORUS_FLAG_BASE_EXPLOSION (1<<0) +/// Causes a heavy explosion on meltdown #define HYPERTORUS_FLAG_MEDIUM_EXPLOSION (1<<1) +/// Causes a devastating explosion on meltdown #define HYPERTORUS_FLAG_DEVASTATING_EXPLOSION (1<<2) +/// Causes a radiation pulse on meltdown #define HYPERTORUS_FLAG_RADIATION_PULSE (1<<3) +/// Causes an EMP on meltdown #define HYPERTORUS_FLAG_EMP (1<<4) +/// Small radiation/EMP radius #define HYPERTORUS_FLAG_MINIMUM_SPREAD (1<<5) +/// Medium radiation/EMP radius #define HYPERTORUS_FLAG_MEDIUM_SPREAD (1<<6) +/// Large radiation/EMP radius #define HYPERTORUS_FLAG_BIG_SPREAD (1<<7) +/// Very large radiation/EMP radius #define HYPERTORUS_FLAG_MASSIVE_SPREAD (1<<8) +/// Doubles explosion size and radiation/EMP radius #define HYPERTORUS_FLAG_CRITICAL_MELTDOWN (1<<9) ///High power damage diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm b/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm index 6c0a5762e867..9a75a7f132be 100644 --- a/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_main_processes.dm @@ -237,8 +237,8 @@ */ /obj/machinery/atmospherics/components/unary/hypertorus/core/proc/moderator_fuel_process(delta_time, production_amount, consumption_amount, datum/gas_mixture/internal_output, moderator_list, datum/hfr_fuel/fuel, fuel_list) // Adjust fusion consumption/production based on this recipe's characteristics - var/fuel_consumption = consumption_amount * 0.85 * selected_fuel.fuel_consumption_multiplier - var/scaled_production = production_amount * selected_fuel.gas_production_multiplier + var/fuel_consumption = consumption_amount * 0.85 * selected_fuel.fuel_consumption_multiplier * max(power_level, 1) + var/scaled_production = production_amount * selected_fuel.gas_production_multiplier * max(power_level, 1) for(var/gas_id in fuel.requirements) internal_fusion.adjust_moles(gas_id, -min(fuel_list[gas_id], fuel_consumption))