Patch fix, Neurotoxins, and Paralysis (#18853)

* Makes zombie powder and lich powder somewhat more useful

Also makes the scanners act mostly the same with fakedeath

* Makes patches actually apply via touch

I killed myself during testing with bicaridaze

* Make things respect fakedeath

* Some more fixes

* Makes paralysis apply in more places

Also makes paralysis  no longer make you unable to see emotes.

Makes it so you can not /me, but you can /subtle while paralyzed

* Adds another method for zombie powder mix
This commit is contained in:
Cameron Lennox
2025-12-10 10:17:38 -05:00
committed by GitHub
parent acb8cabd8f
commit dfe47e084f
23 changed files with 101 additions and 83 deletions
+13 -6
View File
@@ -46,13 +46,20 @@
/datum/data/pda/utility/scanmode/medical/scan_mob(mob/living/C as mob, mob/living/user as mob)
C.visible_message(span_warning("[user] has analyzed [C]'s vitals!"))
user.show_message(span_notice("Analyzing Results for [C]:"))
user.show_message(span_notice(" Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]"), 1)
user.show_message(span_notice(" Damage Specifics:") + " [(C.getOxyLoss() > 50) ? span_warning("[C.getOxyLoss()]") : C.getOxyLoss()]-\
[(C.getToxLoss() > 50) ? span_warning("[C.getToxLoss()]") : C.getToxLoss()]-\
[(C.getFireLoss() > 50) ? span_warning("[C.getFireLoss()]") : C.getFireLoss()]-\
[(C.getBruteLoss() > 50) ? span_warning("[C.getBruteLoss()]") : C.getBruteLoss()]", 1)
if(C.status_flags & FAKEDEATH)
user.show_message(span_notice(" Overall Status: dead"))
var/fake_oxy = max(rand(1,40), C.getOxyLoss(), (300 - (C.getToxLoss() + C.getFireLoss() + C.getBruteLoss())))
var/OX = fake_oxy > 50 ? span_bold("[fake_oxy]") : fake_oxy //Easier to do this. All this needs consolidation, eventually.
user.show_message(span_notice(" Damage Specifics:") + " [OX]-0-\
[(C.getFireLoss() > 50) ? span_warning("[C.getFireLoss()]") : C.getFireLoss()]-\
[(C.getBruteLoss() > 50) ? span_warning("[C.getBruteLoss()]") : C.getBruteLoss()]", 1)
else
user.show_message(span_notice(" Overall Status: [C.stat > 1 ? "dead" : "[C.health - C.halloss]% healthy"]"), 1)
user.show_message(span_notice(" Damage Specifics:") + " [(C.getOxyLoss() > 50) ? span_warning("[C.getOxyLoss()]") : C.getOxyLoss()]-\
[(C.getToxLoss() > 50) ? span_warning("[C.getToxLoss()]") : C.getToxLoss()]-\
[(C.getFireLoss() > 50) ? span_warning("[C.getFireLoss()]") : C.getFireLoss()]-\
[(C.getBruteLoss() > 50) ? span_warning("[C.getBruteLoss()]") : C.getBruteLoss()]", 1)
user.show_message(span_notice(" Key: Suffocation/Toxin/Burns/Brute"), 1)
user.show_message(span_notice(" Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)"), 1)
if(C.tod && (C.stat == DEAD || (C.status_flags & FAKEDEATH)))