diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index fd3c45f1308..6ce527e22a1 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -103,7 +103,7 @@ update_icon() if(bloodsamp) var/obj/item/paper/P = new() - var/pname = "[src] report #[++report_num]: [bloodsamp.name]" + var/pname = "[src] report #[++report_num]" var/info P.stamped = list(/obj/item/stamp) P.overlays = list("paper_stamped") diff --git a/code/modules/detectivework/microscope/microscope.dm b/code/modules/detectivework/microscope/microscope.dm index 0fc10dcc9ae..1ce56ba1414 100644 --- a/code/modules/detectivework/microscope/microscope.dm +++ b/code/modules/detectivework/microscope/microscope.dm @@ -48,7 +48,7 @@ if(slide.has_swab) var/obj/item/forensics/swab/swab = slide.has_swab - pname = "GSR report #[++report_num]: [swab.name]" + pname = "GSR report #[report_num]" info = "Scanned item:
[swab.name]

" if(swab.gsr) @@ -58,10 +58,10 @@ else if(slide.has_sample) var/obj/item/sample/fibers/fibers = slide.has_sample - pname = "Fiber report #[++report_num]: [initial(fibers.name)]" + pname = "Fiber report #[report_num]" info = "Scanned item:
[initial(fibers.name)]

" if(fibers.evidence) - info = "Molecular analysis on provided sample has determined the presence of unique fiber strings.

" + info = "Molecular analysis on [fibers.name] has determined the presence of unique fiber strings.

" for(var/fiber in fibers.evidence) info += "Most likely match for fibers: [fiber]

" else @@ -70,7 +70,7 @@ pname = "Empty slide report #[report_num]" info = "Evidence suggests that there's nothing in this slide." else if(istype(sample, /obj/item/sample/print)) - pname = "Fingerprint report #[report_num]: [sample.name]" + pname = "Fingerprint report #[report_num]" info = "Fingerprint analysis report #[report_num]: [sample.name]
" var/obj/item/sample/print/card = sample if(card.evidence && card.evidence.len) diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm index e0cf153cec2..f255edb070e 100644 --- a/code/modules/detectivework/tools/evidencebag.dm +++ b/code/modules/detectivework/tools/evidencebag.dm @@ -8,6 +8,12 @@ item_state = "" w_class = ITEMSIZE_SMALL var/obj/item/stored_item = null + var/label_text = "" + var/base_name = "" + +/obj/item/evidencebag/Initialize() + . = ..() + base_name = name /obj/item/evidencebag/MouseDrop(var/obj/item/I as obj) if (!ishuman(usr)) @@ -92,3 +98,21 @@ /obj/item/evidencebag/examine(mob/user) ..(user) if (stored_item) user.examinate(stored_item) + +/obj/item/evidencebag/attackby(obj/item/W as obj, mob/user as mob) + if(W.ispen() || istype(W, /obj/item/device/flashlight/pen)) + var/tmp_label = sanitizeSafe(input(user, "Enter a label for [name]", "Label", label_text), MAX_NAME_LEN) + if(length(tmp_label) > 15) + to_chat(user, "The label can be at most 15 characters long.") + else + to_chat(user, "You set the label to \"[tmp_label]\".") + label_text = tmp_label + update_name_label() + return + . = ..() + +/obj/item/evidencebag/proc/update_name_label() + if(label_text == "") + name = base_name + else + name = "[base_name] ([label_text])" diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm index e644b27b012..c936c1424f2 100644 --- a/code/modules/paperwork/handlabeler.dm +++ b/code/modules/paperwork/handlabeler.dm @@ -31,6 +31,7 @@ icon = 'icons/obj/bureaucracy.dmi' icon_state = "labeler0" item_state = "labeler0" + w_class = ITEMSIZE_SMALL var/label = null var/labels_left = 30 var/mode = 0 //off or on. diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 881a3909de9..6f2ebc200d0 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -43,10 +43,13 @@ /obj/item/reagent_containers/glass/get_additional_forensics_swab_info() var/list/additional_evidence = ..() var/list/Bdata = REAGENT_DATA(reagents, /decl/reagent/blood/) + var/list/blood_Data = list( + Bdata["blood_DNA"] = Bdata["blood_type"] + ) if(Bdata) additional_evidence["type"] = EVIDENCE_TYPE_BLOOD additional_evidence["sample_type"] = "blood" - additional_evidence["dna"] += Bdata["blood_DNA"] + additional_evidence["dna"] += blood_Data additional_evidence["sample_message"] = "You dip the swab inside [src] to sample its contents." return additional_evidence diff --git a/html/changelogs/SecLabels.yml b/html/changelogs/SecLabels.yml new file mode 100644 index 00000000000..c1891e5ea9a --- /dev/null +++ b/html/changelogs/SecLabels.yml @@ -0,0 +1,46 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: TheGreyWolf + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Evidence bags can now be labelled by using a pen on them." + - bugfix: "Swabbing a vial with blood will now properly give the dna type." + - tweak: "The various evidence reports generated from the forensic equipment are now uniform in their naming." + - tweak: "Labelers are now small sized items rather than normal sized." + - maptweak: "Added a labeler to evidence storage and moved the labeler & package wrapper from the investigator desk to the rack in their office." + - maptweak: "A water cooler has been added to the security lobby along with a sink and a rag in their break room to clean up those donut crumbs everywhere." diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 1e95eeb1511..f2973d59d0b 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -20454,15 +20454,10 @@ /turf/simulated/floor/tiled, /area/security/lobby) "aJz" = ( -/obj/structure/table/standard, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/pen, /obj/structure/noticeboard{ pixel_y = 32 }, +/obj/structure/reagent_dispensers/water_cooler, /turf/simulated/floor/tiled, /area/security/lobby) "aJA" = ( @@ -21504,6 +21499,13 @@ /obj/machinery/newscaster{ pixel_x = -27 }, +/obj/structure/table/standard, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/pen, +/obj/item/storage/box/cups, /turf/simulated/floor/tiled, /area/security/lobby) "aLx" = ( @@ -59107,8 +59109,6 @@ /obj/effect/floor_decal/corner/blue{ dir = 9 }, -/obj/item/stack/packageWrap, -/obj/item/device/hand_labeler, /turf/simulated/floor/tiled/dark, /area/security/forensics_office{ name = "Security - Investigations Office" @@ -61467,6 +61467,8 @@ d2 = 4; icon_state = "0-4" }, +/obj/item/stack/packageWrap, +/obj/item/device/hand_labeler, /turf/simulated/floor/lino/grey, /area/security/forensics_office{ name = "Security - Investigations Office" @@ -71096,6 +71098,7 @@ /obj/structure/table/standard, /obj/item/folder/sec, /obj/machinery/atmospherics/unary/vent_pump/on, +/obj/item/device/hand_labeler, /turf/simulated/floor/tiled{ name = "cooled floor"; temperature = 278 diff --git a/maps/aurora/aurora-5_interstitial.dmm b/maps/aurora/aurora-5_interstitial.dmm index 1a56b4d4b4b..1c91c44b0b2 100644 --- a/maps/aurora/aurora-5_interstitial.dmm +++ b/maps/aurora/aurora-5_interstitial.dmm @@ -2106,6 +2106,7 @@ "eH" = ( /obj/structure/table/standard, /obj/effect/floor_decal/corner/grey/diagonal, +/obj/item/reagent_containers/glass/rag, /obj/item/storage/box/snack{ desc = "A box full of snack foods. A label is attached that reads, 'Sorry about the microwaves.'"; name = "corporate care package" @@ -10659,6 +10660,11 @@ "Sw" = ( /obj/effect/floor_decal/corner/grey/diagonal, /obj/structure/disposalpipe/segment, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, /turf/simulated/floor/tiled/white, /area/security/break_room) "Sx" = (