diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 32bb8e7dc5..ab4f4d1ae4 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -453,6 +453,9 @@ /obj/belly/Exited(atom/movable/thing, atom/OldLoc) . = ..() thing.exit_belly(src) // CHOMPedit - atom movable proc, does nothing by default. Overridden in children for special behavior. + if(isbelly(thing.loc)) //CHOMPEdit + if(count_items_for_sprite) //CHOMPEdit + owner.update_fullness() //CHOMPEdit if(isliving(thing) && !isbelly(thing.loc)) owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed. var/mob/living/L = thing diff --git a/code/modules/vore/eating/living_ch.dm b/code/modules/vore/eating/living_ch.dm index b72b7951f2..9731832dbe 100644 --- a/code/modules/vore/eating/living_ch.dm +++ b/code/modules/vore/eating/living_ch.dm @@ -22,10 +22,17 @@ var/vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") var/list/vore_icon_bellies = list("stomach") + var/updating_fullness = FALSE // Update fullness based on size & quantity of belly contents -/mob/living/proc/update_fullness() +/mob/living/proc/update_fullness(var/returning = FALSE) + if(!returning) + if(updating_fullness) + return + updating_fullness = TRUE + spawn(2) + updating_fullness = FALSE var/list/new_fullness = list() vore_fullness = 0 for(var/belly_class in vore_icon_bellies) diff --git a/modular_chomp/code/modules/mob/living/carbon/human/human.dm b/modular_chomp/code/modules/mob/living/carbon/human/human.dm index e07f8c603d..ac264fef09 100644 --- a/modular_chomp/code/modules/mob/living/carbon/human/human.dm +++ b/modular_chomp/code/modules/mob/living/carbon/human/human.dm @@ -1,9 +1,15 @@ -/mob/living/carbon/human/update_fullness() +/mob/living/carbon/human/update_fullness(var/returning = FALSE) + if(!returning) + if(updating_fullness) + return + updating_fullness = TRUE + spawn(2) + updating_fullness = FALSE var/previous_stomach_fullness = vore_fullness_ex["stomach"] var/previous_taur_fullness = vore_fullness_ex["taur belly"] //update_vore_tail_sprite() //update_vore_belly_sprite() - var/list/new_fullness = ..() + var/list/new_fullness = ..(TRUE) . = new_fullness for(var/datum/category_group/underwear/undergarment_class in global_underwear.categories) if(!new_fullness[undergarment_class.name])