Files
fulpstation/code/__HELPERS/global_lists.dm
Ricotez b8811f23e0 -Added two new types of mutant accessories for humans: tail_human and ears. These ears are considered mutant parts and don't override normal human ears.
-Added one ear and one tail accessory to these categories, obtained from the kitty ears. The ears are obviously cat ears, but the tail can pass for a monkey tail without ears.
-Humans can now also edit alien/mutant colours. They have access to the full range of colours, but if the player switches back to lizard and the colour is too dark, it'll be reset to the default.
-Renamed the original tail to tail_lizard. All references are properly updated and nothing has to be changed.
-Could not solve an annoying bug with the setup window, where a lizard tail is rendered whenever a human tail is set. This problem only exists in the setup window and does not affect the sprite in-game.
2015-06-27 20:57:54 +02:00

79 lines
3.2 KiB
Plaintext

//////////////////////////
/////Initial Building/////
//////////////////////////
/proc/make_datum_references_lists()
//hair
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_list, hair_styles_male_list, hair_styles_female_list)
//facial hair
init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, facial_hair_styles_list, facial_hair_styles_male_list, facial_hair_styles_female_list)
//underwear
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
//undershirt
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
//socks
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
//lizard bodyparts (blizzard intensifies)
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, body_markings_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, tails_list_lizard)
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/lizard, animated_tails_list_lizard)
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, tails_list_human)
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, animated_tails_list_human)
init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, snouts_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/horns, horns_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, ears_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, frills_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, spines_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, animated_spines_list)
//Species
for(var/spath in typesof(/datum/species))
if(spath == /datum/species)
continue
var/datum/species/S = new spath()
if(S.roundstart)
roundstart_species[S.name] = S.type
species_list[S.id] = S.type
//Surgeries
for(var/path in typesof(/datum/surgery))
if(path == /datum/surgery)
continue
var/datum/surgery/S = new path()
surgeries_list[S.name] = S
init_subtypes(/datum/table_recipe, table_recipes)
/* // Uncomment to debug chemical reaction list.
/client/verb/debug_chemical_list()
for (var/reaction in chemical_reactions_list)
. += "chemical_reactions_list\[\"[reaction]\"\] = \"[chemical_reactions_list[reaction]]\"\n"
if(islist(chemical_reactions_list[reaction]))
var/list/L = chemical_reactions_list[reaction]
for(var/t in L)
. += " has: [t]\n"
world << .
*/
//creates every subtype of prototype (excluding prototype) and adds it to list L.
//if no list/L is provided, one is created.
/proc/init_subtypes(prototype, list/L)
if(!istype(L)) L = list()
for(var/path in typesof(prototype))
if(path == prototype) continue
L += new path()
return L
//returns a list of paths to every subtype of prototype (excluding prototype)
//if no list/L is provided, one is created.
/proc/init_paths(prototype, list/L)
if(!istype(L))
L = list()
for(var/path in typesof(prototype))
if(path == prototype)
continue
L+= path
return L