From 67c7a871fc080b84a32d71390e843d85cbcf1e9c Mon Sep 17 00:00:00 2001 From: Verkister Date: Mon, 18 Sep 2023 18:48:25 +0300 Subject: [PATCH] Adds belly-specific toggle setting for entrance logs (#6991) --- code/modules/vore/eating/belly_obj_ch.dm | 1 + code/modules/vore/eating/belly_obj_vr.dm | 8 +++++--- code/modules/vore/eating/vorepanel_vr.dm | 13 ++++++++++++- tgui/packages/tgui_ch/interfaces/VorePanel.js | 13 ++++++++++++- tgui/public/tgui.bundle.js | 2 +- 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/code/modules/vore/eating/belly_obj_ch.dm b/code/modules/vore/eating/belly_obj_ch.dm index b25d2a11e7..2fd5aad1a7 100644 --- a/code/modules/vore/eating/belly_obj_ch.dm +++ b/code/modules/vore/eating/belly_obj_ch.dm @@ -123,6 +123,7 @@ var/cycle_sloshed = FALSE // Has vorgan entrance made a wet slosh this cycle? Soundspam prevention for multiple items entered. var/egg_cycles = 0 // Process egg mode after 10 cycles. var/recycling = FALSE // Recycling mode. + var/entrance_logs = TRUE // Belly-specific entry message toggle. /obj/belly/proc/GetFullnessFromBelly() if(!affects_vore_sprites) diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 917f71488b..e3876c827a 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -315,7 +315,8 @@ "speedy_mob_processing", "egg_name", "recycling", - "is_feedable", //CHOMP end of variables from CHOMP + "is_feedable", + "entrance_logs", //CHOMP end of variables from CHOMP "egg_type", "save_digest_mode", "eating_privacy_local", @@ -384,7 +385,7 @@ //CHOMPEdit end //Generic entered message - if(!owner.mute_entry) //CHOMPEdit + if(!owner.mute_entry && entrance_logs) //CHOMPEdit to_chat(owner,"[thing] slides into your [lowertext(name)].") //Sound w/ antispam flag setting @@ -1718,7 +1719,8 @@ dupe.sound_volume = sound_volume dupe.egg_name = egg_name dupe.recycling = recycling - dupe.is_feedable = is_feedable //CHOMP end of variables from CHOMP + dupe.is_feedable = is_feedable + dupe.entrance_logs = entrance_logs //CHOMP end of variables from CHOMP dupe.belly_fullscreen = belly_fullscreen dupe.disable_hud = disable_hud diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index fca9a1dbe8..836c51dbd3 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -212,6 +212,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", "egg_type" = selected.egg_type, "egg_name" = selected.egg_name, //CHOMPAdd "recycling" = selected.recycling, //CHOMPAdd + "entrance_logs" = selected.entrance_logs, //CHOMPAdd "nutrition_percent" = selected.nutrition_percent, "digest_brute" = selected.digest_brute, "digest_burn" = selected.digest_burn, @@ -870,7 +871,14 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if(new_recycling == 0) new_belly.recycling = FALSE if(new_recycling == 1) - new_belly.recycling = TRUE //CHOMPAdd End + new_belly.recycling = TRUE + + if(isnum(belly_data["entrance_logs"])) + var/new_entrance_logs = belly_data["entrance_logs"] + if(new_entrance_logs == 0) + new_belly.entrance_logs = FALSE + if(new_entrance_logs == 1) + new_belly.entrance_logs = TRUE //CHOMPAdd End if(istext(belly_data["selective_preference"])) var/new_selective_preference = belly_data["selective_preference"] @@ -2517,6 +2525,9 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if("b_feedable") //CHOMPAdd host.vore_selected.is_feedable = !host.vore_selected.is_feedable . = TRUE + if("b_entrance_logs") //CHOMPAdd + host.vore_selected.entrance_logs = !host.vore_selected.entrance_logs + . = 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/tgui/packages/tgui_ch/interfaces/VorePanel.js b/tgui/packages/tgui_ch/interfaces/VorePanel.js index 956c7db4ed..42ee1cd1ab 100644 --- a/tgui/packages/tgui_ch/interfaces/VorePanel.js +++ b/tgui/packages/tgui_ch/interfaces/VorePanel.js @@ -49,7 +49,7 @@ const digestModeToPreyMode = { * show_liq, liq_interacts, liq_reagent_gen, liq_reagent_type, liq_reagent_name, * liq_reagent_transfer_verb, liq_reagent_nutri_rate, liq_reagent_capacity, liq_sloshing, liq_reagent_addons, * show_liq_fullness, liq_messages, liq_msg_toggle1, liq_msg_toggle2, liq_msg_toggle3, liq_msg_toggle4, - * liq_msg_toggle5, liq_msg1, liq_msg2, liq_msg3, liq_msg4, liq_msg5, sound_volume, egg_name, recycling, + * liq_msg_toggle5, liq_msg1, liq_msg2, liq_msg3, liq_msg4, liq_msg5, sound_volume, egg_name, recycling, entrance_logs, * custom_reagentcolor, custom_reagentalpha, liquid_overlay, max_liquid_level, mush_overlay, mush_color, mush_alpha, max_mush, min_mush, item_mush_val * * To the tabs section of VoreSelectedBelly return @@ -688,6 +688,7 @@ const VoreSelectedBellyOptions = (props, context) => { egg_type, egg_name, recycling, + entrance_logs, selective_preference, save_digest_mode, eating_privacy_local, @@ -892,6 +893,16 @@ const VoreSelectedBellyOptions = (props, context) => { content={recycling ? 'Enabled' : 'Disabled'} /> + + ",$e+='
',$e+='
',$e+="Addons:
"+function(e){var t=[];return null==e||e.forEach((function(e){t.push(''+e+"")})),0===t.length&&t.push("No Addons Set"),t}(m)+"

",$e+="== Descriptions ==
",$e+="Vore Verb:
"+i+"

",$e+="Release Verb:
"+a+"

",$e+='Description:
"'+o+'"

',$e+='Absorbed Description:
"'+r+'"

',$e+="
",$e+="== Messages ==
",$e+='
',$e+='
",$e+='
',$e+='
',$e+='
',null==A||A.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==M||M.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==E||E.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==O||O.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==P||P.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==F||F.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==D||D.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==R||R.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==j||j.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==W||W.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==z||z.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==U||U.forEach((function(e){$e+=e+"
"})),$e+="
",$e+="
",$e+="
",$e+="
",$e+="
= Idle Messages =

",$e+="

Idle Messages (Hold):

",null==q||q.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Hold Absorbed):

",null==G||G.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Digest):

",null==H||H.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Absorb):

",null==K||K.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Unabsorb):

",null==ee||ee.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Drain):

",null==$||$.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Heal):

",null==Y||Y.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Size Steal):

",null==X||X.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Shrink):

",null==J||J.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Grow):

",null==Z||Z.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="
Idle Messages (Encase In Egg):

",null==Q||Q.forEach((function(e){$e+=e+"
"})),$e+="


",$e+="


",$e+="
",$e+='
',$e+='
',$e+='

',$e+='

",$e+='
',$e+='
',$e+='
    ',$e+='
  • Can Taste: '+(b?'Yes':'No')+"
  • ",$e+='
  • Feedable: '+(N?'Yes':'No')+"
  • ",$e+='
  • Contaminates: '+(g?'Yes':'No')+"
  • ",$e+='
  • Contamination Flavor: '+V+"
  • ",$e+='
  • Contamination Color: '+v+"
  • ",$e+='
  • Nutritional Gain: '+_+"%
  • ",$e+='
  • Required Examine Size: '+100*y+"%
  • ",$e+='
  • Display Absorbed Examines: '+(k?'True':'False')+"
  • ",$e+='
  • Save Digest Mode: '+(x?'True':'False')+"
  • ",$e+='
  • Idle Emotes: '+(w?'Active':'Inactive')+"
  • ",$e+='
  • Idle Emote Delay: '+L+" seconds
  • ",$e+='
  • Shrink/Grow Size: '+100*B+"%
  • ",$e+='
  • Vore Spawn Blacklist: '+(S?'Yes':'No')+"
  • ",$e+='
  • Egg Type: '+I+"
  • ",$e+='
  • Selective Mode Preference: '+T+"
  • ",$e+="
",$e+="
",$e+='
',$e+='

',$e+='

",$e+='
',$e+='
',$e+='
    ',$e+='
  • Fleshy Belly: '+(te?'Yes':'No')+"
  • ",$e+='
  • Internal Loop: '+(ne?'Yes':'No')+"
  • ",$e+='
  • Use Fancy Sounds: '+(oe?'Yes':'No')+"
  • ",$e+='
  • Vore Sound: '+re+"
  • ",$e+='
  • Release Sound: '+ie+"
  • ",$e+="
",$e+="
",$e+='
',$e+='

',$e+='

",$e+='
",$e+='
',$e+="Vore Sprites",$e+='
    ',$e+='
  • Affect Vore Sprites: '+(ae?'Yes':'No')+"
  • ",$e+='
  • Count Absorbed prey for vore sprites: '+(ce?'Yes':'No')+"
  • ",$e+='
  • Animation when prey resist: '+(le?'Yes':'No')+"
  • ",$e+='
  • Vore Sprite Size Factor: '+de+"
  • ",$e+='
  • Belly Sprite to affect: '+se+"
  • ",$e+="
",$e+="Belly Fullscreens Preview and Coloring",$e+='
    ',$e+='
  • Color: '+ue+"",$e+="
",$e+="Vore FX",$e+='
    ',$e+='
  • Disable Prey HUD: '+(me?'Yes':'No')+"
  • ",$e+="
",$e+="
",$e+='
',$e+='

',$e+='

",$e+='
',$e+='
',$e+="Belly Interactions ("+(pe?'Enabled':'Disabled')+")",$e+='
    ',$e+='
  • Escape Chance: '+fe+"%
  • ",$e+='
  • Escape Time: '+he/10+"s
  • ",$e+='
  • Transfer Chance: '+Ce+"%
  • ",$e+='
  • Transfer Location: '+be+"
  • ",$e+='
  • Secondary Transfer Chance: '+Ne+"%
  • ",$e+='
  • Secondary Transfer Location: '+ge+"
  • ",$e+='
  • Absorb Chance: '+Ve+"%
  • ",$e+='
  • Digest Chance: '+ve+"%
  • ",$e+="
",$e+="
",$e+="Auto-Transfer Options ("+(Le?'Enabled':'Disabled')+")",$e+='
    ',$e+='
  • Auto-Transfer Time: '+_e/10+"s
  • ",$e+='
  • Auto-Transfer Chance: '+ye+"%
  • ",$e+='
  • Auto-Transfer Location: '+ke+"
  • ",$e+='
  • Auto-Transfer Chance: '+xe+"%
  • ",$e+='
  • Auto-Transfer Location: '+we+"
  • ",$e+='
  • Auto-Transfer Min Amount: '+Be+"
  • ",$e+='
  • Auto-Transfer Max Amount: '+Se+"
  • ",$e+="
",$e+="
",$e+='
',$e+='

',$e+='

",$e+='
',$e+='
',$e+='
    ',$e+='
  • Generate Liquids: '+(Te?'On':'Off')+"
  • ",$e+='
  • Liquid Type: '+Ae+"
  • ",$e+='
  • Liquid Name: '+Me+"
  • ",$e+='
  • Transfer Verb: '+Ee+"
  • ",$e+='
  • Generation Time: '+Oe+"
  • ",$e+='
  • Liquid Capacity: '+Pe+"
  • ",$e+='
  • Slosh Sounds: '+(Fe?'On':'Off')+"
  • ",$e+='
  • Liquid Addons: '+function(e){var t=[];return null==e||e.forEach((function(e){t.push(''+e+"")})),0===t.length&&t.push("No Addons Set"),t}(De)+"
  • ",$e+="
",$e+="
",$e+='
',$e+='

',$e+='

",$e+='
',$e+='
',$e+='
',$e+='
",$e+='
',$e+='
',$e+='
',null==He||He.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==qe||qe.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==Ge||Ge.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==Ke||Ke.forEach((function(e){$e+=e+"
"})),$e+="
",$e+='
',null==Ye||Ye.forEach((function(e){$e+=e+"
"})),$e+="
",$e+="
",$e+="
",$e+="
",$e+="
",$e+="
"},m=function(e,t){var n,o=(0,r.useBackend)(e),i=(o.act,o.data),a=i.db_version,c=i.db_repo,l=i.mob_name,d=i.bellies,s=function(){var e=new Date,t=String(e.getHours());t.length<2&&(t="0"+t);var n=String(e.getMinutes());n.length<2&&(n="0"+n);var o=String(e.getDate());o.length<2&&(o="0"+o);var r=String(e.getMonth()+1);return r.length<2&&(r="0"+r)," "+String(e.getFullYear())+"-"+r+"-"+o+" ("+t+" "+n+")"}(),m=l+s+t;if(".html"===t){n=new Blob([''+d.length+" Exported Bellies (DB_VER: "+c+"-"+a+')

Bellies of '+l+'

Generated on: '+s+'

'],{type:"text/html;charset=utf8"}),d.forEach((function(e,t){n=new Blob([n,u(e,t)],{type:"text/html;charset=utf8"})})),n=new Blob([n,"
",'