move inside to its own tab, only shwoing when inside a belly (#18726)

* move inside to its own tab, only shwoing when inside a belly

* data handling

* .

* reset tab

* .
This commit is contained in:
Kashargul
2025-11-05 00:55:16 +01:00
committed by GitHub
parent 590ea17df2
commit 3a4ccd04c3
6 changed files with 376 additions and 342 deletions
@@ -76,36 +76,37 @@
"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!
switch(aset_message_subtab)
if(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(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(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(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
@@ -42,36 +42,37 @@
"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."
switch(sc_message_subtab)
if(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(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(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(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(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(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)
@@ -108,191 +108,192 @@
"belly_name" = selected.name,
"display_name" = selected.display_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" = selected.digest_modes,
"item_mode_options" = selected.item_digest_modes,
switch(active_vore_tab)
if(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" = selected.digest_modes,
"item_mode_options" = 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/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(),
"bellytemperature" = selected.bellytemperature,
"temperature_damage" = selected.temperature_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_name_length" = BELLIES_NAME_MAX,
"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,
"absorbedrename_enabled" = selected.absorbedrename_enabled,
"absorbedrename_name" = selected.absorbedrename_name,
"absorbedrename_name_max" = BELLIES_NAME_MAX,
"absorbedrename_name_min" = BELLIES_NAME_MIN,
"drainmode" = selected.drainmode,
"drainmode_options" = selected.drainmodes,
)
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_mode_data"] = belly_mode_data
selected_list["belly_option_data"] = belly_option_data
if(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
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
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 == VISUALS_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_fullscreens
if(selected.colorization_enabled)
belly_fullscreens = cached_icon_states('icons/mob/screen_full_vore_list.dmi') //Makes any icons inside of here selectable.
else
belly_fullscreens = cached_icon_states('icons/mob/screen_full_vore.dmi') //Non colorable
if(OPTIONS_TAB)
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(),
"bellytemperature" = selected.bellytemperature,
"temperature_damage" = selected.temperature_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_name_length" = BELLIES_NAME_MAX,
"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,
"absorbedrename_enabled" = selected.absorbedrename_enabled,
"absorbedrename_name" = selected.absorbedrename_name,
"absorbedrename_name_max" = BELLIES_NAME_MAX,
"absorbedrename_name_min" = BELLIES_NAME_MIN,
"drainmode" = selected.drainmode,
"drainmode_options" = selected.drainmodes,
)
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
)
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]))
selected_list["belly_option_data"] = belly_option_data
var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[host.vore_selected.undergarment_chosen]
var/list/undergarments
if(UWC)
undergarments = UWC.items
if(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
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" = GLOB.tail_styles_list,
"mob_belly_controls" = silicon_control
)
selected_list["belly_visual_data"] = belly_visual_data
if(VISUALS_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_fullscreens
if(selected.colorization_enabled)
belly_fullscreens = cached_icon_states('icons/mob/screen_full_vore_list.dmi') //Makes any icons inside of here selectable.
else
belly_fullscreens = cached_icon_states('icons/mob/screen_full_vore.dmi') //Non colorable
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/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" = GLOB.tail_styles_list,
"mob_belly_controls" = silicon_control
)
selected_list["belly_visual_data"] = belly_visual_data
if(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
@@ -337,18 +338,19 @@
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
switch(active_vore_tab)
if(CONTENTS_TAB)
selected_list["contents"] = selected_contents
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
if(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
+35 -27
View File
@@ -4,9 +4,10 @@
#define STATION_PREF_NAME "Virgo"
#define VORE_BELLY_TAB 0
#define SOULCATCHER_TAB 1
#define GENERAL_TAB 2
#define PREFERENCE_TAB 3
#define VORE_INSIDE_TAB 1
#define SOULCATCHER_TAB 2
#define GENERAL_TAB 3
#define PREFERENCE_TAB 4
/mob
var/datum/vore_look/vorePanel
@@ -144,36 +145,42 @@
data["prefs"] = null
data["general_pref_data"] = null
if(active_tab == VORE_BELLY_TAB)
data["active_vore_tab"] = active_vore_tab
data["host_mobtype"] = get_host_mobtype(host)
switch(active_tab)
if(VORE_BELLY_TAB)
data["active_vore_tab"] = active_vore_tab
data["host_mobtype"] = get_host_mobtype(host)
// Content Data
data["show_pictures"] = show_pictures
data["icon_overflow"] = icon_overflow
// Content Data
data["show_pictures"] = show_pictures
data["icon_overflow"] = icon_overflow
// List of all our bellies
data["our_bellies"] = get_vorebellies(host)
// List of all our bellies
data["our_bellies"] = get_vorebellies(host)
// Selected belly data. TODO, split this into sub data per tab, we don't need all of this at once, ever!
data["selected"] = get_selected_data(host)
// Selected belly data. TODO, split this into sub data per tab, we don't need all of this at once, ever!
data["selected"] = get_selected_data(host)
if(active_tab == SOULCATCHER_TAB)
// Soulcatcher and abilities
data["our_bellies"] = get_vorebellies(host, FALSE)
data["soulcatcher"] = get_soulcatcher_data(host)
data["abilities"] = get_ability_data(host)
if(VORE_INSIDE_TAB)
// Content Data
data["show_pictures"] = show_pictures
data["icon_overflow"] = icon_overflow
if(active_tab == PREFERENCE_TAB)
// Preference data, we only ever need that when we go to the pref page!
data["prefs"] = get_preference_data(host)
// Content Data
data["show_pictures"] = show_pictures
data["icon_overflow"] = icon_overflow
if(SOULCATCHER_TAB)
// Soulcatcher and abilities
data["our_bellies"] = get_vorebellies(host, FALSE)
data["soulcatcher"] = get_soulcatcher_data(host)
data["abilities"] = get_ability_data(host)
if(active_tab == GENERAL_TAB)
data["general_pref_data"] = get_general_data(host)
data["our_bellies"] = get_vorebellies(host, FALSE)
if(PREFERENCE_TAB)
// Preference data, we only ever need that when we go to the pref page!
data["prefs"] = get_preference_data(host)
// Content Data
data["show_pictures"] = show_pictures
data["icon_overflow"] = icon_overflow
if(GENERAL_TAB)
data["general_pref_data"] = get_general_data(host)
data["our_bellies"] = get_vorebellies(host, FALSE)
return data
@@ -1339,6 +1346,7 @@
#undef STATION_PREF_NAME
#undef VORE_BELLY_TAB
#undef VORE_INSIDE_TAB
#undef SOULCATCHER_TAB
#undef PREFERENCE_TAB
#undef GENERAL_TAB