From 04c07043024e1c78dd45c782242bca1139d3be61 Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Sat, 7 Jan 2023 09:55:41 -1000 Subject: [PATCH] Ensures mobtypes are checked before verifying surgery can start (#20081) --- code/datums/components/surgery_initiator.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm index 8a7955ecf0e..f32547d4e70 100644 --- a/code/datums/components/surgery_initiator.dm +++ b/code/datums/components/surgery_initiator.dm @@ -138,16 +138,15 @@ /datum/component/surgery_initiator/proc/get_available_surgeries(mob/user, mob/living/target) var/list/available_surgeries = list() - for(var/datum/surgery/surgery in GLOB.surgeries_list) if(surgery.abstract && !istype(surgery, forced_surgery)) // no choosing abstract surgeries, though they can be forced continue + if(!is_type_in_list(target, surgery.target_mobtypes)) + continue if(!target.can_run_surgery(surgery, user)) continue - for(var/path in surgery.target_mobtypes) - if(istype(target, path)) - available_surgeries += surgery - break + + available_surgeries |= surgery return available_surgeries