mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 18:11:47 +00:00
-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.
79 lines
3.2 KiB
Plaintext
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
|