/obj/machinery/disease2/isolator/ name = "Pathogenic Isolator" density = 1 anchored = 1 icon = 'virology.dmi' icon_state = "isolator" var/datum/disease2/disease/virus2 = null var/isolating = 0 var/beaker = null /obj/machinery/disease2/isolator/attackby(var/W as obj, var/mob/user) if(!istype(W,/obj/item/weapon/reagent_containers/syringe)) return var/obj/item/weapon/reagent_containers/syringe/B = W if(src.beaker) user << "A syringe is already loaded into the machine." return src.beaker = B user.drop_item() B.loc = src if(istype(B,/obj/item/weapon/reagent_containers/syringe)) user << "You add the syringe to the machine!" src.updateUsrDialog() icon_state = "isolator_in" /obj/machinery/disease2/isolator/Topic(href, href_list) if(..()) return usr.machine = src if(!beaker) return var/datum/reagents/R = beaker:reagents if (href_list["isolate"]) var/datum/reagent/blood/Blood for(var/datum/reagent/blood/B in R.reagent_list) if(B) Blood = B break if(Blood.data["virus2"]) virus2 = Blood.data["virus2"] isolating = 40 icon_state = "isolator_processing" src.updateUsrDialog() return else if (href_list["main"]) attack_hand(usr) return else if (href_list["eject"]) beaker:loc = src.loc beaker = null icon_state = "isolator" src.updateUsrDialog() return /obj/machinery/disease2/isolator/attack_hand(mob/user as mob) if(stat & BROKEN) return user.machine = src var/dat = "" if(!beaker) dat = "Please insert sample into the isolator.
" dat += "Close" else if(isolating) dat = "Isolating" else var/datum/reagents/R = beaker:reagents dat += "Eject

" if(!R.total_volume) dat += "[beaker] is empty." else dat += "Contained reagents:
" for(var/datum/reagent/blood/G in R.reagent_list) if(G.data["virus2"]) dat += " [G.name]: Isolate" else dat += " No pathogen" user << browse("Pathogenic IsolatorIsolator menu:

[dat]", "window=isolator;size=575x400") onclose(user, "isolator") return /obj/machinery/disease2/isolator/process() if(isolating > 0) isolating -= 1 if(isolating == 0) var/obj/item/weapon/virusdish/d = new /obj/item/weapon/virusdish(src.loc) d.virus2 = virus2.getcopy() virus2 = null icon_state = "isolator_in"