diff --git a/code/WorkInProgress/Ported/Bureaucracy/filing.dm b/code/WorkInProgress/Ported/Bureaucracy/filing.dm index a742371e33e..47ffb29f3d9 100644 --- a/code/WorkInProgress/Ported/Bureaucracy/filing.dm +++ b/code/WorkInProgress/Ported/Bureaucracy/filing.dm @@ -1,8 +1,8 @@ /obj/structure/filingcabinet name = "Filing Cabinet" desc = "A large cabinet with drawers." - icon = 'computer.dmi' - icon_state = "messyfiles" + icon = 'bureaucracy.dmi' + icon_state = "filingcabinet" density = 1 anchored = 1 diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index 35879744025..e40eff552a7 100755 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -420,7 +420,7 @@ new /obj/item/weapon/storage/box(BPK) new /obj/item/weapon/fcardholder(src) new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/notebook(src) + new /obj/item/weapon/clipboard/notebook(src) new /obj/item/device/detective_scanner(src) new /obj/item/policetaperoll(src) new /obj/item/weapon/storage/box/evidence(src) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 0f3e5536624..85c70ce50ab 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -578,18 +578,10 @@ throw_range = 10 flags = ONBELT -/obj/item/weapon/notebook +/obj/item/weapon/clipboard/notebook name = "notebook" desc = "Holds paper and pens. Feels very noire." - icon = 'items.dmi' icon_state = "notebook00" - var/obj/item/weapon/pen/pen = null - item_state = "notebook" - throwforce = 0 - w_class = 2.0 - throw_speed = 3 - throw_range = 10 - flags = ONBELT #define MAXCOIL 30 /obj/item/weapon/cable_coil diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index 66a3b259156..b4ba4f2b18e 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -136,7 +136,7 @@ if(H.gloves != src) if(prob(75) && istype(H.gloves, /obj/item/clothing/gloves/latex)) return 0 - else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex)) + else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex) && !istype(H.gloves, /obj/item/clothing/gloves/fingerless)) return 0 if(fingerprintslast != H.key) fingerprintshidden += text("Real name: [], Key: []",H.real_name, H.key) diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm index 5d41480fda6..7de5fd1ecc1 100644 --- a/code/game/objects/closets/secure/security.dm +++ b/code/game/objects/closets/secure/security.dm @@ -166,7 +166,7 @@ var/obj/item/weapon/storage/box/B = new(BPK) var/obj/item/weapon/clipboard/C = new(B) new /obj/item/weapon/pen(C) - new /obj/item/weapon/notebook(src) + new /obj/item/weapon/clipboard/notebook(src) new /obj/item/device/detective_scanner(src) new /obj/item/policetaperoll(src) new /obj/item/weapon/storage/box/evidence(src) diff --git a/code/game/objects/items/weapons/papers_bins.dm b/code/game/objects/items/weapons/papers_bins.dm index 3ac09bc13c1..2aec7878b7c 100644 --- a/code/game/objects/items/weapons/papers_bins.dm +++ b/code/game/objects/items/weapons/papers_bins.dm @@ -701,7 +701,7 @@ NOTEBOOK user.drop_item() P.loc = src else - user << "\blue Not enough space!!!" + user << "\blue Not enough space!" else if (istype(P, /obj/item/weapon/pen)) if (!src.pen) @@ -714,7 +714,7 @@ NOTEBOOK return /obj/item/weapon/clipboard/proc/update() - src.icon_state = text("clipboard[][]", (locate(/obj/item/weapon/paper, src) ? "1" : "0"), (locate(/obj/item/weapon/pen, src) ? "1" : "0")) + src.icon_state = text("[src.name][][]", (locate(/obj/item/weapon/paper, src) ? "1" : "0"), (locate(/obj/item/weapon/pen, src) ? "1" : "0")) return @@ -764,160 +764,3 @@ NOTEBOOK src.name = text("photo[]", (n_name ? text("- '[]'", n_name) : null)) src.add_fingerprint(user) return - -// notebook - -/obj/item/weapon/notebook/attack_self(mob/user as mob) - var/dat = "Notebook
" - if (src.pen) - dat += text("Remove Pen

", src) - for(var/obj/item/weapon/paper/P in src) - dat += text("[] Write Remove
", src, P, P.name, src, P, src, P) - user << browse(dat, "window=notebook") - onclose(user, "notebook") - return - -/obj/item/weapon/notebook/Topic(href, href_list) - ..() - if ((usr.stat || usr.restrained())) - return - if (usr.contents.Find(src)) - usr.machine = src - if (href_list["pen"]) - if (src.pen) - if ((usr.hand && !( usr.l_hand ))) - usr.l_hand = src.pen - src.pen.loc = usr - src.pen.layer = 20 - src.pen = null - usr.update_clothing() - else - if (!( usr.r_hand )) - usr.r_hand = src.pen - src.pen.loc = usr - src.pen.layer = 20 - src.pen = null - usr.update_clothing() - if (src.pen) - src.pen.add_fingerprint(usr) - src.add_fingerprint(usr) - if (href_list["remove"]) - var/obj/item/P = locate(href_list["remove"]) - if ((P && P.loc == src)) - if ((usr.hand && !( usr.l_hand ))) - usr.l_hand = P - P.loc = usr - P.layer = 20 - usr.update_clothing() - else - if (!( usr.r_hand )) - usr.r_hand = P - P.loc = usr - P.layer = 20 - usr.update_clothing() - P.add_fingerprint(usr) - src.add_fingerprint(usr) - if (href_list["write"]) - var/obj/item/P = locate(href_list["write"]) - if ((P && P.loc == src)) - if (istype(usr.r_hand, /obj/item/weapon/pen)) - P.attackby(usr.r_hand, usr) - else - if (istype(usr.l_hand, /obj/item/weapon/pen)) - P.attackby(usr.l_hand, usr) - else - if (istype(src.pen, /obj/item/weapon/pen)) - P.attackby(src.pen, usr) - src.add_fingerprint(usr) - if (href_list["read"]) - var/obj/item/weapon/paper/P = locate(href_list["read"]) - if ((P && P.loc == src)) - if (!( istype(usr, /mob/living/carbon/human) )) - usr << browse(text("[][]", P.name, stars(P.info)), text("window=[]", P.name)) - onclose(usr, "[P.name]") - else - usr << browse(text("[][]", P.name, P.info), text("window=[]", P.name)) - onclose(usr, "[P.name]") - if (ismob(src.loc)) - var/mob/M = src.loc - if (M.machine == src) - spawn( 0 ) - src.attack_self(M) - return - return - -/obj/item/weapon/notebook/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/notebook/attack_hand(mob/user as mob) - - if ((locate(/obj/item/weapon/paper, src) && (!( user.equipped() ) && (user.l_hand == src || user.r_hand == src)))) - var/obj/item/weapon/paper/P - for(P in src) - break - if (P) - if (user.hand) - user.l_hand = P - else - user.r_hand = P - P.loc = user - P.layer = 20 - P.add_fingerprint(user) - user.update_clothing() - src.add_fingerprint(user) - else - return ..() - return - -/obj/item/weapon/notebook/attackby(obj/item/weapon/P as obj, mob/user as mob) - ..() - if (istype(P, /obj/item/weapon/paper)) - if (src.contents.len < 15) - user.drop_item() - P.loc = src - else - user << "\blue Not enough space!!!" - else - if (istype(P, /obj/item/weapon/pen)) - if (!src.pen) - user.drop_item() - P.loc = src - src.pen = P - else - return - src.update() - return - -/obj/item/weapon/notebook/proc/update() - src.icon_state = text("notebook[][]", (locate(/obj/item/weapon/paper, src) ? "1" : "0"), (locate(/obj/item/weapon/pen, src) ? "1" : "0")) - return - - -/obj/item/weapon/notebook/MouseDrop(obj/over_object as obj) //Quick notebook fix. -Agouri - if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ - var/mob/M = usr - if (!( istype(over_object, /obj/screen) )) - return ..() - if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) - if (over_object.name == "r_hand") - if (!( M.r_hand )) - M.u_equip(src) - M.r_hand = src - else - if (over_object.name == "l_hand") - if (!( M.l_hand )) - M.u_equip(src) - M.l_hand = src - M.update_clothing() - src.add_fingerprint(usr) - return // - -/obj/item/weapon/notebook/New() - - ..() - for(var/i = 1, i <= 3, i++) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src) - P.loc = src - src.pen = new /obj/item/weapon/pen(src) - src.update() - return diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index d742c765e2a..75235523c93 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -972,13 +972,17 @@ if(istype(target, /mob/living/carbon))//maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea. var/amount = src.reagents.maximum_volume - src.reagents.total_volume var/mob/living/carbon/T = target - var/datum/reagent/B = new /datum/reagent/blood if(!T.dna) usr << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)" return if(T.mutations2 & NOCLONE) //target done been et, no more blood in him user << "\red You are unable to locate any blood." return + if(ishuman(T)) + if(T:vessel.get_reagent_amount("blood") < amount) + return + + var/datum/reagent/B = new /datum/reagent/blood B.holder = src B.volume = amount //set reagent data @@ -1016,11 +1020,15 @@ //for(var/D in B.data) // world << "Data [D] = [B.data[D]]" //debug + if(ishuman(T)) + T:vessel.remove_reagent("blood",amount) // Removes blood if human src.reagents.reagent_list += B src.reagents.update_total() src.on_reagent_change() src.reagents.handle_reactions() +// T:vessel.trans_to(src, amount) // Virus2 and antibodies aren't in blood in the first place. + user << "\blue You take a blood sample from [target]" for(var/mob/O in viewers(4, user)) O.show_message("\red [user] takes a blood sample from [target].", 1) diff --git a/code/modules/clothing/gloves.dm b/code/modules/clothing/gloves.dm index 0faf49808be..5ddbd9a3962 100644 --- a/code/modules/clothing/gloves.dm +++ b/code/modules/clothing/gloves.dm @@ -242,4 +242,19 @@ color="brown" cargo - color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way. \ No newline at end of file + color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way. + +//Fingerless gloves + +/obj/item/clothing/gloves/fingerless + name = "fingerless gloves" + desc = "A pair of gloves. They don't seem to have fingers." + icon_state = "fingerless_black" + item_state = "fingerless_black" + +/obj/item/clothing/gloves/fingerless/black + name = "black fingerless gloves" + desc = "A pair of black gloves. They don't seem to have fingers." + icon_state = "fingerless_black" + item_state = "fingerless_black" + color="black" \ No newline at end of file diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 29d0fd98c8a..ae0c24177e6 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index b3a330e691d..30feeb2818f 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index 9e14930b16e..dd390f6cafc 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index df838aaa6b4..854f82bd17c 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 3d52d8054cd..5b8a7ac5430 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 26d6dc44b50..ebad33c1b68 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index efe04808b5e..98f9c04bd4d 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/plants.dmi b/icons/obj/plants.dmi new file mode 100644 index 00000000000..ea82f747fa7 Binary files /dev/null and b/icons/obj/plants.dmi differ