mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
220 lines
8.3 KiB
Plaintext
220 lines
8.3 KiB
Plaintext
var/list/admins = list() //list of all clients whom are admins
|
|
|
|
//Since it didn't really belong in any other category, I'm putting this here
|
|
//This is for procs to replace all the goddamn 'in world's that are chilling around the code
|
|
|
|
var/global/list/player_list = list() //List of all mobs **with clients attached**. Excludes /mob/new_player
|
|
var/global/list/mob_list = list() //List of all mobs, including clientless
|
|
var/global/list/human_mob_list = list() //List of all human mobs and sub-types, including clientless
|
|
var/global/list/silicon_mob_list = list() //List of all silicon mobs, including clientless
|
|
var/global/list/ai_list = list() //List of all AIs, including clientless
|
|
var/global/list/living_mob_list = list() //List of all alive mobs, including clientless. Excludes /mob/new_player
|
|
var/global/list/dead_mob_list = list() //List of all dead mobs, including clientless. Excludes /mob/new_player
|
|
var/global/list/listening_objects = list() //List of all objects which care about receiving messages (communicators, radios, etc)
|
|
|
|
var/global/list/cable_list = list() //Index for all cables, so that powernets don't have to look through the entire world all the time
|
|
var/global/list/landmarks_list = list() //list of all landmarks created
|
|
var/global/list/surgery_steps = list() //list of all surgery steps |BS12
|
|
var/global/list/side_effects = list() //list of all medical sideeffects types by thier names |BS12
|
|
var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
|
|
var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
|
|
|
|
var/global/list/turfs = list() //list of all turfs
|
|
|
|
#define all_genders_define_list list(MALE,FEMALE,PLURAL,NEUTER,HERM) //VOREStaton Edit
|
|
#define all_genders_text_list list("Male","Female","Plural","Neuter","Herm") //VOREStation Edit
|
|
|
|
//Languages/species/whitelist.
|
|
var/global/list/all_species[0]
|
|
var/global/list/all_languages[0]
|
|
var/global/list/language_keys[0] // Table of say codes for all languages
|
|
var/global/list/whitelisted_species = list(SPECIES_HUMAN) // Species that require a whitelist check.
|
|
var/global/list/playable_species = list(SPECIES_CUSTOM, SPECIES_HUMAN) // A list of ALL playable species, whitelisted, latejoin or otherwise. //VOREStation Edit - Making sure custom species is obvious.
|
|
|
|
var/list/mannequins_
|
|
|
|
// Posters
|
|
var/global/list/poster_designs = list()
|
|
var/global/list/NT_poster_designs = list()
|
|
|
|
// Uplinks
|
|
var/list/obj/item/device/uplink/world_uplinks = list()
|
|
|
|
//Preferences stuff
|
|
//Hairstyles
|
|
var/global/list/hair_styles_list = list() //stores /datum/sprite_accessory/hair indexed by name
|
|
var/global/list/hair_styles_male_list = list()
|
|
var/global/list/hair_styles_female_list = list()
|
|
var/global/list/facial_hair_styles_list = list() //stores /datum/sprite_accessory/facial_hair indexed by name
|
|
var/global/list/facial_hair_styles_male_list = list()
|
|
var/global/list/facial_hair_styles_female_list = list()
|
|
var/global/list/skin_styles_female_list = list() //unused
|
|
var/global/list/body_marking_styles_list = list() //stores /datum/sprite_accessory/marking indexed by name
|
|
//Underwear
|
|
var/datum/category_collection/underwear/global_underwear = new()
|
|
|
|
//Backpacks
|
|
var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel", "Satchel Alt", "Messenger Bag")
|
|
var/global/list/pdachoicelist = list("Default", "Slim", "Old", "Rugged")
|
|
var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg)
|
|
|
|
// Visual nets
|
|
var/list/datum/visualnet/visual_nets = list()
|
|
var/datum/visualnet/camera/cameranet = new()
|
|
var/datum/visualnet/cult/cultnet = new()
|
|
|
|
// Runes
|
|
var/global/list/rune_list = new()
|
|
var/global/list/escape_list = list()
|
|
var/global/list/endgame_exits = list()
|
|
var/global/list/endgame_safespawns = list()
|
|
|
|
var/global/list/syndicate_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
|
|
|
// Strings which corraspond to bodypart covering flags, useful for outputting what something covers.
|
|
var/global/list/string_part_flags = list(
|
|
"head" = HEAD,
|
|
"face" = FACE,
|
|
"eyes" = EYES,
|
|
"upper body" = UPPER_TORSO,
|
|
"lower body" = LOWER_TORSO,
|
|
"legs" = LEGS,
|
|
"feet" = FEET,
|
|
"arms" = ARMS,
|
|
"hands" = HANDS
|
|
)
|
|
|
|
// Strings which corraspond to slot flags, useful for outputting what slot something is.
|
|
var/global/list/string_slot_flags = list(
|
|
"back" = SLOT_BACK,
|
|
"face" = SLOT_MASK,
|
|
"waist" = SLOT_BELT,
|
|
"ID slot" = SLOT_ID,
|
|
"ears" = SLOT_EARS,
|
|
"eyes" = SLOT_EYES,
|
|
"hands" = SLOT_GLOVES,
|
|
"head" = SLOT_HEAD,
|
|
"feet" = SLOT_FEET,
|
|
"exo slot" = SLOT_OCLOTHING,
|
|
"body" = SLOT_ICLOTHING,
|
|
"uniform" = SLOT_TIE,
|
|
"holster" = SLOT_HOLSTER
|
|
)
|
|
|
|
/proc/get_mannequin(var/ckey)
|
|
if(!mannequins_)
|
|
mannequins_ = new()
|
|
. = mannequins_[ckey]
|
|
if(!.)
|
|
. = new/mob/living/carbon/human/dummy/mannequin()
|
|
mannequins_[ckey] = .
|
|
|
|
//////////////////////////
|
|
/////Initial Building/////
|
|
//////////////////////////
|
|
|
|
/proc/makeDatumRefLists()
|
|
var/list/paths
|
|
|
|
//Hair - Initialise all /datum/sprite_accessory/hair into an list indexed by hair-style name
|
|
paths = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
|
for(var/path in paths)
|
|
var/datum/sprite_accessory/hair/H = new path()
|
|
hair_styles_list[H.name] = H
|
|
switch(H.gender)
|
|
if(MALE) hair_styles_male_list += H.name
|
|
if(FEMALE) hair_styles_female_list += H.name
|
|
else
|
|
hair_styles_male_list += H.name
|
|
hair_styles_female_list += H.name
|
|
|
|
//Facial Hair - Initialise all /datum/sprite_accessory/facial_hair into an list indexed by facialhair-style name
|
|
paths = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
|
|
for(var/path in paths)
|
|
var/datum/sprite_accessory/facial_hair/H = new path()
|
|
facial_hair_styles_list[H.name] = H
|
|
switch(H.gender)
|
|
if(MALE) facial_hair_styles_male_list += H.name
|
|
if(FEMALE) facial_hair_styles_female_list += H.name
|
|
else
|
|
facial_hair_styles_male_list += H.name
|
|
facial_hair_styles_female_list += H.name
|
|
|
|
//Body markings - Initialise all /datum/sprite_accessory/marking into an list indexed by marking name
|
|
paths = typesof(/datum/sprite_accessory/marking) - /datum/sprite_accessory/marking
|
|
for(var/path in paths)
|
|
var/datum/sprite_accessory/marking/M = new path()
|
|
body_marking_styles_list[M.name] = M
|
|
|
|
//Surgery Steps - Initialize all /datum/surgery_step into a list
|
|
paths = typesof(/datum/surgery_step)-/datum/surgery_step
|
|
for(var/T in paths)
|
|
var/datum/surgery_step/S = new T
|
|
surgery_steps += S
|
|
sort_surgeries()
|
|
|
|
//List of job. I can't believe this was calculated multiple times per tick!
|
|
paths = typesof(/datum/job)-/datum/job
|
|
paths -= exclude_jobs
|
|
for(var/T in paths)
|
|
var/datum/job/J = new T
|
|
joblist[J.title] = J
|
|
|
|
//Languages and species.
|
|
paths = typesof(/datum/language)-/datum/language
|
|
for(var/T in paths)
|
|
var/datum/language/L = new T
|
|
all_languages[L.name] = L
|
|
|
|
for (var/language_name in all_languages)
|
|
var/datum/language/L = all_languages[language_name]
|
|
if(!(L.flags & NONGLOBAL))
|
|
language_keys[lowertext(L.key)] = L
|
|
|
|
var/rkey = 0
|
|
paths = typesof(/datum/species)
|
|
for(var/T in paths)
|
|
|
|
rkey++
|
|
|
|
var/datum/species/S = T
|
|
if(!initial(S.name))
|
|
continue
|
|
|
|
S = new T
|
|
S.race_key = rkey //Used in mob icon caching.
|
|
all_species[S.name] = S
|
|
|
|
if(!(S.spawn_flags & SPECIES_IS_RESTRICTED))
|
|
playable_species += S.name
|
|
if(S.spawn_flags & SPECIES_IS_WHITELISTED)
|
|
whitelisted_species += S.name
|
|
|
|
//Posters
|
|
paths = typesof(/datum/poster) - /datum/poster
|
|
paths -= typesof(/datum/poster/nanotrasen)
|
|
for(var/T in paths)
|
|
var/datum/poster/P = new T
|
|
poster_designs += P
|
|
|
|
paths = typesof(/datum/poster/nanotrasen)
|
|
for(var/T in paths)
|
|
var/datum/poster/P = new T
|
|
NT_poster_designs += P
|
|
|
|
return 1
|
|
|
|
/* // 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 << .
|
|
*/
|
|
//Hexidecimal numbers
|
|
var/global/list/hexNums = list("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")
|