Ports arterial bleeding and tendon severing (#7432)

This commit is contained in:
Matt Atlas
2019-11-21 14:45:19 +01:00
committed by Werner
parent a8ffad24bc
commit ce6c12f8a6
27 changed files with 437 additions and 277 deletions
+10 -7
View File
@@ -202,15 +202,18 @@ BREATH ANALYZER
if(e && e.status & ORGAN_BROKEN)
user.show_message(text("<span class='warning'>Bone fractures detected. Advanced scanner required for location.</span>"), 1)
break
var/IB = FALSE
var/found_arterial = FALSE
var/found_tendon = FALSE
for(var/obj/item/organ/external/e in H.organs)
if(!e)
continue
for(var/datum/wound/W in e.wounds) if(W.internal)
IB = TRUE
if(e)
if(!found_arterial && (e.status & ORGAN_ARTERY_CUT))
user.show_message(text("<span class='warning'>Arterial bleeding detected. Advanced scanner required for location.</span>"))
found_arterial = TRUE
if(!found_tendon && (e.status & ORGAN_TENDON_CUT))
user.show_message(text("<span class='warning'>Tendon or ligament damage detected. Advanced scanner required for location.</span>"))
found_tendon = TRUE
if(found_arterial && found_tendon)
break
if (IB == TRUE)
user.show_message(text("<span class='warning'>Internal bleeding detected. Advanced scanner required for location.</span>"), 1)
if(M:vessel)
var/blood_volume = round(M:vessel.get_reagent_amount("blood"))
var/blood_percent = blood_volume / 560
@@ -102,8 +102,6 @@ Contains:
"<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)
@@ -216,8 +214,6 @@ Contains:
"<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)
@@ -327,9 +323,6 @@ Contains:
if(!do_after(user, 100, act_target = M))
return
for (var/datum/wound/W in affecting.wounds)
if (W.internal)
if(prob(25)) // Space Klot technology.
W.heal_damage(heal_brute, 1)
if (W.bandaged)
continue
if(used == amount)
@@ -49,8 +49,7 @@
var/obj/item/organ/external/affecting = H.get_organ(H.zone_sel.selecting)
if(affecting)
to_chat(H, "<span class='danger'><font size=2>You feel something rip open in your [affecting.name]!</span></font>")
var/datum/wound/internal_bleeding/I = new(15)
affecting.wounds += I
affecting.sever_artery()
if(H.can_feel_pain())
H.emote("scream")