From 52748c2ddc48d8c1b7fb7f9912f487f7ed1390be Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Sat, 25 Apr 2020 16:26:22 -0400 Subject: [PATCH] Redoes vorepanel to different text generation mechanism --- code/modules/vore/eating/vorepanel_vr.dm | 233 +++++++++++------------ 1 file changed, 110 insertions(+), 123 deletions(-) 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 += "
    1. [B.name]" + belly_list += "
    2. [B.name]" else - dat += "
    3. [B.name]" + belly_list += "
    4. [B.name]" var/spanstyle switch(B.digest_mode) @@ -153,19 +152,21 @@ if(DM_EGG) spanstyle = "color:purple;" - dat += " ([B.contents.len])
    5. " + belly_list += " ([B.contents.len])" if(user.vore_organs.len < BELLIES_MAX) - dat += "
    6. New+
    7. " - dat += "
    " - dat += "
    " + belly_list += "
  1. New+
  2. " + 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