From 065522800af089826401be56f2c65a07e8720e3e Mon Sep 17 00:00:00 2001 From: Winterous <38158801+Winterous@users.noreply.github.com> Date: Thu, 12 Apr 2018 00:33:12 +1000 Subject: [PATCH] Forcing the human liver to actually do its job v2 (#37032) * Update liver.dm * Update liver.dm * Update liver.dm --- code/modules/surgery/organs/liver.dm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 0cc7af703c..3cb1a7e764 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -28,13 +28,16 @@ if(filterToxins) //handle liver toxin filtration var/toxamount - var/static/list/listOfToxinsInThisBitch = typesof(/datum/reagent/toxin) - for(var/datum/reagent/toxin/toxin in listOfToxinsInThisBitch) - toxamount += C.reagents.get_reagent_amount(initial(toxin.id)) - + var/static/list/toxinstypecache = typecacheof(/datum/reagent/toxin) + for(var/I in C.reagents.reagent_list) + var/datum/reagent/pickedreagent = I + if(is_type_in_typecache(pickedreagent, toxinstypecache)) + toxamount += C.reagents.get_reagent_amount(initial(pickedreagent.id)) if(toxamount <= toxTolerance && toxamount > 0) - for(var/datum/reagent/toxin/toxin in listOfToxinsInThisBitch) - C.reagents.remove_reagent(initial(toxin.id), 1) + for(var/I in C.reagents.reagent_list) + var/datum/reagent/pickedreagent = I + if(is_type_in_typecache(pickedreagent, toxinstypecache)) + C.reagents.remove_reagent(initial(pickedreagent.id), 1) else if(toxamount > toxTolerance) damage += toxamount*toxLethality