From 81687384cf0f84d48e1be915d9e2142509576b58 Mon Sep 17 00:00:00 2001 From: killer653 Date: Fri, 2 Dec 2016 16:34:15 -0500 Subject: [PATCH 1/2] Makes it so mobs aren't given reagent lists. Should fix #732 This time put on the correct account for testing --- code/modules/vore/eating/belly_vr.dm | 34 ++++++++++++++++------------ 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index ac2032bdb23..bdc6d34288a 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -133,16 +133,18 @@ if(istype(M,/mob/living)) var/mob/living/ML = M + var/mob/living/OW = owner if(ML.absorbed) ML.absorbed = 0 ML.reagents = new/datum/reagents(1000,M) //Human reagent datums hold 1000 - var/datum/reagents/OR = owner.reagents - var/absorbed_count = 2 //Prey that we were, plus the pred gets a portion - for(var/mob/living/P in internal_contents) - if(P.absorbed) - absorbed_count++ + if(OW.reagents && istype(OW.reagents,/datum/reagents)) //Does the pred have a reagents list? + var/datum/reagents/OR = owner.reagents + var/absorbed_count = 2 //Prey that we were, plus the pred gets a portion + for(var/mob/living/P in internal_contents) + if(P.absorbed) + absorbed_count++ - OR.trans_to(ML,OR.total_volume / absorbed_count) + OR.trans_to(ML,OR.total_volume / absorbed_count) var/datum/belly/B = check_belly(owner) if(B) @@ -264,8 +266,10 @@ //Reagent transfer if(M.reagents && istype(M.reagents,/datum/reagents)) - var/datum/reagents/RL = M.reagents - RL.trans_to(owner,RL.total_volume*0.5) + var/mob/living/OW = owner + if(OW.reagents && istype(OW.reagents,/datum/reagents)) //Does the pred have a reagents list to give to? + var/datum/reagents/RL = M.reagents + RL.trans_to(owner,RL.total_volume*0.5) // Delete the digested mob qdel(M) @@ -313,14 +317,16 @@ M.absorbed = 1 M << "[owner]'s [name] absorbs your body, making you part of them." owner << "Your [name] absorbs [M]'s body, making them part of you." + var/OW = owner //Reagent sharing for absorbed with pred - var/datum/reagents/OR = owner.reagents - var/datum/reagents/PR = M.reagents - - PR.trans_to(owner,PR.total_volume) - M.reagents = OR - del(PR) + if(OW.reagents && istype(OW.reagents,/datum/reagents))) //Does the pred have a reagent list? + if(M.reagents && istype(M.reagents,/datum/reagents)) //Does the prey have a reagent list? + var/datum/reagents/OR = owner.reagents + var/datum/reagents/PR = M.reagents + PR.trans_to(owner,PR.total_volume) + M.reagents = OR + del(PR) //This is probably already the case, but for sub-prey, it won't be. M.forceMove(owner) From f79da03905edfc86def1cf3679886969709dfd5d Mon Sep 17 00:00:00 2001 From: killer653 Date: Fri, 2 Dec 2016 17:43:42 -0500 Subject: [PATCH 2/2] Minor text fixes --- code/modules/vore/eating/belly_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/vore/eating/belly_vr.dm b/code/modules/vore/eating/belly_vr.dm index bdc6d34288a..ddc6aafb517 100644 --- a/code/modules/vore/eating/belly_vr.dm +++ b/code/modules/vore/eating/belly_vr.dm @@ -317,10 +317,10 @@ M.absorbed = 1 M << "[owner]'s [name] absorbs your body, making you part of them." owner << "Your [name] absorbs [M]'s body, making them part of you." - var/OW = owner + var/mob/living/OW = owner //Reagent sharing for absorbed with pred - if(OW.reagents && istype(OW.reagents,/datum/reagents))) //Does the pred have a reagent list? + if(OW.reagents && istype(OW.reagents,/datum/reagents)) //Does the pred have a reagent list? if(M.reagents && istype(M.reagents,/datum/reagents)) //Does the prey have a reagent list? var/datum/reagents/OR = owner.reagents var/datum/reagents/PR = M.reagents