diff --git a/code/__defines/mobs_vr.dm b/code/__defines/mobs_vr.dm
index 61080f2fca..ae87b1c624 100644
--- a/code/__defines/mobs_vr.dm
+++ b/code/__defines/mobs_vr.dm
@@ -7,7 +7,9 @@
#define VIS_AUGMENTED 32
-#define VIS_COUNT 32
+#define VIS_CH_STOMACH 33
+
+#define VIS_COUNT 33
//Protean organs
#define O_ORCH "orchestrator"
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index 6cf2293e1b..a58ace67b6 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -1610,6 +1610,7 @@ GLOBAL_REAL_VAR(list/stack_trace_storage)
. += new /obj/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
. += new /obj/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
. += new /obj/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
+ . += new /obj/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomachs
. += new /obj/screen/plane_master{plane = PLANE_AUGMENTED} //Augmented reality
//VOREStation Add End
/proc/CallAsync(datum/source, proctype, list/arguments)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 17fb35d8f7..4f51c7292e 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -48,7 +48,7 @@
var/obj/item/weapon/weldingtool/WT = W.get_welder()
if(can_weld == FALSE)
- to_chat("You can't reform these into their original components.")
+ to_chat(user, "You can't reform these into their original components.")
return
if(get_amount() < 4)
@@ -97,7 +97,7 @@
name = "sivian overgrowth tile"
singular_name = "sivian overgrowth floor tile"
desc = "A patch of dark overgrowth like those that decorate the plains of Sif."
-
+
/obj/item/stack/tile/grass/sif/forest
name = "sivian overgrowth tile"
singular_name = "sivian overgrowth floor tile"
diff --git a/code/game/objects/structures/low_wall.dm b/code/game/objects/structures/low_wall.dm
index 848444c64d..d65abcbad5 100644
--- a/code/game/objects/structures/low_wall.dm
+++ b/code/game/objects/structures/low_wall.dm
@@ -133,7 +133,7 @@
if(istype(O, /obj/structure/window))
var/obj/structure/window/W = O
if(Adjacent(W) && !W.anchored)
- to_chat("You hoist [W] up onto [src].")
+ to_chat(user, "You hoist [W] up onto [src].")
W.forceMove(loc)
return
if(isrobot(user))
diff --git a/code/modules/client/preference_setup/vore/09_misc.dm b/code/modules/client/preference_setup/vore/09_misc.dm
index c50406190a..2cc2cce649 100644
--- a/code/modules/client/preference_setup/vore/09_misc.dm
+++ b/code/modules/client/preference_setup/vore/09_misc.dm
@@ -13,6 +13,7 @@
S["capture_crystal"] >> pref.capture_crystal
S["auto_backup_implant"] >> pref.auto_backup_implant
S["borg_petting"] >> pref.borg_petting
+ S["stomach_vision"] >> pref.stomach_vision
/datum/category_item/player_setup_item/vore/misc/save_character(var/savefile/S)
S["show_in_directory"] << pref.show_in_directory
@@ -25,12 +26,16 @@
S["capture_crystal"] << pref.capture_crystal
S["auto_backup_implant"] << pref.auto_backup_implant
S["borg_petting"] << pref.borg_petting
+ S["stomach_vision"] << pref.stomach_vision
/datum/category_item/player_setup_item/vore/misc/copy_to_mob(var/mob/living/carbon/human/character)
if(pref.sensorpref > 5 || pref.sensorpref < 1)
pref.sensorpref = 5
character.sensorpref = pref.sensorpref
character.capture_crystal = pref.capture_crystal
+ //Vore Stomach Sprite Preference
+ character.stomach_vision = pref.stomach_vision
+ character.recalculate_vis()
/datum/category_item/player_setup_item/vore/misc/sanitize_character()
pref.show_in_directory = sanitize_integer(pref.show_in_directory, 0, 1, initial(pref.show_in_directory))
@@ -42,6 +47,7 @@
pref.capture_crystal = sanitize_integer(pref.capture_crystal, 0, 1, initial(pref.capture_crystal))
pref.auto_backup_implant = sanitize_integer(pref.auto_backup_implant, 0, 1, initial(pref.auto_backup_implant))
pref.borg_petting = sanitize_integer(pref.borg_petting, 0, 1, initial(pref.borg_petting))
+ pref.stomach_vision = sanitize_integer(pref.stomach_vision, 0, 1, initial(pref.stomach_vision))
/datum/category_item/player_setup_item/vore/misc/content(var/mob/user)
. += "
"
@@ -55,6 +61,7 @@
. += "Capture Crystal Preference: [pref.capture_crystal ? "Yes" : "No"]
"
. += "Spawn With Backup Implant: [pref.auto_backup_implant ? "Yes" : "No"]
"
. += "Allow petting as robot: [pref.borg_petting ? "Yes" : "No"]
"
+ . += "Enable Stomach Sprites: [pref.stomach_vision ? "Yes" : "No"]
"
/datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_show_in_directory"])
@@ -106,4 +113,7 @@
else if(href_list["toggle_borg_petting"])
pref.borg_petting = pref.borg_petting ? 0 : 1;
return TOPIC_REFRESH
+ else if(href_list["toggle_stomach_vision"])
+ pref.stomach_vision = pref.stomach_vision ? 0 : 1;
+ return TOPIC_REFRESH
return ..();
diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm
index 05b2e7cc8a..8aac560416 100644
--- a/code/modules/client/preferences_vr.dm
+++ b/code/modules/client/preferences_vr.dm
@@ -11,6 +11,7 @@
var/capture_crystal = 1 //Whether or not someone is able to be caught with capture crystals
var/auto_backup_implant = FALSE //Whether someone starts with a backup implant or not.
var/borg_petting = TRUE //Whether someone can be petted as a borg or not.
+ var/stomach_vision = TRUE //Whether or not someone can view stomach sprites
var/job_talon_high = 0
var/job_talon_med = 0
@@ -170,7 +171,7 @@
/client/verb/toggle_automatic_afk()
set name = "Toggle Automatic AFK"
- set category = "Preferences"
+ set category = "Preferences.Game" //CHOMPEdit
set desc = "When enabled, causes you to be automatically marked as AFK if you are idle for too long."
var/pref_path = /datum/client_preference/auto_afk
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index c4d8277fc8..f7bd43be71 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -5027,7 +5027,7 @@
return 0
if (C.volume < req)
- to_chat("There's not enough [C.name] to coat the [src]!")
+ to_chat(user, "There's not enough [C.name] to coat the [src]!")
return 0
var/id = C.id
diff --git a/code/modules/food/kitchen/cooking_machines/_mixer.dm b/code/modules/food/kitchen/cooking_machines/_mixer.dm
index 9d78be3475..bab8374e1e 100644
--- a/code/modules/food/kitchen/cooking_machines/_mixer.dm
+++ b/code/modules/food/kitchen/cooking_machines/_mixer.dm
@@ -106,7 +106,7 @@ fundamental differences
var/datum/cooking_item/CI = cooking_objs[1]
if(!CI.container.check_contents())
- to_chat("There's nothing in it! Add ingredients before turning [src] on!")
+ to_chat(usr, "There's nothing in it! Add ingredients before turning [src] on!")
return
if(stat & POWEROFF)//Its turned off
@@ -152,4 +152,4 @@ fundamental differences
/obj/machinery/appliance/mixer/process()
if (!stat)
for (var/i in cooking_objs)
- do_cooking_tick(i)
\ No newline at end of file
+ do_cooking_tick(i)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index c8fb7e1223..66d631e214 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -7,6 +7,18 @@
has_huds = TRUE //We do have HUDs (like health, wanted, status, not inventory slots)
+ vore_capacity = 3 // CHOMPEdit
+ vore_capacity_ex = list("stomach" = 3, "taur belly" = 3) //CHOMPEdit
+ vore_fullness_ex = list("stomach" = 0, "taur belly" = 0) //CHOMPEdit
+ vore_icon_bellies = list("stomach", "taur belly") //CHOMPEdit
+ var/struggle_anim_stomach = FALSE
+ var/struggle_anim_taur = FALSE
+ /* CHOMPRemove Start, THIS ALL GOES TO MOB!
+ var/vore_sprite_color = list("stomach" = "#FFFFFF", "taur belly" = "#FFFFFF")
+ var/vore_sprite_multiply = list("stomach" = TRUE, "taur belly" = TRUE)
+ var/vore_fullness = 0
+ */// CHOMPRemove End
+
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
var/obj/item/weapon/rig/wearing_rig // This is very not good, but it's much much better than calling get_rig() every update_canmove() call.
var/last_push_time //For human_attackhand.dm, keeps track of the last use of disarm
@@ -1808,3 +1820,21 @@
resting = !resting
to_chat(src, "You are now [resting ? "resting" : "getting up"].")
update_canmove()
+
+/*CHOMPRemove Start
+/mob/living/carbon/human/proc/update_fullness()
+ var/list/new_fullness = list()
+ vore_fullness = 0
+ for(var/belly_class in vore_icon_bellies)
+ new_fullness[belly_class] = 0
+ for(var/obj/belly/B as anything in vore_organs)
+ new_fullness[B.belly_sprite_to_affect] += B.GetFullnessFromBelly()
+ for(var/belly_class in vore_icon_bellies)
+ new_fullness[belly_class] /= size_multiplier //Divided by pred's size so a macro mob won't get macro belly from a regular prey.
+ new_fullness[belly_class] = round(new_fullness[belly_class], 1) // Because intervals of 0.25 are going to make sprite artists cry.
+ vore_fullness_ex[belly_class] = min(vore_capacity_ex[belly_class], new_fullness[belly_class])
+ vore_fullness += new_fullness[belly_class]
+ vore_fullness = min(vore_capacity, vore_fullness)
+ update_vore_belly_sprite()
+ update_vore_tail_sprite()
+*///CHOMPRemove End
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index ee62384980..3994679a01 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -203,6 +203,15 @@
compiled_vis |= VIS_CH_VANTAG
//VOREStation Add End
+ //Vore Stomach addition start. This goes here.
+ if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,TRUE)
+ compiled_vis += VIS_CH_STOMACH
+ else if(!stomach_vision && (VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,FALSE)
+ compiled_vis -= VIS_CH_STOMACH
+ //Vore Stomach addition end
+
if(!compiled_vis.len && !vis_enabled.len)
return //Nothin' doin'.
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index 5f05115aa3..300b5ef863 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -252,6 +252,8 @@
var/rarity_value = 1 // Relative rarity/collector value for this species.
var/economic_modifier = 2 // How much money this species makes
+ var/vore_belly_default_variant = "H"
+
// Determines the organs that the species spawns with and
var/list/has_organ = list( // which required-organ checks are conducted.
O_HEART = /obj/item/organ/internal/heart,
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index a8407e7b9f..a9a50ffd56 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -1447,6 +1447,76 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
if((. = ..()))
update_wing_showing()
+/mob/living/carbon/human/proc/update_vore_belly_sprite()
+ if(QDESTROYING(src))
+ return
+
+ remove_layer(VORE_BELLY_LAYER)
+
+ var/image/vore_belly_image = get_vore_belly_image()
+ if(vore_belly_image)
+ vore_belly_image.layer = BODY_LAYER+VORE_BELLY_LAYER
+ overlays_standing[VORE_BELLY_LAYER] = vore_belly_image
+ vore_belly_image.plane = PLANE_CH_STOMACH //This one line of code. This ONE LINE OF CODE TOOK 6 HOURS TO FIGURE OUT. THANK YOU REDCAT.
+ vore_belly_image.appearance_flags = appearance_flags
+
+ apply_layer(VORE_BELLY_LAYER)
+
+/mob/living/carbon/human/proc/get_vore_belly_image()
+ if(!(wear_suit && wear_suit.flags_inv & HIDETAIL))
+ var/vs_fullness = vore_fullness_ex["stomach"]
+ var/icon/vorebelly_s = new/icon(icon = 'modular_chomp/icons/mob/vore/Bellies.dmi', icon_state = "[species.vore_belly_default_variant]Belly[vs_fullness][struggle_anim_stomach ? "" : " idle"]") //CHOMPEdit
+ vorebelly_s.Blend(vore_sprite_color["stomach"], vore_sprite_multiply["stomach"] ? ICON_MULTIPLY : ICON_ADD)
+ var/image/working = image(vorebelly_s)
+ working.overlays += em_block_image_generic(working)
+ return working
+ return null
+
+/mob/living/carbon/human/proc/vore_belly_animation()
+ if(!struggle_anim_stomach)
+ struggle_anim_stomach = TRUE
+ update_vore_belly_sprite()
+ spawn(12)
+ struggle_anim_stomach = FALSE
+ update_vore_belly_sprite()
+
+/mob/living/carbon/human/proc/update_vore_tail_sprite()
+ if(QDESTROYING(src))
+ return
+
+ remove_layer(VORE_TAIL_LAYER)
+
+ var/image/vore_tail_image = get_vore_tail_image()
+ if(vore_tail_image)
+ vore_tail_image.layer = BODY_LAYER+VORE_TAIL_LAYER
+ overlays_standing[VORE_TAIL_LAYER] = vore_tail_image
+ vore_tail_image.plane = PLANE_CH_STOMACH //This one line of code. This ONE LINE OF CODE TOOK 6 HOURS TO FIGURE OUT. THANK YOU REDCAT.
+ vore_tail_image.appearance_flags = appearance_flags
+
+ apply_layer(VORE_TAIL_LAYER)
+
+/mob/living/carbon/human/proc/get_vore_tail_image()
+ if(tail_style && istaurtail(tail_style) && tail_style:vore_tail_sprite_variant)
+ var/vs_fullness = vore_fullness_ex["taur belly"]
+ var/loaf_alt = lying && tail_style:belly_variant_when_loaf
+ var/fullness_icons = min(tail_style.fullness_icons, vs_fullness)
+ var/icon/vorebelly_s = new/icon(icon = tail_style.bellies_icon_path, icon_state = "Taur[tail_style:vore_tail_sprite_variant]-Belly-[fullness_icons][loaf_alt ? " loaf" : (struggle_anim_taur ? "" : " idle")]")
+ vorebelly_s.Blend(vore_sprite_color["taur belly"], vore_sprite_multiply["taur belly"] ? ICON_MULTIPLY : ICON_ADD)
+ var/image/working = image(vorebelly_s)
+ working.pixel_x = -16
+ if(tail_style.em_block)
+ working.overlays += em_block_image_generic(working)
+ return working
+ return null
+
+/mob/living/carbon/human/proc/vore_tail_animation()
+ if(tail_style.struggle_anim && !struggle_anim_taur)
+ struggle_anim_taur = TRUE
+ update_vore_tail_sprite()
+ spawn(12)
+ struggle_anim_taur = FALSE
+ update_vore_tail_sprite()
+
//Human Overlays Indexes/////////
/* CHOMPEdit - why are these undefined??
# undef MUTATIONS_LAYER
diff --git a/code/modules/mob/mob_defines_vr.dm b/code/modules/mob/mob_defines_vr.dm
index f3a8678587..ec8add1440 100644
--- a/code/modules/mob/mob_defines_vr.dm
+++ b/code/modules/mob/mob_defines_vr.dm
@@ -1,5 +1,6 @@
/mob
var/vantag_hud = 0 // Do I have the HUD enabled?
+ var/stomach_vision = 1 // By default, you will see stomachs.
var/mob/living/simple_mob/temporary_form // For holding onto a temporary form //CHOMPEdit - should be mob/living/simple_mob, not /mob
var/disconnect_time = null //Time of client loss, set by Logout(), for timekeeping
diff --git a/code/modules/mob/mob_helpers_vr.dm b/code/modules/mob/mob_helpers_vr.dm
index 663cfc7f4a..e77c969915 100644
--- a/code/modules/mob/mob_helpers_vr.dm
+++ b/code/modules/mob/mob_helpers_vr.dm
@@ -1,5 +1,13 @@
/mob/recalculate_vis()
. = ..()
+
+ if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,TRUE)
+ vis_enabled += VIS_CH_STOMACH
+ else if(!stomach_vision && (VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,FALSE)
+ vis_enabled -= VIS_CH_STOMACH
+
if(!plane_holder || !vis_enabled)
return
@@ -12,3 +20,35 @@
plane_holder.set_vis(VIS_CH_VANTAG,FALSE)
vis_enabled -= VIS_CH_VANTAG
return
+
+
+/mob/verb/toggle_stomach_vision()
+ set name = "Toggle Stomach Sprites"
+ set category = "Preferences.Vore" //CHOMPEdit
+ set desc = "Toggle the ability to see stomachs or not"
+
+ var/toggle
+ toggle = tgui_alert(src, "Would you like to see visible stomachs?", "Visible Tummy?", list("Yes", "No"))
+ if(!toggle)
+ return
+ if(toggle =="Yes")
+ stomach_vision = 1 //Simple! Easy!
+ if(!(VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,TRUE)
+ vis_enabled += VIS_CH_STOMACH
+ to_chat(src, "You can now see stomachs!")
+ else
+ stomach_vision = 0
+ if(VIS_CH_STOMACH in vis_enabled)
+ plane_holder.set_vis(VIS_CH_STOMACH,FALSE)
+ vis_enabled -= VIS_CH_STOMACH
+ to_chat(src, "You will no longer see stomachs!")
+
+/* //Leaving this in as an example of 'how to properly enable a plane to hide/show itself' for future PRs.
+if(stomach_vision && !(VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,TRUE)
+ vis_enabled += VIS_CH_STOMACH
+else if(!stomach_vision && (VIS_CH_STOMACH in vis_enabled))
+ plane_holder.set_vis(VIS_CH_STOMACH,FALSE)
+ vis_enabled -= VIS_CH_STOMACH
+*/
diff --git a/code/modules/mob/mob_planes_vr.dm b/code/modules/mob/mob_planes_vr.dm
index 7fe4fd4c60..efe52cb25b 100644
--- a/code/modules/mob/mob_planes_vr.dm
+++ b/code/modules/mob/mob_planes_vr.dm
@@ -4,6 +4,7 @@
plane_masters[VIS_CH_HEALTH_VR] = new /obj/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
plane_masters[VIS_CH_BACKUP] = new /obj/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
plane_masters[VIS_CH_VANTAG] = new /obj/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
+ plane_masters[VIS_CH_STOMACH] = new /obj/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomach
plane_masters[VIS_AUGMENTED] = new /obj/screen/plane_master/augmented(M = my_mob) //Augmented reality
..()
diff --git a/code/modules/mob/new_player/sprite_accessories_taur.dm b/code/modules/mob/new_player/sprite_accessories_taur.dm
index 671300945e..8a50962800 100644
--- a/code/modules/mob/new_player/sprite_accessories_taur.dm
+++ b/code/modules/mob/new_player/sprite_accessories_taur.dm
@@ -1,3 +1,10 @@
+/datum/sprite_accessory/tail
+ var/vore_tail_sprite_variant = ""
+ var/belly_variant_when_loaf = FALSE
+ var/fullness_icons = 0
+ var/struggle_anim = FALSE
+ var/bellies_icon_path = 'modular_chomp/icons/mob/vore/Taur_Bellies.dmi' //CHOMPEdit
+
/datum/riding/taur
keytype = /obj/item/weapon/material/twohanded/riding_crop // Crack!
nonhuman_key_exemption = FALSE // If true, nonhumans who can't hold keys don't need them, like borgs and simplemobs.
diff --git a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm
index ef68c35a79..cf10693587 100644
--- a/code/modules/mob/new_player/sprite_accessories_taur_vr.dm
+++ b/code/modules/mob/new_player/sprite_accessories_taur_vr.dm
@@ -60,6 +60,9 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 4
+ vore_tail_sprite_variant = "N"
+ fullness_icons = 3
+ struggle_anim = TRUE
/datum/sprite_accessory/tail/taur/wolf/fatwolf
name = "Fat Wolf (Taur)"
@@ -81,22 +84,22 @@
/datum/sprite_accessory/tail/taur/wolf/fatwolf_2c
name = "Fat Wolf 3-color (Taur)"
- icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
+ icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp
icon_state = "fatwolf_s"
extra_overlay = "fatwolf_markings"
- extra_overlay2 = "fatwolf_markings_2" //CHOMPEdit
+ extra_overlay2 = "fatwolf_markings_2" //Ported from Chomp
//icon_sprite_tag = "fatwolf2c"
loaf_offset = 3
/datum/sprite_accessory/tail/taur/wolf/wolf_2c_wag
name = "Wolf 3-color (Taur, Fat vwag)"
- icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
+ icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp
icon_state = "wolf_s"
extra_overlay = "wolf_markings"
extra_overlay2 = "wolf_markings_2"
ani_state = "fatwolf_s"
extra_overlay_w = "fatwolf_markings"
- extra_overlay2_w = "fatwolf_markings_2" //CHOMPEdit
+ extra_overlay2_w = "fatwolf_markings_2" //Ported from Chomp
/datum/sprite_accessory/tail/taur/wolf/synthwolf
name = "SynthWolf dual-color (Taur)"
@@ -131,6 +134,10 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 3
+ vore_tail_sprite_variant = "Skunk" //Sadly there appears to be no sprites... For now!
+ belly_variant_when_loaf = TRUE
+ fullness_icons = 1
+ // struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/naga
name = "Naga (Taur)"
@@ -165,34 +172,45 @@
msg_prey_stepunder = "You jump over %prey's thick tail."
msg_owner_stepunder = "%owner bounds over your tail."
-/datum/sprite_accessory/tail/taur/naga/naga_2c
+/*CHOMPRemove Start
+/datum/sprite_accessory/tail/taur/naga/vore_compatable
+ name = "Naga (Taur) (Vore Compatable)"
+ vore_tail_sprite_variant = "Naga"
+ fullness_icons = 1
+ struggle_anim = TRUE
+*///CHOMPRemove End
+
+/datum/sprite_accessory/tail/taur/naga/naga_2c //CHOMPEdit
name = "Naga dual-color (Taur)"
icon_state = "naga_s"
extra_overlay = "naga_markings"
//icon_sprite_tag = "naga2c"
+ vore_tail_sprite_variant = "Naga"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
-/datum/sprite_accessory/tail/taur/naga/alt_2c
+/datum/sprite_accessory/tail/taur/naga/alt_2c //CHOMPEdit
name = "Naga alt style dual-color (Taur)"
suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi'
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
//icon_sprite_tag = "altnaga2c"
-/datum/sprite_accessory/tail/taur/naga/alt_3c
+/datum/sprite_accessory/tail/taur/naga/alt_3c //CHOMPEdit
name = "Naga alt style tri-color (Taur)"
suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi'
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
extra_overlay2 = "altnaga_stripes"
-/datum/sprite_accessory/tail/taur/naga/alt_3c_rattler
+/datum/sprite_accessory/tail/taur/naga/alt_3c_rattler //CHOMPEdit
name = "Naga alt style tri-color, rattler (Taur)"
suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi'
icon_state = "altnaga_s"
extra_overlay = "altnaga_markings"
extra_overlay2 = "altnaga_rattler"
-/datum/sprite_accessory/tail/taur/naga/alt_3c_tailmaw
+/datum/sprite_accessory/tail/taur/naga/alt_3c_tailmaw //CHOMPEdit
name = "Naga alt style tri-color, tailmaw (Taur)"
suit_sprites = 'icons/mob/taursuits_naga_alt_vr.dmi'
icon_state = "altnagatailmaw_s"
@@ -208,6 +226,9 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 4
+ vore_tail_sprite_variant = "Horse"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
@@ -242,6 +263,9 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 3
+ vore_tail_sprite_variant = "Cow"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
@@ -267,6 +291,10 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 7
+ vore_tail_sprite_variant = "Deer"
+ belly_variant_when_loaf = TRUE
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
msg_owner_disarm_run = "You quickly push %prey to the ground with your hoof!"
msg_prey_disarm_run = "%owner pushes you down to the ground with their hoof!"
@@ -297,12 +325,15 @@
/datum/sprite_accessory/tail/taur/lizard
name = "Lizard (Taur)"
icon_state = "lizard_s"
-// suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' ///Chomp edit
+// suit_sprites = 'icons/mob/taursuits_lizard_vr.dmi' //Ported from Chomp
suit_sprites = 'icons/mob/taursuits_lizard_ch.dmi'
icon_sprite_tag = "lizard"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 5
+ vore_tail_sprite_variant = "Lizard"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/lizard/fatlizard
name = "Fat Lizard (Taur)"
@@ -349,6 +380,9 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 3
+ vore_tail_sprite_variant = "SynthLiz"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/lizard/fatsynthlizard
name = "Fat SynthLizard dual-color (Taur)"
@@ -424,6 +458,10 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 5
+ vore_tail_sprite_variant = "Feline"
+ belly_variant_when_loaf = TRUE
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/fatfeline
name = "Fat Feline (Taur)"
@@ -452,10 +490,10 @@
/datum/sprite_accessory/tail/taur/feline/fatfeline_2c
name = "Fat Feline 3-color (Taur)"
- icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
+ icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp
icon_state = "fatfeline_s"
extra_overlay = "fatfeline_markings"
- extra_overlay2 = "fatfeline_markings_2" //CHOMPEdit
+ extra_overlay2 = "fatfeline_markings_2" //Ported from Chomp
//icon_sprite_tag = "fatfeline2c"
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
@@ -463,13 +501,13 @@
/datum/sprite_accessory/tail/taur/feline/feline_2c_wag
name = "Feline 3-color (Taur, Fat vwag)"
- icon = 'icons/mob/vore/taurs_ch.dmi' //CHOMPEdit
+ icon = 'icons/mob/vore/taurs_ch.dmi' //Ported from Chomp
icon_state = "feline_s"
extra_overlay = "feline_markings"
extra_overlay2 = "feline_markings_2"
ani_state = "fatfeline_s"
extra_overlay_w = "fatfeline_markings"
- extra_overlay2_w = "fatfeline_markings_2" //CHOMPEdit
+ extra_overlay2_w = "fatfeline_markings_2" //Ported from Chomp
loaf_offset = 3
/datum/sprite_accessory/tail/taur/feline/synthfeline
@@ -529,6 +567,9 @@
icon_state = "slug_s"
suit_sprites = 'icons/mob/taursuits_slug_vr.dmi'
icon_sprite_tag = "slug"
+ vore_tail_sprite_variant = "Slug"
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
msg_owner_help_walk = "You carefully slither around %prey."
msg_prey_help_walk = "%owner's huge tail slithers past beside you!"
@@ -599,6 +640,10 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 6
+ vore_tail_sprite_variant = "Drake"
+ belly_variant_when_loaf = TRUE
+ fullness_icons = 3 //CHOMPEdit
+ //struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/drake/fat
name = "Fat Drake (Taur)"
@@ -626,6 +671,10 @@
can_loaf = TRUE
icon_loaf = 'icons/mob/vore/taurs_vr_loaf.dmi'
loaf_offset = 5
+ vore_tail_sprite_variant = "Otie"
+ belly_variant_when_loaf = TRUE
+ fullness_icons = 1
+ //struggle_anim = TRUE //CHOMPRemove
/datum/sprite_accessory/tail/taur/alraune/alraune_2c
name = "Alraune (dual color)"
@@ -884,7 +933,7 @@
name = "Fat Sect Drone (Taur)"
icon_state = "fat_sect_drone"
extra_overlay = "fat_sect_drone_markings"
- icon_sprite_tag = "sect_drone" //CHOMPEdit addition
+ icon_sprite_tag = "sect_drone" //Ported from Chomp
/datum/sprite_accessory/tail/taur/sect_drone/drone_wag
name = "Sect Drone (Taur, Fat vwag)"
@@ -892,7 +941,7 @@
extra_overlay = "sect_drone_markings"
ani_state = "fat_sect_drone"
extra_overlay_w = "fat_sect_drone_markings"
- icon_sprite_tag = "sect_drone" //CHOMPEdit addition
+ icon_sprite_tag = "sect_drone" //Ported from Chomp
/datum/sprite_accessory/tail/taur/giantspider_colorable//these are honestly better fit for vass icontypes whoops
name = "Giant Spider dual-color (Taur)"
diff --git a/code/modules/recycling/recycling.dm b/code/modules/recycling/recycling.dm
index 63a5fe444a..2c6d17cbc3 100644
--- a/code/modules/recycling/recycling.dm
+++ b/code/modules/recycling/recycling.dm
@@ -29,7 +29,7 @@
return
if(working)
- to_chat("\The [src] is busy! Wait until it's idle.")
+ to_chat(user, "\The [src] is busy! Wait until it's idle.")
return
if(default_deconstruction_screwdriver(user, O))
diff --git a/code/modules/vore/eating/belly_obj_ch.dm b/code/modules/vore/eating/belly_obj_ch.dm
index 0aa26692da..28929294e1 100644
--- a/code/modules/vore/eating/belly_obj_ch.dm
+++ b/code/modules/vore/eating/belly_obj_ch.dm
@@ -99,33 +99,9 @@
"Tricordrazine"
)
- //CHOMP - vore sprites
- var/vore_sprite_flags = DM_FLAG_VORESPRITE_BELLY
- var/tmp/static/list/vore_sprite_flag_list= list(
- "Normal belly sprite" = DM_FLAG_VORESPRITE_BELLY,
- //"Tail adjustment" = DM_FLAG_VORESPRITE_TAIL,
- //"Marking addition" = DM_FLAG_VORESPRITE_MARKING,
- "Undergarment addition" = DM_FLAG_VORESPRITE_ARTICLE,
- )
-
- var/affects_vore_sprites = FALSE
- var/count_absorbed_prey_for_sprite = TRUE
- var/absorbed_multiplier = 1
- var/count_liquid_for_sprite = FALSE
- var/liquid_multiplier = 1
- var/count_items_for_sprite = FALSE
- var/item_multiplier = 1
- var/health_impacts_size = TRUE
- var/resist_triggers_animation = TRUE
- var/size_factor_for_sprite = 1
- var/belly_sprite_to_affect = "stomach"
- var/undergarment_chosen = "Underwear, bottom"
var/undergarment_if_none
var/undergarment_color = COLOR_GRAY
- var/datum/sprite_accessory/tail/tail_to_change_to = FALSE
var/tail_colouration = FALSE
- var/tail_extra_overlay = FALSE
- var/tail_extra_overlay2 = FALSE
//var/marking_to_add = NULL
//var/marking_color = NULL
var/special_entrance_sound // Mob specific custom entry sound set by mob's init_vore when applicable
@@ -143,44 +119,6 @@
var/list/belly_surrounding = list() // A list of living mobs surrounded by this belly, including inside containers, food, on mobs, etc. Exclusing inside other bellies.
-/obj/belly/proc/GetFullnessFromBelly()
- if(!affects_vore_sprites)
- return 0
- var/belly_fullness = 0
- for(var/mob/living/M in src)
- if(count_absorbed_prey_for_sprite || !M.absorbed)
- var/fullness_to_add = M.size_multiplier
- fullness_to_add *= M.mob_size / 20
- if(M.absorbed)
- fullness_to_add *= absorbed_multiplier
- if(health_impacts_size)
- if(ishuman(M))
- fullness_to_add *= (M.health + 100) / (M.getMaxHealth() + 100)
- else
- fullness_to_add *= M.health / M.getMaxHealth()
- if(fullness_to_add > 0)
- belly_fullness += fullness_to_add
- if(count_liquid_for_sprite)
- belly_fullness += (reagents.total_volume / 100) * liquid_multiplier
- if(count_items_for_sprite)
- for(var/obj/item/I in src)
- var/fullness_to_add = 0
- if(I.w_class == ITEMSIZE_TINY)
- fullness_to_add = ITEMSIZE_COST_TINY
- else if(I.w_class == ITEMSIZE_SMALL)
- fullness_to_add = ITEMSIZE_COST_SMALL
- else if(I.w_class == ITEMSIZE_NORMAL)
- fullness_to_add = ITEMSIZE_COST_NORMAL
- else if(I.w_class == ITEMSIZE_LARGE)
- fullness_to_add = ITEMSIZE_COST_LARGE
- else if(I.w_class == ITEMSIZE_HUGE)
- fullness_to_add = ITEMSIZE_COST_HUGE
- else
- fullness_to_add = I.w_class
- fullness_to_add /= 32
- belly_fullness += fullness_to_add * item_multiplier
- belly_fullness *= size_factor_for_sprite
- return belly_fullness
///////////////////// NUTRITION REAGENT PRODUCTION /////////////////
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index 4deb58697f..089a567a37 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -8,6 +8,12 @@
//
// Parent type of all the various "belly" varieties.
//
+
+// # define DM_FLAG_VORESPRITE_TAIL 0x2 //CHOMPRemove
+// # define DM_FLAG_VORESPRITE_MARKING 0x4 //CHOMPRemove
+// # define DM_FLAG_VORESPRITE_ARTICLE 0x8 //CHOMPRemove
+
+
/obj/belly
name = "belly" // Name of this location
desc = "It's a belly! You're in it!" // Flavor text description of inside sight/sound/smells/feels.
@@ -67,6 +73,30 @@
var/belly_overall_mult = 1 //Multiplier applied ontop of any other specific multipliers
var/private_struggle = FALSE // If struggles are made public or not //CHOMPAdd
+
+ var/vore_sprite_flags = DM_FLAG_VORESPRITE_BELLY //CHOMPEdit
+ var/tmp/static/list/vore_sprite_flag_list= list(
+ "Normal Belly Sprite" = DM_FLAG_VORESPRITE_BELLY, //CHOMPEdit
+ //"Tail adjustment" = DM_FLAG_VORESPRITE_TAIL,
+ //"Marking addition" = DM_FLAG_VORESPRITE_MARKING
+ "Undergarment addition" = DM_FLAG_VORESPRITE_ARTICLE, //CHOMPAdd
+ )
+ var/affects_vore_sprites = FALSE
+ var/count_absorbed_prey_for_sprite = TRUE
+ var/absorbed_multiplier = 1
+ var/count_liquid_for_sprite = FALSE
+ var/liquid_multiplier = 1
+ var/count_items_for_sprite = FALSE
+ var/item_multiplier = 1
+ var/health_impacts_size = TRUE
+ var/resist_triggers_animation = TRUE
+ var/size_factor_for_sprite = 1
+ var/belly_sprite_to_affect = "stomach"
+ var/datum/sprite_accessory/tail/tail_to_change_to = FALSE
+ var/tail_extra_overlay = FALSE
+ var/tail_extra_overlay2 = FALSE
+ var/undergarment_chosen = "Underwear, bottom"
+
// Generally just used by AI
var/autotransferchance = 0 // % Chance of prey being autotransferred to transfer location
var/autotransferwait = 10 // Time between trying to transfer.
@@ -440,18 +470,9 @@
"vorespawn_blacklist",
"vorespawn_whitelist",
"vorespawn_absorbed",
- "vore_sprite_flags",
- "affects_vore_sprites",
- "count_absorbed_prey_for_sprite",
"absorbed_multiplier",
"count_liquid_for_sprite",
"liquid_multiplier",
- "count_items_for_sprite",
- "item_multiplier",
- "health_impacts_size",
- "resist_triggers_animation",
- "size_factor_for_sprite",
- "belly_sprite_to_affect",
"undergarment_chosen",
"undergarment_if_none",
"undergarment_color",
@@ -495,6 +516,15 @@
"belly_item_mult",
"belly_overall_mult",
"drainmode",
+ "vore_sprite_flags",
+ "affects_vore_sprites",
+ "count_absorbed_prey_for_sprite",
+ "resist_triggers_animation",
+ "size_factor_for_sprite",
+ "belly_sprite_to_affect",
+ "health_impacts_size",
+ "count_items_for_sprite",
+ "item_multiplier"
)
if (save_digest_mode == 1)
@@ -2639,18 +2669,9 @@
dupe.vorespawn_blacklist = vorespawn_blacklist
dupe.vorespawn_whitelist = vorespawn_whitelist
dupe.vorespawn_absorbed = vorespawn_absorbed
- dupe.vore_sprite_flags = vore_sprite_flags
- dupe.affects_vore_sprites = affects_vore_sprites
- dupe.count_absorbed_prey_for_sprite = count_absorbed_prey_for_sprite
dupe.absorbed_multiplier = absorbed_multiplier
dupe.count_liquid_for_sprite = count_liquid_for_sprite
dupe.liquid_multiplier = liquid_multiplier
- dupe.count_items_for_sprite = count_items_for_sprite
- dupe.item_multiplier = item_multiplier
- dupe.health_impacts_size = health_impacts_size
- dupe.resist_triggers_animation = resist_triggers_animation
- dupe.size_factor_for_sprite = size_factor_for_sprite
- dupe.belly_sprite_to_affect = belly_sprite_to_affect
dupe.undergarment_chosen = undergarment_chosen
dupe.undergarment_if_none = undergarment_if_none
dupe.undergarment_color = undergarment_color
@@ -2691,6 +2712,15 @@
dupe.belly_mob_mult = belly_mob_mult
dupe.belly_item_mult = belly_item_mult
dupe.belly_overall_mult = belly_overall_mult
+ dupe.vore_sprite_flags = vore_sprite_flags
+ dupe.affects_vore_sprites = affects_vore_sprites
+ dupe.count_absorbed_prey_for_sprite = count_absorbed_prey_for_sprite
+ dupe.resist_triggers_animation = resist_triggers_animation
+ dupe.size_factor_for_sprite = size_factor_for_sprite
+ dupe.belly_sprite_to_affect = belly_sprite_to_affect
+ dupe.health_impacts_size = health_impacts_size
+ dupe.count_items_for_sprite = count_items_for_sprite
+ dupe.item_multiplier = item_multiplier
//// Object-holding variables
//struggle_messages_outside - strings
@@ -2926,3 +2956,44 @@
/obj/belly/container_resist(mob/M)
return relay_resist(M)
+
+/obj/belly/proc/GetFullnessFromBelly()
+ if(!affects_vore_sprites)
+ return 0
+ var/belly_fullness = 0
+ for(var/mob/living/M in src)
+ if(count_absorbed_prey_for_sprite || !M.absorbed)
+ var/fullness_to_add = M.size_multiplier
+ fullness_to_add *= M.mob_size / 20
+ if(M.absorbed)
+ fullness_to_add *= absorbed_multiplier
+ if(health_impacts_size)
+ //CHOMPEdit Start
+ if(ishuman(M))
+ fullness_to_add *= (M.health + 100) / (M.getMaxHealth() + 100)
+ else
+ fullness_to_add *= M.health / M.getMaxHealth()
+ if(fullness_to_add > 0)
+ belly_fullness += fullness_to_add
+ //CHOMPEdit End
+ if(count_liquid_for_sprite)
+ belly_fullness += (reagents.total_volume / 100) * liquid_multiplier
+ if(count_items_for_sprite)
+ for(var/obj/item/I in src)
+ var/fullness_to_add = 0
+ if(I.w_class == ITEMSIZE_TINY)
+ fullness_to_add = ITEMSIZE_COST_TINY
+ else if(I.w_class == ITEMSIZE_SMALL)
+ fullness_to_add = ITEMSIZE_COST_SMALL
+ else if(I.w_class == ITEMSIZE_NORMAL)
+ fullness_to_add = ITEMSIZE_COST_NORMAL
+ else if(I.w_class == ITEMSIZE_LARGE)
+ fullness_to_add = ITEMSIZE_COST_LARGE
+ else if(I.w_class == ITEMSIZE_HUGE)
+ fullness_to_add = ITEMSIZE_COST_HUGE
+ else
+ fullness_to_add = I.w_class //CHOMPEdit
+ fullness_to_add /= 32
+ belly_fullness += fullness_to_add * item_multiplier
+ belly_fullness *= size_factor_for_sprite
+ return belly_fullness
diff --git a/code/modules/vore/eating/bellymodes_datum_vr.dm b/code/modules/vore/eating/bellymodes_datum_vr.dm
index e0c8361d95..a859f05780 100644
--- a/code/modules/vore/eating/bellymodes_datum_vr.dm
+++ b/code/modules/vore/eating/bellymodes_datum_vr.dm
@@ -88,9 +88,10 @@ GLOBAL_LIST_INIT(digest_modes, list())
var/offset = (1 + ((L.weight - 137) / 137)) // 130 pounds = .95 140 pounds = 1.02
var/difference = B.owner.size_multiplier / L.size_multiplier
- consider_healthbar(L, old_health, B.owner)
if(B.health_impacts_size) //CHOMPEdit - Health probably changed so...
B.owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
+
+ consider_healthbar(L, old_health, B.owner)
/*if(isrobot(B.owner)) //CHOMPEdit: Borgos can now use nutrition too
if(B.reagent_mode_flags & DM_FLAG_REAGENTSDIGEST && B.reagents.total_volume < B.reagents.maximum_volume) //digestion producing reagents
var/mob/living/silicon/robot/R = B.owner
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 8234ec8fa0..120e40c017 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -274,6 +274,7 @@
P.nutrition_messages = src.nutrition_messages
P.weight_message_visible = src.weight_message_visible
P.weight_messages = src.weight_messages
+ P.vore_sprite_color = src.vore_sprite_color // CHOMPEdit
P.allow_mind_transfer = src.allow_mind_transfer
//CHOMP stuff Start
@@ -286,7 +287,6 @@
P.apply_reagents = src.apply_reagents
P.autotransferable = src.autotransferable
P.strip_pref = src.strip_pref
- P.vore_sprite_color = src.vore_sprite_color
P.vore_sprite_multiply = src.vore_sprite_multiply
P.no_latejoin_vore_warning = src.no_latejoin_vore_warning
P.no_latejoin_prey_warning = src.no_latejoin_prey_warning
@@ -348,6 +348,7 @@
nutrition_messages = P.nutrition_messages
weight_message_visible = P.weight_message_visible
weight_messages = P.weight_messages
+ vore_sprite_color = P.vore_sprite_color //CHOMPEdit
allow_mind_transfer = P.allow_mind_transfer
//CHOMP stuff
@@ -360,7 +361,6 @@
apply_reagents = P.apply_reagents
autotransferable = P.autotransferable
strip_pref = P.strip_pref
- vore_sprite_color = P.vore_sprite_color
vore_sprite_multiply = P.vore_sprite_multiply
no_latejoin_vore_warning = P.no_latejoin_vore_warning
no_latejoin_prey_warning = P.no_latejoin_prey_warning
@@ -1294,7 +1294,7 @@
dispvoreprefs += "Late join prey auto accept: [no_latejoin_prey_warning ? "Enabled" : "Disabled"]
"
dispvoreprefs += "Global Vore Privacy is: [eating_privacy_global ? "Subtle" : "Loud"]
"
dispvoreprefs += "Current active belly: [vore_selected ? vore_selected.name : "None"]
"
- dispvoreprefs += "Current active belly: [belly_rub_target ? belly_rub_target : vore_selected.name]
"
+ dispvoreprefs += "Current active belly: [belly_rub_target ? belly_rub_target : (vore_selected ? vore_selected.name : "None")]
"
//CHOMPEdit End
user << browse("