mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 01:57:01 +00:00
Removes a great amount of machinery copypasta with circuitboards.
Also changes New -> Initialize in most of them. renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm` renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm` Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`
This commit is contained in:
@@ -13,8 +13,8 @@
|
|||||||
//TODO : replace with presets or spectrum
|
//TODO : replace with presets or spectrum
|
||||||
return rgb(rand(0,255),rand(0,255),rand(0,255))
|
return rgb(rand(0,255),rand(0,255),rand(0,255))
|
||||||
|
|
||||||
/obj/machinery/abductor/gland_dispenser/New()
|
/obj/machinery/abductor/gland_dispenser/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
gland_types = subtypesof(/obj/item/organ/heart/gland)
|
gland_types = subtypesof(/obj/item/organ/heart/gland)
|
||||||
gland_types = shuffle(gland_types)
|
gland_types = shuffle(gland_types)
|
||||||
gland_colors = new/list(gland_types.len)
|
gland_colors = new/list(gland_types.len)
|
||||||
|
|||||||
@@ -86,8 +86,7 @@
|
|||||||
var/obj/machinery/nuclearbomb/existing = locate("syndienuke") in GLOB.nuke_list
|
var/obj/machinery/nuclearbomb/existing = locate("syndienuke") in GLOB.nuke_list
|
||||||
if(existing)
|
if(existing)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
throw EXCEPTION("Attempted to spawn a syndicate nuke while one already exists at [existing.loc.x],[existing.loc.y],[existing.loc.z]")
|
CRASH("Attempted to spawn a syndicate nuke while one already exists at [existing.loc.x],[existing.loc.y],[existing.loc.z]")
|
||||||
return 0
|
|
||||||
tag = "syndienuke"
|
tag = "syndienuke"
|
||||||
|
|
||||||
/obj/machinery/nuclearbomb/attackby(obj/item/I, mob/user, params)
|
/obj/machinery/nuclearbomb/attackby(obj/item/I, mob/user, params)
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
idle_power_usage = 0
|
idle_power_usage = 0
|
||||||
var/obj/item/device/radio/beacon/Beacon
|
var/obj/item/device/radio/beacon/Beacon
|
||||||
|
|
||||||
/obj/machinery/bluespace_beacon/New()
|
/obj/machinery/bluespace_beacon/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
Beacon = new /obj/item/device/radio/beacon
|
Beacon = new /obj/item/device/radio/beacon
|
||||||
Beacon.invisibility = INVISIBILITY_MAXIMUM
|
Beacon.invisibility = INVISIBILITY_MAXIMUM
|
||||||
@@ -21,9 +21,7 @@
|
|||||||
hide(T.intact)
|
hide(T.intact)
|
||||||
|
|
||||||
/obj/machinery/bluespace_beacon/Destroy()
|
/obj/machinery/bluespace_beacon/Destroy()
|
||||||
if(Beacon)
|
QDEL_NULL(Beacon)
|
||||||
qdel(Beacon)
|
|
||||||
Beacon = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
// update the invisibility and icon
|
// update the invisibility and icon
|
||||||
|
|||||||
@@ -27,12 +27,16 @@
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/pdapainter/New()
|
/obj/machinery/pdapainter/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/blocked = list(/obj/item/device/pda/ai/pai, /obj/item/device/pda/ai, /obj/item/device/pda/heads,
|
var/list/blocked = list(
|
||||||
/obj/item/device/pda/clear, /obj/item/device/pda/syndicate)
|
/obj/item/device/pda/ai/pai,
|
||||||
|
/obj/item/device/pda/ai,
|
||||||
|
/obj/item/device/pda/heads,
|
||||||
|
/obj/item/device/pda/clear,
|
||||||
|
/obj/item/device/pda/syndicate)
|
||||||
|
|
||||||
for(var/P in typesof(/obj/item/device/pda)-blocked)
|
for(var/P in typesof(/obj/item/device/pda) - blocked)
|
||||||
var/obj/item/device/pda/D = new P
|
var/obj/item/device/pda/D = new P
|
||||||
|
|
||||||
//D.name = "PDA Style [colorlist.len+1]" //Gotta set the name, otherwise it all comes up as "PDA"
|
//D.name = "PDA Style [colorlist.len+1]" //Gotta set the name, otherwise it all comes up as "PDA"
|
||||||
@@ -41,9 +45,7 @@
|
|||||||
src.colorlist += D
|
src.colorlist += D
|
||||||
|
|
||||||
/obj/machinery/pdapainter/Destroy()
|
/obj/machinery/pdapainter/Destroy()
|
||||||
if(storedpda)
|
QDEL_NULL(storedpda)
|
||||||
qdel(storedpda)
|
|
||||||
storedpda = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/pdapainter/on_deconstruction()
|
/obj/machinery/pdapainter/on_deconstruction()
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
density = FALSE
|
density = FALSE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
state_open = TRUE
|
state_open = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/sleeper
|
||||||
var/efficiency = 1
|
var/efficiency = 1
|
||||||
var/min_health = -25
|
var/min_health = -25
|
||||||
var/list/available_chems
|
var/list/available_chems
|
||||||
@@ -26,24 +27,11 @@
|
|||||||
var/list/chem_buttons //Used when emagged to scramble which chem is used, eg: antitoxin -> morphine
|
var/list/chem_buttons //Used when emagged to scramble which chem is used, eg: antitoxin -> morphine
|
||||||
var/scrambled_chems = FALSE //Are chem buttons scrambled? used as a warning
|
var/scrambled_chems = FALSE //Are chem buttons scrambled? used as a warning
|
||||||
|
|
||||||
/obj/machinery/sleeper/New()
|
/obj/machinery/sleeper/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/sleeper(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
update_icon()
|
update_icon()
|
||||||
reset_chem_buttons()
|
reset_chem_buttons()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/sleeper
|
|
||||||
name = "Sleeper (Machine Board)"
|
|
||||||
build_path = /obj/machinery/sleeper
|
|
||||||
origin_tech = "programming=3;biotech=2;engineering=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/item/stack/sheet/glass = 1)
|
|
||||||
|
|
||||||
/obj/machinery/sleeper/RefreshParts()
|
/obj/machinery/sleeper/RefreshParts()
|
||||||
var/E
|
var/E
|
||||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||||
|
|||||||
@@ -123,12 +123,18 @@ Class Procs:
|
|||||||
var/interact_open = FALSE // Can the machine be interacted with when in maint/when the panel is open.
|
var/interact_open = FALSE // Can the machine be interacted with when in maint/when the panel is open.
|
||||||
var/interact_offline = 0 // Can the machine be interacted with while de-powered.
|
var/interact_offline = 0 // Can the machine be interacted with while de-powered.
|
||||||
var/speed_process = 0 // Process as fast as possible?
|
var/speed_process = 0 // Process as fast as possible?
|
||||||
|
var/obj/item/weapon/circuitboard/circuit // Circuit to be created and inserted when the machinery is created
|
||||||
|
|
||||||
/obj/machinery/Initialize()
|
/obj/machinery/Initialize()
|
||||||
if(!armor)
|
if(!armor)
|
||||||
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
||||||
. = ..()
|
. = ..()
|
||||||
GLOB.machines += src
|
GLOB.machines += src
|
||||||
|
|
||||||
|
if(ispath(circuit, /obj/item/weapon/circuitboard))
|
||||||
|
circuit = new circuit
|
||||||
|
circuit.apply_default_parts(src)
|
||||||
|
|
||||||
if(!speed_process)
|
if(!speed_process)
|
||||||
START_PROCESSING(SSmachines, src)
|
START_PROCESSING(SSmachines, src)
|
||||||
else
|
else
|
||||||
@@ -7,7 +7,6 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
|||||||
desc = "An automated announcement system that handles minor announcements over the radio."
|
desc = "An automated announcement system that handles minor announcements over the radio."
|
||||||
icon = 'icons/obj/machines/telecomms.dmi'
|
icon = 'icons/obj/machines/telecomms.dmi'
|
||||||
icon_state = "AAS_On"
|
icon_state = "AAS_On"
|
||||||
var/obj/item/device/radio/headset/radio
|
|
||||||
|
|
||||||
verb_say = "coldly states"
|
verb_say = "coldly states"
|
||||||
verb_ask = "queries"
|
verb_ask = "queries"
|
||||||
@@ -16,6 +15,9 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
|||||||
idle_power_usage = 20
|
idle_power_usage = 20
|
||||||
active_power_usage = 50
|
active_power_usage = 50
|
||||||
|
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/announcement_system
|
||||||
|
|
||||||
|
var/obj/item/device/radio/headset/radio
|
||||||
var/arrival = "%PERSON has signed up as %RANK"
|
var/arrival = "%PERSON has signed up as %RANK"
|
||||||
var/arrivalToggle = 1
|
var/arrivalToggle = 1
|
||||||
var/newhead = "%PERSON, %RANK, is the department head."
|
var/newhead = "%PERSON, %RANK, is the department head."
|
||||||
@@ -25,24 +27,11 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
|||||||
var/pinklight = "Light_Pink"
|
var/pinklight = "Light_Pink"
|
||||||
var/errorlight = "Error_Red"
|
var/errorlight = "Error_Red"
|
||||||
|
|
||||||
/obj/machinery/announcement_system/New()
|
/obj/machinery/announcement_system/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
GLOB.announcement_systems += src
|
GLOB.announcement_systems += src
|
||||||
radio = new /obj/item/device/radio/headset/ai(src)
|
|
||||||
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/announcement_system(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/announcement_system
|
|
||||||
name = "Announcement System (Machine Board)"
|
|
||||||
build_path = /obj/machinery/announcement_system
|
|
||||||
origin_tech = "programming=3;bluespace=3;magnets=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
|
||||||
|
|
||||||
/obj/machinery/announcement_system/update_icon()
|
/obj/machinery/announcement_system/update_icon()
|
||||||
if(is_operational())
|
if(is_operational())
|
||||||
icon_state = (panel_open ? "AAS_On_Open" : "AAS_On")
|
icon_state = (panel_open ? "AAS_On_Open" : "AAS_On")
|
||||||
|
|||||||
@@ -7,9 +7,13 @@
|
|||||||
desc = "It produces items using metal and glass."
|
desc = "It produces items using metal and glass."
|
||||||
icon_state = "autolathe"
|
icon_state = "autolathe"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
|
anchored = TRUE
|
||||||
|
use_power = IDLE_POWER_USE
|
||||||
|
idle_power_usage = 10
|
||||||
|
active_power_usage = 100
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/autolathe
|
||||||
|
|
||||||
var/operating = FALSE
|
var/operating = FALSE
|
||||||
anchored = TRUE
|
|
||||||
var/list/L = list()
|
var/list/L = list()
|
||||||
var/list/LL = list()
|
var/list/LL = list()
|
||||||
var/hacked = FALSE
|
var/hacked = FALSE
|
||||||
@@ -18,9 +22,7 @@
|
|||||||
var/hack_wire
|
var/hack_wire
|
||||||
var/disable_wire
|
var/disable_wire
|
||||||
var/shock_wire
|
var/shock_wire
|
||||||
use_power = IDLE_POWER_USE
|
|
||||||
idle_power_usage = 10
|
|
||||||
active_power_usage = 100
|
|
||||||
var/busy = FALSE
|
var/busy = FALSE
|
||||||
var/prod_coeff = 1
|
var/prod_coeff = 1
|
||||||
|
|
||||||
@@ -45,30 +47,16 @@
|
|||||||
"Imported"
|
"Imported"
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/machinery/autolathe/New()
|
/obj/machinery/autolathe/Initialize()
|
||||||
..()
|
|
||||||
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS))
|
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS))
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/autolathe(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
wires = new /datum/wires/autolathe(src)
|
wires = new /datum/wires/autolathe(src)
|
||||||
files = new /datum/research/autolathe(src)
|
files = new /datum/research/autolathe(src)
|
||||||
matching_designs = list()
|
matching_designs = list()
|
||||||
|
return ..()
|
||||||
/obj/item/weapon/circuitboard/machine/autolathe
|
|
||||||
name = "Autolathe (Machine Board)"
|
|
||||||
build_path = /obj/machinery/autolathe
|
|
||||||
origin_tech = "engineering=2;programming=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/matter_bin = 3,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
|
||||||
|
|
||||||
/obj/machinery/autolathe/Destroy()
|
/obj/machinery/autolathe/Destroy()
|
||||||
qdel(wires)
|
QDEL_NULL(wires)
|
||||||
wires = null
|
QDEL_NULL(materials)
|
||||||
qdel(materials)
|
|
||||||
materials = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/autolathe/interact(mob/user)
|
/obj/machinery/autolathe/interact(mob/user)
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
var/radio_channel = "Common"
|
var/radio_channel = "Common"
|
||||||
var/minimum_time_between_warnings = 400
|
var/minimum_time_between_warnings = 400
|
||||||
|
|
||||||
/obj/machinery/computer/bank_machine/Initialize(mapload)
|
/obj/machinery/computer/bank_machine/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
radio = new(src)
|
radio = new(src)
|
||||||
radio.subspace_transmission = TRUE
|
radio.subspace_transmission = TRUE
|
||||||
radio.canhear_range = 0
|
radio.canhear_range = 0
|
||||||
|
|||||||
@@ -17,6 +17,8 @@
|
|||||||
icon_state = "pod_0"
|
icon_state = "pod_0"
|
||||||
req_access = list(ACCESS_CLONING) //FOR PREMATURE UNLOCKING.
|
req_access = list(ACCESS_CLONING) //FOR PREMATURE UNLOCKING.
|
||||||
verb_say = "states"
|
verb_say = "states"
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/clonepod
|
||||||
|
|
||||||
var/heal_level //The clone is released once its health reaches this level.
|
var/heal_level //The clone is released once its health reaches this level.
|
||||||
var/obj/machinery/computer/cloning/connected = null //So we remember the connected clone machine.
|
var/obj/machinery/computer/cloning/connected = null //So we remember the connected clone machine.
|
||||||
var/mess = FALSE //Need to clean out it if it's full of exploded clone.
|
var/mess = FALSE //Need to clean out it if it's full of exploded clone.
|
||||||
@@ -46,8 +48,6 @@
|
|||||||
|
|
||||||
/obj/machinery/clonepod/Initialize()
|
/obj/machinery/clonepod/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/clonepod(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
countdown = new(src)
|
countdown = new(src)
|
||||||
|
|
||||||
@@ -59,16 +59,11 @@
|
|||||||
|
|
||||||
/obj/machinery/clonepod/Destroy()
|
/obj/machinery/clonepod/Destroy()
|
||||||
go_out()
|
go_out()
|
||||||
qdel(radio)
|
QDEL_NULL(radio)
|
||||||
radio = null
|
QDEL_NULL(countdown)
|
||||||
qdel(countdown)
|
|
||||||
countdown = null
|
|
||||||
if(connected)
|
if(connected)
|
||||||
connected.DetachCloner(src)
|
connected.DetachCloner(src)
|
||||||
for(var/i in unattached_flesh)
|
QDEL_LIST(unattached_flesh)
|
||||||
qdel(i)
|
|
||||||
LAZYCLEARLIST(unattached_flesh)
|
|
||||||
unattached_flesh = null
|
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/clonepod/RefreshParts()
|
/obj/machinery/clonepod/RefreshParts()
|
||||||
@@ -84,16 +79,6 @@
|
|||||||
if(heal_level > 100)
|
if(heal_level > 100)
|
||||||
heal_level = 100
|
heal_level = 100
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/clonepod
|
|
||||||
name = "Clone Pod (Machine Board)"
|
|
||||||
build_path = /obj/machinery/clonepod
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/scanning_module = 2,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/sheet/glass = 1)
|
|
||||||
|
|
||||||
//The return of data disks?? Just for transferring between genetics machine/cloning machine.
|
//The return of data disks?? Just for transferring between genetics machine/cloning machine.
|
||||||
//TO-DO: Make the genetics machine accept them.
|
//TO-DO: Make the genetics machine accept them.
|
||||||
/obj/item/weapon/disk/data
|
/obj/item/weapon/disk/data
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
icon_screen = "crew"
|
icon_screen = "crew"
|
||||||
icon_keyboard = "med_key"
|
icon_keyboard = "med_key"
|
||||||
circuit = /obj/item/weapon/circuitboard/computer/operating
|
circuit = /obj/item/weapon/circuitboard/computer/operating
|
||||||
var/mob/living/carbon/human/patient = null
|
var/mob/living/carbon/human/patient
|
||||||
var/obj/structure/table/optable/table = null
|
var/obj/structure/table/optable/table
|
||||||
|
|
||||||
light_color = LIGHT_COLOR_BLUE
|
light_color = LIGHT_COLOR_BLUE
|
||||||
|
|
||||||
|
|||||||
@@ -1,142 +1,129 @@
|
|||||||
/obj/machinery/computer
|
/obj/machinery/computer
|
||||||
name = "computer"
|
name = "computer"
|
||||||
icon = 'icons/obj/computer.dmi'
|
icon = 'icons/obj/computer.dmi'
|
||||||
icon_state = "computer"
|
icon_state = "computer"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 300
|
idle_power_usage = 300
|
||||||
active_power_usage = 300
|
active_power_usage = 300
|
||||||
max_integrity = 200
|
max_integrity = 200
|
||||||
integrity_failure = 100
|
integrity_failure = 100
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 40, acid = 20)
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 40, acid = 20)
|
||||||
var/obj/item/weapon/circuitboard/computer/circuit = null // if circuit==null, computer can't disassembly
|
var/processing = FALSE
|
||||||
var/processing = FALSE
|
var/brightness_on = 2
|
||||||
var/brightness_on = 2
|
var/icon_keyboard = "generic_key"
|
||||||
var/icon_keyboard = "generic_key"
|
var/icon_screen = "generic"
|
||||||
var/icon_screen = "generic"
|
var/clockwork = FALSE
|
||||||
var/clockwork = FALSE
|
|
||||||
|
/obj/machinery/computer/Initialize(mapload, obj/item/weapon/circuitboard/C)
|
||||||
/obj/machinery/computer/New(location, obj/item/weapon/circuitboard/C)
|
. = ..()
|
||||||
..(location)
|
power_change()
|
||||||
if(C && istype(C))
|
|
||||||
circuit = C
|
/obj/machinery/computer/Destroy()
|
||||||
//Some machines, oldcode arcades mostly, new themselves, so circuit
|
QDEL_NULL(circuit)
|
||||||
//can already be an instance of a type and trying to new that will
|
return ..()
|
||||||
//cause a runtime
|
|
||||||
else if(ispath(circuit))
|
/obj/machinery/computer/process()
|
||||||
circuit = new circuit(null)
|
if(stat & (NOPOWER|BROKEN))
|
||||||
|
return 0
|
||||||
/obj/machinery/computer/Destroy()
|
return 1
|
||||||
if(circuit)
|
|
||||||
qdel(circuit)
|
/obj/machinery/computer/ratvar_act()
|
||||||
circuit = null
|
if(!clockwork)
|
||||||
return ..()
|
clockwork = TRUE
|
||||||
|
icon_screen = "ratvar[rand(1, 4)]"
|
||||||
/obj/machinery/computer/Initialize()
|
icon_keyboard = "ratvar_key[rand(1, 6)]"
|
||||||
. = ..()
|
icon_state = "ratvarcomputer[rand(1, 4)]"
|
||||||
power_change()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/computer/process()
|
/obj/machinery/computer/narsie_act()
|
||||||
if(stat & (NOPOWER|BROKEN))
|
if(clockwork && clockwork != initial(clockwork)) //if it's clockwork but isn't normally clockwork
|
||||||
return 0
|
clockwork = FALSE
|
||||||
return 1
|
icon_screen = initial(icon_screen)
|
||||||
|
icon_keyboard = initial(icon_keyboard)
|
||||||
/obj/machinery/computer/ratvar_act()
|
icon_state = initial(icon_state)
|
||||||
if(!clockwork)
|
update_icon()
|
||||||
clockwork = TRUE
|
|
||||||
icon_screen = "ratvar[rand(1, 4)]"
|
/obj/machinery/computer/update_icon()
|
||||||
icon_keyboard = "ratvar_key[rand(1, 6)]"
|
cut_overlays()
|
||||||
icon_state = "ratvarcomputer[rand(1, 4)]"
|
if(stat & NOPOWER)
|
||||||
update_icon()
|
add_overlay("[icon_keyboard]_off")
|
||||||
|
return
|
||||||
/obj/machinery/computer/narsie_act()
|
add_overlay(icon_keyboard)
|
||||||
if(clockwork && clockwork != initial(clockwork)) //if it's clockwork but isn't normally clockwork
|
if(stat & BROKEN)
|
||||||
clockwork = FALSE
|
add_overlay("[icon_state]_broken")
|
||||||
icon_screen = initial(icon_screen)
|
else
|
||||||
icon_keyboard = initial(icon_keyboard)
|
add_overlay(icon_screen)
|
||||||
icon_state = initial(icon_state)
|
|
||||||
update_icon()
|
/obj/machinery/computer/power_change()
|
||||||
|
..()
|
||||||
/obj/machinery/computer/update_icon()
|
if(stat & NOPOWER)
|
||||||
cut_overlays()
|
set_light(0)
|
||||||
if(stat & NOPOWER)
|
else
|
||||||
add_overlay("[icon_keyboard]_off")
|
set_light(brightness_on)
|
||||||
return
|
update_icon()
|
||||||
add_overlay(icon_keyboard)
|
return
|
||||||
if(stat & BROKEN)
|
|
||||||
add_overlay("[icon_state]_broken")
|
/obj/machinery/computer/attackby(obj/item/I, mob/user, params)
|
||||||
else
|
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT))
|
||||||
add_overlay(icon_screen)
|
playsound(src.loc, I.usesound, 50, 1)
|
||||||
|
to_chat(user, "<span class='notice'> You start to disconnect the monitor...</span>")
|
||||||
/obj/machinery/computer/power_change()
|
if(do_after(user, 20*I.toolspeed, target = src))
|
||||||
..()
|
deconstruct(TRUE, user)
|
||||||
if(stat & NOPOWER)
|
else
|
||||||
set_light(0)
|
return ..()
|
||||||
else
|
|
||||||
set_light(brightness_on)
|
/obj/machinery/computer/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||||
update_icon()
|
switch(damage_type)
|
||||||
return
|
if(BRUTE)
|
||||||
|
if(stat & BROKEN)
|
||||||
/obj/machinery/computer/attackby(obj/item/I, mob/user, params)
|
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
|
||||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT))
|
else
|
||||||
playsound(src.loc, I.usesound, 50, 1)
|
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1)
|
||||||
to_chat(user, "<span class='notice'> You start to disconnect the monitor...</span>")
|
if(BURN)
|
||||||
if(do_after(user, 20*I.toolspeed, target = src))
|
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
||||||
deconstruct(TRUE, user)
|
|
||||||
else
|
/obj/machinery/computer/obj_break(damage_flag)
|
||||||
return ..()
|
if(circuit && !(flags & NODECONSTRUCT)) //no circuit, no breaking
|
||||||
|
if(!(stat & BROKEN))
|
||||||
/obj/machinery/computer/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||||
switch(damage_type)
|
stat |= BROKEN
|
||||||
if(BRUTE)
|
update_icon()
|
||||||
if(stat & BROKEN)
|
|
||||||
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
|
/obj/machinery/computer/emp_act(severity)
|
||||||
else
|
switch(severity)
|
||||||
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, 1)
|
if(1)
|
||||||
if(BURN)
|
if(prob(50))
|
||||||
playsound(src.loc, 'sound/items/welder.ogg', 100, 1)
|
obj_break("energy")
|
||||||
|
if(2)
|
||||||
/obj/machinery/computer/obj_break(damage_flag)
|
if(prob(10))
|
||||||
if(circuit && !(flags & NODECONSTRUCT)) //no circuit, no breaking
|
obj_break("energy")
|
||||||
if(!(stat & BROKEN))
|
..()
|
||||||
playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1)
|
|
||||||
stat |= BROKEN
|
/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
|
||||||
update_icon()
|
on_deconstruction()
|
||||||
|
if(!(flags & NODECONSTRUCT))
|
||||||
/obj/machinery/computer/emp_act(severity)
|
if(circuit) //no circuit, no computer frame
|
||||||
switch(severity)
|
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
|
||||||
if(1)
|
A.circuit = circuit
|
||||||
if(prob(50))
|
A.anchored = TRUE
|
||||||
obj_break("energy")
|
if(stat & BROKEN)
|
||||||
if(2)
|
if(user)
|
||||||
if(prob(10))
|
to_chat(user, "<span class='notice'>The broken glass falls out.</span>")
|
||||||
obj_break("energy")
|
else
|
||||||
..()
|
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
|
||||||
|
new /obj/item/weapon/shard(src.loc)
|
||||||
/obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user)
|
new /obj/item/weapon/shard(src.loc)
|
||||||
on_deconstruction()
|
A.state = 3
|
||||||
if(!(flags & NODECONSTRUCT))
|
A.icon_state = "3"
|
||||||
if(circuit) //no circuit, no computer frame
|
else
|
||||||
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer(src.loc)
|
if(user)
|
||||||
A.circuit = circuit
|
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
|
||||||
A.anchored = TRUE
|
A.state = 4
|
||||||
if(stat & BROKEN)
|
A.icon_state = "4"
|
||||||
if(user)
|
circuit = null
|
||||||
to_chat(user, "<span class='notice'>The broken glass falls out.</span>")
|
for(var/obj/C in src)
|
||||||
else
|
C.forceMove(loc)
|
||||||
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
|
|
||||||
new /obj/item/weapon/shard(src.loc)
|
qdel(src)
|
||||||
new /obj/item/weapon/shard(src.loc)
|
|
||||||
A.state = 3
|
|
||||||
A.icon_state = "3"
|
|
||||||
else
|
|
||||||
if(user)
|
|
||||||
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
|
|
||||||
A.state = 4
|
|
||||||
A.icon_state = "4"
|
|
||||||
circuit = null
|
|
||||||
for(var/obj/C in src)
|
|
||||||
C.forceMove(loc)
|
|
||||||
|
|
||||||
qdel(src)
|
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
/obj/machinery/computer/apc_control/Initialize()
|
/obj/machinery/computer/apc_control/Initialize()
|
||||||
apcs = list() //To avoid BYOND making the list run through a ton of procs
|
apcs = list() //To avoid BYOND making the list run through a ton of procs
|
||||||
filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null)
|
filters = list("Name" = null, "Charge Above" = null, "Charge Below" = null, "Responsive" = null)
|
||||||
..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/apc_control/process()
|
/obj/machinery/computer/apc_control/process()
|
||||||
apcs = list() //Clear the list every tick
|
apcs = list() //Clear the list every tick
|
||||||
|
|||||||
@@ -51,8 +51,8 @@
|
|||||||
/obj/machinery/computer/arcade/proc/Reset()
|
/obj/machinery/computer/arcade/proc/Reset()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/computer/arcade/New()
|
/obj/machinery/computer/arcade/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
// If it's a generic arcade machine, pick a random arcade
|
// If it's a generic arcade machine, pick a random arcade
|
||||||
// circuit board for it and make the new machine
|
// circuit board for it and make the new machine
|
||||||
if(!circuit)
|
if(!circuit)
|
||||||
@@ -60,12 +60,9 @@
|
|||||||
var/obj/item/weapon/circuitboard/CB = new choice()
|
var/obj/item/weapon/circuitboard/CB = new choice()
|
||||||
new CB.build_path(loc, CB)
|
new CB.build_path(loc, CB)
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
return
|
||||||
/obj/machinery/computer/arcade/Initialize()
|
|
||||||
. = ..()
|
|
||||||
Reset()
|
Reset()
|
||||||
|
|
||||||
|
|
||||||
#define PULSE_MEDAL "Jackpot"
|
#define PULSE_MEDAL "Jackpot"
|
||||||
|
|
||||||
/obj/machinery/computer/arcade/proc/prizevend()
|
/obj/machinery/computer/arcade/proc/prizevend()
|
||||||
|
|||||||
@@ -142,320 +142,4 @@
|
|||||||
new /obj/item/weapon/shard(loc)
|
new /obj/item/weapon/shard(loc)
|
||||||
if(state >= 3)
|
if(state >= 3)
|
||||||
new /obj/item/stack/cable_coil(loc , 5)
|
new /obj/item/stack/cable_coil(loc , 5)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard
|
|
||||||
name = "circuit board"
|
|
||||||
icon = 'icons/obj/module.dmi'
|
|
||||||
icon_state = "id_mod"
|
|
||||||
item_state = "electronic"
|
|
||||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
|
||||||
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
|
||||||
origin_tech = "programming=2"
|
|
||||||
materials = list(MAT_GLASS=1000)
|
|
||||||
w_class = WEIGHT_CLASS_SMALL
|
|
||||||
var/build_path = null
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/turbine_computer
|
|
||||||
name = "Turbine Computer (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/turbine_computer
|
|
||||||
origin_tech = "programming=4;engineering=4;powerstorage=4"
|
|
||||||
/obj/item/weapon/circuitboard/computer/launchpad_console
|
|
||||||
name = "Launchpad Control Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/launchpad
|
|
||||||
origin_tech = "programming=3;bluespace=3;plasmatech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/message_monitor
|
|
||||||
name = "Message Monitor (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/message_monitor
|
|
||||||
origin_tech = "programming=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/security
|
|
||||||
name = "Security Cameras (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/security
|
|
||||||
origin_tech = "programming=2;combat=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/xenobiology
|
|
||||||
name = "circuit board (Xenobiology Console)"
|
|
||||||
build_path = /obj/machinery/computer/camera_advanced/xenobio
|
|
||||||
origin_tech = "programming=3;biotech=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/base_construction
|
|
||||||
name = "circuit board (Aux Mining Base Construction Console)"
|
|
||||||
build_path = /obj/machinery/computer/camera_advanced/base_construction
|
|
||||||
origin_tech = "programming=3;engineering=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/aiupload
|
|
||||||
name = "AI Upload (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/upload/ai
|
|
||||||
origin_tech = "programming=4;engineering=4"
|
|
||||||
/obj/item/weapon/circuitboard/computer/borgupload
|
|
||||||
name = "Cyborg Upload (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/upload/borg
|
|
||||||
origin_tech = "programming=4;engineering=4"
|
|
||||||
/obj/item/weapon/circuitboard/computer/med_data
|
|
||||||
name = "Medical Records Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/med_data
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/pandemic
|
|
||||||
name = "PanD.E.M.I.C. 2200 (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/pandemic
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/scan_consolenew
|
|
||||||
name = "DNA Machine (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/scan_consolenew
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/communications
|
|
||||||
name = "Communications (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/communications
|
|
||||||
origin_tech = "programming=3;magnets=3"
|
|
||||||
var/lastTimeUsed = 0
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/card
|
|
||||||
name = "ID Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/card
|
|
||||||
origin_tech = "programming=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/card/centcom
|
|
||||||
name = "CentCom ID Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/card/centcom
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/card/minor
|
|
||||||
name = "Department Management Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/card/minor
|
|
||||||
var/target_dept = 1
|
|
||||||
var/list/dept_list = list("General","Security","Medical","Science","Engineering")
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/card/minor/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/weapon/screwdriver))
|
|
||||||
target_dept = (target_dept == dept_list.len) ? 1 : (target_dept + 1)
|
|
||||||
to_chat(user, "<span class='notice'>You set the board to \"[dept_list[target_dept]]\".</span>")
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/card/minor/examine(user)
|
|
||||||
..()
|
|
||||||
to_chat(user, "Currently set to \"[dept_list[target_dept]]\".")
|
|
||||||
|
|
||||||
//obj/item/weapon/circuitboard/computer/shield
|
|
||||||
// name = "Shield Control (Computer Board)"
|
|
||||||
// build_path = /obj/machinery/computer/stationshield
|
|
||||||
/obj/item/weapon/circuitboard/computer/teleporter
|
|
||||||
name = "Teleporter (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/teleporter
|
|
||||||
origin_tech = "programming=3;bluespace=3;plasmatech=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/secure_data
|
|
||||||
name = "Security Records Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/secure_data
|
|
||||||
origin_tech = "programming=2;combat=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/stationalert
|
|
||||||
name = "Station Alerts (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/station_alert
|
|
||||||
/*/obj/item/weapon/circuitboard/computer/atmospheresiphonswitch
|
|
||||||
name = "Atmosphere siphon control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/atmosphere/siphonswitch*/
|
|
||||||
/obj/item/weapon/circuitboard/computer/atmos_control
|
|
||||||
name = "Atmospheric Monitor (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/atmos_control
|
|
||||||
/obj/item/weapon/circuitboard/computer/atmos_control/tank
|
|
||||||
name = "Tank Control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/atmos_control/tank
|
|
||||||
origin_tech = "programming=2;engineering=3;materials=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/atmos_alert
|
|
||||||
name = "Atmospheric Alert (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/atmos_alert
|
|
||||||
/obj/item/weapon/circuitboard/computer/pod
|
|
||||||
name = "Massdriver control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/pod
|
|
||||||
/obj/item/weapon/circuitboard/computer/robotics
|
|
||||||
name = "Robotics Control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/robotics
|
|
||||||
origin_tech = "programming=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/cloning
|
|
||||||
name = "Cloning (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/cloning
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/arcade/battle
|
|
||||||
name = "Arcade Battle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/arcade/battle
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
/obj/item/weapon/circuitboard/computer/arcade/orion_trail
|
|
||||||
name = "Orion Trail (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/arcade/orion_trail
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
/obj/item/weapon/circuitboard/computer/turbine_control
|
|
||||||
name = "Turbine control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/turbine_computer
|
|
||||||
/obj/item/weapon/circuitboard/computer/solar_control
|
|
||||||
name = "Solar Control (Computer Board)" //name fixed 250810
|
|
||||||
build_path = /obj/machinery/power/solar_control
|
|
||||||
origin_tech = "programming=2;powerstorage=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/powermonitor
|
|
||||||
name = "Power Monitor (Computer Board)" //name fixed 250810
|
|
||||||
build_path = /obj/machinery/computer/monitor
|
|
||||||
origin_tech = "programming=2;powerstorage=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/olddoor
|
|
||||||
name = "DoorMex (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/pod/old
|
|
||||||
/obj/item/weapon/circuitboard/computer/syndicatedoor
|
|
||||||
name = "ProComp Executive (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/pod/old/syndicate
|
|
||||||
/obj/item/weapon/circuitboard/computer/swfdoor
|
|
||||||
name = "Magix (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/pod/old/swf
|
|
||||||
/obj/item/weapon/circuitboard/computer/prisoner
|
|
||||||
name = "Prisoner Management Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/prisoner
|
|
||||||
/obj/item/weapon/circuitboard/computer/gulag_teleporter_console
|
|
||||||
name = "Labor Camp teleporter console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/gulag_teleporter_computer
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/rdconsole
|
|
||||||
name = "R&D Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/rdconsole/core
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/rdconsole/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/weapon/screwdriver))
|
|
||||||
if(build_path == /obj/machinery/computer/rdconsole/core)
|
|
||||||
name = "R&D Console - Robotics (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/rdconsole/robotics
|
|
||||||
to_chat(user, "<span class='notice'>Access protocols successfully updated.</span>")
|
|
||||||
else
|
|
||||||
name = "R&D Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/rdconsole/core
|
|
||||||
to_chat(user, "<span class='notice'>Defaulting access protocols.</span>")
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/mecha_control
|
|
||||||
name = "Exosuit Control Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/mecha
|
|
||||||
/obj/item/weapon/circuitboard/computer/rdservercontrol
|
|
||||||
name = "R&D Server Control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/rdservercontrol
|
|
||||||
/obj/item/weapon/circuitboard/computer/crew
|
|
||||||
name = "Crew Monitoring Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/crew
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/mech_bay_power_console
|
|
||||||
name = "Mech Bay Power Control Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
|
||||||
origin_tech = "programming=3;powerstorage=3"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/cargo
|
|
||||||
name = "Supply Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/cargo
|
|
||||||
origin_tech = "programming=3"
|
|
||||||
var/contraband = FALSE
|
|
||||||
var/emagged = FALSE
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/cargo/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/device/multitool))
|
|
||||||
if(!emagged)
|
|
||||||
contraband = !contraband
|
|
||||||
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
|
|
||||||
else
|
|
||||||
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
|
|
||||||
else if(istype(I, /obj/item/weapon/card/emag))
|
|
||||||
if(!emagged)
|
|
||||||
contraband = TRUE
|
|
||||||
emagged = TRUE
|
|
||||||
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/cargo/request
|
|
||||||
name = "Supply Request Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/cargo/request
|
|
||||||
/obj/item/weapon/circuitboard/computer/stockexchange
|
|
||||||
name = "circuit board (Stock Exchange Console)"
|
|
||||||
build_path = /obj/machinery/computer/stockexchange
|
|
||||||
origin_tech = "programming=3"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/operating
|
|
||||||
name = "Operating Computer (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/operating
|
|
||||||
origin_tech = "programming=2;biotech=3"
|
|
||||||
/obj/item/weapon/circuitboard/computer/mining
|
|
||||||
name = "Outpost Status Display (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/security/mining
|
|
||||||
/obj/item/weapon/circuitboard/computer/comm_monitor
|
|
||||||
name = "Telecommunications Monitor (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/telecomms/monitor
|
|
||||||
origin_tech = "programming=3;magnets=3;bluespace=2"
|
|
||||||
/obj/item/weapon/circuitboard/computer/comm_server
|
|
||||||
name = "Telecommunications Server Monitor (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/telecomms/server
|
|
||||||
origin_tech = "programming=3;magnets=3;bluespace=2"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/shuttle
|
|
||||||
name = "Shuttle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle
|
|
||||||
var/shuttleId
|
|
||||||
var/possible_destinations = ""
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/shuttle/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/device/multitool))
|
|
||||||
var/chosen_id = round(input(usr, "Choose an ID number (-1 for reset):", "Input an Integer", null) as num|null)
|
|
||||||
if(chosen_id >= 0)
|
|
||||||
shuttleId = chosen_id
|
|
||||||
else
|
|
||||||
shuttleId = initial(shuttleId)
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/labor_shuttle
|
|
||||||
name = "Labor Shuttle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/labor
|
|
||||||
/obj/item/weapon/circuitboard/computer/labor_shuttle/one_way
|
|
||||||
name = "Prisoner Shuttle Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/labor/one_way
|
|
||||||
/obj/item/weapon/circuitboard/computer/ferry
|
|
||||||
name = "Transport Ferry (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/ferry
|
|
||||||
/obj/item/weapon/circuitboard/computer/ferry/request
|
|
||||||
name = "Transport Ferry Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/ferry/request
|
|
||||||
/obj/item/weapon/circuitboard/computer/mining_shuttle
|
|
||||||
name = "Mining Shuttle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/mining
|
|
||||||
/obj/item/weapon/circuitboard/computer/white_ship
|
|
||||||
name = "White Ship (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/white_ship
|
|
||||||
/obj/item/weapon/circuitboard/computer/auxillary_base
|
|
||||||
name = "Auxillary Base Management Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/auxillary_base
|
|
||||||
/obj/item/weapon/circuitboard/computer/holodeck// Not going to let people get this, but it's just here for future
|
|
||||||
name = "Holodeck Control (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/holodeck
|
|
||||||
origin_tech = "programming=4"
|
|
||||||
/obj/item/weapon/circuitboard/computer/aifixer
|
|
||||||
name = "AI Integrity Restorer (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/aifixer
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
/*/obj/item/weapon/circuitboard/computer/prison_shuttle
|
|
||||||
name = "Prison Shuttle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/prison_shuttle*/
|
|
||||||
/obj/item/weapon/circuitboard/computer/slot_machine
|
|
||||||
name = "Slot Machine (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/slot_machine
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/libraryconsole
|
|
||||||
name = "Library Visitor Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/libraryconsole
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/libraryconsole/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/weapon/screwdriver))
|
|
||||||
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
|
|
||||||
name = "Library Visitor Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/libraryconsole
|
|
||||||
to_chat(user, "<span class='notice'>Defaulting access protocols.</span>")
|
|
||||||
else
|
|
||||||
name = "Book Inventory Management Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
|
|
||||||
to_chat(user, "<span class='notice'>Access protocols successfully updated.</span>")
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/apc_control
|
|
||||||
name = "\improper Power Flow Control Console (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/apc_control
|
|
||||||
origin_tech = "programming=3;engineering=3;powerstorage=2"
|
|
||||||
@@ -572,8 +572,8 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
|||||||
icon_screen = "idminor"
|
icon_screen = "idminor"
|
||||||
circuit = /obj/item/weapon/circuitboard/computer/card/minor
|
circuit = /obj/item/weapon/circuitboard/computer/card/minor
|
||||||
|
|
||||||
/obj/machinery/computer/card/minor/New()
|
/obj/machinery/computer/card/minor/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/computer/card/minor/typed_circuit = circuit
|
var/obj/item/weapon/circuitboard/computer/card/minor/typed_circuit = circuit
|
||||||
if(target_dept)
|
if(target_dept)
|
||||||
typed_circuit.target_dept = target_dept
|
typed_circuit.target_dept = target_dept
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
light_color = LIGHT_COLOR_BLUE
|
light_color = LIGHT_COLOR_BLUE
|
||||||
|
|
||||||
/obj/machinery/computer/cloning/Initialize()
|
/obj/machinery/computer/cloning/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
updatemodules(TRUE)
|
updatemodules(TRUE)
|
||||||
|
|
||||||
/obj/machinery/computer/cloning/Destroy()
|
/obj/machinery/computer/cloning/Destroy()
|
||||||
|
|||||||
@@ -41,9 +41,9 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/communications/New()
|
/obj/machinery/computer/communications/Initialize()
|
||||||
|
. = ..()
|
||||||
GLOB.shuttle_caller_list += src
|
GLOB.shuttle_caller_list += src
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/computer/communications/process()
|
/obj/machinery/computer/communications/process()
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -53,17 +53,16 @@
|
|||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/scan_consolenew/New()
|
/obj/machinery/computer/scan_consolenew/Initialize()
|
||||||
..()
|
..()
|
||||||
|
return INITIALIZE_HINT_LATELOAD
|
||||||
|
|
||||||
spawn(5)
|
/obj/machinery/computer/scan_consolenew/LateInitialize()
|
||||||
for(dir in list(NORTH,EAST,SOUTH,WEST))
|
for(dir in list(NORTH,EAST,SOUTH,WEST))
|
||||||
connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir))
|
connected = locate(/obj/machinery/dna_scannernew, get_step(src, dir))
|
||||||
if(!isnull(connected))
|
if(!isnull(connected))
|
||||||
break
|
break
|
||||||
injectorready = world.time + INJECTOR_TIMEOUT
|
injectorready = world.time + INJECTOR_TIMEOUT
|
||||||
return
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/computer/scan_consolenew/attack_hand(mob/user)
|
/obj/machinery/computer/scan_consolenew/attack_hand(mob/user)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -15,9 +15,12 @@
|
|||||||
|
|
||||||
light_color = LIGHT_COLOR_RED
|
light_color = LIGHT_COLOR_RED
|
||||||
|
|
||||||
/obj/machinery/computer/gulag_teleporter_computer/New()
|
/obj/machinery/computer/gulag_teleporter_computer/Initialize()
|
||||||
..()
|
..()
|
||||||
addtimer(CALLBACK(src, .proc/scan_machinery), 5)
|
return INITIALIZE_HINT_LATELOAD
|
||||||
|
|
||||||
|
/obj/machinery/computer/gulag_teleporter_computer/LateInitialize()
|
||||||
|
scan_machinery()
|
||||||
|
|
||||||
/obj/machinery/computer/gulag_teleporter_computer/Destroy()
|
/obj/machinery/computer/gulag_teleporter_computer/Destroy()
|
||||||
if(id)
|
if(id)
|
||||||
|
|||||||
@@ -5,7 +5,3 @@
|
|||||||
shuttleId = "pod1"
|
shuttleId = "pod1"
|
||||||
possible_destinations = "monastery_shuttle_asteroid;monastery_shuttle_station"
|
possible_destinations = "monastery_shuttle_asteroid;monastery_shuttle_station"
|
||||||
no_destination_swap = TRUE
|
no_destination_swap = TRUE
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/computer/shuttle/monastery_shuttle
|
|
||||||
name = "Monastery Shuttle (Computer Board)"
|
|
||||||
build_path = /obj/machinery/computer/shuttle/monastery_shuttle
|
|
||||||
|
|||||||
217
code/game/machinery/computer/teleporter.dm
Normal file
217
code/game/machinery/computer/teleporter.dm
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
/obj/machinery/computer/teleporter
|
||||||
|
name = "teleporter control console"
|
||||||
|
desc = "Used to control a linked teleportation Hub and Station."
|
||||||
|
icon_screen = "teleport"
|
||||||
|
icon_keyboard = "teleport_key"
|
||||||
|
circuit = /obj/item/weapon/circuitboard/computer/teleporter
|
||||||
|
var/obj/item/device/gps/locked = null
|
||||||
|
var/regime_set = "Teleporter"
|
||||||
|
var/id = null
|
||||||
|
var/obj/machinery/teleport/station/power_station
|
||||||
|
var/calibrating
|
||||||
|
var/turf/target //Used for one-time-use teleport cards (such as clown planet coordinates.)
|
||||||
|
//Setting this to 1 will set src.locked to null after a player enters the portal and will not allow hand-teles to open portals to that location.
|
||||||
|
|
||||||
|
light_color = LIGHT_COLOR_BLUE
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/New()
|
||||||
|
src.id = "[rand(1000, 9999)]"
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/Initialize()
|
||||||
|
. = ..()
|
||||||
|
link_power_station()
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/Destroy()
|
||||||
|
if (power_station)
|
||||||
|
power_station.teleporter_console = null
|
||||||
|
power_station = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/proc/link_power_station()
|
||||||
|
if(power_station)
|
||||||
|
return
|
||||||
|
for(dir in list(NORTH,EAST,SOUTH,WEST))
|
||||||
|
power_station = locate(/obj/machinery/teleport/station, get_step(src, dir))
|
||||||
|
if(power_station)
|
||||||
|
break
|
||||||
|
return power_station
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/attackby(obj/I, mob/living/user, params)
|
||||||
|
if(istype(I, /obj/item/device/gps))
|
||||||
|
var/obj/item/device/gps/L = I
|
||||||
|
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
|
||||||
|
if(!user.transferItemToLoc(L, src))
|
||||||
|
to_chat(user, "<span class='warning'>\the [I] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||||
|
return
|
||||||
|
locked = L
|
||||||
|
to_chat(user, "<span class='caution'>You insert the GPS device into the [name]'s slot.</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/attack_ai(mob/user)
|
||||||
|
src.attack_hand(user)
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/attack_hand(mob/user)
|
||||||
|
if(..())
|
||||||
|
return
|
||||||
|
interact(user)
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/interact(mob/user)
|
||||||
|
var/data = "<h3>Teleporter Status</h3>"
|
||||||
|
if(!power_station)
|
||||||
|
data += "<div class='statusDisplay'>No power station linked.</div>"
|
||||||
|
else if(!power_station.teleporter_hub)
|
||||||
|
data += "<div class='statusDisplay'>No hub linked.</div>"
|
||||||
|
else
|
||||||
|
data += "<div class='statusDisplay'>Current regime: [regime_set]<BR>"
|
||||||
|
data += "Current target: [(!target) ? "None" : "[get_area(target)] [(regime_set != "Gate") ? "" : "Teleporter"]"]<BR>"
|
||||||
|
if(calibrating)
|
||||||
|
data += "Calibration: <font color='yellow'>In Progress</font>"
|
||||||
|
else if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
|
||||||
|
data += "Calibration: <font color='green'>Optimal</font>"
|
||||||
|
else
|
||||||
|
data += "Calibration: <font color='red'>Sub-Optimal</font>"
|
||||||
|
data += "</div><BR>"
|
||||||
|
|
||||||
|
data += "<A href='?src=\ref[src];regimeset=1'>Change regime</A><BR>"
|
||||||
|
data += "<A href='?src=\ref[src];settarget=1'>Set target</A><BR>"
|
||||||
|
if(locked)
|
||||||
|
data += "<BR><A href='?src=\ref[src];locked=1'>Get target from memory</A><BR>"
|
||||||
|
data += "<A href='?src=\ref[src];eject=1'>Eject GPS device</A><BR>"
|
||||||
|
else
|
||||||
|
data += "<BR><span class='linkOff'>Get target from memory</span><BR>"
|
||||||
|
data += "<span class='linkOff'>Eject GPS device</span><BR>"
|
||||||
|
|
||||||
|
data += "<BR><A href='?src=\ref[src];calibrate=1'>Calibrate Hub</A>"
|
||||||
|
|
||||||
|
var/datum/browser/popup = new(user, "teleporter", name, 400, 400)
|
||||||
|
popup.set_content(data)
|
||||||
|
popup.open()
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/Topic(href, href_list)
|
||||||
|
if(..())
|
||||||
|
return
|
||||||
|
|
||||||
|
if(href_list["eject"])
|
||||||
|
eject()
|
||||||
|
updateDialog()
|
||||||
|
return
|
||||||
|
|
||||||
|
if(!check_hub_connection())
|
||||||
|
say("Error: Unable to detect hub.")
|
||||||
|
return
|
||||||
|
if(calibrating)
|
||||||
|
say("Error: Calibration in progress. Stand by.")
|
||||||
|
return
|
||||||
|
|
||||||
|
if(href_list["regimeset"])
|
||||||
|
power_station.engaged = 0
|
||||||
|
power_station.teleporter_hub.update_icon()
|
||||||
|
power_station.teleporter_hub.calibrated = 0
|
||||||
|
reset_regime()
|
||||||
|
if(href_list["settarget"])
|
||||||
|
power_station.engaged = 0
|
||||||
|
power_station.teleporter_hub.update_icon()
|
||||||
|
power_station.teleporter_hub.calibrated = 0
|
||||||
|
set_target(usr)
|
||||||
|
if(href_list["locked"])
|
||||||
|
power_station.engaged = 0
|
||||||
|
power_station.teleporter_hub.update_icon()
|
||||||
|
power_station.teleporter_hub.calibrated = 0
|
||||||
|
target = get_turf(locked.locked_location)
|
||||||
|
if(href_list["calibrate"])
|
||||||
|
if(!target)
|
||||||
|
say("Error: No target set to calibrate to.")
|
||||||
|
return
|
||||||
|
if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
|
||||||
|
say("Hub is already calibrated!")
|
||||||
|
return
|
||||||
|
say("Processing hub calibration to target...")
|
||||||
|
|
||||||
|
calibrating = 1
|
||||||
|
spawn(50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
|
||||||
|
calibrating = 0
|
||||||
|
if(check_hub_connection())
|
||||||
|
power_station.teleporter_hub.calibrated = 1
|
||||||
|
say("Calibration complete.")
|
||||||
|
else
|
||||||
|
say("Error: Unable to detect hub.")
|
||||||
|
updateDialog()
|
||||||
|
|
||||||
|
updateDialog()
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/proc/check_hub_connection()
|
||||||
|
if(!power_station)
|
||||||
|
return
|
||||||
|
if(!power_station.teleporter_hub)
|
||||||
|
return
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/proc/reset_regime()
|
||||||
|
target = null
|
||||||
|
if(regime_set == "Teleporter")
|
||||||
|
regime_set = "Gate"
|
||||||
|
else
|
||||||
|
regime_set = "Teleporter"
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/proc/eject()
|
||||||
|
if(locked)
|
||||||
|
locked.loc = loc
|
||||||
|
locked = null
|
||||||
|
|
||||||
|
/obj/machinery/computer/teleporter/proc/set_target(mob/user)
|
||||||
|
var/list/L = list()
|
||||||
|
var/list/areaindex = list()
|
||||||
|
if(regime_set == "Teleporter")
|
||||||
|
for(var/obj/item/device/radio/beacon/R in GLOB.teleportbeacons)
|
||||||
|
var/turf/T = get_turf(R)
|
||||||
|
if(!T)
|
||||||
|
continue
|
||||||
|
if(T.z == ZLEVEL_CENTCOM || T.z > ZLEVEL_SPACEMAX)
|
||||||
|
continue
|
||||||
|
L[avoid_assoc_duplicate_keys(T.loc.name, areaindex)] = R
|
||||||
|
|
||||||
|
for(var/obj/item/weapon/implant/tracking/I in GLOB.tracked_implants)
|
||||||
|
if(!I.imp_in || !ismob(I.loc))
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
var/mob/M = I.loc
|
||||||
|
if(M.stat == DEAD)
|
||||||
|
if(M.timeofdeath + 6000 < world.time)
|
||||||
|
continue
|
||||||
|
var/turf/T = get_turf(M)
|
||||||
|
if(!T)
|
||||||
|
continue
|
||||||
|
if(T.z == ZLEVEL_CENTCOM)
|
||||||
|
continue
|
||||||
|
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = I
|
||||||
|
|
||||||
|
var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in L
|
||||||
|
target = L[desc]
|
||||||
|
|
||||||
|
else
|
||||||
|
var/list/S = power_station.linked_stations
|
||||||
|
if(!S.len)
|
||||||
|
to_chat(user, "<span class='alert'>No connected stations located.</span>")
|
||||||
|
return
|
||||||
|
for(var/obj/machinery/teleport/station/R in S)
|
||||||
|
var/turf/T = get_turf(R)
|
||||||
|
if(!T || !R.teleporter_hub || !R.teleporter_console)
|
||||||
|
continue
|
||||||
|
if(T.z == ZLEVEL_CENTCOM || T.z > ZLEVEL_SPACEMAX)
|
||||||
|
continue
|
||||||
|
L[avoid_assoc_duplicate_keys(T.loc.name, areaindex)] = R
|
||||||
|
var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in L
|
||||||
|
target = L[desc]
|
||||||
|
if(target)
|
||||||
|
var/obj/machinery/teleport/station/trg = target
|
||||||
|
trg.linked_stations |= power_station
|
||||||
|
trg.stat &= ~NOPOWER
|
||||||
|
if(trg.teleporter_hub)
|
||||||
|
trg.teleporter_hub.stat &= ~NOPOWER
|
||||||
|
trg.teleporter_hub.update_icon()
|
||||||
|
if(trg.teleporter_console)
|
||||||
|
trg.teleporter_console.stat &= ~NOPOWER
|
||||||
|
trg.teleporter_console.update_icon()
|
||||||
@@ -259,52 +259,4 @@
|
|||||||
for(var/X in components)
|
for(var/X in components)
|
||||||
var/obj/item/I = X
|
var/obj/item/I = X
|
||||||
I.forceMove(loc)
|
I.forceMove(loc)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Machine Frame Circuit Boards
|
|
||||||
/*Common Parts: Parts List: Ignitor, Timer, Infra-red laser, Infra-red sensor, t_scanner, Capacitor, Valve, sensor unit,
|
|
||||||
micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine
|
|
||||||
var/list/req_components = null
|
|
||||||
// Components required by the machine.
|
|
||||||
// Example: list(/obj/item/weapon/stock_parts/matter_bin = 5)
|
|
||||||
var/list/def_components = null
|
|
||||||
// Default replacements for req_components, to be used in apply_default_parts instead of req_components types
|
|
||||||
// Example: list(/obj/item/weapon/stock_parts/matter_bin = /obj/item/weapon/stock_parts/matter_bin/super)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/proc/apply_default_parts(obj/machinery/M)
|
|
||||||
if(!req_components)
|
|
||||||
return
|
|
||||||
|
|
||||||
M.component_parts = list(src) // List of components always contains a board
|
|
||||||
loc = null
|
|
||||||
|
|
||||||
for(var/comp_path in req_components)
|
|
||||||
var/comp_amt = req_components[comp_path]
|
|
||||||
if(!comp_amt)
|
|
||||||
continue
|
|
||||||
|
|
||||||
if(def_components && def_components[comp_path])
|
|
||||||
comp_path = def_components[comp_path]
|
|
||||||
|
|
||||||
if(ispath(comp_path, /obj/item/stack))
|
|
||||||
M.component_parts += new comp_path(null, comp_amt)
|
|
||||||
else
|
|
||||||
for(var/i in 1 to comp_amt)
|
|
||||||
M.component_parts += new comp_path(null)
|
|
||||||
|
|
||||||
M.RefreshParts()
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/abductor
|
|
||||||
name = "alien board (Report This)"
|
|
||||||
icon_state = "abductor_mod"
|
|
||||||
origin_tech = "programming=5;abductor=3"
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/clockwork
|
|
||||||
name = "clockwork board (Report This)"
|
|
||||||
icon_state = "clock_mod"
|
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
songs += T
|
songs += T
|
||||||
|
|
||||||
/obj/machinery/disco/Initialize()
|
/obj/machinery/disco/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
selection = songs[1]
|
selection = songs[1]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,32 +4,17 @@
|
|||||||
icon = 'icons/obj/Cryogenic2.dmi'
|
icon = 'icons/obj/Cryogenic2.dmi'
|
||||||
icon_state = "scanner"
|
icon_state = "scanner"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
var/locked = FALSE
|
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 50
|
idle_power_usage = 50
|
||||||
active_power_usage = 300
|
active_power_usage = 300
|
||||||
occupant_typecache = list(/mob/living, /obj/item/bodypart/head, /obj/item/organ/brain)
|
occupant_typecache = list(/mob/living, /obj/item/bodypart/head, /obj/item/organ/brain)
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/clonescanner
|
||||||
|
var/locked = FALSE
|
||||||
var/damage_coeff
|
var/damage_coeff
|
||||||
var/scan_level
|
var/scan_level
|
||||||
var/precision_coeff
|
var/precision_coeff
|
||||||
|
|
||||||
/obj/machinery/dna_scannernew/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/clonescanner(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/clonescanner
|
|
||||||
name = "Cloning Scanner (Machine Board)"
|
|
||||||
build_path = /obj/machinery/dna_scannernew
|
|
||||||
origin_tech = "programming=2;biotech=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/item/stack/sheet/glass = 1,
|
|
||||||
/obj/item/stack/cable_coil = 2)
|
|
||||||
|
|
||||||
/obj/machinery/dna_scannernew/RefreshParts()
|
/obj/machinery/dna_scannernew/RefreshParts()
|
||||||
scan_level = 0
|
scan_level = 0
|
||||||
damage_coeff = 0
|
damage_coeff = 0
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/door/airlock/alarmlock/Initialize()
|
/obj/machinery/door/airlock/alarmlock/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
SSradio.remove_object(src, air_frequency)
|
SSradio.remove_object(src, air_frequency)
|
||||||
air_connection = SSradio.add_object(src, air_frequency, GLOB.RADIO_TO_AIRALARM)
|
air_connection = SSradio.add_object(src, air_frequency, GLOB.RADIO_TO_AIRALARM)
|
||||||
open()
|
open()
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
Radio.listening = 0
|
Radio.listening = 0
|
||||||
|
|
||||||
/obj/machinery/door_timer/Initialize()
|
/obj/machinery/door_timer/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
if(id != null)
|
if(id != null)
|
||||||
for(var/obj/machinery/door/window/brigdoor/M in urange(20, src))
|
for(var/obj/machinery/door/window/brigdoor/M in urange(20, src))
|
||||||
if (M.id == id)
|
if (M.id == id)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
var/list/affecting_areas
|
var/list/affecting_areas
|
||||||
|
|
||||||
/obj/machinery/door/firedoor/Initialize()
|
/obj/machinery/door/firedoor/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
CalculateAffectingAreas()
|
CalculateAffectingAreas()
|
||||||
|
|
||||||
/obj/machinery/door/firedoor/examine(mob/user)
|
/obj/machinery/door/firedoor/examine(mob/user)
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
|
|||||||
var/max_dist = 100
|
var/max_dist = 100
|
||||||
verb_say = "states coldly"
|
verb_say = "states coldly"
|
||||||
|
|
||||||
/obj/machinery/doppler_array/New()
|
/obj/machinery/doppler_array/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
GLOB.doppler_arrays += src
|
GLOB.doppler_arrays += src
|
||||||
|
|
||||||
/obj/machinery/doppler_array/Destroy()
|
/obj/machinery/doppler_array/Destroy()
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
var/datum/material_container/materials
|
var/datum/material_container/materials
|
||||||
var/list/using_materials
|
var/list/using_materials
|
||||||
|
var/starting_amount = 0
|
||||||
var/metal_cost = 1000
|
var/metal_cost = 1000
|
||||||
var/glass_cost = 1000
|
var/glass_cost = 1000
|
||||||
var/power_used = 1000
|
var/power_used = 1000
|
||||||
@@ -52,34 +53,27 @@
|
|||||||
var/break_message = "lets out a tinny alarm before falling dark."
|
var/break_message = "lets out a tinny alarm before falling dark."
|
||||||
var/break_sound = 'sound/machines/warning-buzzer.ogg'
|
var/break_sound = 'sound/machines/warning-buzzer.ogg'
|
||||||
|
|
||||||
/obj/machinery/droneDispenser/New()
|
/obj/machinery/droneDispenser/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
obj_integrity = max_integrity
|
materials = new(src, list(MAT_METAL, MAT_GLASS), MINERAL_MATERIAL_AMOUNT*MAX_STACK_SIZE*2)
|
||||||
materials = new(src, list(MAT_METAL, MAT_GLASS),
|
materials.insert_amount(starting_amount)
|
||||||
MINERAL_MATERIAL_AMOUNT*MAX_STACK_SIZE*2)
|
|
||||||
|
|
||||||
using_materials = list(MAT_METAL=metal_cost, MAT_GLASS=glass_cost)
|
using_materials = list(MAT_METAL=metal_cost, MAT_GLASS=glass_cost)
|
||||||
|
|
||||||
/obj/machinery/droneDispenser/Destroy()
|
/obj/machinery/droneDispenser/Destroy()
|
||||||
qdel(materials)
|
QDEL_NULL(materials)
|
||||||
. = ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/droneDispenser/preloaded/New()
|
/obj/machinery/droneDispenser/preloaded
|
||||||
..()
|
starting_amount = 5000
|
||||||
materials.insert_amount(5000)
|
|
||||||
|
|
||||||
/obj/machinery/droneDispenser/syndrone //Please forgive me
|
/obj/machinery/droneDispenser/syndrone //Please forgive me
|
||||||
name = "syndrone shell dispenser"
|
name = "syndrone shell dispenser"
|
||||||
desc = "A suspicious machine that will create Syndicate \
|
desc = "A suspicious machine that will create Syndicate exterminator drones when supplied with metal and glass. Disgusting."
|
||||||
exterminator drones when supplied with metal and glass. Disgusting."
|
|
||||||
dispense_type = /obj/item/drone_shell/syndrone
|
dispense_type = /obj/item/drone_shell/syndrone
|
||||||
//If we're gonna be a jackass, go the full mile - 10 second recharge timer
|
//If we're gonna be a jackass, go the full mile - 10 second recharge timer
|
||||||
cooldownTime = 100
|
cooldownTime = 100
|
||||||
end_create_message = "dispenses a suspicious drone shell."
|
end_create_message = "dispenses a suspicious drone shell."
|
||||||
|
starting_amount = 25000
|
||||||
/obj/machinery/droneDispenser/syndrone/New()
|
|
||||||
..()
|
|
||||||
materials.insert_amount(25000)
|
|
||||||
|
|
||||||
/obj/machinery/droneDispenser/syndrone/badass //Please forgive me
|
/obj/machinery/droneDispenser/syndrone/badass //Please forgive me
|
||||||
name = "badass syndrone shell dispenser"
|
name = "badass syndrone shell dispenser"
|
||||||
@@ -101,10 +95,7 @@
|
|||||||
metal_cost = 2000
|
metal_cost = 2000
|
||||||
glass_cost = 2000
|
glass_cost = 2000
|
||||||
power_used = 2000
|
power_used = 2000
|
||||||
|
starting_amount = 10000
|
||||||
/obj/machinery/droneDispenser/snowflake/preloaded/New()
|
|
||||||
..()
|
|
||||||
materials.insert_amount(10000)
|
|
||||||
|
|
||||||
// An example of a custom drone dispenser.
|
// An example of a custom drone dispenser.
|
||||||
// This one requires no materials and creates basic hivebots
|
// This one requires no materials and creates basic hivebots
|
||||||
|
|||||||
@@ -220,7 +220,7 @@
|
|||||||
var/sanitize_external
|
var/sanitize_external
|
||||||
|
|
||||||
/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload)
|
/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload)
|
||||||
..()
|
. = ..()
|
||||||
if(!mapload)
|
if(!mapload)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/embedded_controller/radio/Initialize()
|
/obj/machinery/embedded_controller/radio/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
set_frequency(frequency)
|
set_frequency(frequency)
|
||||||
|
|
||||||
/obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal)
|
/obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal)
|
||||||
|
|||||||
@@ -52,8 +52,7 @@
|
|||||||
var/airpump_tag
|
var/airpump_tag
|
||||||
|
|
||||||
/obj/machinery/embedded_controller/radio/simple_vent_controller/Initialize(mapload)
|
/obj/machinery/embedded_controller/radio/simple_vent_controller/Initialize(mapload)
|
||||||
..()
|
. = ..()
|
||||||
|
|
||||||
if(!mapload)
|
if(!mapload)
|
||||||
return
|
return
|
||||||
var/datum/computer/file/embedded_program/simple_vent_controller/new_prog = new
|
var/datum/computer/file/embedded_program/simple_vent_controller/new_prog = new
|
||||||
|
|||||||
@@ -5,15 +5,15 @@
|
|||||||
desc = "A wall-mounted flashbulb device."
|
desc = "A wall-mounted flashbulb device."
|
||||||
icon = 'icons/obj/stationobjs.dmi'
|
icon = 'icons/obj/stationobjs.dmi'
|
||||||
icon_state = "mflash1"
|
icon_state = "mflash1"
|
||||||
var/obj/item/device/assembly/flash/handheld/bulb = null
|
max_integrity = 250
|
||||||
|
integrity_failure = 100
|
||||||
|
anchored = TRUE
|
||||||
|
var/obj/item/device/assembly/flash/handheld/bulb
|
||||||
var/id = null
|
var/id = null
|
||||||
var/range = 2 //this is roughly the size of brig cell
|
var/range = 2 //this is roughly the size of brig cell
|
||||||
var/last_flash = 0 //Don't want it getting spammed like regular flashes
|
var/last_flash = 0 //Don't want it getting spammed like regular flashes
|
||||||
var/strength = 100 //How knocked down targets are when flashed.
|
var/strength = 100 //How knocked down targets are when flashed.
|
||||||
var/base_state = "mflash"
|
var/base_state = "mflash"
|
||||||
max_integrity = 250
|
|
||||||
integrity_failure = 100
|
|
||||||
anchored = TRUE
|
|
||||||
|
|
||||||
/obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored
|
/obj/machinery/flasher/portable //Portable version of the flasher. Only flashes when anchored
|
||||||
name = "portable flasher"
|
name = "portable flasher"
|
||||||
@@ -24,19 +24,17 @@
|
|||||||
base_state = "pflash"
|
base_state = "pflash"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
|
|
||||||
/obj/machinery/flasher/New(loc, ndir = 0, built = 0)
|
/obj/machinery/flasher/Initialize(mapload, ndir = 0, built = 0)
|
||||||
..() // ..() is EXTREMELY IMPORTANT, never forget to add it
|
. = ..() // ..() is EXTREMELY IMPORTANT, never forget to add it
|
||||||
if(built)
|
if(built)
|
||||||
setDir(ndir)
|
setDir(ndir)
|
||||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -28 : 28)
|
pixel_x = (dir & 3)? 0 : (dir == 4 ? -28 : 28)
|
||||||
pixel_y = (dir & 3)? (dir ==1 ? -28 : 28) : 0
|
pixel_y = (dir & 3)? (dir ==1 ? -28 : 28) : 0
|
||||||
else
|
else
|
||||||
bulb = new /obj/item/device/assembly/flash/handheld(src)
|
bulb = new(src)
|
||||||
|
|
||||||
/obj/machinery/flasher/Destroy()
|
/obj/machinery/flasher/Destroy()
|
||||||
if(bulb)
|
QDEL_NULL(bulb)
|
||||||
qdel(bulb)
|
|
||||||
bulb = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/flasher/power_change()
|
/obj/machinery/flasher/power_change()
|
||||||
|
|||||||
@@ -17,25 +17,26 @@ The console is located at computer/gulag_teleporter.dm
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 200
|
idle_power_usage = 200
|
||||||
active_power_usage = 5000
|
active_power_usage = 5000
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/gulag_teleporter
|
||||||
var/locked = FALSE
|
var/locked = FALSE
|
||||||
var/jumpsuit_type = /obj/item/clothing/under/rank/prisoner
|
var/jumpsuit_type = /obj/item/clothing/under/rank/prisoner
|
||||||
var/shoes_type = /obj/item/clothing/shoes/sneakers/orange
|
var/shoes_type = /obj/item/clothing/shoes/sneakers/orange
|
||||||
var/obj/machinery/gulag_item_reclaimer/linked_reclaimer = null
|
var/obj/machinery/gulag_item_reclaimer/linked_reclaimer
|
||||||
var/list/required_items
|
var/static/list/telegulag_required_items = typecacheof(list(
|
||||||
|
/obj/item/weapon/implant,
|
||||||
|
/obj/item/clothing/suit/space/eva/plasmaman,
|
||||||
|
/obj/item/clothing/under/plasmaman,
|
||||||
|
/obj/item/clothing/head/helmet/space/plasmaman,
|
||||||
|
/obj/item/weapon/tank/internals,
|
||||||
|
/obj/item/clothing/mask/breath,
|
||||||
|
/obj/item/clothing/mask/gas))
|
||||||
|
|
||||||
/obj/machinery/gulag_teleporter/New()
|
/obj/machinery/gulag_teleporter/Initialize()
|
||||||
..()
|
..()
|
||||||
required_items = typecacheof(list(
|
return INITIALIZE_HINT_LATELOAD
|
||||||
/obj/item/weapon/implant,
|
|
||||||
/obj/item/clothing/suit/space/eva/plasmaman,
|
/obj/machinery/gulag_teleporter/LateInitialize()
|
||||||
/obj/item/clothing/under/plasmaman,
|
locate_reclaimer()
|
||||||
/obj/item/clothing/head/helmet/space/plasmaman,
|
|
||||||
/obj/item/weapon/tank/internals,
|
|
||||||
/obj/item/clothing/mask/breath,
|
|
||||||
/obj/item/clothing/mask/gas))
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/gulag_teleporter(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
addtimer(CALLBACK(src, .proc/locate_reclaimer), 5)
|
|
||||||
|
|
||||||
/obj/machinery/gulag_teleporter/Destroy()
|
/obj/machinery/gulag_teleporter/Destroy()
|
||||||
if(linked_reclaimer)
|
if(linked_reclaimer)
|
||||||
@@ -46,7 +47,6 @@ The console is located at computer/gulag_teleporter.dm
|
|||||||
..()
|
..()
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/gulag_teleporter/interact(mob/user)
|
/obj/machinery/gulag_teleporter/interact(mob/user)
|
||||||
if(locked)
|
if(locked)
|
||||||
to_chat(user, "[src] is locked.")
|
to_chat(user, "[src] is locked.")
|
||||||
@@ -138,7 +138,7 @@ The console is located at computer/gulag_teleporter.dm
|
|||||||
linked_reclaimer.stored_items[occupant] = list()
|
linked_reclaimer.stored_items[occupant] = list()
|
||||||
var/mob/living/mob_occupant = occupant
|
var/mob/living/mob_occupant = occupant
|
||||||
for(var/obj/item/W in mob_occupant)
|
for(var/obj/item/W in mob_occupant)
|
||||||
if(!is_type_in_typecache(W, required_items) && mob_occupant.temporarilyRemoveItemFromInventory(W))
|
if(!is_type_in_typecache(W, telegulag_required_items) && mob_occupant.temporarilyRemoveItemFromInventory(W))
|
||||||
if(istype(W, /obj/item/weapon/restraints/handcuffs))
|
if(istype(W, /obj/item/weapon/restraints/handcuffs))
|
||||||
W.forceMove(get_turf(src))
|
W.forceMove(get_turf(src))
|
||||||
continue
|
continue
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ Possible to do for anyone motivated enough:
|
|||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
max_integrity = 300
|
max_integrity = 300
|
||||||
armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0)
|
armor = list(melee = 50, bullet = 20, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0)
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/holopad
|
||||||
var/list/masters = list()//List of living mobs that use the holopad
|
var/list/masters = list()//List of living mobs that use the holopad
|
||||||
var/last_request = 0 //to prevent request spam. ~Carn
|
var/last_request = 0 //to prevent request spam. ~Carn
|
||||||
var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating.
|
var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating.
|
||||||
@@ -51,8 +52,6 @@ Possible to do for anyone motivated enough:
|
|||||||
|
|
||||||
/obj/machinery/holopad/Initialize()
|
/obj/machinery/holopad/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/holopad(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
holopads += src
|
holopads += src
|
||||||
|
|
||||||
/obj/machinery/holopad/Destroy()
|
/obj/machinery/holopad/Destroy()
|
||||||
@@ -384,11 +383,5 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
|
|||||||
return Impersonation.examine(user)
|
return Impersonation.examine(user)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/holopad
|
|
||||||
name = "AI Holopad (Machine Board)"
|
|
||||||
build_path = /obj/machinery/holopad
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
|
||||||
|
|
||||||
#undef HOLOPAD_PASSIVE_POWER_USAGE
|
#undef HOLOPAD_PASSIVE_POWER_USAGE
|
||||||
#undef HOLOGRAM_POWER_USAGE
|
#undef HOLOGRAM_POWER_USAGE
|
||||||
|
|||||||
@@ -36,8 +36,8 @@
|
|||||||
location.hotspot_expose(1000,500,1)
|
location.hotspot_expose(1000,500,1)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/igniter/New()
|
/obj/machinery/igniter/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
icon_state = "igniter[on]"
|
icon_state = "igniter[on]"
|
||||||
|
|
||||||
/obj/machinery/igniter/power_change()
|
/obj/machinery/igniter/power_change()
|
||||||
@@ -61,15 +61,14 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
resistance_flags = FIRE_PROOF
|
resistance_flags = FIRE_PROOF
|
||||||
|
|
||||||
/obj/machinery/sparker/New()
|
/obj/machinery/sparker/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
spark_system = new /datum/effect_system/spark_spread
|
spark_system = new /datum/effect_system/spark_spread
|
||||||
spark_system.set_up(2, 1, src)
|
spark_system.set_up(2, 1, src)
|
||||||
spark_system.attach(src)
|
spark_system.attach(src)
|
||||||
|
|
||||||
/obj/machinery/sparker/Destroy()
|
/obj/machinery/sparker/Destroy()
|
||||||
qdel(spark_system)
|
QDEL_NULL(spark_system)
|
||||||
spark_system = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/sparker/power_change()
|
/obj/machinery/sparker/power_change()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
/obj/item/weapon/reagent_containers/glass)
|
/obj/item/weapon/reagent_containers/glass)
|
||||||
|
|
||||||
/obj/machinery/iv_drip/Initialize()
|
/obj/machinery/iv_drip/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
update_icon()
|
update_icon()
|
||||||
drip_containers = typecacheof(drip_containers)
|
drip_containers = typecacheof(drip_containers)
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
use_power = TRUE
|
use_power = TRUE
|
||||||
idle_power_usage = 200
|
idle_power_usage = 200
|
||||||
active_power_usage = 2500
|
active_power_usage = 2500
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/launchpad
|
||||||
var/stationary = TRUE //to prevent briefcase pad deconstruction and such
|
var/stationary = TRUE //to prevent briefcase pad deconstruction and such
|
||||||
var/display_name = "Launchpad"
|
var/display_name = "Launchpad"
|
||||||
var/teleport_speed = 35
|
var/teleport_speed = 35
|
||||||
@@ -17,20 +18,6 @@
|
|||||||
var/x_offset = 0
|
var/x_offset = 0
|
||||||
var/y_offset = 0
|
var/y_offset = 0
|
||||||
|
|
||||||
/obj/machinery/launchpad/Initialize()
|
|
||||||
. = ..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/launchpad/B = new
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/launchpad
|
|
||||||
name = "Bluespace Launchpad (Machine Board)"
|
|
||||||
build_path = /obj/machinery/launchpad
|
|
||||||
origin_tech = "programming=3;engineering=3;plasmatech=2;bluespace=3"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/ore/bluespace_crystal = 1,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
|
||||||
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
|
||||||
|
|
||||||
/obj/machinery/launchpad/RefreshParts()
|
/obj/machinery/launchpad/RefreshParts()
|
||||||
var/E = -1 //to make default parts have the base value
|
var/E = -1 //to make default parts have the base value
|
||||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||||
@@ -171,9 +158,7 @@
|
|||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/launchpad/briefcase/Destroy()
|
/obj/machinery/launchpad/briefcase/Destroy()
|
||||||
if(!QDELETED(briefcase))
|
QDEL_NULL(briefcase)
|
||||||
qdel(briefcase)
|
|
||||||
briefcase = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/launchpad/briefcase/isAvailable()
|
/obj/machinery/launchpad/briefcase/isAvailable()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
// luminosity = 1
|
// luminosity = 1
|
||||||
|
|
||||||
/obj/machinery/light_switch/Initialize()
|
/obj/machinery/light_switch/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
area = get_area(src)
|
area = get_area(src)
|
||||||
|
|
||||||
if(otherarea)
|
if(otherarea)
|
||||||
|
|||||||
@@ -11,21 +11,20 @@
|
|||||||
icon_state = "limbgrower_idleoff"
|
icon_state = "limbgrower_idleoff"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
container_type = OPENCONTAINER
|
container_type = OPENCONTAINER
|
||||||
|
|
||||||
var/operating = FALSE
|
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
var/disabled = 0
|
|
||||||
idle_power_usage = 10
|
idle_power_usage = 10
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/limbgrower
|
||||||
|
|
||||||
|
var/operating = FALSE
|
||||||
|
var/disabled = FALSE
|
||||||
var/busy = FALSE
|
var/busy = FALSE
|
||||||
var/prod_coeff = 1
|
var/prod_coeff = 1
|
||||||
|
|
||||||
var/datum/design/being_built
|
var/datum/design/being_built
|
||||||
var/datum/research/files
|
var/datum/research/files
|
||||||
var/selected_category
|
var/selected_category
|
||||||
var/screen = 1
|
var/screen = 1
|
||||||
|
|
||||||
var/list/categories = list(
|
var/list/categories = list(
|
||||||
"human",
|
"human",
|
||||||
"lizard",
|
"lizard",
|
||||||
@@ -33,22 +32,11 @@
|
|||||||
"special"
|
"special"
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/machinery/limbgrower/New()
|
/obj/machinery/limbgrower/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
create_reagents(0)
|
create_reagents(0)
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/limbgrower(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
files = new /datum/research/limbgrower(src)
|
files = new /datum/research/limbgrower(src)
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/limbgrower
|
|
||||||
name = "Limb Grower (Machine Board)"
|
|
||||||
build_path = /obj/machinery/limbgrower
|
|
||||||
origin_tech = "programming=2;biotech=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
|
||||||
/obj/item/weapon/reagent_containers/glass/beaker = 2,
|
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
|
||||||
|
|
||||||
/obj/machinery/limbgrower/interact(mob/user)
|
/obj/machinery/limbgrower/interact(mob/user)
|
||||||
if(!is_operational())
|
if(!is_operational())
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
// This was created for firing ranges, but I suppose this could have other applications - Doohl
|
// This was created for firing ranges, but I suppose this could have other applications - Doohl
|
||||||
|
|
||||||
/obj/machinery/magnetic_module
|
/obj/machinery/magnetic_module
|
||||||
|
|
||||||
icon = 'icons/obj/objects.dmi'
|
icon = 'icons/obj/objects.dmi'
|
||||||
icon_state = "floor_magnet-f"
|
icon_state = "floor_magnet-f"
|
||||||
name = "electromagnetic generator"
|
name = "electromagnetic generator"
|
||||||
@@ -29,22 +28,22 @@
|
|||||||
var/center_y = 0
|
var/center_y = 0
|
||||||
var/max_dist = 20 // absolute value of center_x,y cannot exceed this integer
|
var/max_dist = 20 // absolute value of center_x,y cannot exceed this integer
|
||||||
|
|
||||||
/obj/machinery/magnetic_module/New()
|
/obj/machinery/magnetic_module/Initialize()
|
||||||
..()
|
..()
|
||||||
var/turf/T = loc
|
var/turf/T = loc
|
||||||
hide(T.intact)
|
hide(T.intact)
|
||||||
center = T
|
center = T
|
||||||
|
|
||||||
spawn(10) // must wait for map loading to finish
|
return INITIALIZE_HINT_LATELOAD
|
||||||
SSradio.add_object(src, freq, GLOB.RADIO_MAGNETS)
|
|
||||||
|
|
||||||
spawn()
|
/obj/machinery/magnetic_module/LateInitialize()
|
||||||
magnetic_process()
|
SSradio.add_object(src, freq, GLOB.RADIO_MAGNETS)
|
||||||
|
magnetic_process()
|
||||||
|
|
||||||
/obj/machinery/magnetic_module/Destroy()
|
/obj/machinery/magnetic_module/Destroy()
|
||||||
SSradio.remove_object(src, freq)
|
SSradio.remove_object(src, freq)
|
||||||
. = ..()
|
|
||||||
center = null
|
center = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
// update the invisibility and icon
|
// update the invisibility and icon
|
||||||
/obj/machinery/magnetic_module/hide(intact)
|
/obj/machinery/magnetic_module/hide(intact)
|
||||||
@@ -216,27 +215,26 @@
|
|||||||
var/datum/radio_frequency/radio_connection
|
var/datum/radio_frequency/radio_connection
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/magnetic_controller/New()
|
/obj/machinery/magnetic_controller/Initialize()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
if(autolink)
|
if(autolink)
|
||||||
for(var/obj/machinery/magnetic_module/M in GLOB.machines)
|
for(var/obj/machinery/magnetic_module/M in GLOB.machines)
|
||||||
if(M.freq == frequency && M.code == code)
|
if(M.freq == frequency && M.code == code)
|
||||||
magnets.Add(M)
|
magnets.Add(M)
|
||||||
|
|
||||||
|
|
||||||
spawn(45) // must wait for map loading to finish
|
|
||||||
radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_MAGNETS)
|
|
||||||
|
|
||||||
|
|
||||||
if(path) // check for default path
|
if(path) // check for default path
|
||||||
filter_path() // renders rpath
|
filter_path() // renders rpath
|
||||||
|
|
||||||
|
return INITIALIZE_HINT_LATELOAD
|
||||||
|
|
||||||
|
/obj/machinery/magnetic_controller/LateInitialize()
|
||||||
|
radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_MAGNETS)
|
||||||
|
|
||||||
/obj/machinery/magnetic_controller/Destroy()
|
/obj/machinery/magnetic_controller/Destroy()
|
||||||
SSradio.remove_object(src, frequency)
|
SSradio.remove_object(src, frequency)
|
||||||
magnets = null
|
magnets = null
|
||||||
rpath = null
|
rpath = null
|
||||||
. = ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/magnetic_controller/process()
|
/obj/machinery/magnetic_controller/process()
|
||||||
if(magnets.len == 0 && autolink)
|
if(magnets.len == 0 && autolink)
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
|
|
||||||
req_access = list(ACCESS_ENGINE, ACCESS_ROBOTICS)
|
req_access = list(ACCESS_ENGINE, ACCESS_ROBOTICS)
|
||||||
|
|
||||||
/obj/machinery/navbeacon/New()
|
/obj/machinery/navbeacon/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
|
|
||||||
set_codes()
|
set_codes()
|
||||||
|
|
||||||
|
|||||||
@@ -197,16 +197,15 @@ GLOBAL_LIST_EMPTY(allCasters)
|
|||||||
name = "security newscaster"
|
name = "security newscaster"
|
||||||
securityCaster = 1
|
securityCaster = 1
|
||||||
|
|
||||||
/obj/machinery/newscaster/New(loc, ndir, building)
|
/obj/machinery/newscaster/Initialize(mapload, ndir, building)
|
||||||
..()
|
. = ..()
|
||||||
if(building)
|
if(building)
|
||||||
setDir(ndir)
|
setDir(ndir)
|
||||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32)
|
pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32)
|
||||||
pixel_y = (dir & 3)? (dir ==1 ? -32 : 32) : 0
|
pixel_y = (dir & 3)? (dir ==1 ? -32 : 32) : 0
|
||||||
|
|
||||||
GLOB.allCasters += src
|
GLOB.allCasters += src
|
||||||
for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters)
|
unit_no = GLOB.allCasters.len
|
||||||
unit_no++
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/newscaster/Destroy()
|
/obj/machinery/newscaster/Destroy()
|
||||||
|
|||||||
@@ -72,8 +72,8 @@
|
|||||||
|
|
||||||
var/obj/machinery/turretid/cp = null
|
var/obj/machinery/turretid/cp = null
|
||||||
|
|
||||||
/obj/machinery/porta_turret/New(loc)
|
/obj/machinery/porta_turret/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
if(!base)
|
if(!base)
|
||||||
base = src
|
base = src
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -143,18 +143,13 @@
|
|||||||
|
|
||||||
/obj/machinery/porta_turret/Destroy()
|
/obj/machinery/porta_turret/Destroy()
|
||||||
//deletes its own cover with it
|
//deletes its own cover with it
|
||||||
if(cover)
|
QDEL_NULL(cover)
|
||||||
qdel(cover)
|
|
||||||
cover = null
|
|
||||||
base = null
|
base = null
|
||||||
if(cp)
|
if(cp)
|
||||||
cp.turrets -= src
|
cp.turrets -= src
|
||||||
cp = null
|
cp = null
|
||||||
if(stored_gun)
|
QDEL_NULL(stored_gun)
|
||||||
qdel(stored_gun)
|
QDEL_NULL(spark_system)
|
||||||
stored_gun = null
|
|
||||||
qdel(spark_system)
|
|
||||||
spark_system = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
@@ -602,8 +597,8 @@
|
|||||||
/obj/machinery/porta_turret/aux_base/interact(mob/user) //Controlled solely from the base console.
|
/obj/machinery/porta_turret/aux_base/interact(mob/user) //Controlled solely from the base console.
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/porta_turret/aux_base/New()
|
/obj/machinery/porta_turret/aux_base/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
cover.name = name
|
cover.name = name
|
||||||
cover.desc = desc
|
cover.desc = desc
|
||||||
|
|
||||||
@@ -650,8 +645,8 @@
|
|||||||
var/list/obj/machinery/porta_turret/turrets = list()
|
var/list/obj/machinery/porta_turret/turrets = list()
|
||||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||||
|
|
||||||
/obj/machinery/turretid/New(loc, ndir = 0, built = 0)
|
/obj/machinery/turretid/Initialize(loc, ndir = 0, built = 0)
|
||||||
..()
|
. = ..()
|
||||||
if(built)
|
if(built)
|
||||||
setDir(ndir)
|
setDir(ndir)
|
||||||
locked = FALSE
|
locked = FALSE
|
||||||
@@ -664,7 +659,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets
|
/obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets
|
||||||
..()
|
. = ..()
|
||||||
if(!mapload)
|
if(!mapload)
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -681,7 +676,8 @@
|
|||||||
T.cp = src
|
T.cp = src
|
||||||
|
|
||||||
/obj/machinery/turretid/attackby(obj/item/I, mob/user, params)
|
/obj/machinery/turretid/attackby(obj/item/I, mob/user, params)
|
||||||
if(stat & BROKEN) return
|
if(stat & BROKEN)
|
||||||
|
return
|
||||||
|
|
||||||
if (istype(I, /obj/item/device/multitool))
|
if (istype(I, /obj/item/device/multitool))
|
||||||
var/obj/item/device/multitool/M = I
|
var/obj/item/device/multitool/M = I
|
||||||
|
|||||||
@@ -8,28 +8,13 @@
|
|||||||
idle_power_usage = 200
|
idle_power_usage = 200
|
||||||
active_power_usage = 5000
|
active_power_usage = 5000
|
||||||
unique_rename = 1
|
unique_rename = 1
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/quantumpad
|
||||||
var/teleport_cooldown = 400 //30 seconds base due to base parts
|
var/teleport_cooldown = 400 //30 seconds base due to base parts
|
||||||
var/teleport_speed = 50
|
var/teleport_speed = 50
|
||||||
var/last_teleport //to handle the cooldown
|
var/last_teleport //to handle the cooldown
|
||||||
var/teleporting = 0 //if it's in the process of teleporting
|
var/teleporting = 0 //if it's in the process of teleporting
|
||||||
var/power_efficiency = 1
|
var/power_efficiency = 1
|
||||||
var/obj/machinery/quantumpad/linked_pad = null
|
var/obj/machinery/quantumpad/linked_pad
|
||||||
|
|
||||||
/obj/machinery/quantumpad/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/quantumpad(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/quantumpad
|
|
||||||
name = "Quantum Pad (Machine Board)"
|
|
||||||
build_path = /obj/machinery/quantumpad
|
|
||||||
origin_tech = "programming=3;engineering=3;plasmatech=3;bluespace=4"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/ore/bluespace_crystal = 1,
|
|
||||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
|
||||||
/obj/item/stack/cable_coil = 1)
|
|
||||||
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
|
||||||
|
|
||||||
/obj/machinery/quantumpad/RefreshParts()
|
/obj/machinery/quantumpad/RefreshParts()
|
||||||
var/E = 0
|
var/E = 0
|
||||||
|
|||||||
@@ -7,20 +7,14 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 4
|
idle_power_usage = 4
|
||||||
active_power_usage = 250
|
active_power_usage = 250
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/recharger
|
||||||
var/obj/item/charging = null
|
var/obj/item/charging = null
|
||||||
var/static/list/allowed_devices = typecacheof(list(/obj/item/weapon/gun/energy, /obj/item/weapon/melee/baton, /obj/item/ammo_box/magazine/recharge, /obj/item/device/modular_computer))
|
|
||||||
var/recharge_coeff = 1
|
var/recharge_coeff = 1
|
||||||
|
var/static/list/allowed_devices = typecacheof(list(
|
||||||
/obj/machinery/recharger/Initialize()
|
/obj/item/weapon/gun/energy,
|
||||||
. = ..()
|
/obj/item/weapon/melee/baton,
|
||||||
var/obj/item/weapon/circuitboard/machine/recharger/B = new()
|
/obj/item/ammo_box/magazine/recharge,
|
||||||
B.apply_default_parts(src)
|
/obj/item/device/modular_computer))
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/recharger
|
|
||||||
name = "Weapon Recharger (Machine Board)"
|
|
||||||
build_path = /obj/machinery/recharger
|
|
||||||
origin_tech = "powerstorage=4;engineering=3;materials=4"
|
|
||||||
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
|
||||||
|
|
||||||
/obj/machinery/recharger/RefreshParts()
|
/obj/machinery/recharger/RefreshParts()
|
||||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||||
|
|||||||
@@ -8,27 +8,15 @@
|
|||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 1000
|
active_power_usage = 1000
|
||||||
req_access = list(ACCESS_ROBOTICS)
|
req_access = list(ACCESS_ROBOTICS)
|
||||||
|
state_open = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/cyborgrecharger
|
||||||
var/recharge_speed
|
var/recharge_speed
|
||||||
var/repairs
|
var/repairs
|
||||||
state_open = TRUE
|
|
||||||
|
|
||||||
/obj/machinery/recharge_station/New()
|
/obj/machinery/recharge_station/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/cyborgrecharger(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/cyborgrecharger
|
|
||||||
name = "Cyborg Recharger (Machine Board)"
|
|
||||||
build_path = /obj/machinery/recharge_station
|
|
||||||
origin_tech = "powerstorage=3;engineering=3"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
|
||||||
/obj/item/weapon/stock_parts/cell = 1,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1)
|
|
||||||
def_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/cell = /obj/item/weapon/stock_parts/cell/high)
|
|
||||||
|
|
||||||
/obj/machinery/recharge_station/RefreshParts()
|
/obj/machinery/recharge_station/RefreshParts()
|
||||||
recharge_speed = 0
|
recharge_speed = 0
|
||||||
repairs = 0
|
repairs = 0
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
layer = ABOVE_ALL_MOB_LAYER // Overhead
|
layer = ABOVE_ALL_MOB_LAYER // Overhead
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
density = TRUE
|
density = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/recycler
|
||||||
var/safety_mode = FALSE // Temporarily stops machine if it detects a mob
|
var/safety_mode = FALSE // Temporarily stops machine if it detects a mob
|
||||||
var/icon_name = "grinder-o"
|
var/icon_name = "grinder-o"
|
||||||
var/blood = 0
|
var/blood = 0
|
||||||
@@ -18,20 +19,10 @@
|
|||||||
var/eat_victim_items = TRUE
|
var/eat_victim_items = TRUE
|
||||||
var/item_recycle_sound = 'sound/items/welder.ogg'
|
var/item_recycle_sound = 'sound/items/welder.ogg'
|
||||||
|
|
||||||
/obj/machinery/recycler/New()
|
/obj/machinery/recycler/Initialize()
|
||||||
..()
|
|
||||||
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
|
materials = new /datum/material_container(src, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/recycler(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
return ..()
|
||||||
/obj/item/weapon/circuitboard/machine/recycler
|
|
||||||
name = "Recycler (Machine Board)"
|
|
||||||
build_path = /obj/machinery/recycler
|
|
||||||
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/recycler/RefreshParts()
|
/obj/machinery/recycler/RefreshParts()
|
||||||
var/amt_made = 0
|
var/amt_made = 0
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
|
|||||||
icon_state = "req_comp0"
|
icon_state = "req_comp0"
|
||||||
|
|
||||||
/obj/machinery/requests_console/Initialize()
|
/obj/machinery/requests_console/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
name = "\improper [department] requests console"
|
name = "\improper [department] requests console"
|
||||||
GLOB.allConsoles += src
|
GLOB.allConsoles += src
|
||||||
switch(departmentType)
|
switch(departmentType)
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
max_integrity = 200 //The shield can only take so much beating (prevents perma-prisons)
|
max_integrity = 200 //The shield can only take so much beating (prevents perma-prisons)
|
||||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||||
|
|
||||||
/obj/structure/emergency_shield/New()
|
/obj/structure/emergency_shield/Initialize()
|
||||||
src.setDir(pick(1,2,3,4))
|
setDir(pick(1,2,3,4))
|
||||||
..()
|
. = ..()
|
||||||
air_update_turf(1)
|
air_update_turf(1)
|
||||||
|
|
||||||
/obj/structure/emergency_shield/Destroy()
|
/obj/structure/emergency_shield/Destroy()
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
light_color = LIGHT_COLOR_BROWN
|
light_color = LIGHT_COLOR_BROWN
|
||||||
|
|
||||||
/obj/machinery/computer/slot_machine/Initialize()
|
/obj/machinery/computer/slot_machine/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
jackpots = rand(1, 4) //false hope
|
jackpots = rand(1, 4) //false hope
|
||||||
plays = rand(75, 200)
|
plays = rand(75, 200)
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
desc = "Made by Space Amish using traditional space techniques, this heater/cooler is guaranteed not to set the station on fire."
|
desc = "Made by Space Amish using traditional space techniques, this heater/cooler is guaranteed not to set the station on fire."
|
||||||
max_integrity = 250
|
max_integrity = 250
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 10)
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 10)
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/space_heater
|
||||||
var/obj/item/weapon/stock_parts/cell/cell
|
var/obj/item/weapon/stock_parts/cell/cell
|
||||||
var/on = FALSE
|
var/on = FALSE
|
||||||
var/mode = HEATER_MODE_STANDBY
|
var/mode = HEATER_MODE_STANDBY
|
||||||
@@ -26,22 +27,11 @@
|
|||||||
/obj/machinery/space_heater/get_cell()
|
/obj/machinery/space_heater/get_cell()
|
||||||
return cell
|
return cell
|
||||||
|
|
||||||
/obj/machinery/space_heater/New()
|
/obj/machinery/space_heater/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
cell = new(src)
|
cell = new(src)
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/space_heater(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/space_heater
|
|
||||||
name = "Space Heater (Machine Board)"
|
|
||||||
build_path = /obj/machinery/space_heater
|
|
||||||
origin_tech = "programming=2;engineering=2;plasmatech=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
|
||||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
|
||||||
/obj/item/stack/cable_coil = 3)
|
|
||||||
|
|
||||||
/obj/machinery/space_heater/on_construction()
|
/obj/machinery/space_heater/on_construction()
|
||||||
qdel(cell)
|
qdel(cell)
|
||||||
cell = null
|
cell = null
|
||||||
|
|||||||
@@ -101,8 +101,8 @@
|
|||||||
mask_type = /obj/item/clothing/mask/breath
|
mask_type = /obj/item/clothing/mask/breath
|
||||||
storage_type = /obj/item/weapon/tank/internals/emergency_oxygen/double
|
storage_type = /obj/item/weapon/tank/internals/emergency_oxygen/double
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/New()
|
/obj/machinery/suit_storage_unit/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
wires = new /datum/wires/suit_storage_unit(src)
|
wires = new /datum/wires/suit_storage_unit(src)
|
||||||
if(suit_type)
|
if(suit_type)
|
||||||
suit = new suit_type(src)
|
suit = new suit_type(src)
|
||||||
@@ -115,18 +115,10 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/Destroy()
|
/obj/machinery/suit_storage_unit/Destroy()
|
||||||
if(suit)
|
QDEL_NULL(suit)
|
||||||
qdel(suit)
|
QDEL_NULL(helmet)
|
||||||
suit = null
|
QDEL_NULL(mask)
|
||||||
if(helmet)
|
QDEL_NULL(storage)
|
||||||
qdel(helmet)
|
|
||||||
helmet = null
|
|
||||||
if(mask)
|
|
||||||
qdel(mask)
|
|
||||||
mask = null
|
|
||||||
if(storage)
|
|
||||||
qdel(storage)
|
|
||||||
storage = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/update_icon()
|
/obj/machinery/suit_storage_unit/update_icon()
|
||||||
|
|||||||
@@ -82,22 +82,19 @@
|
|||||||
countdown.stop()
|
countdown.stop()
|
||||||
STOP_PROCESSING(SSfastprocess, src)
|
STOP_PROCESSING(SSfastprocess, src)
|
||||||
|
|
||||||
/obj/machinery/syndicatebomb/New()
|
/obj/machinery/syndicatebomb/Initialize()
|
||||||
|
. = ..()
|
||||||
wires = new /datum/wires/syndicatebomb(src)
|
wires = new /datum/wires/syndicatebomb(src)
|
||||||
if(src.payload)
|
if(payload)
|
||||||
payload = new payload(src)
|
payload = new payload(src)
|
||||||
update_icon()
|
update_icon()
|
||||||
countdown = new(src)
|
countdown = new(src)
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/syndicatebomb/Destroy()
|
/obj/machinery/syndicatebomb/Destroy()
|
||||||
qdel(wires)
|
QDEL_NULL(wires)
|
||||||
wires = null
|
QDEL_NULL(countdown)
|
||||||
if(countdown)
|
|
||||||
qdel(countdown)
|
|
||||||
countdown = null
|
|
||||||
STOP_PROCESSING(SSfastprocess, src)
|
STOP_PROCESSING(SSfastprocess, src)
|
||||||
. = ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/syndicatebomb/examine(mob/user)
|
/obj/machinery/syndicatebomb/examine(mob/user)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 25
|
idle_power_usage = 25
|
||||||
machinetype = 5
|
machinetype = 5
|
||||||
/*heatgen = 0
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/broadcaster
|
||||||
delay = 7*/
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/broadcaster/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
/obj/machinery/telecomms/broadcaster/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
||||||
// Don't broadcast rejected signals
|
// Don't broadcast rejected signals
|
||||||
@@ -82,22 +81,6 @@ GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages
|
|||||||
/* --- Do a snazzy animation! --- */
|
/* --- Do a snazzy animation! --- */
|
||||||
flick("broadcaster_send", src)
|
flick("broadcaster_send", src)
|
||||||
|
|
||||||
/obj/machinery/telecomms/broadcaster/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/broadcaster(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/broadcaster
|
|
||||||
name = "Subspace Broadcaster (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/broadcaster
|
|
||||||
origin_tech = "programming=2;engineering=2;bluespace=1"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/cable_coil = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/crystal = 1,
|
|
||||||
/obj/item/weapon/stock_parts/micro_laser = 2)
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/broadcaster/Destroy()
|
/obj/machinery/telecomms/broadcaster/Destroy()
|
||||||
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
|
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
|
||||||
if(GLOB.message_delay)
|
if(GLOB.message_delay)
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 50
|
idle_power_usage = 50
|
||||||
machinetype = 2
|
machinetype = 2
|
||||||
//heatgen = 20
|
|
||||||
netspeed = 40
|
netspeed = 40
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/bus
|
||||||
var/change_frequency = 0
|
var/change_frequency = 0
|
||||||
|
|
||||||
/obj/machinery/telecomms/bus/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
/obj/machinery/telecomms/bus/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
||||||
@@ -49,24 +49,6 @@
|
|||||||
if(can_send)
|
if(can_send)
|
||||||
break
|
break
|
||||||
|
|
||||||
/obj/machinery/telecomms/bus/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/bus(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/bus
|
|
||||||
name = "Bus Mainframe (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/bus
|
|
||||||
origin_tech = "programming=2;engineering=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/cable_coil = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Preset Buses
|
//Preset Buses
|
||||||
|
|
||||||
/obj/machinery/telecomms/bus/preset_one
|
/obj/machinery/telecomms/bus/preset_one
|
||||||
@@ -93,10 +75,10 @@
|
|||||||
freq_listening = list(GLOB.ENG_FREQ)
|
freq_listening = list(GLOB.ENG_FREQ)
|
||||||
autolinkers = list("processor4", "engineering", "common")
|
autolinkers = list("processor4", "engineering", "common")
|
||||||
|
|
||||||
/obj/machinery/telecomms/bus/preset_four/New()
|
/obj/machinery/telecomms/bus/preset_four/Initialize()
|
||||||
|
. = ..()
|
||||||
for(var/i = 1441, i < 1489, i += 2)
|
for(var/i = 1441, i < 1489, i += 2)
|
||||||
freq_listening |= i
|
freq_listening |= i
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/bus/preset_one/birdstation
|
/obj/machinery/telecomms/bus/preset_one/birdstation
|
||||||
name = "Bus"
|
name = "Bus"
|
||||||
|
|||||||
@@ -18,10 +18,9 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 80
|
idle_power_usage = 80
|
||||||
machinetype = 7
|
machinetype = 7
|
||||||
//heatgen = 40
|
|
||||||
long_range_link = 1
|
long_range_link = 1
|
||||||
netspeed = 40
|
netspeed = 40
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/hub
|
||||||
|
|
||||||
/obj/machinery/telecomms/hub/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
/obj/machinery/telecomms/hub/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
||||||
if(is_freq_listening(signal))
|
if(is_freq_listening(signal))
|
||||||
@@ -33,23 +32,6 @@
|
|||||||
relay_information(signal, "/obj/machinery/telecomms/relay", 1)
|
relay_information(signal, "/obj/machinery/telecomms/relay", 1)
|
||||||
relay_information(signal, "/obj/machinery/telecomms/broadcaster", 1) // Send it to a broadcaster.
|
relay_information(signal, "/obj/machinery/telecomms/broadcaster", 1) // Send it to a broadcaster.
|
||||||
|
|
||||||
/obj/machinery/telecomms/hub/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/hub(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/hub
|
|
||||||
name = "Hub Mainframe (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/hub
|
|
||||||
origin_tech = "programming=2;engineering=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Preset HUB
|
//Preset HUB
|
||||||
|
|
||||||
/obj/machinery/telecomms/hub/preset
|
/obj/machinery/telecomms/hub/preset
|
||||||
|
|||||||
@@ -16,8 +16,7 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 30
|
idle_power_usage = 30
|
||||||
machinetype = 3
|
machinetype = 3
|
||||||
//heatgen = 100
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/processor
|
||||||
//delay = 5
|
|
||||||
var/process_mode = 1 // 1 = Uncompress Signals, 0 = Compress Signals
|
var/process_mode = 1 // 1 = Uncompress Signals, 0 = Compress Signals
|
||||||
|
|
||||||
/obj/machinery/telecomms/processor/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
/obj/machinery/telecomms/processor/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
||||||
@@ -35,24 +34,6 @@
|
|||||||
signal.data["slow"] += rand(5, 10) // slow the signal down
|
signal.data["slow"] += rand(5, 10) // slow the signal down
|
||||||
relay_information(signal, "/obj/machinery/telecomms/server")
|
relay_information(signal, "/obj/machinery/telecomms/server")
|
||||||
|
|
||||||
/obj/machinery/telecomms/processor/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/processor(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/processor
|
|
||||||
name = "Processor Unit (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/processor
|
|
||||||
origin_tech = "programming=2;engineering=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 3,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/treatment = 2,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/analyzer = 1,
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/amplifier = 1)
|
|
||||||
|
|
||||||
|
|
||||||
//Preset Processors
|
//Preset Processors
|
||||||
|
|
||||||
/obj/machinery/telecomms/processor/preset_one
|
/obj/machinery/telecomms/processor/preset_one
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 30
|
idle_power_usage = 30
|
||||||
machinetype = 1
|
machinetype = 1
|
||||||
//heatgen = 0
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/receiver
|
||||||
|
|
||||||
/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal)
|
/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal)
|
||||||
|
|
||||||
@@ -50,25 +50,6 @@
|
|||||||
return 0
|
return 0
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/receiver/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/receiver(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/receiver
|
|
||||||
name = "Subspace Receiver (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/receiver
|
|
||||||
origin_tech = "programming=2;engineering=2;bluespace=1"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/subspace/ansible = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/weapon/stock_parts/micro_laser = 1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Preset Receivers
|
//Preset Receivers
|
||||||
|
|
||||||
//--PRESET LEFT--//
|
//--PRESET LEFT--//
|
||||||
@@ -89,10 +70,10 @@
|
|||||||
freq_listening = list(GLOB.COMM_FREQ, GLOB.ENG_FREQ, GLOB.SEC_FREQ) //command, engineering, security
|
freq_listening = list(GLOB.COMM_FREQ, GLOB.ENG_FREQ, GLOB.SEC_FREQ) //command, engineering, security
|
||||||
|
|
||||||
//Common and other radio frequencies for people to freely use
|
//Common and other radio frequencies for people to freely use
|
||||||
/obj/machinery/telecomms/receiver/preset_right/New()
|
/obj/machinery/telecomms/receiver/preset_right/Initialize()
|
||||||
|
. = ..()
|
||||||
for(var/i = 1441, i < 1489, i += 2)
|
for(var/i = 1441, i < 1489, i += 2)
|
||||||
freq_listening |= i
|
freq_listening |= i
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/receiver/preset_left/birdstation
|
/obj/machinery/telecomms/receiver/preset_left/birdstation
|
||||||
name = "Receiver"
|
name = "Receiver"
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 30
|
idle_power_usage = 30
|
||||||
machinetype = 8
|
machinetype = 8
|
||||||
//heatgen = 0
|
|
||||||
netspeed = 5
|
netspeed = 5
|
||||||
long_range_link = 1
|
long_range_link = 1
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/relay
|
||||||
var/broadcasting = 1
|
var/broadcasting = 1
|
||||||
var/receiving = 1
|
var/receiving = 1
|
||||||
|
|
||||||
@@ -45,22 +45,6 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
return receiving
|
return receiving
|
||||||
|
|
||||||
/obj/machinery/telecomms/relay/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/relay(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/relay
|
|
||||||
name = "Relay Mainframe (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/relay
|
|
||||||
origin_tech = "programming=2;engineering=2;bluespace=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Preset Relay
|
//Preset Relay
|
||||||
|
|
||||||
/obj/machinery/telecomms/relay/preset
|
/obj/machinery/telecomms/relay/preset
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 15
|
idle_power_usage = 15
|
||||||
machinetype = 4
|
machinetype = 4
|
||||||
//heatgen = 50
|
circuit = /obj/item/weapon/circuitboard/machine/telecomms/server
|
||||||
var/list/log_entries = list()
|
var/list/log_entries = list()
|
||||||
var/list/stored_names = list()
|
var/list/stored_names = list()
|
||||||
var/list/TrafficActions = list()
|
var/list/TrafficActions = list()
|
||||||
@@ -32,20 +32,9 @@
|
|||||||
var/obj/item/device/radio/headset/server_radio = null
|
var/obj/item/device/radio/headset/server_radio = null
|
||||||
var/last_signal = 0 // Last time it sent a signal
|
var/last_signal = 0 // Last time it sent a signal
|
||||||
|
|
||||||
/obj/machinery/telecomms/server/New()
|
/obj/machinery/telecomms/server/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/telecomms/server(null)
|
server_radio = new
|
||||||
B.apply_default_parts(src)
|
|
||||||
server_radio = new()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/telecomms/server
|
|
||||||
name = "Telecommunication Server (Machine Board)"
|
|
||||||
build_path = /obj/machinery/telecomms/server
|
|
||||||
origin_tech = "programming=2;engineering=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 2,
|
|
||||||
/obj/item/stack/cable_coil = 1,
|
|
||||||
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/server/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
/obj/machinery/telecomms/server/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
|
||||||
if(signal.data["message"])
|
if(signal.data["message"])
|
||||||
@@ -135,8 +124,8 @@
|
|||||||
/obj/machinery/telecomms/server/presets
|
/obj/machinery/telecomms/server/presets
|
||||||
network = "tcommsat"
|
network = "tcommsat"
|
||||||
|
|
||||||
/obj/machinery/telecomms/server/presets/New()
|
/obj/machinery/telecomms/server/presets/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
name = id
|
name = id
|
||||||
|
|
||||||
|
|
||||||
@@ -167,10 +156,10 @@
|
|||||||
|
|
||||||
//Common and other radio frequencies for people to freely use
|
//Common and other radio frequencies for people to freely use
|
||||||
// 1441 to 1489
|
// 1441 to 1489
|
||||||
/obj/machinery/telecomms/server/presets/common/New()
|
/obj/machinery/telecomms/server/presets/common/Initialize()
|
||||||
|
. = ..()
|
||||||
for(var/i = 1441, i < 1489, i += 2)
|
for(var/i = 1441, i < 1489, i += 2)
|
||||||
freq_listening |= i
|
freq_listening |= i
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/server/presets/command
|
/obj/machinery/telecomms/server/presets/command
|
||||||
id = "Command Server"
|
id = "Command Server"
|
||||||
@@ -187,6 +176,6 @@
|
|||||||
freq_listening = list(GLOB.SEC_FREQ)
|
freq_listening = list(GLOB.SEC_FREQ)
|
||||||
autolinkers = list("security")
|
autolinkers = list("security")
|
||||||
|
|
||||||
/obj/machinery/telecomms/server/presets/common/birdstation/New()
|
/obj/machinery/telecomms/server/presets/common/birdstation/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
freq_listening = list()
|
freq_listening = list()
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ GLOBAL_LIST_EMPTY(telecomms_list)
|
|||||||
|
|
||||||
/obj/machinery/telecomms
|
/obj/machinery/telecomms
|
||||||
icon = 'icons/obj/machines/telecomms.dmi'
|
icon = 'icons/obj/machines/telecomms.dmi'
|
||||||
|
critical_machine = TRUE
|
||||||
var/list/links = list() // list of machines this machine is linked to
|
var/list/links = list() // list of machines this machine is linked to
|
||||||
var/traffic = 0 // value increases as traffic increases
|
var/traffic = 0 // value increases as traffic increases
|
||||||
var/netspeed = 5 // how much traffic to lose per tick (50 gigabytes/second * netspeed)
|
var/netspeed = 5 // how much traffic to lose per tick (50 gigabytes/second * netspeed)
|
||||||
@@ -31,7 +32,6 @@ GLOBAL_LIST_EMPTY(telecomms_list)
|
|||||||
var/long_range_link = 0 // Can you link it across Z levels or on the otherside of the map? (Relay & Hub)
|
var/long_range_link = 0 // Can you link it across Z levels or on the otherside of the map? (Relay & Hub)
|
||||||
var/hide = 0 // Is it a hidden machine?
|
var/hide = 0 // Is it a hidden machine?
|
||||||
var/listening_level = 0 // 0 = auto set in New() - this is the z level that the machine is listening to.
|
var/listening_level = 0 // 0 = auto set in New() - this is the z level that the machine is listening to.
|
||||||
critical_machine = TRUE
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/telecomms/proc/relay_information(datum/signal/signal, filter, copysig, amount = 20)
|
/obj/machinery/telecomms/proc/relay_information(datum/signal/signal, filter, copysig, amount = 20)
|
||||||
@@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(telecomms_list)
|
|||||||
listening_level = position.z
|
listening_level = position.z
|
||||||
|
|
||||||
/obj/machinery/telecomms/Initialize(mapload)
|
/obj/machinery/telecomms/Initialize(mapload)
|
||||||
..()
|
. = ..()
|
||||||
if(mapload && autolinkers.len)
|
if(mapload && autolinkers.len)
|
||||||
// Links nearby machines
|
// Links nearby machines
|
||||||
if(!long_range_link)
|
if(!long_range_link)
|
||||||
|
|||||||
@@ -1,221 +1,3 @@
|
|||||||
/obj/machinery/computer/teleporter
|
|
||||||
name = "teleporter control console"
|
|
||||||
desc = "Used to control a linked teleportation Hub and Station."
|
|
||||||
icon_screen = "teleport"
|
|
||||||
icon_keyboard = "teleport_key"
|
|
||||||
circuit = /obj/item/weapon/circuitboard/computer/teleporter
|
|
||||||
var/obj/item/device/gps/locked = null
|
|
||||||
var/regime_set = "Teleporter"
|
|
||||||
var/id = null
|
|
||||||
var/obj/machinery/teleport/station/power_station
|
|
||||||
var/calibrating
|
|
||||||
var/turf/target //Used for one-time-use teleport cards (such as clown planet coordinates.)
|
|
||||||
//Setting this to 1 will set src.locked to null after a player enters the portal and will not allow hand-teles to open portals to that location.
|
|
||||||
|
|
||||||
light_color = LIGHT_COLOR_BLUE
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/New()
|
|
||||||
src.id = "[rand(1000, 9999)]"
|
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/Initialize()
|
|
||||||
..()
|
|
||||||
link_power_station()
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/Destroy()
|
|
||||||
if (power_station)
|
|
||||||
power_station.teleporter_console = null
|
|
||||||
power_station = null
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/proc/link_power_station()
|
|
||||||
if(power_station)
|
|
||||||
return
|
|
||||||
for(dir in list(NORTH,EAST,SOUTH,WEST))
|
|
||||||
power_station = locate(/obj/machinery/teleport/station, get_step(src, dir))
|
|
||||||
if(power_station)
|
|
||||||
break
|
|
||||||
return power_station
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/attackby(obj/I, mob/living/user, params)
|
|
||||||
if(istype(I, /obj/item/device/gps))
|
|
||||||
var/obj/item/device/gps/L = I
|
|
||||||
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
|
|
||||||
if(!user.transferItemToLoc(L, src))
|
|
||||||
to_chat(user, "<span class='warning'>\the [I] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
|
||||||
return
|
|
||||||
locked = L
|
|
||||||
to_chat(user, "<span class='caution'>You insert the GPS device into the [name]'s slot.</span>")
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/attack_ai(mob/user)
|
|
||||||
src.attack_hand(user)
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/attack_hand(mob/user)
|
|
||||||
if(..())
|
|
||||||
return
|
|
||||||
interact(user)
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/interact(mob/user)
|
|
||||||
var/data = "<h3>Teleporter Status</h3>"
|
|
||||||
if(!power_station)
|
|
||||||
data += "<div class='statusDisplay'>No power station linked.</div>"
|
|
||||||
else if(!power_station.teleporter_hub)
|
|
||||||
data += "<div class='statusDisplay'>No hub linked.</div>"
|
|
||||||
else
|
|
||||||
data += "<div class='statusDisplay'>Current regime: [regime_set]<BR>"
|
|
||||||
data += "Current target: [(!target) ? "None" : "[get_area(target)] [(regime_set != "Gate") ? "" : "Teleporter"]"]<BR>"
|
|
||||||
if(calibrating)
|
|
||||||
data += "Calibration: <font color='yellow'>In Progress</font>"
|
|
||||||
else if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
|
|
||||||
data += "Calibration: <font color='green'>Optimal</font>"
|
|
||||||
else
|
|
||||||
data += "Calibration: <font color='red'>Sub-Optimal</font>"
|
|
||||||
data += "</div><BR>"
|
|
||||||
|
|
||||||
data += "<A href='?src=\ref[src];regimeset=1'>Change regime</A><BR>"
|
|
||||||
data += "<A href='?src=\ref[src];settarget=1'>Set target</A><BR>"
|
|
||||||
if(locked)
|
|
||||||
data += "<BR><A href='?src=\ref[src];locked=1'>Get target from memory</A><BR>"
|
|
||||||
data += "<A href='?src=\ref[src];eject=1'>Eject GPS device</A><BR>"
|
|
||||||
else
|
|
||||||
data += "<BR><span class='linkOff'>Get target from memory</span><BR>"
|
|
||||||
data += "<span class='linkOff'>Eject GPS device</span><BR>"
|
|
||||||
|
|
||||||
data += "<BR><A href='?src=\ref[src];calibrate=1'>Calibrate Hub</A>"
|
|
||||||
|
|
||||||
var/datum/browser/popup = new(user, "teleporter", name, 400, 400)
|
|
||||||
popup.set_content(data)
|
|
||||||
popup.open()
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/Topic(href, href_list)
|
|
||||||
if(..())
|
|
||||||
return
|
|
||||||
|
|
||||||
if(href_list["eject"])
|
|
||||||
eject()
|
|
||||||
updateDialog()
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!check_hub_connection())
|
|
||||||
say("Error: Unable to detect hub.")
|
|
||||||
return
|
|
||||||
if(calibrating)
|
|
||||||
say("Error: Calibration in progress. Stand by.")
|
|
||||||
return
|
|
||||||
|
|
||||||
if(href_list["regimeset"])
|
|
||||||
power_station.engaged = 0
|
|
||||||
power_station.teleporter_hub.update_icon()
|
|
||||||
power_station.teleporter_hub.calibrated = 0
|
|
||||||
reset_regime()
|
|
||||||
if(href_list["settarget"])
|
|
||||||
power_station.engaged = 0
|
|
||||||
power_station.teleporter_hub.update_icon()
|
|
||||||
power_station.teleporter_hub.calibrated = 0
|
|
||||||
set_target(usr)
|
|
||||||
if(href_list["locked"])
|
|
||||||
power_station.engaged = 0
|
|
||||||
power_station.teleporter_hub.update_icon()
|
|
||||||
power_station.teleporter_hub.calibrated = 0
|
|
||||||
target = get_turf(locked.locked_location)
|
|
||||||
if(href_list["calibrate"])
|
|
||||||
if(!target)
|
|
||||||
say("Error: No target set to calibrate to.")
|
|
||||||
return
|
|
||||||
if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
|
|
||||||
say("Hub is already calibrated!")
|
|
||||||
return
|
|
||||||
say("Processing hub calibration to target...")
|
|
||||||
|
|
||||||
calibrating = 1
|
|
||||||
spawn(50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
|
|
||||||
calibrating = 0
|
|
||||||
if(check_hub_connection())
|
|
||||||
power_station.teleporter_hub.calibrated = 1
|
|
||||||
say("Calibration complete.")
|
|
||||||
else
|
|
||||||
say("Error: Unable to detect hub.")
|
|
||||||
updateDialog()
|
|
||||||
|
|
||||||
updateDialog()
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/proc/check_hub_connection()
|
|
||||||
if(!power_station)
|
|
||||||
return
|
|
||||||
if(!power_station.teleporter_hub)
|
|
||||||
return
|
|
||||||
return 1
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/proc/reset_regime()
|
|
||||||
target = null
|
|
||||||
if(regime_set == "Teleporter")
|
|
||||||
regime_set = "Gate"
|
|
||||||
else
|
|
||||||
regime_set = "Teleporter"
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/proc/eject()
|
|
||||||
if(locked)
|
|
||||||
locked.loc = loc
|
|
||||||
locked = null
|
|
||||||
|
|
||||||
/obj/machinery/computer/teleporter/proc/set_target(mob/user)
|
|
||||||
var/list/L = list()
|
|
||||||
var/list/areaindex = list()
|
|
||||||
if(regime_set == "Teleporter")
|
|
||||||
for(var/obj/item/device/radio/beacon/R in GLOB.teleportbeacons)
|
|
||||||
var/turf/T = get_turf(R)
|
|
||||||
if(!T)
|
|
||||||
continue
|
|
||||||
if(T.z == ZLEVEL_CENTCOM || T.z > ZLEVEL_SPACEMAX)
|
|
||||||
continue
|
|
||||||
L[avoid_assoc_duplicate_keys(T.loc.name, areaindex)] = R
|
|
||||||
|
|
||||||
for(var/obj/item/weapon/implant/tracking/I in GLOB.tracked_implants)
|
|
||||||
if(!I.imp_in || !ismob(I.loc))
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
var/mob/M = I.loc
|
|
||||||
if(M.stat == DEAD)
|
|
||||||
if(M.timeofdeath + 6000 < world.time)
|
|
||||||
continue
|
|
||||||
var/turf/T = get_turf(M)
|
|
||||||
if(!T)
|
|
||||||
continue
|
|
||||||
if(T.z == ZLEVEL_CENTCOM)
|
|
||||||
continue
|
|
||||||
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = I
|
|
||||||
|
|
||||||
var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in L
|
|
||||||
target = L[desc]
|
|
||||||
|
|
||||||
else
|
|
||||||
var/list/S = power_station.linked_stations
|
|
||||||
if(!S.len)
|
|
||||||
to_chat(user, "<span class='alert'>No connected stations located.</span>")
|
|
||||||
return
|
|
||||||
for(var/obj/machinery/teleport/station/R in S)
|
|
||||||
var/turf/T = get_turf(R)
|
|
||||||
if(!T || !R.teleporter_hub || !R.teleporter_console)
|
|
||||||
continue
|
|
||||||
if(T.z == ZLEVEL_CENTCOM || T.z > ZLEVEL_SPACEMAX)
|
|
||||||
continue
|
|
||||||
L[avoid_assoc_duplicate_keys(T.loc.name, areaindex)] = R
|
|
||||||
var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in L
|
|
||||||
target = L[desc]
|
|
||||||
if(target)
|
|
||||||
var/obj/machinery/teleport/station/trg = target
|
|
||||||
trg.linked_stations |= power_station
|
|
||||||
trg.stat &= ~NOPOWER
|
|
||||||
if(trg.teleporter_hub)
|
|
||||||
trg.teleporter_hub.stat &= ~NOPOWER
|
|
||||||
trg.teleporter_hub.update_icon()
|
|
||||||
if(trg.teleporter_console)
|
|
||||||
trg.teleporter_console.stat &= ~NOPOWER
|
|
||||||
trg.teleporter_console.update_icon()
|
|
||||||
|
|
||||||
/obj/machinery/teleport
|
/obj/machinery/teleport
|
||||||
name = "teleport"
|
name = "teleport"
|
||||||
icon = 'icons/obj/machines/teleporter.dmi'
|
icon = 'icons/obj/machines/teleporter.dmi'
|
||||||
@@ -226,29 +8,16 @@
|
|||||||
name = "teleporter hub"
|
name = "teleporter hub"
|
||||||
desc = "It's the hub of a teleporting machine."
|
desc = "It's the hub of a teleporting machine."
|
||||||
icon_state = "tele0"
|
icon_state = "tele0"
|
||||||
var/accurate = 0
|
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 10
|
idle_power_usage = 10
|
||||||
active_power_usage = 2000
|
active_power_usage = 2000
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/teleporter_hub
|
||||||
|
var/accurate = FALSE
|
||||||
var/obj/machinery/teleport/station/power_station
|
var/obj/machinery/teleport/station/power_station
|
||||||
var/calibrated //Calibration prevents mutation
|
var/calibrated //Calibration prevents mutation
|
||||||
|
|
||||||
/obj/machinery/teleport/hub/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/teleporter_hub(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/teleporter_hub
|
|
||||||
name = "Teleporter Hub (Machine Board)"
|
|
||||||
build_path = /obj/machinery/teleport/hub
|
|
||||||
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/ore/bluespace_crystal = 3,
|
|
||||||
/obj/item/weapon/stock_parts/matter_bin = 1)
|
|
||||||
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
|
||||||
|
|
||||||
/obj/machinery/teleport/hub/Initialize()
|
/obj/machinery/teleport/hub/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
link_power_station()
|
link_power_station()
|
||||||
|
|
||||||
/obj/machinery/teleport/hub/Destroy()
|
/obj/machinery/teleport/hub/Destroy()
|
||||||
@@ -327,8 +96,8 @@
|
|||||||
/obj/machinery/teleport/hub/proc/is_ready()
|
/obj/machinery/teleport/hub/proc/is_ready()
|
||||||
. = !panel_open && !(stat & (BROKEN|NOPOWER)) && power_station && power_station.engaged && !(power_station.stat & (BROKEN|NOPOWER))
|
. = !panel_open && !(stat & (BROKEN|NOPOWER)) && power_station && power_station.engaged && !(power_station.stat & (BROKEN|NOPOWER))
|
||||||
|
|
||||||
/obj/machinery/teleport/hub/syndicate/New()
|
/obj/machinery/teleport/hub/syndicate/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
|
component_parts += new /obj/item/weapon/stock_parts/matter_bin/super(null)
|
||||||
RefreshParts()
|
RefreshParts()
|
||||||
|
|
||||||
@@ -337,32 +106,18 @@
|
|||||||
name = "station"
|
name = "station"
|
||||||
desc = "The power control station for a bluespace teleporter. Used for toggling power, and can activate a test-fire to prevent malfunctions."
|
desc = "The power control station for a bluespace teleporter. Used for toggling power, and can activate a test-fire to prevent malfunctions."
|
||||||
icon_state = "controller"
|
icon_state = "controller"
|
||||||
var/engaged = 0
|
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 10
|
idle_power_usage = 10
|
||||||
active_power_usage = 2000
|
active_power_usage = 2000
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/teleporter_station
|
||||||
|
var/engaged = 0
|
||||||
var/obj/machinery/computer/teleporter/teleporter_console
|
var/obj/machinery/computer/teleporter/teleporter_console
|
||||||
var/obj/machinery/teleport/hub/teleporter_hub
|
var/obj/machinery/teleport/hub/teleporter_hub
|
||||||
var/list/linked_stations = list()
|
var/list/linked_stations = list()
|
||||||
var/efficiency = 0
|
var/efficiency = 0
|
||||||
|
|
||||||
/obj/machinery/teleport/station/New()
|
|
||||||
..()
|
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/teleporter_station(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/teleporter_station
|
|
||||||
name = "Teleporter Station (Machine Board)"
|
|
||||||
build_path = /obj/machinery/teleport/station
|
|
||||||
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/ore/bluespace_crystal = 2,
|
|
||||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
|
||||||
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
|
||||||
|
|
||||||
/obj/machinery/teleport/station/Initialize()
|
/obj/machinery/teleport/station/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
link_console_and_hub()
|
link_console_and_hub()
|
||||||
|
|
||||||
/obj/machinery/teleport/station/RefreshParts()
|
/obj/machinery/teleport/station/RefreshParts()
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
. = ..()
|
. = ..()
|
||||||
new /obj/machinery/conveyor/auto(locate(x - 1, y, z), WEST)
|
new /obj/machinery/conveyor/auto(locate(x - 1, y, z), WEST)
|
||||||
new /obj/machinery/conveyor/auto(loc, WEST)
|
new /obj/machinery/conveyor/auto(loc, WEST)
|
||||||
new /obj/machinery/conveyor/auto(locate(x + 1, y, z), WEST)
|
new /obj/machinery/conveyor/auto(locate(x + 1, y, z), WEST)
|
||||||
countdown = new(src)
|
countdown = new(src)
|
||||||
countdown.start()
|
countdown.start()
|
||||||
|
|
||||||
@@ -33,9 +33,7 @@
|
|||||||
to_chat(user, "It will be ready in [max(0, seconds_remaining)] seconds.")
|
to_chat(user, "It will be ready in [max(0, seconds_remaining)] seconds.")
|
||||||
|
|
||||||
/obj/machinery/transformer/Destroy()
|
/obj/machinery/transformer/Destroy()
|
||||||
if(countdown)
|
QDEL_NULL(countdown)
|
||||||
qdel(countdown)
|
|
||||||
countdown = null
|
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/transformer/power_change()
|
/obj/machinery/transformer/power_change()
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
max_integrity = 300
|
max_integrity = 300
|
||||||
integrity_failure = 100
|
integrity_failure = 100
|
||||||
armor = list(melee = 20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
armor = list(melee = 20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/vendor
|
||||||
var/active = 1 //No sales pitches if off!
|
var/active = 1 //No sales pitches if off!
|
||||||
var/vend_ready = 1 //Are we ready to vend?? Is it time??
|
var/vend_ready = 1 //Are we ready to vend?? Is it time??
|
||||||
|
|
||||||
@@ -62,10 +63,7 @@
|
|||||||
/obj/machinery/vending/Initialize()
|
/obj/machinery/vending/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
wires = new /datum/wires/vending(src)
|
wires = new /datum/wires/vending(src)
|
||||||
if(refill_canister) //constructable vending machine
|
if(!refill_canister) //constructable vending machine
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/vendor(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
else
|
|
||||||
build_inventory(products)
|
build_inventory(products)
|
||||||
build_inventory(contraband, 1)
|
build_inventory(contraband, 1)
|
||||||
build_inventory(premium, 0, 1)
|
build_inventory(premium, 0, 1)
|
||||||
@@ -77,46 +75,6 @@
|
|||||||
last_slogan = world.time + rand(0, slogan_delay)
|
last_slogan = world.time + rand(0, slogan_delay)
|
||||||
power_change()
|
power_change()
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/vendor
|
|
||||||
name = "Booze-O-Mat Vendor (Machine Board)"
|
|
||||||
build_path = /obj/machinery/vending/boozeomat
|
|
||||||
origin_tech = "programming=1"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/vending_refill/boozeomat = 3)
|
|
||||||
|
|
||||||
var/list/names_paths = list(/obj/machinery/vending/boozeomat = "Booze-O-Mat",
|
|
||||||
/obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
|
|
||||||
/obj/machinery/vending/snack = "Getmore Chocolate Corp",
|
|
||||||
/obj/machinery/vending/cola = "Robust Softdrinks",
|
|
||||||
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
|
|
||||||
/obj/machinery/vending/autodrobe = "AutoDrobe",
|
|
||||||
/obj/machinery/vending/clothing = "ClothesMate",
|
|
||||||
/obj/machinery/vending/medical = "NanoMed Plus",
|
|
||||||
/obj/machinery/vending/wallmed = "NanoMed")
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/vendor/attackby(obj/item/I, mob/user, params)
|
|
||||||
if(istype(I, /obj/item/weapon/screwdriver))
|
|
||||||
var/position = names_paths.Find(build_path)
|
|
||||||
position = (position == names_paths.len) ? 1 : (position + 1)
|
|
||||||
var/typepath = names_paths[position]
|
|
||||||
|
|
||||||
to_chat(user, "<span class='notice'>You set the board to \"[names_paths[typepath]]\".</span>")
|
|
||||||
set_type(typepath)
|
|
||||||
else
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/vendor/proc/set_type(var/obj/machinery/vending/typepath)
|
|
||||||
build_path = typepath
|
|
||||||
name = "[names_paths[build_path]] Vendor (Machine Board)"
|
|
||||||
req_components = list(initial(typepath.refill_canister) = initial(typepath.refill_count))
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/vendor/apply_default_parts(obj/machinery/M)
|
|
||||||
for(var/typepath in names_paths)
|
|
||||||
if(istype(M, typepath))
|
|
||||||
set_type(typepath)
|
|
||||||
break
|
|
||||||
..()
|
|
||||||
|
|
||||||
/obj/machinery/vending/Destroy()
|
/obj/machinery/vending/Destroy()
|
||||||
QDEL_NULL(wires)
|
QDEL_NULL(wires)
|
||||||
QDEL_NULL(coin)
|
QDEL_NULL(coin)
|
||||||
@@ -795,7 +753,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
|||||||
desc = "Uh oh!"
|
desc = "Uh oh!"
|
||||||
|
|
||||||
/obj/machinery/vending/cola/random/Initialize()
|
/obj/machinery/vending/cola/random/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random)
|
var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random)
|
||||||
new T(get_turf(src))
|
new T(get_turf(src))
|
||||||
qdel(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
dir = EAST
|
dir = EAST
|
||||||
icon = 'icons/mecha/mech_bay.dmi'
|
icon = 'icons/mecha/mech_bay.dmi'
|
||||||
icon_state = "recharge_port"
|
icon_state = "recharge_port"
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/mech_recharger
|
||||||
var/obj/mecha/recharging_mech
|
var/obj/mecha/recharging_mech
|
||||||
var/obj/machinery/computer/mech_bay_power_console/recharge_console
|
var/obj/machinery/computer/mech_bay_power_console/recharge_console
|
||||||
var/max_charge = 50
|
var/max_charge = 50
|
||||||
@@ -24,20 +25,10 @@
|
|||||||
var/repairability = 0
|
var/repairability = 0
|
||||||
var/turf/recharging_turf = null
|
var/turf/recharging_turf = null
|
||||||
|
|
||||||
/obj/machinery/mech_bay_recharge_port/New()
|
/obj/machinery/mech_bay_recharge_port/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/mech_recharger(null)
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
recharging_turf = get_step(loc, dir)
|
recharging_turf = get_step(loc, dir)
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/mech_recharger
|
|
||||||
name = "Mechbay Recharger (Machine Board)"
|
|
||||||
build_path = /obj/machinery/mech_bay_recharge_port
|
|
||||||
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/stack/cable_coil = 2,
|
|
||||||
/obj/item/weapon/stock_parts/capacitor = 5)
|
|
||||||
|
|
||||||
/obj/machinery/mech_bay_recharge_port/RefreshParts()
|
/obj/machinery/mech_bay_recharge_port/RefreshParts()
|
||||||
var/MC
|
var/MC
|
||||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||||
@@ -149,5 +140,5 @@
|
|||||||
add_overlay("recharge_comp_on")
|
add_overlay("recharge_comp_on")
|
||||||
|
|
||||||
/obj/machinery/computer/mech_bay_power_console/Initialize()
|
/obj/machinery/computer/mech_bay_power_console/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
reconnect()
|
reconnect()
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
idle_power_usage = 20
|
idle_power_usage = 20
|
||||||
active_power_usage = 5000
|
active_power_usage = 5000
|
||||||
req_access = list(ACCESS_ROBOTICS)
|
req_access = list(ACCESS_ROBOTICS)
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/mechfab
|
||||||
var/time_coeff = 1
|
var/time_coeff = 1
|
||||||
var/component_coeff = 1
|
var/component_coeff = 1
|
||||||
var/datum/material_container/materials
|
var/datum/material_container/materials
|
||||||
@@ -34,22 +35,10 @@
|
|||||||
"Misc"
|
"Misc"
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/machinery/mecha_part_fabricator/New()
|
/obj/machinery/mecha_part_fabricator/Initialize()
|
||||||
..()
|
|
||||||
files = new /datum/research(src) //Setup the research data holder.
|
files = new /datum/research(src) //Setup the research data holder.
|
||||||
materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE))
|
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/mechfab(null)
|
return ..()
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/mechfab
|
|
||||||
name = "Exosuit Fabricator (Machine Board)"
|
|
||||||
build_path = /obj/machinery/mecha_part_fabricator
|
|
||||||
origin_tech = "programming=2;engineering=2"
|
|
||||||
req_components = list(
|
|
||||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
|
||||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
|
||||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
|
||||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
|
||||||
|
|
||||||
/obj/machinery/mecha_part_fabricator/RefreshParts()
|
/obj/machinery/mecha_part_fabricator/RefreshParts()
|
||||||
var/T = 0
|
var/T = 0
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
//File with the circuitboard and circuitboard/machine class definitions and procs
|
||||||
|
|
||||||
|
|
||||||
|
// Circuitboard
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard
|
||||||
|
name = "circuit board"
|
||||||
|
icon = 'icons/obj/module.dmi'
|
||||||
|
icon_state = "id_mod"
|
||||||
|
item_state = "electronic"
|
||||||
|
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||||
|
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
|
||||||
|
origin_tech = "programming=2"
|
||||||
|
materials = list(MAT_GLASS=1000)
|
||||||
|
w_class = WEIGHT_CLASS_SMALL
|
||||||
|
var/build_path = null
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/proc/apply_default_parts(obj/machinery/M)
|
||||||
|
return
|
||||||
|
|
||||||
|
// Circuitboard/machine
|
||||||
|
/*Common Parts: Parts List: Ignitor, Timer, Infra-red laser, Infra-red sensor, t_scanner, Capacitor, Valve, sensor unit,
|
||||||
|
micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine
|
||||||
|
var/list/req_components // Components required by the machine.
|
||||||
|
// Example: list(/obj/item/weapon/stock_parts/matter_bin = 5)
|
||||||
|
|
||||||
|
var/list/def_components // Default replacements for req_components, to be used in apply_default_parts instead of req_components types
|
||||||
|
// Example: list(/obj/item/weapon/stock_parts/matter_bin = /obj/item/weapon/stock_parts/matter_bin/super)
|
||||||
|
|
||||||
|
// Applies the default parts defined by the circuit board when the machine is created
|
||||||
|
/obj/item/weapon/circuitboard/machine/apply_default_parts(obj/machinery/M)
|
||||||
|
if(!req_components)
|
||||||
|
return
|
||||||
|
|
||||||
|
M.component_parts = list(src) // List of components always contains a board
|
||||||
|
loc = null
|
||||||
|
|
||||||
|
for(var/comp_path in req_components)
|
||||||
|
var/comp_amt = req_components[comp_path]
|
||||||
|
if(!comp_amt)
|
||||||
|
continue
|
||||||
|
|
||||||
|
if(def_components && def_components[comp_path])
|
||||||
|
comp_path = def_components[comp_path]
|
||||||
|
|
||||||
|
if(ispath(comp_path, /obj/item/stack))
|
||||||
|
M.component_parts += new comp_path(null, comp_amt)
|
||||||
|
else
|
||||||
|
for(var/i in 1 to comp_amt)
|
||||||
|
M.component_parts += new comp_path(null)
|
||||||
|
|
||||||
|
M.RefreshParts()
|
||||||
@@ -0,0 +1,369 @@
|
|||||||
|
/obj/item/weapon/circuitboard/computer/turbine_computer
|
||||||
|
name = "Turbine Computer (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/turbine_computer
|
||||||
|
origin_tech = "programming=4;engineering=4;powerstorage=4"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/launchpad_console
|
||||||
|
name = "Launchpad Control Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/launchpad
|
||||||
|
origin_tech = "programming=3;bluespace=3;plasmatech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/message_monitor
|
||||||
|
name = "Message Monitor (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/message_monitor
|
||||||
|
origin_tech = "programming=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/security
|
||||||
|
name = "Security Cameras (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/security
|
||||||
|
origin_tech = "programming=2;combat=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/xenobiology
|
||||||
|
name = "circuit board (Xenobiology Console)"
|
||||||
|
build_path = /obj/machinery/computer/camera_advanced/xenobio
|
||||||
|
origin_tech = "programming=3;biotech=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/base_construction
|
||||||
|
name = "circuit board (Aux Mining Base Construction Console)"
|
||||||
|
build_path = /obj/machinery/computer/camera_advanced/base_construction
|
||||||
|
origin_tech = "programming=3;engineering=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/aiupload
|
||||||
|
name = "AI Upload (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/upload/ai
|
||||||
|
origin_tech = "programming=4;engineering=4"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/borgupload
|
||||||
|
name = "Cyborg Upload (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/upload/borg
|
||||||
|
origin_tech = "programming=4;engineering=4"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/med_data
|
||||||
|
name = "Medical Records Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/med_data
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/pandemic
|
||||||
|
name = "PanD.E.M.I.C. 2200 (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/pandemic
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/scan_consolenew
|
||||||
|
name = "DNA Machine (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/scan_consolenew
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/communications
|
||||||
|
name = "Communications (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/communications
|
||||||
|
origin_tech = "programming=3;magnets=3"
|
||||||
|
var/lastTimeUsed = 0
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/card
|
||||||
|
name = "ID Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/card
|
||||||
|
origin_tech = "programming=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/card/centcom
|
||||||
|
name = "CentCom ID Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/card/centcom
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/card/minor
|
||||||
|
name = "Department Management Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/card/minor
|
||||||
|
var/target_dept = 1
|
||||||
|
var/list/dept_list = list("General","Security","Medical","Science","Engineering")
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/card/minor/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
target_dept = (target_dept == dept_list.len) ? 1 : (target_dept + 1)
|
||||||
|
to_chat(user, "<span class='notice'>You set the board to \"[dept_list[target_dept]]\".</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/card/minor/examine(user)
|
||||||
|
..()
|
||||||
|
to_chat(user, "Currently set to \"[dept_list[target_dept]]\".")
|
||||||
|
|
||||||
|
//obj/item/weapon/circuitboard/computer/shield
|
||||||
|
// name = "Shield Control (Computer Board)"
|
||||||
|
// build_path = /obj/machinery/computer/stationshield
|
||||||
|
/obj/item/weapon/circuitboard/computer/teleporter
|
||||||
|
name = "Teleporter (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/teleporter
|
||||||
|
origin_tech = "programming=3;bluespace=3;plasmatech=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/secure_data
|
||||||
|
name = "Security Records Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/secure_data
|
||||||
|
origin_tech = "programming=2;combat=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/stationalert
|
||||||
|
name = "Station Alerts (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/station_alert
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/atmos_control
|
||||||
|
name = "Atmospheric Monitor (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/atmos_control
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/atmos_control/tank
|
||||||
|
name = "Tank Control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/atmos_control/tank
|
||||||
|
origin_tech = "programming=2;engineering=3;materials=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/atmos_alert
|
||||||
|
name = "Atmospheric Alert (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/atmos_alert
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/pod
|
||||||
|
name = "Massdriver control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/pod
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/robotics
|
||||||
|
name = "Robotics Control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/robotics
|
||||||
|
origin_tech = "programming=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/cloning
|
||||||
|
name = "Cloning (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/cloning
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/arcade/battle
|
||||||
|
name = "Arcade Battle (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/arcade/battle
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/arcade/orion_trail
|
||||||
|
name = "Orion Trail (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/arcade/orion_trail
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/turbine_control
|
||||||
|
name = "Turbine control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/turbine_computer
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/solar_control
|
||||||
|
name = "Solar Control (Computer Board)" //name fixed 250810
|
||||||
|
build_path = /obj/machinery/power/solar_control
|
||||||
|
origin_tech = "programming=2;powerstorage=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/powermonitor
|
||||||
|
name = "Power Monitor (Computer Board)" //name fixed 250810
|
||||||
|
build_path = /obj/machinery/computer/monitor
|
||||||
|
origin_tech = "programming=2;powerstorage=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/olddoor
|
||||||
|
name = "DoorMex (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/pod/old
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/syndicatedoor
|
||||||
|
name = "ProComp Executive (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/pod/old/syndicate
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/swfdoor
|
||||||
|
name = "Magix (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/pod/old/swf
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/prisoner
|
||||||
|
name = "Prisoner Management Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/prisoner
|
||||||
|
/obj/item/weapon/circuitboard/computer/gulag_teleporter_console
|
||||||
|
name = "Labor Camp teleporter console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/gulag_teleporter_computer
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/rdconsole
|
||||||
|
name = "R&D Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/rdconsole/core
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/rdconsole/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
if(build_path == /obj/machinery/computer/rdconsole/core)
|
||||||
|
name = "R&D Console - Robotics (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/rdconsole/robotics
|
||||||
|
to_chat(user, "<span class='notice'>Access protocols successfully updated.</span>")
|
||||||
|
else
|
||||||
|
name = "R&D Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/rdconsole/core
|
||||||
|
to_chat(user, "<span class='notice'>Defaulting access protocols.</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/mecha_control
|
||||||
|
name = "Exosuit Control Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/mecha
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/rdservercontrol
|
||||||
|
name = "R&D Server Control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/rdservercontrol
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/crew
|
||||||
|
name = "Crew Monitoring Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/crew
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/mech_bay_power_console
|
||||||
|
name = "Mech Bay Power Control Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||||
|
origin_tech = "programming=3;powerstorage=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/cargo
|
||||||
|
name = "Supply Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/cargo
|
||||||
|
origin_tech = "programming=3"
|
||||||
|
var/contraband = FALSE
|
||||||
|
var/emagged = FALSE
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/cargo/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/device/multitool))
|
||||||
|
if(!emagged)
|
||||||
|
contraband = !contraband
|
||||||
|
to_chat(user, "<span class='notice'>Receiver spectrum set to [contraband ? "Broad" : "Standard"].</span>")
|
||||||
|
else
|
||||||
|
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
|
||||||
|
else if(istype(I, /obj/item/weapon/card/emag))
|
||||||
|
if(!emagged)
|
||||||
|
contraband = TRUE
|
||||||
|
emagged = TRUE
|
||||||
|
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/cargo/request
|
||||||
|
name = "Supply Request Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/cargo/request
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/stockexchange
|
||||||
|
name = "circuit board (Stock Exchange Console)"
|
||||||
|
build_path = /obj/machinery/computer/stockexchange
|
||||||
|
origin_tech = "programming=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/operating
|
||||||
|
name = "Operating Computer (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/operating
|
||||||
|
origin_tech = "programming=2;biotech=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/mining
|
||||||
|
name = "Outpost Status Display (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/security/mining
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/comm_monitor
|
||||||
|
name = "Telecommunications Monitor (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/telecomms/monitor
|
||||||
|
origin_tech = "programming=3;magnets=3;bluespace=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/comm_server
|
||||||
|
name = "Telecommunications Server Monitor (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/telecomms/server
|
||||||
|
origin_tech = "programming=3;magnets=3;bluespace=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/shuttle
|
||||||
|
name = "Shuttle (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle
|
||||||
|
var/shuttleId
|
||||||
|
var/possible_destinations = ""
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/shuttle/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/device/multitool))
|
||||||
|
var/chosen_id = round(input(usr, "Choose an ID number (-1 for reset):", "Input an Integer", null) as num|null)
|
||||||
|
if(chosen_id >= 0)
|
||||||
|
shuttleId = chosen_id
|
||||||
|
else
|
||||||
|
shuttleId = initial(shuttleId)
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/labor_shuttle
|
||||||
|
name = "Labor Shuttle (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/labor
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/labor_shuttle/one_way
|
||||||
|
name = "Prisoner Shuttle Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/labor/one_way
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/ferry
|
||||||
|
name = "Transport Ferry (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/ferry
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/ferry/request
|
||||||
|
name = "Transport Ferry Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/ferry/request
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/mining_shuttle
|
||||||
|
name = "Mining Shuttle (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/mining
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/white_ship
|
||||||
|
name = "White Ship (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/white_ship
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/auxillary_base
|
||||||
|
name = "Auxillary Base Management Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/auxillary_base
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/holodeck// Not going to let people get this, but it's just here for future
|
||||||
|
name = "Holodeck Control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/holodeck
|
||||||
|
origin_tech = "programming=4"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/aifixer
|
||||||
|
name = "AI Integrity Restorer (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/aifixer
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/slot_machine
|
||||||
|
name = "Slot Machine (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/slot_machine
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/libraryconsole
|
||||||
|
name = "Library Visitor Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/libraryconsole
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/libraryconsole/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
|
||||||
|
name = "Library Visitor Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/libraryconsole
|
||||||
|
to_chat(user, "<span class='notice'>Defaulting access protocols.</span>")
|
||||||
|
else
|
||||||
|
name = "Book Inventory Management Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
|
||||||
|
to_chat(user, "<span class='notice'>Access protocols successfully updated.</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/apc_control
|
||||||
|
name = "\improper Power Flow Control Console (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/apc_control
|
||||||
|
origin_tech = "programming=3;engineering=3;powerstorage=2"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/computer/shuttle/monastery_shuttle
|
||||||
|
name = "Monastery Shuttle (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/shuttle/monastery_shuttle
|
||||||
|
|
||||||
|
/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/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/item/weapon/circuitboard/computer/sat_control
|
||||||
|
name = "Satellite Network Control (Computer Board)"
|
||||||
|
build_path = /obj/machinery/computer/sat_control
|
||||||
|
origin_tech = "engineering=3"
|
||||||
@@ -0,0 +1,723 @@
|
|||||||
|
/obj/item/weapon/circuitboard/machine/sleeper
|
||||||
|
name = "Sleeper (Machine Board)"
|
||||||
|
build_path = /obj/machinery/sleeper
|
||||||
|
origin_tech = "programming=3;biotech=2;engineering=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/item/stack/sheet/glass = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/announcement_system
|
||||||
|
name = "Announcement System (Machine Board)"
|
||||||
|
build_path = /obj/machinery/announcement_system
|
||||||
|
origin_tech = "programming=3;bluespace=3;magnets=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/autolathe
|
||||||
|
name = "Autolathe (Machine Board)"
|
||||||
|
build_path = /obj/machinery/autolathe
|
||||||
|
origin_tech = "engineering=2;programming=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/matter_bin = 3,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||||
|
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/clonepod
|
||||||
|
name = "Clone Pod (Machine Board)"
|
||||||
|
build_path = /obj/machinery/clonepod
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/scanning_module = 2,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/sheet/glass = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/abductor
|
||||||
|
name = "alien board (Report This)"
|
||||||
|
icon_state = "abductor_mod"
|
||||||
|
origin_tech = "programming=5;abductor=3"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/clockwork
|
||||||
|
name = "clockwork board (Report This)"
|
||||||
|
icon_state = "clock_mod"
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/clonescanner
|
||||||
|
name = "Cloning Scanner (Machine Board)"
|
||||||
|
build_path = /obj/machinery/dna_scannernew
|
||||||
|
origin_tech = "programming=2;biotech=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/item/stack/sheet/glass = 1,
|
||||||
|
/obj/item/stack/cable_coil = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/holopad
|
||||||
|
name = "AI Holopad (Machine Board)"
|
||||||
|
build_path = /obj/machinery/holopad
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/launchpad
|
||||||
|
name = "Bluespace Launchpad (Machine Board)"
|
||||||
|
build_path = /obj/machinery/launchpad
|
||||||
|
origin_tech = "programming=3;engineering=3;plasmatech=2;bluespace=3"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/ore/bluespace_crystal = 1,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||||
|
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/limbgrower
|
||||||
|
name = "Limb Grower (Machine Board)"
|
||||||
|
build_path = /obj/machinery/limbgrower
|
||||||
|
origin_tech = "programming=2;biotech=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||||
|
/obj/item/weapon/reagent_containers/glass/beaker = 2,
|
||||||
|
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/quantumpad
|
||||||
|
name = "Quantum Pad (Machine Board)"
|
||||||
|
build_path = /obj/machinery/quantumpad
|
||||||
|
origin_tech = "programming=3;engineering=3;plasmatech=3;bluespace=4"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/ore/bluespace_crystal = 1,
|
||||||
|
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||||
|
/obj/item/stack/cable_coil = 1)
|
||||||
|
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/recharger
|
||||||
|
name = "Weapon Recharger (Machine Board)"
|
||||||
|
build_path = /obj/machinery/recharger
|
||||||
|
origin_tech = "powerstorage=4;engineering=3;materials=4"
|
||||||
|
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/cyborgrecharger
|
||||||
|
name = "Cyborg Recharger (Machine Board)"
|
||||||
|
build_path = /obj/machinery/recharge_station
|
||||||
|
origin_tech = "powerstorage=3;engineering=3"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||||
|
/obj/item/weapon/stock_parts/cell = 1,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 1)
|
||||||
|
def_components = list(/obj/item/weapon/stock_parts/cell = /obj/item/weapon/stock_parts/cell/high)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/recycler
|
||||||
|
name = "Recycler (Machine Board)"
|
||||||
|
build_path = /obj/machinery/recycler
|
||||||
|
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/item/weapon/circuitboard/machine/space_heater
|
||||||
|
name = "Space Heater (Machine Board)"
|
||||||
|
build_path = /obj/machinery/space_heater
|
||||||
|
origin_tech = "programming=2;engineering=2;plasmatech=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||||
|
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||||
|
/obj/item/stack/cable_coil = 3)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/broadcaster
|
||||||
|
name = "Subspace Broadcaster (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/broadcaster
|
||||||
|
origin_tech = "programming=2;engineering=2;bluespace=1"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/cable_coil = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/crystal = 1,
|
||||||
|
/obj/item/weapon/stock_parts/micro_laser = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/bus
|
||||||
|
name = "Bus Mainframe (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/bus
|
||||||
|
origin_tech = "programming=2;engineering=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/cable_coil = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/hub
|
||||||
|
name = "Hub Mainframe (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/hub
|
||||||
|
origin_tech = "programming=2;engineering=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/processor
|
||||||
|
name = "Processor Unit (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/processor
|
||||||
|
origin_tech = "programming=2;engineering=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 3,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/treatment = 2,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/analyzer = 1,
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/amplifier = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/receiver
|
||||||
|
name = "Subspace Receiver (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/receiver
|
||||||
|
origin_tech = "programming=2;engineering=2;bluespace=1"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/subspace/ansible = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 1,
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/weapon/stock_parts/micro_laser = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/relay
|
||||||
|
name = "Relay Mainframe (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/relay
|
||||||
|
origin_tech = "programming=2;engineering=2;bluespace=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/telecomms/server
|
||||||
|
name = "Telecommunication Server (Machine Board)"
|
||||||
|
build_path = /obj/machinery/telecomms/server
|
||||||
|
origin_tech = "programming=2;engineering=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/manipulator = 2,
|
||||||
|
/obj/item/stack/cable_coil = 1,
|
||||||
|
/obj/item/weapon/stock_parts/subspace/filter = 1)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/teleporter_hub
|
||||||
|
name = "Teleporter Hub (Machine Board)"
|
||||||
|
build_path = /obj/machinery/teleport/hub
|
||||||
|
origin_tech = "programming=3;engineering=4;bluespace=4;materials=4"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/ore/bluespace_crystal = 3,
|
||||||
|
/obj/item/weapon/stock_parts/matter_bin = 1)
|
||||||
|
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/teleporter_station
|
||||||
|
name = "Teleporter Station (Machine Board)"
|
||||||
|
build_path = /obj/machinery/teleport/station
|
||||||
|
origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/ore/bluespace_crystal = 2,
|
||||||
|
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||||
|
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||||
|
def_components = list(/obj/item/weapon/ore/bluespace_crystal = /obj/item/weapon/ore/bluespace_crystal/artificial)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/vendor
|
||||||
|
name = "Booze-O-Mat Vendor (Machine Board)"
|
||||||
|
build_path = /obj/machinery/vending/boozeomat
|
||||||
|
origin_tech = "programming=1"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/vending_refill/boozeomat = 3)
|
||||||
|
|
||||||
|
var/static/list/vending_names_paths = list(/obj/machinery/vending/boozeomat = "Booze-O-Mat",
|
||||||
|
/obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
|
||||||
|
/obj/machinery/vending/snack = "Getmore Chocolate Corp",
|
||||||
|
/obj/machinery/vending/cola = "Robust Softdrinks",
|
||||||
|
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
|
||||||
|
/obj/machinery/vending/autodrobe = "AutoDrobe",
|
||||||
|
/obj/machinery/vending/clothing = "ClothesMate",
|
||||||
|
/obj/machinery/vending/medical = "NanoMed Plus",
|
||||||
|
/obj/machinery/vending/wallmed = "NanoMed")
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/vendor/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
var/position = vending_names_paths.Find(build_path)
|
||||||
|
position = (position == vending_names_paths.len) ? 1 : (position + 1)
|
||||||
|
var/typepath = vending_names_paths[position]
|
||||||
|
|
||||||
|
to_chat(user, "<span class='notice'>You set the board to \"[vending_names_paths[typepath]]\".</span>")
|
||||||
|
set_type(typepath)
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/vendor/proc/set_type(obj/machinery/vending/typepath)
|
||||||
|
build_path = typepath
|
||||||
|
name = "[vending_names_paths[build_path]] Vendor (Machine Board)"
|
||||||
|
req_components = list(initial(typepath.refill_canister) = initial(typepath.refill_count))
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/vendor/apply_default_parts(obj/machinery/M)
|
||||||
|
for(var/typepath in vending_names_paths)
|
||||||
|
if(istype(M, typepath))
|
||||||
|
set_type(typepath)
|
||||||
|
break
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/mech_recharger
|
||||||
|
name = "Mechbay Recharger (Machine Board)"
|
||||||
|
build_path = /obj/machinery/mech_bay_recharge_port
|
||||||
|
origin_tech = "programming=3;powerstorage=3;engineering=3"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/stack/cable_coil = 2,
|
||||||
|
/obj/item/weapon/stock_parts/capacitor = 5)
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/mechfab
|
||||||
|
name = "Exosuit Fabricator (Machine Board)"
|
||||||
|
build_path = /obj/machinery/mecha_part_fabricator
|
||||||
|
origin_tech = "programming=2;engineering=2"
|
||||||
|
req_components = list(
|
||||||
|
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||||
|
/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/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/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()
|
||||||
|
. = ..()
|
||||||
|
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
|
||||||
|
|
||||||
|
#define FREEZER /obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||||
|
#define HEATER /obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/thermomachine/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
var/obj/item/weapon/circuitboard/new_type
|
||||||
|
var/new_setting
|
||||||
|
switch(build_path)
|
||||||
|
if(FREEZER)
|
||||||
|
new_type = HEATER
|
||||||
|
new_setting = "Heater"
|
||||||
|
if(HEATER)
|
||||||
|
new_type = FREEZER
|
||||||
|
new_setting = "Freezer"
|
||||||
|
name = initial(new_type.name)
|
||||||
|
build_path = initial(new_type.build_path)
|
||||||
|
playsound(user, I.usesound, 50, 1)
|
||||||
|
to_chat(user, "<span class='notice'>You change the circuitboard setting to \"[new_setting]\".</span>")
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
#undef FREEZER
|
||||||
|
#undef HEATER
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||||
|
name = "Heater (Machine Board)"
|
||||||
|
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/heater
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||||
|
name = "Freezer (Machine Board)"
|
||||||
|
build_path = /obj/machinery/atmospherics/components/unary/thermomachine/freezer
|
||||||
|
|
||||||
|
/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/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/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/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/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/item/weapon/circuitboard/machine/processor/slime
|
||||||
|
name = "Slime Processor (Machine Board)"
|
||||||
|
build_path = /obj/machinery/processor/slime
|
||||||
|
|
||||||
|
/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_name_paths = 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/Initialize(mapload, new_type)
|
||||||
|
if(new_type)
|
||||||
|
build_path = new_type
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/obj/item/weapon/circuitboard/machine/smartfridge/attackby(obj/item/I, mob/user, params)
|
||||||
|
if(istype(I, /obj/item/weapon/screwdriver))
|
||||||
|
var/position = fridges_name_paths.Find(build_path, fridges_name_paths)
|
||||||
|
position = (position == fridges_name_paths.len) ? 1 : (position + 1)
|
||||||
|
build_path = fridges_name_paths[position]
|
||||||
|
to_chat(user, "<span class='notice'>You set the board to [fridges_name_paths[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_name_paths[build_path]]. You can use a screwdriver to reconfigure it.</span>")
|
||||||
|
|
||||||
|
/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/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/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/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/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/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/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/item/weapon/circuitboard/machine/mining_equipment_vendor/golem
|
||||||
|
name = "Golem Ship Equipment Vendor (Machine Board)"
|
||||||
|
build_path = /obj/machinery/mineral/equipment_vendor/golem
|
||||||
|
|
||||||
|
/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)
|
||||||
|
|
||||||
|
/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/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/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)
|
||||||
|
|
||||||
|
/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/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)
|
||||||
|
|
||||||
|
/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/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/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)
|
||||||
|
|
||||||
|
/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/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/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/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/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/item/weapon/circuitboard/machine/chem_master/condi
|
||||||
|
name = "CondiMaster 3000 (Machine Board)"
|
||||||
|
build_path = /obj/machinery/chem_master/condimaster
|
||||||
|
|
||||||
|
/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/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/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/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)
|
||||||
|
|
||||||
|
/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/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/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/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)
|
||||||
@@ -20,15 +20,13 @@
|
|||||||
var/special = FALSE
|
var/special = FALSE
|
||||||
var/special_name = "special function"
|
var/special_name = "special function"
|
||||||
|
|
||||||
/obj/machinery/implantchair/New()
|
/obj/machinery/implantchair/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
open_machine()
|
open_machine()
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/implantchair/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
|
/obj/machinery/implantchair/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state)
|
||||||
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state)
|
|
||||||
|
|
||||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||||
if(!ui)
|
if(!ui)
|
||||||
ui = new(user, src, ui_key, "implantchair", name, 375, 280, master_ui, state)
|
ui = new(user, src, ui_key, "implantchair", name, 375, 280, master_ui, state)
|
||||||
|
|||||||
@@ -52,8 +52,7 @@
|
|||||||
/obj/machinery/vr_sleeper/Destroy()
|
/obj/machinery/vr_sleeper/Destroy()
|
||||||
open_machine()
|
open_machine()
|
||||||
cleanup_vr_human()
|
cleanup_vr_human()
|
||||||
qdel(sparks)
|
QDEL_NULL(sparks)
|
||||||
sparks = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,10 @@
|
|||||||
max_integrity = 350
|
max_integrity = 350
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 30, acid = 30)
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 30, acid = 30)
|
||||||
layer = ABOVE_WINDOW_LAYER
|
layer = ABOVE_WINDOW_LAYER
|
||||||
|
state_open = FALSE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/cryo_tube
|
||||||
|
|
||||||
var/on = FALSE
|
var/on = FALSE
|
||||||
state_open = FALSE
|
|
||||||
var/autoeject = FALSE
|
var/autoeject = FALSE
|
||||||
var/volume = 100
|
var/volume = 100
|
||||||
|
|
||||||
@@ -35,8 +36,6 @@
|
|||||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize()
|
/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
initialize_directions = dir
|
initialize_directions = dir
|
||||||
var/obj/item/weapon/circuitboard/machine/cryo_tube/B = new
|
|
||||||
B.apply_default_parts(src)
|
|
||||||
|
|
||||||
radio = new(src)
|
radio = new(src)
|
||||||
radio.keyslot = new radio_key
|
radio.keyslot = new radio_key
|
||||||
@@ -44,16 +43,6 @@
|
|||||||
radio.canhear_range = 0
|
radio.canhear_range = 0
|
||||||
radio.recalculateChannels()
|
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()
|
/obj/machinery/atmospherics/components/unary/cryo_cell/on_construction()
|
||||||
..(dir, dir)
|
..(dir, dir)
|
||||||
|
|
||||||
@@ -69,11 +58,8 @@
|
|||||||
conduction_coefficient = initial(conduction_coefficient) * C
|
conduction_coefficient = initial(conduction_coefficient) * C
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Destroy()
|
/obj/machinery/atmospherics/components/unary/cryo_cell/Destroy()
|
||||||
qdel(radio)
|
QDEL_NULL(radio)
|
||||||
radio = null
|
QDEL_NULL(beaker)
|
||||||
if(beaker)
|
|
||||||
qdel(beaker)
|
|
||||||
beaker = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/cryo_cell/contents_explosion(severity, target)
|
/obj/machinery/atmospherics/components/unary/cryo_cell/contents_explosion(severity, target)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
max_integrity = 300
|
max_integrity = 300
|
||||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 30)
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100, fire = 80, acid = 30)
|
||||||
layer = OBJ_LAYER
|
layer = OBJ_LAYER
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/thermomachine
|
||||||
|
|
||||||
var/on = FALSE
|
var/on = FALSE
|
||||||
var/min_temperature = 0
|
var/min_temperature = 0
|
||||||
@@ -18,49 +19,9 @@
|
|||||||
var/heat_capacity = 0
|
var/heat_capacity = 0
|
||||||
var/interactive = TRUE // So mapmakers can disable interaction.
|
var/interactive = TRUE // So mapmakers can disable interaction.
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/thermomachine/New()
|
/obj/machinery/atmospherics/components/unary/thermomachine/Initialize()
|
||||||
..()
|
|
||||||
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()
|
|
||||||
. = ..()
|
. = ..()
|
||||||
if(prob(50))
|
initialize_directions = dir
|
||||||
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 ..()
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/thermomachine/on_construction()
|
/obj/machinery/atmospherics/components/unary/thermomachine/on_construction()
|
||||||
..(dir,dir)
|
..(dir,dir)
|
||||||
@@ -202,15 +163,7 @@
|
|||||||
icon_state_open = "freezer-o"
|
icon_state_open = "freezer-o"
|
||||||
max_temperature = T20C
|
max_temperature = T20C
|
||||||
min_temperature = 170
|
min_temperature = 170
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/freezer
|
||||||
/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
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/RefreshParts()
|
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/RefreshParts()
|
||||||
..()
|
..()
|
||||||
@@ -227,15 +180,7 @@
|
|||||||
icon_state_open = "heater-o"
|
icon_state_open = "heater-o"
|
||||||
max_temperature = 140
|
max_temperature = 140
|
||||||
min_temperature = T20C
|
min_temperature = T20C
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/thermomachine/heater
|
||||||
/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
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/components/unary/thermomachine/heater/RefreshParts()
|
/obj/machinery/atmospherics/components/unary/thermomachine/heater/RefreshParts()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
volume = 1000
|
volume = 1000
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/pump/Initialize()
|
/obj/machinery/portable_atmospherics/pump/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
pump = new(src, FALSE)
|
pump = new(src, FALSE)
|
||||||
pump.on = TRUE
|
pump.on = TRUE
|
||||||
pump.stat = 0
|
pump.stat = 0
|
||||||
@@ -26,8 +26,7 @@
|
|||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
T.assume_air(air_contents)
|
T.assume_air(air_contents)
|
||||||
air_update_turf()
|
air_update_turf()
|
||||||
qdel(pump)
|
QDEL_NULL(pump)
|
||||||
pump = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/portable_atmospherics/pump/update_icon()
|
/obj/machinery/portable_atmospherics/pump/update_icon()
|
||||||
|
|||||||
@@ -29,13 +29,11 @@
|
|||||||
var/reset_path = /obj/effect/ctf/flag_reset
|
var/reset_path = /obj/effect/ctf/flag_reset
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/ctf/Destroy()
|
/obj/item/weapon/twohanded/ctf/Destroy()
|
||||||
if(reset)
|
QDEL_NULL(reset)
|
||||||
qdel(reset)
|
return ..()
|
||||||
reset = null
|
|
||||||
. = ..()
|
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/ctf/Initialize()
|
/obj/item/weapon/twohanded/ctf/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
SET_SECONDARY_FLAG(src, SLOWS_WHILE_IN_HAND)
|
SET_SECONDARY_FLAG(src, SLOWS_WHILE_IN_HAND)
|
||||||
if(!reset)
|
if(!reset)
|
||||||
reset = new reset_path(get_turf(src))
|
reset = new reset_path(get_turf(src))
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
|||||||
switch(dir)
|
switch(dir)
|
||||||
if(SOUTH,SOUTHEAST,SOUTHWEST)
|
if(SOUTH,SOUTHEAST,SOUTHWEST)
|
||||||
density = FALSE
|
density = FALSE
|
||||||
..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/gateway/proc/toggleoff()
|
/obj/machinery/gateway/proc/toggleoff()
|
||||||
for(var/obj/machinery/gateway/G in linked)
|
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)
|
/obj/machinery/gateway/proc/toggleon(mob/user)
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
/obj/machinery/gateway/centerstation/New()
|
/obj/machinery/gateway/centerstation/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
if(!GLOB.the_gateway)
|
if(!GLOB.the_gateway)
|
||||||
GLOB.the_gateway = src
|
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()
|
/obj/machinery/gateway/centerstation/Destroy()
|
||||||
if(GLOB.the_gateway == src)
|
if(GLOB.the_gateway == src)
|
||||||
@@ -96,12 +99,6 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
|||||||
var/obj/machinery/gateway/centeraway/awaygate = null
|
var/obj/machinery/gateway/centeraway/awaygate = null
|
||||||
can_link = TRUE
|
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()
|
/obj/machinery/gateway/centerstation/update_icon()
|
||||||
if(active)
|
if(active)
|
||||||
icon_state = "oncenter"
|
icon_state = "oncenter"
|
||||||
@@ -182,7 +179,7 @@ GLOBAL_DATUM(the_gateway, /obj/machinery/gateway/centerstation)
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/gateway/centeraway/Initialize()
|
/obj/machinery/gateway/centeraway/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
update_icon()
|
update_icon()
|
||||||
stationgate = locate(/obj/machinery/gateway/centerstation)
|
stationgate = locate(/obj/machinery/gateway/centerstation)
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
circuit = /obj/item/weapon/circuitboard/computer/cargo/request
|
circuit = /obj/item/weapon/circuitboard/computer/cargo/request
|
||||||
requestonly = TRUE
|
requestonly = TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/New()
|
/obj/machinery/computer/cargo/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
var/obj/item/weapon/circuitboard/computer/cargo/board = circuit
|
var/obj/item/weapon/circuitboard/computer/cargo/board = circuit
|
||||||
contraband = board.contraband
|
contraband = board.contraband
|
||||||
emagged = board.emagged
|
emagged = board.emagged
|
||||||
|
|||||||
@@ -1778,9 +1778,7 @@
|
|||||||
name = "Shield System Control Board"
|
name = "Shield System Control Board"
|
||||||
cost = 5000
|
cost = 5000
|
||||||
special = TRUE
|
special = TRUE
|
||||||
contains = list(
|
contains = list(/obj/item/weapon/circuitboard/computer/sat_control)
|
||||||
/obj/item/weapon/circuitboard/machine/computer/sat_control
|
|
||||||
)
|
|
||||||
crate_name= "shield control board crate"
|
crate_name= "shield control board crate"
|
||||||
|
|
||||||
/datum/supply_pack/misc/bicycle
|
/datum/supply_pack/misc/bicycle
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ insert ascii eagle on american flag background here
|
|||||||
container_type = OPENCONTAINER
|
container_type = OPENCONTAINER
|
||||||
var/obj/item/frying = null //What's being fried RIGHT NOW?
|
var/obj/item/frying = null //What's being fried RIGHT NOW?
|
||||||
var/cook_time = 0
|
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/screwdriver,
|
||||||
/obj/item/weapon/crowbar,
|
/obj/item/weapon/crowbar,
|
||||||
/obj/item/weapon/wrench,
|
/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/reagent_containers/glass,
|
||||||
/obj/item/weapon/storage/part_replacer))
|
/obj/item/weapon/storage/part_replacer))
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/deep_fryer
|
/obj/machinery/deepfryer/Initialize()
|
||||||
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()
|
|
||||||
..()
|
|
||||||
create_reagents(50)
|
create_reagents(50)
|
||||||
reagents.add_reagent("nutriment", 25)
|
reagents.add_reagent("nutriment", 25)
|
||||||
component_parts = list()
|
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?!
|
else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?!
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
if(is_type_in_typecache(I, blacklisted_items))
|
if(is_type_in_typecache(I, deepfry_blacklisted_items))
|
||||||
. = ..()
|
. = ..()
|
||||||
else if(user.drop_item() && !frying)
|
else if(user.drop_item() && !frying)
|
||||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||||
|
|||||||
@@ -18,17 +18,15 @@
|
|||||||
container_type = OPENCONTAINER
|
container_type = OPENCONTAINER
|
||||||
var/obj/item/weapon/reagent_containers/mixer
|
var/obj/item/weapon/reagent_containers/mixer
|
||||||
|
|
||||||
/obj/machinery/food_cart/New()
|
/obj/machinery/food_cart/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
create_reagents(LIQUID_CAPACIY)
|
create_reagents(LIQUID_CAPACIY)
|
||||||
reagents.set_reacting(FALSE)
|
reagents.set_reacting(FALSE)
|
||||||
mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY)
|
mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY)
|
||||||
mixer.name = "Mixer"
|
mixer.name = "Mixer"
|
||||||
|
|
||||||
/obj/machinery/food_cart/Destroy()
|
/obj/machinery/food_cart/Destroy()
|
||||||
if(mixer)
|
QDEL_NULL(mixer)
|
||||||
qdel(mixer)
|
|
||||||
mixer = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/food_cart/attack_hand(mob/user)
|
/obj/machinery/food_cart/attack_hand(mob/user)
|
||||||
|
|||||||
@@ -6,58 +6,21 @@
|
|||||||
icon_state = "grinder"
|
icon_state = "grinder"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = 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/operating = FALSE //Is it on?
|
||||||
var/dirty = 0 // Does it need cleaning?
|
var/dirty = 0 // Does it need cleaning?
|
||||||
var/gibtime = 40 // Time from starting until meat appears
|
var/gibtime = 40 // Time from starting until meat appears
|
||||||
var/meat_produced = 0
|
var/meat_produced = 0
|
||||||
var/ignore_clothing = 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()
|
/obj/machinery/gibber/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
add_overlay("grjam")
|
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()
|
/obj/machinery/gibber/RefreshParts()
|
||||||
var/gib_time = 40
|
var/gib_time = 40
|
||||||
@@ -234,3 +197,32 @@
|
|||||||
pixel_x = initial(pixel_x) //return to its spot after shaking
|
pixel_x = initial(pixel_x) //return to its spot after shaking
|
||||||
operating = FALSE
|
operating = FALSE
|
||||||
update_icon()
|
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.loc = src
|
||||||
|
M.gib()
|
||||||
@@ -14,11 +14,19 @@
|
|||||||
anchored = FALSE
|
anchored = FALSE
|
||||||
use_power = NO_POWER_USE
|
use_power = NO_POWER_USE
|
||||||
layer = BELOW_OBJ_LAYER
|
layer = BELOW_OBJ_LAYER
|
||||||
|
container_type = OPENCONTAINER
|
||||||
|
max_integrity = 300
|
||||||
var/list/product_types = list()
|
var/list/product_types = list()
|
||||||
var/dispense_flavour = ICECREAM_VANILLA
|
var/dispense_flavour = ICECREAM_VANILLA
|
||||||
var/flavour_name = "vanilla"
|
var/flavour_name = "vanilla"
|
||||||
container_type = OPENCONTAINER
|
var/static/list/icecream_vat_reagents = list(
|
||||||
max_integrity = 300
|
"milk" = 5,
|
||||||
|
"flour" = 5,
|
||||||
|
"sugar" = 5,
|
||||||
|
"ice" = 5,
|
||||||
|
"cocoa" = 5,
|
||||||
|
"berryjuice" = 5,
|
||||||
|
"singulo" = 5)
|
||||||
|
|
||||||
/obj/machinery/icecream_vat/proc/get_ingredient_list(type)
|
/obj/machinery/icecream_vat/proc/get_ingredient_list(type)
|
||||||
switch(type)
|
switch(type)
|
||||||
@@ -52,19 +60,14 @@
|
|||||||
return "vanilla"
|
return "vanilla"
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/icecream_vat/New()
|
/obj/machinery/icecream_vat/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
while(product_types.len < 6)
|
while(product_types.len < 6)
|
||||||
product_types.Add(5)
|
product_types.Add(5)
|
||||||
create_reagents()
|
create_reagents()
|
||||||
reagents.set_reacting(FALSE)
|
reagents.set_reacting(FALSE)
|
||||||
reagents.add_reagent("milk", 5)
|
for(var/reagent in icecream_vat_reagents)
|
||||||
reagents.add_reagent("flour", 5)
|
reagents.add_reagent(reagent, icecream_vat_reagents[reagent])
|
||||||
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)
|
|
||||||
|
|
||||||
/obj/machinery/icecream_vat/attack_hand(mob/user)
|
/obj/machinery/icecream_vat/attack_hand(mob/user)
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/microwave
|
||||||
var/operating = FALSE // Is it on?
|
var/operating = FALSE // Is it on?
|
||||||
var/dirty = 0 // = {0..100} Does it need cleaning?
|
var/dirty = 0 // = {0..100} Does it need cleaning?
|
||||||
var/broken = 0 // ={0,1,2} How broken is it???
|
var/broken = 0 // ={0,1,2} How broken is it???
|
||||||
@@ -21,22 +22,9 @@
|
|||||||
* Initialising
|
* Initialising
|
||||||
********************/
|
********************/
|
||||||
|
|
||||||
/obj/machinery/microwave/New()
|
/obj/machinery/microwave/Initialize()
|
||||||
|
. = ..()
|
||||||
create_reagents(100)
|
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()
|
/obj/machinery/microwave/RefreshParts()
|
||||||
var/E
|
var/E
|
||||||
|
|||||||
@@ -9,24 +9,11 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 50
|
active_power_usage = 50
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/monkey_recycler
|
||||||
var/grinded = 0
|
var/grinded = 0
|
||||||
var/required_grind = 5
|
var/required_grind = 5
|
||||||
var/cube_production = 1
|
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()
|
/obj/machinery/monkey_recycler/RefreshParts()
|
||||||
var/req_grind = 5
|
var/req_grind = 5
|
||||||
var/cubes_made = 1
|
var/cubes_made = 1
|
||||||
|
|||||||
@@ -7,44 +7,15 @@
|
|||||||
layer = BELOW_OBJ_LAYER
|
layer = BELOW_OBJ_LAYER
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
var/broken = 0
|
|
||||||
var/processing = FALSE
|
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 50
|
active_power_usage = 50
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/processor
|
||||||
|
var/broken = 0
|
||||||
|
var/processing = FALSE
|
||||||
var/rating_speed = 1
|
var/rating_speed = 1
|
||||||
var/rating_amount = 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()
|
/obj/machinery/processor/RefreshParts()
|
||||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||||
rating_amount = B.rating
|
rating_amount = B.rating
|
||||||
@@ -300,11 +271,7 @@
|
|||||||
name = "Slime processor"
|
name = "Slime processor"
|
||||||
desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating."
|
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)
|
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/processor/slime(null)
|
||||||
B.apply_default_parts(src)
|
B.apply_default_parts(src)
|
||||||
|
|
||||||
/obj/item/weapon/circuitboard/machine/processor/slime
|
|
||||||
name = "Slime Processor (Machine Board)"
|
|
||||||
build_path = /obj/machinery/processor/slime
|
|
||||||
@@ -12,13 +12,14 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/smartfridge
|
||||||
var/max_n_of_items = 1500
|
var/max_n_of_items = 1500
|
||||||
var/icon_on = "smartfridge"
|
var/icon_on = "smartfridge"
|
||||||
var/icon_off = "smartfridge-off"
|
var/icon_off = "smartfridge-off"
|
||||||
var/list/initial_contents
|
var/list/initial_contents
|
||||||
|
|
||||||
/obj/machinery/smartfridge/Initialize()
|
/obj/machinery/smartfridge/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
create_reagents()
|
create_reagents()
|
||||||
reagents.set_reacting(FALSE)
|
reagents.set_reacting(FALSE)
|
||||||
|
|
||||||
@@ -30,40 +31,6 @@
|
|||||||
for(var/i in 1 to amount)
|
for(var/i in 1 to amount)
|
||||||
load(new typekey(src))
|
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()
|
/obj/machinery/smartfridge/RefreshParts()
|
||||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||||
max_n_of_items = 1500 * B.rating
|
max_n_of_items = 1500 * B.rating
|
||||||
@@ -255,8 +222,8 @@
|
|||||||
icon_off = "drying_rack"
|
icon_off = "drying_rack"
|
||||||
var/drying = FALSE
|
var/drying = FALSE
|
||||||
|
|
||||||
/obj/machinery/smartfridge/drying_rack/New()
|
/obj/machinery/smartfridge/drying_rack/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
if(component_parts && component_parts.len)
|
if(component_parts && component_parts.len)
|
||||||
component_parts.Cut()
|
component_parts.Cut()
|
||||||
component_parts = null
|
component_parts = null
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 40
|
idle_power_usage = 40
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/biogenerator
|
||||||
var/processing = FALSE
|
var/processing = FALSE
|
||||||
var/obj/item/weapon/reagent_containers/glass/beaker = null
|
var/obj/item/weapon/reagent_containers/glass/beaker = null
|
||||||
var/points = 0
|
var/points = 0
|
||||||
@@ -18,17 +19,13 @@
|
|||||||
var/list/show_categories = list("Food", "Botany Chemicals", "Leather and Cloth")
|
var/list/show_categories = list("Food", "Botany Chemicals", "Leather and Cloth")
|
||||||
var/list/timesFiveCategories = list("Food", "Botany Chemicals")
|
var/list/timesFiveCategories = list("Food", "Botany Chemicals")
|
||||||
|
|
||||||
/obj/machinery/biogenerator/New()
|
/obj/machinery/biogenerator/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
files = new /datum/research/biogenerator(src)
|
files = new /datum/research/biogenerator(src)
|
||||||
create_reagents(1000)
|
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()
|
/obj/machinery/biogenerator/Destroy()
|
||||||
if(beaker)
|
QDEL_NULL(beaker)
|
||||||
qdel(beaker)
|
|
||||||
beaker = null
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/biogenerator/contents_explosion(severity, target)
|
/obj/machinery/biogenerator/contents_explosion(severity, target)
|
||||||
@@ -43,16 +40,6 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
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()
|
/obj/machinery/biogenerator/RefreshParts()
|
||||||
var/E = 0
|
var/E = 0
|
||||||
var/P = 0
|
var/P = 0
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
icon_state = "dnamod"
|
icon_state = "dnamod"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/plantgenes
|
||||||
|
|
||||||
var/obj/item/seeds/seed
|
var/obj/item/seeds/seed
|
||||||
var/obj/item/weapon/disk/plantgene/disk
|
var/obj/item/weapon/disk/plantgene/disk
|
||||||
@@ -22,21 +23,6 @@
|
|||||||
var/min_wchance = 67
|
var/min_wchance = 67
|
||||||
var/min_wrate = 10
|
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.
|
/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)
|
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||||
if(M.rating > 3)
|
if(M.rating > 3)
|
||||||
@@ -421,23 +407,9 @@
|
|||||||
seed.name = "experimental " + seed.name
|
seed.name = "experimental " + seed.name
|
||||||
seed.icon_state = "seed-x"
|
seed.icon_state = "seed-x"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Gene modder for seed vault ship, built with high tech alien parts.
|
// Gene modder for seed vault ship, built with high tech alien parts.
|
||||||
/obj/machinery/plantgenes/seedvault/New()
|
/obj/machinery/plantgenes/seedvault
|
||||||
..()
|
circuit = /obj/item/weapon/circuitboard/machine/plantgenes/vault
|
||||||
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)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Plant DNA disk
|
* Plant DNA disk
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
pixel_y = 8
|
pixel_y = 8
|
||||||
unique_rename = 1
|
unique_rename = 1
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/hydroponics
|
||||||
var/waterlevel = 100 //The amount of water in the tray (max 100)
|
var/waterlevel = 100 //The amount of water in the tray (max 100)
|
||||||
var/maxwater = 100 //The maximum amount of water in the tray
|
var/maxwater = 100 //The maximum amount of water in the tray
|
||||||
var/nutrilevel = 10 //The amount of nutrient in the tray (max 10)
|
var/nutrilevel = 10 //The amount of nutrient in the tray (max 10)
|
||||||
@@ -37,20 +38,6 @@
|
|||||||
icon = 'icons/obj/hydroponics/equipment.dmi'
|
icon = 'icons/obj/hydroponics/equipment.dmi'
|
||||||
icon_state = "hydrotray3"
|
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()
|
/obj/machinery/hydroponics/constructable/RefreshParts()
|
||||||
var/tmp_capacity = 0
|
var/tmp_capacity = 0
|
||||||
for (var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
for (var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
||||||
|
|||||||
@@ -44,23 +44,11 @@
|
|||||||
icon_state = "sextractor"
|
icon_state = "sextractor"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/seed_extractor
|
||||||
var/piles = list()
|
var/piles = list()
|
||||||
var/max_seeds = 1000
|
var/max_seeds = 1000
|
||||||
var/seed_multiplier = 1
|
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()
|
/obj/machinery/seed_extractor/RefreshParts()
|
||||||
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
|
||||||
max_seeds = 1000 * B.rating
|
max_seeds = 1000 * B.rating
|
||||||
|
|||||||
@@ -193,8 +193,8 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums
|
|||||||
libcomp_menu[page] = ""
|
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"
|
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)
|
if(circuit)
|
||||||
circuit.name = "Book Inventory Management Console (Machine Board)"
|
circuit.name = "Book Inventory Management Console (Machine Board)"
|
||||||
circuit.build_path = /obj/machinery/computer/libraryconsole/bookmanagement
|
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
|
var/obj/item/device/gps/internal/base/locator
|
||||||
circuit = /obj/item/weapon/circuitboard/computer/auxillary_base
|
circuit = /obj/item/weapon/circuitboard/computer/auxillary_base
|
||||||
|
|
||||||
/obj/machinery/computer/auxillary_base/New(location, obj/item/weapon/circuitboard/computer/shuttle/C)
|
/obj/machinery/computer/auxillary_base/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
locator = new /obj/item/device/gps/internal/base(src)
|
locator = new(src)
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/computer/auxillary_base/attack_hand(mob/user)
|
/obj/machinery/computer/auxillary_base/attack_hand(mob/user)
|
||||||
if(..(user))
|
if(..(user))
|
||||||
|
|||||||
@@ -49,9 +49,9 @@
|
|||||||
|
|
||||||
light_color = LIGHT_COLOR_PINK
|
light_color = LIGHT_COLOR_PINK
|
||||||
|
|
||||||
/obj/machinery/computer/camera_advanced/base_construction/New()
|
/obj/machinery/computer/camera_advanced/base_construction/Initialize()
|
||||||
..()
|
. = ..()
|
||||||
RCD = new /obj/item/weapon/construction/rcd/internal(src)
|
RCD = new(src)
|
||||||
|
|
||||||
/obj/machinery/computer/camera_advanced/base_construction/Initialize(mapload)
|
/obj/machinery/computer/camera_advanced/base_construction/Initialize(mapload)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -199,18 +199,9 @@
|
|||||||
max_n_of_items = 10
|
max_n_of_items = 10
|
||||||
pixel_y = -4
|
pixel_y = -4
|
||||||
flags = NODECONSTRUCT
|
flags = NODECONSTRUCT
|
||||||
|
var/empty = FALSE
|
||||||
|
|
||||||
/obj/machinery/smartfridge/survival_pod/empty
|
/obj/machinery/smartfridge/survival_pod/Initialize(mapload)
|
||||||
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)
|
|
||||||
. = ..()
|
. = ..()
|
||||||
if(empty)
|
if(empty)
|
||||||
return
|
return
|
||||||
@@ -224,6 +215,14 @@
|
|||||||
var/obj/item/device/instrument/guitar/G = new(src)
|
var/obj/item/device/instrument/guitar/G = new(src)
|
||||||
load(G)
|
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
|
//Fans
|
||||||
/obj/structure/fans
|
/obj/structure/fans
|
||||||
icon = 'icons/obj/lavaland/survival_pod.dmi'
|
icon = 'icons/obj/lavaland/survival_pod.dmi'
|
||||||
|
|||||||
@@ -15,11 +15,14 @@
|
|||||||
var/obj/item/device/radio/Radio //needed to send messages to sec radio
|
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 = new/obj/item/device/radio(src)
|
||||||
Radio.listening = 0
|
Radio.listening = 0
|
||||||
addtimer(CALLBACK(src, .proc/locate_stacking_machine), 7)
|
return INITIALIZE_HINT_LATELOAD
|
||||||
|
|
||||||
|
/obj/machinery/mineral/labor_claim_console/LateInitialize()
|
||||||
|
locate_stacking_machine()
|
||||||
|
|
||||||
/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I, mob/user, params)
|
/obj/machinery/mineral/labor_claim_console/attackby(obj/item/I, mob/user, params)
|
||||||
if(istype(I, /obj/item/weapon/card/id/prisoner))
|
if(istype(I, /obj/item/weapon/card/id/prisoner))
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
|
|
||||||
/obj/machinery/mineral/input/New()
|
/obj/machinery/mineral/input/New()
|
||||||
|
. = ..()
|
||||||
icon_state = "blank"
|
icon_state = "blank"
|
||||||
|
|
||||||
/obj/machinery/mineral/output
|
/obj/machinery/mineral/output
|
||||||
@@ -18,6 +19,7 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
|
|
||||||
/obj/machinery/mineral/output/New()
|
/obj/machinery/mineral/output/New()
|
||||||
|
. = ..()
|
||||||
icon_state = "blank"
|
icon_state = "blank"
|
||||||
|
|
||||||
/obj/machinery/mineral
|
/obj/machinery/mineral
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
input_dir = NORTH
|
input_dir = NORTH
|
||||||
output_dir = SOUTH
|
output_dir = SOUTH
|
||||||
req_access = list(ACCESS_MINERAL_STOREROOM)
|
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/req_access_reclaim = ACCESS_MINING_STATION
|
||||||
var/obj/item/weapon/card/id/inserted_id
|
var/obj/item/weapon/card/id/inserted_id
|
||||||
var/points = 0
|
var/points = 0
|
||||||
@@ -18,7 +20,6 @@
|
|||||||
var/sheet_per_ore = 1
|
var/sheet_per_ore = 1
|
||||||
var/point_upgrade = 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)
|
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/message_sent = FALSE
|
||||||
var/list/ore_buffer = list()
|
var/list/ore_buffer = list()
|
||||||
var/datum/material_container/materials
|
var/datum/material_container/materials
|
||||||
@@ -27,8 +28,6 @@
|
|||||||
|
|
||||||
/obj/machinery/mineral/ore_redemption/Initialize()
|
/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)
|
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)
|
files = new /datum/research/smelter(src)
|
||||||
|
|
||||||
@@ -37,17 +36,6 @@
|
|||||||
QDEL_NULL(files)
|
QDEL_NULL(files)
|
||||||
return ..()
|
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()
|
/obj/machinery/mineral/ore_redemption/RefreshParts()
|
||||||
var/ore_pickup_rate_temp = 15
|
var/ore_pickup_rate_temp = 15
|
||||||
var/point_upgrade_temp = 1
|
var/point_upgrade_temp = 1
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
icon_state = "mining"
|
icon_state = "mining"
|
||||||
density = TRUE
|
density = TRUE
|
||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
|
circuit = /obj/item/weapon/circuitboard/machine/mining_equipment_vendor
|
||||||
var/obj/item/weapon/card/id/inserted_id
|
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.
|
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),
|
new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10),
|
||||||
@@ -67,19 +68,6 @@
|
|||||||
src.equipment_path = path
|
src.equipment_path = path
|
||||||
src.cost = cost
|
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()
|
/obj/machinery/mineral/equipment_vendor/power_change()
|
||||||
..()
|
..()
|
||||||
update_icon()
|
update_icon()
|
||||||
@@ -207,9 +195,10 @@
|
|||||||
|
|
||||||
/obj/machinery/mineral/equipment_vendor/golem
|
/obj/machinery/mineral/equipment_vendor/golem
|
||||||
name = "golem ship equipment vendor"
|
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."
|
desc += "\nIt seems a few selections have been added."
|
||||||
prize_list += list(
|
prize_list += list(
|
||||||
new /datum/data/mining_equipment("Extra Id", /obj/item/weapon/card/id/mining, 250),
|
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)
|
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 Vendor Items**************************/
|
||||||
|
|
||||||
/**********************Mining Equipment Voucher**********************/
|
/**********************Mining Equipment Voucher**********************/
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user