/obj/item/implanter//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE name = "implanter" desc = "A sterile automatic implant injector." icon = 'icons/obj/items_and_weapons.dmi' icon_state = "implanter0" inhand_icon_state = "syringe_0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=600, /datum/material/glass=200) var/obj/item/implant/imp = null var/imp_type = null /obj/item/implanter/update_icon_state() icon_state = "implanter[imp ? 1 : 0]" return ..() /obj/item/implanter/attack(mob/living/M, mob/user) if(!istype(M)) return if(user && imp) if(M != user) M.visible_message("[user] is attempting to implant [M].") var/turf/T = get_turf(M) if(T && (M == user || do_mob(user, M, 50))) if(src && imp) if(imp.implant(M, user)) if (M == user) to_chat(user, "You implant yourself.") else M.visible_message("[user] implants [M].", "[user] implants you.") imp = null update_appearance() else to_chat(user, "[src] fails to implant [M].") /obj/item/implanter/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) if(!user.is_literate()) to_chat(user, "You prod at [src] with [W]!") return var/t = stripped_input(user, "What would you like the label to be?", name, null) if(user.get_active_held_item() != W) return if(!user.canUseTopic(src, BE_CLOSE)) return if(t) name = "implanter ([t])" else name = "implanter" else return ..() /obj/item/implanter/Initialize(mapload) . = ..() if(imp_type) imp = new imp_type(src) update_appearance()