diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index f54d8d6b18..c921e27104 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -11,6 +11,8 @@ var/global/list/positive_traits = list() // Positive custom species traits, inde var/global/list/traits_costs = list() // Just path = cost list, saves time in char setup var/global/list/all_traits = list() // All of 'em at once (same instances) +var/global/list/custom_species_bases = list() // Species that can be used for a Custom Species icon base + //stores numeric player size options indexed by name var/global/list/player_sizes_list = list( "Macro" = RESIZE_HUGE, @@ -195,4 +197,14 @@ var/global/list/edible_trash = list(/obj/item/trash, if(0.1 to INFINITY) positive_traits[path] = instance - return 1 // Hooks must return 1 \ No newline at end of file + // Custom species icon bases + var/list/blacklisted_icons = list("Custom Species","Promethean") //Just ones that won't work well. + for(var/species_name in playable_species) + if(species_name in blacklisted_icons) + continue + var/datum/species/S = all_species[species_name] + if(S.spawn_flags & SPECIES_IS_WHITELISTED) + continue + custom_species_bases += species_name + + return 1 // Hooks must return 1 diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index c6b8f32e1e..4ffe1d37c7 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -98,16 +98,11 @@ . += "Custom Species " . += "[pref.custom_species ? pref.custom_species : "-Input Name-"]
" - if(pref.species == "Custom Species") + if(pref.species == "Custom Species" || pref.species == "Xenochimera") . += "Icon Base: " . += "[pref.custom_base ? pref.custom_base : "Human"]
" - if(pref.species == "Xenochimera") - . += "Icon Base: " - . += "[pref.custom_base ? pref.custom_base : "Human"]
" - if(pref.species == "Custom Species") - var/points_left = pref.starting_trait_points var/traits_left = pref.max_traits for(var/T in pref.pos_traits + pref.neg_traits) @@ -161,13 +156,7 @@ return TOPIC_REFRESH else if(href_list["custom_base"]) - var/text_choice = input("Pick an icon set for your species:","Icon Base") in playable_species - whitelisted_species - "Custom Species" - "Promethean" - if(text_choice in playable_species) - pref.custom_base = text_choice - return TOPIC_REFRESH_UPDATE_PREVIEW - - else if(href_list["custom_base_xenochimera"]) - var/text_choice = input("Pick an icon set for your species:","Icon Base") in playable_species - whitelisted_species - "Custom Species" - "Promethean" + "Xenochimera" + var/text_choice = input("Pick an icon set for your species:","Icon Base") in custom_species_bases if(text_choice in playable_species) pref.custom_base = text_choice return TOPIC_REFRESH_UPDATE_PREVIEW