Merge pull request #341 from caelaislinn/master
antiqua engineering, lockdown computers, camera monitor circuitboards, minor changes
@@ -451,6 +451,7 @@
|
||||
#include "code\game\machinery\autolathe.dm"
|
||||
#include "code\game\machinery\biogenerator.dm"
|
||||
#include "code\game\machinery\camera.dm"
|
||||
#include "code\game\machinery\camera_monitor.dm"
|
||||
#include "code\game\machinery\cell_charger.dm"
|
||||
#include "code\game\machinery\cloning.dm"
|
||||
#include "code\game\machinery\constructable_frame.dm"
|
||||
@@ -510,6 +511,7 @@
|
||||
#include "code\game\machinery\computer\crew.dm"
|
||||
#include "code\game\machinery\computer\explosive.dm"
|
||||
#include "code\game\machinery\computer\hologram.dm"
|
||||
#include "code\game\machinery\computer\lockdown.dm"
|
||||
#include "code\game\machinery\computer\medical.dm"
|
||||
#include "code\game\machinery\computer\Operating.dm"
|
||||
#include "code\game\machinery\computer\power.dm"
|
||||
|
||||
@@ -31,6 +31,55 @@
|
||||
|
||||
/obj/multiz/ladder/attack_hand(var/mob/M)
|
||||
M.Move(locate(src.x, src.y, targetZ()))
|
||||
|
||||
|
||||
/obj/multiz/ladder/hatch
|
||||
icon_state = "hatchdown"
|
||||
name = "hatch"
|
||||
desc = "A Hatch. You climb down it, and it will automatically seal against pressure loss behind you."
|
||||
|
||||
/obj/multiz/ladder/hatch/New()
|
||||
..()
|
||||
if(istop == 1)
|
||||
icon_state = "hatchdown"
|
||||
|
||||
/obj/multiz/ladder/hatch/hatchbottom
|
||||
icon_state = "hatchdown"
|
||||
|
||||
/obj/multiz/ladder/hatch/hatchbottom/New()
|
||||
istop = 0
|
||||
..()
|
||||
|
||||
/obj/multiz/ladder/hatch/attack_hand(var/mob/M)
|
||||
var/obj/multiz/ladder/hatch/Htop
|
||||
var/obj/multiz/ladder/hatch/Hbottom
|
||||
if(!istop && src.z > 1)
|
||||
Htop = locate(/obj/multiz/ladder/hatch, locate(src.x, src.y, src.z-1))
|
||||
Hbottom = src
|
||||
else
|
||||
Hbottom = locate(/obj/multiz/ladder/hatch, locate(src.x, src.y, src.z + 1))
|
||||
Htop = src
|
||||
|
||||
if(!Htop)
|
||||
//world << "Htop == null"
|
||||
return
|
||||
if(!Hbottom)
|
||||
//world << "Hbottom == null"
|
||||
return
|
||||
|
||||
if(Htop.icon_state == "hatchdown")
|
||||
flick("hatchdown-open",Htop)
|
||||
Hbottom.overlays += "green-ladderlight"
|
||||
spawn(7)
|
||||
if(M.z == src.z && get_dist(src,M) <= 1)
|
||||
M.Move(locate(src.x, src.y, targetZ()))
|
||||
flick("hatchdown-close",Htop)
|
||||
Hbottom.overlays -= "green-ladderlight"
|
||||
Hbottom.overlays += "red-ladderlight"
|
||||
spawn(7)
|
||||
Htop.icon_state = "hatchdown"
|
||||
Hbottom.overlays -= "red-ladderlight"
|
||||
|
||||
/*
|
||||
/obj/multiz/ladder/blob_act()
|
||||
var/newblob = 1
|
||||
@@ -81,7 +130,7 @@
|
||||
/turf/simulated/floor/open
|
||||
name = "open space"
|
||||
intact = 0
|
||||
icon_state = "open"
|
||||
icon_state = "black"
|
||||
pathweight = 100000 //Seriously, don't try and path over this one numbnuts
|
||||
var/icon/darkoverlays = null
|
||||
var/turf/floorbelow
|
||||
@@ -115,10 +164,22 @@
|
||||
spawn(1)
|
||||
if(AM)
|
||||
AM.Move(locate(x, y, z + 1))
|
||||
if (istype(AM, /mob))
|
||||
AM:bruteloss += 20 //You were totally doin it wrong. 5 damage? Really? - Aryn
|
||||
AM:weakened = max(AM:weakened,5)
|
||||
AM:updatehealth()
|
||||
if (istype(AM, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = AM
|
||||
var/damage = rand(5,15)
|
||||
H.apply_damage(2*damage, BRUTE, "head")
|
||||
H.apply_damage(2*damage, BRUTE, "chest")
|
||||
H.apply_damage(0.5*damage, BRUTE, "l_leg")
|
||||
H.apply_damage(0.5*damage, BRUTE, "r_leg")
|
||||
H.apply_damage(0.5*damage, BRUTE, "l_arm")
|
||||
H.apply_damage(0.5*damage, BRUTE, "r_arm")
|
||||
|
||||
var/obj/effect/decal/cleanable/blood/B = new(src.loc)
|
||||
B.blood_DNA = H.dna.unique_enzymes
|
||||
B.blood_type = H.b_type
|
||||
|
||||
H:weakened = max(H:weakened,2)
|
||||
H:updatehealth()
|
||||
return ..()
|
||||
|
||||
attackby()
|
||||
@@ -137,8 +198,8 @@
|
||||
I.layer = TURF_LAYER + 0.2
|
||||
src.addoverlay(I)*/
|
||||
|
||||
var/maxZ = 1
|
||||
var/minZ = 1
|
||||
var/maxZ = 6
|
||||
var/minZ = 2
|
||||
|
||||
// Maybe it's best to have this hardcoded for whatever we'd add to the map, in order to avoid exploits
|
||||
// (such as mining base => admin station)
|
||||
|
||||
|
After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
@@ -100,6 +100,8 @@ proc/process_ghost_teleport_locs()
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/area/engine/
|
||||
name = "Engineering"
|
||||
icon_state = "engine"
|
||||
|
||||
/area/turret_protected/
|
||||
|
||||
@@ -671,23 +673,73 @@ proc/process_ghost_teleport_locs()
|
||||
//Engineering
|
||||
|
||||
/area/engine
|
||||
engineering
|
||||
|
||||
engine_smes
|
||||
name = "Engineering SMES"
|
||||
icon_state = "engine_smes"
|
||||
requires_power = 0//This area only covers the batteries and they deal with their own power
|
||||
|
||||
engineering
|
||||
name = "Engineering"
|
||||
icon_state = "engine"
|
||||
|
||||
particle_accelerator
|
||||
name = "Particle Accelerator"
|
||||
icon_state = "engine_smes" // not really, but it's some way to distinguish
|
||||
icon_state = "engine_pa"
|
||||
|
||||
chiefs_office
|
||||
name = "Chief Engineers office"
|
||||
icon_state = "engine_ce"
|
||||
|
||||
//new engine areas
|
||||
control
|
||||
name = "Engineering Control"
|
||||
icon_state = "engine_control"
|
||||
|
||||
port
|
||||
name = "Engineering Port"
|
||||
icon_state = "engine_port"
|
||||
|
||||
starboard
|
||||
name = "Engineering Starboard"
|
||||
icon_state = "engine_starboard"
|
||||
|
||||
fore
|
||||
name = "Engineering Fore"
|
||||
icon_state = "engine_fore"
|
||||
|
||||
aft
|
||||
name = "Engineering Aft"
|
||||
icon_state = "engine_aft"
|
||||
|
||||
locker
|
||||
name = "Engineering Locker Room"
|
||||
icon_state = "engine_locker"
|
||||
|
||||
construction_storage
|
||||
name = "Engineering Construction Storage"
|
||||
icon_state = "engine_construction"
|
||||
|
||||
atmos_storage
|
||||
name = "Engineering Atmos Storage"
|
||||
icon_state = "engine_atmos"
|
||||
|
||||
electrical_storage
|
||||
name = "Engineering Electrical Storage"
|
||||
icon_state = "engine_electrical"
|
||||
|
||||
secure_storage
|
||||
name = "Engineering Secure Storage"
|
||||
icon_state = "engine_secure"
|
||||
|
||||
foyer
|
||||
name = "Engineering Foyer"
|
||||
icon_state = "engine_foyer"
|
||||
|
||||
breakroom
|
||||
name = "Engineering Break Room"
|
||||
icon_state = "engine_breakroom"
|
||||
|
||||
core
|
||||
name = "Engineering Core"
|
||||
icon_state = "engine_core"
|
||||
|
||||
//Solars
|
||||
|
||||
|
||||
@@ -237,6 +237,23 @@
|
||||
network = "MINE"
|
||||
circuit = "/obj/item/weapon/circuitboard/mining"
|
||||
|
||||
/obj/machinery/computer/security/engineering
|
||||
name = "Engineering Cameras"
|
||||
desc = "Used to access the various cameras in engineering."
|
||||
icon_state = "engineeringcameras"
|
||||
network = "ENGINEERING"
|
||||
circuit = "/obj/item/weapon/circuitboard/engineeringcam"
|
||||
|
||||
/obj/machinery/computer/lockdown
|
||||
/*
|
||||
name = "Lockdown Control"
|
||||
desc = "Used to control blast doors."
|
||||
icon_state = "lockdown"
|
||||
circuit = "/obj/item/weapon/circuitboard/lockdown"
|
||||
var/connectedDoorIds[0]
|
||||
var/department = ""
|
||||
var/connected_doors[0][0]
|
||||
*/
|
||||
|
||||
/obj/machinery/computer/crew
|
||||
name = "Crew monitoring computer"
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
icon = 'rapid_pdoor.dmi'
|
||||
icon_state = "pdoor1"
|
||||
var/id = 1.0
|
||||
var/networkTag = ""
|
||||
|
||||
/obj/machinery/door/poddoor/two_tile_hor
|
||||
var/obj/machinery/door/poddoor/filler_object/f1
|
||||
|
||||
@@ -337,6 +337,13 @@
|
||||
icon_state = "yellow"
|
||||
item_state = "toolbox_yellow"
|
||||
|
||||
/obj/item/weapon/storage/PCMBox
|
||||
name = "spare power control modules"
|
||||
desc = "A box of spare power control module circuit boards."
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "circuit"
|
||||
item_state = "syringe_kit"
|
||||
|
||||
/obj/item/weapon/storage/toolbox/syndicate
|
||||
name = "Suspicious looking toolbox"
|
||||
icon_state = "syndicate"
|
||||
|
||||
@@ -31,6 +31,14 @@
|
||||
containertype = "/obj/structure/closet/crate"
|
||||
containername = "Empty Box crate"
|
||||
|
||||
/datum/supply_packs/pcm
|
||||
name = "Power Control Module supplies"
|
||||
contains = list("/obj/item/weapon/storage/PCMBox",
|
||||
"/obj/item/weapon/storage/PCMBox")
|
||||
cost = 25
|
||||
containertype = "/obj/structure/closet/crate"
|
||||
containername = "Power Control Module crate"
|
||||
|
||||
/datum/supply_packs/body_bags
|
||||
name = "Body Bag supplies"
|
||||
contains = list(
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
|
||||
//the researchable camera circuit that can connect to any camera network
|
||||
|
||||
/obj/item/weapon/circuitboard/camera
|
||||
//name = "Circuit board (Camera)"
|
||||
var/secured = 1
|
||||
var/authorised = 0
|
||||
var/possibleNets[0]
|
||||
var/network = ""
|
||||
build_path = 0
|
||||
|
||||
//when adding a new camera network, you should only need to update these two procs
|
||||
New()
|
||||
possibleNets["Engineering"] = access_engine
|
||||
possibleNets["SS13"] = access_security
|
||||
possibleNets["Outpost"] = access_mining
|
||||
|
||||
proc/updateBuildPath()
|
||||
build_path = ""
|
||||
if(authorised && secured)
|
||||
switch(network)
|
||||
if("SS13")
|
||||
build_path = "/obj/machinery/computer/security"
|
||||
if("Engineering")
|
||||
build_path = "/obj/machinery/computer/security/engineeringcam"
|
||||
if("Outpost")
|
||||
build_path = "/obj/machinery/computer/security/mining"
|
||||
|
||||
attackby(var/obj/item/I, var/mob/user)//if(health > 50)
|
||||
..()
|
||||
if(istype(I,/obj/item/weapon/card/emag))
|
||||
if(network)
|
||||
authorised = 1
|
||||
user << "\blue You authorised the circuit network!"
|
||||
updateDialog()
|
||||
else
|
||||
user << "\blue You must select a camera network circuit!"
|
||||
else if(istype(I,/obj/item/weapon/screwdriver))
|
||||
secured = !secured
|
||||
user.visible_message("\blue The [src] can [secured ? "no longer" : "now"] be modified.")
|
||||
updateBuildPath()
|
||||
return
|
||||
|
||||
attack_self(var/mob/user)
|
||||
if(!secured && ishuman(user))
|
||||
user.machine = src
|
||||
interact(user, 0)
|
||||
|
||||
proc/interact(var/mob/user, var/ai=0)
|
||||
if(secured)
|
||||
return
|
||||
if (!ishuman(user))
|
||||
return ..(user)
|
||||
var/t = "<B>Circuitboard Console - Camera Monitoring Computer</B><BR>"
|
||||
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
|
||||
t += "<hr> Please select a camera network:<br>"
|
||||
|
||||
for(var/curNet in possibleNets)
|
||||
if(network == curNet)
|
||||
t += "- [curNet]<br>"
|
||||
else
|
||||
t += "- <A href='?src=\ref[src];net=[curNet]'>[curNet]</A><BR>"
|
||||
t += "<hr>"
|
||||
if(network)
|
||||
if(authorised)
|
||||
t += "Authenticated <A href='?src=\ref[src];removeauth=1'>(Clear Auth)</A><BR>"
|
||||
else
|
||||
t += "<A href='?src=\ref[src];auth=1'><b>*Authenticate*</b></A> (Requires an appropriate access ID)<br>"
|
||||
else
|
||||
t += "<A href='?src=\ref[src];auth=1'>*Authenticate*</A> (Requires an appropriate access ID)<BR>"
|
||||
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
|
||||
user << browse(t, "window=camcircuit;size=500x400")
|
||||
onclose(user, "camcircuit")
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
if( href_list["close"] )
|
||||
usr << browse(null, "window=camcircuit")
|
||||
usr.machine = null
|
||||
return
|
||||
else if(href_list["net"])
|
||||
network = href_list["net"]
|
||||
authorised = 0
|
||||
else if( href_list["auth"] )
|
||||
var/mob/M = usr
|
||||
var/obj/item/weapon/card/id/I = M.equipped()
|
||||
if (istype(I, /obj/item/device/pda))
|
||||
var/obj/item/device/pda/pda = I
|
||||
I = pda.id
|
||||
if (I && istype(I))
|
||||
if(access_captain in I.access)
|
||||
authorised = 1
|
||||
else if (possibleNets[network] in I.access)
|
||||
authorised = 1
|
||||
if(istype(I,/obj/item/weapon/card/emag))
|
||||
if(network)
|
||||
authorised = 1
|
||||
usr << "\blue You authorised the circuit network!"
|
||||
updateDialog()
|
||||
else
|
||||
usr << "\blue You must select a camera network circuit!"
|
||||
else if( href_list["removeauth"] )
|
||||
authorised = 0
|
||||
updateDialog()
|
||||
|
||||
updateDialog()
|
||||
if(istype(src.loc,/mob))
|
||||
attack_self(src.loc)
|
||||
@@ -28,9 +28,6 @@
|
||||
frame_desc = null
|
||||
contain_parts = 1
|
||||
|
||||
/obj/item/weapon/circuitboard/security
|
||||
name = "Circuit board (Security)"
|
||||
build_path = "/obj/machinery/computer/security"
|
||||
/obj/item/weapon/circuitboard/aicore
|
||||
name = "Circuit board (AI core)"
|
||||
origin_tech = "programming=4;biotech=2"
|
||||
@@ -154,10 +151,22 @@
|
||||
name = "Circuit board (Operating Computer)"
|
||||
build_path = "/obj/machinery/computer/operating"
|
||||
origin_tech = "programming=2;biotech=2"
|
||||
/obj/item/weapon/circuitboard/mining
|
||||
name = "Circuit board (Outpost Status Display)"
|
||||
build_path = "/obj/machinery/computer/security/mining"
|
||||
/obj/item/weapon/circuitboard/camera
|
||||
name = "Circuit board (Camera)"
|
||||
origin_tech = "programming=2"
|
||||
build_path = "" //build path has to be manually set
|
||||
/obj/item/weapon/circuitboard/security
|
||||
name = "Circuit board (Security Monitoring)"
|
||||
origin_tech = "" //unresearchable
|
||||
build_path = "/obj/machinery/computer/security"
|
||||
/obj/item/weapon/circuitboard/security/engineering
|
||||
name = "Circuit board (Engineering Monitoring)"
|
||||
origin_tech = "" //unresearchable
|
||||
build_path = "/obj/machinery/computer/security/engineering"
|
||||
/obj/item/weapon/circuitboard/security/mining
|
||||
name = "Circuit board (Mining Outpost Monitoring)"
|
||||
origin_tech = "" //unresearchable
|
||||
build_path = "/obj/machinery/computer/security/mining"
|
||||
/obj/item/weapon/circuitboard/comm_monitor
|
||||
name = "Circuit board (Telecommunications Monitor)"
|
||||
build_path = "/obj/machinery/computer/telecomms/monitor"
|
||||
@@ -204,12 +213,15 @@
|
||||
if(istype(P, /obj/item/weapon/circuitboard) && !circuit)
|
||||
var/obj/item/weapon/circuitboard/B = P
|
||||
if(B.board_type == "computer")
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
user << "\blue You place the circuit board inside the frame."
|
||||
src.icon_state = "1"
|
||||
src.circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
if(B.build_path != "")
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
user << "\blue You place the circuit board inside the frame."
|
||||
src.icon_state = "1"
|
||||
src.circuit = P
|
||||
user.drop_item()
|
||||
P.loc = src
|
||||
else
|
||||
user << "\red That circuit board requires additional modifications before it can be used."
|
||||
else
|
||||
user << "\red This frame does not accept circuit boards of this type!"
|
||||
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
//this computer displays status and remotely activates multiple shutters / blast doors
|
||||
//might even make it able to lock / electrify area doors, later
|
||||
|
||||
/obj/machinery/computer/lockdown
|
||||
name = "Lockdown Control"
|
||||
desc = "Used to control blast doors."
|
||||
icon_state = "lockdown"
|
||||
circuit = "/obj/item/weapon/circuitboard/lockdown"
|
||||
var/connectedDoorIds[0][0]
|
||||
var/department = ""
|
||||
var/connected_doors[0][0]
|
||||
///obj/machinery/door/poddoor
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
//only load blast doors for map-defined departments for the moment
|
||||
switch(department)
|
||||
if("Engineering")
|
||||
connectedDoorIds.Add("Engineering Primary Access")
|
||||
connectedDoorIds.Add("Engineering Secondary Access")
|
||||
connectedDoorIds.Add("Fore Maintenance Access")
|
||||
connectedDoorIds.Add("Aft Maintenance Access")
|
||||
connectedDoorIds.Add("Particle Accelerator Rad Shielding")
|
||||
connectedDoorIds.Add("Foreward Emitter Array Rad Shielding")
|
||||
connectedDoorIds.Add("Aftward Emitter Array Rad Shielding")
|
||||
connectedDoorIds.Add("Starboard Observation Rad Shielding")
|
||||
connectedDoorIds.Add("Atmospheric Storage Rad Shielding")
|
||||
connectedDoorIds.Add("Construction Storage Rad Shielding")
|
||||
connectedDoorIds.Add("Engineering Secure Storage")
|
||||
|
||||
//loop through the world, grabbing all the relevant doors
|
||||
spawn(1)
|
||||
for(var/networkId in connectedDoorIds)
|
||||
//world << "\blue Creating [networkId]"
|
||||
for(var/obj/machinery/door/poddoor/D in world)
|
||||
if(D.id == networkId)
|
||||
connected_doors.Add(D)
|
||||
//world << "\blue Added [D]"
|
||||
|
||||
attack_ai(mob/user)
|
||||
attack_hand(user)
|
||||
|
||||
attack_hand(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
return
|
||||
interact(user)
|
||||
|
||||
power_change()
|
||||
if(stat & BROKEN)
|
||||
icon_state = "broken"
|
||||
else
|
||||
if( powered() )
|
||||
icon_state = initial(icon_state)
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
spawn(rand(0, 15))
|
||||
src.icon_state = "c_unpowered"
|
||||
stat |= NOPOWER
|
||||
|
||||
Topic(href, href_list)
|
||||
..()
|
||||
if( href_list["close"] )
|
||||
usr << browse(null, "window=lockdown")
|
||||
usr.machine = null
|
||||
return
|
||||
|
||||
if( href_list["openDoor"] )
|
||||
var/obj/machinery/door/poddoor/D = href_list["door"]
|
||||
if(D.density)
|
||||
D.open()
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
if( href_list["closeDoor"] )
|
||||
var/obj/machinery/door/poddoor/D = href_list["door"]
|
||||
if(!D.density)
|
||||
D.close()
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
if( href_list["close_all"] )
|
||||
for(var/obj/machinery/door/poddoor/D in connected_doors)
|
||||
if(D.id == href_list["netId"])
|
||||
if(!D.density)
|
||||
spawn(0)
|
||||
D.close()
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
if( href_list["open_all"] )
|
||||
for(var/obj/machinery/door/poddoor/D in connected_doors)
|
||||
if(D.id == href_list["netId"])
|
||||
if(D.density)
|
||||
spawn(0)
|
||||
D.open()
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
if(href_list["update"])
|
||||
src.updateDialog()
|
||||
return
|
||||
|
||||
proc
|
||||
interact(mob/user)
|
||||
if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) )
|
||||
if (!istype(user, /mob/living/silicon))
|
||||
user.machine = null
|
||||
user << browse(null, "window=lockdown")
|
||||
return
|
||||
var/t = "<B>Lockdown Control</B><BR>"
|
||||
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
|
||||
t += "<table border=1>"
|
||||
for(var/curNetId in connectedDoorIds)
|
||||
t += "<tr>"
|
||||
t += "<td><b>" + curNetId + "<b></td>"
|
||||
t += "<td><b><a href='?src=\ref[src];open_all=1;netId=[curNetId]'>Open All</a> / <a href='?src=\ref[src];close_all=0;netId=[curNetId]'>Close All</a></b></td>"
|
||||
t += "</tr>"
|
||||
for(var/obj/machinery/door/poddoor/D in connected_doors)
|
||||
if(D.id == curNetId )
|
||||
t += "<tr>"
|
||||
t += "<td> [D.networkTag]</td>"
|
||||
if(D.density)
|
||||
t += "<td><a href='?src=\ref[D];open=1'>Open</a> - Close</td>"
|
||||
else
|
||||
t += "<td>Open - <a href='?src=\ref[D];close=1'>Close</a></td>"
|
||||
t += "</tr>"
|
||||
t += "</table>"
|
||||
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
|
||||
user << browse(t, "window=lockdown;size=500x800")
|
||||
onclose(user, "lockdown")
|
||||
@@ -1,3 +1,10 @@
|
||||
//cael - added this for the lockdown computer
|
||||
/obj/machinery/door/poddoor/Topic(href, href_list)
|
||||
if(href_list["close"])
|
||||
close()
|
||||
if(href_list["open"])
|
||||
open()
|
||||
|
||||
/obj/machinery/door/poddoor/Bumped(atom/AM)
|
||||
if(!density)
|
||||
return ..()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
//this item is intended to give the effect of entering the mine, so that light gradually fades
|
||||
/obj/effect/light_emitter
|
||||
name = "Light-emtter"
|
||||
name = "Light-emitter"
|
||||
anchored = 1
|
||||
unacidable = 1
|
||||
luminosity = 8
|
||||
|
||||
@@ -67,14 +67,14 @@ datum
|
||||
|
||||
///////////////////Computer Boards///////////////////////////////////
|
||||
|
||||
seccamera
|
||||
name = "Circuit Design (Security)"
|
||||
desc = "Allows for the construction of circuit boards used to build security camera computers."
|
||||
id = "seccamera"
|
||||
camera
|
||||
name = "Circuit Design (Camera)"
|
||||
desc = "Allows for the construction of circuit boards used to build camera network computers."
|
||||
id = "camera"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 2000, "acid" = 20)
|
||||
build_path = "/obj/item/weapon/circuitboard/security"
|
||||
build_path = "/obj/item/weapon/circuitboard/camera"
|
||||
|
||||
aicore
|
||||
name = "Circuit Design (AI Core)"
|
||||
|
||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |