Merge pull request #6333 from mwerezak/engine

Alternative to #6332
This commit is contained in:
Snapshot
2014-09-13 00:45:17 -07:00
6 changed files with 11 additions and 11 deletions
@@ -1,4 +1,5 @@
//TODO: Put this under a common parent type with heaters to cut down on the copypasta
#define FREEZER_PERF_MULT 2.5
/obj/machinery/atmospherics/unary/freezer
name = "gas cooling system"
@@ -9,7 +10,7 @@
anchored = 1.0
var/heatsink_temperature = 70 //T20C //the constant temperature resevoir into which the freezer pumps heat. Probably the hull of the station or something.
var/heatsink_temperature = T20C //the constant temperature resevoir into which the freezer pumps heat. Probably the hull of the station or something.
var/internal_volume = 600 //L
var/on = 0
@@ -17,7 +18,7 @@
idle_power_usage = 5 //5 Watts for thermostat related circuitry
active_power_usage //50 kW. The power rating of the freezer
var/max_power_usage = 5000 //power rating when the usage is turned up to 1 //Reduced to 5kW for usability.
var/max_power_usage = 20000 //power rating when the usage is turned up to 100
var/power_setting = 100
var/set_temperature = T20C //thermostat
@@ -135,9 +136,8 @@
//Assume the heat is being pumped into the hull which is fixed at heatsink_temperature
//not /really/ proper thermodynamics but whatever
var/cop = air_contents.temperature/heatsink_temperature //heatpump coefficient of performance from thermodynamics -> power used = heat_transfer/cop
var/cop = FREEZER_PERF_MULT * air_contents.temperature/heatsink_temperature //heatpump coefficient of performance from thermodynamics -> power used = heat_transfer/cop
heat_transfer = min(heat_transfer, cop * active_power_usage) //limit heat transfer by available power
heat_transfer *= 10 //Temp fix for cryo being unusable.
var/removed = -air_contents.add_thermal_energy(-heat_transfer) //remove the heat
if (debug)
@@ -18,7 +18,7 @@
idle_power_usage = 5 //5 Watts for thermostat related circuitry
active_power_usage //50 kW. The power rating of the heater
var/max_power_usage = 50000 //power rating when the usage is turned up to 1
var/max_power_usage = 20000 //power rating when the usage is turned up to 100
var/power_setting = 100
var/heating = 0 //mainly for icon updates
+2 -2
View File
@@ -1,4 +1,4 @@
#define HEAT_CAPACITY_HUMAN 24984 //249840 J/K, for a 72 kg person. Making this one-tenth of that as a quick workaround for cryo not cooling people enough.
#define HEAT_CAPACITY_HUMAN 100 //249840 J/K, for a 72 kg person.
/obj/machinery/atmospherics/unary/cryo_cell
name = "cryo cell"
@@ -45,7 +45,7 @@
if(air_contents)
temperature_archived = air_contents.temperature
//heat_gas_contents()
heat_gas_contents()
expel_gas()
if(abs(temperature_archived-air_contents.temperature) > 1)
+1 -1
View File
@@ -15,7 +15,7 @@
var/lastout = 0 //Amount of power it actually outputs to the powernet
var/loaddemand = 0 //For use in restore()
var/capacity = 5e6 //Maximum amount of power it can hold
var/charge = 2.0e6 //Current amount of power it holds
var/charge = 1.0e6 //Current amount of power it holds
var/charging = 0 //1 if it's actually charging, 0 if not
var/chargemode = 0 //1 if it's trying to charge, 0 if not.
//var/chargecount = 0
+1 -1
View File
@@ -16,7 +16,7 @@
*/
//Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game.
#define POWER_FACTOR 0.7 //Obtained from testing. Aiming to make the ideal running output (500 kW) run the SM to ~85% of the safety level.
#define POWER_FACTOR 1.0
#define DECAY_FACTOR 700 //Affects how fast the supermatter power decays
#define CRITICAL_TEMPERATURE 800 //K
#define CHARGING_FACTOR 0.05
+2 -2
View File
@@ -11083,8 +11083,8 @@
"efn" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/engine_waste)
"efo" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Engine Waste"; req_access = null; req_access_txt = "0"; req_one_access_txt = "10;24"},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plating{icon_state = "platebot"; nitrogen = 0.01; oxygen = 0.01},/area/engine/engine_waste)
"efp" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter{frequency = 1443; id = "engine_waste_filter_two"; name = "Engine Waste - Filter 2"},/turf/simulated/floor/plating,/area/engine/engine_room)
"efq" = (/obj/machinery/atmospherics/omni/filter{on = 1; tag_east = 1; tag_north = 3; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engine/engine_room)
"efr" = (/obj/machinery/atmospherics/omni/filter{on = 1; tag_east = 1; tag_north = 0; tag_south = 2; tag_west = 6},/turf/simulated/floor/plating,/area/engine/engine_room)
"efq" = (/obj/machinery/atmospherics/omni/filter{on = 0; tag_east = 1; tag_north = 3; tag_south = 0; tag_west = 2},/turf/simulated/floor/plating,/area/engine/engine_room)
"efr" = (/obj/machinery/atmospherics/omni/filter{on = 0; tag_east = 1; tag_north = 0; tag_south = 2; tag_west = 6},/turf/simulated/floor/plating,/area/engine/engine_room)
"efs" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 10},/obj/machinery/meter{frequency = 1443; id = "engine_exhaust"; name = "Engine Exhaust"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/engine_room)
"eft" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/machinery/meter{frequency = 1443; id = "engine_cooling"; name = "Engine Cooling"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engine_room)
"efu" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/engine/engine_waste)