diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index 8c5f15f7418..85ce88330ab 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -22,6 +22,7 @@
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon.
var/tail_alt = 0 // Tail layer toggle.
+ var/permit_healbelly = TRUE
var/can_be_drop_prey = 0
var/can_be_drop_pred = 1 // Mobs are pred by default.
@@ -199,6 +200,7 @@
P.digest_leave_remains = src.digest_leave_remains
P.allowmobvore = src.allowmobvore
P.vore_taste = src.vore_taste
+ P.permit_healbelly = src.permit_healbelly
P.can_be_drop_prey = src.can_be_drop_prey
P.can_be_drop_pred = src.can_be_drop_pred
@@ -225,6 +227,7 @@
digest_leave_remains = P.digest_leave_remains
allowmobvore = P.allowmobvore
vore_taste = P.vore_taste
+ permit_healbelly = P.permit_healbelly
can_be_drop_prey = P.can_be_drop_prey
can_be_drop_pred = P.can_be_drop_pred
@@ -681,6 +684,7 @@
dispvoreprefs += "Digestable: [digestable ? "Enabled" : "Disabled"]
"
dispvoreprefs += "Leaves Remains: [digest_leave_remains ? "Enabled" : "Disabled"]
"
dispvoreprefs += "Mob Vore: [allowmobvore ? "Enabled" : "Disabled"]
"
+ dispvoreprefs += "Healbelly permission: [permit_healbelly ? "Allowed" : "Disallowed"]
"
dispvoreprefs += "Drop-nom prey: [can_be_drop_prey ? "Enabled" : "Disabled"]
"
dispvoreprefs += "Drop-nom pred: [can_be_drop_pred ? "Enabled" : "Disabled"]
"
user << browse("
Vore prefs: [src][dispvoreprefs]", "window=[name];size=200x300;can_resize=0;can_minimize=0")
diff --git a/code/modules/vore/eating/vore_vr.dm b/code/modules/vore/eating/vore_vr.dm
index f89462f23c6..2b4a82da6c1 100644
--- a/code/modules/vore/eating/vore_vr.dm
+++ b/code/modules/vore/eating/vore_vr.dm
@@ -46,6 +46,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/allowmobvore = TRUE
var/list/belly_prefs = list()
var/vore_taste = "nothing in particular"
+ var/permit_healbelly = TRUE
var/can_be_drop_prey = FALSE
var/can_be_drop_pred = FALSE
@@ -112,6 +113,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
digest_leave_remains = json_from_file["digest_leave_remains"]
allowmobvore = json_from_file["allowmobvore"]
vore_taste = json_from_file["vore_taste"]
+ permit_healbelly = json_from_file["permit_healbelly"]
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"]
@@ -123,6 +125,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
digest_leave_remains = FALSE
if(isnull(allowmobvore))
allowmobvore = TRUE
+ if(isnull(permit_healbelly))
+ permit_healbelly = TRUE
if(isnull(can_be_drop_prey))
allowmobvore = FALSE
if(isnull(can_be_drop_pred))
@@ -142,6 +146,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
"digest_leave_remains" = digest_leave_remains,
"allowmobvore" = allowmobvore,
"vore_taste" = vore_taste,
+ "permit_healbelly" = permit_healbelly,
"can_be_drop_prey" = can_be_drop_prey,
"can_be_drop_pred" = can_be_drop_pred,
"belly_prefs" = belly_prefs,
diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm
index c5e4391ef70..3f8788a2375 100644
--- a/code/modules/vore/eating/vorepanel_vr.dm
+++ b/code/modules/vore/eating/vorepanel_vr.dm
@@ -306,9 +306,15 @@
switch(user.allowmobvore)
if(1)
- dat += "Toggle Mob Vore"
+ dat += "
Toggle Mob Vore"
if(0)
- dat += "Toggle Mob Vore"
+ dat += "
Toggle Mob Vore"
+
+ switch(user.permit_healbelly)
+ if(1)
+ dat += "Toggle Healbelly Permission"
+ if(0)
+ dat += "Toggle Healbelly Permission"
dat += "
Toggle Drop-nom Prey" //These two get their own, custom row, too.
dat += "Toggle Drop-nom Pred"
@@ -871,6 +877,19 @@
if(user.client.prefs_vr)
user.client.prefs_vr.allowmobvore = user.allowmobvore
+ if(href_list["togglehealbelly"])
+ var/choice = alert(user, "This button is for those who don't like healbelly used on them as a mechanic. It does not affect anything, but is displayed under mechanical prefs for ease of quick checks. You are currently: [user.allowmobvore ? "Okay" : "Not Okay"] with players using healbelly on you.", "", "Allow Healing Belly", "Cancel", "Disallow Healing Belly")
+ switch(choice)
+ if("Cancel")
+ return 0
+ if("Allow Healing Belly")
+ user.permit_healbelly = TRUE
+ if("Disallow Healing Belly")
+ user.permit_healbelly = FALSE
+
+ if(user.client.prefs_vr)
+ user.client.prefs_vr.permit_healbelly = user.permit_healbelly
+
if(href_list["togglenoisy"])
var/choice = alert(user, "Toggle audible hunger noises. Currently: [user.noisy ? "Enabled" : "Disabled"]", "", "Enable audible hunger", "Cancel", "Disable audible hunger")
switch(choice)