Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 52 additions & 23 deletions code/modules/vore/eating/belly_obj_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
var/override_min_prey_size = FALSE //If true, exceeding override prey number will override minimum size requirements
var/override_min_prey_num = 1 //We check belly contents against this to override min size
var/belly_overall_mult = 1 //Multiplier applied ontop of any other specific multipliers //RS Edit. Added from VS.
var/private_struggle = FALSE //RS Edit: Adds private struggling CHOMPStation PR7443
//RS Edit: Ports Slow Body Digestion, CHOMPStation PR 5161
var/slow_digestion = FALSE
var/slow_brutal = FALSE
Expand Down Expand Up @@ -395,7 +396,7 @@
"fullness3_messages",
"fullness4_messages",
"fullness5_messages", // End reagent bellies
"autotransferchance", //RS Add Start || Port Chop 2821, 2979, 6155
"autotransferchance", //RS Add Start || Port Chomp 2821, 2979, 6155
"autotransferwait",
"autotransferlocation",
"autotransfer_enabled",
Expand All @@ -404,7 +405,8 @@
"autotransfer_min_amount",
"autotransfer_max_amount",
"belly_healthbar_overlay_theme",
"belly_healthbar_overlay_color" //RS ADD END
"belly_healthbar_overlay_color", //RS ADD END
"private struggle" //RS add || CHOMPStation PR7443
)

if (save_digest_mode == 1)
Expand Down Expand Up @@ -1431,8 +1433,13 @@
struggle_outer_message = "<span class='alert'>[struggle_outer_message]</span>"
struggle_user_message = "<span class='alert'>[struggle_user_message]</span>"

for(var/mob/M in hearers(4, owner))
M.show_message(struggle_outer_message, 2) // hearable
//RS Edit start || Ports CHOMPStation PR7443
if(private_struggle)
to_chat(owner, struggle_outer_message)
else
for(var/mob/M in hearers(4, owner))
M.show_message(struggle_outer_message, 2) // hearable
//RS Edit end
//to_chat(R, struggle_user_message) RS remove - moved to bottom of proc

var/sound/struggle_snuggle
Expand All @@ -1445,14 +1452,17 @@
howner.vs_animate(belly_sprite_to_affect)
// End RS edit

if(is_wet)
if(!fancy_vore)
struggle_snuggle = sound(get_sfx("classic_struggle_sounds"))
else
struggle_snuggle = sound(get_sfx("fancy_prey_struggle"))
playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
//RS Edit start || Ports CHOMPStation PR7443
if(!private_struggle)
if(is_wet)
if(!fancy_vore)
struggle_snuggle = sound(get_sfx("classic_struggle_sounds"))
else
struggle_snuggle = sound(get_sfx("fancy_prey_struggle"))
playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
else
playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
//RS Edit end

if(escapable) //If the stomach has escapable enabled.
if(prob(escapechance)) //Let's have it check to see if the prey escapes first.
Expand Down Expand Up @@ -1495,7 +1505,11 @@
to_chat(R, escape_item_prey_message) //RS edit
to_chat(owner, escape_item_owner_message) //RS edit
for(var/mob/M in hearers(4, owner))
M.show_message(escape_item_outside_message, 2) //RS edit
//RS Edit begin || CHOMPStation PR7443
if(!private_struggle)
for(var/mob/M in hearers(4, owner))
M.show_message(escape_item_outside_message, 2)
//RS Edit end
return
if(escapable && (R.loc == src) && !R.absorbed) //Does the owner still have escapable enabled?
//RS edit start - VS 15559
Expand Down Expand Up @@ -1528,8 +1542,11 @@
release_specific_contents(R)
to_chat(R, escape_prey_message) //RS edit
to_chat(owner, escape_owner_message) //RS edit
for(var/mob/M in hearers(4, owner))
M.show_message(escape_outside_message, 2) // RS edit
//RS Edit begin || CHOMPStation PR7443
if(!private_struggle)
for(var/mob/M in hearers(4, owner))
M.show_message(escape_outside_message, 2)
//RS Edit end
return
else if(!(R.loc == src)) //Aren't even in the belly. Quietly fail.
return
Expand Down Expand Up @@ -1731,20 +1748,29 @@
struggle_user_message = "<span class='alert'>[struggle_user_message]</span>"

for(var/mob/M in hearers(4, owner))
M.show_message(struggle_outer_message, 2) // hearable
//RS Edit || CHOMPStation PR7443
if(private_struggle)
to_chat(owner, struggle_outer_message)
else
for(var/mob/M in hearers(4, owner))
M.show_message(struggle_outer_message, 2) // hearable
//RS Edit end
//to_chat(R, struggle_user_message) RS remove - moved to bottom of proc

var/sound/struggle_snuggle
var/sound/struggle_rustle = sound(get_sfx("rustle"))

if(is_wet)
if(!fancy_vore)
struggle_snuggle = sound(get_sfx("classic_struggle_sounds"))
//RS Edit start || CHOMPStation PR7443
if(!private_struggle)
if(is_wet)
if(!fancy_vore)
struggle_snuggle = sound(get_sfx("classic_struggle_sounds"))
else
struggle_snuggle = sound(get_sfx("fancy_prey_struggle"))
playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
else
struggle_snuggle = sound(get_sfx("fancy_prey_struggle"))
playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
else
playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises, volume_channel = VOLUME_CHANNEL_VORE)
//RS Edit end

//RS Edit Start - virgo port
//absorb resists
Expand Down Expand Up @@ -1808,8 +1834,11 @@
release_specific_contents(R)
to_chat(R, escape_absorbed_prey_message) //RS edit
to_chat(owner, escape_absorbed_owner_message) //RS edit
for(var/mob/M in hearers(4, owner))
M.show_message(escape_absorbed_outside_message, 2)//RS edit
//RS Edit begin || CHOMPStation PR7443
if(!private_struggle)
for(var/mob/M in hearers(4, owner))
M.show_message(escape_absorbed_outside_message, 2)
//RS Edit end
return
else if(!(R.loc == src)) //Aren't even in the belly. Quietly fail.
return
Expand Down
2 changes: 2 additions & 0 deletions code/modules/vore/eating/exportpanel_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,4 +211,6 @@
belly_data["autotransfer_min_amount"] = B.autotransfer_min_amount
belly_data["autotransfer_max_amount"] = B.autotransfer_max_amount

belly_data["private_struggle"] = B.private_struggle //RS Edit || Ports CHOMPStation PR7443

return data
12 changes: 12 additions & 0 deletions code/modules/vore/eating/vorepanel_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
"max_mush" = selected.max_mush,
"min_mush" = selected.min_mush,
// End reagent bellies
"private_struggle" = selected.private_struggle //RS Edit || Ports CHOMPStation PR7443
)

var/list/addons = list()
Expand Down Expand Up @@ -692,6 +693,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
host.client.prefs_vr.autotransferable = host.autotransferable
unsaved_changes = TRUE
return TRUE //RS Add End
//RS Add start || Ports CHOMPStation PR7443
if("private_struggle")
host.vore_selected.private_struggle = !host.vore_selected.private_struggle
unsaved_changes = TRUE
return TRUE
//RS Add end
if("toggle_drop_vore")
host.drop_vore = !host.drop_vore
unsaved_changes = TRUE
Expand Down Expand Up @@ -1318,6 +1325,11 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
host.vore_selected.release_sound = "Splatter"
// defaults as to avoid potential bugs
. = TRUE
//RS Edit || Ports CHOMPStation PR7443
if("b_private_struggle")
host.vore_selected.private_struggle = !host.vore_selected.private_struggle
. = TRUE
//RS Edit end
if("b_release")
var/choice
if(host.vore_selected.fancy_vore)
Expand Down
12 changes: 11 additions & 1 deletion tgui/packages/tgui/interfaces/VorePanel.js
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,7 @@ const VoreSelectedBellyOptions = (props, context) => {
override_min_prey_size,
override_min_prey_num,
drainmode, // RS Edit || ports VOREStation PR 15876
private_struggle, // RS Edit || ports VOREStation PR 7443
} = belly;

return (
Expand Down Expand Up @@ -651,7 +652,16 @@ const VoreSelectedBellyOptions = (props, context) => {
content={capitalize(eating_privacy_local)}
/>
</LabeledList.Item>

<LabeledList.Item label="Toggle Struggle Privacy">
<Button
onClick={() =>
act('set_attribute', { attribute: 'b_private_struggle' })
}
icon={private_struggle ? 'toggle-on' : 'toggle-off'}
selected={private_struggle}
content={private_struggle ? 'Private' : 'Loud'}
/>
</LabeledList.Item>
<LabeledList.Item label="Save Digest Mode">
<Button
onClick={() =>
Expand Down
Loading