|
|
|
|
@@ -73,50 +73,47 @@
|
|
|
|
|
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.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
|
|
|
|
|
var/used = 0
|
|
|
|
|
for (var/datum/wound/W in affecting.wounds)
|
|
|
|
|
if (W.internal)
|
|
|
|
|
continue
|
|
|
|
|
if(W.bandaged)
|
|
|
|
|
continue
|
|
|
|
|
if(used == amount)
|
|
|
|
|
break
|
|
|
|
|
if(!do_mob(user, M, W.damage/5))
|
|
|
|
|
user << "<span class='notice'>You must stand still to bandage wounds.</span>"
|
|
|
|
|
break
|
|
|
|
|
if(affecting.open)
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if (W.current_stage <= W.max_bleeding_stage)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] bandages \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You bandage \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
//H.add_side_effect("Itch")
|
|
|
|
|
else if (W.damage_type == BRUISE)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a bruise patch over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a bandaid over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
W.bandage()
|
|
|
|
|
used++
|
|
|
|
|
affecting.update_damages()
|
|
|
|
|
if(used == amount)
|
|
|
|
|
if(affecting.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up.</span>"
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>"
|
|
|
|
|
use(used)
|
|
|
|
|
if(affecting.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been bandaged.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
|
|
|
|
if (do_surgery(H,user,src))
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
|
|
|
|
|
var/used = 0
|
|
|
|
|
for (var/datum/wound/W in affecting.wounds)
|
|
|
|
|
if (W.internal)
|
|
|
|
|
continue
|
|
|
|
|
if(W.bandaged)
|
|
|
|
|
continue
|
|
|
|
|
if(used == amount)
|
|
|
|
|
break
|
|
|
|
|
if(!do_mob(user, M, W.damage/5))
|
|
|
|
|
user << "<span class='notice'>You must stand still to bandage wounds.</span>"
|
|
|
|
|
break
|
|
|
|
|
|
|
|
|
|
if (W.current_stage <= W.max_bleeding_stage)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] bandages \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You bandage \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
//H.add_side_effect("Itch")
|
|
|
|
|
else if (W.damage_type == BRUISE)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a bruise patch over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a bruise patch over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a bandaid over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a bandaid over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
W.bandage()
|
|
|
|
|
used++
|
|
|
|
|
affecting.update_damages()
|
|
|
|
|
if(used == amount)
|
|
|
|
|
if(affecting.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up.</span>"
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>"
|
|
|
|
|
use(used)
|
|
|
|
|
|
|
|
|
|
/obj/item/stack/medical/ointment
|
|
|
|
|
name = "ointment"
|
|
|
|
|
@@ -135,26 +132,23 @@
|
|
|
|
|
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.is_salved())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
if(!do_mob(user, M, 10))
|
|
|
|
|
user << "<span class='notice'>You must stand still to salve wounds.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
user.visible_message("<span class='notice'>[user] salved wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You salved wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
use(1)
|
|
|
|
|
affecting.salve()
|
|
|
|
|
if(affecting.open)
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if(affecting.is_salved())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
|
|
|
|
if (do_surgery(H,user,src))
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
if(!do_mob(user, M, 10))
|
|
|
|
|
user << "<span class='notice'>You must stand still to salve wounds.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
user.visible_message("<span class='notice'>[user] salved wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You salved wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
use(1)
|
|
|
|
|
affecting.salve()
|
|
|
|
|
|
|
|
|
|
/obj/item/stack/medical/advanced/bruise_pack
|
|
|
|
|
name = "advanced trauma kit"
|
|
|
|
|
@@ -172,50 +166,47 @@
|
|
|
|
|
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.is_bandaged() && affecting.is_disinfected())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been treated.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
|
|
|
|
|
var/used = 0
|
|
|
|
|
for (var/datum/wound/W in affecting.wounds)
|
|
|
|
|
if (W.internal)
|
|
|
|
|
continue
|
|
|
|
|
if (W.bandaged && W.disinfected)
|
|
|
|
|
continue
|
|
|
|
|
if(used == amount)
|
|
|
|
|
break
|
|
|
|
|
if(!do_mob(user, M, W.damage/5))
|
|
|
|
|
user << "<span class='notice'>You must stand still to bandage wounds.</span>"
|
|
|
|
|
break
|
|
|
|
|
if (W.current_stage <= W.max_bleeding_stage)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.</span>", \
|
|
|
|
|
"<span class='notice'>You clean and seal \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else if (W.damage_type == BRUISE)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a medical patch over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You smear some bioglue over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
W.bandage()
|
|
|
|
|
W.disinfect()
|
|
|
|
|
W.heal_damage(heal_brute)
|
|
|
|
|
used++
|
|
|
|
|
affecting.update_damages()
|
|
|
|
|
if(used == amount)
|
|
|
|
|
if(affecting.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up.</span>"
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>"
|
|
|
|
|
use(used)
|
|
|
|
|
if(affecting.open)
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
if(affecting.is_bandaged() && affecting.is_disinfected())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been treated.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
|
|
|
|
if (do_surgery(H,user,src))
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts treating [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start treating [M]'s [affecting.name].</span>" )
|
|
|
|
|
var/used = 0
|
|
|
|
|
for (var/datum/wound/W in affecting.wounds)
|
|
|
|
|
if (W.internal)
|
|
|
|
|
continue
|
|
|
|
|
if (W.bandaged && W.disinfected)
|
|
|
|
|
continue
|
|
|
|
|
if(used == amount)
|
|
|
|
|
break
|
|
|
|
|
if(!do_mob(user, M, W.damage/5))
|
|
|
|
|
user << "<span class='notice'>You must stand still to bandage wounds.</span>"
|
|
|
|
|
break
|
|
|
|
|
if (W.current_stage <= W.max_bleeding_stage)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.</span>", \
|
|
|
|
|
"<span class='notice'>You clean and seal \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else if (W.damage_type == BRUISE)
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] places a medical patch over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You place a medical patch over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] smears some bioglue over \a [W.desc] on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You smear some bioglue over \a [W.desc] on [M]'s [affecting.name].</span>" )
|
|
|
|
|
W.bandage()
|
|
|
|
|
W.disinfect()
|
|
|
|
|
W.heal_damage(heal_brute)
|
|
|
|
|
used++
|
|
|
|
|
affecting.update_damages()
|
|
|
|
|
if(used == amount)
|
|
|
|
|
if(affecting.is_bandaged())
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up.</span>"
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='warning'>\The [src] is used up, but there are more wounds to treat on \the [affecting.name].</span>"
|
|
|
|
|
use(used)
|
|
|
|
|
|
|
|
|
|
/obj/item/stack/medical/advanced/ointment
|
|
|
|
|
name = "advanced burn kit"
|
|
|
|
|
@@ -234,27 +225,23 @@
|
|
|
|
|
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.is_salved())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
if(!do_mob(user, M, 10))
|
|
|
|
|
user << "<span class='notice'>You must stand still to salve wounds.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
user.visible_message( "<span class='notice'>[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.</span>", \
|
|
|
|
|
"<span class='notice'>You cover wounds on [M]'s [affecting.name] with regenerative membrane.</span>" )
|
|
|
|
|
affecting.heal_damage(0,heal_burn)
|
|
|
|
|
use(1)
|
|
|
|
|
affecting.salve()
|
|
|
|
|
if(affecting.open)
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
|
|
|
|
|
if(affecting.is_salved())
|
|
|
|
|
user << "<span class='warning'>The wounds on [M]'s [affecting.name] have already been salved.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
else
|
|
|
|
|
if (can_operate(H)) //Checks if mob is lying down on table for surgery
|
|
|
|
|
if (do_surgery(H,user,src))
|
|
|
|
|
return
|
|
|
|
|
else
|
|
|
|
|
user << "<span class='notice'>The [affecting.name] is cut open, you'll need more than a bandage!</span>"
|
|
|
|
|
user.visible_message("<span class='notice'>\The [user] starts salving wounds on [M]'s [affecting.name].</span>", \
|
|
|
|
|
"<span class='notice'>You start salving the wounds on [M]'s [affecting.name].</span>" )
|
|
|
|
|
if(!do_mob(user, M, 10))
|
|
|
|
|
user << "<span class='notice'>You must stand still to salve wounds.</span>"
|
|
|
|
|
return 1
|
|
|
|
|
user.visible_message( "<span class='notice'>[user] covers wounds on [M]'s [affecting.name] with regenerative membrane.</span>", \
|
|
|
|
|
"<span class='notice'>You cover wounds on [M]'s [affecting.name] with regenerative membrane.</span>" )
|
|
|
|
|
affecting.heal_damage(0,heal_burn)
|
|
|
|
|
use(1)
|
|
|
|
|
affecting.salve()
|
|
|
|
|
|
|
|
|
|
/obj/item/stack/medical/splint
|
|
|
|
|
name = "medical splints"
|
|
|
|
|
|