diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 3e8f60de13..44bdd74cb4 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -55,6 +55,7 @@ var/emote_active = TRUE // Are we even giving emotes out at all or not? var/next_emote = 0 // When we're supposed to print our next emote, as a world.time var/selective_preference = DM_DIGEST // Which type of selective bellymode do we default to? + var/is_feedable = TRUE // If this belly shows up in belly selections for others. //CHOMPAdd // Generally just used by AI var/autotransferchance = 0 // % Chance of prey being autotransferred to transfer location @@ -288,7 +289,8 @@ "slow_brutal", "sound_volume", "speedy_mob_processing", - "egg_name", //CHOMP end of variables from CHOMP + "egg_name", + "is_feedable", //CHOMP end of variables from CHOMP "egg_type", "save_digest_mode" ) @@ -1513,7 +1515,8 @@ dupe.slow_digestion = slow_digestion dupe.slow_brutal = slow_brutal dupe.sound_volume = sound_volume - dupe.egg_name = egg_name //CHOMP end of variables from CHOMP + dupe.egg_name = egg_name + dupe.is_feedable = is_feedable //CHOMP end of variables from CHOMP dupe.belly_fullscreen = belly_fullscreen dupe.disable_hud = disable_hud diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 0883c1c2ed..6c6d3fe047 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -578,6 +578,16 @@ // // Eating procs depending on who clicked what // + +//CHOMPAdd Start +/mob/living/proc/feedable_bellies() + var/list/bellies = list() + for(var/obj/belly/Y in src.vore_organs) + if(Y.is_feedable) + bellies += Y + return bellies +//CHOMPAdd End + /mob/living/proc/feed_grabbed_to_self(mob/living/user, mob/living/prey) var/belly = user.vore_selected return perform_the_nom(user, prey, user, belly) @@ -585,17 +595,17 @@ /mob/living/proc/eat_held_mob(mob/living/user, mob/living/prey, mob/living/pred) var/belly if(user != pred) - belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.vore_organs) + belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.feedable_bellies()) //CHOMPEdit else belly = pred.vore_selected return perform_the_nom(user, prey, pred, belly) /mob/living/proc/feed_self_to_grabbed(mob/living/user, mob/living/pred) - var/belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.vore_organs) + var/belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.feedable_bellies()) //CHOMPEdit return perform_the_nom(user, user, pred, belly) /mob/living/proc/feed_grabbed_to_other(mob/living/user, mob/living/prey, mob/living/pred) - var/belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.vore_organs) + var/belly = tgui_input_list(usr, "Choose Belly", "Belly Choice", pred.feedable_bellies()) //CHOMPEdit return perform_the_nom(user, prey, pred, belly) // diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 0199d92f64..70c1baf8d8 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -180,6 +180,7 @@ "release_sound" = selected.release_sound, // "messages" // TODO "can_taste" = selected.can_taste, + "is_feedable" = selected.is_feedable, //CHOMPAdd "egg_type" = selected.egg_type, "egg_name" = selected.egg_name, //CHOMPAdd "nutrition_percent" = selected.nutrition_percent, @@ -1490,6 +1491,9 @@ if("b_tastes") host.vore_selected.can_taste = !host.vore_selected.can_taste . = TRUE + if("b_feedable") //CHOMPAdd + host.vore_selected.is_feedable = !host.vore_selected.is_feedable + . = TRUE if("b_bulge_size") var/new_bulge = tgui_input_number(user, "Choose the required size prey must be to show up on examine, ranging from 25% to 200% Set this to 0 for no text on examine.", "Set Belly Examine Size.", max_value = 200, min_value = 0) if(new_bulge == null) diff --git a/modular_chomp/code/modules/vore/eating/exportpanel_ch.dm b/modular_chomp/code/modules/vore/eating/exportpanel_ch.dm index 79c3ad75b0..07d015ddd4 100644 --- a/modular_chomp/code/modules/vore/eating/exportpanel_ch.dm +++ b/modular_chomp/code/modules/vore/eating/exportpanel_ch.dm @@ -159,6 +159,7 @@ belly_data["digest_oxy"] = B.digest_oxy belly_data["can_taste"] = B.can_taste + belly_data["is_feedable"] = B.is_feedable belly_data["contaminates"] = B.contaminates belly_data["contamination_flavor"] = B.contamination_flavor belly_data["contamination_color"] = B.contamination_color diff --git a/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index 5b7583570a..e9cd182d91 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -571,6 +571,7 @@ const VoreSelectedBellyOptions = (props, context) => { const { belly } = props; const { can_taste, + is_feedable, nutrition_percent, digest_brute, digest_burn, @@ -604,6 +605,14 @@ const VoreSelectedBellyOptions = (props, context) => { content={can_taste ? 'Yes' : 'No'} /> + +