mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-16 13:13:03 +00:00
Merge pull request #974 from caelaislinn/master
releasing maplock for erthilo to merge antiqua changes.
This commit is contained in:
@@ -162,9 +162,11 @@
|
|||||||
#define FILE_DIR "code/WorkInProgress"
|
#define FILE_DIR "code/WorkInProgress"
|
||||||
#define FILE_DIR "code/WorkInProgress/Apples"
|
#define FILE_DIR "code/WorkInProgress/Apples"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
||||||
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jumper"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
|
||||||
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/tajara_sprites"
|
||||||
#define FILE_DIR "code/WorkInProgress/Chinsky"
|
#define FILE_DIR "code/WorkInProgress/Chinsky"
|
||||||
#define FILE_DIR "code/WorkInProgress/mapload"
|
#define FILE_DIR "code/WorkInProgress/mapload"
|
||||||
#define FILE_DIR "code/WorkInProgress/Mini"
|
#define FILE_DIR "code/WorkInProgress/Mini"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
|
|||||||
//
|
//
|
||||||
var/obj/machinery/rust/core/owned_core
|
var/obj/machinery/rust/core/owned_core
|
||||||
var/list/dormant_reactant_quantities = new
|
var/list/dormant_reactant_quantities = new
|
||||||
|
luminosity = 1
|
||||||
//
|
//
|
||||||
var/energy = 0
|
var/energy = 0
|
||||||
var/mega_energy = 0
|
var/mega_energy = 0
|
||||||
|
|||||||
@@ -84,12 +84,14 @@ max volume of plasma storeable by the field = the total volume of a number of ti
|
|||||||
if(owned_field)
|
if(owned_field)
|
||||||
owned_field.ChangeFieldStrength(field_strength)
|
owned_field.ChangeFieldStrength(field_strength)
|
||||||
icon_state = "core1"
|
icon_state = "core1"
|
||||||
|
luminosity = 1
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
proc/Shutdown()
|
proc/Shutdown()
|
||||||
icon_state = "core0"
|
icon_state = "core0"
|
||||||
on = 0
|
on = 0
|
||||||
del(owned_field)
|
del(owned_field)
|
||||||
|
luminosity = 0
|
||||||
|
|
||||||
proc/AddParticles(var/name, var/quantity = 1)
|
proc/AddParticles(var/name, var/quantity = 1)
|
||||||
if(owned_field)
|
if(owned_field)
|
||||||
@@ -104,6 +106,9 @@ max volume of plasma storeable by the field = the total volume of a number of ti
|
|||||||
Shutdown()
|
Shutdown()
|
||||||
return
|
return
|
||||||
//
|
//
|
||||||
|
luminosity = round(owned_field.field_strength/10)
|
||||||
|
luminosity = max(luminosity,1)
|
||||||
|
//
|
||||||
if(stat & (NOPOWER|BROKEN))
|
if(stat & (NOPOWER|BROKEN))
|
||||||
Shutdown()
|
Shutdown()
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
New()
|
New()
|
||||||
spawn(0)
|
spawn(0)
|
||||||
core_generator = locate() in range(15,src)
|
core_generator = locate() in world
|
||||||
|
|
||||||
attack_ai(mob/user)
|
attack_ai(mob/user)
|
||||||
attack_hand(user)
|
attack_hand(user)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
fuel_injectors.Add("SCRAM")
|
fuel_injectors.Add("SCRAM")
|
||||||
fuel_injectors["SCRAM"] = new/list
|
fuel_injectors["SCRAM"] = new/list
|
||||||
spawn(0)
|
spawn(0)
|
||||||
for(var/obj/machinery/rust/fuel_injector/Injector in range(50,src))
|
for(var/obj/machinery/rust/fuel_injector/Injector in world)
|
||||||
if(Injector.stage in fuel_injectors)
|
if(Injector.stage in fuel_injectors)
|
||||||
var/list/targetlist = fuel_injectors[Injector.stage]
|
var/list/targetlist = fuel_injectors[Injector.stage]
|
||||||
targetlist.Add(Injector)
|
targetlist.Add(Injector)
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
return
|
return
|
||||||
var/t = "<B>Gyrotron Remote Control Console</B><BR>"
|
var/t = "<B>Gyrotron Remote Control Console</B><BR>"
|
||||||
t += "<hr>"
|
t += "<hr>"
|
||||||
for(var/obj/machinery/rust/gyrotron/gyro in range(25))
|
for(var/obj/machinery/rust/gyrotron/gyro in world)
|
||||||
if(gyro.remoteenabled && gyro.on)
|
if(gyro.remoteenabled && gyro.on)
|
||||||
t += "<font color=green>Gyrotron operational</font><br>"
|
t += "<font color=green>Gyrotron operational</font><br>"
|
||||||
t += "Operational mode: <font color=blue>"
|
t += "Operational mode: <font color=blue>"
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
icon = 'effects.dmi'
|
icon = 'effects.dmi'
|
||||||
icon_state = "energynet"
|
icon_state = "energynet"
|
||||||
density = 0
|
density = 0
|
||||||
|
anchored = 1
|
||||||
var/obj/machinery/rust/em_field/parent
|
var/obj/machinery/rust/em_field/parent
|
||||||
var/mysize = 0
|
var/mysize = 0
|
||||||
|
|
||||||
|
|||||||
@@ -61,12 +61,6 @@
|
|||||||
//a lot of these variables are pretty hacked, so dont rely on the comments
|
//a lot of these variables are pretty hacked, so dont rely on the comments
|
||||||
/obj/machinery/power/supermatter/process()
|
/obj/machinery/power/supermatter/process()
|
||||||
|
|
||||||
var/datum/gas_mixture/env = loc.return_air()
|
|
||||||
|
|
||||||
//Remove gas from surrounding area
|
|
||||||
var/transfer_moles = gasefficency * env.total_moles()
|
|
||||||
var/datum/gas_mixture/removed = env.remove(transfer_moles)
|
|
||||||
|
|
||||||
//core can no longer spontaneously explode
|
//core can no longer spontaneously explode
|
||||||
/*
|
/*
|
||||||
previousdet = det
|
previousdet = det
|
||||||
@@ -111,15 +105,24 @@
|
|||||||
#define REACTION_POWER_MODIFIER 0.5 //Higher == more overall power
|
#define REACTION_POWER_MODIFIER 0.5 //Higher == more overall power
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//100% oxygen atmosphere = 100% plasma production
|
var/datum/gas_mixture/env = loc.return_air()
|
||||||
//100% nitrogen atmosphere = 0% plasma production
|
|
||||||
//anything else is halfway in between; an atmosphere with no nitrogen or oxygen will still be at 50% (but steadily rise as more oxygen is made)
|
//nothing can happen in a vacuum
|
||||||
var/total_moles = removed.total_moles()
|
var/datum/gas_mixture/removed = env
|
||||||
var/retardation_factor = 0.5
|
var/retardation_factor = 0.5
|
||||||
if(total_moles)
|
if(env.total_moles())
|
||||||
retardation_factor += removed.oxygen / (total_moles * 2) - removed.nitrogen / (total_moles * 2)
|
//Remove gas from surrounding area
|
||||||
else
|
var/transfer_moles = gasefficency * env.total_moles()
|
||||||
retardation_factor -= 0.25
|
removed = env.remove(transfer_moles)
|
||||||
|
|
||||||
|
//100% oxygen atmosphere = 100% plasma production
|
||||||
|
//100% nitrogen atmosphere = 0% plasma production
|
||||||
|
//anything else is halfway in between; an atmosphere with no nitrogen or oxygen will still be at 50% (but steadily rise as more oxygen is made)
|
||||||
|
var/total_moles = removed.total_moles()
|
||||||
|
if(total_moles)
|
||||||
|
retardation_factor += removed.oxygen / (total_moles * 2) - removed.nitrogen / (total_moles * 2)
|
||||||
|
else
|
||||||
|
retardation_factor -= 0.25
|
||||||
|
|
||||||
var/device_energy = mega_energy * REACTION_POWER_MODIFIER //device energy is provided by the zero point lasers
|
var/device_energy = mega_energy * REACTION_POWER_MODIFIER //device energy is provided by the zero point lasers
|
||||||
device_energy *= removed.temperature / T0C //environmental heat directly affects device energy
|
device_energy *= removed.temperature / T0C //environmental heat directly affects device energy
|
||||||
|
|||||||
@@ -339,7 +339,7 @@
|
|||||||
layer = 2.6 // a bit above wires
|
layer = 2.6 // a bit above wires
|
||||||
|
|
||||||
/obj/machinery/power/generator
|
/obj/machinery/power/generator
|
||||||
name = "thermoelectric generator"
|
name = "thermoelectric generator mark I"
|
||||||
desc = "It's a high efficiency thermoelectric generator."
|
desc = "It's a high efficiency thermoelectric generator."
|
||||||
icon_state = "teg"
|
icon_state = "teg"
|
||||||
anchored = 1
|
anchored = 1
|
||||||
@@ -352,7 +352,7 @@
|
|||||||
var/lastgenlev = -1
|
var/lastgenlev = -1
|
||||||
|
|
||||||
/obj/machinery/power/generator_type2
|
/obj/machinery/power/generator_type2
|
||||||
name = "thermoelectric generator"
|
name = "thermoelectric generator mark II"
|
||||||
desc = "It's a high efficiency thermoelectric generator."
|
desc = "It's a high efficiency thermoelectric generator."
|
||||||
icon_state = "teg"
|
icon_state = "teg"
|
||||||
anchored = 1
|
anchored = 1
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
//only load blast doors for map-defined departments for the moment
|
//only load blast doors for map-defined departments for the moment
|
||||||
switch(department)
|
switch(department)
|
||||||
if("Engineering")
|
if("SinguloEngineering-Antiqua")
|
||||||
connectedDoorIds.Add("Engineering Primary Access")
|
connectedDoorIds.Add("Engineering Primary Access")
|
||||||
connectedDoorIds.Add("Engineering Secondary Access")
|
connectedDoorIds.Add("Engineering Secondary Access")
|
||||||
connectedDoorIds.Add("Fore Maintenance Access")
|
connectedDoorIds.Add("Fore Maintenance Access")
|
||||||
@@ -28,7 +28,13 @@
|
|||||||
connectedDoorIds.Add("Atmospheric Storage Rad Shielding")
|
connectedDoorIds.Add("Atmospheric Storage Rad Shielding")
|
||||||
connectedDoorIds.Add("Construction Storage Rad Shielding")
|
connectedDoorIds.Add("Construction Storage Rad Shielding")
|
||||||
connectedDoorIds.Add("Engineering Secure Storage")
|
connectedDoorIds.Add("Engineering Secure Storage")
|
||||||
if("Medbay")
|
if("RustEngineering-Antiqua")
|
||||||
|
connectedDoorIds.Add("Port vessel entry")
|
||||||
|
connectedDoorIds.Add("Starboard vessel entry")
|
||||||
|
connectedDoorIds.Add("Central aft shell access")
|
||||||
|
connectedDoorIds.Add("Port aft shell access")
|
||||||
|
connectedDoorIds.Add("Starboard aft shell access")
|
||||||
|
if("Medbay-Exodus")
|
||||||
connectedDoorIds.Add("Genetics Outer Shutters")
|
connectedDoorIds.Add("Genetics Outer Shutters")
|
||||||
connectedDoorIds.Add("Genetics Inner Shutters")
|
connectedDoorIds.Add("Genetics Inner Shutters")
|
||||||
connectedDoorIds.Add("Chemistry Outer Shutters")
|
connectedDoorIds.Add("Chemistry Outer Shutters")
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
// dummy generator object for testing
|
// thermo electric generator powered by twinned gas turbines
|
||||||
|
// more realistic than type 2, and also cooler
|
||||||
|
#define ENERGY_TRANSFER_FACTOR 10
|
||||||
|
#define POWER_PRODUCTION_FACTOR 1.25
|
||||||
|
|
||||||
/*/obj/machinery/power/generator/verb/set_amount(var/g as num)
|
/*/obj/machinery/power/generator/verb/set_amount(var/g as num)
|
||||||
set src in view(1)
|
set src in view(1)
|
||||||
@@ -35,12 +38,19 @@
|
|||||||
if(!circ1 || !circ2)
|
if(!circ1 || !circ2)
|
||||||
return
|
return
|
||||||
|
|
||||||
var/datum/gas_mixture/hot_air = circ1.return_transfer_air()
|
var/datum/gas_mixture/air1 = circ1.return_transfer_air()
|
||||||
var/datum/gas_mixture/cold_air = circ2.return_transfer_air()
|
var/datum/gas_mixture/air2 = circ2.return_transfer_air()
|
||||||
|
//
|
||||||
|
var/datum/gas_mixture/hot_air = air1
|
||||||
|
var/datum/gas_mixture/cold_air = air2
|
||||||
|
|
||||||
lastgen = 0
|
lastgen = 0
|
||||||
|
|
||||||
if(cold_air && hot_air)
|
if(hot_air && cold_air)
|
||||||
|
if(hot_air.temperature < cold_air.temperature)
|
||||||
|
hot_air = air2
|
||||||
|
cold_air = air1
|
||||||
|
|
||||||
var/cold_air_heat_capacity = cold_air.heat_capacity()
|
var/cold_air_heat_capacity = cold_air.heat_capacity()
|
||||||
var/hot_air_heat_capacity = hot_air.heat_capacity()
|
var/hot_air_heat_capacity = hot_air.heat_capacity()
|
||||||
|
|
||||||
@@ -52,24 +62,25 @@
|
|||||||
var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity)
|
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)
|
var/heat = energy_transfer*(1-efficiency)
|
||||||
lastgen = energy_transfer*efficiency
|
lastgen = POWER_PRODUCTION_FACTOR * energy_transfer*efficiency
|
||||||
|
|
||||||
hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity
|
//ENERGY_TRANSFER_FACTOR to beef up the amount of heat passed over
|
||||||
cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity
|
hot_air.temperature -= energy_transfer/hot_air_heat_capacity
|
||||||
|
cold_air.temperature += heat/cold_air_heat_capacity
|
||||||
|
|
||||||
|
|
||||||
world << "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]"
|
//world << "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]"
|
||||||
|
|
||||||
add_avail(lastgen)
|
add_avail(lastgen)
|
||||||
// update icon overlays only if displayed level has changed
|
// update icon overlays only if displayed level has changed
|
||||||
|
|
||||||
if(hot_air)
|
if(air1)
|
||||||
circ1.air2.merge(hot_air)
|
circ1.air2.merge(air1)
|
||||||
|
|
||||||
if(cold_air)
|
if(air2)
|
||||||
circ2.air2.merge(cold_air)
|
circ2.air2.merge(air2)
|
||||||
|
|
||||||
var/genlev = max(0, min( round(11*lastgen / 100000), 11))
|
var/genlev = max(0, min( round(11*lastgen / 250000), 11))
|
||||||
if(genlev != lastgenlev)
|
if(genlev != lastgenlev)
|
||||||
lastgenlev = genlev
|
lastgenlev = genlev
|
||||||
updateicon()
|
updateicon()
|
||||||
@@ -97,17 +108,27 @@
|
|||||||
|
|
||||||
user.machine = src
|
user.machine = src
|
||||||
|
|
||||||
|
var/obj/machinery/atmospherics/binary/circulator/hot_circ = circ1
|
||||||
|
var/obj/machinery/atmospherics/binary/circulator/cold_circ = circ2
|
||||||
|
if(hot_circ.air1.temperature < cold_circ.air1.temperature)
|
||||||
|
hot_circ = circ2
|
||||||
|
cold_circ = circ1
|
||||||
|
|
||||||
var/t = "<PRE><B>Thermo-Electric Generator</B><HR>"
|
var/t = "<PRE><B>Thermo-Electric Generator</B><HR>"
|
||||||
|
|
||||||
t += "Output : [round(lastgen)] W<BR><BR>"
|
t += "Output : [round(lastgen)] W<BR><BR>"
|
||||||
|
|
||||||
t += "<B>Cold loop</B><BR>"
|
t += "<B>Cold loop</B><BR>"
|
||||||
t += "Temperature Inlet: [round(circ1.air1.temperature, 0.1)] K Outlet: [round(circ1.air2.temperature, 0.1)] K<BR>"
|
t += "Temperature Inlet: [round(cold_circ.air1.temperature, 0.1)] K<BR>"
|
||||||
t += "Pressure Inlet: [round(circ1.air1.return_pressure(), 0.1)] kPa Outlet: [round(circ1.air2.return_pressure(), 0.1)] kPa<BR>"
|
t += "Temperature Outlet: [round(cold_circ.air2.temperature, 0.1)] K<BR>"
|
||||||
|
t += "Pressure Inlet: [round(cold_circ.air1.return_pressure(), 0.1)] kPa<BR>"
|
||||||
|
t += "Pressure Outlet: [round(cold_circ.air2.return_pressure(), 0.1)] kPa<BR>"
|
||||||
|
|
||||||
t += "<B>Hot loop</B><BR>"
|
t += "<B>Hot loop</B><BR>"
|
||||||
t += "Temperature Inlet: [round(circ2.air1.temperature, 0.1)] K Outlet: [round(circ2.air2.temperature, 0.1)] K<BR>"
|
t += "Temperature Inlet: [round(hot_circ.air1.temperature, 0.1)] K<BR>"
|
||||||
t += "Pressure Inlet: [round(circ2.air1.return_pressure(), 0.1)] kPa Outlet: [round(circ2.air2.return_pressure(), 0.1)] kPa<BR>"
|
t += "Temperature Outlet: [round(hot_circ.air2.temperature, 0.1)] K<BR>"
|
||||||
|
t += "Pressure Inlet: [round(hot_circ.air1.return_pressure(), 0.1)] kPa<BR>"
|
||||||
|
t += "Pressure Outlet: [round(hot_circ.air2.return_pressure(), 0.1)] kPa<BR>"
|
||||||
|
|
||||||
t += "<BR><HR><A href='?src=\ref[src];close=1'>Close</A>"
|
t += "<BR><HR><A href='?src=\ref[src];close=1'>Close</A>"
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
//luna's TEG - simpler and less realistic than type 1
|
||||||
|
|
||||||
/obj/machinery/power/generator_type2/New()
|
/obj/machinery/power/generator_type2/New()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -52,8 +54,9 @@
|
|||||||
var/heat = energy_transfer*(1-efficiency)
|
var/heat = energy_transfer*(1-efficiency)
|
||||||
lastgen = energy_transfer*efficiency
|
lastgen = energy_transfer*efficiency
|
||||||
|
|
||||||
hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity
|
//ENERGY_TRANSFER_FACTOR to beef up the amount of heat passed over
|
||||||
cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity
|
hot_air.temperature = ENERGY_TRANSFER_FACTOR*hot_air.temperature - energy_transfer/hot_air_heat_capacity
|
||||||
|
cold_air.temperature = ENERGY_TRANSFER_FACTOR*cold_air.temperature + heat/cold_air_heat_capacity
|
||||||
|
|
||||||
if(input1.network)
|
if(input1.network)
|
||||||
input1.network.update = 1
|
input1.network.update = 1
|
||||||
@@ -64,7 +67,7 @@
|
|||||||
add_avail(lastgen/5)
|
add_avail(lastgen/5)
|
||||||
// update icon overlays only if displayed level has changed
|
// update icon overlays only if displayed level has changed
|
||||||
|
|
||||||
var/genlev = max(0, min( round(11*lastgen / 500000), 11))
|
var/genlev = max(0, min( round(11*lastgen / 100000), 11))
|
||||||
if(genlev != lastgenlev)
|
if(genlev != lastgenlev)
|
||||||
lastgenlev = genlev
|
lastgenlev = genlev
|
||||||
updateicon()
|
updateicon()
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 756 B |
6772
maps/Antiqua.dmm
6772
maps/Antiqua.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user