mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
[MIRROR] On demand belly loading & multibelly (#9701)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
bbbc49354e
commit
9c5fa078e4
@@ -1,42 +1,3 @@
|
||||
/mob/living/carbon/human/update_fullness(var/returning = FALSE)
|
||||
if(!returning)
|
||||
if(updating_fullness)
|
||||
return
|
||||
var/previous_stomach_fullness = vore_fullness_ex["stomach"]
|
||||
var/previous_taur_fullness = vore_fullness_ex["taur belly"]
|
||||
//update_vore_tail_sprite()
|
||||
//update_vore_belly_sprite()
|
||||
var/list/new_fullness = ..(TRUE)
|
||||
. = new_fullness
|
||||
for(var/datum/category_group/underwear/undergarment_class in global_underwear.categories)
|
||||
if(!new_fullness[undergarment_class.name])
|
||||
continue
|
||||
new_fullness[undergarment_class.name] = -1 * round(-1 * new_fullness[undergarment_class.name]) // Doing a ceiling the only way BYOND knows how I guess
|
||||
new_fullness[undergarment_class.name] = (min(2, new_fullness[undergarment_class.name]) - 2) * -1 //Complicated stuff to get it correctly aligned with the expected TRUE/FALSE
|
||||
var/datum/category_item/underwear/UWI = all_underwear[undergarment_class.name]
|
||||
if(!UWI || UWI.name == "None")
|
||||
//Welllll okay then. If the former then something went wrong, if None was selected then...
|
||||
if(istype(undergarment_class.items_by_name[new_fullness[undergarment_class.name + "-ifnone"]], /datum/category_item/underwear))
|
||||
UWI = undergarment_class.items_by_name[new_fullness[undergarment_class.name + "-ifnone"]]
|
||||
all_underwear[undergarment_class.name] = UWI
|
||||
if(UWI && UWI.has_color && new_fullness[undergarment_class.name + "-color"])
|
||||
all_underwear_metadata[undergarment_class.name]["[gear_tweak_free_color_choice]"] = new_fullness[undergarment_class.name + "-color"]
|
||||
if(UWI && UWI.name != "None" && hide_underwear[undergarment_class.name] != new_fullness[undergarment_class.name])
|
||||
hide_underwear[undergarment_class.name] = new_fullness[undergarment_class.name]
|
||||
update_underwear(1)
|
||||
if(vore_fullness_ex["stomach"] != previous_stomach_fullness)
|
||||
update_vore_belly_sprite()
|
||||
if(vore_fullness_ex["taur belly"] != previous_taur_fullness)
|
||||
update_vore_tail_sprite()
|
||||
|
||||
/mob/living/carbon/human/vs_animate(var/belly_to_animate)
|
||||
if(belly_to_animate == "stomach")
|
||||
vore_belly_animation()
|
||||
else if(belly_to_animate == "taur belly")
|
||||
vore_tail_animation()
|
||||
else
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/verb/hide_headset()
|
||||
set name = "Show/Hide Headset"
|
||||
set category = "IC.Settings"
|
||||
|
||||
@@ -44,9 +44,6 @@
|
||||
QDEL_NULL(firesoundloop)
|
||||
// QDEL_NULL(stunnedloop)
|
||||
|
||||
/mob/living/proc/vs_animate(var/belly_to_animate)
|
||||
return
|
||||
|
||||
/*
|
||||
Maybe later, gotta figure out a way to click yourself when in a locker etc.
|
||||
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
var/sleeper_resting = FALSE //Enable resting belly sprites for dogborgs that have the sprites
|
||||
var/datum/matter_synth/water_res = null //Enable water for lick clean
|
||||
//Multibelly support. We do not want to apply it to any module not supporting it in it's sprites
|
||||
var/list/vore_light_states = list() //Robot exclusive
|
||||
vore_capacity_ex = list()
|
||||
vore_fullness_ex = list()
|
||||
vore_icon_bellies = list()
|
||||
|
||||
/mob/living/silicon/robot/verb/purge_nutrition()
|
||||
set name = "Purge Nutrition"
|
||||
@@ -34,51 +30,6 @@
|
||||
else
|
||||
to_chat(src, span_filter_notice("Insufficient water reserves."))
|
||||
|
||||
/mob/living/silicon/robot/proc/update_multibelly()
|
||||
vore_icon_bellies = list() //Clear any belly options that may not exist now
|
||||
vore_capacity_ex = list()
|
||||
vore_fullness_ex = list()
|
||||
if(sprite_datum.belly_capacity_list.len)
|
||||
for(var/belly in sprite_datum.belly_capacity_list) //vore icons list only contains a list of names with no associated data
|
||||
vore_capacity_ex[belly] = sprite_datum.belly_capacity_list[belly] //I dont know why but this wasnt working when I just
|
||||
vore_fullness_ex[belly] = 0 //set the lists equal to the old lists
|
||||
vore_icon_bellies += belly
|
||||
for(var/belly in sprite_datum.belly_light_list)
|
||||
vore_light_states[belly] = 0
|
||||
else if(sprite_datum.has_vore_belly_sprites)
|
||||
vore_capacity_ex = list("sleeper" = 1)
|
||||
vore_fullness_ex = list("sleeper" = 0)
|
||||
vore_icon_bellies = list("sleeper")
|
||||
if(sprite_datum.has_sleeper_light_indicator)
|
||||
vore_light_states = list("sleeepr" = 0)
|
||||
sprite_datum.belly_light_list = list("sleeper")
|
||||
update_fullness() //Set how full the newly defined bellies are, if they're already full
|
||||
|
||||
/mob/living/silicon/robot/proc/reset_belly_lights(var/b_class)
|
||||
if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class))
|
||||
vore_light_states[b_class] = 0
|
||||
|
||||
/mob/living/silicon/robot/proc/update_belly_lights(var/b_class)
|
||||
if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class))
|
||||
vore_light_states[b_class] = 2
|
||||
for (var/belly in vore_organs)
|
||||
var/obj/belly/B = belly
|
||||
if(b_class == "sleeper" && (B.silicon_belly_overlay_preference == "Vorebelly" || B.silicon_belly_overlay_preference == "Both") || b_class != "sleeper")
|
||||
if(B.digest_mode != DM_DIGEST || B.belly_sprite_to_affect != b_class || !B.contents.len)
|
||||
continue
|
||||
for(var/contents in B.contents)
|
||||
if(istype(contents, /mob/living))
|
||||
vore_light_states[b_class] = 1
|
||||
return
|
||||
|
||||
/mob/living/silicon/robot/module_reset()
|
||||
..()
|
||||
// We only use the chomp system when the sprite supports it. Else we go through the fallback
|
||||
vore_capacity_ex = list()
|
||||
vore_fullness_ex = list()
|
||||
vore_light_states = list()
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/BorgCtrlShiftClick(var/mob/living/silicon/robot/user)
|
||||
if(check_access(user.idcard))
|
||||
..()
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
/datum/robot_sprite
|
||||
var/list/belly_light_list = list() // Support multiple sleepers with r/g light "sleeper"
|
||||
var/list/belly_capacity_list = list() //Support multiple bellies with multiple sizes, default: "sleeper" = 1
|
||||
@@ -4,9 +4,6 @@
|
||||
var/speech_chance = 75 //mobs can be a bit more emotive than carbon/humans
|
||||
var/speech_sound_enabled = TRUE
|
||||
|
||||
//vars for vore_icons toggle control
|
||||
var/vore_icons_cache = null // null by default. Going from ON to OFF should store vore_icons val here, OFF to ON reset as null
|
||||
|
||||
//spitting projectiles
|
||||
var/spitting = 0
|
||||
var/spit_projectile = null // what our spit projectile is. Can be anything
|
||||
@@ -19,25 +16,6 @@
|
||||
Spit(A)
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_mob/verb/toggle_vore_icons()
|
||||
|
||||
set name = "Toggle Vore Sprite"
|
||||
set desc = "Toggle visibility of changed mob sprite when you have eaten other things."
|
||||
set category = "Abilities.Vore"
|
||||
|
||||
if(!vore_icons && !vore_icons_cache)
|
||||
to_chat(src,span_warning("This simplemob has no vore sprite."))
|
||||
else if(isnull(vore_icons_cache))
|
||||
vore_icons_cache = vore_icons
|
||||
vore_icons = 0
|
||||
to_chat(src,span_warning("Vore sprite disabled."))
|
||||
else
|
||||
vore_icons = vore_icons_cache
|
||||
vore_icons_cache = null
|
||||
to_chat(src,span_warning("Vore sprite enabled."))
|
||||
|
||||
update_icon()
|
||||
|
||||
/mob/living/simple_mob/verb/toggle_speech_sounds()
|
||||
set name = "Toggle Species Speech Sounds"
|
||||
set desc = "Toggle if your species defined speech sound has a chance of playing on a Say"
|
||||
|
||||
@@ -1,484 +0,0 @@
|
||||
//
|
||||
// Belly Export Panel
|
||||
//
|
||||
|
||||
/datum/vore_look/export_panel/proc/open_export_panel(mob/user)
|
||||
tgui_interact(user)
|
||||
|
||||
/datum/vore_look/export_panel/tgui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "VorePanelExport", "Vore Export Panel")
|
||||
ui.open()
|
||||
ui.set_autoupdate(FALSE)
|
||||
|
||||
/datum/vore_look/export_panel/tgui_fallback(payload)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
//var/mob/living/host = usr
|
||||
//host.vorebelly_printout(TRUE)
|
||||
|
||||
/datum/vore_look/export_panel/tgui_act(action, params)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
/datum/vore_look/export_panel/tgui_data(mob/user)
|
||||
var/list/data = list()
|
||||
var/mob/living/host = user
|
||||
|
||||
data["db_version"] = "0.1"
|
||||
data["db_repo"] = "chompstation"
|
||||
data["mob_name"] = host.real_name
|
||||
|
||||
for(var/belly in host.vore_organs)
|
||||
if(isbelly(belly))
|
||||
var/obj/belly/B = belly
|
||||
var/belly_data = list()
|
||||
|
||||
// General Information
|
||||
belly_data["name"] = B.name
|
||||
belly_data["desc"] = B.desc
|
||||
belly_data["absorbed_desc"] = B.absorbed_desc
|
||||
belly_data["vore_verb"] = B.vore_verb
|
||||
belly_data["release_verb"] = B.release_verb
|
||||
|
||||
// Controls
|
||||
belly_data["mode"] = B.digest_mode
|
||||
var/list/addons = list()
|
||||
for(var/flag_name in B.mode_flag_list)
|
||||
if(B.mode_flags & B.mode_flag_list[flag_name])
|
||||
addons.Add(flag_name)
|
||||
belly_data["addons"] = addons
|
||||
belly_data["item_mode"] = B.item_digest_mode
|
||||
belly_data["message_mode"] = B.message_mode
|
||||
|
||||
// Messages
|
||||
belly_data["struggle_messages_outside"] = list()
|
||||
for(var/msg in B.struggle_messages_outside)
|
||||
belly_data["struggle_messages_outside"] += msg
|
||||
|
||||
belly_data["struggle_messages_inside"] = list()
|
||||
for(var/msg in B.struggle_messages_inside)
|
||||
belly_data["struggle_messages_inside"] += msg
|
||||
|
||||
belly_data["absorbed_struggle_messages_outside"] = list()
|
||||
for(var/msg in B.absorbed_struggle_messages_outside)
|
||||
belly_data["absorbed_struggle_messages_outside"] += msg
|
||||
|
||||
belly_data["absorbed_struggle_messages_inside"] = list()
|
||||
for(var/msg in B.absorbed_struggle_messages_inside)
|
||||
belly_data["absorbed_struggle_messages_inside"] += msg
|
||||
|
||||
belly_data["escape_attempt_messages_owner"] = list()
|
||||
for(var/msg in B.escape_attempt_messages_owner)
|
||||
belly_data["escape_attempt_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_attempt_messages_prey"] = list()
|
||||
for(var/msg in B.escape_attempt_messages_prey)
|
||||
belly_data["escape_attempt_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_messages_owner"] = list()
|
||||
for(var/msg in B.escape_messages_owner)
|
||||
belly_data["escape_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_messages_prey"] = list()
|
||||
for(var/msg in B.escape_messages_prey)
|
||||
belly_data["escape_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_messages_outside"] = list()
|
||||
for(var/msg in B.escape_messages_outside)
|
||||
belly_data["escape_messages_outside"] += msg
|
||||
|
||||
belly_data["escape_item_messages_owner"] = list()
|
||||
for(var/msg in B.escape_item_messages_owner)
|
||||
belly_data["escape_item_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_item_messages_prey"] = list()
|
||||
for(var/msg in B.escape_item_messages_prey)
|
||||
belly_data["escape_item_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_item_messages_outside"] = list()
|
||||
for(var/msg in B.escape_item_messages_outside)
|
||||
belly_data["escape_item_messages_outside"] += msg
|
||||
|
||||
belly_data["escape_fail_messages_owner"] = list()
|
||||
for(var/msg in B.escape_fail_messages_owner)
|
||||
belly_data["escape_fail_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_fail_messages_prey"] = list()
|
||||
for(var/msg in B.escape_fail_messages_prey)
|
||||
belly_data["escape_fail_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_attempt_absorbed_messages_owner"] = list()
|
||||
for(var/msg in B.escape_attempt_absorbed_messages_owner)
|
||||
belly_data["escape_attempt_absorbed_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_attempt_absorbed_messages_prey"] = list()
|
||||
for(var/msg in B.escape_attempt_absorbed_messages_prey)
|
||||
belly_data["escape_attempt_absorbed_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_absorbed_messages_owner"] = list()
|
||||
for(var/msg in B.escape_absorbed_messages_owner)
|
||||
belly_data["escape_absorbed_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_absorbed_messages_prey"] = list()
|
||||
for(var/msg in B.escape_absorbed_messages_prey)
|
||||
belly_data["escape_absorbed_messages_prey"] += msg
|
||||
|
||||
belly_data["escape_absorbed_messages_outside"] = list()
|
||||
for(var/msg in B.escape_absorbed_messages_outside)
|
||||
belly_data["escape_absorbed_messages_outside"] += msg
|
||||
|
||||
belly_data["escape_fail_absorbed_messages_owner"] = list()
|
||||
for(var/msg in B.escape_fail_absorbed_messages_owner)
|
||||
belly_data["escape_fail_absorbed_messages_owner"] += msg
|
||||
|
||||
belly_data["escape_fail_absorbed_messages_prey"] = list()
|
||||
for(var/msg in B.escape_fail_absorbed_messages_prey)
|
||||
belly_data["escape_fail_absorbed_messages_prey"] += msg
|
||||
|
||||
belly_data["primary_transfer_messages_owner"] = list()
|
||||
for(var/msg in B.primary_transfer_messages_owner)
|
||||
belly_data["primary_transfer_messages_owner"] += msg
|
||||
|
||||
belly_data["primary_transfer_messages_prey"] = list()
|
||||
for(var/msg in B.primary_transfer_messages_prey)
|
||||
belly_data["primary_transfer_messages_prey"] += msg
|
||||
|
||||
belly_data["secondary_transfer_messages_owner"] = list()
|
||||
for(var/msg in B.secondary_transfer_messages_owner)
|
||||
belly_data["secondary_transfer_messages_owner"] += msg
|
||||
|
||||
belly_data["secondary_transfer_messages_prey"] = list()
|
||||
for(var/msg in B.secondary_transfer_messages_prey)
|
||||
belly_data["secondary_transfer_messages_prey"] += msg
|
||||
|
||||
belly_data["primary_autotransfer_messages_owner"] = list()
|
||||
for(var/msg in B.primary_autotransfer_messages_owner)
|
||||
belly_data["primary_autotransfer_messages_owner"] += msg
|
||||
|
||||
belly_data["primary_autotransfer_messages_prey"] = list()
|
||||
for(var/msg in B.primary_autotransfer_messages_prey)
|
||||
belly_data["primary_autotransfer_messages_prey"] += msg
|
||||
|
||||
belly_data["secondary_autotransfer_messages_owner"] = list()
|
||||
for(var/msg in B.secondary_autotransfer_messages_owner)
|
||||
belly_data["secondary_autotransfer_messages_owner"] += msg
|
||||
|
||||
belly_data["secondary_autotransfer_messages_prey"] = list()
|
||||
for(var/msg in B.secondary_autotransfer_messages_prey)
|
||||
belly_data["secondary_autotransfer_messages_prey"] += msg
|
||||
|
||||
belly_data["digest_chance_messages_owner"] = list()
|
||||
for(var/msg in B.digest_chance_messages_owner)
|
||||
belly_data["digest_chance_messages_owner"] += msg
|
||||
|
||||
belly_data["digest_chance_messages_prey"] = list()
|
||||
for(var/msg in B.digest_chance_messages_prey)
|
||||
belly_data["digest_chance_messages_prey"] += msg
|
||||
|
||||
belly_data["absorb_chance_messages_owner"] = list()
|
||||
for(var/msg in B.absorb_chance_messages_owner)
|
||||
belly_data["absorb_chance_messages_owner"] += msg
|
||||
|
||||
belly_data["absorb_chance_messages_prey"] = list()
|
||||
for(var/msg in B.absorb_chance_messages_prey)
|
||||
belly_data["absorb_chance_messages_prey"] += msg
|
||||
|
||||
belly_data["digest_messages_owner"] = list()
|
||||
for(var/msg in B.digest_messages_owner)
|
||||
belly_data["digest_messages_owner"] += msg
|
||||
|
||||
belly_data["digest_messages_prey"] = list()
|
||||
for(var/msg in B.digest_messages_prey)
|
||||
belly_data["digest_messages_prey"] += msg
|
||||
|
||||
belly_data["absorb_messages_owner"] = list()
|
||||
for(var/msg in B.absorb_messages_owner)
|
||||
belly_data["absorb_messages_owner"] += msg
|
||||
|
||||
belly_data["absorb_messages_prey"] = list()
|
||||
for(var/msg in B.absorb_messages_prey)
|
||||
belly_data["absorb_messages_prey"] += msg
|
||||
|
||||
belly_data["unabsorb_messages_owner"] = list()
|
||||
for(var/msg in B.unabsorb_messages_owner)
|
||||
belly_data["unabsorb_messages_owner"] += msg
|
||||
|
||||
belly_data["unabsorb_messages_prey"] = list()
|
||||
for(var/msg in B.unabsorb_messages_prey)
|
||||
belly_data["unabsorb_messages_prey"] += msg
|
||||
|
||||
belly_data["examine_messages"] = list()
|
||||
for(var/msg in B.examine_messages)
|
||||
belly_data["examine_messages"] += msg
|
||||
|
||||
belly_data["examine_messages_absorbed"] = list()
|
||||
for(var/msg in B.examine_messages_absorbed)
|
||||
belly_data["examine_messages_absorbed"] += msg
|
||||
|
||||
//belly_data["emote_list"] = list()
|
||||
//for(var/EL in B.emote_lists)
|
||||
// for(var/msg in B.emote_lists[EL])
|
||||
// msg_list += msg
|
||||
//
|
||||
// belly_data["emote_lists"] += list(EL, msg_list)
|
||||
|
||||
// I will use this first before the code above gets fixed
|
||||
belly_data["emotes_digest"] = list()
|
||||
for(var/msg in B.emote_lists[DM_DIGEST])
|
||||
belly_data["emotes_digest"] += msg
|
||||
|
||||
belly_data["emotes_hold"] = list()
|
||||
for(var/msg in B.emote_lists[DM_HOLD])
|
||||
belly_data["emotes_hold"] += msg
|
||||
|
||||
belly_data["emotes_holdabsorbed"] = list()
|
||||
for(var/msg in B.emote_lists[DM_HOLD_ABSORBED])
|
||||
belly_data["emotes_holdabsorbed"] += msg
|
||||
|
||||
belly_data["emotes_absorb"] = list()
|
||||
for(var/msg in B.emote_lists[DM_ABSORB])
|
||||
belly_data["emotes_absorb"] += msg
|
||||
|
||||
belly_data["emotes_heal"] = list()
|
||||
for(var/msg in B.emote_lists[DM_HEAL])
|
||||
belly_data["emotes_heal"] += msg
|
||||
|
||||
belly_data["emotes_drain"] = list()
|
||||
for(var/msg in B.emote_lists[DM_DRAIN])
|
||||
belly_data["emotes_drain"] += msg
|
||||
|
||||
belly_data["emotes_steal"] = list()
|
||||
for(var/msg in B.emote_lists[DM_SIZE_STEAL])
|
||||
belly_data["emotes_steal"] += msg
|
||||
|
||||
belly_data["emotes_egg"] = list()
|
||||
for(var/msg in B.emote_lists[DM_EGG])
|
||||
belly_data["emotes_egg"] += msg
|
||||
|
||||
belly_data["emotes_shrink"] = list()
|
||||
for(var/msg in B.emote_lists[DM_SHRINK])
|
||||
belly_data["emotes_shrink"] += msg
|
||||
|
||||
belly_data["emotes_grow"] = list()
|
||||
for(var/msg in B.emote_lists[DM_GROW])
|
||||
belly_data["emotes_grow"] += msg
|
||||
|
||||
belly_data["emotes_unabsorb"] = list()
|
||||
for(var/msg in B.emote_lists[DM_UNABSORB])
|
||||
belly_data["emotes_unabsorb"] += msg
|
||||
|
||||
// Options
|
||||
belly_data["digest_brute"] = B.digest_brute
|
||||
belly_data["digest_burn"] = B.digest_burn
|
||||
belly_data["digest_oxy"] = B.digest_oxy
|
||||
belly_data["digest_tox"] = B.digest_tox
|
||||
belly_data["digest_clone"] = B.digest_clone
|
||||
|
||||
belly_data["can_taste"] = B.can_taste
|
||||
belly_data["is_feedable"] = B.is_feedable
|
||||
belly_data["contaminates"] = B.contaminates
|
||||
belly_data["contamination_flavor"] = B.contamination_flavor
|
||||
belly_data["contamination_color"] = B.contamination_color
|
||||
belly_data["nutrition_percent"] = B.nutrition_percent
|
||||
belly_data["bulge_size"] = B.bulge_size
|
||||
belly_data["display_absorbed_examine"] = B.display_absorbed_examine
|
||||
belly_data["save_digest_mode"] = B.save_digest_mode
|
||||
belly_data["emote_active"] = B.emote_active
|
||||
belly_data["emote_time"] = B.emote_time
|
||||
belly_data["shrink_grow_size"] = B.shrink_grow_size
|
||||
belly_data["vorespawn_blacklist"] = B.vorespawn_blacklist
|
||||
belly_data["vorespawn_whitelist"] = B.vorespawn_whitelist
|
||||
belly_data["vorespawn_absorbed"] = B.vorespawn_absorbed
|
||||
belly_data["egg_type"] = B.egg_type
|
||||
belly_data["egg_name"] = B.egg_name
|
||||
belly_data["egg_size"] = B.egg_size
|
||||
belly_data["selective_preference"] = B.selective_preference
|
||||
belly_data["recycling"] = B.recycling
|
||||
belly_data["storing_nutrition"] = B.storing_nutrition
|
||||
belly_data["entrance_logs"] = B.entrance_logs
|
||||
belly_data["item_digest_logs"] = B.item_digest_logs
|
||||
belly_data["eating_privacy_local"] = B.eating_privacy_local
|
||||
belly_data["private_struggle"] = B.private_struggle
|
||||
|
||||
// Sounds
|
||||
belly_data["is_wet"] = B.is_wet
|
||||
belly_data["wet_loop"] = B.wet_loop
|
||||
belly_data["fancy_vore"] = B.fancy_vore
|
||||
belly_data["vore_sound"] = B.vore_sound
|
||||
belly_data["release_sound"] = B.release_sound
|
||||
belly_data["sound_volume"] = B.sound_volume
|
||||
belly_data["noise_freq"] = B.noise_freq
|
||||
|
||||
// Visuals
|
||||
belly_data["affects_vore_sprites"] = B.affects_vore_sprites
|
||||
var/list/sprite_flags = list()
|
||||
for(var/flag_name in B.vore_sprite_flag_list)
|
||||
if(B.vore_sprite_flags & B.vore_sprite_flag_list[flag_name])
|
||||
sprite_flags.Add(flag_name)
|
||||
belly_data["vore_sprite_flags"] = sprite_flags
|
||||
belly_data["count_absorbed_prey_for_sprite"] = B.count_absorbed_prey_for_sprite
|
||||
belly_data["absorbed_multiplier"] = B.absorbed_multiplier
|
||||
belly_data["count_liquid_for_sprite"] = B.count_liquid_for_sprite
|
||||
belly_data["liquid_multiplier"] = B.liquid_multiplier
|
||||
belly_data["count_items_for_sprite"] = B.count_items_for_sprite
|
||||
belly_data["item_multiplier"] = B.item_multiplier
|
||||
belly_data["health_impacts_size"] = B.health_impacts_size
|
||||
belly_data["resist_triggers_animation"] = B.resist_triggers_animation
|
||||
belly_data["size_factor_for_sprite"] = B.size_factor_for_sprite
|
||||
belly_data["belly_sprite_to_affect"] = B.belly_sprite_to_affect
|
||||
belly_data["undergarment_chosen"] = B.undergarment_chosen
|
||||
belly_data["undergarment_if_none"] = B.undergarment_if_none
|
||||
belly_data["undergarment_color"] = B.undergarment_color
|
||||
//belly_data["tail_to_change_to"] = B.tail_to_change_to
|
||||
//belly_data["tail_colouration"] = B.tail_colouration
|
||||
//belly_data["tail_extra_overlay"] = B.tail_extra_overlay
|
||||
//belly_data["tail_extra_overlay2"] = B.tail_extra_overlay2
|
||||
|
||||
// Visuals (Belly Fullscreens Preview and Coloring)
|
||||
belly_data["belly_fullscreen_color"] = B.belly_fullscreen_color
|
||||
belly_data["belly_fullscreen_color2"] = B.belly_fullscreen_color2
|
||||
belly_data["belly_fullscreen_color3"] = B.belly_fullscreen_color3
|
||||
belly_data["belly_fullscreen_color4"] = B.belly_fullscreen_color4
|
||||
belly_data["belly_fullscreen_alpha"] = B.belly_fullscreen_alpha
|
||||
belly_data["colorization_enabled"] = B.colorization_enabled
|
||||
|
||||
// Visuals (Vore FX)
|
||||
belly_data["disable_hud"] = B.disable_hud
|
||||
belly_data["belly_fullscreen"] = B.belly_fullscreen
|
||||
|
||||
// Interactions
|
||||
belly_data["escapable"] = B.escapable
|
||||
|
||||
belly_data["escapechance"] = B.escapechance
|
||||
belly_data["escapechance_absorbed"] = B.escapechance_absorbed
|
||||
belly_data["escapetime"] = B.escapetime/10
|
||||
|
||||
belly_data["belchchance"] = B.belchchance
|
||||
|
||||
belly_data["transferchance"] = B.transferchance
|
||||
belly_data["transferlocation"] = B.transferlocation
|
||||
|
||||
belly_data["transferchance_secondary"] = B.transferchance_secondary
|
||||
belly_data["transferlocation_secondary"] = B.transferlocation_secondary
|
||||
|
||||
belly_data["absorbchance"] = B.absorbchance
|
||||
belly_data["digestchance"] = B.digestchance
|
||||
|
||||
// Interactions (Auto-Transfer)
|
||||
belly_data["autotransferchance"] = B.autotransferchance
|
||||
belly_data["autotransferwait"] = B.autotransferwait/10
|
||||
belly_data["autotransferlocation"] = B.autotransferlocation
|
||||
belly_data["autotransferextralocation"] = B.autotransferextralocation
|
||||
belly_data["autotransfer_enabled"] = B.autotransfer_enabled
|
||||
belly_data["autotransferchance_secondary"] = B.autotransferchance_secondary
|
||||
belly_data["autotransferlocation_secondary"] = B.autotransferlocation_secondary
|
||||
belly_data["autotransferextralocation_secondary"] = B.autotransferextralocation_secondary
|
||||
belly_data["autotransfer_min_amount"] = B.autotransfer_min_amount
|
||||
belly_data["autotransfer_max_amount"] = B.autotransfer_max_amount
|
||||
var/list/at_whitelist = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list)
|
||||
if(B.autotransfer_whitelist & B.autotransfer_flags_list[flag_name])
|
||||
at_whitelist.Add(flag_name)
|
||||
belly_data["autotransfer_whitelist"] = at_whitelist
|
||||
var/list/at_blacklist = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list)
|
||||
if(B.autotransfer_blacklist & B.autotransfer_flags_list[flag_name])
|
||||
at_blacklist.Add(flag_name)
|
||||
belly_data["autotransfer_blacklist"] = at_blacklist
|
||||
var/list/at_whitelist_items = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list_items)
|
||||
if(B.autotransfer_whitelist_items & B.autotransfer_flags_list_items[flag_name])
|
||||
at_whitelist_items.Add(flag_name)
|
||||
belly_data["autotransfer_whitelist_items"] = at_whitelist_items
|
||||
var/list/at_blacklist_items = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list_items)
|
||||
if(B.autotransfer_blacklist_items & B.autotransfer_flags_list_items[flag_name])
|
||||
at_blacklist_items.Add(flag_name)
|
||||
belly_data["autotransfer_blacklist_items"] = at_blacklist_items
|
||||
var/list/at_secondary_whitelist = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list)
|
||||
if(B.autotransfer_secondary_whitelist & B.autotransfer_flags_list[flag_name])
|
||||
at_secondary_whitelist.Add(flag_name)
|
||||
belly_data["autotransfer_secondary_whitelist"] = at_secondary_whitelist
|
||||
var/list/at_secondary_blacklist = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list)
|
||||
if(B.autotransfer_secondary_blacklist & B.autotransfer_flags_list[flag_name])
|
||||
at_secondary_blacklist.Add(flag_name)
|
||||
belly_data["autotransfer_secondary_blacklist"] = at_secondary_blacklist
|
||||
var/list/at_secondary_whitelist_items = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list_items)
|
||||
if(B.autotransfer_secondary_whitelist_items & B.autotransfer_flags_list_items[flag_name])
|
||||
at_secondary_whitelist_items.Add(flag_name)
|
||||
belly_data["autotransfer_secondary_whitelist_items"] = at_secondary_whitelist_items
|
||||
var/list/at_secondary_blacklist_items = list()
|
||||
for(var/flag_name in B.autotransfer_flags_list_items)
|
||||
if(B.autotransfer_secondary_blacklist_items & B.autotransfer_flags_list_items[flag_name])
|
||||
at_secondary_blacklist_items.Add(flag_name)
|
||||
belly_data["autotransfer_secondary_blacklist_items"] = at_secondary_blacklist_items
|
||||
|
||||
// Liquid Options
|
||||
belly_data["show_liquids"] = B.show_liquids
|
||||
belly_data["reagentbellymode"] = B.reagentbellymode
|
||||
belly_data["reagent_chosen"] = B.reagent_chosen
|
||||
belly_data["reagent_name"] = B.reagent_name
|
||||
belly_data["reagent_transfer_verb"] = B.reagent_transfer_verb
|
||||
belly_data["gen_time_display"] = B.gen_time_display
|
||||
belly_data["custom_max_volume"] = B.custom_max_volume
|
||||
belly_data["vorefootsteps_sounds"] = B.vorefootsteps_sounds
|
||||
belly_data["liquid_overlay"] = B.liquid_overlay
|
||||
belly_data["max_liquid_level"] = B.max_liquid_level
|
||||
belly_data["reagent_toches"] = B.reagent_touches
|
||||
belly_data["mush_overlay"] = B.mush_overlay
|
||||
belly_data["mush_color"] = B.mush_color
|
||||
belly_data["mush_alpha"] = B.mush_alpha
|
||||
belly_data["max_mush"] = B.max_mush
|
||||
belly_data["min_mush"] = B.min_mush
|
||||
belly_data["item_mush_val"] = B.item_mush_val
|
||||
belly_data["custom_reagentcolor"] = B.custom_reagentcolor
|
||||
belly_data["custom_reagentalpha"] = B.custom_reagentalpha
|
||||
belly_data["metabolism_overlay"] = B.metabolism_overlay
|
||||
belly_data["metabolism_mush_ratio"] = B.metabolism_mush_ratio
|
||||
belly_data["max_ingested"] = B.max_ingested
|
||||
belly_data["custom_ingested_color"] = B.custom_ingested_color
|
||||
belly_data["custom_ingested_alpha"] = B.custom_ingested_alpha
|
||||
|
||||
var/list/reagent_flags = list()
|
||||
for(var/flag_name in B.reagent_mode_flag_list)
|
||||
if(B.reagent_mode_flags & B.reagent_mode_flag_list[flag_name])
|
||||
reagent_flags.Add(flag_name)
|
||||
belly_data["reagent_mode_flag_list"] = reagent_flags
|
||||
|
||||
data["bellies"] += list(belly_data)
|
||||
|
||||
// Liquid Messages
|
||||
belly_data["show_fullness_messages"] = B.show_fullness_messages
|
||||
belly_data["liquid_fullness1_messages"] = B.liquid_fullness1_messages
|
||||
belly_data["liquid_fullness2_messages"] = B.liquid_fullness2_messages
|
||||
belly_data["liquid_fullness3_messages"] = B.liquid_fullness3_messages
|
||||
belly_data["liquid_fullness4_messages"] = B.liquid_fullness4_messages
|
||||
belly_data["liquid_fullness5_messages"] = B.liquid_fullness5_messages
|
||||
|
||||
belly_data["fullness1_messages"] = list()
|
||||
for(var/msg in B.fullness1_messages)
|
||||
belly_data["fullness1_messages"] += msg
|
||||
|
||||
belly_data["fullness2_messages"] = list()
|
||||
for(var/msg in B.fullness2_messages)
|
||||
belly_data["fullness2_messages"] += msg
|
||||
|
||||
belly_data["fullness3_messages"] = list()
|
||||
for(var/msg in B.fullness3_messages)
|
||||
belly_data["fullness3_messages"] += msg
|
||||
|
||||
belly_data["fullness4_messages"] = list()
|
||||
for(var/msg in B.fullness4_messages)
|
||||
belly_data["fullness4_messages"] += msg
|
||||
|
||||
belly_data["fullness5_messages"] = list()
|
||||
for(var/msg in B.fullness5_messages)
|
||||
belly_data["fullness5_messages"] += msg
|
||||
|
||||
return data
|
||||
Reference in New Issue
Block a user