VS: Dogborg clotter

This commit is contained in:
Aronai Sieyes
2020-05-27 16:44:37 -04:00
parent d58087c18c
commit ea8c29acc8
3 changed files with 65 additions and 1 deletions

View File

@@ -18,4 +18,59 @@
if(9)
icon_state = "[initial(icon_state)]_9"
else
icon_state = "[initial(icon_state)]_10"
icon_state = "[initial(icon_state)]_10"
/obj/item/stack/medical/advanced/clotting
name = "liquid bandage kit"
singular_name = "liquid bandage kit"
desc = "A spray that stops bleeding using a patented chemical cocktail. Non-refillable. Only one use required per patient."
icon_state = "clotkit"
heal_burn = 0
heal_brute = 2 // Only applies to non-humans, to give this some slight application on animals
origin_tech = list(TECH_BIO = 3)
apply_sounds = list('sound/effects/spray.ogg', 'sound/effects/spray2.ogg', 'sound/effects/spray3.ogg')
amount = 5
max_amount = 5
/obj/item/stack/medical/advanced/clotting/attack(mob/living/carbon/human/H, var/mob/user)
if(..())
return 1
if(!istype(H))
return
var/clotted = 0
var/too_far_gone = 0
for(var/org in H.organs) //'organs' is just external organs, as opposed to 'internal_organs'
var/obj/item/organ/external/affecting = org
// No amount of clotting is going to help you here.
if(affecting.open)
too_far_gone++
continue
for(var/wnd in affecting.wounds)
var/datum/wound/W = wnd
// No need
if(W.bandaged)
continue
// It's not that amazing
if(W.internal)
continue
if(W.current_stage <= W.max_bleeding_stage)
clotted++
W.bandage()
var/healmessage = "<span class='notice'>You spray [src] onto [H], sealing [clotted ? clotted : "no"] wounds.</span>"
if(too_far_gone)
healmessage += " <span class='warning'>You can see some wounds that are too large where the spray is not taking effect.</span>"
to_chat(user, healmessage)
use(1)
playsound(src, pick(apply_sounds), 25)
update_icon()
/obj/item/stack/medical/advanced/clotting/update_icon()
icon_state = "[initial(icon_state)]_[amount]"