diff --git a/baystation12.dme b/baystation12.dme index 93c600191c..0235a3daba 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -491,6 +491,7 @@ #include "code\game\objects\items\devices\flash.dm" #include "code\game\objects\items\devices\flashlight.dm" #include "code\game\objects\items\devices\lightreplacer.dm" +#include "code\game\objects\items\devices\megaphone.dm" #include "code\game\objects\items\devices\multitool.dm" #include "code\game\objects\items\devices\paicard.dm" #include "code\game\objects\items\devices\pipe_painter.dm" diff --git a/code/datums/mind.dm b/code/datums/mind.dm index fb8a134c5a..7adc6a9679 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -130,11 +130,11 @@ datum/mind text = uppertext(text) text = "[text]: " if (assigned_role in command_positions) - text += "HEAD|officer|employee|headrev|rev" - else if (assigned_role in list("Security Officer", "Detective", "Warden")) - text += "head|OFFICER|employee|headre|rev" + text += "HEAD|employee|headrev|rev" +// else if (assigned_role in list("Security Officer", "Detective", "Warden")) +// text += "head|OFFICER|employee|headre|rev" else if (src in ticker.mode.head_revolutionaries) - text = "head|officer|employee|HEADREV|rev" + text = "head|employee|HEADREV|rev" text += "
Flash: give" var/list/L = current.get_contents() @@ -151,9 +151,9 @@ datum/mind if (objectives.len==0) text += "
Objectives are empty! Set to kill all heads." else if (src in ticker.mode.revolutionaries) - text += "head|officer|employee|headrev|REV" + text += "head|employee|headrev|REV" else - text += "head|officer|EMPLOYEE|headrev|rev" + text += "head|EMPLOYEE|headrev|rev" sections["revolution"] = text /** CULT ***/ @@ -162,18 +162,18 @@ datum/mind text = uppertext(text) text = "[text]: " if (assigned_role in command_positions) - text += "HEAD|officer|employee|cultist" - else if (assigned_role in list("Security Officer", "Detective", "Warden")) - text += "head|OFFICER|employee|cultist" + text += "HEAD|employee|cultist" +// else if (assigned_role in list("Security Officer", "Detective", "Warden")) +// text += "head|OFFICER|employee|cultist" else if (src in ticker.mode.cult) - text += "head|officer|employee|CULTIST" + text += "head|employee|CULTIST" text += "
Give tome|amulet." /* if (objectives.len==0) text += "
Objectives are empty! Set to sacrifice and escape or summon." */ else - text += "head|officer|EMPLOYEE|cultist" + text += "head|EMPLOYEE|cultist" sections["cult"] = text /** WIZARD ***/ diff --git a/code/game/gamemodes/events/ninja_abilities.dm b/code/game/gamemodes/events/ninja_abilities.dm index 16dfae5249..9245c740e0 100644 --- a/code/game/gamemodes/events/ninja_abilities.dm +++ b/code/game/gamemodes/events/ninja_abilities.dm @@ -109,7 +109,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo playsound(U.loc, 'sound/effects/EMPulse.ogg', 60, 2) empulse(U, 2, 3) //Procs sure are nice. Slightly weaker than wizard's disable tch. s_coold = 2 - cell.charge-=(C*10) + cell.use(C*10) return //=======//ENERGY BLADE//=======// @@ -129,7 +129,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo spark_system.start() playsound(U.loc, "sparks", 50, 1) U.put_in_hands(W) - cell.charge-=(C*10) + cell.use(C*10) else U << "\red You can only summon one blade. Try dropping an item first." else//Else you can run around with TWO energy blades. I don't know why you'd want to but cool factor remains. @@ -173,7 +173,7 @@ This could be a lot better but I'm too tired atm.*/ A.current = curloc A.yo = targloc.y - curloc.y A.xo = targloc.x - curloc.x - cell.charge-=(C*100)// Ninja stars now cost 100 energy, stil la fair chunk to avoid spamming, will run out of power quickly if used 3 or more times + cell.use(C*100)// Ninja stars now cost 100 energy, stil la fair chunk to avoid spamming, will run out of power quickly if used 3 or more times A.process() else U << "\red There are no targets in view." @@ -210,7 +210,7 @@ Must right click on a mob to activate.*/ E.master = U spawn(0)//Parallel processing. E.process(M) - cell.charge-=(C*100) // Nets now cost what should be most of a standard battery, since your taking someone out of the round + cell.use(C*100) // Nets now cost what should be most of a standard battery, since your taking someone out of the round else U << "They are already trapped inside an energy net." else diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index 647933ca3d..d25dabe21b 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -520,7 +520,10 @@ ________________________________________________________________________________ if(damage>1)//So they don't spam it when energy is a factor. spark_system.start()//SPARKS THERE SHALL BE SPARKS U.electrocute_act(damage, src,0.1,1)//The last argument is a safety for the human proc that checks for gloves. - cell.charge -= damage + if(cell.charge < damage) + cell.use(cell.charge) + else + cell.use(damage) else A << "\red ERROR: \black Not enough energy remaining." diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 57f1bc4be6..bfb8c45851 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -21,8 +21,9 @@ /obj/machinery/floodlight/process() if(on) - cell.charge -= use - if(cell.charge <= 0) + if(cell.charge >= use) + cell.use(use) + else on = 0 updateicon() SetLuminosity(0) diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm new file mode 100644 index 0000000000..5638c175c6 --- /dev/null +++ b/code/game/objects/items/devices/megaphone.dm @@ -0,0 +1,53 @@ +/obj/item/device/megaphone + name = "megaphone" + desc = "A device used to project your voice. Loudly." + icon_state = "megaphone" + item_state = "radio" + w_class = 1.0 + flags = FPRINT | TABLEPASS | CONDUCT + + var/spamcheck = 0 + var/emagged = 0 + var/insults = 0 + var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!") + +/obj/item/device/megaphone/attack_self(mob/living/user as mob) + if (user.client) + if(user.client.prefs.muted & MUTE_IC) + src << "\red You cannot speak in IC (muted)." + return + if(!ishuman(user)) + user << "\red You don't know how to use this!" + return + if(spamcheck) + user << "\red \The [src] needs to recharge!" + return + + var/message = copytext(sanitize(input(user, "Shout a message?", "Megaphone", null) as text),1,MAX_MESSAGE_LEN) + if(!message) + return + + if ((src.loc == user && usr.stat == 0)) + if(emagged) + if(insults) + for(var/mob/O in (viewers(user))) + O.show_message("[user] broadcasts, \"[pick(insultmsg)]\"",2) // 2 stands for hearable message + insults-- + else + user << "\red *BZZZZzzzzzt*" + else + for(var/mob/O in (viewers(user))) + O.show_message("[user] broadcasts, \"[message]\"",2) // 2 stands for hearable message + + spamcheck = 1 + spawn(20) + spamcheck = 0 + return + +/obj/item/device/megaphone/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/weapon/card/emag) && !emagged) + user << "\red You overload \the [src]'s voice synthesizer." + emagged = 1 + insults = rand(1, 3)//to prevent dickflooding + return + return \ No newline at end of file diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 760497d5ca..3100b91434 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -17,13 +17,13 @@ if(emagged) if(insults >= 1) playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, 1, vary = 0)//hueheuheuheuheuheuhe - user.visible_message("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"") + user.show_message("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"",2) //It's a hearable message silly! insults-- else user << "\red *BZZZZcuntZZZZT*" else playsound(get_turf(src), 'sound/voice/halt.ogg', 100, 1, vary = 0) - user.visible_message("[user]'s [name] rasps, \"Halt! Security!\"") + user.show_message("[user]'s [name] rasps, \"Halt! Security!\"",1) spamcheck = 1 spawn(20) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 2833cc922f..6740fa109e 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -79,6 +79,7 @@ /obj/item/device/lightreplacer, /obj/item/device/taperecorder, /obj/item/device/hailer, + /obj/item/device/megaphone, /obj/item/clothing/tie/holobadge, /obj/structure/closet/crate/secure, /obj/structure/closet/secure_closet, diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 3917671d96..6188f88827 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -268,7 +268,7 @@ if(G.cell) if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. if(G.cell.charge >= 2500) - G.cell.charge -= 2500 + G.cell.use(2500) Weaken(5) if (stuttering < 5) diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 3086886b31..2a4886206f 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -248,7 +248,7 @@ if(G.cell) if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. if(G.cell.charge >= 2500) - G.cell.charge -= 2500 + G.cell.use(2500) Weaken(5) if (stuttering < 5) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 76dce7e45e..3c279e5cf7 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -22,7 +22,7 @@ if(G.cell) if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. if(G.cell.charge >= 2500) - G.cell.charge -= 2500 + G.cell.use(2500) visible_message("\red [src] has been touched with the stun gloves by [M]!") M.attack_log += text("\[[time_stamp()]\] Stungloved [src.name] ([src.ckey])") src.attack_log += text("\[[time_stamp()]\] Has been stungloved by [M.name] ([M.ckey])") diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 24ef809253..693fd1bd6a 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -440,7 +440,7 @@ if(G.cell) if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. if(G.cell.charge >= 2500) - G.cell.charge -= 2500 + G.cell.use(2500) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall.", 2) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 7f109dd7d7..29c0b4defb 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -229,7 +229,7 @@ if(G.cell) if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. if(G.cell.charge >= 2500) - G.cell.charge -= 2500 + G.cell.use(2500) Weaken(5) if (stuttering < 5) stuttering = 5 diff --git a/code/modules/mob/living/silicon/robot/component.dm b/code/modules/mob/living/silicon/robot/component.dm index cc10e646dd..47781148d9 100644 --- a/code/modules/mob/living/silicon/robot/component.dm +++ b/code/modules/mob/living/silicon/robot/component.dm @@ -152,3 +152,66 @@ /obj/item/robot_parts/robot_component/radio name = "radio" + +// +//Robotic Component Analyser, basically a health analyser for robots +// +/obj/item/device/robotanalyzer + name = "cyborg analyzer" + icon_state = "robotanalyzer" + item_state = "analyzer" + desc = "A hand-held scanner able to diagnose robotic injuries." + flags = FPRINT | TABLEPASS | CONDUCT + slot_flags = SLOT_BELT + throwforce = 3 + w_class = 1.0 + throw_speed = 5 + throw_range = 10 + m_amt = 200 + origin_tech = "magnets=1;biotech=1" + var/mode = 1; + +/obj/item/device/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob) + if(( (CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) + user << text("\red You try to analyze the floor's vitals!") + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [user] has analyzed the floor's vitals!"), 1) + user.show_message(text("\blue Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1) + user.show_message(text("\blue \t Damage Specifics: [0]-[0]-[0]-[0]"), 1) + user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) + user.show_message("\blue Body Temperature: ???", 1) + return + if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + user << "\red You don't have the dexterity to do this!" + return + if(!istype(M, /mob/living/silicon/robot)) + user << "\red You can't analyze non-robotic things!" + return + + user.visible_message(" [user] has analyzed [M]'s components."," You have analyzed [M]'s components.") + var/BU = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss() + var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() + user.show_message("\blue Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "fully disabled" : "[M.health - M.halloss]% functional"]") + user.show_message("\t Key: Electronics/Brute", 1) + user.show_message("\t Damage Specifics: [BU] - [BR]") + if(M.tod && M.stat == DEAD) + user.show_message("\blue Time of Disable: [M.tod]") + + var/mob/living/silicon/robot/H = M + var/list/damaged = H.get_damaged_components(1,1,1) + user.show_message("\blue Localized Damage:",1) + if(length(damaged)>0) + for(var/datum/robot_component/org in damaged) + user.show_message(text("\blue \t []: [][] - [] - [] - []", \ + capitalize(org.name), \ + (org.installed == -1) ? "DESTROYED " :"",\ + (org.electronics_damage > 0) ? "[org.electronics_damage]" :0, \ + (org.brute_damage > 0) ? "[org.brute_damage]" :0, \ + (org.toggled) ? "Toggled ON" : "Toggled OFF",\ + (org.powered) ? "Power ON" : "Power OFF"),1) + else + user.show_message("\blue \t Components are OK.",1) + if(H.emagged && prob(5)) + user.show_message("\red \t ERROR: INTERNAL SYSTEMS COMPROMISED",1) + src.add_fingerprint(user) + return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 492a64d04c..71f83cf03a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -777,7 +777,8 @@ else - spark_system.start() + if( !(istype(W, /obj/item/device/robotanalyzer) || istype(W, /obj/item/device/healthanalyzer)) ) + spark_system.start() return ..() /mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M as mob) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index 7387b20b79..58f2042826 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -32,12 +32,13 @@ else heal_overall_damage(0, -amount) -/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn) +/mob/living/silicon/robot/proc/get_damaged_components(var/brute, var/burn, var/destroyed = 0) var/list/datum/robot_component/parts = list() for(var/V in components) var/datum/robot_component/C = components[V] - if(C.installed == 1) if((brute && C.brute_damage) || (burn && C.electronics_damage)) - parts += C + if(C.installed == 1 || (C.installed == -1 && destroyed)) + if((brute && C.brute_damage) || (burn && C.electronics_damage) || (!C.toggled) || (!C.powered && C.toggled)) + parts += C return parts /mob/living/silicon/robot/proc/get_damageable_components() diff --git a/code/modules/projectiles/guns/projectile/bow.dm b/code/modules/projectiles/guns/projectile/bow.dm index e2bc1c1088..5a627ae6ef 100644 --- a/code/modules/projectiles/guns/projectile/bow.dm +++ b/code/modules/projectiles/guns/projectile/bow.dm @@ -77,7 +77,7 @@ user << "[arrow] plinks and crackles as it begins to glow red-hot." arrow.throwforce = 15 arrow.icon_state = "metal-rod-superheated" - cell.charge -= 500 + cell.use(500) return if(istype(W, /obj/item/weapon/cell)) @@ -91,7 +91,7 @@ user << "[arrow] plinks and crackles as it begins to glow red-hot." arrow.throwforce = 15 arrow.icon_state = "metal-rod-superheated" - cell.charge -= 500 + cell.use(500) else user << "[src] already has a cell installed." diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 09da254712..96e037a23a 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -27,6 +27,13 @@ var/trans = 0 if(ismob(target)) + + var/time = 20 //2/3rds the time of a syringe + for(var/mob/O in viewers(world.view, user)) + O.show_message(text("\red [] is trying to squirt something into []'s eyes!", user, target), 1) + + if(!do_mob(user, target, time)) return + if(istype(target , /mob/living/carbon/human)) var/mob/living/carbon/human/victim = target @@ -51,15 +58,12 @@ spawn(5) src.reagents.reaction(safe_thing, TOUCH) - - user << "\blue You transfer [trans] units of the solution." if (src.reagents.total_volume<=0) filled = 0 icon_state = "dropper[filled]" return - for(var/mob/O in viewers(world.view, user)) O.show_message(text("\red [] squirts something into []'s eyes!", user, target), 1) src.reagents.reaction(target, TOUCH) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 003bf5c9f1..0152c2cd2b 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index f91f10554d..313780f04b 100644 --- a/maps/tgstation2.dmm +++ b/maps/tgstation2.dmm @@ -309,7 +309,7 @@ "afW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) "afX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/main) "afY" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/item/device/flashlight/flare,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/main) -"afZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/device/radio/off,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) +"afZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/device/radio/off,/obj/item/weapon/crowbar,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "redfull"; dir = 9},/area/security/main) "aga" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) "agb" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) "agc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/security/main) @@ -384,7 +384,7 @@ "aht" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) "ahu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/security/prison) "ahv" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison) -"ahw" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) +"ahw" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/device/flashlight,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ahx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ahy" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) "ahz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Security Processing"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) @@ -404,7 +404,7 @@ "ahN" = (/obj/structure/sign/goldenplaque,/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/security/hos) "ahO" = (/obj/structure/table/woodentable,/obj/item/device/radio/off,/obj/machinery/camera{c_tag = "HoS Office South"; dir = 1},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "ahP" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) -"ahQ" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/hos) +"ahQ" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "ahR" = (/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "dark"},/area/security/hos) "ahS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/prison) "ahT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/security/prison) @@ -3042,7 +3042,7 @@ "bgz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bgA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) "bgB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/crew_quarters/captain) -"bgC" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/wood,/area/crew_quarters/captain) +"bgC" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/item/device/megaphone,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bgD" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bgE" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) "bgF" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain) @@ -3568,7 +3568,7 @@ "bqF" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqG" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 30; pixel_y = 0; pixel_z = 0},/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/computer/crew,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bqH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/cmo) -"bqI" = (/obj/structure/table,/obj/item/weapon/cartridge/medical{pixel_x = -2; pixel_y = 6},/obj/item/weapon/cartridge/medical{pixel_x = 6; pixel_y = 3},/obj/item/weapon/cartridge/medical,/obj/item/weapon/cartridge/chemistry{pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) +"bqI" = (/obj/structure/table,/obj/item/weapon/cartridge/medical{pixel_x = -2; pixel_y = 6},/obj/item/weapon/cartridge/medical{pixel_x = 6; pixel_y = 3},/obj/item/weapon/cartridge/medical,/obj/item/weapon/cartridge/chemistry{pixel_y = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/megaphone,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bqJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bqK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bqL" = (/obj/structure/closet/secure_closet/CMO,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) @@ -3732,7 +3732,7 @@ "btN" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/assembly/chargebay) "btO" = (/obj/machinery/power/apc{dir = 4; name = "Mech Bay APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/assembly/chargebay) "btP" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/assembly/robotics) -"btQ" = (/obj/structure/table,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/item/device/mmi/posibrain,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics) +"btQ" = (/obj/structure/table,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"},/obj/item/device/mmi/posibrain,/obj/item/device/robotanalyzer,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics) "btR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"},/area/assembly/robotics) "btS" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "btT" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"}) @@ -3844,7 +3844,7 @@ "bvV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/office) "bvW" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads) "bvX" = (/turf/simulated/floor,/area/crew_quarters/heads) -"bvY" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/crew_quarters/heads) +"bvY" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor,/area/crew_quarters/heads) "bvZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/crew_quarters/heads) "bwa" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) "bwb" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid,/area/server) @@ -4219,7 +4219,7 @@ "bDg" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/structure/sign/nosmoking_2{pixel_x = 28},/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage) "bDh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bDi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/crew_quarters/hor) -"bDj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) +"bDj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/item/device/megaphone,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bDk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bDl" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bDm" = (/obj/structure/table,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) @@ -4231,7 +4231,7 @@ "bDs" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/miningdock) "bDt" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor,/area/quartermaster/miningdock) "bDu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/quartermaster/qm) -"bDv" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/qm) +"bDv" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/megaphone,/turf/simulated/floor,/area/quartermaster/qm) "bDw" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/turf/simulated/floor,/area/quartermaster/qm) "bDx" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp{name = "Quartermaster's stamp"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/qm) "bDy" = (/obj/structure/disposalpipe/segment,/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 8},/turf/simulated/floor,/area/quartermaster/qm) @@ -5995,7 +5995,7 @@ "clo" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "clp" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "clq" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"clr" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) +"clr" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/device/megaphone,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "cls" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills{icon_state = "medlaptop"},/obj/item/weapon/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) "clt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/chiefs_office) "clu" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/engine/break_room)