mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
[MIRROR] Various Surgery & Medical fixes, QoL, and adjustments (#11949)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
56b99cc173
commit
a6dcc16233
@@ -120,7 +120,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
||||
brainmob.add_modifier(M.type)
|
||||
|
||||
if(H.mind)
|
||||
H.mind.transfer_to(brainmob)
|
||||
H.mind.transfer_to(brainmob) //mAYBE MAKE THIS FORCE....
|
||||
|
||||
brainmob.languages = H.languages
|
||||
|
||||
@@ -146,7 +146,7 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
||||
|
||||
var/obj/item/organ/internal/brain/B = src
|
||||
if(istype(B) && owner)
|
||||
if(istype(owner, /mob/living/carbon) && owner.ckey)
|
||||
if(istype(owner, /mob/living/carbon) && (owner.ckey || owner.original_player))
|
||||
B.transfer_identity(owner)
|
||||
|
||||
..()
|
||||
@@ -159,8 +159,10 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
||||
if(brainmob)
|
||||
if(brainmob.mind)
|
||||
brainmob.mind.transfer_to(target)
|
||||
target.languages = brainmob.languages
|
||||
else
|
||||
target.key = brainmob.key
|
||||
target.languages = brainmob.languages
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/brain/proc/get_control_efficiency()
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
var/acidtype = REAGENT_ID_STOMACID // Incase you want some stomach organ with, say, polyacid instead, or sulphuric.
|
||||
var/max_acid_volume = 30
|
||||
|
||||
var/deadly_hold = TRUE // Does the stomach do damage to mobs eaten by its owner? Xenos should probably have this FALSE.
|
||||
|
||||
/obj/item/organ/internal/stomach/Initialize(mapload)
|
||||
. = ..()
|
||||
if(reagents)
|
||||
|
||||
@@ -212,12 +212,20 @@ var/list/organ_cache = list()
|
||||
|
||||
/// Infection damage
|
||||
|
||||
//If the organ is dead, for the sake of organs that may have died due to non-infection, we'll only do damage if they have at least L1 infection (built up below)
|
||||
if((status & ORGAN_DEAD) && antibiotics < ANTIBIO_OD && germ_level >= INFECTION_LEVEL_ONE)
|
||||
infection_damage = max(1, 1 + round((germ_level - INFECTION_LEVEL_THREE)/200,0.25)) //1 Tox plus a little based on germ level
|
||||
//If the organ is dead, for the sake of organs that may have died due to non-infection, we'll only do damage if they have at least L2 infection (built up below)
|
||||
//A dead organ is bad, so you start getting flooded with toxins faster.
|
||||
if((status & ORGAN_DEAD) && antibiotics < ANTIBIO_OD && germ_level >= INFECTION_LEVEL_TWO)
|
||||
infection_damage = CLAMP(round((germ_level - INFECTION_LEVEL_TWO)/1000), 0.25, 1) //Between 0.25 to 1 tox per tick.
|
||||
|
||||
|
||||
//Ideally, we want them to either: A. Reach Medical or B. have their organ die. Dying to toxins is lame.
|
||||
//With this math: Toxins goes up by 0.001 per 2 seconds, up to 0.1. This means 200 seconds to reach 0.1 toxins per tick (germ level is now 700).
|
||||
//Limb death happens at germ level 1000. This means another 600 seconds to reach there if untreated.
|
||||
//Your kidneys helps purge toxins if you have 10% or less of your maxhealth in toxins damage. This is RNG though. (See kidneys/handle_organ_proc_special)
|
||||
//So you COULD get really lucky and keep healing your toxins away until your limb dies, or you could get unlucky die to toxins first.
|
||||
//Nonetheless, this should give a much more reasonable window for treatment.
|
||||
else if(germ_level > INFECTION_LEVEL_TWO && antibiotics < ANTIBIO_OD)
|
||||
infection_damage = max(0.25, 0.25 + round((germ_level - INFECTION_LEVEL_TWO)/200,0.25))
|
||||
infection_damage = CLAMP(round((germ_level - INFECTION_LEVEL_TWO)/1000), 0, 0.1)
|
||||
|
||||
if(infection_damage)
|
||||
owner.adjustToxLoss(infection_damage)
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
var/cavity = 0
|
||||
var/burn_stage = 0 //Surgical repair stage for burn.
|
||||
var/brute_stage = 0 //Surgical repair stage for brute.
|
||||
var/remove_necrosis = 0 //Surgical stage for necrosis removal.
|
||||
|
||||
// HUD element variable, see organ_icon.dm get_damage_hud_image()
|
||||
var/image/hud_damage_image
|
||||
|
||||
Reference in New Issue
Block a user