diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm index ca99f6ec32f..fb761a167bb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/vore.dm @@ -28,6 +28,7 @@ selective_preference = client.prefs_vr.selective_preference appendage_color = client.prefs_vr.appendage_color appendage_alt_setting = client.prefs_vr.appendage_alt_setting + eating_privacy_global = client.prefs_vr.eating_privacy_global drop_vore = client.prefs_vr.drop_vore stumble_vore = client.prefs_vr.stumble_vore diff --git a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm index 63aa9f57540..9db4b297827 100644 --- a/code/modules/mob/new_player/sprite_accessories_ear_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_ear_vr.dm @@ -916,4 +916,11 @@ icon_state = "zaprat" extra_overlay = "zaprat-tips" do_colouration = 1 - color_blend_mode = ICON_MULTIPLY \ No newline at end of file + color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/ears/kara //SatinIsle Fluff Item + name = "Pterokara horn" + desc = "" + icon = 'icons/mob/vore/ears_vr.dmi' + icon_state = "kara_horn" + ckeys_allowed = list("satinisle") \ No newline at end of file diff --git a/code/modules/mob/new_player/sprite_accessories_extra_vr.dm b/code/modules/mob/new_player/sprite_accessories_extra_vr.dm index 85bb90c1cba..08c0d4e0152 100644 --- a/code/modules/mob/new_player/sprite_accessories_extra_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_extra_vr.dm @@ -975,3 +975,9 @@ color_blend_mode = ICON_MULTIPLY body_parts = list(BP_R_LEG, BP_L_LEG, BP_GROIN) +/datum/sprite_accessory/marking/vr/nevrean_long + name = "Long Snout" + icon = 'icons/mob/human_races/markings_vr.dmi' + icon_state = "nevrean_long" + color_blend_mode = ICON_MULTIPLY + body_parts = list(BP_HEAD) diff --git a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm index 8e3e3f7c12a..bc29290da62 100644 --- a/code/modules/mob/new_player/sprite_accessories_tail_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_tail_vr.dm @@ -1337,6 +1337,12 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY +/datum/sprite_accessory/tail/kara //SatinIsle fluff item + name = "Pterokara Tail" + icon = 'icons/mob/vore/tails_vr.dmi' + icon_state = "kara_tail" + ckeys_allowed = list("satinisle") + //LONG TAILS ARE NOT TAUR BUTTS >:O /datum/sprite_accessory/tail/longtail name = "You should not see this..." diff --git a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm index aba84d495bd..94db4dee96f 100644 --- a/code/modules/mob/new_player/sprite_accessories_wing_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_wing_vr.dm @@ -319,3 +319,10 @@ icon_state = "sectdrone_wing" do_colouration = 1 color_blend_mode = ICON_MULTIPLY + +/datum/sprite_accessory/wing/kara //SatinIsle Fluff Item + name = "Pterokara wings" + desc = "" + icon = 'icons/mob/vore/wings_vr.dmi' + icon_state = "feathered_kara" + ckeys_allowed = list("satinisle") \ No newline at end of file diff --git a/code/modules/tgui/external.dm b/code/modules/tgui/external.dm index cfd8db13688..88e7c90a0fb 100644 --- a/code/modules/tgui/external.dm +++ b/code/modules/tgui/external.dm @@ -1,7 +1,8 @@ -/** - * tgui external +/*! + * External tgui definitions, such as src_object APIs. * - * Contains all external tgui declarations. + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT */ /** diff --git a/code/modules/tgui/states.dm b/code/modules/tgui/states.dm index 5a66efc090d..ab80a41bd50 100644 --- a/code/modules/tgui/states.dm +++ b/code/modules/tgui/states.dm @@ -1,6 +1,9 @@ -/** +/*! * Base state and helpers for states. Just does some sanity checks, * implement a proper state for in-depth checks. + * + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT */ /** diff --git a/code/modules/tgui/states/admin.dm b/code/modules/tgui/states/admin.dm index 7009f6f8844..bfa877bc096 100644 --- a/code/modules/tgui/states/admin.dm +++ b/code/modules/tgui/states/admin.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: admin_state * diff --git a/code/modules/tgui/states/always.dm b/code/modules/tgui/states/always.dm index 30915785442..9095d043505 100644 --- a/code/modules/tgui/states/always.dm +++ b/code/modules/tgui/states/always.dm @@ -1,3 +1,7 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ /** * tgui state: always_state diff --git a/code/modules/tgui/states/conscious.dm b/code/modules/tgui/states/conscious.dm index 6bc0c7ec031..7213a99be7f 100644 --- a/code/modules/tgui/states/conscious.dm +++ b/code/modules/tgui/states/conscious.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: conscious_state * diff --git a/code/modules/tgui/states/contained.dm b/code/modules/tgui/states/contained.dm index c2fbd0b6b06..e16159c5e54 100644 --- a/code/modules/tgui/states/contained.dm +++ b/code/modules/tgui/states/contained.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: contained_state * diff --git a/code/modules/tgui/states/deep_inventory.dm b/code/modules/tgui/states/deep_inventory.dm index 14419874538..3d0913cf82f 100644 --- a/code/modules/tgui/states/deep_inventory.dm +++ b/code/modules/tgui/states/deep_inventory.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: deep_inventory_state * diff --git a/code/modules/tgui/states/default.dm b/code/modules/tgui/states/default.dm index 93ba1df55f7..2fe058f3e09 100644 --- a/code/modules/tgui/states/default.dm +++ b/code/modules/tgui/states/default.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: default_state * diff --git a/code/modules/tgui/states/hands.dm b/code/modules/tgui/states/hands.dm index 0981b5d6ec7..9d742a4ab0b 100644 --- a/code/modules/tgui/states/hands.dm +++ b/code/modules/tgui/states/hands.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: hands_state * diff --git a/code/modules/tgui/states/human_adjacent.dm b/code/modules/tgui/states/human_adjacent.dm index 8164d5f9cee..845459e0717 100644 --- a/code/modules/tgui/states/human_adjacent.dm +++ b/code/modules/tgui/states/human_adjacent.dm @@ -1,3 +1,7 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ /** * tgui state: human_adjacent_state diff --git a/code/modules/tgui/states/inventory.dm b/code/modules/tgui/states/inventory.dm index 92274cc1f2e..042ca7264cc 100644 --- a/code/modules/tgui/states/inventory.dm +++ b/code/modules/tgui/states/inventory.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: inventory_state * diff --git a/code/modules/tgui/states/not_incapacitated.dm b/code/modules/tgui/states/not_incapacitated.dm index 1185b516478..49f6d0097a8 100644 --- a/code/modules/tgui/states/not_incapacitated.dm +++ b/code/modules/tgui/states/not_incapacitated.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: not_incapacitated_state * diff --git a/code/modules/tgui/states/notcontained.dm b/code/modules/tgui/states/notcontained.dm index 56b789e3c04..452d0f649bc 100644 --- a/code/modules/tgui/states/notcontained.dm +++ b/code/modules/tgui/states/notcontained.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: notcontained_state * diff --git a/code/modules/tgui/states/observer.dm b/code/modules/tgui/states/observer.dm index bdfe690dbaa..f20bb1b71ff 100644 --- a/code/modules/tgui/states/observer.dm +++ b/code/modules/tgui/states/observer.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: observer_state * @@ -12,4 +17,3 @@ GLOBAL_DATUM_INIT(tgui_observer_state, /datum/tgui_state/observer_state, new) if(check_rights(R_ADMIN|R_EVENT, 0, src)) return STATUS_INTERACTIVE return STATUS_CLOSE - diff --git a/code/modules/tgui/states/physical.dm b/code/modules/tgui/states/physical.dm index 9712090b5da..dc7f93d2ee7 100644 --- a/code/modules/tgui/states/physical.dm +++ b/code/modules/tgui/states/physical.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: physical_state * @@ -72,4 +77,4 @@ GLOBAL_DATUM_INIT(tgui_physical_state_bigscreen, /datum/tgui_state/physical_bigs return max(STATUS_UPDATE, shared_living_tgui_distance_bigscreen(src_object)) // Silicons can always see. /mob/living/silicon/ai/physical_can_use_tgui_topic(src_object) - return STATUS_UPDATE // AIs are not physical. \ No newline at end of file + return STATUS_UPDATE // AIs are not physical. diff --git a/code/modules/tgui/states/self.dm b/code/modules/tgui/states/self.dm index 109fd6ae440..064b1b0ce66 100644 --- a/code/modules/tgui/states/self.dm +++ b/code/modules/tgui/states/self.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: self_state * diff --git a/code/modules/tgui/states/zlevel.dm b/code/modules/tgui/states/zlevel.dm index a589a4b64d7..3e7d84e2621 100644 --- a/code/modules/tgui/states/zlevel.dm +++ b/code/modules/tgui/states/zlevel.dm @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT + */ + /** * tgui state: z_state * diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index 74d16a2e33d..29431c42f3b 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -1,7 +1,6 @@ -/** - * tgui - * - * /tg/station user interface library +/*! + * Copyright (c) 2020 Aleksej Komarov + * SPDX-License-Identifier: MIT */ /** diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 2ae59893136..02960e0a4bd 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -54,6 +54,7 @@ var/emote_active = TRUE // Are we even giving emotes out at all or not? var/next_emote = 0 // When we're supposed to print our next emote, as a world.time var/selective_preference = DM_DIGEST // Which type of selective bellymode do we default to? + var/eating_privacy_local = "default" //Overrides eating_privacy_global if not "default". Determines if attempt/success messages are subtle/loud // Generally just used by AI var/autotransferchance = 0 // % Chance of prey being autotransferred to transfer location @@ -226,7 +227,8 @@ "belly_fullscreen_color", "colorization_enabled", "egg_type", - "save_digest_mode" + "save_digest_mode", + "eating_privacy_local" ) if (save_digest_mode == 1) @@ -391,16 +393,28 @@ if(!ishuman(owner)) owner.update_icons() + //Determines privacy + var/privacy_range = world.view + var/privacy_volume = 100 + switch(eating_privacy_local) //Third case of if("loud") not defined, as it'd just leave privacy_range and volume untouched + if("default") + if(owner.eating_privacy_global) + privacy_range = 1 + privacy_volume = 25 + if("subtle") + privacy_range = 1 + privacy_volume = 25 + //Print notifications/sound if necessary if(!silent && count) - owner.visible_message("[owner] [release_verb] everything from their [lowertext(name)]!") + owner.visible_message("[owner] [release_verb] everything from their [lowertext(name)]!", range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] else soundfile = fancy_release_sounds[release_sound] if(soundfile) - playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) return count @@ -459,16 +473,28 @@ if(!ishuman(owner)) owner.update_icons() + //Determines privacy + var/privacy_range = world.view + var/privacy_volume = 100 + switch(eating_privacy_local) //Third case of if("loud") not defined, as it'd just leave privacy_range and volume untouched + if("default") + if(owner.eating_privacy_global) + privacy_range = 1 + privacy_volume = 25 + if("subtle") + privacy_range = 1 + privacy_volume = 25 + //Print notifications/sound if necessary if(!silent) - owner.visible_message("[owner] [release_verb] [M] from their [lowertext(name)]!") + owner.visible_message("[owner] [release_verb] [M] from their [lowertext(name)]!",range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] else soundfile = fancy_release_sounds[release_sound] if(soundfile) - playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) + playsound(src, soundfile, vol = privacy_volume, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises, volume_channel = VOLUME_CHANNEL_VORE) //Should fix your view not following you out of mobs sometimes! if(ismob(M)) var/mob/ourmob = M @@ -1187,6 +1213,7 @@ dupe.emote_active = emote_active dupe.selective_preference = selective_preference dupe.save_digest_mode = save_digest_mode + dupe.eating_privacy_local = eating_privacy_local //// Object-holding variables //struggle_messages_outside - strings diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 9e37b888cea..66739c747b6 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -50,6 +50,7 @@ var/selective_preference = DM_DEFAULT // Preference for selective bellymode var/appendage_color = "#e03997" //Default pink. Used for the 'long_vore' trait. var/appendage_alt_setting = FALSE // Dictates if 'long_vore' user pulls prey to them or not. 1 = user thrown towards target. + var/eating_privacy_global = FALSE //Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var var/regen_sounds = list( 'sound/effects/mob_effects/xenochimera/regen_1.ogg', 'sound/effects/mob_effects/xenochimera/regen_2.ogg', @@ -286,6 +287,7 @@ P.slip_vore = src.slip_vore P.throw_vore = src.throw_vore P.stumble_vore = src.stumble_vore + P.eating_privacy_global = src.eating_privacy_global P.nutrition_message_visible = src.nutrition_message_visible P.nutrition_messages = src.nutrition_messages @@ -335,6 +337,7 @@ slip_vore = P.slip_vore throw_vore = P.throw_vore stumble_vore = P.stumble_vore + eating_privacy_global = P.eating_privacy_global nutrition_message_visible = P.nutrition_message_visible nutrition_messages = P.nutrition_messages @@ -600,6 +603,18 @@ to_chat(user, "They aren't aren't in a state to be devoured.") return FALSE + //Determining vore attempt privacy + var/message_range = world.view + if(!pred.is_slipping && !prey.is_slipping) //We only care about privacy preference if it's NOT a spontaneous vore. + switch(belly.eating_privacy_local) //if("loud") case not added, as it would not modify message_range + if("default") + if(pred.eating_privacy_global) + message_range = 1 + if("subtle") + message_range = 1 + + + // Slipnoms from chompstation downstream, credit to cadyn for the original PR. // Prepare messages if(prey.is_slipping) @@ -616,7 +631,10 @@ success_msg = "[user] manages to make [pred] [lowertext(belly.vore_verb)] [prey] into their [lowertext(belly.name)]!" // Announce that we start the attempt! - user.visible_message(attempt_msg) + + + user.visible_message(attempt_msg, range = message_range) + // Now give the prey time to escape... return if they did var/swallow_time @@ -633,7 +651,7 @@ return FALSE // Prey escpaed (or user disabled) before timer expired. // If we got this far, nom successful! Announce it! - user.visible_message(success_msg) + user.visible_message(success_msg, range = message_range) // Actually shove prey into the belly. if(istype(prey.loc, /obj/item/weapon/holder)) @@ -1079,6 +1097,7 @@ dispvoreprefs += "Spontaneous transformation: [allow_spontaneous_tf ? "Enabled" : "Disabled"]
" dispvoreprefs += "Can be stepped on/over: [step_mechanics_pref ? "Allowed" : "Disallowed"]
" dispvoreprefs += "Can be picked up: [pickup_pref ? "Allowed" : "Disallowed"]
" + dispvoreprefs += "Global Vore Privacy is: [eating_privacy_global ? "Subtle" : "Loud"]
" user << browse("Vore prefs: [src]
[dispvoreprefs]
", "window=[name]mvp;size=300x400;can_resize=1;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 2228c9cfb68..7911fcc09f1 100644 --- a/code/modules/vore/eating/vore_vr.dm +++ b/code/modules/vore/eating/vore_vr.dm @@ -55,6 +55,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE var/allowmobvore = TRUE var/permit_healbelly = TRUE var/noisy = FALSE + var/eating_privacy_global = FALSE //Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var // These are 'modifier' prefs, do nothing on their own but pair with drop_prey/drop_pred settings. var/drop_vore = TRUE @@ -192,6 +193,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE nutrition_messages = json_from_file["nutrition_messages"] weight_message_visible = json_from_file["weight_message_visible"] weight_messages = json_from_file["weight_messages"] + eating_privacy_global = json_from_file["eating_privacy_global"] //Quick sanitize if(isnull(digestable)) @@ -246,6 +248,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE nutrition_message_visible = TRUE if(isnull(weight_message_visible)) weight_message_visible = TRUE + if(isnull(eating_privacy_global)) + eating_privacy_global = FALSE if(isnull(nutrition_messages)) nutrition_messages = list( "They are starving! You can hear their stomach snarling from across the room!", @@ -316,6 +320,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE "nutrition_messages" = nutrition_messages, "weight_message_visible" = weight_message_visible, "weight_messages" = weight_messages, + "eating_privacy_global" = eating_privacy_global, ) //List to JSON diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 54c0dc25a52..4a222d72ce2 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -191,6 +191,7 @@ "belly_fullscreen" = selected.belly_fullscreen, "belly_fullscreen_color" = selected.belly_fullscreen_color, "colorization_enabled" = selected.colorization_enabled, + "eating_privacy_local" = selected.eating_privacy_local ) var/list/addons = list() @@ -284,7 +285,8 @@ "nutrition_message_visible" = host.nutrition_message_visible, "nutrition_messages" = host.nutrition_messages, "weight_message_visible" = host.weight_message_visible, - "weight_messages" = host.weight_messages + "weight_messages" = host.weight_messages, + "eating_privacy_global" = host.eating_privacy_global ) return data @@ -450,6 +452,12 @@ host.client.prefs_vr.digestable = host.digestable unsaved_changes = TRUE return TRUE + if("toggle_global_privacy") + host.eating_privacy_global = !host.eating_privacy_global + if(host.client.prefs_vr) + host.eating_privacy_global = host.eating_privacy_global + unsaved_changes = TRUE + return TRUE if("toggle_devour") host.devourable = !host.devourable if(host.client.prefs_vr) @@ -1101,6 +1109,12 @@ host.vore_selected.release_verb = new_release_verb . = TRUE + if("b_eating_privacy") + var/privacy_choice = tgui_input_list(usr, "Choose your belly-specific preference. Default uses global preference!", "Eating message privacy", list("default", "subtle", "loud"), "default") + if(privacy_choice == null) + return FALSE + host.vore_selected.eating_privacy_local = privacy_choice + . = TRUE if("b_fancy_sound") host.vore_selected.fancy_vore = !host.vore_selected.fancy_vore host.vore_selected.vore_sound = "Gulp" diff --git a/code/modules/vore/mouseray.dm b/code/modules/vore/mouseray.dm index 20ea7baa0be..eb98a0ae762 100644 --- a/code/modules/vore/mouseray.dm +++ b/code/modules/vore/mouseray.dm @@ -245,6 +245,7 @@ new_mob.vore_smell = vore_smell new_mob.nutrition_message_visible = nutrition_message_visible new_mob.allow_spontaneous_tf = allow_spontaneous_tf + new_mob.eating_privacy_global = eating_privacy_global /////SUBTYPES///// diff --git a/icons/inventory/face/mob_vr_fennec.dmi b/icons/inventory/face/mob_vr_fennec.dmi index e956562a590..4179157c787 100644 Binary files a/icons/inventory/face/mob_vr_fennec.dmi and b/icons/inventory/face/mob_vr_fennec.dmi differ diff --git a/icons/inventory/face/mob_vr_fox.dmi b/icons/inventory/face/mob_vr_fox.dmi index aed2ae8eced..1f3ed5263b9 100644 Binary files a/icons/inventory/face/mob_vr_fox.dmi and b/icons/inventory/face/mob_vr_fox.dmi differ diff --git a/icons/inventory/face/mob_vr_sergal.dmi b/icons/inventory/face/mob_vr_sergal.dmi index 99d4a069ef4..6a2fdb781df 100644 Binary files a/icons/inventory/face/mob_vr_sergal.dmi and b/icons/inventory/face/mob_vr_sergal.dmi differ diff --git a/icons/mob/human_races/markings_vr.dmi b/icons/mob/human_races/markings_vr.dmi index 672985eeec6..755050fe4af 100644 Binary files a/icons/mob/human_races/markings_vr.dmi and b/icons/mob/human_races/markings_vr.dmi differ diff --git a/icons/mob/vore/ears_vr.dmi b/icons/mob/vore/ears_vr.dmi index 0da5ddb7266..a9a4980b58d 100644 Binary files a/icons/mob/vore/ears_vr.dmi and b/icons/mob/vore/ears_vr.dmi differ diff --git a/icons/mob/vore/tails_vr.dmi b/icons/mob/vore/tails_vr.dmi index d55293ae14f..a842bfd6ce8 100644 Binary files a/icons/mob/vore/tails_vr.dmi and b/icons/mob/vore/tails_vr.dmi differ diff --git a/icons/mob/vore/wings_vr.dmi b/icons/mob/vore/wings_vr.dmi index cdcac1d4cde..3eb91889e58 100644 Binary files a/icons/mob/vore/wings_vr.dmi and b/icons/mob/vore/wings_vr.dmi differ diff --git a/maps/stellar_delight/stellar_delight1.dmm b/maps/stellar_delight/stellar_delight1.dmm index 4938e34bf91..9b433defd3d 100644 --- a/maps/stellar_delight/stellar_delight1.dmm +++ b/maps/stellar_delight/stellar_delight1.dmm @@ -10741,6 +10741,7 @@ /turf/simulated/floor/tiled/dark, /area/security/security_lockerroom) "wf" = ( +/obj/machinery/alarm/angled, /turf/simulated/floor, /area/maintenance/security_port) "wg" = ( diff --git a/tgui/packages/tgui/interfaces/VorePanel.js b/tgui/packages/tgui/interfaces/VorePanel.js index cdd511d6873..f4cb7514193 100644 --- a/tgui/packages/tgui/interfaces/VorePanel.js +++ b/tgui/packages/tgui/interfaces/VorePanel.js @@ -451,6 +451,7 @@ const VoreSelectedBellyOptions = (props, context) => { egg_type, selective_preference, save_digest_mode, + eating_privacy_local, } = belly; return ( @@ -512,6 +513,12 @@ const VoreSelectedBellyOptions = (props, context) => { content={display_absorbed_examine ? 'True' : 'False'} /> + +