diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm index e3e50ba468f..c3095a69e08 100644 --- a/code/datums/diseases/advance/symptoms/sensory.dm +++ b/code/datums/diseases/advance/symptoms/sensory.dm @@ -24,35 +24,31 @@ Bonus level = 5 severity = 0 -/datum/symptom/sensory_restoration/proc/check_and_add(reagent, check, add, mob/living/M) - if(M.reagents.get_reagent_amount(reagent) < check) - M.reagents.add_reagent(reagent, add) - return 1 - /datum/symptom/sensory_restoration/Activate(var/datum/disease/advance/A) ..() if(prob(SYMPTOM_ACTIVATION_PROB * 3)) var/mob/living/M = A.affected_mob + var/datum/reagents/RD = M.reagents switch(A.stage) if(2) - if(check_and_add("oculine", 10, 10, M)) + if(RD.check_and_add("oculine", 10, 10)) to_chat(M, "Your hearing feels clearer and crisp.") if(3) - if(check_and_add("antihol", 10, 10, M)) + if(RD.check_and_add("antihol", 10, 10)) to_chat(M, "You feel sober.") - check_and_add("oculine", 10, 10, M) + RD.check_and_add("oculine", 10, 10) if(4) - if(check_and_add("synaphydramine", 10, 5, M)) + if(RD.check_and_add("synaphydramine", 10, 5)) to_chat(M, "You feel focused.") - check_and_add("antihol", 10, 10, M) - check_and_add("oculine", 10, 10, M) + RD.check_and_add("antihol", 10, 10) + RD.check_and_add("oculine", 10, 10) if(5) - if(check_and_add("mannitol", 10, 10, M)) + if(RD.check_and_add("mannitol", 10, 10)) to_chat(M, "Your mind feels relaxed.") - check_and_add("synaphydramine", 10, 5, M) - check_and_add("antihol", 10, 10, M) - check_and_add("oculine", 10, 10, M) + RD.check_and_add("synaphydramine", 10, 5) + RD.check_and_add("antihol", 10, 10) + RD.check_and_add("oculine", 10, 10) return diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index dacd44a5035..43233df217b 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -594,6 +594,11 @@ var/const/INGEST = 2 return 1 +/datum/reagents/proc/check_and_add(reagent, check, add) + if(get_reagent_amount(reagent) < check) + add_reagent(reagent, add) + return TRUE + /datum/reagents/proc/remove_reagent(reagent, amount, safety)//Added a safety check for the trans_id_to if(!isnum(amount))