/obj/item/stack/medical name = "medical pack" singular_name = "medical pack" icon = 'icons/obj/items.dmi' amount = 5 max_amount = 5 w_class = 1 throw_speed = 3 throw_range = 7 var/heal_brute = 0 var/heal_burn = 0 /obj/item/stack/medical/attack(mob/living/carbon/M, mob/user) if(!istype(M)) to_chat(user, "[src] cannot be applied to [M]!") return 1 if(!user.IsAdvancedToolUser()) to_chat(user, "You don't have the dexterity to do this!") return 1 if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(isliving(M)) if(!M.can_inject(user, 1)) return 1 if(!affecting) to_chat(user, "That limb is missing!") return 1 if(affecting.status & ORGAN_ROBOT) to_chat(user, "This can't be used on a robotic limb.") return 1 H.UpdateDamageIcon() else M.heal_organ_damage(heal_brute/2, heal_burn/2) user.visible_message("[M] has been applied with [src] by [user].", \ "You apply [src] to [M].") use(1) M.updatehealth() //Bruise Packs// /obj/item/stack/medical/bruise_pack name = "roll of gauze" singular_name = "gauze length" desc = "Some sterile gauze to wrap around bloody stumps." icon_state = "gauze" origin_tech = "biotech=1" /obj/item/stack/medical/bruise_pack/attack(mob/living/carbon/M, mob/user) if(..()) return 1 if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open == 0) var/bandaged = affecting.bandage() var/disinfected = affecting.disinfect() if(!(bandaged || disinfected)) to_chat(user, "The wounds on [M]'s [affecting.name] have already been bandaged.") return 1 else for(var/datum/wound/W in affecting.wounds) if(W.internal) continue if(W.current_stage <= W.max_bleeding_stage) user.visible_message("[user] bandages \the [W.desc] on [M]'s [affecting.name].", \ "You bandage \the [W.desc] on [M]'s [affecting.name]." ) else if(istype(W,/datum/wound/bruise)) user.visible_message("[user] places a bruise patch over \the [W.desc] on [M]'s [affecting.name].", \ "You place a bruise patch over \the [W.desc] on [M]'s [affecting.name]." ) else user.visible_message("[user] places a bandaid over \the [W.desc] on [M]'s [affecting.name].", \ "You place a bandaid over \the [W.desc] on [M]'s [affecting.name]." ) if(bandaged) affecting.heal_damage(heal_brute, heal_burn) use(1) else to_chat(user, "[affecting] is cut open, you'll need more than a bandage!") /obj/item/stack/medical/bruise_pack/advanced name = "advanced trauma kit" singular_name = "advanced trauma kit" desc = "An advanced trauma kit for severe injuries." icon_state = "traumakit" heal_brute = 12 //Ointment// /obj/item/stack/medical/ointment name = "ointment" desc = "Used to treat those nasty burns." gender = PLURAL singular_name = "ointment" icon_state = "ointment" origin_tech = "biotech=1" /obj/item/stack/medical/ointment/attack(mob/living/carbon/M, mob/user) if(..()) return 1 if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) if(affecting.open == 0) if(!affecting.salve()) to_chat(user, "The wounds on [M]'s [affecting.name] have already been salved.") return 1 else user.visible_message("[user] salves the wounds on [M]'s [affecting.name].", \ "You salve the wounds on [M]'s [affecting.name]." ) affecting.heal_damage(heal_brute, heal_burn) use(1) else to_chat(user, "[affecting] is cut open, you'll need more than some ointment!") /obj/item/stack/medical/ointment/advanced name = "advanced burn kit" singular_name = "advanced burn kit" desc = "An advanced treatment kit for severe burns." icon_state = "burnkit" heal_burn = 12 //Medical Herbs// /obj/item/stack/medical/bruise_pack/comfrey name = "\improper Comfrey leaf" singular_name = "Comfrey leaf" desc = "A soft leaf that is rubbed on bruises." icon = 'icons/obj/hydroponics_products.dmi' icon_state = "alien3-product" color = "#378C61" heal_brute = 7 /obj/item/stack/medical/ointment/aloe name = "\improper Aloe Vera leaf" singular_name = "Aloe Vera leaf" desc = "A cold leaf that is rubbed on burns." icon = 'icons/obj/hydroponics_products.dmi' icon_state = "ambrosia-product" color = "#4CC5C7" heal_burn = 7 //Splits// /obj/item/stack/medical/splint name = "medical splints" singular_name = "medical splint" icon_state = "splint" amount = 5 max_amount = 5 /obj/item/stack/medical/splint/attack(mob/living/carbon/M, mob/user) if(..()) return 1 if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting) var/limb = affecting.name if(!(affecting.limb_name in list("l_arm", "r_arm", "l_hand", "r_hand", "l_leg", "r_leg", "l_foot", "r_foot"))) to_chat(user, "You can't apply a splint there!") return if(affecting.status & ORGAN_SPLINTED) to_chat(user, "[M]'s [limb] is already splinted!") if(alert(user, "Would you like to remove the splint from [M]'s [limb]?", "Removing.", "Yes", "No") == "Yes") affecting.status &= ~ORGAN_SPLINTED to_chat(user, "You remove the splint from [M]'s [limb].") return if(M != user) user.visible_message("[user] starts to apply [src] to [M]'s [limb].", \ "You start to apply [src] to [M]'s [limb].", \ "You hear something being wrapped.") else if((!user.hand && affecting.limb_name in list("r_arm", "r_hand")) || (user.hand && affecting.limb_name in list("l_arm", "l_hand"))) to_chat(user, "You can't apply a splint to the arm you're using!") return user.visible_message("[user] starts to apply [src] to their [limb].", \ "You start to apply [src] to your [limb].", \ "You hear something being wrapped.") if(do_after(user, 50, target = M)) if(M != user) user.visible_message("[user] finishes applying [src] to [M]'s [limb].", \ "You finish applying [src] to [M]'s [limb].", \ "You hear something being wrapped.") else if(prob(25)) user.visible_message("[user] successfully applies [src] to their [limb].", \ "You successfully apply [src] to your [limb].", \ "You hear something being wrapped.") else user.visible_message("[user] fumbles [src].", "You fumble [src].", "You hear something being wrapped.") return affecting.status |= ORGAN_SPLINTED use(1)