From 25687a81f014ce1498a3eee302b0ae45ec04cd73 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Thu, 11 Nov 2021 17:38:49 -0800 Subject: [PATCH 1/2] Makes TEG generate heat based on heat again --- code/modules/power/generator.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 9213a5d2ba..cc82b0d001 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -12,6 +12,8 @@ var/lastgenlev = -1 var/lastcirc = "00" + var/max_efficiency = 0.45 + /obj/machinery/power/generator/Initialize(mapload) . = ..() @@ -61,15 +63,12 @@ if(delta_temperature > 0 && cold_air_heat_capacity > 0 && hot_air_heat_capacity > 0) - var/efficiency = 0.45 + var/efficiency = LOGISTIC_FUNCTION(max_efficiency,0.0009,delta_temperature,10000) var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity) - var/heat = energy_transfer*(1-efficiency) - if(delta_temperature < 16800) // second point where derivative of below function = 1 - lastgen += LOGISTIC_FUNCTION(500000,0.0009,delta_temperature,10000) - else - lastgen += delta_temperature + 482102 // value of above function at 16800, or very nearly so + lastgen += energy_transfer * efficiency + var/heat = energy_transfer * (1-efficiency) hot_air.set_temperature(hot_air.return_temperature() - energy_transfer/hot_air_heat_capacity) cold_air.set_temperature(cold_air.return_temperature() + heat/cold_air_heat_capacity) From be9f550261c51f88d004af98c492a6dab8a15a92 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Thu, 11 Nov 2021 17:43:38 -0800 Subject: [PATCH 2/2] removed gross extra space --- code/modules/power/generator.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index cc82b0d001..f1beecacb9 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -63,7 +63,7 @@ if(delta_temperature > 0 && cold_air_heat_capacity > 0 && hot_air_heat_capacity > 0) - var/efficiency = LOGISTIC_FUNCTION(max_efficiency,0.0009,delta_temperature,10000) + var/efficiency = LOGISTIC_FUNCTION(max_efficiency,0.0009,delta_temperature,10000) var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity)