Removes the need for slides in forensics

This commit is contained in:
Mark9013100
2016-03-11 03:16:41 -05:00
parent 9b9a23860e
commit 905bda9b2d
8 changed files with 23 additions and 83 deletions

View File

@@ -50,7 +50,6 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/weapon/storage/box/swabs, /obj/item/weapon/storage/box/swabs,
/obj/item/weapon/storage/box/swabs, /obj/item/weapon/storage/box/swabs,
/obj/item/weapon/storage/box/swabs, /obj/item/weapon/storage/box/swabs,
/obj/item/weapon/storage/box/slides,
/obj/item/device/uv_light, /obj/item/device/uv_light,
/obj/item/weapon/reagent_containers/spray/luminol) /obj/item/weapon/reagent_containers/spray/luminol)
cost = 30 cost = 30
@@ -775,7 +774,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
cost = 125 cost = 125
containertype = /obj/structure/closet/crate/secure/weapon containertype = /obj/structure/closet/crate/secure/weapon
containername = "Experimental weapons crate" containername = "Experimental weapons crate"
access = access_heads access = access_armory
group = "Security" group = "Security"
/datum/supply_packs/randomised/armor /datum/supply_packs/randomised/armor

View File

@@ -136,7 +136,6 @@
/obj/item/weapon/melee/baton, /obj/item/weapon/melee/baton,
/obj/item/weapon/gun/energy/taser, /obj/item/weapon/gun/energy/taser,
/obj/item/weapon/flame/lighter, /obj/item/weapon/flame/lighter,
/obj/item/clothing/glasses/hud/security,
/obj/item/device/flashlight, /obj/item/device/flashlight,
/obj/item/device/pda, /obj/item/device/pda,
/obj/item/device/radio/headset, /obj/item/device/radio/headset,
@@ -166,7 +165,6 @@
/obj/item/weapon/forensics/sample_kit/powder, /obj/item/weapon/forensics/sample_kit/powder,
/obj/item/weapon/forensics/swab, /obj/item/weapon/forensics/swab,
/obj/item/device/uv_light, /obj/item/device/uv_light,
/obj/item/weapon/forensics/slide,
/obj/item/weapon/forensics/sample_kit, /obj/item/weapon/forensics/sample_kit,
/obj/item/weapon/photo, /obj/item/weapon/photo,
/obj/item/device/camera_film, /obj/item/device/camera_film,

View File

@@ -16,7 +16,7 @@
user << "<span class='warning'>There is already a slide in the microscope.</span>" user << "<span class='warning'>There is already a slide in the microscope.</span>"
return return
if(istype(W, /obj/item/weapon/forensics/slide) || istype(W, /obj/item/weapon/sample/print)) if(istype(W, /obj/item/weapon/forensics/swab)|| istype(W, /obj/item/weapon/sample/fibers) || istype(W, /obj/item/weapon/sample/print))
user << "<span class='notice'>You insert \the [W] into the microscope.</span>" user << "<span class='notice'>You insert \the [W] into the microscope.</span>"
user.unEquip(W) user.unEquip(W)
W.forceMove(src) W.forceMove(src)
@@ -33,6 +33,7 @@
user << "<span class='notice'>The microscope whirrs as you examine \the [sample].</span>" user << "<span class='notice'>The microscope whirrs as you examine \the [sample].</span>"
if(!do_after(user, 25) || !sample) if(!do_after(user, 25) || !sample)
user << "<span class='notice'>You stop examining \the [sample].</span>"
return return
user << "<span class='notice'>Printing findings now...</span>" user << "<span class='notice'>Printing findings now...</span>"
@@ -41,32 +42,27 @@
report.overlays = list("paper_stamped") report.overlays = list("paper_stamped")
report_num++ report_num++
if(istype(sample, /obj/item/weapon/forensics/slide)) if(istype(sample, /obj/item/weapon/forensics/swab))
var/obj/item/weapon/forensics/slide/slide = sample var/obj/item/weapon/forensics/swab/swab = sample
if(slide.has_swab)
var/obj/item/weapon/forensics/swab/swab = slide.has_swab
report.name = "GSR report #[++report_num]: [swab.name]" report.name = "GSR report #[++report_num]: [swab.name]"
report.info = "<b>Scanned item:</b><br>[swab.name]<br><br>" report.info = "<b>Scanned item:</b><br>[swab.name]<br><br>"
if(swab.gsr) if(swab.gsr)
report.info += "Residue from a [swab.gsr] bullet detected." report.info += "Residue from a [swab.gsr] bullet detected."
else
report.info += "No gunpowder residue found."
else if(slide.has_sample)
var/obj/item/weapon/sample/fibers/fibers = slide.has_sample
report.name = "Fiber report #[++report_num]: [fibers.name]"
report.info = "<b>Scanned item:</b><br>[fibers.name]<br><br>"
if(fibers.evidence)
report.info = "Molecular analysis on provided sample has determined the presence of unique fiber strings.<br><br>"
for(var/fiber in fibers.evidence)
report.info += "<span class='notice'>Most likely match for fibers: [fiber]</span><br><br>"
else
report.info += "No fibers found."
else else
report.name = "Empty slide report #[report_num]" report.info += "No gunpowder residue found."
report.info = "Evidence suggests that there's nothing in this slide."
else if(istype(sample, /obj/item/weapon/sample/fibers))
var/obj/item/weapon/sample/fibers/fibers = sample
report.name = "Fiber report #[++report_num]: [fibers.name]"
report.info = "<b>Scanned item:</b><br>[fibers.name]<br><br>"
if(fibers.evidence)
report.info = "Molecular analysis on provided sample has determined the presence of unique fiber strings.<br><br>"
for(var/fiber in fibers.evidence)
report.info += "<span class='notice'>Most likely match for fibers: [fiber]</span><br><br>"
else
report.info += "No fibers found."
else if(istype(sample, /obj/item/weapon/sample/print)) else if(istype(sample, /obj/item/weapon/sample/print))
report.name = "Fingerprint report #[report_num]: [sample.name]" report.name = "Fingerprint report #[report_num]: [sample.name]"
report.info = "<b>Fingerprint analysis report #[report_num]</b>: [sample.name]<br>" report.info = "<b>Fingerprint analysis report #[report_num]</b>: [sample.name]<br>"

View File

@@ -1,42 +0,0 @@
/obj/item/weapon/forensics/slide
name = "microscope slide"
desc = "A pair of thin glass panes used in the examination of samples beneath a microscope."
icon_state = "slide"
var/obj/item/weapon/forensics/swab/has_swab
var/obj/item/weapon/sample/fibers/has_sample
/obj/item/weapon/forensics/slide/attackby(var/obj/item/weapon/W, var/mob/user)
if(has_swab || has_sample)
user << "<span class='warning'>There is already a sample in the slide.</span>"
return
if(istype (W, /obj/item/weapon/forensics/swab))
has_swab = W
else if(istype(W, /obj/item/weapon/sample/fibers))
has_sample = W
else
user << "<span class='warning'>You don't think this will fit.</span>"
return
user << "<span class='notice'>You insert the sample into the slide.</span>"
user.unEquip(W)
W.forceMove(src)
update_icon()
/obj/item/weapon/forensics/slide/attack_self(var/mob/user)
if(has_swab || has_sample)
user << "<span class='notice'>You remove \the sample from \the [src].</span>"
if(has_swab)
has_swab.loc = get_turf(src)
has_swab = null
if(has_sample)
has_sample.forceMove(get_turf(src))
has_sample = null
update_icon()
return
/obj/item/weapon/forensics/slide/update_icon()
if(!has_swab && !has_sample)
icon_state = "slide"
else if(has_swab)
icon_state = "slideswab"
else if(has_sample)
icon_state = "slidefiber"

View File

@@ -11,16 +11,6 @@
for(var/i=0;i<storage_slots,i++) // Fill 'er up. for(var/i=0;i<storage_slots,i++) // Fill 'er up.
new /obj/item/weapon/forensics/swab(src) new /obj/item/weapon/forensics/swab(src)
/obj/item/weapon/storage/box/slides
name = "microscope slide box"
icon_state = "solution_trays"
storage_slots = 7
/obj/item/weapon/storage/box/slides/New()
..()
for(var/i=0;i<storage_slots,i++)
new /obj/item/weapon/forensics/slide(src)
/obj/item/weapon/storage/box/evidence /obj/item/weapon/storage/box/evidence
name = "evidence bag box" name = "evidence bag box"
desc = "A box claiming to contain evidence bags." desc = "A box claiming to contain evidence bags."

View File

@@ -68,7 +68,7 @@
/obj/item/weapon/forensics/swab/afterattack(var/atom/A, var/mob/user, var/proximity) /obj/item/weapon/forensics/swab/afterattack(var/atom/A, var/mob/user, var/proximity)
if(!proximity || istype(A, /obj/item/weapon/forensics/slide) || istype(A, /obj/machinery/dnaforensics)) if(!proximity || istype(A, /obj/machinery/dnaforensics))
return return
if(is_used()) if(is_used())

View File

@@ -874,7 +874,7 @@
"aqP" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) "aqP" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office)
"aqQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office) "aqQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/security/detectives_office)
"aqR" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/security/detectives_office) "aqR" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/lino,/area/security/detectives_office)
"aqS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/storage/box/slides,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "aqS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office)
"aqT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "aqT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office)
"aqU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "aqU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office)
"aqV" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "aqV" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office)

View File

@@ -1080,7 +1080,6 @@
#include "code\modules\detectivework\forensics.dm" #include "code\modules\detectivework\forensics.dm"
#include "code\modules\detectivework\microscope\dnascanner.dm" #include "code\modules\detectivework\microscope\dnascanner.dm"
#include "code\modules\detectivework\microscope\microscope.dm" #include "code\modules\detectivework\microscope\microscope.dm"
#include "code\modules\detectivework\microscope\slides.dm"
#include "code\modules\detectivework\tools\crimekit.dm" #include "code\modules\detectivework\tools\crimekit.dm"
#include "code\modules\detectivework\tools\evidencebag.dm" #include "code\modules\detectivework\tools\evidencebag.dm"
#include "code\modules\detectivework\tools\luminol.dm" #include "code\modules\detectivework\tools\luminol.dm"