mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-04 22:43:24 +00:00
Fixes worn item liquid digestion and adds setting for item digestion logs (#7095)
This commit is contained in:
@@ -436,7 +436,7 @@
|
||||
M.take_organ_damage(0, removed * power * 0.1) // Balance. The damage is instant, so it's weaker. 10 units -> 5 damage, double for pacid. 120 units beaker could deal 60, but a) it's burn, which is not as dangerous, b) it's a one-use weapon, c) missing with it will splash it over the ground and d) clothes give some protection, so not everything will hit
|
||||
|
||||
/datum/reagent/acid/touch_obj(var/obj/O, var/amount) //CHOMPEdit Start
|
||||
if(isbelly(O.loc))
|
||||
if(isbelly(O.loc) || isbelly(O.loc.loc))
|
||||
var/obj/belly/B = O.loc
|
||||
if(B.item_digest_mode == IM_HOLD)
|
||||
return
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
var/recycling = FALSE // Recycling mode.
|
||||
var/entrance_logs = TRUE // Belly-specific entry message toggle.
|
||||
var/noise_freq = 42500 // Tasty sound prefs.
|
||||
var/item_digest_logs = FALSE // Chat messages for digested items.
|
||||
|
||||
/obj/belly/proc/GetFullnessFromBelly()
|
||||
if(!affects_vore_sprites)
|
||||
|
||||
@@ -331,7 +331,8 @@
|
||||
"recycling",
|
||||
"is_feedable",
|
||||
"entrance_logs",
|
||||
"noise_freq", //CHOMP end of variables from CHOMP
|
||||
"noise_freq",
|
||||
"item_digest_logs", //CHOMP end of variables from CHOMP
|
||||
"egg_type",
|
||||
"save_digest_mode",
|
||||
"eating_privacy_local",
|
||||
@@ -1932,7 +1933,8 @@
|
||||
dupe.recycling = recycling
|
||||
dupe.is_feedable = is_feedable
|
||||
dupe.entrance_logs = entrance_logs
|
||||
dupe.noise_freq = noise_freq //CHOMP end of variables from CHOMP
|
||||
dupe.noise_freq = noise_freq
|
||||
dupe.item_digest_logs = item_digest_logs //CHOMP end of variables from CHOMP
|
||||
|
||||
dupe.belly_fullscreen = belly_fullscreen
|
||||
dupe.disable_hud = disable_hud
|
||||
|
||||
@@ -122,6 +122,8 @@
|
||||
reagents.trans_to_holder(H.ingested, (reagents.total_volume), B.nutrition_percent / 100, 0)
|
||||
else if(isliving(B.owner))
|
||||
B.owner.nutrition += 15 * w_class * B.nutrition_percent / 100
|
||||
if(B.item_digest_logs)
|
||||
to_chat(B.owner,"<span class='notice'>[src] was digested inside your [lowertext(B.name)].</span>")
|
||||
qdel(src)//CHOMPEdit End
|
||||
if(g_damage > w_class)
|
||||
return w_class
|
||||
|
||||
@@ -288,7 +288,8 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
"tail_colouration" = selected.tail_colouration,
|
||||
"tail_extra_overlay" = selected.tail_extra_overlay,
|
||||
"tail_extra_overlay2" = selected.tail_extra_overlay2,
|
||||
"noise_freq" = selected.noise_freq
|
||||
"noise_freq" = selected.noise_freq,
|
||||
"item_digest_logs" = selected.item_digest_logs,
|
||||
//"marking_to_add" = selected.marking_to_add
|
||||
//CHOMPEdit end
|
||||
)
|
||||
@@ -310,6 +311,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
selected_list["egg_type"] = selected.egg_type
|
||||
selected_list["egg_name"] = selected.egg_name //CHOMPAdd
|
||||
selected_list["recycling"] = selected.recycling //CHOMPAdd
|
||||
selected_list["item_digest_logs"] = selected.item_digest_logs //CHOMPAdd
|
||||
selected_list["contaminates"] = selected.contaminates
|
||||
selected_list["contaminate_flavor"] = null
|
||||
selected_list["contaminate_color"] = null
|
||||
@@ -917,7 +919,14 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
if(new_entrance_logs == 0)
|
||||
new_belly.entrance_logs = FALSE
|
||||
if(new_entrance_logs == 1)
|
||||
new_belly.entrance_logs = TRUE //CHOMPAdd End
|
||||
new_belly.entrance_logs = TRUE
|
||||
|
||||
if(isnum(belly_data["item_digest_logs"]))
|
||||
var/new_item_digest_logs = belly_data["item_digest_logs"]
|
||||
if(new_item_digest_logs == 0)
|
||||
new_belly.item_digest_logs = FALSE
|
||||
if(new_item_digest_logs == 1)
|
||||
new_belly.item_digest_logs = TRUE //CHOMPAdd End
|
||||
|
||||
if(istext(belly_data["selective_preference"]))
|
||||
var/new_selective_preference = belly_data["selective_preference"]
|
||||
@@ -2633,6 +2642,9 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
. = TRUE
|
||||
if("b_entrance_logs")
|
||||
host.vore_selected.entrance_logs = !host.vore_selected.entrance_logs
|
||||
. = TRUE
|
||||
if("b_item_digest_logs")
|
||||
host.vore_selected.item_digest_logs = !host.vore_selected.item_digest_logs
|
||||
. = TRUE //CHOMPAdd End
|
||||
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)
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
belly_data["selective_preference"] = B.selective_preference
|
||||
belly_data["recycling"] = B.recycling
|
||||
belly_data["entrance_logs"] = B.entrance_logs
|
||||
belly_data["item_digest_logs"] = B.item_digest_logs
|
||||
|
||||
// Sounds
|
||||
belly_data["is_wet"] = B.is_wet
|
||||
|
||||
@@ -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, entrance_logs, noise_freq,
|
||||
* liq_msg_toggle5, liq_msg1, liq_msg2, liq_msg3, liq_msg4, liq_msg5, sound_volume, egg_name, recycling, entrance_logs, item_digest_logs, noise_freq,
|
||||
* custom_reagentcolor, custom_reagentalpha, liquid_overlay, max_liquid_level, mush_overlay, mush_color, mush_alpha, max_mush, min_mush, item_mush_val,
|
||||
* metabolism_overlay, metabolism_mush_ratio, max_ingested, custom_ingested_color, custom_ingested_alpha
|
||||
*
|
||||
@@ -690,6 +690,7 @@ const VoreSelectedBellyOptions = (props, context) => {
|
||||
egg_name,
|
||||
recycling,
|
||||
entrance_logs,
|
||||
item_digest_logs,
|
||||
selective_preference,
|
||||
save_digest_mode,
|
||||
eating_privacy_local,
|
||||
@@ -903,6 +904,16 @@ const VoreSelectedBellyOptions = (props, context) => {
|
||||
content={entrance_logs ? 'Enabled' : 'Disabled'}
|
||||
/>
|
||||
</LabeledList.Item>
|
||||
<LabeledList.Item label="Item Digestion Logs">
|
||||
<Button
|
||||
onClick={() =>
|
||||
act('set_attribute', { attribute: 'b_item_digest_logs' })
|
||||
}
|
||||
icon={item_digest_logs ? 'toggle-on' : 'toggle-off'}
|
||||
selected={item_digest_logs}
|
||||
content={item_digest_logs ? 'Enabled' : 'Disabled'}
|
||||
/>
|
||||
</LabeledList.Item>
|
||||
<LabeledList.Item label="Selective Mode Preference">
|
||||
<Button
|
||||
onClick={() =>
|
||||
|
||||
@@ -168,6 +168,7 @@ type Belly = {
|
||||
selective_preference: string;
|
||||
recycling: BooleanLike;
|
||||
entrance_logs: BooleanLike;
|
||||
item_digest_logs: BooleanLike;
|
||||
|
||||
// Messages
|
||||
struggle_messages_outside: string[];
|
||||
@@ -337,6 +338,7 @@ const generateBellyString = (belly: Belly, index: number) => {
|
||||
selective_preference,
|
||||
recycling,
|
||||
entrance_logs,
|
||||
item_digest_logs,
|
||||
|
||||
// Messages
|
||||
struggle_messages_outside,
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user