From 38867b2303eba36f8ffb5ae5ef914ee76cdd52f9 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 03:19:28 -0700 Subject: [PATCH 1/5] Removed Inflatable Trait It's now being migrated to the vore panel. --- code/modules/mob/airhack.dm | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/code/modules/mob/airhack.dm b/code/modules/mob/airhack.dm index 3d01892f9a..28f0eaaa94 100644 --- a/code/modules/mob/airhack.dm +++ b/code/modules/mob/airhack.dm @@ -1,37 +1,38 @@ /mob var/datum/gas_mixture/air_contents = new - var/obj/machinery/atmospherics/portables_connector/connected_port var/obj/item/weapon/tank/holding - var/volume = 1000 var/destroyed = 0 - var/start_pressure = ONE_ATMOSPHERE var/maximum_pressure = 90 * ONE_ATMOSPHERE var/inflatable = 1 + /mob/living inflatable= 0 + /mob/New() ..() - air_contents.volume = volume air_contents.temperature = T20C - return 1 + /mob/Destroy() qdel_null(air_contents) qdel_null(holding) . = ..() + /mob/Life() if(!connected_port) //only react when pipe_network will ont it do it for you //Allow for reactions air_contents.react() . = ..() + /mob/proc/StandardAirMix() return list( "oxygen" = O2STANDARD * MolesForPressure(), "nitrogen" = N2STANDARD * MolesForPressure()) + /mob/proc/MolesForPressure(var/target_pressure = start_pressure) return (target_pressure * air_contents.volume) / (R_IDEAL_GAS_EQUATION * air_contents.temperature) @@ -48,7 +49,7 @@ connected_port = new_port connected_port.connected_device = src connected_port.on = 1 //Activate port updates - + buckled = 1 anchored = 1 //Prevent movement //Actually enforce the air sharing @@ -56,28 +57,22 @@ if(network && !network.gases.Find(air_contents)) network.gases += air_contents network.update = 1 - return 1 /mob/proc/disconnect() if(!connected_port) return 0 - var/datum/pipe_network/network = connected_port.return_network(src) if(network) network.gases -= air_contents - anchored = 0 - connected_port.connected_device = null connected_port = null - return 1 /mob/proc/update_connected_network() if(!connected_port) return - var/datum/pipe_network/network = connected_port.return_network(src) if (network) network.update = 1 @@ -112,12 +107,4 @@ return 0 /mob/proc/atmosanalyze(var/mob/user) - return atmosanalyzer_scan(src, src.air_contents, user) - -/datum/trait/inflatable - name = "Inflatable" - desc = "You were born with an unusual ability to store air like a portable canister" - cost = 0 -/datum/trait/inflatable/apply(var/datum/species/S,var/mob/living/carbon/human/H) - H.inflatable = 1 - ..(S,H) \ No newline at end of file + return atmosanalyzer_scan(src, src.air_contents, user) \ No newline at end of file From 4334685ae4cc5b36b094da910502de2dbd5d6abd Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 03:21:54 -0700 Subject: [PATCH 2/5] 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 + From 8549cfcc0e66b7914e9c45d0008f39e95376e9b5 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 03:24:59 -0700 Subject: [PATCH 3/5] More animals in predator crates +Predator crate and dangerous predator crate -Moved chocobo to predator crate from dangerous predator crate. -Added the following to the predator crate: Chocobo Alpha Chocobo Super Metroid Four varieties of red panda Three varieties of pitcher plants -Added the following to the dangerous predator crate: Omega Metroid Queen Metroid Spider Queen Phoron Spider Carrier Spider Dragon Phoron Dragon --- .../structures/crates_lockers/largecrate_vr.dm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index 0b2939fc69..25b8b27e29 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -55,6 +55,16 @@ /mob/living/simple_animal/hostile/mimic, /mob/living/simple_animal/hostile/rat, /mob/living/simple_animal/hostile/rat/passive, + /mob/living/simple_animal/chocobo, + /mob/living/simple_animal/alpha_chocobo, + /mob/living/simple_animal/hostile/metroid/evolution/super, + /mob/living/simple_animal/redpanda;0.25, + /mob/living/simple_animal/redpanda/fae;0.25, + /mob/living/simple_animal/redpanda/alt;0.25, + /mob/living/simple_animal/redpanda/alt/waaah;0.25, + /mob/living/simple_animal/hostile/piranhaplant;0.33, + /mob/living/simple_animal/hostile/piranhaplant/spitter0.33, + /mob/living/simple_animal/hostile/piranhaplant/pitcher0.33, /mob/living/simple_animal/otie;0.5)) return ..() @@ -64,7 +74,6 @@ /obj/structure/largecrate/animal/dangerous/initialize() starts_with = list(pick(/mob/living/simple_animal/hostile/carp/pike, - /mob/living/simple_animal/chocobo, /mob/living/simple_animal/hostile/deathclaw, /mob/living/simple_animal/hostile/dino, /mob/living/simple_animal/hostile/alien, @@ -72,6 +81,13 @@ /mob/living/simple_animal/hostile/alien/sentinel, /mob/living/simple_animal/hostile/alien/queen, /mob/living/simple_animal/otie/feral, + /mob/living/simple_animal/hostile/metroid/combat/queen, + /mob/living/simple_animal/hostile/metroid/combat/omega, + /mob/living/simple_animal/hostile/giant_spider/nurse/queen, + /mob/living/simple_animal/hostile/giant_spider/phorogenic, + /mob/living/simple_animal/hostile/giant_spider/carrier, + /mob/living/simple_animal/hostile/dragon;0.5, + /mob/living/simple_animal/hostile/dragon/phoron;0.5, /mob/living/simple_animal/hostile/corrupthound)) return ..() From 4c6d4cf8ab10534d00c972a870ce0b6d8a5e5c41 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 03:43:10 -0700 Subject: [PATCH 4/5] Adds more animals to pred crates --- .../game/objects/structures/crates_lockers/largecrate_vr.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index 25b8b27e29..34b8193ec7 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -63,8 +63,8 @@ /mob/living/simple_animal/redpanda/alt;0.25, /mob/living/simple_animal/redpanda/alt/waaah;0.25, /mob/living/simple_animal/hostile/piranhaplant;0.33, - /mob/living/simple_animal/hostile/piranhaplant/spitter0.33, - /mob/living/simple_animal/hostile/piranhaplant/pitcher0.33, + /mob/living/simple_animal/hostile/piranhaplant/spitter;0.33, + /mob/living/simple_animal/hostile/piranhaplant/pitcher;0.33, /mob/living/simple_animal/otie;0.5)) return ..() @@ -80,6 +80,8 @@ /mob/living/simple_animal/hostile/alien/drone, /mob/living/simple_animal/hostile/alien/sentinel, /mob/living/simple_animal/hostile/alien/queen, + /mob/living/simple_animal/hostile/alien/queen/empress, + /mob/living/simple_animal/hostile/alien/queen/empress/mother, /mob/living/simple_animal/otie/feral, /mob/living/simple_animal/hostile/metroid/combat/queen, /mob/living/simple_animal/hostile/metroid/combat/omega, From 6b80cb2ef2433af4e6b1876619eb978c67a58539 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Mon, 7 Oct 2019 04:02:39 -0700 Subject: [PATCH 5/5] Add files via upload --- code/game/objects/structures/crates_lockers/largecrate_vr.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/crates_lockers/largecrate_vr.dm b/code/game/objects/structures/crates_lockers/largecrate_vr.dm index 34b8193ec7..1496ddfd59 100644 --- a/code/game/objects/structures/crates_lockers/largecrate_vr.dm +++ b/code/game/objects/structures/crates_lockers/largecrate_vr.dm @@ -88,8 +88,8 @@ /mob/living/simple_animal/hostile/giant_spider/nurse/queen, /mob/living/simple_animal/hostile/giant_spider/phorogenic, /mob/living/simple_animal/hostile/giant_spider/carrier, - /mob/living/simple_animal/hostile/dragon;0.5, - /mob/living/simple_animal/hostile/dragon/phoron;0.5, + /mob/living/simple_animal/hostile/dragon, + /mob/living/simple_animal/hostile/dragon/phoron, /mob/living/simple_animal/hostile/corrupthound)) return ..()