mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-10 06:37:05 +01:00
vorepanel reloaded (#17723)
* vorepanel rework part 1 * finish first tab * those should be fine * . * floating for the addons * . * tooltip prep and style * while on it * prep data compile for tab 2 rework * message tab * undef * . * some more components * unify the mesage procs * option tab preps * tooltip prep * small fixes * sorting * some more preps * . * move that * move that * finish options tab * sound preps * sound preps * finish sound tab * visual tab prep * . * visual tab prep2 * visual * move that * interaction tab prep * interactions * interaction tab * more basic contents only for now * defaulted * . * . * clean up * liquid tab * wordng * make it the same * soulcatcher tab * prefs * crash save * typing * docs * . * sanitize corrupted save data * use the right type
This commit is contained in:
@@ -156,274 +156,274 @@
|
||||
new_belly.release_verb = new_release_verb
|
||||
|
||||
if(islist(belly_data["digest_messages_prey"]))
|
||||
var/new_digest_messages_prey = sanitize(jointext(belly_data["digest_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_digest_messages_prey = sanitize(jointext(belly_data["digest_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_digest_messages_prey)
|
||||
new_belly.set_messages(new_digest_messages_prey,DIGEST_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_digest_messages_prey,DIGEST_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["digest_messages_owner"]))
|
||||
var/new_digest_messages_owner = sanitize(jointext(belly_data["digest_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_digest_messages_owner = sanitize(jointext(belly_data["digest_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_digest_messages_owner)
|
||||
new_belly.set_messages(new_digest_messages_owner,DIGEST_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_digest_messages_owner,DIGEST_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorb_messages_prey"]))
|
||||
var/new_absorb_messages_prey = sanitize(jointext(belly_data["absorb_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorb_messages_prey = sanitize(jointext(belly_data["absorb_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorb_messages_prey)
|
||||
new_belly.set_messages(new_absorb_messages_prey,ABSORB_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorb_messages_prey,ABSORB_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorb_messages_owner"]))
|
||||
var/new_absorb_messages_owner = sanitize(jointext(belly_data["absorb_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorb_messages_owner = sanitize(jointext(belly_data["absorb_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorb_messages_owner)
|
||||
new_belly.set_messages(new_absorb_messages_owner,ABSORB_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorb_messages_owner,ABSORB_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["unabsorb_messages_prey"]))
|
||||
var/new_unabsorb_messages_prey = sanitize(jointext(belly_data["unabsorb_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_unabsorb_messages_prey = sanitize(jointext(belly_data["unabsorb_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_unabsorb_messages_prey)
|
||||
new_belly.set_messages(new_unabsorb_messages_prey,UNABSORBS_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_unabsorb_messages_prey,UNABSORBS_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["unabsorb_messages_owner"]))
|
||||
var/new_unabsorb_messages_owner = sanitize(jointext(belly_data["unabsorb_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_unabsorb_messages_owner = sanitize(jointext(belly_data["unabsorb_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_unabsorb_messages_owner)
|
||||
new_belly.set_messages(new_unabsorb_messages_owner,UNABSORBS_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_unabsorb_messages_owner,UNABSORBS_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["struggle_messages_outside"]))
|
||||
var/new_struggle_messages_outside = sanitize(jointext(belly_data["struggle_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_struggle_messages_outside = sanitize(jointext(belly_data["struggle_messages_outside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_struggle_messages_outside)
|
||||
new_belly.set_messages(new_struggle_messages_outside,STRUGGLE_OUTSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_struggle_messages_outside,STRUGGLE_OUTSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["struggle_messages_inside"]))
|
||||
var/new_struggle_messages_inside = sanitize(jointext(belly_data["struggle_messages_inside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_struggle_messages_inside = sanitize(jointext(belly_data["struggle_messages_inside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_struggle_messages_inside)
|
||||
new_belly.set_messages(new_struggle_messages_inside,STRUGGLE_INSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_struggle_messages_inside,STRUGGLE_INSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorbed_struggle_messages_outside"]))
|
||||
var/new_absorbed_struggle_messages_outside = sanitize(jointext(belly_data["absorbed_struggle_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorbed_struggle_messages_outside = sanitize(jointext(belly_data["absorbed_struggle_messages_outside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorbed_struggle_messages_outside)
|
||||
new_belly.set_messages(new_absorbed_struggle_messages_outside,ABSORBED_STRUGGLE_OUSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorbed_struggle_messages_outside,ABSORBED_STRUGGLE_OUSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorbed_struggle_messages_inside"]))
|
||||
var/new_absorbed_struggle_messages_inside = sanitize(jointext(belly_data["absorbed_struggle_messages_inside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorbed_struggle_messages_inside = sanitize(jointext(belly_data["absorbed_struggle_messages_inside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorbed_struggle_messages_inside)
|
||||
new_belly.set_messages(new_absorbed_struggle_messages_inside,ABSORBED_STRUGGLE_INSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorbed_struggle_messages_inside,ABSORBED_STRUGGLE_INSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_attempt_messages_prey"]))
|
||||
var/new_escape_attempt_messages_prey = sanitize(jointext(belly_data["escape_attempt_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_attempt_messages_prey = sanitize(jointext(belly_data["escape_attempt_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_attempt_messages_prey)
|
||||
new_belly.set_messages(new_escape_attempt_messages_prey,ESCAPE_ATTEMPT_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_attempt_messages_prey,ESCAPE_ATTEMPT_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_attempt_messages_owner"]))
|
||||
var/new_escape_attempt_messages_owner = sanitize(jointext(belly_data["escape_attempt_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_attempt_messages_owner = sanitize(jointext(belly_data["escape_attempt_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_attempt_messages_owner)
|
||||
new_belly.set_messages(new_escape_attempt_messages_owner,ESCAPE_ATTEMPT_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_attempt_messages_owner,ESCAPE_ATTEMPT_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_messages_prey"]))
|
||||
var/new_escape_messages_prey = sanitize(jointext(belly_data["escape_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_messages_prey = sanitize(jointext(belly_data["escape_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_messages_prey)
|
||||
new_belly.set_messages(new_escape_messages_prey,ESCAPE_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_messages_prey,ESCAPE_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_messages_owner"]))
|
||||
var/new_escape_messages_owner = sanitize(jointext(belly_data["escape_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_messages_owner = sanitize(jointext(belly_data["escape_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_messages_owner)
|
||||
new_belly.set_messages(new_escape_messages_owner,ESCAPE_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_messages_owner,ESCAPE_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_messages_outside"]))
|
||||
var/new_escape_messages_outside = sanitize(jointext(belly_data["escape_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_messages_outside = sanitize(jointext(belly_data["escape_messages_outside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_messages_outside)
|
||||
new_belly.set_messages(new_escape_messages_outside,ESCAPE_OUTSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_messages_outside,ESCAPE_OUTSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_item_messages_prey"]))
|
||||
var/new_escape_item_messages_prey = sanitize(jointext(belly_data["escape_item_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_item_messages_prey = sanitize(jointext(belly_data["escape_item_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_item_messages_prey)
|
||||
new_belly.set_messages(new_escape_item_messages_prey,ESCAPE_ITEM_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_item_messages_prey,ESCAPE_ITEM_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_item_messages_owner"]))
|
||||
var/new_escape_item_messages_owner = sanitize(jointext(belly_data["escape_item_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_item_messages_owner = sanitize(jointext(belly_data["escape_item_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_item_messages_owner)
|
||||
new_belly.set_messages(new_escape_item_messages_owner,ESCAPE_ITEM_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_item_messages_owner,ESCAPE_ITEM_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_item_messages_outside"]))
|
||||
var/new_escape_item_messages_outside = sanitize(jointext(belly_data["escape_item_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_item_messages_outside = sanitize(jointext(belly_data["escape_item_messages_outside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_item_messages_outside)
|
||||
new_belly.set_messages(new_escape_item_messages_outside,ESCAPE_ITEM_OUTSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_item_messages_outside,ESCAPE_ITEM_OUTSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_fail_messages_prey"]))
|
||||
var/new_escape_fail_messages_prey = sanitize(jointext(belly_data["escape_fail_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_fail_messages_prey = sanitize(jointext(belly_data["escape_fail_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_fail_messages_prey)
|
||||
new_belly.set_messages(new_escape_fail_messages_prey,ESCAPE_FAIL_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_fail_messages_prey,ESCAPE_FAIL_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_fail_messages_owner"]))
|
||||
var/new_escape_fail_messages_owner = sanitize(jointext(belly_data["escape_fail_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_fail_messages_owner = sanitize(jointext(belly_data["escape_fail_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_fail_messages_owner)
|
||||
new_belly.set_messages(new_escape_fail_messages_owner,ESCAPE_FAIL_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_fail_messages_owner,ESCAPE_FAIL_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_attempt_absorbed_messages_prey"]))
|
||||
var/new_escape_attempt_absorbed_messages_prey = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_attempt_absorbed_messages_prey = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_attempt_absorbed_messages_prey)
|
||||
new_belly.set_messages(new_escape_attempt_absorbed_messages_prey,ABSORBED_ESCAPE_ATTEMPT_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_attempt_absorbed_messages_prey,ABSORBED_ESCAPE_ATTEMPT_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_attempt_absorbed_messages_owner"]))
|
||||
var/new_escape_attempt_absorbed_messages_owner = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_attempt_absorbed_messages_owner = sanitize(jointext(belly_data["escape_attempt_absorbed_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_attempt_absorbed_messages_owner)
|
||||
new_belly.set_messages(new_escape_attempt_absorbed_messages_owner,ABSORBED_ESCAPE_ATTEMPT_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_attempt_absorbed_messages_owner,ABSORBED_ESCAPE_ATTEMPT_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_absorbed_messages_prey"]))
|
||||
var/new_escape_absorbed_messages_prey = sanitize(jointext(belly_data["escape_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_absorbed_messages_prey = sanitize(jointext(belly_data["escape_absorbed_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_absorbed_messages_prey)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_prey,ABSORBED_ESCAPE_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_prey,ABSORBED_ESCAPE_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_absorbed_messages_owner"]))
|
||||
var/new_escape_absorbed_messages_owner = sanitize(jointext(belly_data["escape_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_absorbed_messages_owner = sanitize(jointext(belly_data["escape_absorbed_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_absorbed_messages_owner)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_owner,ABSORBED_ESCAPE_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_owner,ABSORBED_ESCAPE_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_absorbed_messages_outside"]))
|
||||
var/new_escape_absorbed_messages_outside = sanitize(jointext(belly_data["escape_absorbed_messages_outside"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_absorbed_messages_outside = sanitize(jointext(belly_data["escape_absorbed_messages_outside"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_absorbed_messages_outside)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_outside,ABSORBED_ESCAPE_OUTSIDE, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_absorbed_messages_outside,ABSORBED_ESCAPE_OUTSIDE, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_fail_absorbed_messages_prey"]))
|
||||
var/new_escape_fail_absorbed_messages_prey = sanitize(jointext(belly_data["escape_fail_absorbed_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_fail_absorbed_messages_prey = sanitize(jointext(belly_data["escape_fail_absorbed_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_fail_absorbed_messages_prey)
|
||||
new_belly.set_messages(new_escape_fail_absorbed_messages_prey,FULL_ABSORBED_ESCAPE_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_fail_absorbed_messages_prey,ABSORBED_ESCAPE_FAIL_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["escape_fail_absorbed_messages_owner"]))
|
||||
var/new_escape_fail_absorbed_messages_owner = sanitize(jointext(belly_data["escape_fail_absorbed_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_escape_fail_absorbed_messages_owner = sanitize(jointext(belly_data["escape_fail_absorbed_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_escape_fail_absorbed_messages_owner)
|
||||
new_belly.set_messages(new_escape_fail_absorbed_messages_owner,FULL_ABSORBED_ESCAPE_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_escape_fail_absorbed_messages_owner,ABSORBED_ESCAPE_FAIL_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["primary_transfer_messages_prey"]))
|
||||
var/new_primary_transfer_messages_prey = sanitize(jointext(belly_data["primary_transfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_primary_transfer_messages_prey = sanitize(jointext(belly_data["primary_transfer_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_primary_transfer_messages_prey)
|
||||
new_belly.set_messages(new_primary_transfer_messages_prey,PRIMARY_TRANSFER_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_primary_transfer_messages_prey,PRIMARY_TRANSFER_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["primary_transfer_messages_owner"]))
|
||||
var/new_primary_transfer_messages_owner = sanitize(jointext(belly_data["primary_transfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_primary_transfer_messages_owner = sanitize(jointext(belly_data["primary_transfer_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_primary_transfer_messages_owner)
|
||||
new_belly.set_messages(new_primary_transfer_messages_owner,PRIMARY_TRANSFER_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_primary_transfer_messages_owner,PRIMARY_TRANSFER_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["secondary_transfer_messages_prey"]))
|
||||
var/new_secondary_transfer_messages_prey = sanitize(jointext(belly_data["secondary_transfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_secondary_transfer_messages_prey = sanitize(jointext(belly_data["secondary_transfer_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_secondary_transfer_messages_prey)
|
||||
new_belly.set_messages(new_secondary_transfer_messages_prey,SECONDARY_TRANSFER_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_secondary_transfer_messages_prey,SECONDARY_TRANSFER_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["secondary_transfer_messages_owner"]))
|
||||
var/new_secondary_transfer_messages_owner = sanitize(jointext(belly_data["secondary_transfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_secondary_transfer_messages_owner = sanitize(jointext(belly_data["secondary_transfer_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_secondary_transfer_messages_owner)
|
||||
new_belly.set_messages(new_secondary_transfer_messages_owner,SECONDARY_TRANSFER_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_secondary_transfer_messages_owner,SECONDARY_TRANSFER_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["primary_autotransfer_messages_prey"]))
|
||||
var/new_primary_autotransfer_messages_prey = sanitize(jointext(belly_data["primary_autotransfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_primary_autotransfer_messages_prey = sanitize(jointext(belly_data["primary_autotransfer_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_primary_autotransfer_messages_prey)
|
||||
new_belly.set_messages(new_primary_autotransfer_messages_prey,PRIMARY_AUTO_TRANSFER_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_primary_autotransfer_messages_prey,PRIMARY_AUTO_TRANSFER_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["primary_autotransfer_messages_owner"]))
|
||||
var/new_primary_autotransfer_messages_owner = sanitize(jointext(belly_data["primary_autotransfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_primary_autotransfer_messages_owner = sanitize(jointext(belly_data["primary_autotransfer_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_primary_autotransfer_messages_owner)
|
||||
new_belly.set_messages(new_primary_autotransfer_messages_owner,PRIMARY_AUTO_TRANSFER_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_primary_autotransfer_messages_owner,PRIMARY_AUTO_TRANSFER_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["secondary_autotransfer_messages_prey"]))
|
||||
var/new_secondary_autotransfer_messages_prey = sanitize(jointext(belly_data["secondary_autotransfer_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_secondary_autotransfer_messages_prey = sanitize(jointext(belly_data["secondary_autotransfer_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_secondary_autotransfer_messages_prey)
|
||||
new_belly.set_messages(new_secondary_autotransfer_messages_prey,SECONDARY_AUTO_TRANSFER_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_secondary_autotransfer_messages_prey,SECONDARY_AUTO_TRANSFER_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["secondary_autotransfer_messages_owner"]))
|
||||
var/new_secondary_autotransfer_messages_owner = sanitize(jointext(belly_data["secondary_autotransfer_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_secondary_autotransfer_messages_owner = sanitize(jointext(belly_data["secondary_autotransfer_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_secondary_autotransfer_messages_owner)
|
||||
new_belly.set_messages(new_secondary_autotransfer_messages_owner,SECONDARY_AUTO_TRANSFER_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_secondary_autotransfer_messages_owner,SECONDARY_AUTO_TRANSFER_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["digest_chance_messages_prey"]))
|
||||
var/new_digest_chance_messages_prey = sanitize(jointext(belly_data["digest_chance_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_digest_chance_messages_prey = sanitize(jointext(belly_data["digest_chance_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_digest_chance_messages_prey)
|
||||
new_belly.set_messages(new_digest_chance_messages_prey,DIGEST_CHANCE_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_digest_chance_messages_prey,DIGEST_CHANCE_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["digest_chance_messages_owner"]))
|
||||
var/new_digest_chance_messages_owner = sanitize(jointext(belly_data["digest_chance_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_digest_chance_messages_owner = sanitize(jointext(belly_data["digest_chance_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_digest_chance_messages_owner)
|
||||
new_belly.set_messages(new_digest_chance_messages_owner,DIGEST_CHANCE_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_digest_chance_messages_owner,DIGEST_CHANCE_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorb_chance_messages_prey"]))
|
||||
var/new_absorb_chance_messages_prey = sanitize(jointext(belly_data["absorb_chance_messages_prey"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorb_chance_messages_prey = sanitize(jointext(belly_data["absorb_chance_messages_prey"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorb_chance_messages_prey)
|
||||
new_belly.set_messages(new_absorb_chance_messages_prey,ABSORB_CHANCE_PREY, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorb_chance_messages_prey,ABSORB_CHANCE_PREY, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["absorb_chance_messages_owner"]))
|
||||
var/new_absorb_chance_messages_owner = sanitize(jointext(belly_data["absorb_chance_messages_owner"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_absorb_chance_messages_owner = sanitize(jointext(belly_data["absorb_chance_messages_owner"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_absorb_chance_messages_owner)
|
||||
new_belly.set_messages(new_absorb_chance_messages_owner,ABSORB_CHANCE_OWNER, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_absorb_chance_messages_owner,ABSORB_CHANCE_OWNER, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["examine_messages"]))
|
||||
var/new_examine_messages = sanitize(jointext(belly_data["examine_messages"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_examine_messages = sanitize(jointext(belly_data["examine_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_examine_messages)
|
||||
new_belly.set_messages(new_examine_messages,EXAMINES, limit = MAX_MESSAGE_LEN / 2)
|
||||
new_belly.set_messages(new_examine_messages,EXAMINES, limit = BELLIES_EXAMINE_MAX)
|
||||
|
||||
if(islist(belly_data["examine_messages_absorbed"]))
|
||||
var/new_examine_messages_absorbed = sanitize(jointext(belly_data["examine_messages_absorbed"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_examine_messages_absorbed = sanitize(jointext(belly_data["examine_messages_absorbed"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_examine_messages_absorbed)
|
||||
new_belly.set_messages(new_examine_messages_absorbed,EXAMINES_ABSORBED, limit = MAX_MESSAGE_LEN / 2)
|
||||
new_belly.set_messages(new_examine_messages_absorbed,EXAMINES_ABSORBED, limit = BELLIES_EXAMINE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_digest"]))
|
||||
var/new_emotes_digest = sanitize(jointext(belly_data["emotes_digest"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_digest = sanitize(jointext(belly_data["emotes_digest"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_digest)
|
||||
new_belly.set_messages(new_emotes_digest,BELLY_MODE_DIGEST, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_digest,BELLY_MODE_DIGEST, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["trash_eater_in"]))
|
||||
var/new_trash_eater_in = sanitize(jointext(belly_data["trash_eater_in"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_trash_eater_in = sanitize(jointext(belly_data["trash_eater_in"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_trash_eater_in)
|
||||
new_belly.set_messages(new_trash_eater_in ,BELLY_TRASH_EATER_IN, limit = MAX_MESSAGE_LEN / 2)
|
||||
new_belly.set_messages(new_trash_eater_in ,BELLY_TRASH_EATER_IN, limit = BELLIES_EXAMINE_MAX)
|
||||
|
||||
if(islist(belly_data["trash_eater_out"]))
|
||||
var/new_trash_eater_out = sanitize(jointext(belly_data["trash_eater_out"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_trash_eater_out = sanitize(jointext(belly_data["trash_eater_out"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_trash_eater_out)
|
||||
new_belly.set_messages(new_trash_eater_out,BELLY_TRASH_EATER_OUT, limit = MAX_MESSAGE_LEN / 2)
|
||||
new_belly.set_messages(new_trash_eater_out,BELLY_TRASH_EATER_OUT, limit = BELLIES_EXAMINE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_hold"]))
|
||||
var/new_emotes_hold = sanitize(jointext(belly_data["emotes_hold"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_hold = sanitize(jointext(belly_data["emotes_hold"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_hold)
|
||||
new_belly.set_messages(new_emotes_hold,BELLY_MODE_HOLD, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_hold,BELLY_MODE_HOLD, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_holdabsorbed"]))
|
||||
var/new_emotes_holdabsorbed = sanitize(jointext(belly_data["emotes_holdabsorbed"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_holdabsorbed = sanitize(jointext(belly_data["emotes_holdabsorbed"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_holdabsorbed)
|
||||
new_belly.set_messages(new_emotes_holdabsorbed,BELLY_MODE_HOLD_ABSORB, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_holdabsorbed,BELLY_MODE_HOLD_ABSORB, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_absorb"]))
|
||||
var/new_emotes_absorb = sanitize(jointext(belly_data["emotes_absorb"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_absorb = sanitize(jointext(belly_data["emotes_absorb"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_absorb)
|
||||
new_belly.set_messages(new_emotes_absorb,BELLY_MODE_ABSORB, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_absorb,BELLY_MODE_ABSORB, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_heal"]))
|
||||
var/new_emotes_heal = sanitize(jointext(belly_data["emotes_heal"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_heal = sanitize(jointext(belly_data["emotes_heal"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_heal)
|
||||
new_belly.set_messages(new_emotes_heal,BELLY_MODE_HEAL, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_heal,BELLY_MODE_HEAL, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_drain"]))
|
||||
var/new_emotes_drain = sanitize(jointext(belly_data["emotes_drain"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_drain = sanitize(jointext(belly_data["emotes_drain"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_drain)
|
||||
new_belly.set_messages(new_emotes_drain,BELLY_MODE_DRAIN, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_drain,BELLY_MODE_DRAIN, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_steal"]))
|
||||
var/new_emotes_steal = sanitize(jointext(belly_data["emotes_steal"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_steal = sanitize(jointext(belly_data["emotes_steal"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_steal)
|
||||
new_belly.set_messages(new_emotes_steal,BELLY_MODE_STEAL, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_steal,BELLY_MODE_STEAL, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_egg"]))
|
||||
var/new_emotes_egg = sanitize(jointext(belly_data["emotes_egg"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_egg = sanitize(jointext(belly_data["emotes_egg"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_egg)
|
||||
new_belly.set_messages(new_emotes_egg,BELLY_MODE_EGG, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_egg,BELLY_MODE_EGG, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_shrink"]))
|
||||
var/new_emotes_shrink = sanitize(jointext(belly_data["emotes_shrink"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_shrink = sanitize(jointext(belly_data["emotes_shrink"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_shrink)
|
||||
new_belly.set_messages(new_emotes_shrink,BELLY_MODE_SHRINK, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_shrink,BELLY_MODE_SHRINK, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_grow"]))
|
||||
var/new_emotes_grow = sanitize(jointext(belly_data["emotes_grow"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_grow = sanitize(jointext(belly_data["emotes_grow"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_grow)
|
||||
new_belly.set_messages(new_emotes_grow,BELLY_MODE_GROW, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_grow,BELLY_MODE_GROW, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
if(islist(belly_data["emotes_unabsorb"]))
|
||||
var/new_emotes_unabsorb = sanitize(jointext(belly_data["emotes_unabsorb"],"\n\n"),MAX_MESSAGE_LEN * 1.5,0,0,0)
|
||||
var/new_emotes_unabsorb = sanitize(jointext(belly_data["emotes_unabsorb"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_emotes_unabsorb)
|
||||
new_belly.set_messages(new_emotes_unabsorb,BELLY_MODE_UNABSORB, limit = MAX_MESSAGE_LEN / 4)
|
||||
new_belly.set_messages(new_emotes_unabsorb,BELLY_MODE_UNABSORB, limit = BELLIES_IDLE_MAX)
|
||||
|
||||
// Options
|
||||
if(isnum(belly_data["can_taste"]))
|
||||
@@ -1154,29 +1154,29 @@
|
||||
new_belly.liquid_fullness5_messages = TRUE
|
||||
|
||||
if(islist(belly_data["fullness1_messages"]))
|
||||
var/new_fullness1_messages = sanitize(jointext(belly_data["fullness1_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0)
|
||||
var/new_fullness1_messages = sanitize(jointext(belly_data["fullness1_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_fullness1_messages)
|
||||
new_belly.set_reagent_messages(new_fullness1_messages,"full1")
|
||||
new_belly.set_messages(new_fullness1_messages,BELLY_LIQUID_MESSAGE1, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["fullness2_messages"]))
|
||||
var/new_fullness2_messages = sanitize(jointext(belly_data["fullness2_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0)
|
||||
var/new_fullness2_messages = sanitize(jointext(belly_data["fullness2_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_fullness2_messages)
|
||||
new_belly.set_reagent_messages(new_fullness2_messages,"full2")
|
||||
new_belly.set_messages(new_fullness2_messages,BELLY_LIQUID_MESSAGE2, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["fullness3_messages"]))
|
||||
var/new_fullness3_messages = sanitize(jointext(belly_data["fullness3_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0)
|
||||
var/new_fullness3_messages = sanitize(jointext(belly_data["fullness3_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_fullness3_messages)
|
||||
new_belly.set_reagent_messages(new_fullness3_messages,"full3")
|
||||
new_belly.set_messages(new_fullness3_messages,BELLY_LIQUID_MESSAGE3, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["fullness4_messages"]))
|
||||
var/new_fullness4_messages = sanitize(jointext(belly_data["fullness4_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0)
|
||||
var/new_fullness4_messages = sanitize(jointext(belly_data["fullness4_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_fullness4_messages)
|
||||
new_belly.set_reagent_messages(new_fullness4_messages,"full4")
|
||||
new_belly.set_messages(new_fullness4_messages,BELLY_LIQUID_MESSAGE4, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
if(islist(belly_data["fullness5_messages"]))
|
||||
var/new_fullness5_messages = sanitize(jointext(belly_data["fullness5_messages"],"\n\n"),MAX_MESSAGE_LEN,0,0,0)
|
||||
var/new_fullness5_messages = sanitize(jointext(belly_data["fullness5_messages"],"\n\n"),BELLIES_MESSAGE_COMBINED,0,0,0)
|
||||
if(new_fullness5_messages)
|
||||
new_belly.set_reagent_messages(new_fullness5_messages,"full5")
|
||||
new_belly.set_messages(new_fullness5_messages,BELLY_LIQUID_MESSAGE5, limit = BELLIES_MESSAGE_MAX)
|
||||
|
||||
// After import updates
|
||||
new_belly.items_preserved.Cut()
|
||||
|
||||
@@ -326,9 +326,9 @@ GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","
|
||||
raw_messages = escape_absorbed_messages_prey
|
||||
if(ABSORBED_ESCAPE_OUTSIDE)
|
||||
raw_messages = escape_absorbed_messages_outside
|
||||
if(FULL_ABSORBED_ESCAPE_OWNER)
|
||||
if(ABSORBED_ESCAPE_FAIL_OWNER)
|
||||
raw_messages = escape_fail_absorbed_messages_owner
|
||||
if(FULL_ABSORBED_ESCAPE_PREY)
|
||||
if(ABSORBED_ESCAPE_FAIL_PREY)
|
||||
raw_messages = escape_fail_absorbed_messages_prey
|
||||
if(PRIMARY_TRANSFER_OWNER)
|
||||
raw_messages = primary_transfer_messages_owner
|
||||
@@ -396,6 +396,16 @@ GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","
|
||||
raw_messages = trash_eater_in
|
||||
if(BELLY_TRASH_EATER_OUT)
|
||||
raw_messages = trash_eater_out
|
||||
if(BELLY_LIQUID_MESSAGE1)
|
||||
raw_messages = fullness1_messages
|
||||
if(BELLY_LIQUID_MESSAGE2)
|
||||
raw_messages = fullness2_messages
|
||||
if(BELLY_LIQUID_MESSAGE3)
|
||||
raw_messages = fullness3_messages
|
||||
if(BELLY_LIQUID_MESSAGE4)
|
||||
raw_messages = fullness4_messages
|
||||
if(BELLY_LIQUID_MESSAGE5)
|
||||
raw_messages = fullness5_messages
|
||||
|
||||
var/messages = null
|
||||
if(raw_messages)
|
||||
@@ -413,11 +423,15 @@ GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","
|
||||
|
||||
var/list/raw_list
|
||||
|
||||
if(findtext(raw_text, delim))
|
||||
raw_list = splittext(html_encode(raw_text), delim)
|
||||
if(islist(raw_text))
|
||||
raw_list = raw_text
|
||||
else if(findtext(raw_text, delim))
|
||||
raw_list = splittext(raw_text, delim)
|
||||
else
|
||||
raw_list = list(raw_text)
|
||||
|
||||
for(var/i = 1, i <= raw_list.len, i++)
|
||||
raw_list[i] = html_encode(raw_list[i])
|
||||
if(!length(raw_list[i]))
|
||||
raw_list.Cut(i, i + 1)
|
||||
i--
|
||||
@@ -480,9 +494,9 @@ GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","
|
||||
escape_absorbed_messages_prey = raw_list
|
||||
if(ABSORBED_ESCAPE_OUTSIDE)
|
||||
escape_absorbed_messages_outside = raw_list
|
||||
if(FULL_ABSORBED_ESCAPE_OWNER)
|
||||
if(ABSORBED_ESCAPE_FAIL_OWNER)
|
||||
escape_fail_absorbed_messages_owner = raw_list
|
||||
if(FULL_ABSORBED_ESCAPE_PREY)
|
||||
if(ABSORBED_ESCAPE_FAIL_PREY)
|
||||
escape_fail_absorbed_messages_prey = raw_list
|
||||
if(PRIMARY_TRANSFER_OWNER)
|
||||
primary_transfer_messages_owner = raw_list
|
||||
@@ -550,3 +564,13 @@ GLOBAL_LIST_INIT(vore_words_snake, list("snake","serpent","reptilian","noodle","
|
||||
trash_eater_in = raw_list
|
||||
if(BELLY_TRASH_EATER_OUT)
|
||||
trash_eater_out = raw_list
|
||||
if(BELLY_LIQUID_MESSAGE1)
|
||||
fullness1_messages = raw_list
|
||||
if(BELLY_LIQUID_MESSAGE2)
|
||||
fullness2_messages = raw_list
|
||||
if(BELLY_LIQUID_MESSAGE3)
|
||||
fullness3_messages = raw_list
|
||||
if(BELLY_LIQUID_MESSAGE4)
|
||||
fullness4_messages = raw_list
|
||||
if(BELLY_LIQUID_MESSAGE5)
|
||||
fullness5_messages = raw_list
|
||||
|
||||
@@ -263,65 +263,6 @@
|
||||
|
||||
return(span_red("[formatted_message]<BR>"))
|
||||
|
||||
|
||||
// The next function gets the messages set on the belly, in human-readable format.
|
||||
// This is useful in customization boxes and such. The delimiter right now is \n\n so
|
||||
// in message boxes, this looks nice and is easily delimited.
|
||||
/obj/belly/proc/get_reagent_messages(var/type, var/delim = "\n\n")
|
||||
ASSERT(type == "full1" || type == "full2" || type == "full3" || type == "full4" || type == "full5")
|
||||
var/list/raw_messages
|
||||
|
||||
switch(type)
|
||||
if("full1")
|
||||
raw_messages = fullness1_messages
|
||||
if("full2")
|
||||
raw_messages = fullness2_messages
|
||||
if("full3")
|
||||
raw_messages = fullness3_messages
|
||||
if("full4")
|
||||
raw_messages = fullness4_messages
|
||||
if("full5")
|
||||
raw_messages = fullness5_messages
|
||||
|
||||
var/messages = raw_messages.Join(delim)
|
||||
return messages
|
||||
|
||||
// The next function sets the messages on the belly, from human-readable var
|
||||
// replacement strings and linebreaks as delimiters (two \n\n by default).
|
||||
// They also sanitize the messages.
|
||||
/obj/belly/proc/set_reagent_messages(var/raw_text, var/type, var/delim = "\n\n")
|
||||
ASSERT(type == "full1" || type == "full2" || type == "full3" || type == "full4" || type == "full5")
|
||||
|
||||
var/list/raw_list = splittext(html_encode(raw_text),delim)
|
||||
if(raw_list.len > 10)
|
||||
raw_list.Cut(11)
|
||||
log_debug("[owner] tried to set [lowertext(name)] with 11+ messages")
|
||||
|
||||
for(var/i = 1, i <= raw_list.len, i++)
|
||||
if(length(raw_list[i]) > 160 || length(raw_list[i]) < 10) //160 is fudged value due to htmlencoding increasing the size
|
||||
raw_list.Cut(i,i)
|
||||
log_debug("[owner] tried to set [lowertext(name)] with >121 or <10 char message")
|
||||
else
|
||||
raw_list[i] = readd_quotes(raw_list[i])
|
||||
//Also fix % sign for var replacement
|
||||
raw_list[i] = replacetext(raw_list[i],"%","%")
|
||||
|
||||
ASSERT(raw_list.len <= 10) //Sanity
|
||||
|
||||
switch(type)
|
||||
if("full1")
|
||||
fullness1_messages = raw_list
|
||||
if("full2")
|
||||
fullness2_messages = raw_list
|
||||
if("full3")
|
||||
fullness3_messages = raw_list
|
||||
if("full4")
|
||||
fullness4_messages = raw_list
|
||||
if("full5")
|
||||
fullness5_messages = raw_list
|
||||
|
||||
return
|
||||
|
||||
/////////////////////////// Process Cycle Lite /////////////////////////// CHOMP PCL
|
||||
/obj/belly/proc/quick_cycle() //For manual belly cycling without straining the bellies subsystem.
|
||||
HandleBellyReagents() //reagent belly stuff.
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
S.use(1)
|
||||
digest_stage = w_class
|
||||
else
|
||||
if(istype(src, /obj/item/reagent_containers/food))
|
||||
if(istype(B) && istype(src, /obj/item/reagent_containers/food))
|
||||
if(ishuman(B.owner) && reagents)
|
||||
var/mob/living/carbon/human/H = B.owner
|
||||
reagents.trans_to_holder(H.ingested, (reagents.total_volume), B.nutrition_percent / 100, 0)
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
var/allow_spontaneous_tf = FALSE // Obviously.
|
||||
var/show_vore_fx = TRUE // Show belly fullscreens
|
||||
var/selective_preference = DM_DEFAULT // Preference for selective bellymode
|
||||
var/text_warnings = TRUE // Allows us to dismiss the text limit warning messages after viewing it once per round
|
||||
var/eating_privacy_global = FALSE // Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var
|
||||
var/allow_mimicry = TRUE // Allows mimicking their character
|
||||
var/allow_mind_transfer = FALSE //Allows ones mind to be taken over or swapped
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
/datum/vore_look/proc/get_preference_data(mob/owner)
|
||||
return list(
|
||||
"digestable" = owner.digestable,
|
||||
"devourable" = owner.devourable,
|
||||
"resizable" = owner.resizable,
|
||||
"feeding" = owner.feeding,
|
||||
"absorbable" = owner.absorbable,
|
||||
"digest_leave_remains" = owner.digest_leave_remains,
|
||||
"allowmobvore" = owner.allowmobvore,
|
||||
"permit_healbelly" = owner.permit_healbelly,
|
||||
"show_vore_fx" = owner.show_vore_fx,
|
||||
"can_be_drop_prey" = owner.can_be_drop_prey,
|
||||
"can_be_drop_pred" = owner.can_be_drop_pred,
|
||||
"latejoin_vore" = owner.latejoin_vore,
|
||||
"latejoin_prey" = owner.latejoin_prey,
|
||||
"no_spawnpred_warning" = owner.no_latejoin_vore_warning,
|
||||
"no_spawnprey_warning" = owner.no_latejoin_prey_warning,
|
||||
"no_spawnpred_warning_time" = owner.no_latejoin_vore_warning_time,
|
||||
"no_spawnprey_warning_time" = owner.no_latejoin_prey_warning_time,
|
||||
"no_spawnpred_warning_save" = owner.no_latejoin_vore_warning_persists,
|
||||
"no_spawnprey_warning_save" = owner.no_latejoin_prey_warning_persists,
|
||||
"allow_spontaneous_tf" = owner.allow_spontaneous_tf,
|
||||
"step_mechanics_active" = owner.step_mechanics_pref,
|
||||
"pickup_mechanics_active" = owner.pickup_pref,
|
||||
"strip_mechanics_active" = owner.strip_pref,
|
||||
"noisy" = owner.noisy,
|
||||
//liquid belly prefs
|
||||
"liq_rec" = owner.receive_reagents,
|
||||
"liq_giv" = owner.give_reagents,
|
||||
"liq_apply" = owner.apply_reagents,
|
||||
"autotransferable" = owner.autotransferable,
|
||||
"noisy_full" = owner.noisy_full, //Belching while full
|
||||
"selective_active" = owner.selective_preference, //Reveal active selective mode in prefs
|
||||
|
||||
"allow_mind_transfer" = owner.allow_mind_transfer,
|
||||
"drop_vore" = owner.drop_vore,
|
||||
"slip_vore" = owner.slip_vore,
|
||||
"stumble_vore" = owner.stumble_vore,
|
||||
"throw_vore" = owner.throw_vore,
|
||||
"phase_vore" = owner.phase_vore,
|
||||
"food_vore" = owner.food_vore,
|
||||
"consume_liquid_belly" = owner.consume_liquid_belly,
|
||||
"digest_pain" = owner.digest_pain,
|
||||
"eating_privacy_global" = owner.eating_privacy_global,
|
||||
"allow_mimicry" = owner.allow_mimicry,
|
||||
//Soulcatcher
|
||||
"soulcatcher_allow_capture" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_CAPTURE,
|
||||
"soulcatcher_allow_transfer" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_TRANSFER,
|
||||
"soulcatcher_allow_takeover" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_TAKEOVER,
|
||||
"soulcatcher_allow_deletion" = (global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION) + global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION_INSTANT))
|
||||
)
|
||||
|
||||
#define SET_TASTE "Set Taste"
|
||||
#define SET_SMELL "Set Smell"
|
||||
#define SET_NUTRITION_EX "Set Nutrition Examine"
|
||||
#define SET_WEIGHT_EX "Set Weight Examine"
|
||||
|
||||
/datum/vore_look/proc/get_general_data(mob/owner)
|
||||
return list(
|
||||
"active_belly" = owner.vore_selected?.name,
|
||||
"belly_rub_target" = owner.belly_rub_target,
|
||||
// start, vore sprites
|
||||
"aestethic_messages" = compile_aesthetic_messages(owner),
|
||||
"vore_sprite_color" = owner.vore_sprite_color,
|
||||
"vore_sprite_multiply" = owner.vore_sprite_multiply,
|
||||
"vore_icon_options" = owner.vore_icon_bellies
|
||||
)
|
||||
|
||||
/datum/vore_look/proc/compile_aesthetic_messages(mob/owner)
|
||||
if(!aset_message_subtab)
|
||||
aset_message_subtab = SET_TASTE
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(SET_TASTE, SET_SMELL, SET_NUTRITION_EX, SET_WEIGHT_EX),
|
||||
"aest_subtab" = aset_message_subtab
|
||||
)
|
||||
if(aset_message_subtab == SET_TASTE)
|
||||
tab_data["max_length"] = FLAVOR_MAX
|
||||
tab_data["active_message"] = owner.vore_taste
|
||||
tab_data["set_action"] = TASTE_FLAVOR
|
||||
tab_data["tooltip"] = "What your character tastes like. This text will be printed to the pred after 'X tastes of...' so just put something like 'strawberries and cream'"
|
||||
if(aset_message_subtab == SET_SMELL)
|
||||
tab_data["max_length"] = FLAVOR_MAX
|
||||
tab_data["active_message"] = owner.vore_smell
|
||||
tab_data["set_action"] = SMELL_FLAVOR
|
||||
tab_data["tooltip"] = "What your character smells like. This text will be printed to the pred after 'X smells of...' so just put something like 'strawberries and cream'"
|
||||
if(aset_message_subtab == SET_NUTRITION_EX)
|
||||
tab_data["max_length"] = BELLIES_EXAMINE_MAX
|
||||
tab_data["active_message"] = owner.nutrition_messages
|
||||
tab_data["set_action"] = "set_attribute"
|
||||
tab_data["sub_action"] = GENERAL_EXAMINE_NUTRI
|
||||
tab_data["tooltip"] = "Change the nutrition display messages on examine."
|
||||
tab_data["button_label"] = "Display Nutrition Examine"
|
||||
tab_data["button_action"] = "toggle_nutrition_ex"
|
||||
tab_data["button_data"] = owner.nutrition_message_visible
|
||||
tab_data["button_tooltip"] = "the nutition messages on examine." // those will automatically be preceeded by Enables / Disables!
|
||||
if(aset_message_subtab == SET_WEIGHT_EX)
|
||||
tab_data["max_length"] = BELLIES_EXAMINE_MAX
|
||||
tab_data["active_message"] = owner.weight_messages
|
||||
tab_data["set_action"] = "set_attribute"
|
||||
tab_data["sub_action"] = GENERAL_EXAMINE_WEIGHT
|
||||
tab_data["tooltip"] = "Change the weight display messages on examine."
|
||||
tab_data["button_label"] = "Display Weight Examine"
|
||||
tab_data["button_action"] = "toggle_weight_ex"
|
||||
tab_data["button_data"] = owner.weight_message_visible
|
||||
tab_data["button_tooltip"] = "the weight messages on examine." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
|
||||
#undef SET_TASTE
|
||||
#undef SET_SMELL
|
||||
#undef SET_NUTRITION_EX
|
||||
#undef SET_WEIGHT_EX
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,215 @@
|
||||
// liquid belly procs
|
||||
/datum/vore_look/proc/liq_set_attr(mob/user, params)
|
||||
if(!host.vore_selected)
|
||||
tgui_alert(user, "No belly selected to modify.")
|
||||
return FALSE
|
||||
|
||||
var/attr = params["attribute"]
|
||||
switch(attr)
|
||||
if("b_show_liq")
|
||||
if(!host.vore_selected.show_liquids)
|
||||
host.vore_selected.show_liquids = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] now has liquid options."))
|
||||
else
|
||||
host.vore_selected.show_liquids = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has liquid options."))
|
||||
. = TRUE
|
||||
if("b_liq_reagent_gen")
|
||||
if(!host.vore_selected.reagentbellymode) //liquid container adjustments and interactions.
|
||||
host.vore_selected.reagentbellymode = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] now has interactions which can produce liquids."))
|
||||
else //Doesnt produce liquids
|
||||
host.vore_selected.reagentbellymode = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] wont produce liquids, liquids already in your [lowertext(host.vore_selected.name)] must be emptied out or removed with purge."))
|
||||
. = TRUE
|
||||
if("b_liq_reagent_type")
|
||||
var/new_reagent = params["val"]
|
||||
if(!(new_reagent in host.vore_selected.reagent_choices))
|
||||
return FALSE
|
||||
|
||||
host.vore_selected.reagent_chosen = new_reagent
|
||||
host.vore_selected.ReagentSwitch() // For changing variables when a new reagent is chosen
|
||||
. = TRUE
|
||||
if("b_liq_reagent_name")
|
||||
var/new_name = params["val"]
|
||||
|
||||
if(length(new_name) > BELLIES_NAME_MAX || length(new_name) < BELLIES_NAME_MIN)
|
||||
tgui_alert(user, "Entered name length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error")
|
||||
return FALSE
|
||||
|
||||
host.vore_selected.reagent_name = new_name
|
||||
. = TRUE
|
||||
if("b_liq_reagent_transfer_verb")
|
||||
var/new_verb = params["val"]
|
||||
|
||||
if(length(new_verb) > BELLIES_NAME_MAX || length(new_verb) < BELLIES_NAME_MIN)
|
||||
tgui_alert(user, "Entered verb length invalid (must be longer than [BELLIES_NAME_MIN], no longer than [BELLIES_NAME_MAX]).","Error")
|
||||
return FALSE
|
||||
|
||||
host.vore_selected.reagent_transfer_verb = new_verb
|
||||
. = TRUE
|
||||
if("b_liq_reagent_nutri_rate")
|
||||
host.vore_selected.gen_time_display = params["val"]
|
||||
switch(host.vore_selected.gen_time_display)
|
||||
if("10 minutes")
|
||||
host.vore_selected.gen_time = 0
|
||||
if("30 minutes")
|
||||
host.vore_selected.gen_time = 2
|
||||
if("1 hour")
|
||||
host.vore_selected.gen_time = 5
|
||||
if("3 hours")
|
||||
host.vore_selected.gen_time = 17
|
||||
if("6 hours")
|
||||
host.vore_selected.gen_time = 35
|
||||
if("12 hours")
|
||||
host.vore_selected.gen_time = 71
|
||||
if("24 hours")
|
||||
host.vore_selected.gen_time = 143
|
||||
. = TRUE
|
||||
if("b_liq_reagent_capacity")
|
||||
var/new_custom_vol = text2num(params["val"])
|
||||
if(!isnum(new_custom_vol))
|
||||
return FALSE
|
||||
host.vore_selected.custom_max_volume = CLAMP(new_custom_vol, 10, 300)
|
||||
. = TRUE
|
||||
if("b_liq_sloshing")
|
||||
if(!host.vore_selected.vorefootsteps_sounds)
|
||||
host.vore_selected.vorefootsteps_sounds = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] can now make sounds when you walk around depending on how full you are."))
|
||||
else
|
||||
host.vore_selected.vorefootsteps_sounds = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] wont make any liquid sounds no matter how full it is."))
|
||||
. = TRUE
|
||||
if("b_liq_reagent_addons")
|
||||
var/reagent_toggle_addon = params["val"]
|
||||
if(!reagent_toggle_addon)
|
||||
return FALSE
|
||||
host.vore_selected.reagent_mode_flags ^= host.vore_selected.reagent_mode_flag_list[reagent_toggle_addon]
|
||||
. = TRUE
|
||||
if("b_liquid_overlay")
|
||||
if(!host.vore_selected.liquid_overlay)
|
||||
host.vore_selected.liquid_overlay = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] now has liquid overlay enabled."))
|
||||
else
|
||||
host.vore_selected.liquid_overlay = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has liquid overlay enabled."))
|
||||
. = TRUE
|
||||
if("b_max_liquid_level")
|
||||
var/new_max_liquid_level = params["val"]
|
||||
if(!isnum(new_max_liquid_level))
|
||||
return FALSE
|
||||
host.vore_selected.max_liquid_level = CLAMP(new_max_liquid_level, 0, 100)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_custom_reagentcolor")
|
||||
var/newcolor = tgui_color_picker(user, "Choose custom color for liquid overlay. Cancel for normal reagent color.", "", host.vore_selected.custom_reagentcolor)
|
||||
if(newcolor)
|
||||
host.vore_selected.custom_reagentcolor = newcolor
|
||||
else
|
||||
host.vore_selected.custom_reagentcolor = null
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_custom_reagentalpha")
|
||||
var/newalpha = text2num(params["val"])
|
||||
if(!isnum(newalpha))
|
||||
return FALSE
|
||||
if(newalpha)
|
||||
host.vore_selected.custom_reagentalpha = CLAMP(newalpha, 0, 255)
|
||||
else
|
||||
host.vore_selected.custom_reagentalpha = null
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_reagent_touches")
|
||||
if(!host.vore_selected.reagent_touches)
|
||||
host.vore_selected.reagent_touches = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] will now apply reagents to creatures when digesting."))
|
||||
else
|
||||
host.vore_selected.reagent_touches = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] will no longer apply reagents to creatures when digesting."))
|
||||
. = TRUE
|
||||
if("b_mush_overlay")
|
||||
if(!host.vore_selected.mush_overlay)
|
||||
host.vore_selected.mush_overlay = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] now has fullness overlay enabled."))
|
||||
else
|
||||
host.vore_selected.mush_overlay = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has fullness overlay enabled."))
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_mush_color")
|
||||
var/newcolor = tgui_color_picker(user, "Choose custom color for mush overlay.", "", host.vore_selected.mush_color)
|
||||
if(newcolor)
|
||||
host.vore_selected.mush_color = newcolor
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_mush_alpha")
|
||||
var/newalpha = text2num(params["val"])
|
||||
if(!isnum(newalpha))
|
||||
return FALSE
|
||||
host.vore_selected.mush_alpha = CLAMP(newalpha, 0, 255)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_max_mush")
|
||||
var/new_max_mush = text2num(params["val"])
|
||||
if(!isnum(new_max_mush))
|
||||
return FALSE
|
||||
host.vore_selected.max_mush = CLAMP(new_max_mush, 0, 6000)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_min_mush")
|
||||
var/new_min_mush = text2num(params["val"])
|
||||
if(!isnum(new_min_mush))
|
||||
return FALSE
|
||||
host.vore_selected.min_mush = CLAMP(new_min_mush, 0, 100)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_item_mush_val")
|
||||
var/new_item_mush_val = text2num(params["val"])
|
||||
if(!isnum(new_item_mush_val))
|
||||
return FALSE
|
||||
host.vore_selected.item_mush_val = CLAMP(new_item_mush_val, 0, 1000)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_metabolism_overlay")
|
||||
if(!host.vore_selected.metabolism_overlay)
|
||||
host.vore_selected.metabolism_overlay = 1
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] now has ingested metabolism overlay enabled."))
|
||||
else
|
||||
host.vore_selected.metabolism_overlay = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has ingested metabolism overlay enabled."))
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_metabolism_mush_ratio")
|
||||
var/new_metabolism_mush_ratio = text2num(params["val"])
|
||||
if(!isnum(new_metabolism_mush_ratio))
|
||||
return FALSE
|
||||
host.vore_selected.metabolism_mush_ratio = CLAMP(new_metabolism_mush_ratio, 0, 500)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_max_ingested")
|
||||
var/new_max_ingested = text2num(params["val"])
|
||||
if(!isnum(new_max_ingested))
|
||||
return FALSE
|
||||
host.vore_selected.max_ingested = CLAMP(new_max_ingested, 0, 6000)
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_custom_ingested_color")
|
||||
var/newcolor = tgui_color_picker(user, "Choose custom color for ingested metabolism overlay. Cancel for reagent-based dynamic blend.", "", host.vore_selected.custom_ingested_color)
|
||||
if(newcolor)
|
||||
host.vore_selected.custom_ingested_color = newcolor
|
||||
else
|
||||
host.vore_selected.custom_ingested_color = null
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_custom_ingested_alpha")
|
||||
var/newalpha = text2num(params["val"])
|
||||
if(!isnum(newalpha))
|
||||
return FALSE
|
||||
host.vore_selected.custom_ingested_alpha = newalpha
|
||||
host.vore_selected.update_internal_overlay()
|
||||
. = TRUE
|
||||
if("b_liq_purge")
|
||||
host.vore_selected.reagents.clear_reagents()
|
||||
. = TRUE
|
||||
if(.)
|
||||
unsaved_changes = TRUE
|
||||
@@ -0,0 +1,99 @@
|
||||
#define INTERIOR_DESIGN "Interior Design"
|
||||
#define CAPTURE_MESSAGE "Capture Message"
|
||||
#define TRANSIT_MESSAGE "Transit Message"
|
||||
#define TRANSFER_MESSAGE "Transfer Message"
|
||||
#define RELEASE_MESSAGE "Release Message"
|
||||
#define DELETE_MESSAGE "Delete Message"
|
||||
|
||||
|
||||
/datum/vore_look/proc/get_soulcatcher_data(mob/owner)
|
||||
if(!owner.soulgem)
|
||||
return null
|
||||
|
||||
var/list/stored_souls = list()
|
||||
for(var/soul in owner.soulgem.brainmobs)
|
||||
var/list/info = list("displayText" = "[soul]", "value" = "\ref[soul]")
|
||||
stored_souls.Add(list(info))
|
||||
var/list/soulcatcher_data = list(
|
||||
"active" = owner.soulgem.flag_check(SOULGEM_ACTIVE),
|
||||
"name" = owner.soulgem.name,
|
||||
"caught_souls" = stored_souls,
|
||||
"selected_soul" = owner.soulgem.selected_soul,
|
||||
"selected_sfx" = owner.soulgem.linked_belly,
|
||||
"sc_message_data" = compile_soulcatcher_message_data(owner.soulgem),
|
||||
"taken_over" = owner.soulgem.is_taken_over(),
|
||||
"catch_self" = owner.soulgem.flag_check(NIF_SC_CATCHING_ME),
|
||||
"catch_prey" = owner.soulgem.flag_check(NIF_SC_CATCHING_OTHERS),
|
||||
"catch_drain" = owner.soulgem.flag_check(SOULGEM_CATCHING_DRAIN),
|
||||
"catch_ghost" = owner.soulgem.flag_check(SOULGEM_CATCHING_GHOSTS),
|
||||
"ext_hearing" = owner.soulgem.flag_check(NIF_SC_ALLOW_EARS),
|
||||
"ext_vision" = owner.soulgem.flag_check(NIF_SC_ALLOW_EYES),
|
||||
"mind_backups" = owner.soulgem.flag_check(NIF_SC_BACKUPS),
|
||||
"sr_projecting" = owner.soulgem.flag_check(NIF_SC_PROJECTING),
|
||||
"show_vore_sfx" = owner.soulgem.flag_check(SOULGEM_SHOW_VORE_SFX),
|
||||
"see_sr_projecting" = owner.soulgem.flag_check(SOULGEM_SEE_SR_SOULS),
|
||||
)
|
||||
return soulcatcher_data
|
||||
|
||||
/datum/vore_look/proc/compile_soulcatcher_message_data(obj/soulgem/gem)
|
||||
if(!sc_message_subtab)
|
||||
sc_message_subtab = INTERIOR_DESIGN
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(INTERIOR_DESIGN, CAPTURE_MESSAGE, TRANSIT_MESSAGE, TRANSFER_MESSAGE, RELEASE_MESSAGE, DELETE_MESSAGE),
|
||||
"sc_subtab" = sc_message_subtab
|
||||
)
|
||||
if(sc_message_subtab == INTERIOR_DESIGN)
|
||||
tab_data["max_length"] = VORE_SC_DESC_MAX
|
||||
tab_data["active_message"] = gem.inside_flavor
|
||||
tab_data["set_action"] = SC_INTERIOR_MESSAGE
|
||||
tab_data["tooltip"] = "Displayed to prey after being 'caught' by the soulcatcher. This will be displayed after an intro set in the capture message. If you already have prey and change the interior, this will be displayed after the transit message."
|
||||
if(sc_message_subtab == CAPTURE_MESSAGE)
|
||||
tab_data["max_length"] = VORE_SC_MAX
|
||||
tab_data["active_message"] = gem.capture_message
|
||||
tab_data["set_action"] = SC_CAPTURE_MEESAGE
|
||||
tab_data["tooltip"] = "Change what the prey sees while being 'caught'. This will be printed before the iterior design to the prey."
|
||||
if(sc_message_subtab == TRANSIT_MESSAGE)
|
||||
tab_data["max_length"] = VORE_SC_MAX
|
||||
tab_data["active_message"] = gem.transit_message
|
||||
tab_data["set_action"] = SC_TRANSIT_MESSAGE
|
||||
tab_data["tooltip"] = "Change what the prey sees when you change the interior with them already captured."
|
||||
if(sc_message_subtab == TRANSFER_MESSAGE)
|
||||
tab_data["max_length"] = VORE_SC_MAX
|
||||
tab_data["active_message"] = gem.transfer_message
|
||||
tab_data["set_action"] = SC_TRANSFERE_MESSAGE
|
||||
tab_data["tooltip"] = "Change what the prey sees when they are transfered."
|
||||
if(sc_message_subtab == RELEASE_MESSAGE)
|
||||
tab_data["max_length"] = VORE_SC_MAX
|
||||
tab_data["active_message"] = gem.release_message
|
||||
tab_data["set_action"] = SC_RELEASE_MESSAGE
|
||||
tab_data["tooltip"] = "Change what the prey sees when they are released."
|
||||
if(sc_message_subtab == DELETE_MESSAGE)
|
||||
tab_data["max_length"] = VORE_SC_MAX
|
||||
tab_data["active_message"] = gem.delete_message
|
||||
tab_data["set_action"] = SC_DELETE_MESSAGE
|
||||
tab_data["tooltip"] = "Change what the prey sees when they are deleted."
|
||||
return tab_data
|
||||
|
||||
/datum/vore_look/proc/get_ability_data(mob/owner)
|
||||
var/list/abilities = list()
|
||||
|
||||
var/nutri_value = 0
|
||||
if(isliving(owner))
|
||||
var/mob/living/H = owner
|
||||
nutri_value = H.nutrition
|
||||
|
||||
abilities["nutrition"] = nutri_value
|
||||
abilities["size_change"] = list (
|
||||
"current_size" = owner.size_multiplier,
|
||||
"minimum_size" = owner.has_large_resize_bounds() ? RESIZE_MINIMUM_DORMS : RESIZE_MINIMUM,
|
||||
"maximum_size" = owner.has_large_resize_bounds() ? RESIZE_MAXIMUM_DORMS : RESIZE_MAXIMUM,
|
||||
"resize_cost" = VORE_RESIZE_COST
|
||||
)
|
||||
return abilities
|
||||
|
||||
#undef INTERIOR_DESIGN
|
||||
#undef CAPTURE_MESSAGE
|
||||
#undef TRANSIT_MESSAGE
|
||||
#undef TRANSFER_MESSAGE
|
||||
#undef RELEASE_MESSAGE
|
||||
#undef DELETE_MESSAGE
|
||||
@@ -0,0 +1,328 @@
|
||||
#define CONTROL_TAB 0
|
||||
#define DESCRIPTIONS_TAB 1
|
||||
#define OPTIONS_TAB 2
|
||||
#define SOUNDS_TAB 3
|
||||
#define VISUALS_TAB 4
|
||||
#define INTERACTIONS_TAB 5
|
||||
#define CONTENTS_TAB 6
|
||||
#define LIQUID_OPTIONS_TAB 7
|
||||
|
||||
/datum/vore_look/proc/get_vorebellies(mob/owner, full_data = TRUE)
|
||||
var/list/our_bellies = list()
|
||||
for(var/obj/belly/B as anything in owner.vore_organs)
|
||||
var/list/belly_data = list()
|
||||
belly_data += list(
|
||||
"name" = B.name,
|
||||
"ref" = "\ref[B]"
|
||||
)
|
||||
if(full_data)
|
||||
belly_data += list(
|
||||
"selected" = (B == owner.vore_selected),
|
||||
"digest_mode" = B.digest_mode,
|
||||
"contents" = LAZYLEN(B.contents),
|
||||
"prevent_saving" = B.prevent_saving
|
||||
)
|
||||
UNTYPED_LIST_ADD(our_bellies, belly_data)
|
||||
return our_bellies
|
||||
|
||||
/datum/vore_look/proc/get_inside_data(mob/owner)
|
||||
var/atom/hostloc = owner.loc
|
||||
//Allow VorePanel to show pred belly details even while indirectly inside
|
||||
if(isliving(owner))
|
||||
var/mob/living/H = owner
|
||||
hostloc = H.surrounding_belly()
|
||||
//End of indirect vorefx additions
|
||||
var/list/inside = list()
|
||||
if(isbelly(hostloc))
|
||||
var/obj/belly/inside_belly = hostloc
|
||||
var/mob/living/pred = inside_belly.owner
|
||||
|
||||
var/inside_desc = "No description."
|
||||
if(owner.absorbed && inside_belly.absorbed_desc)
|
||||
inside_desc = inside_belly.absorbed_desc
|
||||
else if(inside_belly.desc)
|
||||
inside_desc = inside_belly.desc
|
||||
|
||||
if(inside_desc != "No description.")
|
||||
inside_desc = inside_belly.belly_format_string(inside_desc, owner, use_first_only = TRUE)
|
||||
|
||||
inside = list(
|
||||
"absorbed" = owner.absorbed,
|
||||
"belly_name" = inside_belly.name,
|
||||
"belly_mode" = inside_belly.digest_mode,
|
||||
"desc" = inside_desc,
|
||||
"pred" = pred,
|
||||
"ref" = "\ref[inside_belly]",
|
||||
"liq_lvl" = inside_belly.reagents.total_volume,
|
||||
"liq_reagent_type" = inside_belly.reagent_chosen,
|
||||
"liuq_name" = inside_belly.reagent_name,
|
||||
)
|
||||
|
||||
var/list/inside_contents = list()
|
||||
for(var/atom/movable/O in inside_belly)
|
||||
if(O == owner)
|
||||
continue
|
||||
|
||||
var/list/info = list(
|
||||
"name" = "[O]",
|
||||
"absorbed" = FALSE,
|
||||
"stat" = 0,
|
||||
"ref" = "\ref[O]",
|
||||
"outside" = FALSE,
|
||||
)
|
||||
if(show_pictures) //disables icon mode
|
||||
if(inside_belly.contents.len <= max_icon_content)
|
||||
icon_overflow = FALSE
|
||||
info["icon"] = cached_nom_icon(O)
|
||||
else
|
||||
icon_overflow = TRUE
|
||||
if(isliving(O))
|
||||
var/mob/living/M = O
|
||||
info["stat"] = M.stat
|
||||
if(M.absorbed)
|
||||
info["absorbed"] = TRUE
|
||||
UNTYPED_LIST_ADD(inside_contents, info)
|
||||
inside["contents"] = inside_contents
|
||||
return inside
|
||||
|
||||
/datum/vore_look/proc/get_host_mobtype(mob/owner)
|
||||
var/list/host_mobtype = list("is_cyborg" = FALSE, "is_vore_simple_mob" = FALSE)
|
||||
if(isrobot(owner))
|
||||
host_mobtype["is_cyborg"] = TRUE
|
||||
else if(istype(owner, /mob/living/simple_mob/vore)) //So far, this does nothing. But, creating this for future belly work
|
||||
host_mobtype["is_vore_simple_mob"] = TRUE
|
||||
return host_mobtype
|
||||
|
||||
/datum/vore_look/proc/get_selected_data(mob/owner)
|
||||
var/list/selected_list = null
|
||||
if(owner.vore_selected)
|
||||
var/obj/belly/selected = owner.vore_selected
|
||||
selected_list = list("belly_name" = selected.name)
|
||||
if(active_vore_tab == CONTROL_TAB)
|
||||
var/list/addons = list()
|
||||
for(var/flag_name in selected.mode_flag_list)
|
||||
UNTYPED_LIST_ADD(addons, list("label" = flag_name, "selection" = selected.mode_flags & selected.mode_flag_list[flag_name]))
|
||||
var/list/belly_mode_data = list(
|
||||
"mode" = selected.digest_mode,
|
||||
"item_mode" = selected.item_digest_mode,
|
||||
"addons" = addons,
|
||||
"name_length" = BELLIES_NAME_MAX,
|
||||
"name_min" = BELLIES_NAME_MIN,
|
||||
"mode_options" = host.vore_selected.digest_modes,
|
||||
"item_mode_options" = host.vore_selected.item_digest_modes,
|
||||
|
||||
)
|
||||
selected_list["belly_mode_data"] = belly_mode_data
|
||||
|
||||
if(active_vore_tab == DESCRIPTIONS_TAB)
|
||||
// Compile our displayed options
|
||||
var/list/displayed_options = list(
|
||||
VPANEL_DESCRIPTION_TAB,
|
||||
VPANEL_EXAMINE_TAB,
|
||||
VPANEL_TRASH_EATER_TAB
|
||||
)
|
||||
if(selected.message_mode || selected.escapable)
|
||||
displayed_options += VPANEL_STRUGGLE_TAB
|
||||
displayed_options += VPANEL_ESCAPE_TAB
|
||||
displayed_options += VPANEL_ESCAPE_ABSORBED_TAB
|
||||
if(selected.message_mode || (selected.escapable && (selected.transferlocation || selected.transferlocation_secondary)) || selected.autotransfer_enabled && (selected.autotransferlocation || selected.autotransferlocation_secondary))
|
||||
displayed_options += VPANEL_TRANSFER_TAB
|
||||
if(selected.message_mode || selected.escapable && (selected.digestchance || selected.absorbchance))
|
||||
displayed_options += VPANEL_INTERACTION_TAB
|
||||
if(selected.message_mode || selected.digest_mode == DM_DIGEST || selected.digest_mode == DM_SELECT || selected.digest_mode == DM_ABSORB || selected.digest_mode == DM_UNABSORB)
|
||||
displayed_options += VPANEL_BELLYMODE_TAB
|
||||
if(selected.message_mode || selected.emote_active)
|
||||
displayed_options += VPANEL_IDLE_TAB
|
||||
if(selected.message_mode || selected.show_fullness_messages)
|
||||
displayed_options += VPANEL_LIQUIDS_TAB
|
||||
|
||||
var/list/belly_description_data = list(
|
||||
"displayed_message_types" = compile_message_data(selected),
|
||||
"verb" = selected.vore_verb,
|
||||
"release_verb" = selected.release_verb,
|
||||
"message_mode" = selected.message_mode,
|
||||
"displayed_options" = displayed_options,
|
||||
"message_option" = message_option,
|
||||
"message_subtab" = message_subtab,
|
||||
"selected_message" = selected_message,
|
||||
"show_liq_fullness" = selected.show_fullness_messages,
|
||||
"emote_time" = selected.emote_time,
|
||||
"emote_active" = selected.emote_active,
|
||||
"entrance_logs" = selected.entrance_logs,
|
||||
"item_digest_logs" = selected.item_digest_logs,
|
||||
"name_min" = BELLIES_NAME_MIN,
|
||||
"name_length" = BELLIES_NAME_MAX,
|
||||
)
|
||||
selected_list["belly_description_data"] = belly_description_data
|
||||
|
||||
if(active_vore_tab == OPTIONS_TAB)
|
||||
var/list/silicon_control = list(
|
||||
"silicon_belly_overlay_preference" = selected.silicon_belly_overlay_preference,
|
||||
"belly_sprite_option_shown" = LAZYLEN(owner.vore_icon_bellies) >= 1 ? TRUE : FALSE,
|
||||
"belly_sprite_to_affect" = selected.belly_sprite_to_affect
|
||||
)
|
||||
var/list/belly_option_data = list(
|
||||
"can_taste" = selected.can_taste,
|
||||
"is_feedable" = selected.is_feedable,
|
||||
"nutrition_percent" = selected.nutrition_percent,
|
||||
"digest_brute" = selected.digest_brute,
|
||||
"digest_burn" = selected.digest_burn,
|
||||
"digest_oxy" = selected.digest_oxy,
|
||||
"digest_tox" = selected.digest_tox,
|
||||
"digest_clone" = selected.digest_clone,
|
||||
"digest_max" = selected.digest_max,
|
||||
"digest_free" = selected.get_unused_digestion_damage(),
|
||||
"bulge_size" = selected.bulge_size,
|
||||
"shrink_grow_size" = selected.shrink_grow_size,
|
||||
"contaminates" = selected.contaminates,
|
||||
"egg_type" = selected.egg_type,
|
||||
"egg_types" = GLOB.global_vore_egg_types,
|
||||
"egg_name" = selected.egg_name,
|
||||
"egg_size" = selected.egg_size,
|
||||
"recycling" = selected.recycling,
|
||||
"storing_nutrition" = selected.storing_nutrition,
|
||||
"selective_preference" = selected.selective_preference,
|
||||
"save_digest_mode" = selected.save_digest_mode,
|
||||
"eating_privacy_local" = selected.eating_privacy_local,
|
||||
"vorespawn_blacklist" = selected.vorespawn_blacklist,
|
||||
"vorespawn_whitelist" = selected.vorespawn_whitelist,
|
||||
"vorespawn_absorbed" = (global_flag_check(selected.vorespawn_absorbed, VS_FLAG_ABSORB_YES) + global_flag_check(selected.vorespawn_absorbed, VS_FLAG_ABSORB_PREY)),
|
||||
"private_struggle" = selected.private_struggle,
|
||||
"drainmode" = selected.drainmode,
|
||||
"drainmode_options" = selected.drainmodes,
|
||||
"mob_belly_controls" = silicon_control
|
||||
)
|
||||
if(selected.contaminates)
|
||||
belly_option_data += list(
|
||||
"contaminate_flavor" = selected.contamination_flavor,
|
||||
"contaminate_options" = GLOB.contamination_flavors,
|
||||
"contaminate_color" = selected.contamination_color,
|
||||
"contaminate_colors" = GLOB.contamination_colors
|
||||
)
|
||||
|
||||
selected_list["belly_option_data"] = belly_option_data
|
||||
|
||||
if(active_vore_tab == SOUNDS_TAB)
|
||||
var/list/belly_sound_data = list(
|
||||
"is_wet" = selected.is_wet,
|
||||
"wet_loop" = selected.wet_loop,
|
||||
"fancy" = selected.fancy_vore,
|
||||
"sound" = selected.vore_sound,
|
||||
"release_sound" = selected.release_sound,
|
||||
"sound_volume" = selected.sound_volume,
|
||||
"noise_freq" = selected.noise_freq,
|
||||
"min_voice_freq" = MIN_VOICE_FREQ,
|
||||
"max_voice_freq" = MAX_VOICE_FREQ,
|
||||
"vore_sound_list" = (selected.fancy_vore ? GLOB.fancy_vore_sounds : GLOB.classic_vore_sounds),
|
||||
"release_sound_list" = (selected.fancy_vore ? GLOB.fancy_release_sounds : GLOB.classic_release_sounds)
|
||||
)
|
||||
selected_list["belly_sound_data"] = belly_sound_data
|
||||
|
||||
if(active_vore_tab == VISUALS_TAB)
|
||||
var/list/belly_fullscreens
|
||||
if(selected.colorization_enabled)
|
||||
belly_fullscreens = icon_states('icons/mob/screen_full_vore_list.dmi') //Makes any icons inside of here selectable.
|
||||
else
|
||||
belly_fullscreens = icon_states('icons/mob/screen_full_vore.dmi') //Non colorable
|
||||
|
||||
var/list/vs_flags = list()
|
||||
for(var/flag_name in selected.vore_sprite_flag_list)
|
||||
UNTYPED_LIST_ADD(vs_flags, list("label" = flag_name, "selection" = selected.vore_sprite_flags & selected.vore_sprite_flag_list[flag_name]))
|
||||
|
||||
var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[host.vore_selected.undergarment_chosen]
|
||||
var/list/undergarments
|
||||
if(UWC)
|
||||
undergarments = UWC.items
|
||||
|
||||
var/list/belly_visual_data = list(
|
||||
"belly_fullscreen" = selected.belly_fullscreen,
|
||||
"colorization_enabled" = selected.colorization_enabled,
|
||||
"belly_fullscreen_color" = selected.belly_fullscreen_color,
|
||||
"belly_fullscreen_color2" = selected.belly_fullscreen_color2,
|
||||
"belly_fullscreen_color3" = selected.belly_fullscreen_color3,
|
||||
"belly_fullscreen_color4" = selected.belly_fullscreen_color4,
|
||||
"belly_fullscreen_alpha" = selected.belly_fullscreen_alpha,
|
||||
"possible_fullscreens" = belly_fullscreens,
|
||||
"disable_hud" = selected.disable_hud,
|
||||
"vore_sprite_flags" = vs_flags,
|
||||
"affects_voresprite" = selected.affects_vore_sprites,
|
||||
"absorbed_voresprite" = selected.count_absorbed_prey_for_sprite,
|
||||
"absorbed_multiplier" = selected.absorbed_multiplier,
|
||||
"liquid_voresprite" = selected.count_liquid_for_sprite,
|
||||
"liquid_multiplier" = selected.liquid_multiplier,
|
||||
"item_voresprite" = selected.count_items_for_sprite,
|
||||
"item_multiplier" = selected.item_multiplier,
|
||||
"health_voresprite" = selected.health_impacts_size,
|
||||
"resist_animation" = selected.resist_triggers_animation,
|
||||
"voresprite_size_factor" = selected.size_factor_for_sprite,
|
||||
"belly_sprite_to_affect" = selected.belly_sprite_to_affect,
|
||||
"belly_sprite_options" = host.vore_icon_bellies,
|
||||
"undergarment_chosen" = selected.undergarment_chosen,
|
||||
"undergarment_if_none" = selected.undergarment_if_none || "None",
|
||||
"undergarment_options" = global_underwear.categories,
|
||||
"undergarment_options_if_none" = undergarments,
|
||||
"undergarment_color" = selected.undergarment_color,
|
||||
"tail_option_shown" = ishuman(owner),
|
||||
"tail_to_change_to" = selected.tail_to_change_to,
|
||||
"tail_sprite_options" = global.tail_styles_list
|
||||
)
|
||||
selected_list["belly_visual_data"] = belly_visual_data
|
||||
|
||||
if(active_vore_tab == INTERACTIONS_TAB)
|
||||
var/list/belly_interaction_data = list(
|
||||
"escapable" = selected.escapable,
|
||||
"interacts" = compile_interact_data(selected),
|
||||
"autotransfer_enabled" = selected.autotransfer_enabled,
|
||||
"autotransfer" = compile_autotransfer_data(selected)
|
||||
)
|
||||
selected_list["belly_interaction_data"] = belly_interaction_data
|
||||
|
||||
|
||||
var/list/selected_contents
|
||||
var/total_content_count = 0
|
||||
for(var/O in selected)
|
||||
total_content_count++
|
||||
if(active_vore_tab == CONTENTS_TAB)
|
||||
var/list/info = list(
|
||||
"name" = "[O]",
|
||||
"absorbed" = FALSE,
|
||||
"stat" = 0,
|
||||
"ref" = "\ref[O]",
|
||||
"outside" = TRUE,
|
||||
)
|
||||
if(show_pictures) //disables icon mode
|
||||
if(selected.contents.len <= max_icon_content)
|
||||
icon_overflow = FALSE
|
||||
info["icon"] = cached_nom_icon(O)
|
||||
else
|
||||
icon_overflow = TRUE
|
||||
|
||||
if(isliving(O))
|
||||
var/mob/living/M = O
|
||||
info["stat"] = M.stat
|
||||
if(M.absorbed)
|
||||
info["absorbed"] = TRUE
|
||||
LAZYADD(selected_contents, list(info))
|
||||
if(active_vore_tab == CONTENTS_TAB)
|
||||
selected_list["contents"] = selected_contents
|
||||
|
||||
selected_list["content_length"] = total_content_count
|
||||
|
||||
if(active_vore_tab == LIQUID_OPTIONS_TAB)
|
||||
// liquid belly options
|
||||
var/list/belly_liquid_data = list(
|
||||
"show_liq" = selected.show_liquids,
|
||||
"liq_interacts" = compile_liquid_interact_data(selected)
|
||||
)
|
||||
selected_list["belly_liquid_data"] = belly_liquid_data
|
||||
|
||||
return selected_list
|
||||
|
||||
#undef CONTROL_TAB
|
||||
#undef DESCRIPTIONS_TAB
|
||||
#undef OPTIONS_TAB
|
||||
#undef SOUNDS_TAB
|
||||
#undef VISUALS_TAB
|
||||
#undef INTERACTIONS_TAB
|
||||
#undef CONTENTS_TAB
|
||||
#undef LIQUID_OPTIONS_TAB
|
||||
@@ -0,0 +1,759 @@
|
||||
#define DEFAULT_MESSAGE "Default"
|
||||
#define ABSORBED_MESSAGE "Absorbed"
|
||||
#define WITH_PREY "With Prey"
|
||||
#define WITH_ABSORBED_PREY "With Absorbed Prey"
|
||||
#define TRASH_EAT "Eat"
|
||||
#define TRASH_EXPEL "Expel"
|
||||
#define OUTSIDE_MESSAGE "Outside"
|
||||
#define INSIDE_MESSAGE "Inside"
|
||||
#define TO_YOU "To You"
|
||||
#define TO_PREY "To Prey"
|
||||
#define ATTEMPT_MESSAGE "Attempt"
|
||||
#define SUCCESS_MESSAGE "Success"
|
||||
#define ITEM_MESSAGE "Item"
|
||||
#define FAIL_MESSAGE "Fail"
|
||||
#define PRIMARY_MESSAGE "Primary"
|
||||
#define SECONARY_MESSAGE "Secondary"
|
||||
#define PRIMARY_AUTO_MESSAGE "Primary (Auto)"
|
||||
#define SECONARY_AUTO_MESSAGE "Secondary (Auto)"
|
||||
#define DIGEST_MESSAGE "Digest"
|
||||
#define HOLD_MESSAGE "Hold"
|
||||
#define HOLDABSORBED_MESSAGE "Hold (Absorbed)"
|
||||
#define ABSORB_MESSAGE "Absorb"
|
||||
#define HEAL_MESSAGE "Heal"
|
||||
#define DRAIN_MESSAGE "Drain"
|
||||
#define STEAL_MESSAGE "Steal"
|
||||
#define EGG_MESSAGE "Egg"
|
||||
#define SHRINK_MESSAGE "Shrink"
|
||||
#define GROW_MESSAGE "Grow"
|
||||
#define UNABSORB_MESSAGE "Unabsorb"
|
||||
#define LIQUID0 "Liquid 0-20%"
|
||||
#define LIQUID20 "Liquid 20-40%"
|
||||
#define LIQUID40 "Liquid 40-60%"
|
||||
#define LIQUID60 "Liquid 60-80%"
|
||||
#define LIQUID80 "Liquid 80-100%"
|
||||
|
||||
/datum/vore_look/proc/compile_message_data(obj/belly/selected)
|
||||
if(message_option == VPANEL_DESCRIPTION_TAB)
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(DEFAULT_MESSAGE, ABSORBED_MESSAGE)
|
||||
)
|
||||
if(!selected_message)
|
||||
selected_message = DEFAULT_MESSAGE
|
||||
if(selected_message == DEFAULT_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_DESC_MAX
|
||||
tab_data["active_message"] = selected.desc
|
||||
tab_data["set_action"] = BELLY_DESCRIPTION_MESSAGE
|
||||
tab_data["tooltip"] = "Displayed to prey upon consumption."
|
||||
return tab_data
|
||||
if(selected_message == ABSORBED_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_DESC_MAX
|
||||
tab_data["active_message"] = selected.absorbed_desc
|
||||
tab_data["set_action"] = BELLY_DESCRIPTION_MESSAGE_ABSROED
|
||||
tab_data["tooltip"] = "Displayed to prey after absorption."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_EXAMINE_TAB)
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(WITH_PREY, WITH_ABSORBED_PREY)
|
||||
)
|
||||
if(!selected_message)
|
||||
selected_message = WITH_PREY
|
||||
if(selected_message == WITH_PREY)
|
||||
tab_data["max_length"] = BELLIES_EXAMINE_MAX
|
||||
tab_data["active_message"] = selected.examine_messages
|
||||
tab_data["set_action"] = EXAMINES
|
||||
tab_data["tooltip"] = "Displayed to nearby players during examination when the vorgan is full."
|
||||
return tab_data
|
||||
if(selected_message == WITH_ABSORBED_PREY)
|
||||
tab_data["max_length"] = BELLIES_EXAMINE_MAX
|
||||
tab_data["active_message"] = selected.examine_messages_absorbed
|
||||
tab_data["set_action"] = EXAMINES_ABSORBED
|
||||
tab_data["tooltip"] = "Displayed to nearby players during examination when the vorgan contains absorbed prey."
|
||||
tab_data["button_label"] = "Display Absorbed Examine"
|
||||
tab_data["button_action"] = "b_display_absorbed_examine"
|
||||
tab_data["button_data"] = selected.display_absorbed_examine
|
||||
tab_data["button_tooltip"] = "the absorbed description on examine." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_TRASH_EATER_TAB)
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(TRASH_EAT, TRASH_EXPEL)
|
||||
)
|
||||
if(!selected_message)
|
||||
selected_message = TRASH_EAT
|
||||
if(selected_message == TRASH_EAT)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.trash_eater_in
|
||||
tab_data["set_action"] = BELLY_TRASH_EATER_IN
|
||||
tab_data["tooltip"] = "Displayed to nearby players when you ingest trash items."
|
||||
return tab_data
|
||||
if(selected_message == TRASH_EXPEL)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.trash_eater_out
|
||||
tab_data["set_action"] = BELLY_TRASH_EATER_OUT
|
||||
tab_data["tooltip"] = "Displayed to nearby players when you expel trash items."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_STRUGGLE_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list(DEFAULT_MESSAGE, ABSORBED_MESSAGE)
|
||||
)
|
||||
if(!message_subtab)
|
||||
message_subtab = DEFAULT_MESSAGE
|
||||
if(message_subtab == DEFAULT_MESSAGE)
|
||||
tab_data["possible_messages"] = list(OUTSIDE_MESSAGE, INSIDE_MESSAGE)
|
||||
if(!selected_message)
|
||||
selected_message = OUTSIDE_MESSAGE
|
||||
if(selected_message == OUTSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.struggle_messages_outside
|
||||
tab_data["set_action"] = STRUGGLE_OUTSIDE
|
||||
tab_data["tooltip"] = "Displayed to nearby players when your prey resists."
|
||||
return tab_data
|
||||
if(selected_message == INSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.struggle_messages_inside
|
||||
tab_data["set_action"] = STRUGGLE_INSIDE
|
||||
tab_data["tooltip"] = "Displayed to your prey when they resists."
|
||||
return tab_data
|
||||
if(message_subtab == ABSORBED_MESSAGE)
|
||||
tab_data["possible_messages"] = list(OUTSIDE_MESSAGE, INSIDE_MESSAGE)
|
||||
if(!selected_message)
|
||||
selected_message = OUTSIDE_MESSAGE
|
||||
if(selected_message == OUTSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorbed_struggle_messages_outside
|
||||
tab_data["set_action"] = ABSORBED_STRUGGLE_OUSIDE
|
||||
tab_data["tooltip"] = "Displayed to nearby players when your absorb prey resists."
|
||||
return tab_data
|
||||
if(selected_message == INSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorbed_struggle_messages_inside
|
||||
tab_data["set_action"] = ABSORBED_STRUGGLE_INSIDE
|
||||
tab_data["tooltip"] = "Displayed to your prey when absorbed prey resists."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_ESCAPE_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list(ITEM_MESSAGE, ATTEMPT_MESSAGE, FAIL_MESSAGE)
|
||||
)
|
||||
if(selected.message_mode || selected.escapechance)
|
||||
tab_data["subtypes"] += SUCCESS_MESSAGE
|
||||
if(!message_subtab)
|
||||
message_subtab = ATTEMPT_MESSAGE
|
||||
if(message_subtab == ATTEMPT_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_attempt_messages_prey
|
||||
tab_data["set_action"] = ESCAPE_ATTEMPT_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they trigger an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_attempt_messages_owner
|
||||
tab_data["set_action"] = ESCAPE_ATTEMPT_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey triggers an escape attempt."
|
||||
return tab_data
|
||||
if(message_subtab == SUCCESS_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU, OUTSIDE_MESSAGE)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_messages_prey
|
||||
tab_data["set_action"] = ESCAPE_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they succeed an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_messages_owner
|
||||
tab_data["set_action"] = ESCAPE_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey succeeds an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == OUTSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_messages_outside
|
||||
tab_data["set_action"] = ESCAPE_OUTSIDE
|
||||
tab_data["tooltip"] = "Displayed to nearby players when your prey succeeds an escape attempt."
|
||||
return tab_data
|
||||
if(message_subtab == ITEM_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU, OUTSIDE_MESSAGE)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_item_messages_prey
|
||||
tab_data["set_action"] = ESCAPE_ITEM_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they manage to push an item out of your belly."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_item_messages_owner
|
||||
tab_data["set_action"] = ESCAPE_ITEM_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey manages to push an item out of your belly."
|
||||
return tab_data
|
||||
if(selected_message == OUTSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_item_messages_outside
|
||||
tab_data["set_action"] = ESCAPE_ITEM_OUTSIDE
|
||||
tab_data["tooltip"] = "Displayed to nearby players when your prey manages to push an item out of your belly."
|
||||
return tab_data
|
||||
if(message_subtab == FAIL_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_fail_messages_prey
|
||||
tab_data["set_action"] = ESCAPE_FAIL_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they fail an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_fail_messages_owner
|
||||
tab_data["set_action"] = ESCAPE_FAIL_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey fails an escape attempt."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_ESCAPE_ABSORBED_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list(ATTEMPT_MESSAGE, FAIL_MESSAGE)
|
||||
)
|
||||
if(selected.message_mode || selected.escapechance_absorbed)
|
||||
tab_data["subtypes"] += SUCCESS_MESSAGE
|
||||
if(!message_subtab)
|
||||
message_subtab = ATTEMPT_MESSAGE
|
||||
if(message_subtab == ATTEMPT_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_attempt_absorbed_messages_prey
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_ATTEMPT_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they trigger an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_attempt_absorbed_messages_owner
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_ATTEMPT_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey triggers an escape attempt."
|
||||
return tab_data
|
||||
if(message_subtab == SUCCESS_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU, OUTSIDE_MESSAGE)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_absorbed_messages_prey
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_PREY
|
||||
tab_data["tooltip"] = "Displayed to your absorbed prey when they succeed an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_absorbed_messages_owner
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your absorbed prey succeeds an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == OUTSIDE_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_absorbed_messages_outside
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_OUTSIDE
|
||||
tab_data["tooltip"] = "Displayed to nearby players when your absorbed prey succeeds an escape attempt."
|
||||
return tab_data
|
||||
if(message_subtab == FAIL_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_fail_absorbed_messages_prey
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_FAIL_PREY
|
||||
tab_data["tooltip"] = "Displayed to your absorbed prey when they fail an escape attempt."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.escape_fail_absorbed_messages_owner
|
||||
tab_data["set_action"] = ABSORBED_ESCAPE_FAIL_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your absorbed prey fails an escape attempt."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_TRANSFER_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list()
|
||||
)
|
||||
if(selected.message_mode || selected.transferlocation)
|
||||
tab_data["subtypes"] += PRIMARY_MESSAGE
|
||||
if(selected.message_mode || selected.transferlocation_secondary)
|
||||
tab_data["subtypes"] += SECONARY_MESSAGE
|
||||
if(selected.message_mode || selected.autotransferlocation)
|
||||
tab_data["subtypes"] += PRIMARY_AUTO_MESSAGE
|
||||
if(selected.message_mode || selected.autotransferlocation_secondary)
|
||||
tab_data["subtypes"] += SECONARY_AUTO_MESSAGE
|
||||
if(!message_subtab)
|
||||
message_subtab = PRIMARY_MESSAGE
|
||||
if(message_subtab == PRIMARY_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.primary_transfer_messages_prey
|
||||
tab_data["set_action"] = PRIMARY_TRANSFER_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get transfered to the primary transfer location."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.primary_transfer_messages_owner
|
||||
tab_data["set_action"] = PRIMARY_TRANSFER_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets transfered to the primary transfer location."
|
||||
return tab_data
|
||||
if(message_subtab == SECONARY_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.secondary_transfer_messages_prey
|
||||
tab_data["set_action"] = SECONDARY_TRANSFER_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get transfered to the secondary transfer location."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.secondary_transfer_messages_owner
|
||||
tab_data["set_action"] = SECONDARY_TRANSFER_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets transfered to the secondary transfer location."
|
||||
return tab_data
|
||||
if(message_subtab == PRIMARY_AUTO_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.primary_autotransfer_messages_prey
|
||||
tab_data["set_action"] = PRIMARY_AUTO_TRANSFER_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get transfered to the primary auto transfer location."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.primary_autotransfer_messages_owner
|
||||
tab_data["set_action"] = PRIMARY_AUTO_TRANSFER_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets transfered to the primary auto transfer location."
|
||||
return tab_data
|
||||
if(message_subtab == SECONARY_AUTO_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.secondary_autotransfer_messages_prey
|
||||
tab_data["set_action"] = SECONDARY_AUTO_TRANSFER_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get transfered to the secondary auto transfer location."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.secondary_autotransfer_messages_owner
|
||||
tab_data["set_action"] = SECONDARY_AUTO_TRANSFER_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets transfered to the secondary auto transfer location."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_INTERACTION_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list()
|
||||
)
|
||||
if(selected.message_mode || selected.digestchance)
|
||||
tab_data["subtypes"] += DIGEST_MESSAGE
|
||||
if(selected.message_mode || selected.absorbchance)
|
||||
tab_data["subtypes"] += ABSORB_MESSAGE
|
||||
if(!message_subtab)
|
||||
message_subtab = DIGEST_MESSAGE
|
||||
if(message_subtab == DIGEST_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.digest_chance_messages_prey
|
||||
tab_data["set_action"] = DIGEST_CHANCE_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when their struggles trigger digest mode."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.digest_chance_messages_owner
|
||||
tab_data["set_action"] = DIGEST_CHANCE_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey's struggles trigger digest mode."
|
||||
return tab_data
|
||||
if(message_subtab == ABSORB_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorb_chance_messages_prey
|
||||
tab_data["set_action"] = ABSORB_CHANCE_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when their struggles trigger absorb mode."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorb_chance_messages_owner
|
||||
tab_data["set_action"] = ABSORB_CHANCE_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey's struggles trigger absorb mode."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_BELLYMODE_TAB)
|
||||
var/list/tab_data = list(
|
||||
"subtypes" = list()
|
||||
)
|
||||
if(selected.message_mode || selected.digest_mode == DM_DIGEST || DM_SELECT)
|
||||
tab_data["subtypes"] += DIGEST_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_ABSORB || DM_SELECT)
|
||||
tab_data["subtypes"] += ABSORB_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_UNABSORB)
|
||||
tab_data["subtypes"] += UNABSORB_MESSAGE
|
||||
if(!message_subtab)
|
||||
message_subtab = DIGEST_MESSAGE
|
||||
if(message_subtab == DIGEST_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.digest_messages_prey
|
||||
tab_data["set_action"] = DIGEST_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get digested."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.digest_messages_owner
|
||||
tab_data["set_action"] = DIGEST_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets digested."
|
||||
return tab_data
|
||||
if(message_subtab == ABSORBED_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorb_messages_prey
|
||||
tab_data["set_action"] = ABSORB_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get absorbed."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.absorb_messages_owner
|
||||
tab_data["set_action"] = ABSORB_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets absorbed."
|
||||
if(message_subtab == UNABSORB_MESSAGE)
|
||||
tab_data["possible_messages"] = list(TO_PREY, TO_YOU)
|
||||
if(!selected_message)
|
||||
selected_message = TO_PREY
|
||||
if(selected_message == TO_PREY)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.unabsorb_messages_prey
|
||||
tab_data["set_action"] = UNABSORBS_PREY
|
||||
tab_data["tooltip"] = "Displayed to your prey when they get unabsorbed."
|
||||
return tab_data
|
||||
if(selected_message == TO_YOU)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = selected.unabsorb_messages_owner
|
||||
tab_data["set_action"] = UNABSORBS_OWNER
|
||||
tab_data["tooltip"] = "Displayed to you when your prey gets unabsorbed."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_IDLE_TAB)
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list()
|
||||
)
|
||||
if(selected.message_mode || selected.digest_mode == DM_DIGEST || selected.digest_mode == DM_SELECT)
|
||||
tab_data["possible_messages"] += DIGEST_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_HOLD || selected.digest_mode == DM_SELECT)
|
||||
tab_data["possible_messages"] += HOLD_MESSAGE
|
||||
tab_data["possible_messages"] += HOLDABSORBED_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_ABSORB || selected.digest_mode == DM_SELECT)
|
||||
tab_data["possible_messages"] += ABSORB_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_HEAL)
|
||||
tab_data["possible_messages"] += HEAL_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_DRAIN || selected.digest_mode == DM_SELECT)
|
||||
tab_data["possible_messages"] += DRAIN_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_SIZE_STEAL)
|
||||
tab_data["possible_messages"] += STEAL_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_EGG)
|
||||
tab_data["possible_messages"] += EGG_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_SHRINK)
|
||||
tab_data["possible_messages"] += SHRINK_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_GROW)
|
||||
tab_data["possible_messages"] += GROW_MESSAGE
|
||||
if(selected.message_mode || selected.digest_mode == DM_UNABSORB)
|
||||
tab_data["possible_messages"] += UNABSORB_MESSAGE
|
||||
if(!selected_message)
|
||||
selected_message = DIGEST_MESSAGE
|
||||
if(selected_message == DIGEST_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_DIGEST])
|
||||
tab_data["set_action"] = BELLY_MODE_DIGEST
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting digested."
|
||||
return tab_data
|
||||
if(selected_message == HOLD_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_HOLD])
|
||||
tab_data["set_action"] = BELLY_MODE_HOLD
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is being held."
|
||||
return tab_data
|
||||
if(selected_message == HOLDABSORBED_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_HOLD_ABSORBED])
|
||||
tab_data["set_action"] = BELLY_MODE_HOLD_ABSORB
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your absorbed prey is being held."
|
||||
return tab_data
|
||||
if(selected_message == ABSORB_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_ABSORB])
|
||||
tab_data["set_action"] = BELLY_MODE_ABSORB
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting absorbed."
|
||||
return tab_data
|
||||
if(selected_message == HEAL_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_HEAL])
|
||||
tab_data["set_action"] = BELLY_MODE_HEAL
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting healed."
|
||||
return tab_data
|
||||
if(selected_message == DRAIN_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_DRAIN])
|
||||
tab_data["set_action"] = BELLY_MODE_DRAIN
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting drained."
|
||||
return tab_data
|
||||
if(selected_message == STEAL_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_SIZE_STEAL])
|
||||
tab_data["set_action"] = BELLY_MODE_STEAL
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey's size is stolen."
|
||||
return tab_data
|
||||
if(selected_message == EGG_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_EGG])
|
||||
tab_data["set_action"] = BELLY_MODE_EGG
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting getting encased in an egg."
|
||||
return tab_data
|
||||
if(selected_message == SHRINK_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_SHRINK])
|
||||
tab_data["set_action"] = BELLY_MODE_SHRINK
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting shrunk."
|
||||
return tab_data
|
||||
if(selected_message == GROW_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_GROW])
|
||||
tab_data["set_action"] = BELLY_MODE_GROW
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting grown."
|
||||
return tab_data
|
||||
if(selected_message == UNABSORB_MESSAGE)
|
||||
tab_data["max_length"] = BELLIES_IDLE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.emote_lists[DM_UNABSORB])
|
||||
tab_data["set_action"] = BELLY_MODE_UNABSORB
|
||||
tab_data["tooltip"] = "Cyclic idle messages while your prey is getting unabsorbed."
|
||||
return tab_data
|
||||
|
||||
if(message_option == VPANEL_LIQUIDS_TAB)
|
||||
var/list/tab_data = list(
|
||||
"possible_messages" = list(LIQUID0, LIQUID20, LIQUID40, LIQUID60, LIQUID80)
|
||||
)
|
||||
if(!selected_message)
|
||||
selected_message = LIQUID0
|
||||
if(selected_message == LIQUID0)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.fullness1_messages)
|
||||
tab_data["set_action"] = BELLY_LIQUID_MESSAGE1
|
||||
tab_data["tooltip"] = "Displayed on examine when the belly contains 0 to 20% of liquids."
|
||||
tab_data["button_label"] = "Display Fullness 0-20%"
|
||||
tab_data["button_action"] = "b_liq_msg_toggle1"
|
||||
tab_data["button_data"] = selected.liquid_fullness1_messages
|
||||
tab_data["button_tooltip"] = "the 0-20% examine description." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
if(selected_message == LIQUID20)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.fullness2_messages)
|
||||
tab_data["set_action"] = BELLY_LIQUID_MESSAGE2
|
||||
tab_data["tooltip"] = "Displayed on examine when the belly contains 20 to 40% of liquids."
|
||||
tab_data["button_label"] = "Display Fullness 20-40%"
|
||||
tab_data["button_action"] = "b_liq_msg_toggle2"
|
||||
tab_data["button_data"] = selected.liquid_fullness2_messages
|
||||
tab_data["button_tooltip"] = "the 20-40% examine description." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
if(selected_message == LIQUID40)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.fullness3_messages)
|
||||
tab_data["set_action"] = BELLY_LIQUID_MESSAGE3
|
||||
tab_data["tooltip"] = "Displayed on examine when the belly contains 40 to 60% of liquids."
|
||||
tab_data["button_label"] = "Display Fullness 40-60%"
|
||||
tab_data["button_action"] = "b_liq_msg_toggle3"
|
||||
tab_data["button_data"] = selected.liquid_fullness3_messages
|
||||
tab_data["button_tooltip"] = "the 40-60% examine description." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
if(selected_message == LIQUID60)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.fullness4_messages)
|
||||
tab_data["set_action"] = BELLY_LIQUID_MESSAGE4
|
||||
tab_data["tooltip"] = "Displayed on examine when the belly contains 60 to 80% of liquids."
|
||||
tab_data["button_label"] = "Display Fullness 60-80%"
|
||||
tab_data["button_action"] = "b_liq_msg_toggle4"
|
||||
tab_data["button_data"] = selected.liquid_fullness4_messages
|
||||
tab_data["button_tooltip"] = "the 60-80% examine description." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
if(selected_message == LIQUID80)
|
||||
tab_data["max_length"] = BELLIES_MESSAGE_MAX
|
||||
tab_data["active_message"] = SANITIZE_LIST(selected.fullness5_messages)
|
||||
tab_data["set_action"] = BELLY_LIQUID_MESSAGE5
|
||||
tab_data["tooltip"] = "Displayed on examine when the belly contains 80 to 100% of liquids."
|
||||
tab_data["button_label"] = "Display Fullness 80-100%"
|
||||
tab_data["button_action"] = "b_liq_msg_toggle5"
|
||||
tab_data["button_data"] = selected.liquid_fullness5_messages
|
||||
tab_data["button_tooltip"] = "the 80-100% examine description." // those will automatically be preceeded by Enables / Disables!
|
||||
return tab_data
|
||||
|
||||
|
||||
/datum/vore_look/proc/compile_interact_data(obj/belly/selected)
|
||||
var/list/interact_data = list()
|
||||
if(selected.escapable)
|
||||
interact_data += list(
|
||||
"escapechance" = selected.escapechance,
|
||||
"escapechance_absorbed" = selected.escapechance_absorbed,
|
||||
"escapetime" = selected.escapetime,
|
||||
"transferchance" = selected.transferchance,
|
||||
"transferlocation" = selected.transferlocation,
|
||||
"transferchance_secondary" = selected.transferchance_secondary,
|
||||
"transferlocation_secondary" = selected.transferlocation_secondary,
|
||||
"absorbchance" = selected.absorbchance,
|
||||
"digestchance" = selected.digestchance,
|
||||
"belchchance" = selected.belchchance
|
||||
)
|
||||
|
||||
return interact_data
|
||||
|
||||
/datum/vore_look/proc/compile_autotransfer_data(obj/belly/selected)
|
||||
var/list/autotransfer_data = list()
|
||||
if(selected.autotransfer_enabled)
|
||||
//auto-transfer flags
|
||||
var/list/at_whitelist = list()
|
||||
var/list/at_secondary_whitelist = list()
|
||||
var/list/at_blacklist = list()
|
||||
var/list/at_secondary_blacklist = list()
|
||||
for(var/flag_name in selected.autotransfer_flags_list)
|
||||
UNTYPED_LIST_ADD(at_whitelist, list("label" = flag_name, "selection" = selected.autotransfer_whitelist & selected.autotransfer_flags_list[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_blacklist, list("label" = flag_name, "selection" = selected.autotransfer_blacklist & selected.autotransfer_flags_list[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_secondary_whitelist, list("label" = flag_name, "selection" = selected.autotransfer_secondary_whitelist & selected.autotransfer_flags_list[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_secondary_blacklist, list("label" = flag_name, "selection" = selected.autotransfer_secondary_blacklist & selected.autotransfer_flags_list[flag_name]))
|
||||
var/list/at_whitelist_items = list()
|
||||
var/list/at_blacklist_items = list()
|
||||
var/list/at_secondary_whitelist_items = list()
|
||||
var/list/at_secondary_blacklist_items = list()
|
||||
for(var/flag_name in selected.autotransfer_flags_list_items)
|
||||
UNTYPED_LIST_ADD(at_whitelist_items, list("label" = flag_name, "selection" = selected.autotransfer_whitelist_items & selected.autotransfer_flags_list_items[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_blacklist_items, list("label" = flag_name, "selection" = selected.autotransfer_blacklist_items & selected.autotransfer_flags_list_items[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_secondary_whitelist_items, list("label" = flag_name, "selection" = selected.autotransfer_secondary_whitelist_items & selected.autotransfer_flags_list_items[flag_name]))
|
||||
UNTYPED_LIST_ADD(at_secondary_blacklist_items, list("label" = flag_name, "selection" = selected.autotransfer_secondary_blacklist_items & selected.autotransfer_flags_list_items[flag_name]))
|
||||
|
||||
var/list/primary_transfer = list(
|
||||
"autotransferchance" = selected.autotransferchance,
|
||||
"autotransferlocation" = selected.autotransferlocation,
|
||||
"autotransferextralocation" = selected.autotransferextralocation,
|
||||
"autotransfer_whitelist" = at_whitelist,
|
||||
"autotransfer_blacklist" = at_blacklist,
|
||||
"autotransfer_whitelist_items" = at_whitelist_items,
|
||||
"autotransfer_blacklist_items" = at_blacklist_items
|
||||
)
|
||||
var/list/secondary_transfer = list(
|
||||
"autotransferchance" = selected.autotransferchance_secondary,
|
||||
"autotransferlocation" = selected.autotransferlocation_secondary,
|
||||
"autotransferextralocation" = selected.autotransferextralocation_secondary,
|
||||
"autotransfer_whitelist" = at_secondary_whitelist,
|
||||
"autotransfer_blacklist" = at_secondary_blacklist,
|
||||
"autotransfer_whitelist_items" = at_secondary_whitelist_items,
|
||||
"autotransfer_blacklist_items" = at_secondary_blacklist_items
|
||||
)
|
||||
|
||||
autotransfer_data += list(
|
||||
"autotransferwait" = selected.autotransferwait,
|
||||
"autotransfer_min_amount" = selected.autotransfer_min_amount,
|
||||
"autotransfer_max_amount" = selected.autotransfer_max_amount,
|
||||
"primary_transfer" = primary_transfer,
|
||||
"secondary_transfer" = secondary_transfer
|
||||
)
|
||||
return autotransfer_data
|
||||
|
||||
/datum/vore_look/proc/compile_liquid_interact_data(obj/belly/selected)
|
||||
var/list/liq_interacts = list()
|
||||
if(selected.show_liquids)
|
||||
var/list/liquid_addon_list = list()
|
||||
for(var/flag_name in selected.reagent_mode_flag_list)
|
||||
UNTYPED_LIST_ADD(liquid_addon_list, list("label" = flag_name, "selection" = selected.reagent_mode_flags & selected.reagent_mode_flag_list[flag_name]))
|
||||
|
||||
liq_interacts += list(
|
||||
"liq_reagent_gen" = selected.reagentbellymode,
|
||||
"liq_reagent_type" = selected.reagent_chosen,
|
||||
"liq_reagent_types" = selected.reagent_choices,
|
||||
"liq_reagent_name" = selected.reagent_name,
|
||||
"liq_custom_name_max" = BELLIES_NAME_MAX,
|
||||
"liq_custom_name_min" = BELLIES_NAME_MIN,
|
||||
"liq_reagent_transfer_verb" = selected.reagent_transfer_verb,
|
||||
"liq_reagent_nutri_rate" = selected.gen_time,
|
||||
"liq_reagent_capacity" = selected.custom_max_volume,
|
||||
"liq_sloshing" = selected.vorefootsteps_sounds,
|
||||
"liq_reagent_addons" = liquid_addon_list,
|
||||
"custom_reagentcolor" = (selected.custom_reagentcolor ? selected.custom_reagentcolor : selected.reagentcolor),
|
||||
"custom_reagentalpha" = selected.custom_reagentalpha,
|
||||
"liquid_overlay" = selected.liquid_overlay,
|
||||
"max_liquid_level" = selected.max_liquid_level,
|
||||
"reagent_touches" = selected.reagent_touches,
|
||||
"mush_overlay" = selected.mush_overlay,
|
||||
"mush_color" = selected.mush_color,
|
||||
"mush_alpha" = selected.mush_alpha,
|
||||
"max_mush" = selected.max_mush,
|
||||
"min_mush" = selected.min_mush,
|
||||
"item_mush_val" = selected.item_mush_val,
|
||||
"metabolism_overlay" = selected.metabolism_overlay,
|
||||
"metabolism_mush_ratio" = selected.metabolism_mush_ratio,
|
||||
"max_ingested" = selected.max_ingested,
|
||||
"custom_ingested_color" = (selected.custom_ingested_color ? selected.custom_ingested_color : "#3f6088"),
|
||||
"custom_ingested_alpha" = selected.custom_ingested_alpha
|
||||
)
|
||||
return liq_interacts
|
||||
|
||||
#undef DEFAULT_MESSAGE
|
||||
#undef ABSORBED_MESSAGE
|
||||
#undef WITH_PREY
|
||||
#undef WITH_ABSORBED_PREY
|
||||
#undef TRASH_EAT
|
||||
#undef TRASH_EXPEL
|
||||
#undef OUTSIDE_MESSAGE
|
||||
#undef INSIDE_MESSAGE
|
||||
#undef TO_YOU
|
||||
#undef TO_PREY
|
||||
#undef ATTEMPT_MESSAGE
|
||||
#undef SUCCESS_MESSAGE
|
||||
#undef ITEM_MESSAGE
|
||||
#undef FAIL_MESSAGE
|
||||
#undef PRIMARY_MESSAGE
|
||||
#undef SECONARY_MESSAGE
|
||||
#undef PRIMARY_AUTO_MESSAGE
|
||||
#undef SECONARY_AUTO_MESSAGE
|
||||
#undef DIGEST_MESSAGE
|
||||
#undef HOLD_MESSAGE
|
||||
#undef HOLDABSORBED_MESSAGE
|
||||
#undef ABSORB_MESSAGE
|
||||
#undef HEAL_MESSAGE
|
||||
#undef DRAIN_MESSAGE
|
||||
#undef STEAL_MESSAGE
|
||||
#undef EGG_MESSAGE
|
||||
#undef SHRINK_MESSAGE
|
||||
#undef GROW_MESSAGE
|
||||
#undef UNABSORB_MESSAGE
|
||||
#undef LIQUID0
|
||||
#undef LIQUID20
|
||||
#undef LIQUID40
|
||||
#undef LIQUID60
|
||||
#undef LIQUID80
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
// Allows to adjust the interior of the soulcatcher
|
||||
/obj/soulgem/proc/adjust_interior(var/new_flavor)
|
||||
new_flavor = sanitize(new_flavor, MAX_MESSAGE_LEN * 2)
|
||||
new_flavor = sanitize(new_flavor, VORE_SC_DESC_MAX, FALSE, TRUE, FALSE)
|
||||
inside_flavor = new_flavor
|
||||
notify_holder("Updating environment...")
|
||||
for(var/mob/living/carbon/brain/caught_soul/vore/CS as anything in brainmobs)
|
||||
@@ -225,26 +225,27 @@
|
||||
|
||||
// Sets the custom messages depending on the input
|
||||
/obj/soulgem/proc/set_custom_message(var/message, var/target)
|
||||
message = sanitize(message, MAX_MESSAGE_LEN / 4)
|
||||
message = sanitize(message, VORE_SC_MAX, FALSE, TRUE, FALSE)
|
||||
switch(target)
|
||||
if("capture")
|
||||
if(SC_CAPTURE_MEESAGE)
|
||||
capture_message = message
|
||||
if("transit")
|
||||
if(SC_TRANSIT_MESSAGE)
|
||||
transit_message = message
|
||||
if("release")
|
||||
if(SC_RELEASE_MESSAGE)
|
||||
release_message = message
|
||||
if("transfer")
|
||||
if(SC_TRANSFERE_MESSAGE)
|
||||
transfer_message = message
|
||||
if("delete")
|
||||
if(SC_DELETE_MESSAGE)
|
||||
delete_message = message
|
||||
|
||||
// Allows to rename the soulgem
|
||||
/obj/soulgem/proc/rename(var/new_name)
|
||||
if(length(new_name) < 3 || length(new_name) > 60)
|
||||
to_chat(owner, span_warning("Your soulcatcher's name needs to be between 3 and 60 characters long!"))
|
||||
return
|
||||
new_name = sanitize(new_name, 60)
|
||||
return FALSE
|
||||
new_name = sanitize(new_name, 60, FALSE, TRUE, FALSE)
|
||||
name = new_name
|
||||
return TRUE
|
||||
|
||||
// Toggles the given flag
|
||||
/obj/soulgem/proc/toggle_setting(var/flag)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -154,7 +154,6 @@
|
||||
new_mob.ooc_notes_dislikes = ooc_notes_dislikes
|
||||
new_mob.appendage_color = appendage_color
|
||||
new_mob.appendage_alt_setting = appendage_alt_setting
|
||||
new_mob.text_warnings = text_warnings
|
||||
|
||||
VORE_PREF_TRANSFER(new_mob, src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user