mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Frame code cleanup
This commit is contained in:
@@ -11,13 +11,6 @@
|
||||
interact_offline = 1
|
||||
circuit = /obj/item/weapon/circuitboard/sleeper_console
|
||||
|
||||
//obj/machinery/sleep_console/New()
|
||||
//..()
|
||||
//spawn( 5 )
|
||||
//src.connected = locate(/obj/machinery/sleeper, get_step(src, WEST)) //We assume dir = 8 so sleeper is WEST. Other sprites do exist.
|
||||
//return
|
||||
//return
|
||||
|
||||
/obj/machinery/sleep_console/New()
|
||||
..()
|
||||
spawn(5)
|
||||
@@ -37,32 +30,8 @@
|
||||
connected.ui_interact(user)
|
||||
|
||||
/obj/machinery/sleep_console/attackby(var/obj/item/I, var/mob/user)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
A.density = 1
|
||||
A.frame_type = M.board_type
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
if (src.stat & BROKEN)
|
||||
user << "<span class='notice'>The broken glass falls out.</span>"
|
||||
new /obj/item/weapon/material/shard( src.loc )
|
||||
A.state = 3
|
||||
A.icon_state = "[A.frame_type]_3"
|
||||
else
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "[A.frame_type]_4"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.dir = dir
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
if(C)
|
||||
C.connected = src
|
||||
|
||||
/obj/machinery/bodyscanner/map/New()
|
||||
..()
|
||||
circuit = new circuit(src)
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/stock_parts/scanning_module(src)
|
||||
@@ -188,32 +186,8 @@
|
||||
findscanner()
|
||||
|
||||
/obj/machinery/body_scanconsole/attackby(var/obj/item/I, var/mob/user)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
A.density = 1
|
||||
A.frame_type = M.board_type
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
if (src.stat & BROKEN)
|
||||
user << "<span class='notice'>The broken glass falls out.</span>"
|
||||
new /obj/item/weapon/material/shard( src.loc )
|
||||
A.state = 3
|
||||
A.icon_state = "[A.frame_type]_3"
|
||||
else
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "[A.frame_type]_4"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.dir = dir
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -745,31 +745,10 @@
|
||||
|
||||
/obj/machinery/alarm/attackby(obj/item/W as obj, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver)) // Opening that Air Alarm up.
|
||||
//user << "You pop the Air Alarm's maintence panel open."
|
||||
wiresexposed = !wiresexposed
|
||||
user << "The wires have been [wiresexposed ? "exposed" : "unexposed"]"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if (wiresexposed && istype(W, /obj/item/weapon/wirecutters))
|
||||
user.visible_message("<span class='warning'>[user] has cut the wires inside \the [src]!</span>", "You have cut the wires inside \the [src].")
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
new/obj/item/stack/cable_coil(get_turf(src), 5)
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "airalarm"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.set_dir(dir)
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
A.state = 2
|
||||
A.icon_state = "airalarm_2"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(alarm_deconstruction_screwdriver(user, W, wiresexposed))
|
||||
return
|
||||
if(alarm_deconstruction_wirecutters(user, W, wiresexposed))
|
||||
return
|
||||
|
||||
if (istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card
|
||||
@@ -824,7 +803,7 @@ FIRE ALARM
|
||||
var/last_process = 0
|
||||
var/wiresexposed = 0
|
||||
var/seclevel
|
||||
circuit = /obj/item/weapon/circuitboard/firealarm
|
||||
circuit = /obj/item/weapon/circuitboard/firealarm
|
||||
|
||||
/obj/machinery/firealarm/update_icon()
|
||||
overlays.Cut()
|
||||
@@ -873,9 +852,9 @@ FIRE ALARM
|
||||
/obj/machinery/firealarm/attackby(obj/item/W as obj, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
|
||||
if (istype(W, /obj/item/weapon/screwdriver))
|
||||
wiresexposed = !wiresexposed
|
||||
update_icon()
|
||||
if(alarm_deconstruction_screwdriver(user, W, wiresexposed))
|
||||
return
|
||||
if(alarm_deconstruction_wirecutters(user, W, wiresexposed))
|
||||
return
|
||||
|
||||
if(wiresexposed)
|
||||
@@ -885,24 +864,6 @@ FIRE ALARM
|
||||
user.visible_message("<span class='notice'>\The [user] has reconnected [src]'s detecting unit!</span>", "<span class='notice'>You have reconnected [src]'s detecting unit.</span>")
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] has disconnected [src]'s detecting unit!</span>", "<span class='notice'>You have disconnected [src]'s detecting unit.</span>")
|
||||
else if (istype(W, /obj/item/weapon/wirecutters))
|
||||
user.visible_message("<span class='notice'>\The [user] has cut the wires inside \the [src]!</span>", "<span class='notice'>You have cut the wires inside \the [src].</span>")
|
||||
new/obj/item/stack/cable_coil(get_turf(src), 5)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "firealarm"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.set_dir(dir)
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
A.state = 2
|
||||
A.icon_state = "firealarm_2"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
src.alarm()
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
use_power = 1
|
||||
idle_power_usage = 300
|
||||
active_power_usage = 300
|
||||
frame_type = "computer"
|
||||
var/processing = 0
|
||||
|
||||
var/icon_keyboard = "generic_key"
|
||||
@@ -97,37 +96,8 @@
|
||||
return text
|
||||
|
||||
/obj/machinery/computer/attackby(I as obj, user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
A.density = 1
|
||||
A.frame_type = M.board_type
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
if (src.stat & BROKEN)
|
||||
user << "<span class='notice'>The broken glass falls out.</span>"
|
||||
new /obj/item/weapon/material/shard( src.loc )
|
||||
A.state = 3
|
||||
A.icon_state = "[A.frame_type]_3"
|
||||
else
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "[A.frame_type]_4"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return
|
||||
@@ -65,25 +65,6 @@
|
||||
|
||||
|
||||
/obj/machinery/computer/guestpass/attackby(obj/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "guestpass"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "guestpass_4"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/card/id))
|
||||
if(!giver && user.unEquip(I))
|
||||
I.forceMove(src)
|
||||
|
||||
@@ -6,20 +6,16 @@
|
||||
var/state = 0
|
||||
var/obj/item/weapon/circuitboard/circuit = null
|
||||
var/need_circuit = 1
|
||||
var/frame_type = "machine"
|
||||
var/datum/frame/frame_types/frame_type = new /datum/frame/frame_types/machine
|
||||
|
||||
var/list/components = null
|
||||
var/list/req_components = null
|
||||
var/list/req_component_names = null
|
||||
|
||||
var/list/alarms = list("firealarm", "airalarm", "intercom", "keycard")
|
||||
var/list/machines = list(
|
||||
"machine", "photocopier", "fax", "microwave", "conveyor", "recharger", "wrecharger",
|
||||
"washing", "grinder", "teleporter_hub", "teleporter_station", "medpod", "dna_analyzer",
|
||||
"massdriver")
|
||||
var/list/computers = list("computer", "holopad", "console")
|
||||
var/list/displays = list("display", "guestpass", "newscaster", "atm", "request")
|
||||
var/list/no_circuit = list("wrecharger", "recharger", "grinder", "conveyor", "massdriver")
|
||||
/obj/structure/frame/computer //used for maps
|
||||
frame_type = new /datum/frame/frame_types/computer
|
||||
anchored = 1
|
||||
density = 1
|
||||
|
||||
/obj/structure/frame/proc/update_desc()
|
||||
var/D
|
||||
@@ -31,6 +27,12 @@
|
||||
D = "Requires [english_list(component_list)]."
|
||||
desc = D
|
||||
|
||||
/obj/structure/frame/update_icon()
|
||||
..()
|
||||
var/type = lowertext(frame_type.name)
|
||||
type = replacetext(type, " ", "_")
|
||||
icon_state = "[type]_[state]"
|
||||
|
||||
/obj/structure/frame/proc/check_components(mob/user as mob)
|
||||
components = list()
|
||||
req_components = circuit.req_components.Copy()
|
||||
@@ -41,183 +43,117 @@
|
||||
var/obj/ct = A
|
||||
req_component_names[A] = initial(ct.name)
|
||||
|
||||
/obj/structure/frame/New(var/loc, var/dir, var/building = 0, var/obj/item/frame/frame_type, mob/user as mob)
|
||||
/obj/structure/frame/New(var/loc, var/dir, var/building = 0, var/datum/frame/frame_types/type, mob/user as mob)
|
||||
..()
|
||||
if(building)
|
||||
src.frame_type = frame_type
|
||||
icon_state = "[frame_type]_0"
|
||||
frame_type = type
|
||||
state = 0
|
||||
|
||||
if(dir)
|
||||
src.set_dir(dir)
|
||||
set_dir(dir)
|
||||
|
||||
if(frame_type in alarms)
|
||||
if(loc)
|
||||
src.loc = loc
|
||||
if(loc)
|
||||
src.loc = loc
|
||||
|
||||
state = 0
|
||||
if(frame_type == "airalarm" || frame_type == "firealarm" || frame_type == "keycard")
|
||||
if(dir)
|
||||
src.set_dir(dir)
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -24 : 24) : 0
|
||||
if(frame_type.x_offset)
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -frame_type.x_offset : frame_type.x_offset)
|
||||
|
||||
if(frame_type == "intercom")
|
||||
if(dir)
|
||||
src.set_dir(dir)
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -28 : 28)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -28 : 28) : 0
|
||||
if(frame_type.y_offset)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -frame_type.y_offset : frame_type.y_offset) : 0
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(frame_type in displays)
|
||||
if(loc)
|
||||
src.loc = loc
|
||||
|
||||
if(frame_type == "display" || frame_type == "atm" || frame_type == "request")
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -32 : 32) : 0
|
||||
|
||||
if(frame_type == "newscaster")
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -28 : 28)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -30 : 30) : 0
|
||||
|
||||
if(frame_type == "guestpass")
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -30 : 30)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -30 : 30) : 0
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(frame_type in no_circuit)
|
||||
if(frame_type.circuit)
|
||||
need_circuit = 0
|
||||
if(frame_type == "wrecharger")
|
||||
circuit = new /obj/item/weapon/circuitboard/recharger/wrecharger(src)
|
||||
if(loc)
|
||||
src.loc = loc
|
||||
circuit = new frame_type.circuit(src)
|
||||
|
||||
state = 0
|
||||
|
||||
pixel_x = (dir & 3)? 0 : (dir == 4 ? -26 : 32)
|
||||
pixel_y = (dir & 3)? (dir == 1 ? -32 : 32) : 0
|
||||
|
||||
update_icon()
|
||||
return
|
||||
if(frame_type == "recharger")
|
||||
circuit = new /obj/item/weapon/circuitboard/recharger(src)
|
||||
if(frame_type == "grinder")
|
||||
circuit = new /obj/item/weapon/circuitboard/grinder(src)
|
||||
if(frame_type == "conveyor")
|
||||
circuit = new /obj/item/weapon/circuitboard/conveyor(src)
|
||||
if(frame_type == "massdriver")
|
||||
circuit = new /obj/item/weapon/circuitboard/mass_driver(src)
|
||||
|
||||
if(frame_type == "computer")
|
||||
if(frame_type.name == "Computer")
|
||||
density = 1
|
||||
if(frame_type in machines)
|
||||
|
||||
if(frame_type.frame_class == "machine")
|
||||
density = 1
|
||||
return
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/structure/frame/attackby(obj/item/P as obj, mob/user as mob)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
if(state == 0)
|
||||
if(state == 0 && !anchored)
|
||||
user << "<span class='notice'>You start to wrench the frame into place.</span>"
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
src.anchored = 1
|
||||
anchored = 1
|
||||
if(!need_circuit && circuit)
|
||||
src.state = 2
|
||||
state = 2
|
||||
check_components()
|
||||
update_desc()
|
||||
src.icon_state = "[frame_type]_2"
|
||||
user << "<span class='notice'>You wrench the frame into place and set the outer cover.</span>"
|
||||
else
|
||||
src.state = 1
|
||||
user << "<span class='notice'>You wrench the frame into place.</span>"
|
||||
return
|
||||
|
||||
if(state == 1)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
else if(state == 0 && anchored)
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
user << "<span class='notice'>You unfasten the frame.</span>"
|
||||
src.anchored = 0
|
||||
src.state = 0
|
||||
return
|
||||
anchored = 0
|
||||
|
||||
if(istype(P, /obj/item/weapon/weldingtool))
|
||||
else if(istype(P, /obj/item/weapon/weldingtool))
|
||||
if(state == 0)
|
||||
var/obj/item/weapon/weldingtool/WT = P
|
||||
if(!WT.remove_fuel(0, user))
|
||||
if(WT.remove_fuel(0, user))
|
||||
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if(src && WT.isOn())
|
||||
user << "<span class='notice'>You deconstruct the frame.</span>"
|
||||
new /obj/item/stack/material/steel(loc, frame_type.frame_size)
|
||||
qdel(src)
|
||||
return
|
||||
else if(!WT.remove_fuel(0, user))
|
||||
user << "The welding tool must be on to complete this task."
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if(!src || !WT.isOn()) return
|
||||
user << "<span class='notice'>You deconstruct the frame.</span>"
|
||||
if(frame_type == "holopad" || frame_type == "microwave")
|
||||
new /obj/item/stack/material/steel( src.loc, 4 )
|
||||
else if(frame_type == "fax" || frame_type == "newscaster" || frame_type == "recharger" || frame_type == "wrecharger" || frame_type == "grinder")
|
||||
new /obj/item/stack/material/steel( src.loc, 3 )
|
||||
else if(frame_type == "firealarm" || frame_type == "airalarm" || frame_type == "intercom" || frame_type == "guestpass")
|
||||
new /obj/item/stack/material/steel( src.loc, 2 )
|
||||
else if(frame_type == "keycard")
|
||||
new /obj/item/stack/material/steel( src.loc, 1 )
|
||||
else
|
||||
new /obj/item/stack/material/steel( src.loc, 5 )
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/circuitboard) && need_circuit && !circuit)
|
||||
if(state == 1)
|
||||
else if(istype(P, /obj/item/weapon/circuitboard) && need_circuit && !circuit)
|
||||
if(state == 0 && anchored)
|
||||
var/obj/item/weapon/circuitboard/B = P
|
||||
if(B.board_type == frame_type)
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
|
||||
src.icon_state = "[frame_type]_1"
|
||||
src.circuit = P
|
||||
circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
if(frame_type in machines) //because machines are assholes
|
||||
state = 1
|
||||
if(frame_type.frame_class == "machine")
|
||||
check_components()
|
||||
update_desc()
|
||||
return
|
||||
else
|
||||
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/screwdriver))
|
||||
if(state == 1)
|
||||
if(need_circuit && circuit)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You screw the circuit board into place.</span>"
|
||||
src.state = 2
|
||||
src.icon_state = "[frame_type]_2"
|
||||
return
|
||||
|
||||
if(state == 2)
|
||||
if(need_circuit && circuit)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You unfasten the circuit board.</span>"
|
||||
src.state = 1
|
||||
src.icon_state = "[frame_type]_1"
|
||||
return
|
||||
|
||||
if(!need_circuit && circuit)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You unfasten the outer cover.</span>"
|
||||
src.state = 1
|
||||
src.icon_state = "[frame_type]_0"
|
||||
return
|
||||
else if(istype(P, /obj/item/weapon/screwdriver))
|
||||
if(state == 1)
|
||||
if(need_circuit && circuit)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You screw the circuit board into place.</span>"
|
||||
state = 2
|
||||
|
||||
if(state == 3)
|
||||
if(frame_type in machines)
|
||||
else if(state == 2)
|
||||
if(need_circuit && circuit)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You unfasten the circuit board.</span>"
|
||||
state = 1
|
||||
|
||||
else if(!need_circuit && circuit)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You unfasten the outer cover.</span>"
|
||||
state = 0
|
||||
|
||||
else if(state == 3)
|
||||
if(frame_type.frame_class == "machine")
|
||||
var/component_check = 1
|
||||
for(var/R in req_components)
|
||||
if(req_components[R] > 0)
|
||||
component_check = 0
|
||||
break
|
||||
if(component_check)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
var/obj/machinery/new_machine = new src.circuit.build_path(src.loc, src.dir)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
var/obj/machinery/new_machine = new circuit.build_path(loc, dir)
|
||||
// Handle machines that have allocated default parts in thier constructor.
|
||||
if(new_machine.component_parts)
|
||||
for(var/CP in new_machine.component_parts)
|
||||
@@ -226,9 +162,9 @@
|
||||
else
|
||||
new_machine.component_parts = list()
|
||||
|
||||
src.circuit.construct(new_machine)
|
||||
circuit.construct(new_machine)
|
||||
|
||||
for(var/obj/O in src.components)
|
||||
for(var/obj/O in components)
|
||||
if(circuit.contain_parts)
|
||||
O.loc = new_machine
|
||||
else
|
||||
@@ -240,61 +176,59 @@
|
||||
|
||||
new_machine.RefreshParts()
|
||||
|
||||
new_machine.pixel_x = src.pixel_x
|
||||
new_machine.pixel_y = src.pixel_y
|
||||
new_machine.pixel_x = pixel_x
|
||||
new_machine.pixel_y = pixel_y
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
if(frame_type in alarms)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "alarm")
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You fasten the cover.</span>"
|
||||
var/obj/machinery/B = new src.circuit.build_path ( src.loc )
|
||||
B.pixel_x = src.pixel_x
|
||||
B.pixel_y = src.pixel_y
|
||||
var/obj/machinery/B = new circuit.build_path(loc)
|
||||
B.pixel_x = pixel_x
|
||||
B.pixel_y = pixel_y
|
||||
B.set_dir(dir)
|
||||
src.circuit.construct(B)
|
||||
circuit.construct(B)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(state == 4)
|
||||
if(frame_type in computers)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
else if(state == 4)
|
||||
if(frame_type.frame_class == "computer")
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You connect the monitor.</span>"
|
||||
var/obj/machinery/B = new src.circuit.build_path ( src.loc )
|
||||
B.pixel_x = src.pixel_x
|
||||
B.pixel_y = src.pixel_y
|
||||
var/obj/machinery/B = new circuit.build_path(loc)
|
||||
B.pixel_x = pixel_x
|
||||
B.pixel_y = pixel_y
|
||||
B.set_dir(dir)
|
||||
src.circuit.construct(B)
|
||||
circuit.construct(B)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(frame_type in displays)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "display")
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
user << "<span class='notice'>You connect the monitor.</span>"
|
||||
var/obj/machinery/B = new src.circuit.build_path ( src.loc )
|
||||
B.pixel_x = src.pixel_x
|
||||
B.pixel_y = src.pixel_y
|
||||
var/obj/machinery/B = new circuit.build_path(loc)
|
||||
B.pixel_x = pixel_x
|
||||
B.pixel_y = pixel_y
|
||||
B.set_dir(dir)
|
||||
src.circuit.construct(B)
|
||||
circuit.construct(B)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/crowbar))
|
||||
else if(istype(P, /obj/item/weapon/crowbar))
|
||||
if(state == 1)
|
||||
if(need_circuit && circuit)
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the circuit board.</span>"
|
||||
src.state = 1
|
||||
src.icon_state = "[frame_type]_0"
|
||||
circuit.loc = src.loc
|
||||
src.circuit = null
|
||||
if(frame_type in machines) //becuase machines are assholes
|
||||
state = 0
|
||||
circuit.loc = loc
|
||||
circuit = null
|
||||
if(frame_type.frame_class == "machine")
|
||||
req_components = null
|
||||
return
|
||||
|
||||
if(state == 3)
|
||||
if(frame_type in machines)
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
else if(state == 3)
|
||||
if(frame_type.frame_class == "machine")
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
if(components.len == 0)
|
||||
user << "<span class='notice'>There are no components to remove.</span>"
|
||||
else
|
||||
@@ -304,112 +238,93 @@
|
||||
check_components()
|
||||
update_desc()
|
||||
user << desc
|
||||
return
|
||||
|
||||
if(state == 4)
|
||||
if(frame_type in computers)
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
else if(state == 4)
|
||||
if(frame_type.frame_class == "computer")
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the glass panel.</span>"
|
||||
src.state = 3
|
||||
src.icon_state = "[frame_type]_3"
|
||||
new /obj/item/stack/material/glass( src.loc, 2 )
|
||||
return
|
||||
state = 3
|
||||
new /obj/item/stack/material/glass(loc, 2)
|
||||
|
||||
if(frame_type in displays)
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "display")
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the glass panel.</span>"
|
||||
src.state = 3
|
||||
src.icon_state = "[frame_type]_3"
|
||||
new /obj/item/stack/material/glass( src.loc, 2 )
|
||||
return
|
||||
state = 3
|
||||
new /obj/item/stack/material/glass(loc, 2)
|
||||
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
else if(istype(P, /obj/item/stack/cable_coil))
|
||||
if(state == 2)
|
||||
var/obj/item/stack/cable_coil/C = P
|
||||
if (C.get_amount() < 5)
|
||||
if(C.get_amount() < 5)
|
||||
user << "<span class='warning'>You need five coils of wire to add them to the frame.</span>"
|
||||
return
|
||||
user << "<span class='notice'>You start to add cables to the frame.</span>"
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 20) && state == 2)
|
||||
if (C.use(5))
|
||||
if(C.use(5))
|
||||
user << "<span class='notice'>You add cables to the frame.</span>"
|
||||
state = 3
|
||||
icon_state = "[frame_type]_3"
|
||||
if(frame_type in machines)
|
||||
if(frame_type.frame_class == "machine")
|
||||
user << desc
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/wirecutters))
|
||||
else if(istype(P, /obj/item/weapon/wirecutters))
|
||||
if(state == 3)
|
||||
if(frame_type in computers)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
if(frame_type.frame_class == "computer")
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the cables.</span>"
|
||||
src.state = 2
|
||||
src.icon_state = "[frame_type]_2"
|
||||
new /obj/item/stack/cable_coil( src.loc, 5 )
|
||||
return
|
||||
state = 2
|
||||
new /obj/item/stack/cable_coil(loc, 5)
|
||||
|
||||
if(frame_type in displays)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "display")
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the cables.</span>"
|
||||
src.state = 2
|
||||
src.icon_state = "[frame_type]_2"
|
||||
new /obj/item/stack/cable_coil( src.loc, 5 )
|
||||
return
|
||||
state = 2
|
||||
new /obj/item/stack/cable_coil(loc, 5)
|
||||
|
||||
if(frame_type in alarms)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "alarm")
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the cables.</span>"
|
||||
src.state = 2
|
||||
src.icon_state = "[frame_type]_2"
|
||||
new /obj/item/stack/cable_coil( src.loc, 5 )
|
||||
return
|
||||
state = 2
|
||||
new /obj/item/stack/cable_coil(loc, 5)
|
||||
|
||||
if(frame_type in machines)
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
else if(frame_type.frame_class == "machine")
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
user << "<span class='notice'>You remove the cables.</span>"
|
||||
src.state = 2
|
||||
src.icon_state = "[frame_type]_2"
|
||||
new /obj/item/stack/cable_coil( src.loc, 5 )
|
||||
return
|
||||
state = 2
|
||||
new /obj/item/stack/cable_coil(loc, 5)
|
||||
|
||||
if(istype(P, /obj/item/stack/material) && P.get_material_name() == "glass")
|
||||
else if(istype(P, /obj/item/stack/material) && P.get_material_name() == "glass")
|
||||
if(state == 3)
|
||||
if(frame_type in computers)
|
||||
if(frame_type.frame_class == "computer")
|
||||
var/obj/item/stack/G = P
|
||||
if (G.get_amount() < 2)
|
||||
if(G.get_amount() < 2)
|
||||
user << "<span class='warning'>You need two sheets of glass to put in the glass panel.</span>"
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You start to put in the glass panel.</span>"
|
||||
if(do_after(user, 20) && state == 3)
|
||||
if (G.use(2))
|
||||
if(G.use(2))
|
||||
user << "<span class='notice'>You put in the glass panel.</span>"
|
||||
src.state = 4
|
||||
src.icon_state = "[frame_type]_4"
|
||||
return
|
||||
state = 4
|
||||
|
||||
if(frame_type in displays)
|
||||
else if(frame_type.frame_class == "display")
|
||||
var/obj/item/stack/G = P
|
||||
if (G.get_amount() < 2)
|
||||
if(G.get_amount() < 2)
|
||||
user << "<span class='warning'>You need two sheets of glass to put in the glass panel.</span>"
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
user << "<span class='notice'>You start to put in the glass panel.</span>"
|
||||
if(do_after(user, 20) && state == 3)
|
||||
if (G.use(2))
|
||||
if(G.use(2))
|
||||
user << "<span class='notice'>You put in the glass panel.</span>"
|
||||
src.state = 4
|
||||
src.icon_state = "[frame_type]_4"
|
||||
return
|
||||
state = 4
|
||||
|
||||
if(istype(P, /obj/item))
|
||||
else if(istype(P, /obj/item))
|
||||
if(state == 3)
|
||||
if(frame_type in machines)
|
||||
if(frame_type.frame_class == "machine")
|
||||
for(var/I in req_components)
|
||||
if(istype(P, I) && (req_components[I] > 0))
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(istype(P, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/CP = P
|
||||
if(CP.get_amount() > 1)
|
||||
@@ -423,7 +338,7 @@
|
||||
update_desc()
|
||||
break
|
||||
|
||||
if(istype(P, /obj/item/stack/material/glass/reinforced))
|
||||
else if(istype(P, /obj/item/stack/material/glass/reinforced))
|
||||
var/obj/item/stack/material/glass/reinforced/CP = P
|
||||
if(CP.get_amount() > 1)
|
||||
var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided
|
||||
@@ -445,4 +360,6 @@
|
||||
user << desc
|
||||
if(P && P.loc != src && !istype(P, /obj/item/stack/cable_coil) && !istype(P, /obj/item/stack/material))
|
||||
user << "<span class='warning'>You cannot add that component to the machine!</span>"
|
||||
return
|
||||
return
|
||||
|
||||
update_icon()
|
||||
|
||||
@@ -49,25 +49,8 @@ var/const/HOLOPAD_MODE = RANGE_BASED
|
||||
var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating.
|
||||
|
||||
/obj/machinery/hologram/holopad/attackby(obj/item/I as obj, user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start removing the glass.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
A.density = 1
|
||||
A.frame_type = "holopad"
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
user << "<span class='notice'>You remove the glass.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "holopad_4"
|
||||
M.deconstruct(src)
|
||||
for (var/mob/living/silicon/ai/master in masters)
|
||||
clear_holo(master)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -113,7 +113,6 @@ Class Procs:
|
||||
var/global/gl_uid = 1
|
||||
var/interact_offline = 0 // Can the machine be interacted with while de-powered.
|
||||
var/circuit = null
|
||||
var/frame_type = "machine"
|
||||
|
||||
/obj/machinery/New(l, d=0)
|
||||
..(l)
|
||||
@@ -318,12 +317,45 @@ Class Procs:
|
||||
/obj/machinery/proc/default_deconstruction_screwdriver(var/mob/user, var/obj/item/weapon/screwdriver/S)
|
||||
if(!istype(S))
|
||||
return 0
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
panel_open = !panel_open
|
||||
user << "<span class='notice'>You [panel_open ? "open" : "close"] the maintenance hatch of [src].</span>"
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
/obj/machinery/proc/alarm_deconstruction_wirecutters(var/mob/user, var/obj/item/weapon/wirecutters/W, var/wiresexposed)
|
||||
if(!istype(W))
|
||||
return 0
|
||||
if(!wiresexposed)
|
||||
return 0
|
||||
user.visible_message("<span class='warning'>[user] has cut the wires inside \the [src]!</span>", "You have cut the wires inside \the [src].")
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
new/obj/item/stack/cable_coil(get_turf(src), 5)
|
||||
. = dismantle()
|
||||
|
||||
/obj/machinery/proc/alarm_deconstruction_screwdriver(var/mob/user, var/obj/item/weapon/screwdriver/S, var/wiresexposed)
|
||||
if(!istype(S))
|
||||
return 0
|
||||
wiresexposed = !wiresexposed
|
||||
user << "The wires have been [wiresexposed ? "exposed" : "unexposed"]"
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
/obj/machinery/proc/computer_deconstruction_screwdriver(var/mob/user, var/obj/item/weapon/screwdriver/S)
|
||||
if(!istype(S))
|
||||
return 0
|
||||
if(!circuit)
|
||||
return 0
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if(stat & BROKEN)
|
||||
user << "<span class='notice'>The broken glass falls out.</span>"
|
||||
new /obj/item/weapon/material/shard(loc)
|
||||
else
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
. = dismantle()
|
||||
|
||||
/obj/machinery/proc/dismantle()
|
||||
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
@@ -332,22 +364,38 @@ Class Procs:
|
||||
A.anchored = 1
|
||||
A.density = 1
|
||||
A.frame_type = M.board_type
|
||||
if(A.frame_type in A.no_circuit)
|
||||
if(A.frame_type.circuit)
|
||||
A.need_circuit = 0
|
||||
|
||||
for (var/obj/D in src.component_parts)
|
||||
D.forceMove(loc)
|
||||
|
||||
if(A.components)
|
||||
A.components.Cut()
|
||||
else
|
||||
A.components = list()
|
||||
|
||||
component_parts = list()
|
||||
A.icon_state = "[A.frame_type]_3"
|
||||
A.state = 3
|
||||
A.dir = dir
|
||||
|
||||
for(var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
|
||||
if(A.frame_type.frame_class == "alarm")
|
||||
A.state = 2
|
||||
else if(A.frame_type.frame_class == "computer" || A.frame_type.frame_class == "display")
|
||||
if(stat & BROKEN)
|
||||
A.state = 3
|
||||
else
|
||||
A.state = 4
|
||||
else
|
||||
A.state = 3
|
||||
|
||||
A.set_dir(dir)
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.check_components()
|
||||
A.update_desc()
|
||||
A.update_icon()
|
||||
M.loc = null
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -167,7 +167,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
|
||||
light_range = 0
|
||||
anchored = 1
|
||||
var/obj/machinery/exonet_node/node = null
|
||||
circuit = /obj/item/weapon/circuitboard/newscaster
|
||||
circuit = /obj/item/weapon/circuitboard/newscaster
|
||||
|
||||
/obj/machinery/newscaster/security_unit //Security unit
|
||||
name = "Security Newscaster"
|
||||
@@ -752,30 +752,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
|
||||
|
||||
|
||||
/obj/machinery/newscaster/attackby(I as obj, user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "newscaster"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
if (src.stat & isbroken == 1)
|
||||
user << "<span class='notice'>The broken glass falls out.</span>"
|
||||
new /obj/item/weapon/material/shard( src.loc )
|
||||
A.state = 3
|
||||
A.icon_state = "newscaster_3"
|
||||
else
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "newscaster_4"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -170,5 +170,4 @@ obj/machinery/recharger/wallcharger
|
||||
icon_state_charging = "wrecharger1"
|
||||
icon_state_idle = "wrecharger0"
|
||||
portable = 0
|
||||
circuit = /obj/item/weapon/circuitboard/recharger/wrecharger
|
||||
frame_type = "wrecharger"
|
||||
circuit = /obj/item/weapon/circuitboard/recharger/wrecharger
|
||||
@@ -200,9 +200,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
|
||||
//err... hacking code, which has no reason for existing... but anyway... it was once supposed to unlock priority 3 messanging on that console (EXTREME priority...), but the code for that was removed.
|
||||
/obj/machinery/requests_console/attackby(var/obj/item/weapon/O as obj, var/mob/user as mob)
|
||||
if(default_deconstruction_screwdriver(user, O))
|
||||
return
|
||||
if(default_deconstruction_crowbar(user, O))
|
||||
if(computer_deconstruction_screwdriver(user, O))
|
||||
return
|
||||
if(istype(O, /obj/item/device/multitool))
|
||||
if(panel_open)
|
||||
|
||||
@@ -53,23 +53,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/status_display/attackby(I as obj, user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "display"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "display_4"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -70,23 +70,8 @@ var/list/ai_status_emotions = list(
|
||||
var/emotion = "Neutral"
|
||||
|
||||
/obj/machinery/ai_status_display/attackby(I as obj, user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "display"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "display_4"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
else
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
@@ -1,112 +1,244 @@
|
||||
/var/global/list/construction_frame_wall
|
||||
/var/global/list/construction_frame_floor
|
||||
|
||||
/proc/populate_frame_types()
|
||||
//Create global frame type list if it hasn't been made already.
|
||||
construction_frame_wall = list()
|
||||
construction_frame_floor = list()
|
||||
for(var/R in typesof(/datum/frame/frame_types)-/datum/frame/frame_types)
|
||||
var/datum/frame/frame_types/type = new R
|
||||
if(type.frame_style == "wall")
|
||||
construction_frame_wall += type
|
||||
else
|
||||
construction_frame_floor += type
|
||||
|
||||
var/datum/frame/frame_types/cancel/cancel = new /datum/frame/frame_types/cancel
|
||||
construction_frame_wall += cancel
|
||||
construction_frame_floor += cancel
|
||||
|
||||
/datum/frame/frame_types
|
||||
var/name
|
||||
var/frame_size = 5
|
||||
var/frame_class
|
||||
var/circuit
|
||||
var/frame_style = "floor"
|
||||
var/x_offset
|
||||
var/y_offset
|
||||
|
||||
/datum/frame/frame_types/computer
|
||||
name = "Computer"
|
||||
frame_class = "computer"
|
||||
|
||||
/datum/frame/frame_types/machine
|
||||
name = "Machine"
|
||||
frame_class = "machine"
|
||||
|
||||
/datum/frame/frame_types/conveyor
|
||||
name = "Conveyor"
|
||||
frame_class = "machine"
|
||||
circuit = /obj/item/weapon/circuitboard/conveyor
|
||||
|
||||
/datum/frame/frame_types/photocopier
|
||||
name = "Photocopier"
|
||||
frame_class = "machine"
|
||||
|
||||
/datum/frame/frame_types/washing_machine
|
||||
name = "Washing Machine"
|
||||
frame_class = "machine"
|
||||
|
||||
/datum/frame/frame_types/medical_console
|
||||
name = "Medical Console"
|
||||
frame_class = "computer"
|
||||
|
||||
/datum/frame/frame_types/medical_pod
|
||||
name = "Medical Pod"
|
||||
frame_class = "machine"
|
||||
|
||||
/datum/frame/frame_types/dna_analyzer
|
||||
name = "DNA Analyzer"
|
||||
frame_class = "machine"
|
||||
|
||||
/datum/frame/frame_types/mass_driver
|
||||
name = "Mass Driver"
|
||||
frame_class = "machine"
|
||||
circuit = /obj/item/weapon/circuitboard/mass_driver
|
||||
|
||||
/datum/frame/frame_types/holopad
|
||||
name = "Holopad"
|
||||
frame_class = "computer"
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/microwave
|
||||
name = "Microwave"
|
||||
frame_class = "machine"
|
||||
frame_size = 4
|
||||
|
||||
/datum/frame/frame_types/fax
|
||||
name = "Fax"
|
||||
frame_class = "machine"
|
||||
frame_size = 3
|
||||
|
||||
/datum/frame/frame_types/recharger
|
||||
name = "Recharger"
|
||||
frame_class = "machine"
|
||||
circuit = /obj/item/weapon/circuitboard/recharger
|
||||
frame_size = 3
|
||||
|
||||
/datum/frame/frame_types/grinder
|
||||
name = "Grinder"
|
||||
frame_class = "machine"
|
||||
circuit = /obj/item/weapon/circuitboard/grinder
|
||||
frame_size = 3
|
||||
|
||||
/datum/frame/frame_types/display
|
||||
name = "Display"
|
||||
frame_class = "display"
|
||||
frame_style = "wall"
|
||||
x_offset = 32
|
||||
y_offset = 32
|
||||
|
||||
/datum/frame/frame_types/supply_request_console
|
||||
name = "Supply Request Console"
|
||||
frame_class = "display"
|
||||
frame_style = "wall"
|
||||
x_offset = 32
|
||||
y_offset = 32
|
||||
|
||||
/datum/frame/frame_types/atm
|
||||
name = "ATM"
|
||||
frame_class = "display"
|
||||
frame_size = 3
|
||||
frame_style = "wall"
|
||||
x_offset = 32
|
||||
y_offset = 32
|
||||
|
||||
/datum/frame/frame_types/newscaster
|
||||
name = "Newscaster"
|
||||
frame_class = "display"
|
||||
frame_size = 3
|
||||
frame_style = "wall"
|
||||
x_offset = 28
|
||||
y_offset = 30
|
||||
|
||||
/datum/frame/frame_types/wall_charger
|
||||
name = "Wall Charger"
|
||||
frame_class = "machine"
|
||||
circuit = /obj/item/weapon/circuitboard/recharger/wrecharger
|
||||
frame_size = 3
|
||||
frame_style = "wall"
|
||||
x_offset = 32
|
||||
y_offset = 32
|
||||
|
||||
/datum/frame/frame_types/fire_alarm
|
||||
name = "Fire Alarm"
|
||||
frame_class = "alarm"
|
||||
frame_size = 2
|
||||
frame_style = "wall"
|
||||
x_offset = 24
|
||||
y_offset = 24
|
||||
|
||||
/datum/frame/frame_types/air_alarm
|
||||
name = "Air Alarm"
|
||||
frame_class = "alarm"
|
||||
frame_size = 2
|
||||
frame_style = "wall"
|
||||
x_offset = 24
|
||||
y_offset = 24
|
||||
|
||||
/datum/frame/frame_types/guest_pass_console
|
||||
name = "Guest Pass Console"
|
||||
frame_class = "display"
|
||||
frame_size = 2
|
||||
frame_style = "wall"
|
||||
x_offset = 30
|
||||
y_offset = 30
|
||||
|
||||
/datum/frame/frame_types/intercom
|
||||
name = "Intercom"
|
||||
frame_class = "alarm"
|
||||
frame_size = 2
|
||||
frame_style = "wall"
|
||||
x_offset = 28
|
||||
y_offset = 28
|
||||
|
||||
/datum/frame/frame_types/keycard_authenticator
|
||||
name = "Keycard Authenticator"
|
||||
frame_class = "alarm"
|
||||
frame_size = 1
|
||||
frame_style = "wall"
|
||||
x_offset = 24
|
||||
y_offset = 24
|
||||
|
||||
/datum/frame/frame_types/cancel //used to get out of input dialogue
|
||||
name = "Cancel"
|
||||
|
||||
/obj/item/frame
|
||||
name = "frame parts"
|
||||
desc = "Used for building frames."
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "frame_bitem"
|
||||
flags = CONDUCT
|
||||
var/build_machine_type = /obj/structure/frame
|
||||
var/build_machine_type
|
||||
var/refund_amt = 5
|
||||
var/refund_type = /obj/item/stack/material/steel
|
||||
var/reverse = 0 //if resulting object faces opposite its dir (like light fixtures)
|
||||
var/frame_type = null
|
||||
var/list/frame_types_floor
|
||||
var/list/frame_types_wall
|
||||
|
||||
/obj/item/frame/proc/update_type_list()
|
||||
if(!frame_types_floor)
|
||||
frame_types_floor = construction_frame_floor
|
||||
if(!frame_types_wall)
|
||||
frame_types_wall = construction_frame_wall
|
||||
|
||||
/obj/item/frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
new refund_type( get_turf(src.loc), refund_amt)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
new refund_type(get_turf(loc), refund_amt)
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/frame/attack_self(mob/user as mob)
|
||||
..()
|
||||
update_type_list()
|
||||
var/datum/frame/frame_types/frame_type
|
||||
if(!build_machine_type)
|
||||
return
|
||||
|
||||
if(!frame_type)
|
||||
var/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in list("Computer", "Machine", "Holopad", "Conveyor",
|
||||
"Photocopier", "Fax", "Microwave",
|
||||
"Recharger", "Washing Machine", "Grinder",
|
||||
"Medical Console", "Medical Pod", "DNA Analyzer",
|
||||
"Mass Driver",
|
||||
"Cancel")
|
||||
|
||||
if(response == "Cancel")
|
||||
var/datum/frame/frame_types/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_floor
|
||||
if(!response || response.name == "Cancel")
|
||||
return
|
||||
frame_type = response
|
||||
|
||||
frame_type = lowertext(response)
|
||||
build_machine_type = /obj/structure/frame
|
||||
|
||||
switch(response)
|
||||
if("Holopad")
|
||||
new /obj/item/stack/material/steel( usr.loc, 1 ) //holopads are smaller, they only need 4 sheets
|
||||
if("Fax")
|
||||
new /obj/item/stack/material/steel( usr.loc, 2 ) //faxes are smaller, they only need 3 sheets
|
||||
if("Microwave")
|
||||
new /obj/item/stack/material/steel( usr.loc, 1 ) //microwaves are smaller, they only need 4 sheets
|
||||
if("Recharger")
|
||||
new /obj/item/stack/material/steel( usr.loc, 2 ) //rechargers are smaller, they only need 3 sheets
|
||||
if("Washing Machine")
|
||||
frame_type = "washing"
|
||||
if("Grinder")
|
||||
new /obj/item/stack/material/steel( usr.loc, 2 ) //grinders are smaller, they only need 3 sheets
|
||||
if("Medical Console")
|
||||
frame_type = "console"
|
||||
if("Medical Pod")
|
||||
frame_type = "medpod"
|
||||
if("DNA Analyzer")
|
||||
frame_type = "dna_analyzer"
|
||||
if("Mass Driver")
|
||||
frame_type = "massdriver"
|
||||
if(frame_type.frame_size != 5)
|
||||
new /obj/item/stack/material/steel(usr.loc, (5 - frame_type.frame_size))
|
||||
|
||||
var/ndir
|
||||
ndir = usr.dir
|
||||
if (!(ndir in cardinal))
|
||||
if(!(ndir in cardinal))
|
||||
return
|
||||
|
||||
var/obj/machinery/M = new build_machine_type(get_turf(src.loc), ndir, 1, frame_type)
|
||||
M.fingerprints = src.fingerprints
|
||||
M.fingerprintshidden = src.fingerprintshidden
|
||||
M.fingerprintslast = src.fingerprintslast
|
||||
var/obj/machinery/M = new build_machine_type(get_turf(loc), ndir, 1, frame_type)
|
||||
M.fingerprints = fingerprints
|
||||
M.fingerprintshidden = fingerprintshidden
|
||||
M.fingerprintslast = fingerprintslast
|
||||
qdel(src)
|
||||
|
||||
/obj/item/frame/proc/try_build(turf/on_wall, mob/user as mob)
|
||||
if(!frame_type)
|
||||
var/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in list("Fire Alarm", "Air Alarm", "Display", "Newscaster",
|
||||
"ATM", "Guest Pass Console", "Intercom", "Keycard Authenticator",
|
||||
"Wall Charger", "Supply Request Console",
|
||||
"Cancel")
|
||||
|
||||
if(response == "Cancel")
|
||||
return
|
||||
|
||||
frame_type = lowertext(response)
|
||||
|
||||
switch(response)
|
||||
if("Fire Alarm")
|
||||
frame_type = "firealarm"
|
||||
new /obj/item/stack/material/steel( usr.loc, 3 ) //fire alarms are smaller, they only need 2 sheets
|
||||
if("Air Alarm")
|
||||
frame_type = "airalarm"
|
||||
new /obj/item/stack/material/steel( usr.loc, 3 ) //air alarms are smaller, they only need 2 sheets
|
||||
if("Intercom")
|
||||
new /obj/item/stack/material/steel( usr.loc, 3 ) //intercoms are smaller, they only need 2 sheets
|
||||
if("Newscaster")
|
||||
new /obj/item/stack/material/steel( usr.loc, 2 ) //newscasters are smaller, they only need 3 sheets
|
||||
if("Guest Pass Console")
|
||||
frame_type = "guestpass"
|
||||
new /obj/item/stack/material/steel( usr.loc, 3 ) //guestpass consoles are smaller, they only need 2 sheets
|
||||
if("Keycard Authenticator")
|
||||
frame_type = "keycard"
|
||||
new /obj/item/stack/material/steel( usr.loc, 4 ) //keycard authenticators are smaller, they only need 1 sheets
|
||||
if("Wall Charger")
|
||||
frame_type = "wrecharger"
|
||||
new /obj/item/stack/material/steel( usr.loc, 2 ) //wall rechargers are smaller, they only need 3 sheets
|
||||
if("Supply Request Console")
|
||||
frame_type = "request"
|
||||
|
||||
update_type_list()
|
||||
var/datum/frame/frame_types/frame_type
|
||||
if(!build_machine_type)
|
||||
return
|
||||
var/datum/frame/frame_types/response = input(usr, "What kind of frame would you like to make?", "Frame type request", null) in frame_types_wall
|
||||
if(!response || response.name == "Cancel")
|
||||
return
|
||||
frame_type = response
|
||||
|
||||
if (get_dist(on_wall,usr)>1)
|
||||
build_machine_type = /obj/structure/frame
|
||||
|
||||
if(frame_type.frame_size != 5)
|
||||
new /obj/item/stack/material/steel(usr.loc, (5 - frame_type.frame_size))
|
||||
|
||||
if(get_dist(on_wall,usr)>1)
|
||||
return
|
||||
|
||||
var/ndir
|
||||
@@ -115,25 +247,27 @@
|
||||
else
|
||||
ndir = get_dir(on_wall,usr)
|
||||
|
||||
if (!(ndir in cardinal))
|
||||
if(!(ndir in cardinal))
|
||||
return
|
||||
|
||||
var/turf/loc = get_turf(usr)
|
||||
var/area/A = loc.loc
|
||||
if (!istype(loc, /turf/simulated/floor))
|
||||
if(!istype(loc, /turf/simulated/floor))
|
||||
usr << "<span class='danger'>\The frame cannot be placed on this spot.</span>"
|
||||
return
|
||||
if (A.requires_power == 0 || A.name == "Space")
|
||||
|
||||
if(A.requires_power == 0 || A.name == "Space")
|
||||
usr << "<span class='danger'>\The [src] Alarm cannot be placed in this area.</span>"
|
||||
return
|
||||
|
||||
if(gotwallitem(loc, ndir))
|
||||
usr << "<span class='danger'>There's already an item on this wall!</span>"
|
||||
return
|
||||
|
||||
var/obj/machinery/M = new build_machine_type(loc, ndir, 1, frame_type)
|
||||
M.fingerprints = src.fingerprints
|
||||
M.fingerprintshidden = src.fingerprintshidden
|
||||
M.fingerprintslast = src.fingerprintslast
|
||||
M.fingerprints = fingerprints
|
||||
M.fingerprintshidden = fingerprintshidden
|
||||
M.fingerprintslast = fingerprintslast
|
||||
qdel(src)
|
||||
|
||||
/obj/item/frame/light
|
||||
@@ -143,14 +277,12 @@
|
||||
icon_state = "tube-construct-item"
|
||||
build_machine_type = /obj/machinery/light_construct
|
||||
reverse = 1
|
||||
frame_type = 1
|
||||
|
||||
/obj/item/frame/light/small
|
||||
name = "small light fixture frame"
|
||||
icon_state = "bulb-construct-item"
|
||||
refund_amt = 1
|
||||
build_machine_type = /obj/machinery/light_construct/small
|
||||
frame_type = 1
|
||||
|
||||
/obj/item/frame/extinguisher_cabinet
|
||||
name = "extinguisher cabinet frame"
|
||||
@@ -159,7 +291,6 @@
|
||||
icon_state = "extinguisher_empty"
|
||||
refund_amt = 4
|
||||
build_machine_type = /obj/structure/extinguisher_cabinet
|
||||
frame_type = 1
|
||||
|
||||
/obj/item/frame/noticeboard
|
||||
name = "noticeboard frame"
|
||||
@@ -169,7 +300,6 @@
|
||||
refund_amt = 4
|
||||
refund_type = /obj/item/stack/material/wood
|
||||
build_machine_type = /obj/structure/noticeboard
|
||||
frame_type = 1
|
||||
|
||||
/obj/item/frame/mirror
|
||||
name = "mirror frame"
|
||||
@@ -178,7 +308,6 @@
|
||||
icon_state = "mirror_frame"
|
||||
refund_amt = 1
|
||||
build_machine_type = /obj/structure/mirror
|
||||
frame_type = 1
|
||||
|
||||
/obj/item/frame/fireaxe_cabinet
|
||||
name = "fire axe cabinet frame"
|
||||
@@ -186,5 +315,4 @@
|
||||
icon = 'icons/obj/closet.dmi'
|
||||
icon_state = "fireaxe0101"
|
||||
refund_amt = 4
|
||||
build_machine_type = /obj/structure/closet/fireaxecabinet
|
||||
frame_type = 1
|
||||
build_machine_type = /obj/structure/closet/fireaxecabinet
|
||||
@@ -26,6 +26,7 @@
|
||||
)
|
||||
|
||||
/obj/machinery/washing_machine/New()
|
||||
..()
|
||||
circuit = new circuit(src)
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/weapon/stock_parts/motor(src)
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
attack_self(user)
|
||||
|
||||
/obj/item/device/radio/intercom/attackby(obj/item/W as obj, mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver)) // Opening the intercom up.
|
||||
wiresexposed = !wiresexposed
|
||||
user << "The wires have been [wiresexposed ? "exposed" : "unexposed"]"
|
||||
@@ -98,11 +98,11 @@
|
||||
return
|
||||
if (wiresexposed && istype(W, /obj/item/weapon/wirecutters))
|
||||
user.visible_message("<span class='warning'>[user] has cut the wires inside \the [src]!</span>", "You have cut the wires inside \the [src].")
|
||||
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
|
||||
new/obj/item/stack/cable_coil(get_turf(src), 5)
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "intercom"
|
||||
var/obj/structure/frame/A = new /obj/structure/frame(loc)
|
||||
var/obj/item/weapon/circuitboard/M = new circuit(A)
|
||||
A.frame_type = M.board_type
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
@@ -111,7 +111,7 @@
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
A.state = 2
|
||||
A.icon_state = "intercom_2"
|
||||
A.update_icon()
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
var/build_path = null
|
||||
var/board_type = "computer"
|
||||
var/board_type = new /datum/frame/frame_types/computer
|
||||
var/list/req_components = null
|
||||
var/contain_parts = 1
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
/obj/item/weapon/circuitboard/security/telescreen/entertainment
|
||||
name = T_BOARD("entertainment camera monitor")
|
||||
build_path = /obj/machinery/computer/security/telescreen/entertainment
|
||||
board_type = "display"
|
||||
board_type = new /datum/frame/frame_types/display
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/security/telescreen/entertainment/New()
|
||||
|
||||
@@ -9,37 +9,37 @@
|
||||
/obj/item/weapon/circuitboard/guestpass
|
||||
name = T_BOARD("guestpass console")
|
||||
build_path = /obj/machinery/computer/guestpass
|
||||
board_type = "guestpass"
|
||||
board_type = new /datum/frame/frame_types/guest_pass_console
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/status_display
|
||||
name = T_BOARD("status display")
|
||||
build_path = /obj/machinery/status_display
|
||||
board_type = "display"
|
||||
board_type = new /datum/frame/frame_types/display
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/ai_status_display
|
||||
name = T_BOARD("ai status display")
|
||||
build_path = /obj/machinery/ai_status_display
|
||||
board_type = "display"
|
||||
board_type = new /datum/frame/frame_types/display
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/newscaster
|
||||
name = T_BOARD("newscaster")
|
||||
build_path = /obj/machinery/newscaster
|
||||
board_type = "newscaster"
|
||||
board_type = new /datum/frame/frame_types/newscaster
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/atm
|
||||
name = T_BOARD("atm")
|
||||
build_path = /obj/machinery/atm
|
||||
board_type = "atm"
|
||||
board_type = new /datum/frame/frame_types/atm
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/request
|
||||
name = T_BOARD("reques console")
|
||||
build_path = /obj/machinery/requests_console
|
||||
board_type = "request"
|
||||
board_type = new /datum/frame/frame_types/supply_request_console
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
//Alarm
|
||||
@@ -47,25 +47,25 @@
|
||||
/obj/item/weapon/circuitboard/firealarm
|
||||
name = T_BOARD("fire alarm")
|
||||
build_path = /obj/machinery/firealarm
|
||||
board_type = "firealarm"
|
||||
board_type = new /datum/frame/frame_types/fire_alarm
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/airalarm
|
||||
name = T_BOARD("air alarm")
|
||||
build_path = /obj/machinery/alarm
|
||||
board_type = "airalarm"
|
||||
board_type = new /datum/frame/frame_types/air_alarm
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/intercom
|
||||
name = T_BOARD("intercom")
|
||||
build_path = /obj/item/device/radio/intercom
|
||||
board_type = "intercom"
|
||||
board_type = new /datum/frame/frame_types/intercom
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/keycard_auth
|
||||
name = T_BOARD("keycard authenticator")
|
||||
build_path = /obj/machinery/keycard_auth
|
||||
board_type = "keycard"
|
||||
board_type = new /datum/frame/frame_types/keycard_authenticator
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
//Computer
|
||||
@@ -73,19 +73,19 @@
|
||||
/obj/item/weapon/circuitboard/holopad
|
||||
name = T_BOARD("holopad")
|
||||
build_path = /obj/machinery/hologram/holopad
|
||||
board_type = "holopad"
|
||||
board_type = new /datum/frame/frame_types/holopad
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
|
||||
/obj/item/weapon/circuitboard/scanner_console
|
||||
name = T_BOARD("body scanner console")
|
||||
build_path = /obj/machinery/body_scanconsole
|
||||
board_type = "console"
|
||||
board_type = new /datum/frame/frame_types/medical_console
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/sleeper_console
|
||||
name = T_BOARD("sleeper console")
|
||||
build_path = /obj/machinery/sleep_console
|
||||
board_type = "console"
|
||||
board_type = new /datum/frame/frame_types/medical_console
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
|
||||
//Machine
|
||||
@@ -93,7 +93,7 @@
|
||||
/obj/item/weapon/circuitboard/photocopier
|
||||
name = T_BOARD("photocopier")
|
||||
build_path = /obj/machinery/photocopier
|
||||
board_type = "photocopier"
|
||||
board_type = new /datum/frame/frame_types/photocopier
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
@@ -104,7 +104,7 @@
|
||||
/obj/item/weapon/circuitboard/fax
|
||||
name = T_BOARD("fax")
|
||||
build_path = /obj/machinery/photocopier/faxmachine
|
||||
board_type = "fax"
|
||||
board_type = new /datum/frame/frame_types/fax
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
@@ -115,7 +115,7 @@
|
||||
/obj/item/weapon/circuitboard/conveyor
|
||||
name = T_BOARD("conveyor")
|
||||
build_path = /obj/machinery/conveyor
|
||||
board_type = "conveyor"
|
||||
board_type = new /datum/frame/frame_types/conveyor
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/gear = 2,
|
||||
/obj/item/weapon/stock_parts/motor = 2,
|
||||
@@ -124,7 +124,7 @@
|
||||
/obj/item/weapon/circuitboard/microwave
|
||||
name = T_BOARD("microwave")
|
||||
build_path = /obj/machinery/microwave
|
||||
board_type = "microwave"
|
||||
board_type = new /datum/frame/frame_types/microwave
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
@@ -134,7 +134,7 @@
|
||||
/obj/item/weapon/circuitboard/recharger
|
||||
name = T_BOARD("recharger")
|
||||
build_path = /obj/machinery/recharger
|
||||
board_type = "recharger"
|
||||
board_type = new /datum/frame/frame_types/recharger
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
@@ -142,12 +142,12 @@
|
||||
/obj/item/weapon/circuitboard/recharger/wrecharger
|
||||
name = T_BOARD("wall recharger")
|
||||
build_path = /obj/machinery/recharger/wallcharger
|
||||
board_type = "wrecharger"
|
||||
board_type = new /datum/frame/frame_types/wall_charger
|
||||
|
||||
/obj/item/weapon/circuitboard/washing
|
||||
name = T_BOARD("washing machine")
|
||||
build_path = /obj/machinery/washing_machine
|
||||
board_type = "washing"
|
||||
board_type = new /datum/frame/frame_types/washing_machine
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
@@ -156,7 +156,7 @@
|
||||
/obj/item/weapon/circuitboard/grinder
|
||||
name = T_BOARD("reagent grinder")
|
||||
build_path = /obj/machinery/reagentgrinder
|
||||
board_type = "grinder"
|
||||
board_type = new /datum/frame/frame_types/grinder
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/motor = 1,
|
||||
/obj/item/weapon/stock_parts/gear = 1,
|
||||
@@ -185,7 +185,7 @@
|
||||
/obj/item/weapon/circuitboard/body_scanner
|
||||
name = T_BOARD("body scanner")
|
||||
build_path = /obj/machinery/bodyscanner
|
||||
board_type = "medpod"
|
||||
board_type = new /datum/frame/frame_types/medical_pod
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 3,
|
||||
@@ -194,7 +194,7 @@
|
||||
/obj/item/weapon/circuitboard/sleeper
|
||||
name = T_BOARD("sleeper")
|
||||
build_path = /obj/machinery/sleeper
|
||||
board_type = "medpod"
|
||||
board_type = new /datum/frame/frame_types/medical_pod
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
@@ -205,7 +205,7 @@
|
||||
/obj/item/weapon/circuitboard/dna_analyzer
|
||||
name = T_BOARD("dna analyzer")
|
||||
build_path = /obj/machinery/dnaforensics
|
||||
board_type = "dna_analyzer"
|
||||
board_type = new /datum/frame/frame_types/dna_analyzer
|
||||
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 2,
|
||||
@@ -215,104 +215,10 @@
|
||||
/obj/item/weapon/circuitboard/mass_driver
|
||||
name = T_BOARD("mass driver")
|
||||
build_path = /obj/machinery/mass_driver
|
||||
board_type = "massdriver"
|
||||
board_type = new /datum/frame/frame_types/mass_driver
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/gear = 2,
|
||||
/obj/item/weapon/stock_parts/motor = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/weapon/stock_parts/spring = 1,
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
|
||||
//for testing - If this is still in when I commit, someone shoot me. --leaving in for now, shouldn't be able to get these on station anyways.
|
||||
/obj/item/weapon/storage/box/frame_parts
|
||||
display_contents_with_number = 1
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/circuitboard/guestpass( src )
|
||||
new /obj/item/weapon/circuitboard/status_display( src )
|
||||
new /obj/item/weapon/circuitboard/ai_status_display( src )
|
||||
new /obj/item/weapon/circuitboard/newscaster( src )
|
||||
new /obj/item/weapon/circuitboard/atm( src )
|
||||
new /obj/item/weapon/circuitboard/firealarm( src )
|
||||
new /obj/item/weapon/circuitboard/airalarm( src )
|
||||
new /obj/item/weapon/circuitboard/intercom( src )
|
||||
new /obj/item/weapon/circuitboard/keycard_auth( src )
|
||||
new /obj/item/weapon/circuitboard/holopad( src )
|
||||
new /obj/item/weapon/circuitboard/photocopier( src )
|
||||
new /obj/item/weapon/circuitboard/fax( src )
|
||||
new /obj/item/weapon/circuitboard/microwave( src )
|
||||
new /obj/item/weapon/circuitboard/washing( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/weapon/stock_parts/scanning_module( src )
|
||||
new /obj/item/weapon/stock_parts/motor( src )
|
||||
new /obj/item/weapon/stock_parts/micro_laser( src )
|
||||
new /obj/item/weapon/stock_parts/matter_bin( src )
|
||||
new /obj/item/weapon/stock_parts/gear( src )
|
||||
new /obj/item/weapon/stock_parts/console_screen( src )
|
||||
new /obj/item/weapon/stock_parts/capacitor( src )
|
||||
new /obj/item/weapon/stock_parts/spring( src )
|
||||
new /obj/item/stack/cable_coil( src , 5 )
|
||||
new /obj/item/stack/material/glass/reinforced( src , 2 )
|
||||
/obj/item/stack/cable_coil = 5)
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/biogenerator
|
||||
name = T_BOARD("biogenerator")
|
||||
build_path = "/obj/machinery/biogenerator"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/clonepod
|
||||
name = T_BOARD("clone pod")
|
||||
build_path = "/obj/machinery/clonepod"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 3)
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
@@ -16,7 +16,7 @@
|
||||
/obj/item/weapon/circuitboard/clonescanner
|
||||
name = T_BOARD("cloning scanner")
|
||||
build_path = "/obj/machinery/dna_scannernew"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/jukebox
|
||||
name = T_BOARD("jukebox")
|
||||
build_path = "/obj/machinery/media/jukebox"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_DATA = 1)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/mech_recharger
|
||||
name = T_BOARD("mech recharger")
|
||||
build_path = "/obj/machinery/mech_recharger"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/miningdrill
|
||||
name = T_BOARD("mining drill head")
|
||||
build_path = "/obj/machinery/mining/drill"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
@@ -16,6 +16,6 @@
|
||||
/obj/item/weapon/circuitboard/miningdrillbrace
|
||||
name = T_BOARD("mining drill brace")
|
||||
build_path = "/obj/machinery/mining/brace"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
|
||||
req_components = list()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/pacman
|
||||
name = T_BOARD("PACMAN-type generator")
|
||||
build_path = "/obj/machinery/power/port_gen/pacman"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
/obj/item/weapon/circuitboard/smes
|
||||
name = T_BOARD("superconductive magnetic energy storage")
|
||||
build_path = "/obj/machinery/power/smes/buildable"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4)
|
||||
req_components = list(/obj/item/weapon/smes_coil = 1, /obj/item/stack/cable_coil = 30)
|
||||
|
||||
/obj/item/weapon/circuitboard/batteryrack
|
||||
name = T_BOARD("battery rack PSU")
|
||||
build_path = "/obj/machinery/power/smes/batteryrack"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2)
|
||||
req_components = list(/obj/item/weapon/cell = 3)
|
||||
|
||||
@@ -20,5 +20,5 @@
|
||||
name = T_BOARD("makeshift PSU")
|
||||
desc = "An APC circuit repurposed into some power storage device controller"
|
||||
build_path = "/obj/machinery/power/smes/batteryrack/makeshift"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
req_components = list(/obj/item/weapon/cell = 3)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/item/weapon/circuitboard/recharge_station
|
||||
name = T_BOARD("cyborg recharging station")
|
||||
build_path = "/obj/machinery/recharge_station"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 5,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
obj/item/weapon/circuitboard/rdserver
|
||||
name = T_BOARD("R&D server")
|
||||
build_path = "/obj/machinery/r_n_d/server"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
req_components = list(
|
||||
/obj/item/stack/cable_coil = 2,
|
||||
@@ -14,7 +14,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/destructive_analyzer
|
||||
name = T_BOARD("destructive analyzer")
|
||||
build_path = "/obj/machinery/r_n_d/destructive_analyzer"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
@@ -24,7 +24,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/autolathe
|
||||
name = T_BOARD("autolathe")
|
||||
build_path = "/obj/machinery/autolathe"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 3,
|
||||
@@ -34,7 +34,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/protolathe
|
||||
name = T_BOARD("protolathe")
|
||||
build_path = "/obj/machinery/r_n_d/protolathe"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
@@ -44,7 +44,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/circuit_imprinter
|
||||
name = T_BOARD("circuit imprinter")
|
||||
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 1,
|
||||
@@ -54,7 +54,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/mechfab
|
||||
name = "Circuit board (Exosuit Fabricator)"
|
||||
build_path = "/obj/machinery/mecha_part_fabricator"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
@@ -65,7 +65,7 @@ obj/item/weapon/circuitboard/rdserver
|
||||
/obj/item/weapon/circuitboard/prosthetics
|
||||
name = "Circuit board (Prosthetics Fabricator)"
|
||||
build_path = "/obj/machinery/pros_fabricator"
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/obj/item/weapon/circuitboard/shield_gen_ex
|
||||
name = T_BOARD("hull shield generator")
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
build_path = "/obj/machinery/shield_gen/external"
|
||||
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
|
||||
req_components = list(
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
/obj/item/weapon/circuitboard/shield_gen
|
||||
name = T_BOARD("bubble shield generator")
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
build_path = "/obj/machinery/shield_gen"
|
||||
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
|
||||
req_components = list(
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
/obj/item/weapon/circuitboard/shield_cap
|
||||
name = T_BOARD("shield capacitor")
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
build_path = "/obj/machinery/shield_capacitor"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_POWER = 4)
|
||||
req_components = list(
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#endif
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
|
||||
/obj/item/weapon/circuitboard/telecomms/receiver
|
||||
name = T_BOARD("subspace receiver")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#endif
|
||||
|
||||
/obj/item/weapon/circuitboard/unary_atmos
|
||||
board_type = "machine"
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
|
||||
/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U)
|
||||
//TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
item_state = "electronic"
|
||||
board_type = "other"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/ripley
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
@@ -22,7 +21,6 @@
|
||||
name = T_BOARD_MECHA("Ripley central control")
|
||||
icon_state = "mainboard"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/gygax
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
@@ -39,7 +37,6 @@
|
||||
name = T_BOARD_MECHA("Gygax central control")
|
||||
icon_state = "mainboard"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/durand
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
@@ -56,7 +53,6 @@
|
||||
name = T_BOARD_MECHA("Durand central control")
|
||||
icon_state = "mainboard"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/honker
|
||||
origin_tech = list(TECH_DATA = 4)
|
||||
|
||||
@@ -72,7 +68,6 @@
|
||||
name = T_BOARD_MECHA("H.O.N.K central control")
|
||||
icon_state = "mainboard"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
|
||||
|
||||
@@ -80,24 +80,7 @@ log transactions
|
||||
return 1
|
||||
|
||||
/obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && circuit)
|
||||
user << "<span class='notice'>You start disconnecting the monitor.</span>"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "atm"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
user << "<span class='notice'>You disconnect the monitor.</span>"
|
||||
A.state = 4
|
||||
A.icon_state = "atm_4"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
if(computer_deconstruction_screwdriver(user, I))
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/card))
|
||||
if(emagged > 0)
|
||||
|
||||
@@ -42,22 +42,25 @@
|
||||
broadcast_request() //This is the device making the initial event request. It needs to broadcast to other devices
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
user << "You remove the faceplate from the [src]"
|
||||
var/obj/structure/frame/A = new /obj/structure/frame( src.loc )
|
||||
var/obj/item/weapon/circuitboard/M = new circuit( A )
|
||||
A.frame_type = "keycard"
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.set_dir(dir)
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
A.state = 3
|
||||
A.icon_state = "keycard_3"
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
return
|
||||
user << "You begin removing the faceplate from the [src]"
|
||||
if(do_after(user, 10))
|
||||
user << "You remove the faceplate from the [src]"
|
||||
var/obj/structure/frame/A = new /obj/structure/frame(loc)
|
||||
var/obj/item/weapon/circuitboard/M = new circuit(A)
|
||||
A.frame_type = M.board_type
|
||||
A.need_circuit = 0
|
||||
A.pixel_x = pixel_x
|
||||
A.pixel_y = pixel_y
|
||||
A.set_dir(dir)
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
for (var/obj/C in src)
|
||||
C.forceMove(loc)
|
||||
A.state = 3
|
||||
A.update_icon()
|
||||
M.deconstruct(src)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/machinery/keycard_auth/power_change()
|
||||
..()
|
||||
|
||||
@@ -106,6 +106,9 @@ var/global/datum/global_init/init = new ()
|
||||
// Create autolathe recipes, as above.
|
||||
populate_lathe_recipes()
|
||||
|
||||
// Create frame types, as above.
|
||||
populate_frame_types()
|
||||
|
||||
// Create robolimbs for chargen.
|
||||
populate_robolimb_list()
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
@@ -619,7 +619,7 @@
|
||||
"alU" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/trade/centcom)
|
||||
"alV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area/space)
|
||||
"alW" = (/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "tradebridgeshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/shuttle/trade/centcom)
|
||||
"alX" = (/obj/structure/frame{frame_type = "computer"; icon_state = "computer_0"},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/trade/centcom)
|
||||
"alX" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/trade/centcom)
|
||||
"alY" = (/obj/machinery/light{dir = 4},/obj/structure/sign/kiddieplaque{desc = "A plaque commemorating the construction of the cargo ship Beruang."; name = "Beruang"; pixel_x = 32},/mob/living/simple_animal/corgi/tamaskan/spice,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/shuttle/trade/centcom)
|
||||
"alZ" = (/obj/machinery/door/airlock/silver{name = "Toilet"},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/trade/centcom)
|
||||
"ama" = (/obj/machinery/door/airlock/silver{name = "Restroom"},/turf/simulated/shuttle/floor{icon_state = "floor7"},/area/shuttle/trade/centcom)
|
||||
@@ -1096,7 +1096,7 @@
|
||||
"avd" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"ave" = (/obj/machinery/computer/security/nuclear,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"avf" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"avg" = (/obj/structure/frame{frame_type = "computer"; icon_state = "computer_0"},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"avg" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"avh" = (/obj/structure/table/standard,/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"avi" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
|
||||
"avj" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
||||
@@ -1145,7 +1145,7 @@
|
||||
"awa" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/floor_decal/corner/blue/diagonal{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
|
||||
"awb" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"awc" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"awd" = (/obj/structure/frame{frame_type = "computer"; icon_state = "computer_0"},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"awd" = (/obj/structure/frame/computer,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start)
|
||||
"awe" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
|
||||
"awf" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
|
||||
"awg" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"at" = (/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"au" = (/turf/simulated/shuttle/wall{icon_state = "swall_t"; dir = 8},/area/derelict/ship)
|
||||
"av" = (/turf/simulated/shuttle/plating,/area/derelict/ship)
|
||||
"aw" = (/obj/structure/frame{anchored = 1; frame_type = "computer"; icon_state = "computer_0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"aw" = (/obj/structure/frame/computer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"ax" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
|
||||
"ay" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
|
||||
"az" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship)
|
||||
@@ -80,8 +80,8 @@
|
||||
"bB" = (/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bC" = (/obj/item/weapon/material/shard,/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bD" = (/obj/structure/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bE" = (/obj/structure/cable,/obj/structure/frame{anchored = 1; frame_type = "computer"; icon_state = "computer_0"},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bF" = (/obj/structure/cable,/obj/structure/frame{anchored = 1; frame_type = "computer"; icon_state = "computer_0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bE" = (/obj/structure/cable,/obj/structure/frame/computer,/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bF" = (/obj/structure/cable,/obj/structure/frame/computer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bG" = (/obj/structure/table/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bH" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
"bI" = (/obj/structure/table/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship)
|
||||
@@ -197,7 +197,7 @@
|
||||
"dO" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless,/area/tcomsat)
|
||||
"dP" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/camera/network/telecom{c_tag = "Telecoms - Solar South"},/turf/simulated/floor/airless,/area/tcomsat)
|
||||
"dQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/tcomsat)
|
||||
"dR" = (/obj/structure/frame{frame_type = "computer"; icon_state = "computer_0"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/AIsattele)
|
||||
"dR" = (/obj/structure/frame/computer,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/AIsattele)
|
||||
"dS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/tcomsat)
|
||||
"dT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/tcomsat)
|
||||
"dU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/tcomsat)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"ah" = (/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored)
|
||||
"ai" = (/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/airless,/area/mine/explored)
|
||||
"aj" = (/obj/structure/girder,/turf/simulated/mineral/floor/ignore_mapgen,/area/mine/explored)
|
||||
"ak" = (/obj/structure/frame{frame_type = "computer"; icon_state = "computer_0"},/turf/simulated/floor/airless,/area/mine/explored)
|
||||
"ak" = (/obj/structure/frame/computer,/turf/simulated/floor/airless,/area/mine/explored)
|
||||
"al" = (/obj/machinery/teleport/station,/turf/simulated/floor/airless,/area/mine/explored)
|
||||
"am" = (/obj/machinery/teleport/hub,/turf/simulated/floor/airless,/area/mine/explored)
|
||||
"an" = (/turf/simulated/floor/tiled/white/airless,/area/mine/explored)
|
||||
|
||||
Reference in New Issue
Block a user