From 0437d0ae69c4fa9a88e43b18f75ba0a23d88e2e0 Mon Sep 17 00:00:00 2001 From: Heroman Date: Sun, 9 May 2021 12:39:33 +1000 Subject: [PATCH] Adds Jams Sensors belly mode --- code/__defines/belly_modes_vr.dm | 1 + code/game/objects/items/devices/radio/jammer.dm | 5 +++++ code/game/objects/items/devices/radio/jammer_vr.dm | 11 +++++++++++ code/modules/vore/eating/belly_obj_vr.dm | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/__defines/belly_modes_vr.dm b/code/__defines/belly_modes_vr.dm index d497391d3fc..c716615a7f2 100644 --- a/code/__defines/belly_modes_vr.dm +++ b/code/__defines/belly_modes_vr.dm @@ -20,6 +20,7 @@ #define DM_FLAG_LEAVEREMAINS 0x4 #define DM_FLAG_THICKBELLY 0x8 #define DM_FLAG_AFFECTWORN 0x10 +#define DM_FLAG_JAMSENSORS 0x20 //Item related modes #define IM_HOLD "Hold" diff --git a/code/game/objects/items/devices/radio/jammer.dm b/code/game/objects/items/devices/radio/jammer.dm index b59101cc663..eedb05197b0 100644 --- a/code/game/objects/items/devices/radio/jammer.dm +++ b/code/game/objects/items/devices/radio/jammer.dm @@ -13,6 +13,11 @@ var/global/list/active_radio_jammers = list() if(dist <= J.jam_range) return list("jammer" = J, "distance" = dist) + //VOREStation Addition Start + if(is_vore_jammed(radio)) + return TRUE + //VOREStation Addition End + /obj/item/device/radio_jammer name = "subspace jammer" desc = "Primarily for blocking subspace communications, preventing the use of headsets, PDAs, and communicators. Also masks suit sensors." // Added suit sensor jamming diff --git a/code/game/objects/items/devices/radio/jammer_vr.dm b/code/game/objects/items/devices/radio/jammer_vr.dm index a92005621aa..e99952657fc 100644 --- a/code/game/objects/items/devices/radio/jammer_vr.dm +++ b/code/game/objects/items/devices/radio/jammer_vr.dm @@ -2,3 +2,14 @@ /obj/item/device/radio_jammer/admin jam_range = 255 tick_cost = 0 + +/proc/is_vore_jammed(var/obj/radio) + var/atom/current = radio + while(current.loc) + if(isbelly(current.loc)) + var/obj/belly/B = current.loc + if((istype(current, /obj/item/clothing/under)) && (B.mode_flags & DM_FLAG_JAMSENSORS)) + return TRUE + current = current.loc + + return FALSE \ No newline at end of file diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 6a27ff8625a..ab82f4c6d15 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -50,7 +50,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, "Affect Worn Items" = DM_FLAG_AFFECTWORN) + 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, "Jams Sensors" = DM_FLAG_JAMSENSORS) //Item related modes var/tmp/static/list/item_digest_modes = list(IM_HOLD,IM_DIGEST_FOOD,IM_DIGEST)