mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 08:36:00 +01:00
21b4095dfd
Upstream 04/17/2026 fixes https://github.com/Bubberstation/Bubberstation/issues/5549 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: loganuk <fakeemail123@aol.com> Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com> Co-authored-by: Isratosh <Isratosh@hotmail.com> Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com> Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com> Co-authored-by: Alexander V. <volas@ya.ru> Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com> Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Iamgoofball <iamgoofball@gmail.com> Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com> Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com> Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com> Co-authored-by: Josh <josh.adam.powell@gmail.com> Co-authored-by: Josh Powell <josh.powell@softwire.com> Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com> Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com> Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
54 lines
2.0 KiB
Plaintext
54 lines
2.0 KiB
Plaintext
/// Damn space vultures man! At least they dont go for the brain
|
|
/datum/corpse_damage/post_mortem/organ_loss
|
|
damage_type = CORPSE_DAMAGE_ORGAN_LOSS
|
|
|
|
/// Chance that the organ is stored and delivered with the body
|
|
var/organ_save_chance = 20
|
|
/// Minimum organs we can lose
|
|
var/min_organs = 2
|
|
/// Maximum organs we can lose
|
|
var/max_organs = 8
|
|
|
|
/datum/corpse_damage/post_mortem/organ_loss/apply_to_body(mob/living/carbon/human/body, severity, list/saved_movables, list/datum/callback/on_revive_and_player_occupancy)
|
|
var/organs_to_take = round(min_organs + (max_organs - min_organs) * severity)
|
|
var/list/organs_we_can_take = body.organs - body.get_organ_slot(ORGAN_SLOT_BRAIN)
|
|
|
|
if (!length(organs_we_can_take))
|
|
return
|
|
for(var/i in 1 to organs_to_take)
|
|
var/obj/organ = pick(organs_we_can_take)
|
|
if(prob(organ_save_chance) && saved_movables) //if lucky, we can save the organ and have it be delivered with the body
|
|
organ.moveToNullspace()
|
|
saved_movables += organ
|
|
else
|
|
qdel(organ)
|
|
|
|
/// Damn space vultures man! At least they dont go for the chest or head, or they do but we don't get to see those bodies :O
|
|
/datum/corpse_damage/post_mortem/limb_loss
|
|
damage_type = CORPSE_DAMAGE_LIMB_LOSS
|
|
|
|
/// Chance that the limb is stored and delivered with the body
|
|
var/limb_save_chance = 20
|
|
/// Min limbs we can lose
|
|
var/min_limbs = 1
|
|
/// Max limbs we can lose
|
|
var/max_limbs = 4
|
|
|
|
/datum/corpse_damage/post_mortem/limb_loss/apply_to_body(mob/living/carbon/human/body, severity, list/saved_movables, list/datum/callback/on_revive_and_player_occupancy)
|
|
var/limbs_to_take = round(min_limbs + (max_limbs - min_limbs) * severity)
|
|
var/list/limbs_we_can_take = list()
|
|
for(var/zone in GLOB.limb_zones)
|
|
var/bodypart = body.get_bodypart(zone)
|
|
if(bodypart)
|
|
limbs_we_can_take += bodypart
|
|
|
|
if(!limbs_we_can_take.len)
|
|
return
|
|
for(var/i in 1 to limbs_to_take)
|
|
var/obj/limb = pick(limbs_we_can_take)
|
|
if(prob(limb_save_chance) && saved_movables)
|
|
limb.moveToNullspace()
|
|
saved_movables += limb
|
|
else
|
|
qdel(limb)
|