Files
Aurora.3/code/modules/detectivework/microscope/slides.dm
Fluffy 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00

44 lines
1.4 KiB
Plaintext

/obj/item/forensics/slide
name = "microscope slide"
desc = "A pair of thin glass panes used in the examination of samples beneath a microscope."
desc_info = "Used with fibers and GSR swab tests to examine the samples in the microscope. To empty them, use in hand."
icon_state = "slide"
var/obj/item/forensics/swab/has_swab
var/obj/item/sample/fibers/has_sample
/obj/item/forensics/slide/attackby(obj/item/attacking_item, mob/user)
if(has_swab || has_sample)
to_chat(user, SPAN_WARNING("There is already a sample in the slide."))
return
if(istype (attacking_item, /obj/item/forensics/swab))
has_swab = attacking_item
else if(istype(attacking_item, /obj/item/sample/fibers))
has_sample = attacking_item
else
to_chat(user, SPAN_WARNING("You don't think this will fit."))
return
to_chat(user, SPAN_NOTICE("You insert the sample into the slide."))
user.unEquip(attacking_item)
attacking_item.forceMove(src)
update_icon()
/obj/item/forensics/slide/attack_self(var/mob/user)
if(has_swab || has_sample)
to_chat(user, SPAN_NOTICE("You remove \the sample from \the [src]."))
if(has_swab)
user.put_in_hands(has_swab)
has_swab = null
if(has_sample)
user.put_in_hands(has_sample)
has_sample = null
update_icon()
return
/obj/item/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"