From 79804f663e67a72fba9570a4b078cc2ed1ad22a6 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Sun, 12 Jul 2015 19:50:02 +0300 Subject: [PATCH 1/9] Updates borg shaker and hypospray Fixes #6937 Hypospray no longer contains a bunch of reagent holders --- .../mob/living/silicon/robot/robot_modules.dm | 2 +- .../reagents/reagent_containers/borghydro.dm | 116 ++++++++++++------ .../reagent_containers/food/drinks.dm | 13 -- .../changelogs/Kelenius-ofBorgsAndShakers.yml | 6 + 4 files changed, 83 insertions(+), 54 deletions(-) create mode 100644 html/changelogs/Kelenius-ofBorgsAndShakers.yml diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index a338588df09..4d7179bbfce 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -504,7 +504,7 @@ var/global/list/robot_modules = list( src.modules += L src.modules += new /obj/item/weapon/tray/robotray(src) - src.modules += new /obj/item/weapon/reagent_containers/food/drinks/shaker(src) + src.modules += new /obj/item/weapon/reagent_containers/borghypo/service(src) src.emag = new /obj/item/weapon/reagent_containers/food/drinks/cans/beer(src) var/datum/reagents/R = new/datum/reagents(50) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 985ed3d9d27..a4946c141d2 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -1,5 +1,5 @@ /obj/item/weapon/reagent_containers/borghypo - name = "Cyborg Hypospray" + name = "cyborg hypospray" desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment." icon = 'icons/obj/syringe.dmi' item_state = "hypo" @@ -7,13 +7,14 @@ amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null + var/mode = 1 var/charge_cost = 50 var/charge_tick = 0 var/recharge_time = 5 //Time it takes for shots to recharge (in seconds) - var/list/datum/reagents/reagent_list = list() var/list/reagent_ids = list("tricordrazine", "inaprovaline", "spaceacillin") + var/list/reagent_volumes = list() /obj/item/weapon/reagent_containers/borghypo/surgeon reagent_ids = list("bicaridine", "inaprovaline", "dexalin") @@ -23,64 +24,55 @@ /obj/item/weapon/reagent_containers/borghypo/New() ..() + for(var/R in reagent_ids) - add_reagent(R) + reagent_volumes[R] = volume processing_objects.Add(src) - /obj/item/weapon/reagent_containers/borghypo/Destroy() processing_objects.Remove(src) ..() -/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg - charge_tick++ - if(charge_tick < recharge_time) return 0 +/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+ + if(++charge_tick < recharge_time) + return 0 charge_tick = 0 if(isrobot(loc)) var/mob/living/silicon/robot/R = loc if(R && R.cell) - var/datum/reagents/RG = reagent_list[mode] - if(RG.total_volume < RG.maximum_volume) //Don't recharge reagents and drain power if the storage is full. - R.cell.use(charge_cost) //Take power from borg... - RG.add_reagent(reagent_ids[mode], 5) //And fill hypo with reagent. + for(var/T in reagent_ids) + if(reagent_volumes[T] < volume) + R.cell.use(charge_cost) + reagent_volumes[T] = min(reagent_volumes[T] + 5, volume) return 1 -// Use this to add more chemicals for the borghypo to produce. -/obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(var/reagent) - reagent_ids |= reagent - var/datum/reagents/RG = new(30) - RG.my_atom = src - reagent_list += RG +/obj/item/weapon/reagent_containers/borghypo/attack(var/mob/living/M, var/mob/user) + if(!istype(M)) + return - var/datum/reagents/R = reagent_list[reagent_list.len] - R.add_reagent(reagent, 30) - -/obj/item/weapon/reagent_containers/borghypo/attack(mob/living/M as mob, mob/user as mob) - var/datum/reagents/R = reagent_list[mode] - if(!R.total_volume) + if(!reagent_volumes[reagent_ids[mode]]) user << "The injector is empty." return - if (!istype(M)) - return - if (R.total_volume && M.can_inject(user, 1)) + if(M.can_inject(user, 1)) user << "You inject [M] with the injector." M << "You feel a tiny prick!" if(M.reagents) - var/trans = R.trans_to_mob(M, amount_per_transfer_from_this, CHEM_BLOOD) - user << "[trans] units injected. [R.total_volume] units remaining." + var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) + M.reagents.add_reagent(reagent_ids[mode], t) + reagent_volumes[reagent_ids[mode]] -= t + user << "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining." return -/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) - playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) //Change the mode +/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode + playsound(loc, 'sound/effects/pop.ogg', 50, 0) mode++ - if(mode > reagent_list.len) + if(mode > reagent_ids.len) mode = 1 - charge_tick = 0 //Prevents wasted chems/cell charge if you're cycling through modes. var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] user << "Synthesizer is now producing '[R.name]'." return @@ -89,13 +81,57 @@ if(!..(user, 2)) return - var/empty = 1 + var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] - for(var/datum/reagents/RS in reagent_list) - var/datum/reagent/R = locate() in RS.reagent_list - if(R) - user << "It currently has [R.volume] units of [R.name] stored." - empty = 0 + user << "It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left." - if(empty) - user << "It is currently empty. Allow some time for the internal syntheszier to produce more." +/obj/item/weapon/reagent_containers/borghypo/service + name = "cyborg drink synthesizer" + desc = "A portable drink dispencer." + icon = 'icons/obj/drinks.dmi' + icon_state = "shaker" + charge_cost = 20 + recharge_time = 3 + volume = 60 + possible_transfer_amounts = list(5, 10, 20, 30) + reagent_ids = list("beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequilla", "vermouth", "cognac", "ale", "mead", "water", "sugar", "ice", "tea", "icetea", "cola", "spacemountainwind", "dr_gibb", "space_up", "tonic", "sodawater", "lemon_lime", "orangejuice", "limejuice", "watermelonjuice") + var/list/reagent_names = list() + +/obj/item/weapon/reagent_containers/borghypo/service/New() + ..() + for(var/T in reagent_ids) + var/datum/reagent/R = chemical_reagents_list[T] + reagent_names += R.name + +/obj/item/weapon/reagent_containers/borghypo/service/attack_self(var/mob/user) + var/t = input(user, "Choose a reagent to dispence", "Reagent", reagent_names[mode]) in reagent_names + + playsound(loc, 'sound/effects/pop.ogg', 50, 0) + + mode = reagent_names.Find(t) + user << "Synthesizer is now producing '[t]'." + return + +/obj/item/weapon/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user) + return + +/obj/item/weapon/reagent_containers/borghypo/service/afterattack(var/obj/target, var/mob/user, var/proximity) + if(!proximity) + return + + if(!target.is_open_container() || !target.reagents) + return + + if(!reagent_volumes[reagent_ids[mode]]) + user << "[src] is out of this reagent, give it some time to refill." + return + + if(!target.reagents.get_free_space()) + user << "[target] is full." + return + + var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) + target.reagents.add_reagent(reagent_ids[mode], t) + reagent_volumes[reagent_ids[mode]] -= t + user << "You transfer [t] units of the solution to [target]." + return diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 43a406153c1..f70e06f421a 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -18,7 +18,6 @@ attack(mob/M as mob, mob/user as mob, def_zone) if(standard_feed_mob(user, M)) - robot_refill(user) return return 0 @@ -29,22 +28,10 @@ if(standard_dispenser_refill(user, target)) return if(standard_pour_into(user, target)) - robot_refill(user) return return ..() - proc/robot_refill(var/mob/living/silicon/robot/user) - if(!istype(user)) - return 0 - - user.cell.use(30) - var/refill = reagents.get_master_reagent_id() - user << "Now synthesizing [amount_per_transfer_from_this] units of [refill]..." - spawn(300) - reagents.add_reagent(refill, amount_per_transfer_from_this) - user << "Cyborg [src] refilled." - self_feed_message(var/mob/user) user << "You swallow a gulp from \the [src]." diff --git a/html/changelogs/Kelenius-ofBorgsAndShakers.yml b/html/changelogs/Kelenius-ofBorgsAndShakers.yml new file mode 100644 index 00000000000..5f338749868 --- /dev/null +++ b/html/changelogs/Kelenius-ofBorgsAndShakers.yml @@ -0,0 +1,6 @@ +author: Kelenius + +delete-after: True +changes: + - tweak: "Borg shaker now works similarly to hypospray. It generates reagents that can be poured into glasses." + - bugfix: "Therefore, they can no longer duplicate rare reagents such as phoron." From 0269d19befdd573f0f1f59314787474c8e8b65ad Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 13 Jul 2015 10:28:36 +0300 Subject: [PATCH 2/9] Borg reagent synths use links in chat and Topic() --- .../reagents/reagent_containers/borghydro.dm | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index a4946c141d2..23db3bbaeef 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -15,6 +15,7 @@ var/list/reagent_ids = list("tricordrazine", "inaprovaline", "spaceacillin") var/list/reagent_volumes = list() + var/list/reagent_names = list() /obj/item/weapon/reagent_containers/borghypo/surgeon reagent_ids = list("bicaridine", "inaprovaline", "dexalin") @@ -25,8 +26,10 @@ /obj/item/weapon/reagent_containers/borghypo/New() ..() - for(var/R in reagent_ids) - reagent_volumes[R] = volume + for(var/T in reagent_ids) + reagent_volumes[T] = volume + var/datum/reagent/R = chemical_reagents_list[T] + reagent_names += R.name processing_objects.Add(src) @@ -68,15 +71,28 @@ return /obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode - playsound(loc, 'sound/effects/pop.ogg', 50, 0) - mode++ - if(mode > reagent_ids.len) - mode = 1 + var/t = "" + for(var/i = 1 to reagent_ids.len) + if(t) + t += ", " + if(mode == i) + t += "[reagent_names[i]]" + else + t += "[reagent_names[i]]" + t = "Available reagents: [t]." + user << t - var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] - user << "Synthesizer is now producing '[R.name]'." return +/obj/item/weapon/reagent_containers/borghypo/Topic(var/href, var/list/href_list) + if(href_list["reagent"]) + var/t = reagent_ids.Find(href_list["reagent"]) + if(t) + playsound(loc, 'sound/effects/pop.ogg', 50, 0) + mode = t + var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] + usr << "Synthesizer is now producing '[R.name]'." + /obj/item/weapon/reagent_containers/borghypo/examine(mob/user) if(!..(user, 2)) return @@ -95,22 +111,6 @@ volume = 60 possible_transfer_amounts = list(5, 10, 20, 30) reagent_ids = list("beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequilla", "vermouth", "cognac", "ale", "mead", "water", "sugar", "ice", "tea", "icetea", "cola", "spacemountainwind", "dr_gibb", "space_up", "tonic", "sodawater", "lemon_lime", "orangejuice", "limejuice", "watermelonjuice") - var/list/reagent_names = list() - -/obj/item/weapon/reagent_containers/borghypo/service/New() - ..() - for(var/T in reagent_ids) - var/datum/reagent/R = chemical_reagents_list[T] - reagent_names += R.name - -/obj/item/weapon/reagent_containers/borghypo/service/attack_self(var/mob/user) - var/t = input(user, "Choose a reagent to dispence", "Reagent", reagent_names[mode]) in reagent_names - - playsound(loc, 'sound/effects/pop.ogg', 50, 0) - - mode = reagent_names.Find(t) - user << "Synthesizer is now producing '[t]'." - return /obj/item/weapon/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user) return From b6beb8c299b7942656f90eb6c03470e406897c87 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 20 Jul 2015 09:31:02 +0300 Subject: [PATCH 3/9] Admin logs for borg hypo --- code/modules/reagents/reagent_containers/borghydro.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 23db3bbaeef..47c80d42a14 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -67,6 +67,7 @@ var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]]) M.reagents.add_reagent(reagent_ids[mode], t) reagent_volumes[reagent_ids[mode]] -= t + admin_inject_log(user, M, src, reagent_ids[mode], t) user << "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining." return From 6b2daae752ca2be6b66d011b7e91d0c3b13a7299 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Mon, 20 Jul 2015 16:27:58 +0300 Subject: [PATCH 4/9] Fixes #6264 - labeling janicart messes its ui Janicart now uses nanoui and is immune to labeling screwing up its interface I've even resisted making pointless spacing changes this time! --- code/game/objects/structures/janicart.dm | 94 ++++++++++++------------ nano/templates/janitorcart.tmpl | 30 ++++++++ 2 files changed, 79 insertions(+), 45 deletions(-) create mode 100644 nano/templates/janitorcart.tmpl diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index bd253da195b..deb95a98e96 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -83,22 +83,23 @@ /obj/structure/janitorialcart/attack_hand(mob/user) - user.set_machine(src) - var/dat - if(mybag) - dat += "[mybag.name]
" - if(mymop) - dat += "[mymop.name]
" - if(myspray) - dat += "[myspray.name]
" - if(myreplacer) - dat += "[myreplacer.name]
" - if(signs) - dat += "[signs] sign\s
" - var/datum/browser/popup = new(user, "janicart", name, 240, 160) - popup.set_content(dat) - popup.open() + ui_interact(user) + return +/obj/structure/janitorialcart/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + data["name"] = uppertext(copytext(name, 1, 2)) + copytext(name, 2) + data["bag"] = mybag ? uppertext(copytext(mybag.name, 1, 2)) + copytext(mybag.name, 2) : null + data["mop"] = mymop ? uppertext(copytext(mymop.name, 1, 2)) + copytext(mymop.name, 2) : null + data["spray"] = myspray ? uppertext(copytext(myspray.name, 1, 2)) + copytext(myspray.name, 2) : null + data["replacer"] = myreplacer ? uppertext(copytext(myreplacer.name, 1, 2)) + copytext(myreplacer.name, 2) : null + data["signs"] = signs ? "[signs] sign\s" : null + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + ui = new(user, src, ui_key, "janitorcart.tmpl", "Janitorial cart", 240, 160) + ui.set_initial_data(data) + ui.open() /obj/structure/janitorialcart/Topic(href, href_list) if(!in_range(src, usr)) @@ -106,36 +107,39 @@ if(!isliving(usr)) return var/mob/living/user = usr - if(href_list["garbage"]) - if(mybag) - user.put_in_hands(mybag) - user << "You take [mybag] from [src]." - mybag = null - if(href_list["mop"]) - if(mymop) - user.put_in_hands(mymop) - user << "You take [mymop] from [src]." - mymop = null - if(href_list["spray"]) - if(myspray) - user.put_in_hands(myspray) - user << "You take [myspray] from [src]." - myspray = null - if(href_list["replacer"]) - if(myreplacer) - user.put_in_hands(myreplacer) - user << "You take [myreplacer] from [src]." - myreplacer = null - if(href_list["sign"]) - if(signs) - var/obj/item/weapon/caution/Sign = locate() in src - if(Sign) - user.put_in_hands(Sign) - user << "You take \a [Sign] from [src]." - signs-- - else - warning("[src] signs ([signs]) didn't match contents") - signs = 0 + + if(href_list["take"]) + switch(href_list["take"]) + if("garbage") + if(mybag) + user.put_in_hands(mybag) + user << "You take [mybag] from [src]." + mybag = null + if("mop") + if(mymop) + user.put_in_hands(mymop) + user << "You take [mymop] from [src]." + mymop = null + if("spray") + if(myspray) + user.put_in_hands(myspray) + user << "You take [myspray] from [src]." + myspray = null + if("replacer") + if(myreplacer) + user.put_in_hands(myreplacer) + user << "You take [myreplacer] from [src]." + myreplacer = null + if("sign") + if(signs) + var/obj/item/weapon/caution/Sign = locate() in src + if(Sign) + user.put_in_hands(Sign) + user << "You take \a [Sign] from [src]." + signs-- + else + warning("[src] signs ([signs]) didn't match contents") + signs = 0 update_icon() updateUsrDialog() diff --git a/nano/templates/janitorcart.tmpl b/nano/templates/janitorcart.tmpl new file mode 100644 index 00000000000..916b92bc726 --- /dev/null +++ b/nano/templates/janitorcart.tmpl @@ -0,0 +1,30 @@ +
+
+ {{:data.name}} +
+ {{if data.bag}} +
+ {{:helper.link(data.bag, '', { 'take' : 'garbage' })}} +
+ {{/if}} + {{if data.mop}} +
+ {{:helper.link(data.mop, '', { 'take' : 'mop' })}} +
+ {{/if}} + {{if data.spray}} +
+ {{:helper.link(data.spray, '', { 'take' : 'spray' })}} +
+ {{/if}} + {{if data.replacer}} +
+ {{:helper.link(data.replacer, '', { 'take' : 'replacer' })}} +
+ {{/if}} + {{if data.signs}} +
+ {{:helper.link(data.signs, '', { 'take' : 'sign' })}} +
+ {{/if}} +
\ No newline at end of file From d509bdbbfeeb91c72558de8dcf8763f8134ceacb Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 21 Jul 2015 11:58:39 +0300 Subject: [PATCH 5/9] Uses capitalize() --- code/game/objects/structures/janicart.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index deb95a98e96..df6e3a33413 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -88,11 +88,11 @@ /obj/structure/janitorialcart/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] - data["name"] = uppertext(copytext(name, 1, 2)) + copytext(name, 2) - data["bag"] = mybag ? uppertext(copytext(mybag.name, 1, 2)) + copytext(mybag.name, 2) : null - data["mop"] = mymop ? uppertext(copytext(mymop.name, 1, 2)) + copytext(mymop.name, 2) : null - data["spray"] = myspray ? uppertext(copytext(myspray.name, 1, 2)) + copytext(myspray.name, 2) : null - data["replacer"] = myreplacer ? uppertext(copytext(myreplacer.name, 1, 2)) + copytext(myreplacer.name, 2) : null + data["name"] = capitalize(name) + data["bag"] = mybag ? capitalize(mybag.name) : null + data["mop"] = mymop ? capitalize(mymop.name) : null + data["spray"] = myspray ? capitalize(myspray.name) : null + data["replacer"] = myreplacer ? capitalize(myreplacer.name) : null data["signs"] = signs ? "[signs] sign\s" : null ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) From ec3faf35e8443e181595b236fd9cac76d40d6ff3 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 22 Jul 2015 08:11:52 +0200 Subject: [PATCH 6/9] Fixes #10254. Nothing to see here. --- code/datums/ai_laws.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 808c216d0dd..edfffde816a 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -198,9 +198,7 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen var/index = laws.Find(law) if(index) laws -= law - world << state.len for(index, index < state.len, index++) - world << index state[index] = state[index+1] sorted_laws.Cut() From 43a8a76573d7392dbd1cae1518a41595fd420618 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 22 Jul 2015 09:08:59 +0200 Subject: [PATCH 7/9] Fixes two cameras on the wrong network. Two medbay cameras were incorrectly assigned to mining. --- maps/exodus-1.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index b1752a37c80..7d7884ec88a 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3424,8 +3424,8 @@ "bnR" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/item/weapon/storage/box/cups{pixel_x = 0; pixel_y = 0},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnS" = (/obj/machinery/light{dir = 1},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnT" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bnU" = (/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Port"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bnV" = (/obj/machinery/camera/network/mining{c_tag = "Medbay Lobby Starboard"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bnU" = (/obj/machinery/camera/network/medbay{c_tag = "Medbay Lobby Port"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) +"bnV" = (/obj/machinery/camera/network/medbay{c_tag = "Medbay Lobby Starboard"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnW" = (/obj/machinery/alarm{pixel_y = 22},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) "bnX" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/camera/network/medbay{c_tag = "Medbay Examination Room"},/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room) "bnY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/locker) From 7efaab0ab46fb554746ad101ddbc85df182ad6c9 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 23 Jul 2015 10:10:10 +0300 Subject: [PATCH 8/9] Fixes #9540 - borg message when using DA on storage Radically. Frankly, this message is useless. --- code/game/objects/items/weapons/storage/storage.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 61786e10db0..22277c33e2a 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -335,7 +335,6 @@ ..() if(isrobot(user)) - user << "\blue You're a robot. No." return //Robots can't interact with storage items. if(!can_be_inserted(W)) From 74872e28a79bd4b8e24670256786b477a231aecb Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Fri, 24 Jul 2015 11:02:39 +0200 Subject: [PATCH 9/9] Compilation fix. --- code/modules/reagents/reagent_containers/borghydro.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index ddb3818a67d..615db881681 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -69,7 +69,7 @@ user << "You cannot inject a robotic limb." return - if (R.total_volume && M.can_inject(user, 1)) + if (M.can_inject(user, 1)) user << "You inject [M] with the injector." M << "You feel a tiny prick!"