From 1b0aac3065289c90ae8f15637da81d8ed8a707df Mon Sep 17 00:00:00 2001
From: Luc <89928798+lewcc@users.noreply.github.com>
Date: Wed, 12 Jun 2024 14:39:39 -0700
Subject: [PATCH] Makes high levels of infection less likely to kill you
instantly (#25688)
* Make organs a little less bad
* Update code/modules/surgery/organs/organ_external.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>
---------
Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
---
code/__DEFINES/misc_defines.dm | 1 +
code/modules/surgery/organs/organ_external.dm | 27 +++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index 3275a2d2e1b..d609863990c 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -33,6 +33,7 @@
#define INFECTION_LEVEL_ONE 100
#define INFECTION_LEVEL_TWO 500
#define INFECTION_LEVEL_THREE 1000
+#define INFECTION_LEVEL_FOUR 1500
// Damage above this value must be repaired with surgery.
#define ROBOLIMB_SELF_REPAIR_CAP 60
diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm
index 667bceb13fd..f9eb942d7fa 100644
--- a/code/modules/surgery/organs/organ_external.dm
+++ b/code/modules/surgery/organs/organ_external.dm
@@ -485,7 +485,34 @@ Note that amputating the affected organ does in fact remove the infection from t
if(parent.germ_level < INFECTION_LEVEL_ONE * 2 || prob(30))
parent.germ_level++
+ if(prob(5))
+ var/list/messages = list(
+ "You feel something uncomfortable in [src].",
+ "A sharp pain seems to spread out from [src].",
+ "[src] feels like it's burning from the inside out!",
+ "[src] seems to be turning a nasty color.",
+ )
+ to_chat(owner, "[pick(messages)]")
+
if(germ_level >= INFECTION_LEVEL_THREE)
+ if(vital)
+ var/list/messages = list(
+ "[src] oozes with pus!",
+ "[src] starts to go numb.",
+ "[src] feels dreadful, it feels like you're dying!"
+ )
+ // kill them fast, but don't drop them dead.
+ if(prob(5))
+ to_chat(owner, "[pick(messages)]")
+ owner.adjustToxLoss(5)
+ else
+ necrotize()
+ owner.adjustToxLoss(1)
+
+ germ_level++
+
+ if(germ_level >= INFECTION_LEVEL_FOUR)
+ // we warned you
necrotize()
germ_level++
owner.adjustToxLoss(1)