Merge branch 'master' into upstream-merge-29940

This commit is contained in:
LetterJay
2017-08-21 23:29:24 -05:00
committed by GitHub
364 changed files with 4317 additions and 3134 deletions
+3 -4
View File
@@ -29,8 +29,8 @@
var/stored_power = 0//Power to deploy per tick
/obj/machinery/power/am_control_unit/New()
..()
/obj/machinery/power/am_control_unit/Initialize()
. = ..()
linked_shielding = list()
linked_cores = list()
@@ -39,8 +39,7 @@
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
AMS.control_unit = null
qdel(AMS)
qdel(fueljar)
fueljar = null
QDEL_NULL(fueljar)
return ..()
+2 -2
View File
@@ -16,8 +16,8 @@
var/record_interval = 50
var/next_record = 0
/obj/machinery/computer/monitor/New()
..()
/obj/machinery/computer/monitor/Initialize()
. = ..()
search()
history["supply"] = list()
history["demand"] = list()
+5 -27
View File
@@ -54,11 +54,11 @@
/obj/machinery/power/port_gen/pacman
name = "\improper P.A.C.M.A.N.-type portable generator"
circuit = /obj/item/weapon/circuitboard/machine/pacman
var/sheets = 0
var/max_sheets = 100
var/sheet_name = ""
var/sheet_path = /obj/item/stack/sheet/mineral/plasma
var/board_path = /obj/item/weapon/circuitboard/machine/pacman
var/sheet_left = 0 // How much is left of the sheet
var/time_per_sheet = 260
var/current_heat = 0
@@ -68,34 +68,12 @@
if(anchored)
connect_to_network()
/obj/machinery/power/port_gen/pacman/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new board_path(null)
B.apply_default_parts(src)
/obj/machinery/power/port_gen/pacman/Initialize()
. = ..()
var/obj/sheet = new sheet_path(null)
sheet_name = sheet.name
/obj/item/weapon/circuitboard/machine/pacman
name = "PACMAN-type Generator (Machine Board)"
build_path = /obj/machinery/power/port_gen/pacman
origin_tech = "programming=2;powerstorage=3;plasmatech=3;engineering=3"
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/stack/cable_coil = 2,
/obj/item/weapon/stock_parts/capacitor = 1)
/obj/item/weapon/circuitboard/machine/pacman/super
name = "SUPERPACMAN-type Generator (Machine Board)"
build_path = /obj/machinery/power/port_gen/pacman/super
origin_tech = "programming=3;powerstorage=4;engineering=4"
/obj/item/weapon/circuitboard/machine/pacman/mrs
name = "MRSPACMAN-type Generator (Machine Board)"
build_path = "/obj/machinery/power/port_gen/pacman/mrs"
origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4"
/obj/machinery/power/port_gen/pacman/Destroy()
DropFuel()
return ..()
@@ -294,10 +272,10 @@
name = "\improper S.U.P.E.R.P.A.C.M.A.N.-type portable generator"
icon_state = "portgen1_0"
base_icon = "portgen1"
circuit = /obj/item/weapon/circuitboard/machine/pacman/super
sheet_path = /obj/item/stack/sheet/mineral/uranium
power_gen = 15000
time_per_sheet = 85
board_path = /obj/item/weapon/circuitboard/machine/pacman/super
/obj/machinery/power/port_gen/pacman/super/overheat()
explosion(src.loc, 3, 3, 3, -1)
@@ -306,10 +284,10 @@
name = "\improper M.R.S.P.A.C.M.A.N.-type portable generator"
base_icon = "portgen2"
icon_state = "portgen2_0"
circuit = /obj/item/weapon/circuitboard/machine/pacman/mrs
sheet_path = /obj/item/stack/sheet/mineral/diamond
power_gen = 40000
time_per_sheet = 80
board_path = /obj/item/weapon/circuitboard/machine/pacman/mrs
/obj/machinery/power/port_gen/pacman/mrs/overheat()
explosion(src.loc, 4, 4, 4, -1)
+4 -42
View File
@@ -9,6 +9,7 @@
density = TRUE
anchored = TRUE
use_power = NO_POWER_USE
circuit = /obj/item/weapon/circuitboard/machine/rtg
// You can buckle someone to RTG, then open its panel. Fun stuff.
can_buckle = TRUE
@@ -16,23 +17,9 @@
buckle_requires_restraints = TRUE
var/power_gen = 1000 // Enough to power a single APC. 4000 output with T4 capacitor.
var/board_path = /obj/item/weapon/circuitboard/machine/rtg
var/irradiate = TRUE // RTGs irradiate surroundings, but only when panel is open.
/obj/machinery/power/rtg/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new board_path(null)
B.apply_default_parts(src)
/obj/item/weapon/circuitboard/machine/rtg
name = "RTG (Machine Board)"
build_path = /obj/machinery/power/rtg
origin_tech = "programming=2;materials=4;powerstorage=3;engineering=2"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/capacitor = 1,
/obj/item/stack/sheet/mineral/uranium = 10) // We have no Pu-238, and this is the closest thing to it.
/obj/machinery/power/rtg/Initialize()
. = ..()
connect_to_network()
@@ -68,20 +55,7 @@
/obj/machinery/power/rtg/advanced
desc = "An advanced RTG capable of moderating isotope decay, increasing power output but reducing lifetime. It uses plasma-fueled radiation collectors to increase output even further."
power_gen = 1250 // 2500 on T1, 10000 on T4.
board_path = /obj/item/weapon/circuitboard/machine/rtg/advanced
/obj/item/weapon/circuitboard/machine/rtg/advanced
name = "Advanced RTG (Machine Board)"
build_path = /obj/machinery/power/rtg/advanced
origin_tech = "programming=3;materials=5;powerstorage=4;engineering=3;plasmatech=3"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/capacitor = 1,
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/stack/sheet/mineral/uranium = 10,
/obj/item/stack/sheet/mineral/plasma = 5)
circuit = /obj/item/weapon/circuitboard/machine/rtg/advanced
// Void Core, power source for Abductor ships and bases.
// Provides a lot of power, but tends to explode when mistreated.
@@ -91,25 +65,13 @@
icon = 'icons/obj/abductor.dmi'
icon_state = "core"
desc = "An alien power source that produces energy seemingly out of nowhere."
board_path = /obj/item/weapon/circuitboard/machine/abductor/core
circuit = /obj/item/weapon/circuitboard/machine/abductor/core
power_gen = 20000 // 280 000 at T1, 400 000 at T4. Starts at T4.
irradiate = FALSE // Green energy!
can_buckle = FALSE
pixel_y = 7
var/going_kaboom = FALSE // Is it about to explode?
/obj/item/weapon/circuitboard/machine/abductor/core
name = "alien board (Void Core)"
build_path = /obj/machinery/power/rtg/abductor
origin_tech = "programming=5;abductor=5;powerstorage=8;engineering=8"
req_components = list(
/obj/item/weapon/stock_parts/capacitor = 1,
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/weapon/stock_parts/cell/infinite/abductor = 1)
def_components = list(
/obj/item/weapon/stock_parts/capacitor = /obj/item/weapon/stock_parts/capacitor/quadratic,
/obj/item/weapon/stock_parts/micro_laser = /obj/item/weapon/stock_parts/micro_laser/quadultra)
/obj/machinery/power/rtg/abductor/proc/overload()
if(going_kaboom)
return
+2 -2
View File
@@ -21,8 +21,8 @@ GLOBAL_LIST_EMPTY(rad_collectors)
/obj/machinery/power/rad_collector/anchored
anchored = TRUE
/obj/machinery/power/rad_collector/New()
..()
/obj/machinery/power/rad_collector/Initialize()
. = ..()
GLOB.rad_collectors += src
/obj/machinery/power/rad_collector/Destroy()
+15 -26
View File
@@ -3,20 +3,17 @@
desc = "A heavy-duty industrial laser, often used in containment fields and power generation.\n<span class='notice'>Alt-click to rotate it clockwise.</span>"
icon = 'icons/obj/singularity.dmi'
icon_state = "emitter"
var/icon_state_on = "emitter_+a"
anchored = FALSE
density = TRUE
req_access = list(ACCESS_ENGINE_EQUIP)
// The following 3 vars are mostly for the prototype
var/manual = FALSE
var/charge = 0
var/atom/target = null
circuit = /obj/item/weapon/circuitboard/machine/emitter
use_power = NO_POWER_USE
idle_power_usage = 10
active_power_usage = 300
var/icon_state_on = "emitter_+a"
var/active = 0
var/powered = 0
var/fire_delay = 100
@@ -33,6 +30,11 @@
var/datum/effect_system/spark_spread/sparks
// The following 3 vars are mostly for the prototype
var/manual = FALSE
var/charge = 0
var/atom/target
/obj/machinery/power/emitter/anchored
anchored = TRUE
@@ -46,20 +48,16 @@
state = 2
use_power = FALSE
/obj/machinery/power/emitter/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/emitter(null)
B.apply_default_parts(src)
/obj/machinery/power/emitter/Initialize()
. = ..()
RefreshParts()
wires = new /datum/wires/emitter(src)
if(state == 2 && anchored)
connect_to_network()
/obj/item/weapon/circuitboard/machine/emitter
name = "Emitter (Machine Board)"
build_path = /obj/machinery/power/emitter
origin_tech = "programming=3;powerstorage=4;engineering=4"
req_components = list(
/obj/item/weapon/stock_parts/micro_laser = 1,
/obj/item/weapon/stock_parts/manipulator = 1)
sparks = new
sparks.attach(src)
sparks.set_up(5, TRUE, src)
/obj/machinery/power/emitter/RefreshParts()
var/max_firedelay = 120
@@ -100,15 +98,6 @@
else
rotate()
/obj/machinery/power/emitter/Initialize()
. = ..()
if(state == 2 && anchored)
connect_to_network()
sparks = new
sparks.attach(src)
sparks.set_up(5, TRUE, src)
/obj/machinery/power/emitter/Destroy()
if(SSticker.IsRoundInProgress())
var/turf/T = get_turf(src)
@@ -49,8 +49,8 @@ field_generator power level display
add_overlay("+p[power_level]")
/obj/machinery/field/generator/New()
..()
/obj/machinery/field/generator/Initialize()
. = ..()
fields = list()
connected_gens = list()
@@ -19,10 +19,10 @@
var/powered = 0
mouse_opacity = 2
/obj/machinery/particle_accelerator/control_box/New()
/obj/machinery/particle_accelerator/control_box/Initialize()
. = ..()
wires = new /datum/wires/particle_accelerator/control_box(src)
connected_parts = list()
..()
/obj/machinery/particle_accelerator/control_box/Destroy()
if(active)
@@ -31,8 +31,7 @@
var/obj/structure/particle_accelerator/part = CP
part.master = null
connected_parts.Cut()
qdel(wires)
wires = null
QDEL_NULL(wires)
return ..()
/obj/machinery/particle_accelerator/control_box/attack_hand(mob/user)
@@ -0,0 +1,10 @@
diff a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm (rejected hunks)
@@ -17,7 +17,7 @@
var/active = 0
var/strength = 0
var/powered = 0
- mouse_opacity = 2
+ mouse_opacity = MOUSE_OPACITY_OPAQUE
/obj/machinery/particle_accelerator/control_box/Initialize()
. = ..()
+9 -23
View File
@@ -21,6 +21,7 @@
density = TRUE
anchored = TRUE
use_power = NO_POWER_USE
circuit = /obj/item/weapon/circuitboard/machine/smes
var/capacity = 5e6 // maximum charge
var/charge = 0 // actual charge
@@ -43,36 +44,21 @@
if(!terminal)
to_chat(user, "<span class='warning'>This SMES has no power terminal!</span>")
/obj/machinery/power/smes/New()
/obj/machinery/power/smes/Initialize()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/smes(null)
B.apply_default_parts(src)
spawn(5)
dir_loop:
for(var/d in GLOB.cardinals)
var/turf/T = get_step(src, d)
for(var/obj/machinery/power/terminal/term in T)
if(term && term.dir == turn(d, 180))
terminal = term
break dir_loop
dir_loop:
for(var/d in GLOB.cardinals)
var/turf/T = get_step(src, d)
for(var/obj/machinery/power/terminal/term in T)
if(term && term.dir == turn(d, 180))
terminal = term
break dir_loop
if(!terminal)
stat |= BROKEN
return
terminal.master = src
update_icon()
return
/obj/item/weapon/circuitboard/machine/smes
name = "SMES (Machine Board)"
build_path = /obj/machinery/power/smes
origin_tech = "programming=3;powerstorage=3;engineering=3"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/cell = 5,
/obj/item/weapon/stock_parts/capacitor = 1)
def_components = list(/obj/item/weapon/stock_parts/cell = /obj/item/weapon/stock_parts/cell/high/empty)
/obj/machinery/power/smes/RefreshParts()
var/IO = 0
+6 -5
View File
@@ -13,15 +13,16 @@
layer = WIRE_TERMINAL_LAYER //a bit above wires
/obj/machinery/power/terminal/New()
..()
var/turf/T = src.loc
if(level==1) hide(T.intact)
return
/obj/machinery/power/terminal/Initialize()
. = ..()
var/turf/T = get_turf(src)
if(level == 1)
hide(T.intact)
/obj/machinery/power/terminal/Destroy()
if(master)
master.disconnect_terminal()
master = null
return ..()
/obj/machinery/power/terminal/hide(i)
+5 -20
View File
@@ -11,23 +11,17 @@
buckle_lying = FALSE
buckle_requires_restraints = TRUE
circuit = /obj/item/weapon/circuitboard/machine/tesla_coil
var/power_loss = 2
var/input_power_multiplier = 1
var/zap_cooldown = 100
var/last_zap = 0
/obj/machinery/power/tesla_coil/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/tesla_coil(null)
B.apply_default_parts(src)
/obj/machinery/power/tesla_coil/Initialize()
. = ..()
wires = new /datum/wires/tesla_coil(src)
/obj/item/weapon/circuitboard/machine/tesla_coil
name = "Tesla Coil (Machine Board)"
build_path = /obj/machinery/power/tesla_coil
origin_tech = "programming=3;magnets=3;powerstorage=3"
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
/obj/machinery/power/tesla_coil/RefreshParts()
var/power_multiplier = 0
zap_cooldown = 100
@@ -109,16 +103,7 @@
buckle_lying = FALSE
buckle_requires_restraints = TRUE
/obj/machinery/power/grounding_rod/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/grounding_rod(null)
B.apply_default_parts(src)
/obj/item/weapon/circuitboard/machine/grounding_rod
name = "Grounding Rod (Machine Board)"
build_path = /obj/machinery/power/grounding_rod
origin_tech = "programming=3;powerstorage=3;magnets=3;plasmatech=2"
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
circuit = /obj/item/weapon/circuitboard/machine/grounding_rod
/obj/machinery/power/grounding_rod/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20)
. = ..()
+2 -2
View File
@@ -18,8 +18,8 @@
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
/obj/machinery/power/tracker/New(var/turf/loc, var/obj/item/solar_assembly/S)
..(loc)
/obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
Make(S)
connect_to_network()
+7 -31
View File
@@ -31,6 +31,7 @@
density = TRUE
resistance_flags = FIRE_PROOF
CanAtmosPass = ATMOS_PASS_DENSITY
circuit = /obj/item/weapon/circuitboard/machine/power_compressor
var/obj/machinery/power/turbine/turbine
var/datum/gas_mixture/gas_contained
var/turf/inturf
@@ -51,6 +52,7 @@
density = TRUE
resistance_flags = FIRE_PROOF
CanAtmosPass = ATMOS_PASS_DENSITY
circuit = /obj/item/weapon/circuitboard/machine/power_turbine
var/opened = 0
var/obj/machinery/power/compressor/compressor
var/turf/outturf
@@ -68,25 +70,12 @@
// the inlet stage of the gas turbine electricity generator
/obj/machinery/power/compressor/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/power_compressor(null)
B.apply_default_parts(src)
// The inlet of the compressor is the direction it faces
/obj/machinery/power/compressor/Initialize()
. = ..()
// The inlet of the compressor is the direction it faces
gas_contained = new
inturf = get_step(src, dir)
/obj/item/weapon/circuitboard/machine/power_compressor
name = "Power Compressor (Machine Board)"
build_path = /obj/machinery/power/compressor
origin_tech = "programming=4;powerstorage=4;engineering=4"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/manipulator = 6)
/obj/machinery/power/compressor/Initialize()
. = ..()
locate_machinery()
if(!turbine)
stat |= BROKEN
@@ -186,23 +175,10 @@
#define TURBGENQ 100000
#define TURBGENG 0.5
/obj/machinery/power/turbine/New()
..()
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/power_turbine(null)
B.apply_default_parts(src)
// The outlet is pointed at the direction of the turbine component
outturf = get_step(src, dir)
/obj/item/weapon/circuitboard/machine/power_turbine
name = "Power Turbine (Machine Board)"
build_path = /obj/machinery/power/turbine
origin_tech = "programming=4;powerstorage=4;engineering=4"
req_components = list(
/obj/item/stack/cable_coil = 5,
/obj/item/weapon/stock_parts/capacitor = 6)
/obj/machinery/power/turbine/Initialize()
. = ..()
// The outlet is pointed at the direction of the turbine component
outturf = get_step(src, dir)
locate_machinery()
if(!compressor)
stat |= BROKEN