mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-02 05:23:01 +00:00
Merge pull request #11204 from Hubblenaut/medical
Bruise Packs, Changes and small Fixes
This commit is contained in:
@@ -807,15 +807,46 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
"\The [holder.legcuffed.name] falls off you.")
|
||||
holder.drop_from_inventory(holder.legcuffed)
|
||||
|
||||
// checks if all wounds on the organ are bandaged
|
||||
/obj/item/organ/external/proc/is_bandaged()
|
||||
for(var/datum/wound/W in wounds)
|
||||
if(W.internal) continue
|
||||
if(!W.bandaged)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
// checks if all wounds on the organ are salved
|
||||
/obj/item/organ/external/proc/is_salved()
|
||||
for(var/datum/wound/W in wounds)
|
||||
if(W.internal) continue
|
||||
if(!W.salved)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
// checks if all wounds on the organ are disinfected
|
||||
/obj/item/organ/external/proc/is_disinfected()
|
||||
for(var/datum/wound/W in wounds)
|
||||
if(W.internal) continue
|
||||
if(!W.disinfected)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/item/organ/external/proc/bandage()
|
||||
var/rval = 0
|
||||
src.status &= ~ORGAN_BLEEDING
|
||||
status &= ~ORGAN_BLEEDING
|
||||
for(var/datum/wound/W in wounds)
|
||||
if(W.internal) continue
|
||||
rval |= !W.bandaged
|
||||
W.bandaged = 1
|
||||
return rval
|
||||
|
||||
/obj/item/organ/external/proc/salve()
|
||||
var/rval = 0
|
||||
for(var/datum/wound/W in wounds)
|
||||
rval |= !W.salved
|
||||
W.salved = 1
|
||||
return rval
|
||||
|
||||
/obj/item/organ/external/proc/disinfect()
|
||||
var/rval = 0
|
||||
for(var/datum/wound/W in wounds)
|
||||
@@ -834,13 +865,6 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
W.clamped = 1
|
||||
return rval
|
||||
|
||||
/obj/item/organ/external/proc/salve()
|
||||
var/rval = 0
|
||||
for(var/datum/wound/W in wounds)
|
||||
rval |= !W.salved
|
||||
W.salved = 1
|
||||
return rval
|
||||
|
||||
/obj/item/organ/external/proc/fracture()
|
||||
if(status & ORGAN_ROBOT)
|
||||
return //ORGAN_BROKEN doesn't have the same meaning for robot limbs
|
||||
|
||||
@@ -140,6 +140,15 @@
|
||||
|
||||
return 0
|
||||
|
||||
proc/bandage()
|
||||
bandaged = 1
|
||||
|
||||
proc/salve()
|
||||
salved = 1
|
||||
|
||||
proc/disinfect()
|
||||
disinfected = 1
|
||||
|
||||
// heal the given amount of damage, and if the given amount of damage was more
|
||||
// than what needed to be healed, return how much heal was left
|
||||
// set @heals_internal to also heal internal organ damage
|
||||
@@ -318,15 +327,15 @@ datum/wound/cut/massive
|
||||
/datum/wound/lost_limb/New(var/obj/item/organ/external/lost_limb, var/losstype, var/clean)
|
||||
var/damage_amt = lost_limb.max_damage
|
||||
if(clean) damage_amt /= 2
|
||||
|
||||
|
||||
switch(losstype)
|
||||
if(DROPLIMB_EDGE, DROPLIMB_BLUNT)
|
||||
damage_type = CUT
|
||||
max_bleeding_stage = 3 //clotted stump and above can bleed.
|
||||
stages = list(
|
||||
"ripped stump" = damage_amt*1.3,
|
||||
"bloody stump" = damage_amt,
|
||||
"clotted stump" = damage_amt*0.5,
|
||||
"bloody stump" = damage_amt,
|
||||
"clotted stump" = damage_amt*0.5,
|
||||
"scarred stump" = 0
|
||||
)
|
||||
if(DROPLIMB_BURN)
|
||||
@@ -337,7 +346,7 @@ datum/wound/cut/massive
|
||||
"scarred stump" = damage_amt*0.5,
|
||||
"scarred stump" = 0
|
||||
)
|
||||
|
||||
|
||||
..(damage_amt)
|
||||
|
||||
/datum/wound/lost_limb/can_merge(var/datum/wound/other)
|
||||
|
||||
Reference in New Issue
Block a user