Merge pull request #2322 from Citadel-Station-13/upstream-merge-29747
[MIRROR] Removes a great amount of machinery copypasta with circuitboards.
This commit is contained in:
@@ -52,8 +52,7 @@
|
||||
/obj/machinery/vr_sleeper/Destroy()
|
||||
open_machine()
|
||||
cleanup_vr_human()
|
||||
qdel(sparks)
|
||||
sparks = null
|
||||
QDEL_NULL(sparks)
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -9,9 +9,10 @@
|
||||
max_integrity = 350
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 30, acid = 30)
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
state_open = FALSE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/cryo_tube
|
||||
|
||||
var/on = FALSE
|
||||
state_open = FALSE
|
||||
var/autoeject = FALSE
|
||||
var/volume = 100
|
||||
|
||||
@@ -35,8 +36,6 @@
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize()
|
||||
. = ..()
|
||||
initialize_directions = dir
|
||||
var/obj/item/weapon/circuitboard/machine/cryo_tube/B = new
|
||||
B.apply_default_parts(src)
|
||||
|
||||
radio = new(src)
|
||||
radio.keyslot = new radio_key
|
||||
@@ -44,16 +43,6 @@
|
||||
radio.canhear_range = 0
|
||||
radio.recalculateChannels()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/cryo_tube
|
||||
name = "Cryotube (Machine Board)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/cryo_cell
|
||||
origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/stack/sheet/glass = 2)
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/on_construction()
|
||||
..(dir, dir)
|
||||
|
||||
@@ -69,11 +58,8 @@
|
||||
conduction_coefficient = initial(conduction_coefficient) * C
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Destroy()
|
||||
qdel(radio)
|
||||
radio = null
|
||||
if(beaker)
|
||||
qdel(beaker)
|
||||
beaker = null
|
||||
QDEL_NULL(radio)
|
||||
QDEL_NULL(beaker)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/contents_explosion(severity, target)
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
max_integrity = 300
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 30)
|
||||
layer = OBJ_LAYER
|
||||
circuit = /obj/item/weapon/circuitboard/machine/thermomachine
|
||||
|
||||
var/on = FALSE
|
||||
var/min_temperature = 0
|
||||
@@ -18,49 +19,9 @@
|
||||
var/heat_capacity = 0
|
||||
var/interactive = TRUE // So mapmakers can disable interaction.
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/New()
|
||||
..()
|
||||
initialize_directions = dir
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/thermomachine(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/thermomachine
|
||||
name = "Thermomachine (Machine Board)"
|
||||
desc = "You can use a screwdriver to switch between heater and freezer."
|
||||
origin_tech = "programming=3;plasmatech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 2,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/thermomachine/Initialize()
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/Initialize()
|
||||
. = ..()
|
||||
if(prob(50))
|
||||
name = "Freezer (Machine Board)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/freezer
|
||||
else
|
||||
name = "Heater (Machine Board)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/heater
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/thermomachine/attackby(obj/item/I, mob/user, params)
|
||||
var/obj/item/weapon/circuitboard/machine/freezer = /obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||
var/obj/item/weapon/circuitboard/machine/heater = /obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||
var/obj/item/weapon/circuitboard/machine/newtype
|
||||
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
var/new_setting = "Heater"
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(build_path == initial(heater.build_path))
|
||||
newtype = freezer
|
||||
new_setting = "Freezer"
|
||||
else
|
||||
newtype = heater
|
||||
name = initial(newtype.name)
|
||||
build_path = initial(newtype.build_path)
|
||||
to_chat(user, "<span class='notice'>You change the circuitboard setting to \"[new_setting]\".</span>")
|
||||
else
|
||||
return ..()
|
||||
initialize_directions = dir
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/on_construction()
|
||||
..(dir,dir)
|
||||
@@ -202,15 +163,7 @@
|
||||
icon_state_open = "freezer-o"
|
||||
max_temperature = T20C
|
||||
min_temperature = 170
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/thermomachine/freezer(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||
name = "Freezer (Machine Board)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/freezer
|
||||
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/RefreshParts()
|
||||
..()
|
||||
@@ -227,15 +180,7 @@
|
||||
icon_state_open = "heater-o"
|
||||
max_temperature = 140
|
||||
min_temperature = T20C
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/heater/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/thermomachine/heater(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||
name = "Heater (Machine Board)"
|
||||
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/heater
|
||||
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/heater/RefreshParts()
|
||||
..()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
volume = 1000
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
pump = new(src, FALSE)
|
||||
pump.on = TRUE
|
||||
pump.stat = 0
|
||||
@@ -26,8 +26,7 @@
|
||||
var/turf/T = get_turf(src)
|
||||
T.assume_air(air_contents)
|
||||
air_update_turf()
|
||||
qdel(pump)
|
||||
pump = null
|
||||
QDEL_NULL(pump)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/update_icon()
|
||||
|
||||
@@ -29,13 +29,11 @@
|
||||
var/reset_path = /obj/effect/ctf/flag_reset
|
||||
|
||||
/obj/item/weapon/twohanded/ctf/Destroy()
|
||||
if(reset)
|
||||
qdel(reset)
|
||||
reset = null
|
||||
. = ..()
|
||||
QDEL_NULL(reset)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/twohanded/ctf/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
SET_SECONDARY_FLAG(src, SLOWS_WHILE_IN_HAND)
|
||||
if(!reset)
|
||||
reset = new reset_path(get_turf(src))
|
||||
|
||||
@@ -22,7 +22,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
switch(dir)
|
||||
if(SOUTH,SOUTHEAST,SOUTHWEST)
|
||||
density = FALSE
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/gateway/proc/toggleoff()
|
||||
for(var/obj/machinery/gateway/G in linked)
|
||||
@@ -75,10 +75,13 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
/obj/machinery/gateway/proc/toggleon(mob/user)
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/gateway/centerstation/New()
|
||||
..()
|
||||
/obj/machinery/gateway/centerstation/Initialize()
|
||||
. = ..()
|
||||
if(!GLOB.the_gateway)
|
||||
GLOB.the_gateway = src
|
||||
update_icon()
|
||||
wait = world.time + config.gateway_delay //+ thirty minutes default
|
||||
awaygate = locate(/obj/machinery/gateway/centeraway)
|
||||
|
||||
/obj/machinery/gateway/centerstation/Destroy()
|
||||
if(GLOB.the_gateway == src)
|
||||
@@ -96,12 +99,6 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
var/obj/machinery/gateway/centeraway/awaygate = null
|
||||
can_link = TRUE
|
||||
|
||||
/obj/machinery/gateway/centerstation/Initialize()
|
||||
..()
|
||||
update_icon()
|
||||
wait = world.time + config.gateway_delay //+ thirty minutes default
|
||||
awaygate = locate(/obj/machinery/gateway/centeraway)
|
||||
|
||||
/obj/machinery/gateway/centerstation/update_icon()
|
||||
if(active)
|
||||
icon_state = "oncenter"
|
||||
@@ -182,7 +179,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
||||
|
||||
|
||||
/obj/machinery/gateway/centeraway/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
update_icon()
|
||||
stationgate = locate(/obj/machinery/gateway/centerstation)
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
circuit = /obj/item/weapon/circuitboard/computer/cargo/request
|
||||
requestonly = TRUE
|
||||
|
||||
/obj/machinery/computer/cargo/New()
|
||||
..()
|
||||
/obj/machinery/computer/cargo/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/computer/cargo/board = circuit
|
||||
contraband = board.contraband
|
||||
emagged = board.emagged
|
||||
|
||||
@@ -1778,9 +1778,7 @@
|
||||
name = "Shield System Control Board"
|
||||
cost = 5000
|
||||
special = TRUE
|
||||
contains = list(
|
||||
/obj/item/weapon/circuitboard/machine/computer/sat_control
|
||||
)
|
||||
contains = list(/obj/item/weapon/circuitboard/computer/sat_control)
|
||||
crate_name= "shield control board crate"
|
||||
|
||||
/datum/supply_pack/misc/bicycle
|
||||
|
||||
@@ -18,7 +18,7 @@ insert ascii eagle on american flag background here
|
||||
container_type = OPENCONTAINER
|
||||
var/obj/item/frying = null //What's being fried RIGHT NOW?
|
||||
var/cook_time = 0
|
||||
var/static/list/blacklisted_items = typecacheof(list(
|
||||
var/static/list/deepfry_blacklisted_items = typecacheof(list(
|
||||
/obj/item/weapon/screwdriver,
|
||||
/obj/item/weapon/crowbar,
|
||||
/obj/item/weapon/wrench,
|
||||
@@ -28,14 +28,8 @@ insert ascii eagle on american flag background here
|
||||
/obj/item/weapon/reagent_containers/glass,
|
||||
/obj/item/weapon/storage/part_replacer))
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/deep_fryer
|
||||
name = "circuit board (Deep Fryer)"
|
||||
build_path = /obj/machinery/deepfryer
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/machinery/deepfryer/New()
|
||||
..()
|
||||
/obj/machinery/deepfryer/Initialize()
|
||||
. = ..()
|
||||
create_reagents(50)
|
||||
reagents.add_reagent("nutriment", 25)
|
||||
component_parts = list()
|
||||
@@ -62,7 +56,7 @@ insert ascii eagle on american flag background here
|
||||
else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?!
|
||||
return
|
||||
else
|
||||
if(is_type_in_typecache(I, blacklisted_items))
|
||||
if(is_type_in_typecache(I, deepfry_blacklisted_items))
|
||||
. = ..()
|
||||
else if(user.drop_item() && !frying)
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
|
||||
@@ -18,17 +18,15 @@
|
||||
container_type = OPENCONTAINER
|
||||
var/obj/item/weapon/reagent_containers/mixer
|
||||
|
||||
/obj/machinery/food_cart/New()
|
||||
..()
|
||||
/obj/machinery/food_cart/Initialize()
|
||||
. = ..()
|
||||
create_reagents(LIQUID_CAPACIY)
|
||||
reagents.set_reacting(FALSE)
|
||||
mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY)
|
||||
mixer.name = "Mixer"
|
||||
|
||||
/obj/machinery/food_cart/Destroy()
|
||||
if(mixer)
|
||||
qdel(mixer)
|
||||
mixer = null
|
||||
QDEL_NULL(mixer)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/food_cart/attack_hand(mob/user)
|
||||
|
||||
@@ -6,58 +6,21 @@
|
||||
icon_state = "grinder"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 500
|
||||
circuit = /obj/item/weapon/circuitboard/machine/gibber
|
||||
|
||||
var/operating = FALSE //Is it on?
|
||||
var/dirty = 0 // Does it need cleaning?
|
||||
var/gibtime = 40 // Time from starting until meat appears
|
||||
var/meat_produced = 0
|
||||
var/ignore_clothing = 0
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 500
|
||||
|
||||
//auto-gibs anything that bumps into it
|
||||
/obj/machinery/gibber/autogibber
|
||||
var/turf/input_plate
|
||||
|
||||
/obj/machinery/gibber/autogibber/Initialize()
|
||||
. = ..()
|
||||
for(var/i in GLOB.cardinals)
|
||||
var/obj/machinery/mineral/input/input_obj = locate() in get_step(loc, i)
|
||||
if(input_obj)
|
||||
if(isturf(input_obj.loc))
|
||||
input_plate = input_obj.loc
|
||||
qdel(input_obj)
|
||||
break
|
||||
|
||||
if(!input_plate)
|
||||
CRASH("Didn't find an input plate.")
|
||||
return
|
||||
|
||||
/obj/machinery/gibber/autogibber/CollidedWith(atom/movable/AM)
|
||||
if(!input_plate)
|
||||
return
|
||||
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
|
||||
if(M.loc == input_plate)
|
||||
M.loc = src
|
||||
M.gib()
|
||||
|
||||
|
||||
/obj/machinery/gibber/Initialize()
|
||||
. = ..()
|
||||
add_overlay("grjam")
|
||||
var/obj/item/weapon/circuitboard/machine/gibber/B = new
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/gibber
|
||||
name = "Gibber (Machine Board)"
|
||||
build_path = /obj/machinery/gibber
|
||||
origin_tech = "programming=2;engineering=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/machinery/gibber/RefreshParts()
|
||||
var/gib_time = 40
|
||||
@@ -234,3 +197,32 @@
|
||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||
operating = FALSE
|
||||
update_icon()
|
||||
|
||||
//auto-gibs anything that bumps into it
|
||||
/obj/machinery/gibber/autogibber
|
||||
var/turf/input_plate
|
||||
|
||||
/obj/machinery/gibber/autogibber/Initialize()
|
||||
. = ..()
|
||||
for(var/i in GLOB.cardinals)
|
||||
var/obj/machinery/mineral/input/input_obj = locate() in get_step(loc, i)
|
||||
if(input_obj)
|
||||
if(isturf(input_obj.loc))
|
||||
input_plate = input_obj.loc
|
||||
qdel(input_obj)
|
||||
break
|
||||
|
||||
if(!input_plate)
|
||||
CRASH("Didn't find an input plate.")
|
||||
return
|
||||
|
||||
/obj/machinery/gibber/autogibber/CollidedWith(atom/movable/AM)
|
||||
if(!input_plate)
|
||||
return
|
||||
|
||||
if(ismob(AM))
|
||||
var/mob/M = AM
|
||||
|
||||
if(M.loc == input_plate)
|
||||
M.forceMove(src)
|
||||
M.gib()
|
||||
@@ -14,11 +14,19 @@
|
||||
anchored = FALSE
|
||||
use_power = NO_POWER_USE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
container_type = OPENCONTAINER
|
||||
max_integrity = 300
|
||||
var/list/product_types = list()
|
||||
var/dispense_flavour = ICECREAM_VANILLA
|
||||
var/flavour_name = "vanilla"
|
||||
container_type = OPENCONTAINER
|
||||
max_integrity = 300
|
||||
var/static/list/icecream_vat_reagents = list(
|
||||
"milk" = 5,
|
||||
"flour" = 5,
|
||||
"sugar" = 5,
|
||||
"ice" = 5,
|
||||
"cocoa" = 5,
|
||||
"berryjuice" = 5,
|
||||
"singulo" = 5)
|
||||
|
||||
/obj/machinery/icecream_vat/proc/get_ingredient_list(type)
|
||||
switch(type)
|
||||
@@ -52,19 +60,14 @@
|
||||
return "vanilla"
|
||||
|
||||
|
||||
/obj/machinery/icecream_vat/New()
|
||||
..()
|
||||
/obj/machinery/icecream_vat/Initialize()
|
||||
. = ..()
|
||||
while(product_types.len < 6)
|
||||
product_types.Add(5)
|
||||
create_reagents()
|
||||
reagents.set_reacting(FALSE)
|
||||
reagents.add_reagent("milk", 5)
|
||||
reagents.add_reagent("flour", 5)
|
||||
reagents.add_reagent("sugar", 5)
|
||||
reagents.add_reagent("ice", 5)
|
||||
reagents.add_reagent("cocoa", 5)
|
||||
reagents.add_reagent("berryjuice", 5)
|
||||
reagents.add_reagent("singulo", 5)
|
||||
for(var/reagent in icecream_vat_reagents)
|
||||
reagents.add_reagent(reagent, icecream_vat_reagents[reagent])
|
||||
|
||||
/obj/machinery/icecream_vat/attack_hand(mob/user)
|
||||
user.set_machine(src)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/weapon/circuitboard/machine/microwave
|
||||
var/operating = FALSE // Is it on?
|
||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||
var/broken = 0 // ={0,1,2} How broken is it???
|
||||
@@ -21,22 +22,9 @@
|
||||
* Initialising
|
||||
********************/
|
||||
|
||||
/obj/machinery/microwave/New()
|
||||
/obj/machinery/microwave/Initialize()
|
||||
. = ..()
|
||||
create_reagents(100)
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/microwave(null)
|
||||
B.apply_default_parts(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/microwave
|
||||
name = "Microwave (Machine Board)"
|
||||
build_path = /obj/machinery/microwave
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/stack/sheet/glass = 1)
|
||||
|
||||
/obj/machinery/microwave/RefreshParts()
|
||||
var/E
|
||||
|
||||
@@ -9,24 +9,11 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 50
|
||||
circuit = /obj/item/weapon/circuitboard/machine/monkey_recycler
|
||||
var/grinded = 0
|
||||
var/required_grind = 5
|
||||
var/cube_production = 1
|
||||
|
||||
|
||||
/obj/machinery/monkey_recycler/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/monkey_recycler(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/monkey_recycler
|
||||
name = "Monkey Recycler (Machine Board)"
|
||||
build_path = /obj/machinery/monkey_recycler
|
||||
origin_tech = "programming=1;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/machinery/monkey_recycler/RefreshParts()
|
||||
var/req_grind = 5
|
||||
var/cubes_made = 1
|
||||
|
||||
@@ -7,44 +7,15 @@
|
||||
layer = BELOW_OBJ_LAYER
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
var/broken = 0
|
||||
var/processing = FALSE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 50
|
||||
circuit = /obj/item/weapon/circuitboard/machine/processor
|
||||
var/broken = FALSE
|
||||
var/processing = FALSE
|
||||
var/rating_speed = 1
|
||||
var/rating_amount = 1
|
||||
|
||||
/obj/machinery/processor/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/processor(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(build_path == /obj/machinery/processor)
|
||||
name = "Slime Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor/slime
|
||||
to_chat(user, "<span class='notice'>Name protocols successfully updated.</span>")
|
||||
else
|
||||
name = "Food Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor
|
||||
to_chat(user, "<span class='notice'>Defaulting name protocols.</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/processor/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
rating_amount = B.rating
|
||||
@@ -300,11 +271,7 @@
|
||||
name = "Slime processor"
|
||||
desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating."
|
||||
|
||||
/obj/machinery/processor/slime/New()
|
||||
..()
|
||||
/obj/machinery/processor/slime/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/processor/slime(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/processor/slime
|
||||
name = "Slime Processor (Machine Board)"
|
||||
build_path = /obj/machinery/processor/slime
|
||||
B.apply_default_parts(src)
|
||||
@@ -12,13 +12,14 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/weapon/circuitboard/machine/smartfridge
|
||||
var/max_n_of_items = 1500
|
||||
var/icon_on = "smartfridge"
|
||||
var/icon_off = "smartfridge-off"
|
||||
var/list/initial_contents
|
||||
|
||||
/obj/machinery/smartfridge/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
create_reagents()
|
||||
reagents.set_reacting(FALSE)
|
||||
|
||||
@@ -30,40 +31,6 @@
|
||||
for(var/i in 1 to amount)
|
||||
load(new typekey(src))
|
||||
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/smartfridge(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge
|
||||
name = "Smartfridge (Machine Board)"
|
||||
build_path = /obj/machinery/smartfridge
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(/obj/item/weapon/stock_parts/matter_bin = 1)
|
||||
var/static/list/fridges = list(/obj/machinery/smartfridge = "plant produce",
|
||||
/obj/machinery/smartfridge/food = "food",
|
||||
/obj/machinery/smartfridge/drinks = "drinks",
|
||||
/obj/machinery/smartfridge/extract = "slimes",
|
||||
/obj/machinery/smartfridge/chemistry = "chems",
|
||||
/obj/machinery/smartfridge/chemistry/virology = "viruses",
|
||||
/obj/machinery/smartfridge/disks = "disks")
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/New(loc, new_type)
|
||||
if(new_type)
|
||||
build_path = new_type
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
var/position = fridges.Find(build_path, fridges)
|
||||
position = (position == fridges.len) ? 1 : (position + 1)
|
||||
build_path = fridges[position]
|
||||
to_chat(user, "<span class='notice'>You set the board to [fridges[build_path]].</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/smartfridge/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='info'>[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it.</span>")
|
||||
|
||||
/obj/machinery/smartfridge/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
max_n_of_items = 1500 * B.rating
|
||||
@@ -255,8 +222,8 @@
|
||||
icon_off = "drying_rack"
|
||||
var/drying = FALSE
|
||||
|
||||
/obj/machinery/smartfridge/drying_rack/New()
|
||||
..()
|
||||
/obj/machinery/smartfridge/drying_rack/Initialize()
|
||||
. = ..()
|
||||
if(component_parts && component_parts.len)
|
||||
component_parts.Cut()
|
||||
component_parts = null
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 40
|
||||
circuit = /obj/item/weapon/circuitboard/machine/biogenerator
|
||||
var/processing = FALSE
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker = null
|
||||
var/points = 0
|
||||
@@ -18,17 +19,13 @@
|
||||
var/list/show_categories = list("Food", "Botany Chemicals", "Leather and Cloth")
|
||||
var/list/timesFiveCategories = list("Food", "Botany Chemicals")
|
||||
|
||||
/obj/machinery/biogenerator/New()
|
||||
..()
|
||||
/obj/machinery/biogenerator/Initialize()
|
||||
. = ..()
|
||||
files = new /datum/research/biogenerator(src)
|
||||
create_reagents(1000)
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/biogenerator(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/machinery/biogenerator/Destroy()
|
||||
if(beaker)
|
||||
qdel(beaker)
|
||||
beaker = null
|
||||
QDEL_NULL(beaker)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/biogenerator/contents_explosion(severity, target)
|
||||
@@ -43,16 +40,6 @@
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/biogenerator
|
||||
name = "Biogenerator (Machine Board)"
|
||||
build_path = /obj/machinery/biogenerator
|
||||
origin_tech = "programming=2;biotech=3;materials=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/stack/cable_coil = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/machinery/biogenerator/RefreshParts()
|
||||
var/E = 0
|
||||
var/P = 0
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "dnamod"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/plantgenes
|
||||
|
||||
var/obj/item/seeds/seed
|
||||
var/obj/item/weapon/disk/plantgene/disk
|
||||
@@ -22,21 +23,6 @@
|
||||
var/min_wchance = 67
|
||||
var/min_wrate = 10
|
||||
|
||||
/obj/machinery/plantgenes/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/plantgenes(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/plantgenes
|
||||
name = "Plant DNA Manipulator (Machine Board)"
|
||||
build_path = /obj/machinery/plantgenes
|
||||
origin_tech = "programming=3;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1)
|
||||
|
||||
/obj/machinery/plantgenes/RefreshParts() // Comments represent the max you can set per tier, respectively. seeds.dm [219] clamps these for us but we don't want to mislead the viewer.
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
if(M.rating > 3)
|
||||
@@ -421,23 +407,9 @@
|
||||
seed.name = "experimental " + seed.name
|
||||
seed.icon_state = "seed-x"
|
||||
|
||||
|
||||
|
||||
// Gene modder for seed vault ship, built with high tech alien parts.
|
||||
/obj/machinery/plantgenes/seedvault/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/plantgenes/vault(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/plantgenes/vault
|
||||
name = "alien board (Plant DNA Manipulator)"
|
||||
icon_state = "abductor_mod"
|
||||
origin_tech = "programming=5;biotech=5"
|
||||
// It wasn't made by actual abductors race, so no abductor tech here.
|
||||
def_components = list(
|
||||
/obj/item/weapon/stock_parts/manipulator = /obj/item/weapon/stock_parts/manipulator/femto,
|
||||
/obj/item/weapon/stock_parts/micro_laser = /obj/item/weapon/stock_parts/micro_laser/quadultra,
|
||||
/obj/item/weapon/stock_parts/scanning_module = /obj/item/weapon/stock_parts/scanning_module/triphasic)
|
||||
/obj/machinery/plantgenes/seedvault
|
||||
circuit = /obj/item/weapon/circuitboard/machine/plantgenes/vault
|
||||
|
||||
/*
|
||||
* Plant DNA disk
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
anchored = TRUE
|
||||
pixel_y = 8
|
||||
unique_rename = 1
|
||||
circuit = /obj/item/weapon/circuitboard/machine/hydroponics
|
||||
var/waterlevel = 100 //The amount of water in the tray (max 100)
|
||||
var/maxwater = 100 //The maximum amount of water in the tray
|
||||
var/nutrilevel = 10 //The amount of nutrient in the tray (max 10)
|
||||
@@ -37,20 +38,6 @@
|
||||
icon = 'icons/obj/hydroponics/equipment.dmi'
|
||||
icon_state = "hydrotray3"
|
||||
|
||||
/obj/machinery/hydroponics/constructable/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/hydroponics(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/hydroponics
|
||||
name = "Hydroponics Tray (Machine Board)"
|
||||
build_path = /obj/machinery/hydroponics/constructable
|
||||
origin_tech = "programming=1;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/machinery/hydroponics/constructable/RefreshParts()
|
||||
var/tmp_capacity = 0
|
||||
for (var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
||||
|
||||
@@ -44,23 +44,11 @@
|
||||
icon_state = "sextractor"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/seed_extractor
|
||||
var/piles = list()
|
||||
var/max_seeds = 1000
|
||||
var/seed_multiplier = 1
|
||||
|
||||
/obj/machinery/seed_extractor/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/seed_extractor(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/seed_extractor
|
||||
name = "Seed Extractor (Machine Board)"
|
||||
build_path = /obj/machinery/seed_extractor
|
||||
origin_tech = "programming=1"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/machinery/seed_extractor/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||
max_seeds = 1000 * B.rating
|
||||
|
||||
@@ -193,8 +193,8 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums
|
||||
libcomp_menu[page] = ""
|
||||
libcomp_menu[page] += "<tr><td>[C.author]</td><td>[C.title]</td><td>[C.category]</td><td><A href='?src=\ref[src];targetid=[C.id]'>\[Order\]</A></td></tr>\n"
|
||||
|
||||
/obj/machinery/computer/libraryconsole/bookmanagement/New()
|
||||
..()
|
||||
/obj/machinery/computer/libraryconsole/bookmanagement/Initialize()
|
||||
. = ..()
|
||||
if(circuit)
|
||||
circuit.name = "Book Inventory Management Console (Machine Board)"
|
||||
circuit.build_path = /obj/machinery/computer/libraryconsole/bookmanagement
|
||||
|
||||
@@ -26,10 +26,9 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
var/obj/item/device/gps/internal/base/locator
|
||||
circuit = /obj/item/weapon/circuitboard/computer/auxillary_base
|
||||
|
||||
/obj/machinery/computer/auxillary_base/New(location, obj/item/weapon/circuitboard/computer/shuttle/C)
|
||||
..()
|
||||
locator = new /obj/item/device/gps/internal/base(src)
|
||||
|
||||
/obj/machinery/computer/auxillary_base/Initialize()
|
||||
. = ..()
|
||||
locator = new(src)
|
||||
|
||||
/obj/machinery/computer/auxillary_base/attack_hand(mob/user)
|
||||
if(..(user))
|
||||
|
||||
@@ -49,9 +49,9 @@
|
||||
|
||||
light_color = LIGHT_COLOR_PINK
|
||||
|
||||
/obj/machinery/computer/camera_advanced/base_construction/New()
|
||||
..()
|
||||
RCD = new /obj/item/weapon/construction/rcd/internal(src)
|
||||
/obj/machinery/computer/camera_advanced/base_construction/Initialize()
|
||||
. = ..()
|
||||
RCD = new(src)
|
||||
|
||||
/obj/machinery/computer/camera_advanced/base_construction/Initialize(mapload)
|
||||
..()
|
||||
|
||||
@@ -199,18 +199,9 @@
|
||||
max_n_of_items = 10
|
||||
pixel_y = -4
|
||||
flags = NODECONSTRUCT
|
||||
var/empty = FALSE
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/empty
|
||||
name = "dusty survival pod storage"
|
||||
desc = "A heated storage unit. This one's seen better days."
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/empty/Initialize(mapload)
|
||||
..(mapload, TRUE)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
|
||||
return isitem(O)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/Initialize(mapload, empty)
|
||||
/obj/machinery/smartfridge/survival_pod/Initialize(mapload)
|
||||
. = ..()
|
||||
if(empty)
|
||||
return
|
||||
@@ -224,6 +215,14 @@
|
||||
var/obj/item/device/instrument/guitar/G = new(src)
|
||||
load(G)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
|
||||
return isitem(O)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/empty
|
||||
name = "dusty survival pod storage"
|
||||
desc = "A heated storage unit. This one's seen better days."
|
||||
empty = TRUE
|
||||
|
||||
//Fans
|
||||
/obj/structure/fans
|
||||
icon = 'icons/obj/lavaland/survival_pod.dmi'
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
var/obj/item/device/radio/Radio //needed to send messages to sec radio
|
||||
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/New()
|
||||
..()
|
||||
/obj/machinery/mineral/labor_claim_console/Initialize()
|
||||
. = ..()
|
||||
Radio = new/obj/item/device/radio(src)
|
||||
Radio.listening = 0
|
||||
addtimer(CALLBACK(src, .proc/locate_stacking_machine), 7)
|
||||
Radio.listening = FALSE
|
||||
locate_stacking_machine()
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/card/id/prisoner))
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/machinery/mineral/input/New()
|
||||
/obj/machinery/mineral/input/Initialize()
|
||||
. = ..()
|
||||
icon_state = "blank"
|
||||
|
||||
/obj/machinery/mineral/output
|
||||
@@ -17,7 +18,8 @@
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/machinery/mineral/output/New()
|
||||
/obj/machinery/mineral/output/Initialize()
|
||||
. = ..()
|
||||
icon_state = "blank"
|
||||
|
||||
/obj/machinery/mineral
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
input_dir = NORTH
|
||||
output_dir = SOUTH
|
||||
req_access = list(ACCESS_MINERAL_STOREROOM)
|
||||
speed_process = 1
|
||||
circuit = /obj/item/weapon/circuitboard/machine/ore_redemption
|
||||
var/req_access_reclaim = ACCESS_MINING_STATION
|
||||
var/obj/item/weapon/card/id/inserted_id
|
||||
var/points = 0
|
||||
@@ -18,7 +20,6 @@
|
||||
var/sheet_per_ore = 1
|
||||
var/point_upgrade = 1
|
||||
var/list/ore_values = list(MAT_GLASS = 1, MAT_METAL = 1, MAT_PLASMA = 15, MAT_SILVER = 16, MAT_GOLD = 18, MAT_TITANIUM = 30, MAT_URANIUM = 30, MAT_DIAMOND = 50, MAT_BLUESPACE = 50, MAT_BANANIUM = 60)
|
||||
speed_process = 1
|
||||
var/message_sent = FALSE
|
||||
var/list/ore_buffer = list()
|
||||
var/datum/material_container/materials
|
||||
@@ -27,8 +28,6 @@
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/ore_redemption/B = new
|
||||
B.apply_default_parts(src)
|
||||
materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),INFINITY)
|
||||
files = new /datum/research/smelter(src)
|
||||
|
||||
@@ -37,17 +36,6 @@
|
||||
QDEL_NULL(files)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/ore_redemption
|
||||
name = "Ore Redemption (Machine Board)"
|
||||
build_path = /obj/machinery/mineral/ore_redemption
|
||||
origin_tech = "programming=1;engineering=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/device/assembly/igniter = 1)
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/RefreshParts()
|
||||
var/ore_pickup_rate_temp = 15
|
||||
var/point_upgrade_temp = 1
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
icon_state = "mining"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/mining_equipment_vendor
|
||||
var/obj/item/weapon/card/id/inserted_id
|
||||
var/list/prize_list = list( //if you add something to this, please, for the love of god, use tabs and not spaces.
|
||||
new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10),
|
||||
@@ -67,19 +68,6 @@
|
||||
src.equipment_path = path
|
||||
src.cost = cost
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/mining_equipment_vendor(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/mining_equipment_vendor
|
||||
name = "Mining Equipment Vendor (Machine Board)"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor
|
||||
origin_tech = "programming=1;engineering=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 3)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/power_change()
|
||||
..()
|
||||
update_icon()
|
||||
@@ -207,9 +195,10 @@
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/golem
|
||||
name = "golem ship equipment vendor"
|
||||
circuit = /obj/item/weapon/circuitboard/machine/mining_equipment_vendor/golem
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/golem/New()
|
||||
..()
|
||||
/obj/machinery/mineral/equipment_vendor/golem/Initialize()
|
||||
. = ..()
|
||||
desc += "\nIt seems a few selections have been added."
|
||||
prize_list += list(
|
||||
new /datum/data/mining_equipment("Extra Id", /obj/item/weapon/card/id/mining, 250),
|
||||
@@ -223,14 +212,6 @@
|
||||
new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/weapon/bedsheet/rd/royal_cape, 500)
|
||||
)
|
||||
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/mining_equipment_vendor/golem(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/mining_equipment_vendor/golem
|
||||
name = "Golem Ship Equipment Vendor (Machine Board)"
|
||||
build_path = /obj/machinery/mineral/equipment_vendor/golem
|
||||
|
||||
|
||||
/**********************Mining Equipment Vendor Items**************************/
|
||||
|
||||
/**********************Mining Equipment Voucher**********************/
|
||||
|
||||
@@ -15,18 +15,16 @@
|
||||
speed_process = 1
|
||||
|
||||
|
||||
/obj/machinery/mineral/mint/New()
|
||||
..()
|
||||
/obj/machinery/mineral/mint/Initialize()
|
||||
. = ..()
|
||||
materials = new /datum/material_container(src,
|
||||
list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM),
|
||||
max_amt = MINERAL_MATERIAL_AMOUNT*50)
|
||||
|
||||
/obj/machinery/mineral/mint/Destroy()
|
||||
qdel(materials)
|
||||
materials = null
|
||||
QDEL_NULL(materials)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/mineral/mint/process()
|
||||
var/turf/T = get_step(src, input_dir)
|
||||
if(!T)
|
||||
|
||||
@@ -262,14 +262,14 @@ Difficulty: Very Hard
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/smartfridge/black_box/New()
|
||||
/obj/machinery/smartfridge/black_box/Initialize()
|
||||
. = ..()
|
||||
var/static/obj/machinery/smartfridge/black_box/current
|
||||
if(current && current != src)
|
||||
qdel(src, force=TRUE)
|
||||
return
|
||||
current = src
|
||||
ReadMemory()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/smartfridge/black_box/process()
|
||||
..()
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon_state = "bus"
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/ntnet_relay
|
||||
var/datum/ntnet/NTNet = null // This is mostly for backwards reference and to allow varedit modifications from ingame.
|
||||
var/enabled = 1 // Set to 0 if the relay was turned off
|
||||
var/dos_failure = 0 // Set to 1 if the relay failed due to (D)DoS attack
|
||||
@@ -95,18 +96,16 @@
|
||||
/obj/machinery/ntnet_relay/attack_hand(mob/living/user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/ntnet_relay/New()
|
||||
/obj/machinery/ntnet_relay/Initialize()
|
||||
uid = gl_uid
|
||||
gl_uid++
|
||||
component_parts = list()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/ntnet_relay(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
if(GLOB.ntnet_global)
|
||||
GLOB.ntnet_global.relays.Add(src)
|
||||
NTNet = GLOB.ntnet_global
|
||||
GLOB.ntnet_global.add_log("New quantum relay activated. Current amount of linked relays: [NTNet.relays.len]")
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
/obj/machinery/ntnet_relay/Destroy()
|
||||
if(GLOB.ntnet_global)
|
||||
@@ -118,12 +117,4 @@
|
||||
D.target = null
|
||||
D.error = "Connection to quantum relay severed"
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/ntnet_relay
|
||||
name = "NTNet Relay (Machine Board)"
|
||||
build_path = /obj/machinery/ntnet_relay
|
||||
origin_tech = "programming=3;bluespace=3;magnets=2"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
||||
return ..()
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -229,6 +229,7 @@
|
||||
amount = 5
|
||||
recharge_delay = 30
|
||||
dispensable_reagents = list()
|
||||
circuit = /obj/item/weapon/circuitboard/machine/chem_dispenser
|
||||
var/list/dispensable_reagent_tiers = list(
|
||||
list(
|
||||
"hydrogen",
|
||||
@@ -272,23 +273,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
/obj/machinery/chem_dispenser/constructable/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_dispenser(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_dispenser
|
||||
name = "Portable Chem Dispenser (Machine Board)"
|
||||
build_path = /obj/machinery/chem_dispenser/constructable
|
||||
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
def_components = list(/obj/item/weapon/stock_parts/cell = /obj/item/weapon/stock_parts/cell/high)
|
||||
|
||||
/obj/machinery/chem_dispenser/constructable/RefreshParts()
|
||||
var/time = 0
|
||||
var/i
|
||||
|
||||
@@ -7,24 +7,12 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 40
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
circuit = /obj/item/weapon/circuitboard/machine/chem_heater
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/target_temperature = 300
|
||||
var/heater_coefficient = 0.10
|
||||
var/on = FALSE
|
||||
|
||||
/obj/machinery/chem_heater/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_heater(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_heater
|
||||
name = "Chemical Heater (Machine Board)"
|
||||
build_path = /obj/machinery/chem_heater
|
||||
origin_tech = "programming=2;engineering=2;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/machinery/chem_heater/RefreshParts()
|
||||
heater_coefficient = 0.10
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
desc = "Used to separate chemicals and distribute them in a variety of forms."
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "mixer0"
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 20
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
circuit = /obj/item/weapon/circuitboard/machine/chem_master
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/obj/item/weapon/storage/pill_bottle/bottle = null
|
||||
var/mode = 1
|
||||
@@ -15,39 +17,12 @@
|
||||
var/screen = "home"
|
||||
var/analyzeVars[0]
|
||||
var/useramount = 30 // Last used amount
|
||||
layer = BELOW_OBJ_LAYER
|
||||
|
||||
/obj/machinery/chem_master/Initialize()
|
||||
create_reagents(100)
|
||||
add_overlay("waitlight")
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_master(null)
|
||||
B.apply_default_parts(src)
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master
|
||||
name = "ChemMaster 3000 (Machine Board)"
|
||||
build_path = /obj/machinery/chem_master
|
||||
origin_tech = "materials=3;programming=2;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
var/new_name = "ChemMaster"
|
||||
var/new_path = /obj/machinery/chem_master
|
||||
|
||||
if(build_path == /obj/machinery/chem_master)
|
||||
new_name = "CondiMaster"
|
||||
new_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
build_path = new_path
|
||||
name = "[new_name] 3000 (Machine Board)"
|
||||
to_chat(user, "<span class='notice'>You change the circuit board setting to \"[new_name]\".</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/chem_master/RefreshParts()
|
||||
reagents.maximum_volume = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/beaker/B in component_parts)
|
||||
@@ -360,7 +335,3 @@
|
||||
name = "CondiMaster 3000"
|
||||
desc = "Used to create condiments and other cooking supplies."
|
||||
condi = 1
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master/condi
|
||||
name = "CondiMaster 3000 (Machine Board)"
|
||||
build_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
@@ -9,6 +9,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
|
||||
desc = "Manufactures circuit boards for the construction of machines."
|
||||
icon_state = "circuit_imprinter"
|
||||
container_type = OPENCONTAINER
|
||||
circuit = /obj/item/weapon/circuitboard/machine/circuit_imprinter
|
||||
|
||||
var/datum/material_container/materials
|
||||
var/efficiency_coeff
|
||||
@@ -28,24 +29,13 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
|
||||
)
|
||||
|
||||
/obj/machinery/r_n_d/circuit_imprinter/Initialize()
|
||||
. = ..()
|
||||
materials = new(src, list(MAT_GLASS, MAT_GOLD, MAT_DIAMOND, MAT_METAL, MAT_BLUESPACE))
|
||||
create_reagents(0)
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/circuit_imprinter(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/machinery/r_n_d/circuit_imprinter/Destroy()
|
||||
qdel(materials)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/circuit_imprinter
|
||||
name = "Circuit Imprinter (Machine Board)"
|
||||
build_path = /obj/machinery/r_n_d/circuit_imprinter
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2)
|
||||
/obj/machinery/r_n_d/circuit_imprinter/Destroy()
|
||||
QDEL_NULL(materials)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/r_n_d/circuit_imprinter/RefreshParts()
|
||||
reagents.maximum_volume = 0
|
||||
|
||||
@@ -11,22 +11,9 @@ Note: Must be placed within 3 tiles of the R&D Console
|
||||
name = "destructive analyzer"
|
||||
desc = "Learn science by destroying things!"
|
||||
icon_state = "d_analyzer"
|
||||
circuit = /obj/item/weapon/circuitboard/machine/destructive_analyzer
|
||||
var/decon_mod = 0
|
||||
|
||||
/obj/machinery/r_n_d/destructive_analyzer/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/destructive_analyzer(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/destructive_analyzer
|
||||
name = "Destructive Analyzer (Machine Board)"
|
||||
build_path = /obj/machinery/r_n_d/destructive_analyzer
|
||||
origin_tech = "magnets=2;engineering=2;programming=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||
|
||||
/obj/machinery/r_n_d/destructive_analyzer/RefreshParts()
|
||||
var/T = 0
|
||||
for(var/obj/item/weapon/stock_parts/S in component_parts)
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
use_power = IDLE_POWER_USE
|
||||
circuit = /obj/item/weapon/circuitboard/machine/experimentor
|
||||
var/recentlyExperimented = 0
|
||||
var/mob/trackedIan
|
||||
var/mob/trackedRuntime
|
||||
@@ -84,22 +85,11 @@
|
||||
|
||||
/obj/machinery/r_n_d/experimentor/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/experimentor(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
trackedIan = locate(/mob/living/simple_animal/pet/dog/corgi/Ian) in GLOB.mob_list
|
||||
trackedRuntime = locate(/mob/living/simple_animal/pet/cat/Runtime) in GLOB.mob_list
|
||||
SetTypeReactions()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/experimentor
|
||||
name = "E.X.P.E.R.I-MENTOR (Machine Board)"
|
||||
build_path = /obj/machinery/r_n_d/experimentor
|
||||
origin_tech = "magnets=1;engineering=1;programming=1;biotech=1;bluespace=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/weapon/stock_parts/micro_laser = 2)
|
||||
|
||||
/obj/machinery/r_n_d/experimentor/RefreshParts()
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
if(resetTime > 0 && (resetTime - M.rating) >= 1)
|
||||
|
||||
@@ -12,6 +12,7 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
desc = "Converts raw materials into useful objects."
|
||||
icon_state = "protolathe"
|
||||
container_type = OPENCONTAINER
|
||||
circuit = /obj/item/weapon/circuitboard/machine/protolathe
|
||||
|
||||
var/datum/material_container/materials
|
||||
var/efficiency_coeff
|
||||
@@ -32,23 +33,12 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
|
||||
|
||||
/obj/machinery/r_n_d/protolathe/Initialize()
|
||||
. = ..()
|
||||
create_reagents(0)
|
||||
materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE))
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/protolathe(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/protolathe
|
||||
name = "Protolathe (Machine Board)"
|
||||
build_path = /obj/machinery/r_n_d/protolathe
|
||||
origin_tech = "engineering=2;programming=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/r_n_d/protolathe/Destroy()
|
||||
qdel(materials)
|
||||
QDEL_NULL(materials)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/r_n_d/protolathe/RefreshParts()
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
wires = new /datum/wires/r_n_d(src)
|
||||
|
||||
/obj/machinery/r_n_d/Destroy()
|
||||
qdel(wires)
|
||||
wires = null
|
||||
QDEL_NULL(wires)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/r_n_d/proc/shock(mob/user, prb)
|
||||
|
||||
@@ -19,14 +19,6 @@
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/rdserver(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/rdserver
|
||||
name = "R&D Server (Machine Board)"
|
||||
build_path = /obj/machinery/r_n_d/server
|
||||
origin_tech = "programming=3"
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1)
|
||||
|
||||
/obj/machinery/r_n_d/server/Destroy()
|
||||
griefProtection()
|
||||
return ..()
|
||||
|
||||
@@ -24,8 +24,8 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
|
||||
|
||||
/obj/machinery/keycard_auth/Destroy()
|
||||
GLOB.keycard_events.clearEvent("triggerEvent", ev)
|
||||
qdel(ev)
|
||||
. = ..()
|
||||
QDEL_NULL(ev)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/keycard_auth/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
|
||||
|
||||
@@ -10,9 +10,13 @@
|
||||
var/admin_controlled
|
||||
var/no_destination_swap = 0
|
||||
|
||||
/obj/machinery/computer/shuttle/Initialize(mapload, obj/item/weapon/circuitboard/computer/shuttle/C)
|
||||
. = ..()
|
||||
if(istype(C))
|
||||
/obj/machinery/computer/shuttle/Initialize()
|
||||
..()
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/machinery/computer/shuttle/LateInitialize()
|
||||
if(istype(circuit, /obj/item/weapon/circuitboard/computer/shuttle))
|
||||
var/obj/item/weapon/circuitboard/computer/shuttle/C = circuit
|
||||
possible_destinations = C.possible_destinations
|
||||
shuttleId = C.shuttleId
|
||||
|
||||
|
||||
@@ -33,14 +33,10 @@
|
||||
add_overlay(hologram_projection)
|
||||
add_overlay(hologram_ship)
|
||||
|
||||
/obj/machinery/shuttle_manipulator/ui_interact(mob/user, ui_key = "main", \
|
||||
datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, \
|
||||
datum/ui_state/state = GLOB.admin_state)
|
||||
|
||||
/obj/machinery/shuttle_manipulator/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.admin_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "shuttle_manipulator", name, 800, 600, \
|
||||
master_ui, state)
|
||||
ui = new(user, src, ui_key, "shuttle_manipulator", name, 800, 600, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/proc/shuttlemode2str(mode)
|
||||
@@ -62,7 +58,7 @@
|
||||
if(SHUTTLE_ENDGAME)
|
||||
. = "endgame"
|
||||
if(!.)
|
||||
throw EXCEPTION("shuttlemode2str(): invalid mode [mode]")
|
||||
CRASH("shuttlemode2str(): invalid mode [mode]")
|
||||
|
||||
|
||||
/obj/machinery/shuttle_manipulator/ui_data(mob/user)
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
icon = 'icons/obj/machines/magic_emitter.dmi'
|
||||
icon_state = "wabbajack_statue"
|
||||
icon_state_on = "wabbajack_statue_on"
|
||||
active = FALSE
|
||||
var/list/active_tables = list()
|
||||
var/tables_required = 2
|
||||
active = FALSE
|
||||
|
||||
/obj/machinery/power/emitter/energycannon/magical/Initialize()
|
||||
. = ..()
|
||||
|
||||
@@ -25,20 +25,6 @@
|
||||
board.moved = TRUE
|
||||
..()
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/syndicate_shuttle
|
||||
name = "Syndicate Shuttle (Computer Board)"
|
||||
build_path = /obj/machinery/computer/shuttle/syndicate
|
||||
var/challenge = FALSE
|
||||
var/moved = FALSE
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/syndicate_shuttle/Initialize()
|
||||
. = ..()
|
||||
GLOB.syndicate_shuttle_boards += src
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/syndicate_shuttle/Destroy()
|
||||
GLOB.syndicate_shuttle_boards -= src
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/shuttle/syndicate/drop_pod
|
||||
name = "syndicate assault pod control"
|
||||
icon = 'icons/obj/terminals.dmi'
|
||||
|
||||
@@ -206,35 +206,6 @@
|
||||
/obj/structure/filler/ex_act()
|
||||
return
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/back
|
||||
name = "Bluespace Artillery Generator (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/back
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor/quadratic = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/middle
|
||||
name = "Bluespace Artillery Fusor (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/middle
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/ore/bluespace_crystal = 20,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/front
|
||||
name = "Bluespace Artillery Bore (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/front
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/manipulator/femto = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/bsa_control
|
||||
name = "Bluespace Artillery Controls (Computer Board)"
|
||||
build_path = /obj/machinery/computer/bsa_control
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
|
||||
/obj/machinery/computer/bsa_control
|
||||
name = "bluespace artillery control"
|
||||
var/obj/machinery/bsa/full/cannon
|
||||
|
||||
@@ -118,16 +118,6 @@
|
||||
dna[H.dna.uni_identity] = 1
|
||||
to_chat(user, "<span class='notice'>Humanoid data added to local storage.<span>")
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/dna_vault
|
||||
name = "DNA Vault (Machine Board)"
|
||||
build_path = /obj/machinery/dna_vault
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor/super = 5,
|
||||
/obj/item/weapon/stock_parts/manipulator/pico = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/machinery/dna_vault
|
||||
name = "DNA Vault"
|
||||
desc = "Break glass in case of apocalypse."
|
||||
|
||||
@@ -36,15 +36,10 @@
|
||||
coverage |= view(A.kill_range,A)
|
||||
return coverage.len
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/computer/sat_control
|
||||
name = "Satellite Network Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/sat_control
|
||||
origin_tech = "engineering=3"
|
||||
|
||||
/obj/machinery/computer/sat_control
|
||||
name = "satellite control"
|
||||
desc = "Used to control the satellite network."
|
||||
circuit = /obj/item/weapon/circuitboard/machine/computer/sat_control
|
||||
circuit = /obj/item/weapon/circuitboard/computer/sat_control
|
||||
var/notice
|
||||
|
||||
/obj/machinery/computer/sat_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
|
||||
/obj/machinery/computer/stockexchange/New()
|
||||
..()
|
||||
/obj/machinery/computer/stockexchange/Initialize()
|
||||
. = ..()
|
||||
logged_in = "[station_name()] Cargo Department"
|
||||
|
||||
/obj/machinery/computer/stockexchange/proc/balance()
|
||||
|
||||
Reference in New Issue
Block a user