mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 21:19:00 +01:00
WIP antiqua engineering, WIP antiqua supermatter research lab, r-ust updates, fixed dopeghoti's derp.
Signed-off-by: CaelAislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "energynet"
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/obj/machinery/rust/em_field/parent
|
||||
var/mysize = 0
|
||||
|
||||
|
||||
@@ -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,15 +105,24 @@
|
||||
#define REACTION_POWER_MODIFIER 0.5 //Higher == more overall power
|
||||
*/
|
||||
|
||||
//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/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(total_moles)
|
||||
retardation_factor += removed.oxygen / (total_moles * 2) - removed.nitrogen / (total_moles * 2)
|
||||
else
|
||||
retardation_factor -= 0.25
|
||||
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()
|
||||
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
|
||||
device_energy *= removed.temperature / T0C //environmental heat directly affects device energy
|
||||
|
||||
Reference in New Issue
Block a user