mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-24 21:57:53 +01:00
[MIRROR] Internal wounds & spleen tweak (#12182)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
co-authored by
Cameron Lennox
parent
f25ceeab1d
commit
9f23aa6a9e
@@ -82,6 +82,8 @@
|
||||
var/obj/item/organ/external/E = O.parent_organ
|
||||
var/datum/wound/W = new /datum/wound/internal_bleeding(5)
|
||||
E.wounds += W
|
||||
E.update_damages()
|
||||
M.handle_organs(TRUE) //Force an update so we start processing the internal bleeding.
|
||||
|
||||
if(M.stat == DEAD || M.allow_spontaneous_tf)
|
||||
M.LoadComponent(/datum/component/xenochimera)
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
last_dam = damage_this_tick
|
||||
|
||||
// Takes care of organ related updates, such as broken and missing limbs
|
||||
/mob/living/carbon/human/proc/handle_organs()
|
||||
/mob/living/carbon/human/proc/handle_organs(force = FALSE)
|
||||
|
||||
var/force_process = recheck_bad_external_organs()
|
||||
|
||||
if(force_process)
|
||||
if(force_process || force)
|
||||
bad_external_organs.Cut()
|
||||
for(var/obj/item/organ/external/Ex in organs)
|
||||
bad_external_organs += Ex //VOREStation Edit - Silly and slow to |= this
|
||||
|
||||
@@ -1072,6 +1072,8 @@
|
||||
if(prob(selection.w_class * 5) && (affected.robotic < ORGAN_ROBOT)) //I'M SO ANEMIC I COULD JUST -DIE-.
|
||||
var/datum/wound/internal_bleeding/I = new (min(selection.w_class * 5, 15))
|
||||
affected.wounds += I
|
||||
affected.update_damages()
|
||||
H.handle_organs(TRUE) //Force an update so we start processing the internal bleeding.
|
||||
H.custom_pain("Something tears wetly in your [affected] as [selection] is pulled free!", 50)
|
||||
|
||||
if (ishuman(U))
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
var/datum/wound/W = new /datum/wound/internal_bleeding(20)
|
||||
owner.adjustToxLoss(25)
|
||||
groin.wounds += W
|
||||
groin.update_damages()
|
||||
owner.handle_organs(TRUE) //Force an update so we start processing the internal bleeding.
|
||||
inflamed = 1
|
||||
*/
|
||||
/obj/item/organ/internal/appendix/removed()
|
||||
|
||||
@@ -17,13 +17,15 @@
|
||||
//High toxins levels are dangerous
|
||||
if(owner.getToxLoss() >= 30 && !owner.reagents.has_reagent(REAGENT_ID_ANTITOXIN))
|
||||
//Healthy liver suffers on its own
|
||||
if (src.damage < min_broken_damage)
|
||||
if(src.damage < min_broken_damage)
|
||||
src.damage += 0.2 * spleen_tick
|
||||
owner.adjustToxLoss(-0.2) //The spleen takes damage but reduces toxins, up until it's broken.
|
||||
//Damaged one shares the fun
|
||||
else
|
||||
var/obj/item/organ/internal/O = pick(owner.internal_organs)
|
||||
if(O)
|
||||
O.damage += 0.2 * spleen_tick
|
||||
owner.adjustToxLoss(-0.1) //Only half as effective.
|
||||
|
||||
else if(!src.is_broken()) // If the spleen isn't severely damaged, it can help fight infections. Key word, can.
|
||||
var/obj/item/organ/external/OEx = pick(owner.organs)
|
||||
@@ -66,10 +68,12 @@
|
||||
..()
|
||||
if(owner)
|
||||
owner.add_modifier(/datum/modifier/trait/haemophilia, round(15 MINUTES * spleen_efficiency))
|
||||
var/obj/item/organ/external/Target = owner.get_organ(parent_organ)
|
||||
var/obj/item/organ/external/target = owner.get_organ(parent_organ)
|
||||
var/datum/wound/W = new /datum/wound/internal_bleeding(round(20 * spleen_efficiency))
|
||||
owner.adjustToxLoss(15 * spleen_efficiency)
|
||||
Target.wounds += W
|
||||
target.wounds += W
|
||||
target.update_damages()
|
||||
owner.handle_organs(TRUE) //Force an update so we start processing the internal bleeding.
|
||||
|
||||
/obj/item/organ/internal/spleen/minor
|
||||
name = "vestigial spleen"
|
||||
|
||||
@@ -176,6 +176,8 @@
|
||||
to_chat(user, span_danger(" You tear some blood vessels trying to fit such a big object in this cavity."))
|
||||
var/datum/wound/internal_bleeding/I = new (10)
|
||||
affected.wounds += I
|
||||
affected.update_damages()
|
||||
affected.owner.handle_organs(TRUE) //Force an update so we start processing the internal bleeding.
|
||||
affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1)
|
||||
affected.implants += tool
|
||||
tool.loc = affected
|
||||
|
||||
Reference in New Issue
Block a user