From 4334685ae4cc5b36b094da910502de2dbd5d6abd Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 03:21:54 -0700 Subject: [PATCH] Add files via upload --- code/modules/vore/eating/living_vr.dm | 31 +++++++----------------- code/modules/vore/eating/vore_vr.dm | 7 +++++- code/modules/vore/eating/vorepanel_vr.dm | 23 ++++++++++++++++++ 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 111c608b96..dc6a211da4 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -89,7 +89,7 @@ var/obj/item/weapon/grab/G = I //Has to be aggressive grab, has to be living click-er and non-silicon grabbed - if((G.state >= GRAB_AGGRESSIVE) && (isliving(user) && (!issilicon(G.affecting) || ispAI(G.affecting))))//Chompstation edit, lets pAI be eaten + if((G.state >= GRAB_AGGRESSIVE) && (isliving(user) && !issilicon(G.affecting))) var/mob/living/attacker = user // Typecast to living @@ -204,7 +204,9 @@ P.vore_taste = src.vore_taste P.can_be_drop_prey = src.can_be_drop_prey P.can_be_drop_pred = src.can_be_drop_pred - + //ChompStation edit, added in inflation option + P.inflatable = src.inflatable + var/list/serialized = list() for(var/belly in src.vore_organs) var/obj/belly/B = belly @@ -231,6 +233,7 @@ vore_taste = P.vore_taste can_be_drop_prey = P.can_be_drop_prey can_be_drop_pred = P.can_be_drop_pred + P.inflatable = src.inflatable release_vore_contents(silent = TRUE) vore_organs.Cut() @@ -384,16 +387,8 @@ belly = pred.vore_selected return perform_the_nom(user, prey, pred, belly) -/mob/living/proc/feed_self_to_grabbed(var/mob/living/user, var/mob/living/pred, var/belly, var/list/bellys) - //CHOMPEDIT: AUTO BELLY SELECTOR - if (!user.client) - for(var/obj/belly/guttoviolate in pred.vore_organs) - if(guttoviolate.name == "fstomach") - bellys |= guttoviolate - if(!bellys)return - belly = pick(bellys) - //CHOMPEDIT: END - else belly = input("Choose Belly") in pred.vore_organs +/mob/living/proc/feed_self_to_grabbed(var/mob/living/user, var/mob/living/pred) + var/belly = input("Choose Belly") in pred.vore_organs return perform_the_nom(user, user, pred, belly) /mob/living/proc/feed_grabbed_to_other(var/mob/living/user, var/mob/living/prey, var/mob/living/pred) @@ -569,7 +564,7 @@ to_chat(src, "You are not holding anything.") return - if(is_type_in_list(I,edible_trash) || is_type_in_list(I,edible_tech) && isSynthetic()) + if(is_type_in_list(I,edible_trash)) drop_item() I.forceMove(vore_selected) updateVRPanel() @@ -617,17 +612,8 @@ to_chat(src, "You can taste the flavor of gluttonous waste of food.") else if(istype(I,/obj/item/weapon/storage/glass_ornament)) to_chat(src, "You can taste the flavor of smooth glass.") - //TFF 10/7/19 - Add custom flavour for collars for trash can trait. - else if (istype(I,/obj/item/clothing/accessory/collar)) - visible_message("[src] demonstrates their voracious capabilities by swallowing [I] whole!") - to_chat(src, "You can taste the submissiveness in the wearer of [I]!") - else if(istype(I,/obj/item/integrated_circuit) ||istype(I,/obj/item/weapon/circuitboard)) - to_chat(src, "mmm crunchy computer chips.") - else if(istype(I,/obj/item/weapon/cell)) - to_chat(src, "you can taste the energy filling your stomach.") else to_chat(src, "You can taste the flavor of garbage. Delicious.") - return to_chat(src, "This item is not appropriate for ethical consumption.") return @@ -658,6 +644,7 @@ dispvoreprefs += "Mob Vore: [allowmobvore ? "Enabled" : "Disabled"]
" dispvoreprefs += "Drop-nom prey: [can_be_drop_prey ? "Enabled" : "Disabled"]
" dispvoreprefs += "Drop-nom pred: [can_be_drop_pred ? "Enabled" : "Disabled"]
" + dispvoreprefs += "Inflatable: [inflatable ? "Enabled" : "Disabled"]
" user << browse("Vore prefs: [src]
[dispvoreprefs]
", "window=[name];size=200x300;can_resize=0;can_minimize=0") onclose(user, "[name]") return diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm index 84c421c214..195b9f4393 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -49,6 +49,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/vore_taste = "nothing in particular" var/can_be_drop_prey = FALSE var/can_be_drop_pred = FALSE + var/inflatable = FALSE //Mechanically required var/path @@ -117,6 +118,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE can_be_drop_prey = json_from_file["can_be_drop_prey"] can_be_drop_pred = json_from_file["can_be_drop_pred"] belly_prefs = json_from_file["belly_prefs"] + inflatable = json_from_file["inflatable"] //Quick sanitize if(isnull(digestable)) @@ -132,7 +134,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE allowmobvore = FALSE if(isnull(belly_prefs)) belly_prefs = list() - + if(isnull(inflatable)) + inflatable = FALSE return 1 /datum/vore_preferences/proc/save_vore() @@ -149,6 +152,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE "can_be_drop_prey" = can_be_drop_prey, "can_be_drop_pred" = can_be_drop_pred, "belly_prefs" = belly_prefs, + //ChompStation edit: added in inflation option + "inflatable" = inflatable, ) //List to JSON diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index c2d66dc0ce..d2778c4019 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -302,6 +302,13 @@ dat += "Toggle Drop-nom Pred" dat += "
Set Your Taste" dat += "Toggle Hunger Noises" + + //ChompStation edit: adds inflatable as an option + switch(user.inflatable) + if(1) + dat += "Toggle inflation" + if(0) + dat += "Toggle inflation" dat += "
" @@ -852,6 +859,22 @@ user.noisy = TRUE if("Disable audible hunger") user.noisy = FALSE + + if(href_list["toggleinf"]) + var/choice = alert(user, "This button allows you to be inflated like a balloon. Setting this will notify admins. Currently you are [user.inflatable? "" : "not"] inflatable.", "", "Allow inflation", "Cancel", "Disallow inflation") + switch(choice) + if("Cancel") + return 0 + if("Allow inflation") + user.inflatable = TRUE + if("Disallow inflation") + user.inflatable = FALSE + + message_admins("[key_name(user)] toggled their inflatability to [user.inflatable] ([user ? "JMP" : "null"])") + + if(user.client.prefs_vr) + user.client.prefs_vr.inflatable = user.inflatable //Refresh when interacted with, returning 1 makes vore_look.Topic update return 1 +