diff --git a/code/game/objects/items/devices/scanners/sleevemate.dm b/code/game/objects/items/devices/scanners/sleevemate.dm index 76f6f6b50b..74f505bfe8 100644 --- a/code/game/objects/items/devices/scanners/sleevemate.dm +++ b/code/game/objects/items/devices/scanners/sleevemate.dm @@ -23,6 +23,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob var/ooc_notes_maybes = null var/ooc_notes_dislikes = null var/ooc_notes_style = FALSE + var/soulcatcher_pref_flags = NONE // Resleeving database this machine interacts with. Blank for default database // Needs a matching /datum/transcore_db with key defined in code @@ -52,6 +53,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob ooc_notes_maybes = M.ooc_notes_maybes ooc_notes_style = M.ooc_notes_style stored_mind = M.mind + soulcatcher_pref_flags = M.soulcatcher_pref_flags M.ghostize() stored_mind.current = null update_icon() @@ -65,6 +67,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob M.ooc_notes_favs = ooc_notes_favs M.ooc_notes_maybes = ooc_notes_maybes M.ooc_notes_style = ooc_notes_style + M.soulcatcher_pref_flags = soulcatcher_pref_flags SEND_GLOBAL_SIGNAL(COMSIG_GLOB_RESLEEVED_MIND, M, stored_mind) clear_mind() @@ -290,6 +293,10 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob if(!sleevemate_mob) sleevemate_mob = new() + if(!(soulcatcher_pref_flags & SOULCATCHER_ALLOW_CAPTURE)) + to_chat(usr,span_notice("[sleevemate_mob] can't be transferred!")) + return + put_mind(sleevemate_mob) SC.catch_mob(sleevemate_mob) to_chat(usr,span_notice("Mind transferred into Soulcatcher!")) diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm index 5e5c7b0c76..057437d241 100644 --- a/code/modules/food/recipe.dm +++ b/code/modules/food/recipe.dm @@ -71,18 +71,17 @@ if(!avail_reagents) return FALSE - . = TRUE for(var/r_r in reagents) var/aval_r_amnt = avail_reagents.get_reagent_amount(r_r) - if(aval_r_amnt - reagents[r_r] >= 0) - if(aval_r_amnt>(reagents[r_r]) && exact) - . = FALSE - else + if(aval_r_amnt - reagents[r_r] < 0) return FALSE - if((reagents?(reagents.len):(0)) < avail_reagents.reagent_list.len) + if(aval_r_amnt > (reagents[r_r]) && exact) + return FALSE + + if(LAZYLEN(reagents) < avail_reagents.reagent_list.len) return FALSE - return . + return TRUE /datum/recipe/proc/check_fruit(var/obj/container, var/exact = FALSE) if (!fruit || !fruit.len) diff --git a/code/modules/vore/eating/mob_vr.dm b/code/modules/vore/eating/mob_vr.dm index 46acf99a3b..6fa146655e 100644 --- a/code/modules/vore/eating/mob_vr.dm +++ b/code/modules/vore/eating/mob_vr.dm @@ -94,7 +94,7 @@ var/no_latejoin_vore_warning_persists = FALSE //Do we save it? var/no_latejoin_prey_warning_persists = FALSE //Do we save it? var/belly_rub_target = null - var/soulcatcher_pref_flags = 0 //Default disabled + var/soulcatcher_pref_flags = NONE //Default disabled var/persistend_edit_mode = FALSE var/voice_freq = 42500 // Preference for character voice frequency diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index 154ca54b58..a566ea2070 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -92,7 +92,7 @@ var/no_latejoin_vore_warning_persists = FALSE var/no_latejoin_prey_warning_persists = FALSE var/belly_rub_target = null - var/soulcatcher_pref_flags = 0 + var/soulcatcher_pref_flags = NONE var/list/soulcatcher_prefs = list() var/max_voreoverlay_alpha = 255 var/persistend_edit_mode = FALSE @@ -396,7 +396,7 @@ if(isnull(no_latejoin_prey_warning_persists)) no_latejoin_prey_warning_persists = FALSE if(isnull(soulcatcher_pref_flags)) - soulcatcher_pref_flags = 0 + soulcatcher_pref_flags = NONE if(isnull(soulcatcher_prefs)) soulcatcher_prefs = list() if(isnull(persistend_edit_mode))