diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 66df5151f2..1dff971638 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -13,6 +13,7 @@ next_process = times_fired + (6 SECONDS/wait) //Set up our next process time. var/play_sound //Potential sound to play at the end to avoid code duplication. + var/to_update = FALSE //Did anything update worthy happen? /////////////////////////// Auto-Emotes /////////////////////////// if(contents.len && next_emote <= times_fired) @@ -41,7 +42,7 @@ items_preserved |= I else digest_item(I) - owner.updateVRPanel() + to_update = TRUE did_an_item = TRUE //Handle eaten mobs @@ -72,8 +73,7 @@ items_preserved |= I else digest_item(I) - owner.updateVRPanel() - H.updateVRPanel() + to_update = TRUE break ///////////////////////////// DM_HOLD ///////////////////////////// @@ -113,6 +113,7 @@ play_sound = pick(death_sounds) digestion_death(M) owner.update_icons() + to_update = TRUE continue // Deal digestion damage (and feed the pred) @@ -128,9 +129,6 @@ owner.nutrition += offset*(2*(digest_brute+digest_burn)/difference) // 9.5 nutrition per digestion tick if they're 130 pounds and it's same size. 10.2 per digestion tick if they're 140 and it's same size. Etc etc. else owner.nutrition += 2*(digest_brute+digest_burn)/difference - M.updateVRPanel() - - owner.updateVRPanel() //////////////////////////// DM_ABSORB //////////////////////////// else if(digest_mode == DM_ABSORB) @@ -149,6 +147,7 @@ owner.nutrition += oldnutrition else if(M.nutrition < 100) //When they're finally drained. absorb_living(M) + to_update = TRUE //////////////////////////// DM_UNABSORB //////////////////////////// else if(digest_mode == DM_UNABSORB) @@ -161,6 +160,7 @@ to_chat(M,"You suddenly feel solid again ") to_chat(owner,"You feel like a part of you is missing.") owner.nutrition -= 100 + to_update = TRUE //////////////////////////// DM_DRAIN //////////////////////////// else if(digest_mode == DM_DRAIN) @@ -254,4 +254,11 @@ /////////////////////////// Make any noise /////////////////////////// if(play_sound) playsound(src, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises) + if(to_update) + for(var/mob/living/M in contents) + if(M.client) + M.updateVRPanel() + if(owner.client) + owner.updateVRPanel() + return SSBELLIES_PROCESSED