Skip to content

Commit

Permalink
Merge pull request #284 from Very-Soft/pizzapowerultimate
Browse files Browse the repository at this point in the history
New Vore Prefs
  • Loading branch information
Very-Soft authored May 9, 2024
2 parents adf2e81 + b521e45 commit 3165b3c
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 20 deletions.
4 changes: 3 additions & 1 deletion code/modules/mob/living/carbon/human/human_rs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
var/vore_sprite_color = list("stomach" = "#FFFFFF", "taur belly" = "#FFFFFF")
var/vore_sprite_multiply = list("stomach" = TRUE, "taur belly" = TRUE)
var/vore_fullness = 0
var/allow_contaminate = TRUE
var/allow_stripping = TRUE

/mob/living/carbon/human/proc/update_fullness()
var/list/new_fullness = list()
Expand All @@ -31,4 +33,4 @@
else if(belly_to_animate == "taur belly")
vore_tail_animation()
else
return
return
32 changes: 31 additions & 1 deletion code/modules/mob/living/simple_mob/subtypes/vore/vore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@

ssd_vore = client.prefs_vr.ssd_vore //RS ADD


/mob/living/carbon/human/login_prefs() //RS ADD START
. = ..()

allow_contaminate = client.prefs_vr.allow_contaminate
allow_stripping = client.prefs_vr.allow_stripping

//RS ADD END

/mob/living/simple_mob/proc/set_name()
set name = "Set Name"
set desc = "Sets your mobs name. You only get to do this once."
Expand Down Expand Up @@ -89,11 +98,32 @@
/mob/living/simple_mob/animal/giant_spider/carrier //or the ones who fart babies when they die
ic_revivable = FALSE

//RS ADD START
/mob/living/verb/toggle_ssd_vore()
set name = "Toggle SSD Vore"
set name = "Vore: Toggle SSD Vore"
set desc = "Toggles whether or not you can be eaten while SSD."
set category = "Preferences"

client.prefs_vr.ssd_vore = !client.prefs_vr.ssd_vore
ssd_vore = client.prefs_vr.ssd_vore
to_chat(src, "<span class='notice'>SSD Vore is now [ssd_vore ? "<font color='green'>enabled</font>" : "<font color='red'>disabled</font>"].</span>")

/mob/living/carbon/human/verb/toggle_stripping()
set name = "Vore: Toggle Stripping"
set desc = "Toggles whether or not bellies can strip your clothes off of you."
set category = "Preferences"

client.prefs_vr.allow_stripping = !client.prefs_vr.allow_stripping
allow_stripping = client.prefs_vr.allow_stripping
to_chat(src, "<span class='notice'>Stripping is now [allow_stripping ? "<font color='green'>allowed</font>" : "<font color='red'>disallowed</font>"].</span>")

/mob/living/carbon/human/verb/toggle_contaminate()
set name = "Vore: Toggle Contaminate"
set desc = "Toggles whether or not bellies can contaminate or digest items you are presentl wearing."
set category = "Preferences"

client.prefs_vr.allow_contaminate = !client.prefs_vr.allow_contaminate
allow_contaminate = client.prefs_vr.allow_contaminate
to_chat(src, "<span class='notice'>Contamination is now [allow_contaminate ? "<font color='green'>allowed</font>" : "<font color='red'>disallowed</font>"].</span>")

//RS ADD END
43 changes: 26 additions & 17 deletions code/modules/vore/eating/bellymodes_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -197,23 +197,25 @@

//Worn items flag
if(mode_flags & DM_FLAG_AFFECTWORN)
for(var/slot in slots)
var/obj/item/I = H.get_equipped_item(slot = slot)
if(I && I.canremove)
if(handle_digesting_item(I))
digestion_noise_chance = 25
to_update = TRUE
break
if(H.allow_contaminate) //RS EDIT START
for(var/slot in slots)
var/obj/item/I = H.get_equipped_item(slot = slot)
if(I && I.canremove)
if(handle_digesting_item(I,H))
digestion_noise_chance = 25
to_update = TRUE
break //RS EDIT END

//Stripping flag
if(mode_flags & DM_FLAG_STRIPPING)
for(var/slot in slots)
var/obj/item/I = H.get_equipped_item(slot = slot)
if(I && H.unEquip(I, force = FALSE))
handle_digesting_item(I)
digestion_noise_chance = 25
to_update = TRUE
break // Digest off one by one, not all at once
if(H.allow_stripping) //RS EDIT START
for(var/slot in slots)
var/obj/item/I = H.get_equipped_item(slot = slot)
if(I && H.unEquip(I, force = FALSE))
handle_digesting_item(I,H)
digestion_noise_chance = 25
to_update = TRUE
break // Digest off one by one, not all at once //RS EDIT END

//get rid of things like blood drops and gibs that end up in there
else if(istype(A, /obj/effect/decal/cleanable))
Expand All @@ -237,12 +239,19 @@
M.playsound_local(get_turf(src), preyloop, 80, 0, channel = CHANNEL_PREYLOOP)
M.next_preyloop = (world.time + (52 SECONDS))

/obj/belly/proc/handle_digesting_item(obj/item/I)
/obj/belly/proc/handle_digesting_item(obj/item/I,mob/living/carbon/human/H) //RS EDIT
var/did_an_item = FALSE
// We always contaminate IDs.
if(contaminates || istype(I, /obj/item/weapon/card/id))
I.gurgle_contaminate(src, contamination_flavor, contamination_color)

if(H) //RS EDIT START
if(H.allow_contaminate)
I.gurgle_contaminate(src, contamination_flavor, contamination_color)
else
I.gurgle_contaminate(src, contamination_flavor, contamination_color)
if(H)
if(!H.allow_stripping)
items_preserved |= I
return did_an_item //RS EDIT END
switch(item_digest_mode)
if(IM_HOLD)
items_preserved |= I
Expand Down
4 changes: 4 additions & 0 deletions code/modules/vore/eating/living_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1114,6 +1114,10 @@
dispvoreprefs += "<b>Leaves Remains:</b> [digest_leave_remains ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Mob Vore:</b> [allowmobvore ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Selective Mode Pref:</b> [src.selective_preference]<br>"
if(ishuman(src)) //RS ADD START
var/mob/living/carbon/human/H = src
dispvoreprefs += "<b>Stripping:</b> [H.allow_stripping ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Contamination:</b> [H.allow_contaminate ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>" //RS ADD END
dispvoreprefs += "<u><b>-SPONTANEOUS PREFERENCES-</b></u><br>"
dispvoreprefs += "<b>Spontaneous vore prey:</b> [can_be_drop_prey ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Spontaneous vore pred:</b> [can_be_drop_pred ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
Expand Down
13 changes: 12 additions & 1 deletion code/modules/vore/eating/vore_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/pickup_pref = TRUE

var/vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") // RS edit
var/allow_contaminate = TRUE //RS EDIT
var/allow_stripping = TRUE //RS EDIT

var/list/belly_prefs = list()
var/vore_taste = "nothing in particular"
Expand Down Expand Up @@ -203,6 +205,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
eating_privacy_global = json_from_file["eating_privacy_global"]
vore_sprite_color = json_from_file["vore_sprite_color"] // RS edit
ssd_vore = json_from_file["ssd_vore"] // RS edit
allow_contaminate = json_from_file["allow_contaminate"] // RS edit
allow_stripping = json_from_file["allow_stripping"] // RS edit

//Quick sanitize
if(isnull(digestable))
Expand Down Expand Up @@ -292,6 +296,10 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
vore_sprite_color = list("stomach" = "#000", "taur belly" = "#000") //RS edit
if(isnull(ssd_vore)) //RS ADD
ssd_vore = FALSE //RS ADD
if(isnull(allow_contaminate)) //RS ADD
allow_contaminate = TRUE //RS ADD
if(isnull(allow_stripping)) //RS ADD
allow_stripping = TRUE //RS ADD

return TRUE

Expand Down Expand Up @@ -333,7 +341,10 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
"weight_messages" = weight_messages,
"eating_privacy_global" = eating_privacy_global,
"vore_sprite_color" = vore_sprite_color, //RS edit
"ssd_vore" = ssd_vore //RS ADD
"ssd_vore" = ssd_vore, //RS ADD
"allow_contaminate" = allow_contaminate, // RS edit
"allow_stripping" = allow_stripping // RS edit

)

//List to JSON
Expand Down

0 comments on commit 3165b3c

Please sign in to comment.