/obj/item/stack/medical
name = "medical pack"
singular_name = "medical pack"
icon = 'icons/obj/stack_objects.dmi'
amount = 6
max_amount = 6
w_class = WEIGHT_CLASS_TINY
full_w_class = WEIGHT_CLASS_TINY
throw_speed = 3
throw_range = 7
resistance_flags = FLAMMABLE
max_integrity = 40
novariants = FALSE
var/heal_brute = 0
var/heal_burn = 0
var/stop_bleeding = 0
var/self_delay = 50
/obj/item/stack/medical/attack(mob/living/M, mob/user)
if(M.stat == DEAD)
var/t_him = "it"
if(M.gender == MALE)
t_him = "him"
else if(M.gender == FEMALE)
t_him = "her"
to_chat(user, "\The [M] is dead, you cannot help [t_him]!")
return
if(!iscarbon(M) && !isanimal(M))
to_chat(user, "You don't know how to apply \the [src] to [M]!")
return 1
var/obj/item/bodypart/affecting
if(iscarbon(M))
var/mob/living/carbon/C = M
affecting = C.get_bodypart(check_zone(user.zone_selected))
if(!affecting) //Missing limb?
to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!")
return
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(stop_bleeding)
if(H.bleedsuppress)
to_chat(user, "[H]'s bleeding is already bandaged!")
return
else if(!H.bleed_rate)
to_chat(user, "[H] isn't bleeding!")
return
if(isliving(M))
if(!M.can_inject(user, 1))
return
if(user)
if (M != user)
if (isanimal(M))
var/mob/living/simple_animal/critter = M
if (!(critter.healable))
to_chat(user, " You cannot use [src] on [M]!")
return
else if (critter.health == critter.maxHealth)
to_chat(user, " [M] is at full health.")
return
else if(src.heal_brute < 1)
to_chat(user, " [src] won't help [M] at all.")
return
user.visible_message("[user] applies [src] on [M].", "You apply [src] on [M].")
else
var/t_himself = "itself"
if(user.gender == MALE)
t_himself = "himself"
else if(user.gender == FEMALE)
t_himself = "herself"
user.visible_message("[user] starts to apply [src] on [t_himself]...", "You begin applying [src] on yourself...")
if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject,user,1)))
return
user.visible_message("[user] applies [src] on [t_himself].", "You apply [src] on yourself.")
if(iscarbon(M))
var/mob/living/carbon/C = M
affecting = C.get_bodypart(check_zone(user.zone_selected))
if(!affecting) //Missing limb?
to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!")
return
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(stop_bleeding)
if(!H.bleedsuppress) //so you can't stack bleed suppression
H.suppress_bloodloss(stop_bleeding)
if(affecting.status == BODYPART_ORGANIC) //Limb must be organic to be healed - RR
if(affecting.heal_damage(heal_brute, heal_burn))
C.update_damage_overlays()
else
to_chat(user, "Medicine won't work on a robotic limb!")
else
M.heal_bodypart_damage((src.heal_brute/2), (src.heal_burn/2))
use(1)
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
singular_name = "bruise pack"
desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma."
icon_state = "brutepack"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_brute = 40
self_delay = 20
grind_results = list("styptic_powder" = 10)
/obj/item/stack/medical/bruise_pack/suicide_act(mob/user)
user.visible_message("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
return (BRUTELOSS)
/obj/item/stack/medical/gauze
name = "medical gauze"
desc = "A roll of elastic cloth that is extremely effective at stopping bleeding, but does not heal wounds."
gender = PLURAL
singular_name = "medical gauze"
icon_state = "gauze"
stop_bleeding = 1800
self_delay = 20
max_amount = 12
/obj/item/stack/medical/gauze/suicide_act(mob/living/user)
user.visible_message("[user] begins tightening \the [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!")
return OXYLOSS
/obj/item/stack/medical/gauze/improvised
name = "improvised gauze"
singular_name = "improvised gauze"
desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds."
stop_bleeding = 900
/obj/item/stack/medical/gauze/cyborg
materials = list()
is_cyborg = 1
cost = 250
/obj/item/stack/medical/ointment
name = "ointment"
desc = "Used to treat those nasty burn wounds."
gender = PLURAL
singular_name = "ointment"
icon_state = "ointment"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_burn = 40
self_delay = 20
grind_results = list("silver_sulfadiazine" = 10)
/obj/item/stack/medical/ointment/suicide_act(mob/living/user)
user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! Don't they know that stuff is toxic?")
return TOXLOSS