Merge pull request #974 from caelaislinn/master

releasing maplock for erthilo to merge antiqua changes.
This commit is contained in:
CIB
2012-05-05 02:47:35 -07:00
14 changed files with 3717 additions and 3179 deletions

View File

@@ -162,9 +162,11 @@
#define FILE_DIR "code/WorkInProgress"
#define FILE_DIR "code/WorkInProgress/Apples"
#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/Supermatter"
#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/mapload"
#define FILE_DIR "code/WorkInProgress/Mini"

View File

@@ -22,6 +22,7 @@ Deuterium-tritium fusion: 4.5 x 10^7 K
//
var/obj/machinery/rust/core/owned_core
var/list/dormant_reactant_quantities = new
luminosity = 1
//
var/energy = 0
var/mega_energy = 0

View File

@@ -84,12 +84,14 @@ max volume of plasma storeable by the field = the total volume of a number of ti
if(owned_field)
owned_field.ChangeFieldStrength(field_strength)
icon_state = "core1"
luminosity = 1
return 1
proc/Shutdown()
icon_state = "core0"
on = 0
del(owned_field)
luminosity = 0
proc/AddParticles(var/name, var/quantity = 1)
if(owned_field)
@@ -104,6 +106,9 @@ max volume of plasma storeable by the field = the total volume of a number of ti
Shutdown()
return
//
luminosity = round(owned_field.field_strength/10)
luminosity = max(luminosity,1)
//
if(stat & (NOPOWER|BROKEN))
Shutdown()

View File

@@ -9,7 +9,7 @@
New()
spawn(0)
core_generator = locate() in range(15,src)
core_generator = locate() in world
attack_ai(mob/user)
attack_hand(user)

View File

@@ -20,7 +20,7 @@
fuel_injectors.Add("SCRAM")
fuel_injectors["SCRAM"] = new/list
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)
var/list/targetlist = fuel_injectors[Injector.stage]
targetlist.Add(Injector)

View File

@@ -44,7 +44,7 @@
return
var/t = "<B>Gyrotron Remote Control Console</B><BR>"
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)
t += "<font color=green>Gyrotron operational</font><br>"
t += "Operational mode: <font color=blue>"

View File

@@ -6,6 +6,7 @@
icon = 'effects.dmi'
icon_state = "energynet"
density = 0
anchored = 1
var/obj/machinery/rust/em_field/parent
var/mysize = 0

View File

@@ -61,12 +61,6 @@
//a lot of these variables are pretty hacked, so dont rely on the comments
/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
/*
previousdet = det
@@ -111,11 +105,20 @@
#define REACTION_POWER_MODIFIER 0.5 //Higher == more overall power
*/
var/datum/gas_mixture/env = loc.return_air()
//nothing can happen in a vacuum
var/datum/gas_mixture/removed = env
var/retardation_factor = 0.5
if(env.total_moles())
//Remove gas from surrounding area
var/transfer_moles = gasefficency * env.total_moles()
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()
var/retardation_factor = 0.5
if(total_moles)
retardation_factor += removed.oxygen / (total_moles * 2) - removed.nitrogen / (total_moles * 2)
else

View File

@@ -339,7 +339,7 @@
layer = 2.6 // a bit above wires
/obj/machinery/power/generator
name = "thermoelectric generator"
name = "thermoelectric generator mark I"
desc = "It's a high efficiency thermoelectric generator."
icon_state = "teg"
anchored = 1
@@ -352,7 +352,7 @@
var/lastgenlev = -1
/obj/machinery/power/generator_type2
name = "thermoelectric generator"
name = "thermoelectric generator mark II"
desc = "It's a high efficiency thermoelectric generator."
icon_state = "teg"
anchored = 1

View File

@@ -16,7 +16,7 @@
//only load blast doors for map-defined departments for the moment
switch(department)
if("Engineering")
if("SinguloEngineering-Antiqua")
connectedDoorIds.Add("Engineering Primary Access")
connectedDoorIds.Add("Engineering Secondary Access")
connectedDoorIds.Add("Fore Maintenance Access")
@@ -28,7 +28,13 @@
connectedDoorIds.Add("Atmospheric Storage Rad Shielding")
connectedDoorIds.Add("Construction Storage Rad Shielding")
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 Inner Shutters")
connectedDoorIds.Add("Chemistry Outer Shutters")

View File

@@ -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)
set src in view(1)
@@ -35,12 +38,19 @@
if(!circ1 || !circ2)
return
var/datum/gas_mixture/hot_air = circ1.return_transfer_air()
var/datum/gas_mixture/cold_air = circ2.return_transfer_air()
var/datum/gas_mixture/air1 = circ1.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
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/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/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
cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity
//ENERGY_TRANSFER_FACTOR to beef up the amount of heat passed over
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)
// update icon overlays only if displayed level has changed
if(hot_air)
circ1.air2.merge(hot_air)
if(air1)
circ1.air2.merge(air1)
if(cold_air)
circ2.air2.merge(cold_air)
if(air2)
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)
lastgenlev = genlev
updateicon()
@@ -97,17 +108,27 @@
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>"
t += "Output : [round(lastgen)] W<BR><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 += "Pressure Inlet: [round(circ1.air1.return_pressure(), 0.1)] kPa Outlet: [round(circ1.air2.return_pressure(), 0.1)] kPa<BR>"
t += "Temperature Inlet: [round(cold_circ.air1.temperature, 0.1)] K<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 += "Temperature Inlet: [round(circ2.air1.temperature, 0.1)] K Outlet: [round(circ2.air2.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 Inlet: [round(hot_circ.air1.temperature, 0.1)] K<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>"

View File

@@ -1,3 +1,5 @@
//luna's TEG - simpler and less realistic than type 1
/obj/machinery/power/generator_type2/New()
..()
@@ -52,8 +54,9 @@
var/heat = energy_transfer*(1-efficiency)
lastgen = energy_transfer*efficiency
hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity
cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity
//ENERGY_TRANSFER_FACTOR to beef up the amount of heat passed over
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)
input1.network.update = 1
@@ -64,7 +67,7 @@
add_avail(lastgen/5)
// 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)
lastgenlev = genlev
updateicon()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 756 B

File diff suppressed because it is too large Load Diff