From e6b3f01151e277d863f5932498d70972b8eb4ae9 Mon Sep 17 00:00:00 2001 From: Verkister Date: Sat, 23 Jan 2021 12:59:01 +0200 Subject: [PATCH] Adds a new vorepanel mode addon. Adds a new vorepanel mode addon "Affect Items", which, depending on the belly settings, will either contaminate or digest worn gear right off the prey without stripping. Item friendly modes will affect the prey's entire outfit at once, but the item digest mode will only affect one item at a time. --- code/__defines/belly_modes_vr.dm | 1 + code/modules/vore/eating/belly_obj_vr.dm | 2 +- code/modules/vore/eating/bellymodes_vr.dm | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/__defines/belly_modes_vr.dm b/code/__defines/belly_modes_vr.dm index e7853f7059a..d497391d3fc 100644 --- a/code/__defines/belly_modes_vr.dm +++ b/code/__defines/belly_modes_vr.dm @@ -19,6 +19,7 @@ #define DM_FLAG_STRIPPING 0x2 #define DM_FLAG_LEAVEREMAINS 0x4 #define DM_FLAG_THICKBELLY 0x8 +#define DM_FLAG_AFFECTWORN 0x10 //Item related modes #define IM_HOLD "Hold" diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 83118392e85..a3417dd0ac7 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -43,7 +43,7 @@ //Actual full digest modes var/tmp/static/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_ABSORB,DM_DRAIN,DM_UNABSORB,DM_HEAL,DM_SHRINK,DM_GROW,DM_SIZE_STEAL,DM_EGG) //Digest mode addon flags - var/tmp/static/list/mode_flag_list = list("Numbing" = DM_FLAG_NUMBING, "Stripping" = DM_FLAG_STRIPPING, "Leave Remains" = DM_FLAG_LEAVEREMAINS, "Muffles" = DM_FLAG_THICKBELLY) + var/tmp/static/list/mode_flag_list = list("Numbing" = DM_FLAG_NUMBING, "Stripping" = DM_FLAG_STRIPPING, "Leave Remains" = DM_FLAG_LEAVEREMAINS, "Muffles" = DM_FLAG_THICKBELLY, "Affect Worn Items" = DM_FLAG_AFFECTWORN) //Item related modes var/tmp/static/list/item_digest_modes = list(IM_HOLD,IM_DIGEST_FOOD,IM_DIGEST) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index f6c74215cde..6714aa6a621 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -137,6 +137,15 @@ if((mode_flags & DM_FLAG_THICKBELLY) && !H.muffled) H.muffled = TRUE + //Worn items flag + if(mode_flags & DM_FLAG_AFFECTWORN) + for(var/slot in slots) + var/obj/item/I = H.get_equipped_item(slot = slot) + if(I && handle_digesting_item(I)) + digestion_noise_chance = 25 + to_update = TRUE + break + //Stripping flag if(mode_flags & DM_FLAG_STRIPPING) for(var/slot in slots)