/obj/item/augment_implanter name = "augment implanter" desc = "A complex single use injector that is used to implant augments without the need for surgery." w_class = WEIGHT_CLASS_NORMAL origin_tech = list(TECH_BIO = 5, TECH_MATERIAL = 2) icon = 'icons/obj/guns/decloner.dmi' icon_state = "decloner" item_state = "decloner" var/obj/item/organ/augment_type var/new_augment /obj/item/augment_implanter/feedback_hints(mob/user, distance, is_adjacent) . += ..() if(augment_type) . += SPAN_NOTICE("\The [augment_type] can be seen floating inside \the [src]'s biogel.") else . += SPAN_WARNING("It is spent.") /obj/item/augment_implanter/Initialize() . = ..() if(!augment_type) augment_type = new new_augment(src) /obj/item/augment_implanter/afterattack(mob/living/L, mob/user, proximity) if(!proximity) return if(!augment_type) to_chat(user, SPAN_WARNING("\The [src] is empty!")) return if(!ishuman(L)) to_chat(user, SPAN_WARNING("\The [src] has no effect on \the [L].")) return var/mob/living/carbon/human/H = L if(!(H.species.name in augment_type.species_restricted)) to_chat(user, SPAN_WARNING("\The [augment_type] is not compatible with \the [H]'s body.")) return if(H.internal_organs_by_name[augment_type.organ_tag]) to_chat(user, SPAN_WARNING("\The [H] already has a [augment_type].")) return if(!do_mob(user, H, 4 SECONDS)) return var/obj/item/organ/external/affected = H.get_organ(augment_type.parent_organ) augment_type.replaced(H, affected) H.update_body() H.updatehealth() H.UpdateDamageIcon() augment_type = null user.visible_message(SPAN_WARNING("\The [user] thrusts \the [src] deep into \the [H], injecting something!")) /obj/item/augment_implanter/advanced_tesla new_augment = /obj/item/organ/internal/augment/tesla/advanced /obj/item/augment_implanter/advanced_suspension new_augment = /obj/item/organ/internal/augment/suspension/advanced /obj/item/augment_implanter/combitool new_augment = /obj/item/organ/internal/augment/tool/combitool /obj/item/augment_implanter/health_scanner new_augment = /obj/item/organ/internal/augment/health_scanner /obj/item/augment_implanter/hivenet_shield new_augment = /obj/item/organ/internal/augment/hiveshield /obj/item/augment_implanter/hivenet_advanced_shield new_augment = /obj/item/organ/internal/augment/hiveshield/advanced /obj/item/augment_implanter/hivenet_warfare new_augment = /obj/item/organ/internal/augment/hiveshield/warfare /obj/item/augment_implanter/auxiliary_heart new_augment = /obj/item/organ/internal/augment/bioaug/auxiliary_heart /obj/item/augment_implanter/gravity_adaptations new_augment = /obj/item/organ/internal/augment/bioaug/gravity_adaptations /obj/item/augment_implanter/mind_blanker new_augment = /obj/item/organ/internal/augment/bioaug/mind_blanker /obj/item/augment_implanter/mind_blanker_lethal new_augment = /obj/item/organ/internal/augment/bioaug/mind_blanker_lethal /obj/item/augment_implanter/platelet_factories new_augment = /obj/item/organ/internal/augment/bioaug/platelet_factories /obj/item/augment_implanter/subdermal_carapace new_augment = /obj/item/organ/internal/augment/bioaug/subdermal_carapace