diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm
index fad62eff35b..8819d7fdd72 100644
--- a/code/modules/vore/eating/vorepanel_vr.dm
+++ b/code/modules/vore/eating/vorepanel_vr.dm
@@ -59,54 +59,53 @@
open = TRUE
/datum/vore_look/proc/gen_ui(var/mob/living/user)
- var/dat
+ var/list/dat = list()
var/atom/userloc = user.loc
if(isbelly(userloc))
var/obj/belly/inside_belly = userloc
var/mob/living/eater = inside_belly.owner
- //Don't display this part if we couldn't find the belly since could be held in hand.
- if(inside_belly)
- dat += "You are currently [user.absorbed ? "absorbed into " : "inside "] [eater]'s [inside_belly]!
"
+ dat += "You are currently [user.absorbed ? "absorbed into " : "inside "] [eater]'s [inside_belly]!
"
- if(inside_belly.desc)
- dat += "[inside_belly.desc]
"
+ if(inside_belly.desc)
+ dat += "[inside_belly.desc]
" //Extra br
- if(inside_belly.contents.len > 1)
- dat += "You can see the following around you:
"
- for (var/atom/movable/O in inside_belly)
- if(istype(O,/mob/living))
- var/mob/living/M = O
- //That's just you
- if(M == user)
+ if(inside_belly.contents.len > 1)
+ dat += "You can see the following around you:
"
+ var/list/belly_contents = list()
+ for (var/atom/movable/O in inside_belly)
+ if(istype(O,/mob/living))
+ var/mob/living/M = O
+ //That's just you
+ if(M == user)
+ continue
+
+ //That's an absorbed person you're checking
+ if(M.absorbed)
+ if(user.absorbed)
+ belly_contents += "[O]"
+ continue
+ else
continue
- //That's an absorbed person you're checking
- if(M.absorbed)
- if(user.absorbed)
- dat += "[O]"
- continue
- else
- continue
+ //Anything else
+ dat += "[O]"
- //Anything else
- dat += "[O]"
+ //Zero-width space, for wrapping
+ dat += ""
- //Zero-width space, for wrapping
- dat += ""
+ dat += jointext(belly_contents, null) //Add in belly contents to main running list
else
dat += "You aren't inside anyone."
- dat += "
"
-
- dat += ""
+ var/list/belly_list = list("
")
for(var/belly in user.vore_organs)
var/obj/belly/B = belly
if(B == selected)
- dat += "- [B.name]"
+ belly_list += "
- [B.name]"
else
- dat += "
- [B.name]"
+ belly_list += "
- [B.name]"
var/spanstyle
switch(B.digest_mode)
@@ -153,19 +152,21 @@
if(DM_EGG)
spanstyle = "color:purple;"
- dat += " ([B.contents.len])
"
+ belly_list += " ([B.contents.len]) "
if(user.vore_organs.len < BELLIES_MAX)
- dat += "- New+
"
- dat += "
"
- dat += "
"
+ belly_list += "- New+
"
+ belly_list += "
"
+
+ dat += jointext(belly_list, null) //Add in belly list to main running list
// Selected Belly (contents, configuration)
if(!selected)
dat += "No belly selected. Click one to select it."
else
+ var/list/belly_contents = list()
if(selected.contents.len)
- dat += "Contents: "
+ belly_contents += "Contents: "
for(var/O in selected)
//Mobs can be absorbed, so treat them separately from everything else
@@ -174,110 +175,93 @@
//Absorbed gets special color OOoOOOOoooo
if(M.absorbed)
- dat += "[O]"
+ belly_contents += "[O]"
continue
//Anything else
- dat += "[O]"
+ belly_contents += "[O]"
//Zero-width space, for wrapping
- dat += ""
+ belly_contents += ""
//If there's more than one thing, add an [All] button
if(selected.contents.len > 1)
- dat += "\[All\]"
+ belly_contents += "\[All\]"
- dat += "
"
+ belly_contents += "
"
+
+ if(belly_contents.len)
+ dat += jointext(belly_contents, null)
//Belly Name Button
- dat += "Name:"
- dat += " '[selected.name]'"
+ dat += "
Name: '[selected.name]'"
//Belly Type button
- dat += "
Is this belly fleshy:"
- dat += "[selected.is_wet ? "Yes" : "No"]"
+ dat += "
Is this belly fleshy: [selected.is_wet ? "Yes" : "No"]"
if(selected.is_wet)
- dat += "
Internal loop for prey?:"
- dat += "[selected.wet_loop ? "Yes" : "No"]"
+ dat += "
Internal loop for prey?: [selected.wet_loop ? "Yes" : "No"]"
//Digest Mode Button
- dat += "
Belly Mode:"
var/mode = selected.digest_mode
- dat += " [mode == DM_TRANSFORM ? selected.tf_mode : mode]"
+ dat += "
Belly Mode: [mode == DM_TRANSFORM ? selected.tf_mode : mode]"
//Mode addons button
- dat += "
Mode Addons:"
var/list/flag_list = list()
for(var/flag_name in selected.mode_flag_list)
if(selected.mode_flags & selected.mode_flag_list[flag_name])
flag_list += flag_name
if(flag_list.len)
- dat += " [english_list(flag_list)]"
+ dat += "
Mode Addons: [english_list(flag_list)]"
else
- dat += " None"
+ dat += "
Mode Addons: None"
//Item Digest Mode Button
- dat += "
Item Mode:"
- dat += "[selected.item_digest_mode]"
+ dat += "
Item Mode: [selected.item_digest_mode]"
//Will it contaminate contents?
- dat += "
Contaminates:"
- dat += " [selected.contaminates ? "Yes" : "No"]"
+ dat += "
Contaminates: [selected.contaminates ? "Yes" : "No"]"
if(selected.contaminates)
//Contamination descriptors
- dat += "
Contamination Flavor:"
- dat += "[selected.contamination_flavor]"
+ dat += "
Contamination Flavor: [selected.contamination_flavor]"
//Contamination color
- dat += "
Contamination Color:"
- dat += "[selected.contamination_color]"
+ dat += "
Contamination Color: [selected.contamination_color]"
//Belly verb
- dat += "
Vore Verb:"
- dat += " '[selected.vore_verb]'"
+ dat += "
Vore Verb: '[selected.vore_verb]'"
//Inside flavortext
- dat += "
Flavor Text:"
- dat += " '[selected.desc]'"
+ dat += "
Flavor Text: '[selected.desc]'"
//Belly Sound Fanciness
- dat += "
Use Fancy Sounds:"
- dat += "[selected.fancy_vore ? "Yes" : "No"]"
+ dat += "
Use Fancy Sounds: [selected.fancy_vore ? "Yes" : "No"]"
//Belly sound
- dat += "
Vore Sound: [selected.vore_sound]"
- dat += "Test"
+ dat += "
Vore Sound: [selected.vore_sound] Test"
//Release sound
- dat += "
Release Sound: [selected.release_sound]"
- dat += "Test"
+ dat += "
Release Sound: [selected.release_sound] Test"
//Belly messages
dat += "
Belly Messages"
//Can belly taste?
- dat += "
Can Taste:"
- dat += " [selected.can_taste ? "Yes" : "No"]"
+ dat += "
Can Taste: [selected.can_taste ? "Yes" : "No"]"
//Nutritional percentage
- dat += "
Nutritional Gain:"
- dat += " [selected.nutrition_percent]%"
+ dat += "
Nutritional Gain: [selected.nutrition_percent]%"
//How much brute damage
- dat += "
Digest Brute Damage:"
- dat += " [selected.digest_brute]"
+ dat += "
Digest Brute Damage: [selected.digest_brute]"
//How much burn damage
- dat += "
Digest Burn Damage:"
- dat += " [selected.digest_burn]"
+ dat += "
Digest Burn Damage: [selected.digest_burn]"
//Minimum size prey must be to show up.
- dat += "
Required examine size:"
- dat += " [selected.bulge_size*100]%"
+ dat += "
Required examine size: [selected.bulge_size*100]%"
//Size that prey will be grown/shrunk to.
- dat += "
Shrink/Grow size:"
- dat += "[selected.shrink_grow_size*100]%"
+ dat += "
Shrink/Grow size: [selected.shrink_grow_size*100]%"
//Belly escapability
dat += "
Belly Interactions ([selected.escapable ? "On" : "Off"])"
@@ -285,96 +269,99 @@
dat += "[show_interacts ? "Hide" : "Show"]"
if(show_interacts && selected.escapable)
- dat += "
"
- dat += "Interaction Settings ?"
- dat += "
Set Belly Escape Chance"
- dat += " [selected.escapechance]%"
+ var/list/interacts = list()
+ interacts += "
"
+ interacts += "Interaction Settings ?"
+ interacts += "
Set Belly Escape Chance"
+ interacts += " [selected.escapechance]%"
- dat += "
Set Belly Escape Time"
- dat += " [selected.escapetime/10]s"
+ interacts += "
Set Belly Escape Time"
+ interacts += " [selected.escapetime/10]s"
//Special
here to add a gap
- dat += "
"
- dat += "
Set Belly Transfer Chance"
- dat += " [selected.transferchance]%"
+ interacts += "
"
+ interacts += "
Set Belly Transfer Chance"
+ interacts += " [selected.transferchance]%"
- dat += "
Set Belly Transfer Location"
- dat += " [selected.transferlocation ? selected.transferlocation : "Disabled"]"
+ interacts += "
Set Belly Transfer Location"
+ interacts += " [selected.transferlocation ? selected.transferlocation : "Disabled"]"
//Special
here to add a gap
- dat += "
"
- dat += "
Set Belly Absorb Chance"
- dat += " [selected.absorbchance]%"
+ interacts += "
"
+ interacts += "
Set Belly Absorb Chance"
+ interacts += " [selected.absorbchance]%"
- dat += "
Set Belly Digest Chance"
- dat += " [selected.digestchance]%"
- dat += "
"
+ interacts += "
Set Belly Digest Chance"
+ interacts += " [selected.digestchance]%"
+ interacts += "
"
+ dat += jointext(interacts, null)
//Delete button
- dat += "
Delete Belly"
+ dat += "Delete Belly"
dat += "
"
+ var/list/nightmare_list = list()
switch(user.digestable)
if(TRUE)
- dat += "Toggle Digestable (Currently: ON)"
+ nightmare_list += "Toggle Digestable (Currently: ON)"
if(FALSE)
- dat += "Toggle Digestable (Currently: OFF)"
+ nightmare_list += "Toggle Digestable (Currently: OFF)"
switch(user.devourable)
if(TRUE)
- dat += "Toggle Devourable (Currently: ON)"
+ nightmare_list += "Toggle Devourable (Currently: ON)"
if(FALSE)
- dat += "Toggle Devourable (Currently: OFF)"
+ nightmare_list += "Toggle Devourable (Currently: OFF)"
switch(user.feeding)
if(TRUE)
- dat += "
Toggle Feeding (Currently: ON)"
+ nightmare_list += "
Toggle Feeding (Currently: ON)"
if(FALSE)
- dat += "
Toggle Feeding (Currently: OFF)"
+ nightmare_list += "
Toggle Feeding (Currently: OFF)"
switch(user.absorbable)
if(TRUE)
- dat += "Toggle Absorbtion Permission (Currently: ON)"
+ nightmare_list += "Toggle Absorbtion Permission (Currently: ON)"
if(FALSE)
- dat += "Toggle Absorbtion Permission (Currently: OFF)"
+ nightmare_list += "Toggle Absorbtion Permission (Currently: OFF)"
switch(user.digest_leave_remains)
if(TRUE)
- dat += "Toggle Leaving Remains (Currently: ON)"
+ nightmare_list += "Toggle Leaving Remains (Currently: ON)"
if(FALSE)
- dat += "Toggle Leaving Remains (Currently: OFF)"
+ nightmare_list += "Toggle Leaving Remains (Currently: OFF)"
switch(user.allowmobvore)
if(TRUE)
- dat += "
Toggle Mob Vore (Currently: ON)"
+ nightmare_list += "
Toggle Mob Vore (Currently: ON)"
if(FALSE)
- dat += "
Toggle Mob Vore (Currently: OFF)"
+ nightmare_list += "
Toggle Mob Vore (Currently: OFF)"
switch(user.permit_healbelly)
if(TRUE)
- dat += "Toggle Healbelly Permission (Currently: ON)"
+ nightmare_list += "Toggle Healbelly Permission (Currently: ON)"
if(FALSE)
- dat += "Toggle Healbelly Permission (Currently: OFF)"
+ nightmare_list += "Toggle Healbelly Permission (Currently: OFF)"
switch(user.can_be_drop_prey)
if(TRUE)
- dat += "
Toggle Prey Spontaneous Vore (Currently: ON)"
+ nightmare_list += "
Toggle Prey Spontaneous Vore (Currently: ON)"
if(FALSE)
- dat += "
Toggle Prey Spontaneous Vore (Currently: OFF)"
+ nightmare_list += "
Toggle Prey Spontaneous Vore (Currently: OFF)"
switch(user.can_be_drop_pred)
if(TRUE)
- dat += "Toggle Pred Spontaneous Vore (Currently: ON)"
+ nightmare_list += "Toggle Pred Spontaneous Vore (Currently: ON)"
if(FALSE)
- dat += "Toggle Pred Spontaneous Vore (Currently: OFF)"
+ nightmare_list += "Toggle Pred Spontaneous Vore (Currently: OFF)"
+
+ dat += jointext(nightmare_list, null) //AAAA
dat += "
Set Your Taste"
- dat += "Toggle Hunger Noises"
-
- dat += "
"
+ dat += "
Toggle Hunger Noises"
//Under the last HR, save and stuff.
- dat += "Save Prefs"
- dat += "Refresh"
- dat += "Reload Slot Prefs"
+ dat += "
Save Prefs"
+ dat += "
Refresh"
+ dat += "
Reload Slot Prefs"
//Returns the dat html to the vore_look
- return dat
+ return jointext(dat, null)
/datum/vore_look/proc/vp_interact(href, href_list)
var/mob/living/user = usr