From 51fca7102bd47b815ac4c8bb8f9b2ad6bfc5bda2 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Mon, 14 Apr 2025 12:57:30 -0700 Subject: [PATCH] [MIRROR] fix some bad mobvore checks (#10654) Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/living_defense.dm | 4 ++-- code/modules/vore/eating/slipvore_vr.dm | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index d9ac50a8e9..b09feccd07 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -400,7 +400,7 @@ emp_act // I put more comments here for ease of reading. if(isliving(AM)) var/mob/living/thrown_mob = AM - if(isanimal(thrown_mob) && !allowmobvore) //Is the thrown_mob an animal and we don't allow mobvore? + if(isanimal(thrown_mob) && !allowmobvore && !thrown_mob.ckey) //Is the thrown_mob an animal and we don't allow mobvore? return // PERSON BEING HIT: CAN BE DROP PRED, ALLOWS THROW VORE. // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index c3556dc8b2..3845fb6564 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -341,7 +341,7 @@ // PERSON BEING HIT: CAN BE DROP PRED, ALLOWS THROW VORE. // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. if((can_be_drop_pred && throw_vore) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. - if(!thrown_mob.allowmobvore && isanimal(src) || !vore_selected) //Does the person being thrown not allow mob vore and is the person being hit (us) a simple_mob? + if(!thrown_mob.allowmobvore && isanimal(src) && !ckey || !vore_selected) //Does the person being thrown not allow mob vore and is the person being hit (us) a simple_mob? return vore_selected.nom_mob(thrown_mob) //Eat them!!! visible_message(span_vwarning("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!")) @@ -354,7 +354,7 @@ // PERSON BEING HIT: CAN BE DROP PREY, ALLOWS THROW VORE, AND IS DEVOURABLE. // PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE. else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore)) //Pred thrown into prey. - if(!allowmobvore && isanimal(thrown_mob) || !thrown_mob.vore_selected) //Does the person being hit not allow mob vore and the perrson being thrown a simple_mob? + if(!allowmobvore && isanimal(thrown_mob) && !thrown_mob.ckey || !thrown_mob.vore_selected) //Does the person being hit not allow mob vore and the perrson being thrown a simple_mob? return visible_message(span_vwarning("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!")) thrown_mob.vore_selected.nom_mob(src) //Eat them!!! diff --git a/code/modules/vore/eating/slipvore_vr.dm b/code/modules/vore/eating/slipvore_vr.dm index c9f9bdb3fa..73e3c31480 100644 --- a/code/modules/vore/eating/slipvore_vr.dm +++ b/code/modules/vore/eating/slipvore_vr.dm @@ -10,6 +10,8 @@ return FALSE if(is_incorporeal()) return FALSE + if(!target.allowmobvore && isanimal(src) && !ckey) + return FALSE if(world.time <= target.slip_protect) return FALSE if(!(src.can_be_drop_pred && target.devourable && target.can_be_drop_prey)) //Make sure both of their prefs align with what we're gonna do. @@ -27,6 +29,8 @@ return FALSE if(is_incorporeal()) return FALSE + if(!allowmobvore && isanimal(target) && !target.ckey) + return FALSE if(world.time <= target.slip_protect) return FALSE if(!(target.can_be_drop_pred && src.devourable && src.can_be_drop_prey)) //Make sure both of their prefs align with what we're gonna do.