From 03b716e0cd6d121fb9f8d176b8e38149facbfa61 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sat, 31 Aug 2013 22:10:52 +0100 Subject: [PATCH 1/7] Adds delay to eye dropper. --- code/modules/reagents/reagent_containers/dropper.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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) From b69c3b2ee41b38c4b42d83af6807d30b9096feb3 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sat, 31 Aug 2013 22:11:24 +0100 Subject: [PATCH 2/7] Change hailer to hearable message. --- code/game/objects/items/devices/whistle.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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) From dc5781f05bb1bb4771d24ea46705028a6e35bd08 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sat, 31 Aug 2013 22:13:59 +0100 Subject: [PATCH 3/7] Officers can be set as rev. --- code/datums/mind.dm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) 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 ***/ From 961ebcec3556590b444c526f027ae16d75cbd757 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sat, 31 Aug 2013 22:14:31 +0100 Subject: [PATCH 4/7] Added Megaphones to all Heads offices. --- baystation12.dme | 1 + code/game/objects/items/devices/megaphone.dm | 53 +++++++++++++++++++ code/game/objects/items/weapons/cards_ids.dm | 1 + icons/obj/device.dmi | Bin 18563 -> 19797 bytes maps/tgstation2.dmm | 27 +++++----- 5 files changed, 69 insertions(+), 13 deletions(-) create mode 100644 code/game/objects/items/devices/megaphone.dm 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/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/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/icons/obj/device.dmi b/icons/obj/device.dmi index 003bf5c9f10455108b282a68478ea1e8ad37fafa..dff59246963db3fd8efd1648d3f89a6a50c094e4 100644 GIT binary patch literal 19797 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 Date: Sun, 1 Sep 2013 00:15:47 +0100 Subject: [PATCH 5/7] Robot Analyzer. Health analyzer for robots. --- .../mob/living/silicon/robot/component.dm | 63 ++++++++++++++++++ .../modules/mob/living/silicon/robot/robot.dm | 3 +- .../mob/living/silicon/robot/robot_damage.dm | 7 +- icons/obj/device.dmi | Bin 19797 -> 20162 bytes maps/tgstation2.dmm | 25 ++++--- 5 files changed, 81 insertions(+), 17 deletions(-) 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/icons/obj/device.dmi b/icons/obj/device.dmi index dff59246963db3fd8efd1648d3f89a6a50c094e4..0152c2cd2b780cf01d8b58090788f6d9338551be 100644 GIT binary patch literal 20162 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 P#-*Xd{xm Date: Sun, 1 Sep 2013 00:16:11 +0100 Subject: [PATCH 6/7] Cell.use checks instead of just minuses. Yay for code! --- code/game/gamemodes/events/ninja_abilities.dm | 8 ++++---- code/game/gamemodes/events/ninja_equipment.dm | 5 ++++- code/game/machinery/floodlight.dm | 5 +++-- code/modules/mob/living/carbon/alien/humanoid/humanoid.dm | 2 +- code/modules/mob/living/carbon/alien/larva/larva.dm | 2 +- code/modules/mob/living/carbon/human/human_attackhand.dm | 2 +- code/modules/mob/living/carbon/metroid/metroid.dm | 2 +- code/modules/mob/living/carbon/monkey/monkey.dm | 2 +- code/modules/projectiles/guns/projectile/bow.dm | 4 ++-- 9 files changed, 18 insertions(+), 14 deletions(-) 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/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/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." From 069a9bf6a4adadb73128a7b0728f9d1259707f56 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sun, 1 Sep 2013 00:39:06 +0100 Subject: [PATCH 7/7] Adds more flashlights to the brig. --- maps/tgstation2.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm index 1d9ede6647..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)