From 475bd592846616ad82d79af222894d14f614a18c Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 19:38:33 -0400 Subject: [PATCH 1/7] Fixes #5118 Also fixes robot/access() so that it will accept any one of the accesses in req_access, instead of all - a much more likely use case. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 9 ++++++++- code/modules/mob/living/silicon/robot/robot.dm | 6 +++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index c506586d64..2217c344e0 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -12,6 +12,7 @@ braintype = "Robot" lawupdate = 0 density = 1 + req_access = list(access_engine, access_robotics) // We need to keep track of a few module items so we don't need to do list operations // every time we need them. These get set in New() after the module is chosen. @@ -198,11 +199,15 @@ if(stat == 2) - user << "\red You swipe your ID card through [src], attempting to reboot it." if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave. user << "\red The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one." return + if(!allowed(usr)) + user << "\red Access denied." + return + + user << "\red You swipe your ID card through [src], attempting to reboot it." var/drones = 0 for(var/mob/living/silicon/robot/drone/D in world) if(D.key && D.client) @@ -220,6 +225,8 @@ if(allowed(usr)) shut_down() + else + user << "\red Access denied." return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 0a98997647..50a08822d5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -968,9 +968,9 @@ if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access return 0 for(var/req in req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - return 1 + if(req in I.access) //have one of the required accesses + return 1 + return 0 /mob/living/silicon/robot/proc/updateicon() From 5a1782f2f1c2bd6efc1f9974e451b92a3c0b2b94 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 19:52:18 -0400 Subject: [PATCH 2/7] ID swiping drones now uses visible_message() --- code/modules/mob/living/silicon/robot/drone/drone.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 2217c344e0..607c588f6b 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -207,7 +207,7 @@ user << "\red Access denied." return - user << "\red You swipe your ID card through [src], attempting to reboot it." + user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to reboot it.", "\red You swipe your ID card through \the [src], attempting to reboot it.") var/drones = 0 for(var/mob/living/silicon/robot/drone/D in world) if(D.key && D.client) @@ -217,8 +217,7 @@ return else - src << "\red [user] swipes an ID card through your card reader." - user << "\red You swipe your ID card through [src], attempting to shut it down." + user.visible_message("\red \the [user] swipes \his ID card through \the [src], attempting to shut it down.", "\red You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) return From 6b11904e28b1104291b161575c731b0d625ba1a9 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 20:09:09 -0400 Subject: [PATCH 3/7] Fixes all robot_modules having access to flashes --- .../mob/living/silicon/robot/robot_modules.dm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index c3448aada4..1ab0832596 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -45,7 +45,8 @@ name = "standard robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/melee/baton(src) src.modules += new /obj/item/weapon/extinguisher(src) src.modules += new /obj/item/weapon/wrench(src) @@ -94,7 +95,7 @@ New() - ..() + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/rcd/borg(src) @@ -146,7 +147,7 @@ name = "security robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/borg/sight/hud/sec(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton(src) @@ -177,7 +178,7 @@ name = "janitorial robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/weapon/soap/nanotrasen(src) src.modules += new /obj/item/weapon/storage/bag/trash(src) src.modules += new /obj/item/weapon/mop(src) @@ -199,7 +200,7 @@ name = "service robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) src.modules += new /obj/item/weapon/pen/robopen(src) @@ -236,7 +237,7 @@ name = "miner robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/storage/bag/ore(src) @@ -283,8 +284,8 @@ ) New() - //TODO: Replace with shittier flashlight and work out why we can't remove the flash. ~Z - ..() + //TODO: Replace with shittier flashlight ~Z + src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/weapon/weldingtool(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) From 29fac4e05c418db5b9d43e1fff5a659b201bb941 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 20:13:23 -0400 Subject: [PATCH 4/7] Adds drone cameras to engineering network --- code/modules/mob/living/silicon/robot/drone/drone.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 607c588f6b..64b7bd53d6 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -31,6 +31,9 @@ ..() + if(camera && "Robots" in camera.network) + camera.network.Add("Engineering") + //They are unable to be upgraded, so let's give them a bit of a better battery. cell.maxcharge = 10000 cell.charge = 10000 From c02beec89543e3213040d642cb5169babaf44222 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 20:24:45 -0400 Subject: [PATCH 5/7] Adds a camera console to the drone bay So if a drone is causing trouble you don't have to run back and forth between consoles. --- maps/tgstation2.dmm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 01bec6f3bc..299189d9f0 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -5369,7 +5369,7 @@ "bZm" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/drone_fabrication) "bZn" = (/obj/machinery/door/airlock/maintenance_hatch{frequency = 1379; icon_state = "door_closed"; id_tag = "engine_airlock_interior"; locked = 0; name = "Engine Airlock Interior"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/engine/engine_room) "bZo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; dir = 4; icon_state = "pdoor0"; id = "EngineBlast"; layer = 2.7; name = "Engine Monitoring Room Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engine_room) -"bZp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/drone_fabrication) +"bZp" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication) "bZq" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/drone_fabrication) "bZr" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/turf/space,/area) "bZs" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/monitor{name = "Engine Power Monitoring"},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engine/engine_monitoring) @@ -5765,13 +5765,13 @@ "cgS" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "cgT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "cgU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/engineering_monitoring) -"cgV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication) +"cgV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/drone_fabrication) "cgW" = (/obj/machinery/ai_status_display{layer = 4; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 5},/area/engine/drone_fabrication) "cgX" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_on"; name = "Air to External"; on = 1},/turf/simulated/floor,/area/atmos) "cgY" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_on"; name = "Air to Distro"; on = 1},/turf/simulated/floor,/area/atmos) "cgZ" = (/obj/machinery/atmospherics/binary/pump{dir = 2; icon_state = "intact_on"; name = "External to Filter"; on = 1},/turf/simulated/floor,/area/atmos) "cha" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/atmos) -"chb" = (/obj/machinery/mecha_part_fabricator,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/engine/drone_fabrication) +"chb" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication) "chc" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area) "chd" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) "che" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/port) @@ -5782,7 +5782,7 @@ "chj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/engine/hallway) "chk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/engine/hallway) "chl" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/hallway) -"chm" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/drone_fabrication) +"chm" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/engine/drone_fabrication) "chn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "cho" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) "chp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/obj/machinery/camera{c_tag = "Engineering Hard Storage"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/engine/storage_hard) @@ -10746,6 +10746,8 @@ "dYH" = (/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_access_txt = null; req_one_access_txt = "5;12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/incinerator) "dYI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/sortjunction/flipped{dir = 8; sortType = "Drone Fabrication"; name = "Drone Fabrication"},/turf/simulated/floor,/area/atmos) "dYJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/sortjunction/flipped{dir = 2; sortType = "Engineering"; name = "Engineering"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor,/area/engine/hallway) +"dYK" = (/obj/machinery/computer/security/engineering{name = "Drone Monitoring Cameras"; network = list("Engineering")},/turf/simulated/floor/plating,/area/engine/drone_fabrication) +"dYL" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/drone_fabrication) "dYW" = (/obj/machinery/door/poddoor{density = 0; dir = 4; icon_state = "pdoor0"; id = "virologyquar"; name = "Virology Emergency Quarantine Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "delivery"},/area/medical/virologyaccess) "dYY" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "dYZ" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/medical/virology) @@ -11052,12 +11054,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaccXclgccUclgccWclgccUclgccWclgccUclgccWclgclgclgccUclgccWclgccVbQGbQGcdecdfcdgcdhcdibQGcdBbQGbQGbQGbQGbQGbQGcddccZbZKcdbcaOcaOcaOcaOcaOcaOcaOcaObPybPybGKbXOdWCdWJbGKbfMbTBbsJbsDbsCbVSdWKbYdbsybTBbSabhObGKaaaaaaaaaaaaaaaaaabVucsjbsxbXKcaZccKdWYdXbcaZdWZdXadWUdWTdWWdWVdWXbVuaafaafaaaaaaaaaaaaclkaaabudcdKcdCcdHcdIcdGcdCcdDcdFcdGcdCcdJbudaaaaaachdaaaaafaaaaafaaaaafaaacobaaaaafaaaaafaafaafaafchcaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaafaafaaaaafcdlaafcdmaafcdlaafcdmaafcdlaafcdmaafaaaaafcdlaafcdmaafaaaaaabQGcdecdfcdvcdhcdibQGcdQcdqcdOcdPcdTcdUcdRcdScdUceHcexcepcePceLceKceoceoceocdVbPybPybGKaafaafaaabGKbfMbTBbTBbVPcoicohcoibVPcojbTBbGKbXIbGKaaaaaaaaaaaaaaaaaabVudXmdXndWPcaZdXidXjdXkcaZceQceRceXceTbYXceSbYTbZJaaaaaaaaaaaaaaaaaacooaafbudcfbcficfjcfccfhcfecffcfccfdcfscfEbudaaaaaachcaaaciOciOciOciOciOaafcfVaafciOciOciOciOciOaafchcaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaafaafbTecdXcdMcdWbTecdXcdMcdWbTecdNcdMcdLbTeaaabTecdNcdMcdLbTeaaaaaabQGbQGcfRcfRcfRcfRcfRcgncfRcgpceocfUcdPcgmcdPcdPcfNcfPcfOcfIcfHcfMcfLceoceocfQbYPbPybGKaafaaaaaabGKcmHdXccmNbVPcmObYdcmPbVPcmQaafcmRcmScmRaaaaaaaaaaaaaaaaaabVudXtcghcspdXsdXqdXrdXpcbNcgOaafaaaclZaagcgLcrHaaaaaaaaaaaeaaaaaaaaaaaaaaabudcgsccCccCcfccgsccCccCcfccgsccCccCbudaafaafchcaafcjGcjHcjHcjHcjHcoQcoRcoQcjKcjKcjKcjKcjLaafchcaaacmdcmdcmdcmdaaacmdcmdcmdcmdcmdcmdcmdcmdcmdaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTeceicgMcejbTechDchPchJbTecekcemcelbTeaaabTecerbVqceqbTeaaaaaaaaachnbZdchbchmcgVcgWchCbYKcrjcrjcdZcrjcgEcdYcehcegcdYcefcgEceecedceabYocgpcgpbGKbGKbGKaaaaaaaaabGKbvKdXgdXhbVPcoicqmcoibVPcmQaafaaaaafaaaaaaaaaaaaaaaaaaaaabVudXtbYLdXzdXAdXAdVRdWydXybVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudchQccCccCcfcchQccCccCcfcchQccCccCbudaaaaaachcaafckzckzckzckzckzaaacfVaaackzckzckzckzckzaaachcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecfBcgNcfBbTechVciechVbTebUhcesbUhbTeaaabTebUhbUhbVrbTeaaaaaaaaabYmcifbXTbYNbXZcigchCbYKcrjceAceBceObYrceDcakcetcewcevbYrceCcezceybYoaaaaafaafaaaaaaaaaaaaaaabGKbPybPycpqbVPcpncpocppbVPcmQaafaafaaaaaaaaaaaaaaaaaaaaaaaabVudVPcsSdVRciGciGdVQbXKdVSbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudcihccCccCcfccihccCccCcfccihccCccCbudaaeaaachcaaaaaaaafaafaafaaaaaacfVaafaaaaaaaafaafaaaaaachcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaampaaaaaaaaaaafbTecfBceGcfBbTechVcijchVbTebUhceIbUhbTeaaabTebUhbUhbUhbTeaaaaaaaaabYmbXZcikbXZbXZcigcimcivcrjbYIceMceNbYrciIciJceUcaxcfwbYrcfaceZceYbYoaaaaaaaaaaaaaaaaaaaaaaaabGKbPybPybGKbVPcrJcrJcrJbVPcrIcrHaaaaaaaaaaaaaaaaaaaaaaaaaaabVudVTbXKbXKbXKbXKbXKbXKdVUbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccQbudbudbudbudbudbudbudbudciKciKciKccQaaaaaachcchcchcchcchcaaaaaaaaacfVaaaaaaaaachcchcchcchdchcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTeceicgMcejbTechDchPchJbTecekcemcelbTeaaabTecerbVqceqbTeaaaaaaaaachnbZdcgVbZpchbcgWchCbYKcrjcrjcdZcrjcgEcdYcehcegcdYcefcgEceecedceabYocgpcgpbGKbGKbGKaaaaaaaaabGKbvKdXgdXhbVPcoicqmcoibVPcmQaafaaaaafaaaaaaaaaaaaaaaaaaaaabVudXtbYLdXzdXAdXAdVRdWydXybVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudchQccCccCcfcchQccCccCcfcchQccCccCbudaaaaaachcaafckzckzckzckzckzaaacfVaaackzckzckzckzckzaaachcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecfBcgNcfBbTechVciechVbTebUhcesbUhbTeaaabTebUhbUhbVrbTeaaaaaaaaabYmcifbXTchmdYKcigchCbYKcrjceAceBceObYrceDcakcetcewcevbYrceCcezceybYoaaaaafaafaaaaaaaaaaaaaaabGKbPybPycpqbVPcpncpocppbVPcmQaafaafaaaaaaaaaaaaaaaaaaaaaaaabVudVPcsSdVRciGciGdVQbXKdVSbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabudcihccCccCcfccihccCccCcfccihccCccCbudaaeaaachcaaaaaaaafaafaafaaaaaacfVaafaaaaaaaafaafaaaaaachcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaampaaaaaaaaaaafbTecfBceGcfBbTechVcijchVbTebUhceIbUhbTeaaabTebUhbUhbUhbTeaaaaaaaaabYmbXZcikbYNbXZcigcimcivcrjbYIceMceNbYrciIciJceUcaxcfwbYrcfaceZceYbYoaaaaaaaaaaaaaaaaaaaaaaaabGKbPybPybGKbVPcrJcrJcrJbVPcrIcrHaaaaaaaaaaaaaaaaaaaaaaaaaaabVudVTbXKbXKbXKbXKbXKbXKdVUbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccQbudbudbudbudbudbudbudbudciKciKciKccQaaaaaachcchcchcchcchcaaaaaaaaacfVaaaaaaaaachcchcchcchdchcaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaafbTebTebTebTebTebTebTebTebTebTebTebTebTeaaabYybTebTebTebYyaaaaaaaaabYmbYubXTbXYbXZbYabXRbXScrjbYlbYfbYibYjbYkbYwbWkbYxbXNbYrbYqbYtbYsbYoaafaaaaaaaaaaaaaaaaaaaaabGKbXBbPydVOcqRaafaafaafaaaclkaafaafaaaaaaaaaaaaaaaaaaaaaaaabZJbVubVubXCdVZdVQdVQdVQdVYbXCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXlbXlbXlaaaaaaaaaaaaaaaaaaaaaaaaaaachcaafcqEaafchcaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYmbYQbXTbYNbXZbYMbYJbYKcrjbYIbYfbYHbYrbYGbYFbYEbYDbYvbYrbYBbYAbYzbYoaagaafaaaaaaaaaaaaaaaaaabGKbUxctgdVVaafaaaaaaaafaaaclZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYCciGciGciGciGciGbYCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachcaaaaafaaachcaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaalQaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaabYSaaaaaaaaaaaaaaaaaaaaaaaabZbbZdbZfbZmbZpbZqbXRbYKcrjbYVbYYbYZbYrbZabZsbZcbZtbZebYrbZgbZibZhbYoaaaaaaaaaaaaaaaaaaaaaaaabGKdVWcdjbGKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVubYXbYRbYRbYRbYTbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachcchcchcchcchcaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaalQaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaabYSaaaaaaaaaaaaaaaaaaaaaaaabZbbZdbZfbZmdYLbZqbXRbYKcrjbYVbYYbYZbYrbZabZsbZcbZtbZebYrbZgbZibZhbYoaaaaaaaaaaaaaaaaaaaaaaaabGKdVWcdjbGKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVubYXbYRbYRbYRbYTbVuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachcchcchcchcchcaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaabZIbZIbZIbZIbZIbZGbZjbZjbZjbZjbZjbZjbZobZvbZlbZubZkbZjbZjbZnbZjbZjbZjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaacmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaampaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZraaaaaaaaaaaaaaabGDbGibZjbZwbZxbZPbZQbZRbZSbZWbZCbZXbZCcdEbZybZUbZAbZEbZjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvctvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaacfWcfXcfYaaacfWcfXcfYaaacfWcfXcfYaafaafaaaaaaaaaaaaaafaafaaaaaaaaaaaabZYaaaaaaaaaaaabGDbGibZjbZwbZxcabcagbZScaabZDbZCbZCbZCbZDbZHbZZbZFbZLbZjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaacmdcmdcmdcmdcmdcmdcmdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From a6bc51631363a0974e07bd80ce5e7eaae585ed3d Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 2 Jun 2014 23:05:37 -0400 Subject: [PATCH 6/7] Readds flashes to all robots except drones. Drones also get a special low-power flashlight, now. --- code/game/objects/items/devices/flashlight.dm | 9 +++++++++ .../mob/living/silicon/robot/robot_modules.dm | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 3d9cb6031a..f524daa692 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -109,6 +109,15 @@ brightness_on = 2 w_class = 1 +/obj/item/device/flashlight/drone + name = "low-power flashlight" + desc = "A miniature lamp, that might be used by small robots." + icon_state = "penlight" + item_state = "" + flags = FPRINT | TABLEPASS | CONDUCT + brightness_on = 2 + w_class = 1 + // the desk lamps are a bit special /obj/item/device/flashlight/lamp diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 1ab0832596..5e73996377 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -64,7 +64,8 @@ name = "medical robot module" New() - ..() + src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/hud/med(src) src.modules += new /obj/item/device/healthanalyzer(src) src.modules += new /obj/item/device/reagent_scanner/adv(src) @@ -96,6 +97,7 @@ New() src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/rcd/borg(src) @@ -148,6 +150,7 @@ New() src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/hud/sec(src) src.modules += new /obj/item/weapon/handcuffs/cyborg(src) src.modules += new /obj/item/weapon/melee/baton(src) @@ -179,6 +182,7 @@ New() src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/soap/nanotrasen(src) src.modules += new /obj/item/weapon/storage/bag/trash(src) src.modules += new /obj/item/weapon/mop(src) @@ -201,6 +205,7 @@ New() src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) src.modules += new /obj/item/weapon/reagent_containers/food/condiment/enzyme(src) src.modules += new /obj/item/weapon/pen/robopen(src) @@ -238,6 +243,7 @@ New() src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/meson(src) src.emag = new /obj/item/borg/stun(src) src.modules += new /obj/item/weapon/storage/bag/ore(src) @@ -250,6 +256,8 @@ name = "syndicate robot module" New() + src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/weapon/melee/energy/sword(src) src.modules += new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(src) src.modules += new /obj/item/weapon/card/emag(src) @@ -259,6 +267,8 @@ name = "combat robot module" New() + src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/thermal(src) src.modules += new /obj/item/weapon/gun/energy/laser/cyborg(src) src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) @@ -284,8 +294,7 @@ ) New() - //TODO: Replace with shittier flashlight ~Z - src.modules += new /obj/item/device/flashlight(src) + src.modules += new /obj/item/device/flashlight/drone(src) src.modules += new /obj/item/weapon/weldingtool(src) src.modules += new /obj/item/weapon/screwdriver(src) src.modules += new /obj/item/weapon/wrench(src) From 715056fca76c23199824a15dfc349982a0e6f865 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 3 Jun 2014 20:01:16 -0400 Subject: [PATCH 7/7] Readds tator fab to drone bay --- code/game/mecha/mech_fabricator.dm | 3 ++- maps/tgstation2.dmm | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index bfdf3e32c2..aa166ef803 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -36,6 +36,7 @@ var/screen = "main" var/opened = 0 var/temp + var/output_dir = SOUTH //the direction relative to the fabber at which completed parts appear. var/list/part_sets = list( //set names must be unique "Robot"=list( /obj/item/robot_parts/robot_suit, @@ -378,7 +379,7 @@ src.overlays -= "fab-active" src.desc = initial(src.desc) if(being_built) - src.being_built.Move(get_step(src,SOUTH)) + src.being_built.Move(get_step(src,output_dir)) src.visible_message("\icon[src] [src] beeps, \"The following has been completed: [src.being_built] is built\".") src.being_built = null src.updateUsrDialog() diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 299189d9f0..635da1b5fe 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -5359,7 +5359,7 @@ "bZc" = (/obj/machinery/computer/security/engineering{network = list("Engineering","Power Alarms","Atmosphere Alarms","Fire Alarms","Supermatter")},/turf/simulated/floor,/area/engine/engine_monitoring) "bZd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/engine/drone_fabrication) "bZe" = (/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/engine_monitoring) -"bZf" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/constructable_frame/machine_frame,/obj/machinery/light,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/drone_fabrication) +"bZf" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/light,/obj/machinery/mecha_part_fabricator{output_dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/drone_fabrication) "bZg" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "eng_al_c_snsr"; pixel_x = -25; pixel_y = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating,/area/engine/engine_airlock) "bZh" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/engine/engine_airlock) "bZi" = (/turf/simulated/floor/plating,/area/engine/engine_airlock)