Skip to content

Commit 9b4f9f3

Browse files
added missing is_human() checks to overdose procs (#8541)
Co-authored-by: BigHatLogan-dev <BigHatLogan-dev@users.noreply.github.com>
1 parent bc4f77d commit 9b4f9f3

File tree

1 file changed

+38
-32
lines changed

1 file changed

+38
-32
lines changed

code/modules/reagents/reagents/medicine.dm

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,26 @@
4141
M.heal_organ_damage(0.6 * effect_multiplier, 0, 5 * effect_multiplier)
4242
M.add_chemical_effect(CE_BLOODCLOT, 0.15)
4343

44-
/datum/reagent/medicine/bicaridine/overdose(mob/living/carbon/human/user, alien)
45-
var/obj/item/organ/internal/muscle/user_muscle = user.random_organ_by_process(OP_MUSCLE)
46-
var/obj/item/organ/internal/nerve/user_nerve = user.random_organ_by_process(OP_NERVE)
47-
if(!user_muscle)
48-
return FALSE
49-
user_muscle.take_damage(dose/3, FALSE, TOX)
50-
if(!user_nerve)
51-
return FALSE
52-
user_nerve.take_damage(dose/3, FALSE, TOX)
53-
if(prob(3))
54-
to_chat(user, span_danger("Your muscles ache with agonizing pain!"))
55-
user.Weaken(2)
56-
if(volume > 100 && prob(1))
57-
var/obj/item/organ/internal/vital/heart/user_heart = user.random_organ_by_process(OP_HEART)
58-
if(!user_heart || BP_IS_ROBOTIC(user_heart))
44+
/datum/reagent/medicine/bicaridine/overdose(mob/living/carbon/M, alien)
45+
if(ishuman(M))
46+
var/mob/living/carbon/human/H = M
47+
var/obj/item/organ/internal/muscle/user_muscle = H.random_organ_by_process(OP_MUSCLE)
48+
var/obj/item/organ/internal/nerve/user_nerve = H.random_organ_by_process(OP_NERVE)
49+
if(!user_muscle)
5950
return FALSE
60-
to_chat(user, span_danger("You feel like your heart just exploded!"))
61-
user_heart.take_damage(15, FALSE, TOX)
51+
user_muscle.take_damage(dose/3, FALSE, TOX)
52+
if(!user_nerve)
53+
return FALSE
54+
user_nerve.take_damage(dose/3, FALSE, TOX)
55+
if(prob(3))
56+
to_chat(H, span_danger("Your muscles ache with agonizing pain!"))
57+
H.Weaken(2)
58+
if(volume > 100 && prob(1))
59+
var/obj/item/organ/internal/vital/heart/user_heart = H.random_organ_by_process(OP_HEART)
60+
if(!user_heart || BP_IS_ROBOTIC(user_heart))
61+
return FALSE
62+
to_chat(H, span_danger("You feel like your heart just exploded!"))
63+
user_heart.take_damage(15, FALSE, TOX)
6264

6365
/datum/reagent/medicine/meralyne
6466
name = "Meralyne"
@@ -117,9 +119,11 @@
117119
holder.remove_reagent("pararein", 0.2)
118120
holder.remove_reagent("blattedin", 0.2)
119121

120-
/datum/reagent/medicine/dylovene/overdose(mob/living/carbon/human/user, alien)
121-
var/obj/item/organ/internal/blood_vessel/user_vessel = user.random_organ_by_process(OP_BLOOD_VESSEL)
122-
create_overdose_wound(user_vessel, user, /datum/component/internal_wound/organic/heavy_poisoning, "accumulation")
122+
/datum/reagent/medicine/dylovene/overdose(mob/living/carbon/M, alien)
123+
if(ishuman(M))
124+
var/mob/living/carbon/human/H = M
125+
var/obj/item/organ/internal/blood_vessel/user_vessel = H.random_organ_by_process(OP_BLOOD_VESSEL)
126+
create_overdose_wound(user_vessel, H, /datum/component/internal_wound/organic/heavy_poisoning, "accumulation")
123127

124128
/datum/reagent/medicine/dexalin
125129
name = "Dexalin"
@@ -174,19 +178,21 @@
174178
M.add_chemical_effect(CE_ANTITOX, 1)
175179
M.add_chemical_effect(CE_BLOODCLOT, 0.1)
176180

177-
/datum/reagent/medicine/tricordrazine/overdose(mob/living/carbon/human/user, alien)
178-
var/obj/item/organ/internal/liver/user_liver = user.random_organ_by_process(OP_LIVER)
179-
if(!user_liver)
180-
return FALSE
181-
user_liver.take_damage(dose/3, FALSE, TOX)
182-
// For those special people
183-
if(volume > 300 && prob(10))
184-
var/obj/item/organ/internal/blood_vessel/user_vessel = user.random_organ_by_process(OP_BLOOD_VESSEL)
185-
if(!user_vessel)
181+
/datum/reagent/medicine/tricordrazine/overdose(mob/living/carbon/M, alien)
182+
if(ishuman(M))
183+
var/mob/living/carbon/human/H = M
184+
var/obj/item/organ/internal/liver/user_liver = H.random_organ_by_process(OP_LIVER)
185+
if(!user_liver)
186186
return FALSE
187-
to_chat(user, "You feel intense swelling in your [user_vessel.loc?.name], and you notice it going numb and red!")
188-
user.AdjustParalysis(5)
189-
user_vessel.take_damage(15, FALSE, TOX)
187+
user_liver.take_damage(dose/3, FALSE, TOX)
188+
// For those special people
189+
if(volume > 300 && prob(10))
190+
var/obj/item/organ/internal/blood_vessel/user_vessel = H.random_organ_by_process(OP_BLOOD_VESSEL)
191+
if(!user_vessel)
192+
return FALSE
193+
to_chat(H, "You feel intense swelling in your [user_vessel.loc?.name], and you notice it going numb and red!")
194+
H.AdjustParalysis(5)
195+
user_vessel.take_damage(15, FALSE, TOX)
190196

191197
/datum/reagent/medicine/cryoxadone
192198
name = "Cryoxadone"

0 commit comments

Comments
 (0)