diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index de9ffa6cf9d..d43faaf4a53 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -325,6 +325,8 @@ #define SPECIES_SKELETON "Skeleton" #define SPECIES_GOLEM "Golem" #define SPECIES_EVENT1 "X Occursus" +#define SPECIES_EVENT2 "X Anomalous" +#define SPECIES_EVENT3 "X Unowas" // Replicant types. Currently only used for alien pods and events. #define SPECIES_REPLICANT "Replicant" diff --git a/code/_global_vars/lists/species.dm b/code/_global_vars/lists/species.dm new file mode 100644 index 00000000000..780ce3fb706 --- /dev/null +++ b/code/_global_vars/lists/species.dm @@ -0,0 +1,8 @@ +//Languages/species/whitelist. +GLOBAL_LIST_INIT(all_species, list()) +GLOBAL_LIST_INIT(all_languages, list()) +GLOBAL_LIST_INIT(language_keys, list()) // Table of say codes for all languages +GLOBAL_LIST_INIT(whitelisted_species, list(SPECIES_HUMAN)) // Species that require a whitelist check. +// VOREStation edit - include custom species +GLOBAL_LIST_INIT(playable_species, list(SPECIES_HUMAN, SPECIES_CUSTOM)) // A list of ALL playable species, whitelisted, latejoin or otherwise. +// VOREStation edit end \ No newline at end of file diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index 9d3de5c2f8f..4c98e06c4d0 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -24,13 +24,6 @@ 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 @@ -164,12 +157,12 @@ var/global/list/string_slot_flags = list( paths = typesof(/datum/language)-/datum/language for(var/T in paths) var/datum/language/L = new T - all_languages[L.name] = L + GLOB.all_languages[L.name] = L - for (var/language_name in all_languages) - var/datum/language/L = all_languages[language_name] + for (var/language_name in GLOB.all_languages) + var/datum/language/L = GLOB.all_languages[language_name] if(!(L.flags & NONGLOBAL)) - language_keys[lowertext(L.key)] = L + GLOB.language_keys[lowertext(L.key)] = L var/rkey = 0 paths = typesof(/datum/species) @@ -183,12 +176,12 @@ var/global/list/string_slot_flags = list( S = new T S.race_key = rkey //Used in mob icon caching. - all_species[S.name] = S + GLOB.all_species[S.name] = S if(!(S.spawn_flags & SPECIES_IS_RESTRICTED)) - playable_species += S.name + GLOB.playable_species += S.name if(S.spawn_flags & SPECIES_IS_WHITELISTED) - whitelisted_species += S.name + GLOB.whitelisted_species += S.name //Posters paths = typesof(/datum/poster) - /datum/poster diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index d57bd095580..3469779fda2 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -469,10 +469,10 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN, // Custom species icon bases var/list/blacklisted_icons = list(SPECIES_CUSTOM,SPECIES_PROMETHEAN) //Just ones that won't work well. - for(var/species_name in playable_species) + for(var/species_name in GLOB.playable_species) if(species_name in blacklisted_icons) continue - var/datum/species/S = all_species[species_name] + var/datum/species/S = GLOB.all_species[species_name] if(S.spawn_flags & SPECIES_IS_WHITELISTED) continue custom_species_bases += species_name diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index 220f896436c..9320c29272b 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -75,7 +75,7 @@ proc/random_facial_hair_style(gender, species = SPECIES_HUMAN) proc/sanitize_name(name, species = SPECIES_HUMAN, robot = 0) var/datum/species/current_species if(species) - current_species = all_species[species] + current_species = GLOB.all_species[species] return current_species ? current_species.sanitize_name(name, robot) : sanitizeName(name, MAX_NAME_LEN, robot) @@ -83,7 +83,7 @@ proc/random_name(gender, species = SPECIES_HUMAN) var/datum/species/current_species if(species) - current_species = all_species[species] + current_species = GLOB.all_species[species] if(!current_species || current_species.name_language == null) if(gender==FEMALE) diff --git a/code/game/antagonist/station/changeling.dm b/code/game/antagonist/station/changeling.dm index 4f60792810d..a7bed0a2afe 100644 --- a/code/game/antagonist/station/changeling.dm +++ b/code/game/antagonist/station/changeling.dm @@ -68,7 +68,7 @@ return 1 else if(isnewplayer(player.current)) if(player.current.client && player.current.client.prefs) - var/datum/species/S = all_species[player.current.client.prefs.species] + var/datum/species/S = GLOB.all_species[player.current.client.prefs.species] if(S && (S.flags & NO_SCAN)) return 0 if(player.current.client.prefs.organ_data["torso"] == "cyborg") // Full synthetic. diff --git a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm index c205cb76be2..947cad7140e 100644 --- a/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/fire_aura.dm @@ -23,7 +23,7 @@ var/list/nearby_things = range(round(calculate_spell_power(4)),owner) var/temp_change = calculate_spell_power(25) - var/datum/species/baseline = all_species["Human"] + var/datum/species/baseline = GLOB.all_species["Human"] var/temp_cap = baseline.heat_level_3 * 1.5 var/fire_power = calculate_spell_power(2) diff --git a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm index 240265cfa4b..c73e010232c 100644 --- a/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm +++ b/code/game/gamemodes/technomancer/spells/aura/frost_aura.dm @@ -23,7 +23,7 @@ var/list/nearby_mobs = range(round(calculate_spell_power(4)),owner) var/temp_change = calculate_spell_power(40) - var/datum/species/baseline = all_species["Human"] + var/datum/species/baseline = GLOB.all_species["Human"] var/temp_cap = baseline.cold_level_2 - 5 if(check_for_scepter()) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 588ed326777..b527be4aad5 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -380,7 +380,7 @@ var/global/datum/controller/occupations/job_master else permitted = 1 - if(G.whitelisted && !is_alien_whitelisted(H, all_species[G.whitelisted])) + if(G.whitelisted && !is_alien_whitelisted(H, GLOB.all_species[G.whitelisted])) //if(G.whitelisted && (G.whitelisted != H.species.name || !is_alien_whitelisted(H, G.whitelisted))) permitted = 0 diff --git a/code/game/machinery/bioprinter.dm b/code/game/machinery/bioprinter.dm index 6c630b38275..60143fadd36 100644 --- a/code/game/machinery/bioprinter.dm +++ b/code/game/machinery/bioprinter.dm @@ -236,9 +236,9 @@ malfunctioned = TRUE var/possible_species = list(SPECIES_HUMAN, SPECIES_VOX, SPECIES_SKRELL, SPECIES_ZADDAT, SPECIES_UNATHI, SPECIES_GOLEM, SPECIES_SHADOW) var/new_species = pick(possible_species) - if(!all_species[new_species]) + if(!GLOB.all_species[new_species]) new_species = SPECIES_HUMAN - O.species = all_species[new_species] + O.species = GLOB.all_species[new_species] if(istype(O, /obj/item/organ/external) && !malfunctioned) var/obj/item/organ/external/E = O diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 51d7e0a4b6e..67ad07567f4 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -46,10 +46,10 @@ /obj/item/device/radio/headset/handle_message_mode(mob/living/M as mob, message, channel) if (channel == "special") if (translate_binary) - var/datum/language/binary = all_languages["Robot Talk"] + var/datum/language/binary = GLOB.all_languages["Robot Talk"] binary.broadcast(M, message) if (translate_hive) - var/datum/language/hivemind = all_languages["Hivemind"] + var/datum/language/hivemind = GLOB.all_languages["Hivemind"] hivemind.broadcast(M, message) return null diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 3011d2c61df..07cc774fb06 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -134,7 +134,7 @@ spawn(1) var/newname = sanitizeSafe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN) if(!newname || newname == "") - var/datum/language/L = all_languages[vox.species.default_language] + var/datum/language/L = GLOB.all_languages[vox.species.default_language] newname = L.get_random_name() vox.real_name = newname vox.name = vox.real_name diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 671520fbf89..878671b0e20 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -192,8 +192,8 @@ proc/admin_notice(var/message, var/rights) // language toggles body += "

Languages:
" var/f = 1 - for(var/k in all_languages) - var/datum/language/L = all_languages[k] + for(var/k in GLOB.all_languages) + var/datum/language/L = GLOB.all_languages[k] if(!(L.flags & INNATE)) if(!f) body += " | " else f = 0 diff --git a/code/modules/admin/secrets/fun_secrets/paintball_mode.dm b/code/modules/admin/secrets/fun_secrets/paintball_mode.dm index 8225b96b296..16438ad195a 100644 --- a/code/modules/admin/secrets/fun_secrets/paintball_mode.dm +++ b/code/modules/admin/secrets/fun_secrets/paintball_mode.dm @@ -6,8 +6,8 @@ if(!.) return - for(var/species in all_species) - var/datum/species/S = all_species[species] + for(var/species in GLOB.all_species) + var/datum/species/S = GLOB.all_species[species] S.blood_color = "rainbow" for(var/obj/effect/decal/cleanable/blood/B in world) B.basecolor = "rainbow" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 8a3022f989a..284db26a7fe 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1882,7 +1882,7 @@ usr << "[M] is illegal type, must be /mob!" return var/lang2toggle = href_list["lang"] - var/datum/language/L = all_languages[lang2toggle] + var/datum/language/L = GLOB.all_languages[lang2toggle] if(L in M.languages) if(!M.remove_language(lang2toggle)) diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm index 8d547b76e10..28eea3707bc 100644 --- a/code/modules/admin/view_variables/topic.dm +++ b/code/modules/admin/view_variables/topic.dm @@ -289,7 +289,7 @@ usr << "This can only be done to instances of type /mob/living/carbon/human" return - var/new_species = input("Please choose a new species.","Species",null) as null|anything in all_species + var/new_species = input("Please choose a new species.","Species",null) as null|anything in GLOB.all_species if(!H) usr << "Mob doesn't exist anymore" @@ -308,7 +308,7 @@ usr << "This can only be done to instances of type /mob" return - var/new_language = input("Please choose a language to add.","Language",null) as null|anything in all_languages + var/new_language = input("Please choose a language to add.","Language",null) as null|anything in GLOB.all_languages if(!new_language) return diff --git a/code/modules/blob2/overmind/types.dm b/code/modules/blob2/overmind/types.dm index 49b968cfccd..24ffbd6b1ba 100644 --- a/code/modules/blob2/overmind/types.dm +++ b/code/modules/blob2/overmind/types.dm @@ -423,7 +423,7 @@ var/protection = H.get_cold_protection(50) if(protection < 1) var/temp_change = 80 // Each hit can reduce temperature by up to 80 kelvin. - var/datum/species/baseline = all_species["Human"] + var/datum/species/baseline = GLOB.all_species["Human"] var/temp_cap = baseline.cold_level_3 - 5 // Can't go lower than this. var/cold_factor = abs(protection - 1) diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm index 6b93b33fafc..12c3aef2f59 100644 --- a/code/modules/client/preference_setup/general/01_basic.dm +++ b/code/modules/client/preference_setup/general/01_basic.dm @@ -150,9 +150,9 @@ datum/preferences/proc/set_biological_gender(var/gender) /datum/category_item/player_setup_item/general/basic/proc/get_genders() var/datum/species/S if(pref.species) - S = all_species[pref.species] + S = GLOB.all_species[pref.species] else - S = all_species[SPECIES_HUMAN] + S = GLOB.all_species[SPECIES_HUMAN] var/list/possible_genders = S.genders if(!pref.organ_data || pref.organ_data[BP_TORSO] != "cyborg") return possible_genders diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm index 22c8fd1267a..0481affd17c 100644 --- a/code/modules/client/preference_setup/general/02_language.dm +++ b/code/modules/client/preference_setup/general/02_language.dm @@ -13,7 +13,7 @@ /datum/category_item/player_setup_item/general/language/sanitize_character() if(!islist(pref.alternate_languages)) pref.alternate_languages = list() if(pref.species) - var/datum/species/S = all_species[pref.species] + var/datum/species/S = GLOB.all_species[pref.species] if(S && pref.alternate_languages.len > S.num_alternate_languages) pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length if(isnull(pref.language_prefixes) || !pref.language_prefixes.len) @@ -21,7 +21,7 @@ /datum/category_item/player_setup_item/general/language/content() . += "Languages
" - var/datum/species/S = all_species[pref.species] + var/datum/species/S = GLOB.all_species[pref.species] if(S.language) . += "- [S.language]
" if(S.default_language && S.default_language != S.language) @@ -46,13 +46,13 @@ pref.alternate_languages.Cut(index, index+1) return TOPIC_REFRESH else if(href_list["add_language"]) - var/datum/species/S = all_species[pref.species] + var/datum/species/S = GLOB.all_species[pref.species] if(pref.alternate_languages.len >= S.num_alternate_languages) alert(user, "You have already selected the maximum number of alternate languages for this species!") else var/list/available_languages = S.secondary_langs.Copy() - for(var/L in all_languages) - var/datum/language/lang = all_languages[L] + for(var/L in GLOB.all_languages) + var/datum/language/lang = GLOB.all_languages[L] if(!(lang.flags & RESTRICTED) && (is_lang_whitelisted(user, lang))) available_languages |= L diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 55535b89bf3..0472f6cd465 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -72,7 +72,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O S["body_descriptors"] << pref.body_descriptors /datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S) - if(!pref.species || !(pref.species in playable_species)) + if(!pref.species || !(pref.species in GLOB.playable_species)) pref.species = SPECIES_HUMAN pref.r_hair = sanitize_integer(pref.r_hair, 0, 255, initial(pref.r_hair)) pref.g_hair = sanitize_integer(pref.g_hair, 0, 255, initial(pref.g_hair)) @@ -174,7 +174,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O last_descriptors = pref.body_descriptors.Copy() pref.body_descriptors = list() - var/datum/species/mob_species = all_species[pref.species] + var/datum/species/mob_species = GLOB.all_species[pref.species] if(LAZYLEN(mob_species.descriptors)) for(var/entry in mob_species.descriptors) var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry] @@ -192,7 +192,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.update_preview_icon() user << browse_rsc(pref.preview_icon, "previewicon.png") - var/datum/species/mob_species = all_species[pref.species] + var/datum/species/mob_species = GLOB.all_species[pref.species] . += "
Body " . += "(®)" . += "
" @@ -355,7 +355,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O return mob_species && (mob_species.appearance_flags & flag) /datum/category_item/player_setup_item/general/body/OnTopic(var/href,var/list/href_list, var/mob/user) - var/datum/species/mob_species = all_species[pref.species] + var/datum/species/mob_species = GLOB.all_species[pref.species] if(href_list["random"]) pref.randomize_appearance_and_body_for() @@ -379,7 +379,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else if(href_list["show_species"]) // Actual whitelist checks are handled elsewhere, this is just for accessing the preview window. - var/choice = input("Which species would you like to look at?") as null|anything in playable_species + var/choice = input("Which species would you like to look at?") as null|anything in GLOB.playable_species if(!choice) return pref.species_preview = choice SetSpecies(preference_mob()) @@ -388,13 +388,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else if(href_list["set_species"]) user << browse(null, "window=species") - if(!pref.species_preview || !(pref.species_preview in all_species)) + if(!pref.species_preview || !(pref.species_preview in GLOB.all_species)) return TOPIC_NOACTION var/datum/species/setting_species - if(all_species[href_list["set_species"]]) - setting_species = all_species[href_list["set_species"]] + if(GLOB.all_species[href_list["set_species"]]) + setting_species = GLOB.all_species[href_list["set_species"]] else return TOPIC_NOACTION @@ -595,7 +595,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O var/list/limb_selection_list = list("Left Leg","Right Leg","Left Arm","Right Arm","Left Foot","Right Foot","Left Hand","Right Hand","Full Body") // Full prosthetic bodies without a brain are borderline unkillable so make sure they have a brain to remove/destroy. - var/datum/species/current_species = all_species[pref.species] + var/datum/species/current_species = GLOB.all_species[pref.species] if(!current_species.has_organ["brain"]) limb_selection_list -= "Full Body" else if(pref.organ_data[BP_TORSO] == "cyborg") @@ -827,9 +827,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.real_name = random_name(pref.identifying_gender, pref.species) /datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user) - if(!pref.species_preview || !(pref.species_preview in all_species)) + if(!pref.species_preview || !(pref.species_preview in GLOB.all_species)) pref.species_preview = SPECIES_HUMAN - var/datum/species/current_species = all_species[pref.species_preview] + var/datum/species/current_species = GLOB.all_species[pref.species_preview] var/dat = "" dat += "

[current_species.name] \[change\]


" dat += "" diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm index 285856d0cfd..295038c2b1d 100644 --- a/code/modules/client/preference_setup/loadout/loadout.dm +++ b/code/modules/client/preference_setup/loadout/loadout.dm @@ -66,7 +66,7 @@ var/list/gear_datums = list() for(var/gear_name in gear_datums) var/datum/gear/G = gear_datums[gear_name] - if(G.whitelisted && !is_alien_whitelisted(preference_mob, all_species[G.whitelisted])) + if(G.whitelisted && !is_alien_whitelisted(preference_mob, GLOB.all_species[G.whitelisted])) continue if(max_cost && G.cost > max_cost) continue diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index 60bc58031a4..a55ca0cccac 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -279,7 +279,7 @@ return 0 //Something went wrong! /datum/category_item/player_setup_item/proc/get_min_age() - var/datum/species/S = all_species[pref.species ? pref.species : "Human"] + var/datum/species/S = GLOB.all_species[pref.species ? pref.species : "Human"] if(!is_FBP()) return S.min_age // If they're not a robot, we can just use the species var. var/FBP_type = get_FBP_type() @@ -293,7 +293,7 @@ return S.min_age // welp /datum/category_item/player_setup_item/proc/get_max_age() - var/datum/species/S = all_species[pref.species ? pref.species : "Human"] + var/datum/species/S = GLOB.all_species[pref.species ? pref.species : "Human"] if(!is_FBP()) return S.max_age // If they're not a robot, we can just use the species var. var/FBP_type = get_FBP_type() diff --git a/code/modules/client/preference_setup/preference_setup_vr.dm b/code/modules/client/preference_setup/preference_setup_vr.dm index 67c1d1792a8..2379875910a 100644 --- a/code/modules/client/preference_setup/preference_setup_vr.dm +++ b/code/modules/client/preference_setup/preference_setup_vr.dm @@ -1,7 +1,7 @@ //Minimum limit is 18 /datum/category_item/player_setup_item/get_min_age() var/min_age = 18 - var/datum/species/S = all_species[pref.species ? pref.species : "Human"] + var/datum/species/S = GLOB.all_species[pref.species ? pref.species : "Human"] if(!is_FBP() && S.min_age > 18) min_age = S.min_age return min_age diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index 06b748f3592..6462a142c7d 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -73,7 +73,7 @@ if(!(path in negative_traits)) pref.neg_traits -= path - var/datum/species/selected_species = all_species[pref.species] + var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) // Allowed! else if(!pref.custom_base || !(pref.custom_base in custom_species_bases)) @@ -81,7 +81,7 @@ /datum/category_item/player_setup_item/vore/traits/copy_to_mob(var/mob/living/carbon/human/character) character.custom_species = pref.custom_species - var/datum/species/selected_species = all_species[pref.species] + var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) var/datum/species/custom/CS = character.species var/S = pref.custom_base ? pref.custom_base : "Human" @@ -99,7 +99,7 @@ . += "Custom Species Name: " . += "[pref.custom_species ? pref.custom_species : "-Input Name-"]
" - var/datum/species/selected_species = all_species[pref.species] + var/datum/species/selected_species = GLOB.all_species[pref.species] if(selected_species.selects_bodytype) . += "Icon Base: " . += "[pref.custom_base ? pref.custom_base : "Human"]
" diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 14faea70b08..74ed4d224e6 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -573,7 +573,7 @@ /obj/item/integrated_circuit/input/microphone/sign/Initialize() ..() for(var/lang in readable_langs) - var/datum/language/newlang = all_languages[lang] + var/datum/language/newlang = GLOB.all_languages[lang] my_langs |= newlang /obj/item/integrated_circuit/input/microphone/sign/hear_talk(mob/living/M, msg, var/verb="says", datum/language/speaking=null) diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index 9bc0a686536..6aba8228fdb 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -179,7 +179,7 @@ // Language handling. /mob/proc/add_language(var/language) - var/datum/language/new_language = all_languages[language] + var/datum/language/new_language = GLOB.all_languages[language] if(!istype(new_language) || (new_language in languages)) return 0 @@ -188,12 +188,12 @@ return 1 /mob/proc/remove_language(var/rem_language) - var/datum/language/L = all_languages[rem_language] + var/datum/language/L = GLOB.all_languages[rem_language] . = (L in languages) languages.Remove(L) /mob/living/remove_language(rem_language) - var/datum/language/L = all_languages[rem_language] + var/datum/language/L = GLOB.all_languages[rem_language] if(default_language == L) default_language = null return ..() @@ -205,10 +205,10 @@ log_debug("[src] attempted to speak a null language.") return 0 - if(speaking == all_languages["Noise"]) + if(speaking == GLOB.all_languages["Noise"]) return 1 - if (only_species_language && speaking != all_languages[species_language]) + if (only_species_language && speaking != GLOB.all_languages[species_language]) return 0 if(speaking.can_speak_special(src)) @@ -268,7 +268,7 @@ if(href_list["default_lang"]) if(href_list["default_lang"] == "reset") if (species_language) - set_default_language(all_languages[species_language]) + set_default_language(GLOB.all_languages[species_language]) else set_default_language(null) else diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 3ba745a0144..7d71c92343e 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -45,7 +45,7 @@ ..() update_icons() - default_language = all_languages[LANGUAGE_GALCOM] + default_language = GLOB.all_languages[LANGUAGE_GALCOM] botcard = new /obj/item/weapon/card/id(src) botcard.access = botcard_access.Copy() diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm index 3d09887f342..01f1d2f57d2 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona.dm @@ -22,7 +22,7 @@ /mob/living/carbon/alien/diona/Initialize() . = ..() - species = all_species[SPECIES_DIONA] + species = GLOB.all_species[SPECIES_DIONA] add_language(LANGUAGE_ROOTGLOBAL) add_language(LANGUAGE_GALCOM) verbs += /mob/living/carbon/alien/diona/proc/merge diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index e259b18f270..b4eb85f090b 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -1,6 +1,6 @@ /mob/living/carbon/alien/diona/confirm_evolution() - if(!is_alien_whitelisted(src, all_species[SPECIES_DIONA])) + if(!is_alien_whitelisted(src, GLOB.all_species[SPECIES_DIONA])) src << alert("You are currently not whitelisted to play as a full diona.") return null diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 4d58c094ce2..6b218c6e5f3 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -6,7 +6,7 @@ touching = new/datum/reagents/metabolism/touch(500, src) reagents = bloodstr if (!default_language && species_language) - default_language = all_languages[species_language] + default_language = GLOB.all_languages[species_language] /mob/living/carbon/Life() ..() @@ -378,12 +378,12 @@ if(can_speak(default_language)) return default_language else - return all_languages[LANGUAGE_GIBBERISH] + return GLOB.all_languages[LANGUAGE_GIBBERISH] if(!species) return null - return species.default_language ? all_languages[species.default_language] : null + return species.default_language ? GLOB.all_languages[species.default_language] : null /mob/living/carbon/proc/should_have_organ(var/organ_check) return 0 diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 454ce677a83..86b8c27da60 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -10,7 +10,7 @@ if(species == new_species) return - if(!(new_species in all_species)) + if(!(new_species in GLOB.all_species)) return set_species(new_species) @@ -144,8 +144,8 @@ /mob/living/carbon/human/proc/generate_valid_species(var/check_whitelist = 1, var/list/whitelist = list(), var/list/blacklist = list()) var/list/valid_species = new() - for(var/current_species_name in all_species) - var/datum/species/current_species = all_species[current_species_name] + for(var/current_species_name in GLOB.all_species) + var/datum/species/current_species = GLOB.all_species[current_species_name] if(check_whitelist && config.usealienwhitelist && !check_rights(R_ADMIN, 0, src)) //If we're using the whitelist, make sure to check it! if(!(current_species.spawn_flags & SPECIES_CAN_JOIN)) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e1974acf12d..f1efd4933da 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1120,7 +1120,7 @@ dna.species = new_species // No more invisible screaming wheelchairs because of set_species() typos. - if(!all_species[new_species]) + if(!GLOB.all_species[new_species]) new_species = SPECIES_HUMAN if(species) @@ -1137,7 +1137,7 @@ species.remove_inherent_verbs(src) holder_type = null - species = all_species[new_species] + species = GLOB.all_species[new_species] if(species.language) add_language(species.language) diff --git a/code/modules/mob/living/carbon/human/species/outsider/event.dm b/code/modules/mob/living/carbon/human/species/outsider/event.dm index 477b14c0c46..a156d2dc9fe 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/event.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/event.dm @@ -220,3 +220,11 @@ Variables you may want to make use of are: /datum/species/event1/can_fall(var/mob/living/carbon/human/H) return hover + +/datum/species/event1/sub1 + name = SPECIES_EVENT2 + name_plural = SPECIES_EVENT2 + +/datum/species/event1/sub2 + name = SPECIES_EVENT3 + name_plural = SPECIES_EVENT3 diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm index f75e7a43b3c..1e0c28ccc3f 100644 --- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm +++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm @@ -89,7 +89,7 @@ ) /datum/species/vox/get_random_name(var/gender) - var/datum/language/species_language = all_languages[default_language] + var/datum/language/species_language = GLOB.all_languages[default_language] return species_language.get_random_name(gender) /datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H, var/extendedtank = 0,var/comprehensive = 0) diff --git a/code/modules/mob/living/carbon/human/species/species_getters.dm b/code/modules/mob/living/carbon/human/species/species_getters.dm index 421d6148829..5802472c553 100644 --- a/code/modules/mob/living/carbon/human/species/species_getters.dm +++ b/code/modules/mob/living/carbon/human/species/species_getters.dm @@ -97,9 +97,9 @@ else return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names)) - var/datum/language/species_language = all_languages[name_language] + var/datum/language/species_language = GLOB.all_languages[name_language] if(!species_language) - species_language = all_languages[default_language] + species_language = GLOB.all_languages[default_language] if(!species_language) return "unknown" return species_language.get_random_name(gender) diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm index fd167fc2da4..48e7cb8375e 100644 --- a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm +++ b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm @@ -20,7 +20,7 @@ var/list/wrapped_species_by_ref = list() /datum/species/shapeshifter/get_icobase(var/mob/living/carbon/human/H, var/get_deform) if(!H) return ..(null, get_deform) - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_icobase(H, get_deform) /datum/species/shapeshifter/get_race_key(var/mob/living/carbon/human/H) @@ -28,37 +28,37 @@ var/list/wrapped_species_by_ref = list() /datum/species/shapeshifter/get_bodytype(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_bodytype(H) /datum/species/shapeshifter/get_blood_mask(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_blood_mask(H) /datum/species/shapeshifter/get_damage_mask(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_damage_mask(H) /datum/species/shapeshifter/get_damage_overlays(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_damage_overlays(H) /datum/species/shapeshifter/get_tail(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_tail(H) /datum/species/shapeshifter/get_tail_animation(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_tail_animation(H) /datum/species/shapeshifter/get_tail_hair(var/mob/living/carbon/human/H) if(!H) return ..() - var/datum/species/S = all_species[wrapped_species_by_ref["\ref[H]"]] + var/datum/species/S = GLOB.all_species[wrapped_species_by_ref["\ref[H]"]] return S.get_tail_hair(H) /datum/species/shapeshifter/handle_post_spawn(var/mob/living/carbon/human/H) @@ -151,7 +151,7 @@ var/list/wrapped_species_by_ref = list() var/new_species = null new_species = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in species.get_valid_shapeshifter_forms(src) - if(!new_species || !all_species[new_species] || wrapped_species_by_ref["\ref[src]"] == new_species) + if(!new_species || !GLOB.all_species[new_species] || wrapped_species_by_ref["\ref[src]"] == new_species) return shapeshifter_change_shape(new_species) @@ -268,14 +268,14 @@ var/list/wrapped_species_by_ref = list() limb_exists[O.organ_tag] = 1 wounds_by_limb[O.organ_tag] = O.wounds - species = all_species[new_species] + species = GLOB.all_species[new_species] species.create_organs(src) // species.handle_post_spawn(src) for(var/limb in organs_by_name) var/obj/item/organ/external/O = organs_by_name[limb] if(limb_exists[O.organ_tag]) - O.species = all_species[new_species] + O.species = GLOB.all_species[new_species] O.wounds = wounds_by_limb[O.organ_tag] // sync the organ's damage with its wounds O.update_damages() diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm index a26c15ad469..14a9d616794 100644 --- a/code/modules/mob/living/carbon/human/species/station/alraune.dm +++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm @@ -459,7 +459,7 @@ if(ispath(to_copy)) to_copy = "[initial(to_copy.name)]" if(istext(to_copy)) - to_copy = all_species[to_copy] + to_copy = GLOB.all_species[to_copy] var/datum/species/alraune/new_copy = new() @@ -495,5 +495,5 @@ return base_species /datum/species/alraune/get_race_key() - var/datum/species/real = all_species[base_species] + var/datum/species/real = GLOB.all_species[base_species] return real.race_key diff --git a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm index c1874507345..5374d21b337 100644 --- a/code/modules/mob/living/carbon/human/species/station/blank_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/blank_vr.dm @@ -51,7 +51,7 @@ return base_species /datum/species/custom/get_race_key() - var/datum/species/real = all_species[base_species] + var/datum/species/real = GLOB.all_species[base_species] return real.race_key /datum/species/custom/proc/produceCopy(var/datum/species/to_copy,var/list/traits,var/mob/living/carbon/human/H) @@ -61,7 +61,7 @@ if(ispath(to_copy)) to_copy = "[initial(to_copy.name)]" if(istext(to_copy)) - to_copy = all_species[to_copy] + to_copy = GLOB.all_species[to_copy] var/datum/species/custom/new_copy = new() diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm index 4172a4be3b6..e8f83e5f19f 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_powers.dm @@ -260,7 +260,7 @@ to_chat(src,"You must be awake and standing to perform this action!") return - var/new_species = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in playable_species + var/new_species = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in GLOB.playable_species if(new_species) impersonate_bodytype = new_species regenerate_icons() //Expensive, but we need to recrunch all the icons we're wearing diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm index 7599d6f6db8..cdf16384535 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm @@ -276,7 +276,7 @@ if(ispath(to_copy)) to_copy = "[initial(to_copy.name)]" if(istext(to_copy)) - to_copy = all_species[to_copy] + to_copy = GLOB.all_species[to_copy] var/datum/species/xenochimera/new_copy = new() @@ -312,7 +312,7 @@ return base_species /datum/species/xenochimera/get_race_key() - var/datum/species/real = all_species[base_species] + var/datum/species/real = GLOB.all_species[base_species] return real.race_key diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm index f5388f47359..94b08207b8a 100644 --- a/code/modules/mob/living/default_language.dm +++ b/code/modules/mob/living/default_language.dm @@ -5,11 +5,11 @@ set name = "Set Default Language" set category = "IC" - if (only_species_language && language != all_languages[src.species_language]) + if (only_species_language && language != GLOB.all_languages[src.species_language]) to_chat(src, "You can only speak your species language, [src.species_language].") return 0 - if(language == all_languages[src.species_language]) + if(language == GLOB.all_languages[src.species_language]) to_chat(src, "You will now speak your standard default language, [language], if you do not specify a language when speaking.") else if (language) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 1190080ef80..f15ca63904b 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -183,7 +183,7 @@ proc/get_radio_key_from_channel(var/channel) speaking = get_default_language() if(!can_speak(speaking)) - speaking = all_languages[LANGUAGE_GIBBERISH] + speaking = GLOB.all_languages[LANGUAGE_GIBBERISH] var/babble_key = ",r" message = babble_key + message diff --git a/code/modules/mob/living/silicon/robot/drone/drone_say.dm b/code/modules/mob/living/silicon/robot/drone/drone_say.dm index 26a78351efc..71d9857442b 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_say.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_say.dm @@ -14,7 +14,7 @@ return emote(copytext(message,2)) if(copytext(message,1,2) == ";") - var/datum/language/L = all_languages["Drone Talk"] + var/datum/language/L = GLOB.all_languages["Drone Talk"] if(istype(L)) return L.broadcast(src,trim(copytext(message,2))) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index a84e4597e6b..cf3adb17ca2 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -31,7 +31,7 @@ silicon_mob_list |= src ..() add_language(LANGUAGE_GALCOM) - set_default_language(all_languages[LANGUAGE_GALCOM]) + set_default_language(GLOB.all_languages[LANGUAGE_GALCOM]) init_id() init_subsystems() @@ -196,7 +196,7 @@ return universal_speak || (speaking in src.speech_synthesizer_langs) || (speaking.name == "Noise") //need speech synthesizer support to vocalize a language /mob/living/silicon/add_language(var/language, var/can_speak=1) - var/var/datum/language/added_language = all_languages[language] + var/var/datum/language/added_language = GLOB.all_languages[language] if(!added_language) return @@ -206,7 +206,7 @@ return 1 /mob/living/silicon/remove_language(var/rem_language) - var/var/datum/language/removed_language = all_languages[rem_language] + var/var/datum/language/removed_language = GLOB.all_languages[rem_language] if(!removed_language) return diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 7cfb5d4156c..c80a6b7329d 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -160,7 +160,7 @@ health = maxHealth for(var/L in has_langs) - languages |= all_languages[L] + languages |= GLOB.all_languages[L] if(languages.len) default_language = languages[1] diff --git a/code/modules/mob/living/voice/voice.dm b/code/modules/mob/living/voice/voice.dm index 8d7337df076..9639f5a3207 100644 --- a/code/modules/mob/living/voice/voice.dm +++ b/code/modules/mob/living/voice/voice.dm @@ -9,7 +9,7 @@ /mob/living/voice/New(loc) add_language(LANGUAGE_GALCOM) - set_default_language(all_languages[LANGUAGE_GALCOM]) + set_default_language(GLOB.all_languages[LANGUAGE_GALCOM]) if(istype(loc, /obj/item/device/communicator)) comm = loc diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index a8c613c7251..1bcafd6e45f 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -185,12 +185,13 @@ else if(ticker && ticker.mode && ticker.mode.explosion_in_progress) usr << "The station is currently exploding. Joining would go poorly." return -/* - if(!is_alien_whitelisted(src, all_species[client.prefs.species])) + + if(!is_alien_whitelisted(src, GLOB.all_species[client.prefs.species])) src << alert("You are currently not whitelisted to play [client.prefs.species].") return 0 -*/ - var/datum/species/S = all_species[client.prefs.species] + + var/datum/species/S = GLOB.all_species[client.prefs.species] + if(!(S.spawn_flags & SPECIES_CAN_JOIN)) src << alert("Your current species, [client.prefs.species], is not available for play on the station.") return 0 @@ -466,7 +467,7 @@ var/use_species_name var/datum/species/chosen_species if(client.prefs.species) - chosen_species = all_species[client.prefs.species] + chosen_species = GLOB.all_species[client.prefs.species] use_species_name = chosen_species.get_station_variant() //Only used by pariahs atm. if(chosen_species && use_species_name) @@ -513,7 +514,7 @@ new_character.disabilities |= NEARSIGHTED for(var/lang in client.prefs.alternate_languages) - var/datum/language/chosen_language = all_languages[lang] + var/datum/language/chosen_language = GLOB.all_languages[lang] if(chosen_language) if(is_lang_whitelisted(src,chosen_language) || (new_character.species && (chosen_language.name in new_character.species.secondary_langs))) new_character.add_language(lang) @@ -553,7 +554,7 @@ /mob/new_player/get_species() var/datum/species/chosen_species if(client.prefs.species) - chosen_species = all_species[client.prefs.species] + chosen_species = GLOB.all_species[client.prefs.species] if(!chosen_species) return SPECIES_HUMAN diff --git a/code/modules/mob/new_player/new_player_vr.dm b/code/modules/mob/new_player/new_player_vr.dm index b18e66fd836..711332e6929 100644 --- a/code/modules/mob/new_player/new_player_vr.dm +++ b/code/modules/mob/new_player/new_player_vr.dm @@ -22,7 +22,7 @@ to_chat(src,"You have not set your scale yet. Do this on the VORE tab in character setup.") //Can they play? - if(!is_alien_whitelisted(src,all_species[client.prefs.species]) && !check_rights(R_ADMIN, 0)) + if(!is_alien_whitelisted(src,GLOB.all_species[client.prefs.species]) && !check_rights(R_ADMIN, 0)) pass = FALSE to_chat(src,"You are not allowed to spawn in as this species.") diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 8260a67a9ca..d8ad2a12979 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -1,7 +1,7 @@ /datum/preferences //The mob should have a gender you want before running this proc. Will run fine without H /datum/preferences/proc/randomize_appearance_and_body_for(var/mob/living/carbon/human/H) - var/datum/species/current_species = all_species[species ? species : "Human"] + var/datum/species/current_species = GLOB.all_species[species ? species : "Human"] set_biological_gender(pick(current_species.genders)) h_style = random_hair_style(biological_gender, species) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index 0a44e9adb55..72b1d52b06c 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -145,13 +145,13 @@ var/prefix = copytext(message,1,2) // This is for audible emotes if(length(message) >= 1 && prefix == "!") - return all_languages["Noise"] + return GLOB.all_languages["Noise"] if(length(message) >= 2 && is_language_prefix(prefix)) var/language_prefix = lowertext(copytext(message, 2 ,3)) - var/datum/language/L = language_keys[language_prefix] + var/datum/language/L = GLOB.language_keys[language_prefix] if (can_speak(L)) return L else - return all_languages[LANGUAGE_GIBBERISH] + return GLOB.all_languages[LANGUAGE_GIBBERISH] return null diff --git a/code/modules/organs/internal/voicebox.dm b/code/modules/organs/internal/voicebox.dm index 2cf264f7805..a9bad7dcd8c 100644 --- a/code/modules/organs/internal/voicebox.dm +++ b/code/modules/organs/internal/voicebox.dm @@ -18,7 +18,7 @@ /obj/item/organ/internal/voicebox/proc/amend_assist_langs() // Adds the list of language datums assisted by the voicebox to the list used in speaking for(var/L in will_assist_languages) - assists_languages |= all_languages[L] + assists_languages |= GLOB.all_languages[L] /obj/item/organ/internal/voicebox/proc/add_assistable_langs(var/language) // Adds a new language (by string/define) to the list of things the voicebox can assist will_assist_languages |= language diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index b9aecbe250d..efdf8efd3ee 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -65,7 +65,7 @@ var/list/organ_cache = list() if(istype(holder)) src.owner = holder src.w_class = max(src.w_class + mob_size_difference(holder.mob_size, MOB_MEDIUM), 1) //smaller mobs have smaller organs. - species = all_species[SPECIES_HUMAN] + species = GLOB.all_species[SPECIES_HUMAN] if(holder.dna) dna = holder.dna.Clone() species = holder.species //VOREStation Edit - For custom species @@ -87,7 +87,7 @@ var/list/organ_cache = list() if(internal) holder.internal_organs |= src else - species = all_species["Human"] + species = GLOB.all_species["Human"] handle_organ_mod_special() diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm index 3a872ea690a..8f0de65d435 100644 --- a/code/modules/organs/robolimbs_vr.dm +++ b/code/modules/organs/robolimbs_vr.dm @@ -202,7 +202,7 @@ suggested_species = "Teshari" /datum/robolimb/dsi_teshari/New() - species_cannot_use = all_species.Copy() + species_cannot_use = GLOB.all_species.Copy() species_cannot_use -= SPECIES_TESHARI ..() diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm index df802f4bb5a..9c304369305 100644 --- a/code/modules/projectiles/projectile/change.dm +++ b/code/modules/projectiles/projectile/change.dm @@ -32,7 +32,7 @@ var/mob/living/new_mob var/options = list("robot", "slime") - for(var/t in all_species) + for(var/t in GLOB.all_species) options += t if(ishuman(M)) var/mob/living/carbon/human/H = M diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm index 75c691dbd86..50a5d6db0d6 100644 --- a/code/modules/research/prosfab_designs.dm +++ b/code/modules/research/prosfab_designs.dm @@ -16,7 +16,7 @@ if(prosfab.manufacturer) var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer] newspecies = manf.suggested_species - O.species = all_species[newspecies] + O.species = GLOB.all_species[newspecies] if(istype(O,/obj/item/organ/external)) var/obj/item/organ/external/EO = O if(EO.species.base_color) @@ -54,7 +54,7 @@ EO.remove_rejuv() for(var/obj/item/organ/external/O in H.organs) - O.species = all_species[newspecies] //VOREStation Edit with species suggestion above + O.species = GLOB.all_species[newspecies] O.robotize(prosfab.manufacturer) O.dna = new/datum/dna() O.dna.ResetUI() diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index 4803a9e6688..d9d4073d166 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -68,8 +68,8 @@ if(menu == "3") var/stock_bodyrecords_list_ui[0] - for (var/N in all_species) - var/datum/species/S = all_species[N] + for (var/N in GLOB.all_species) + var/datum/species/S = GLOB.all_species[N] if((S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) != SPECIES_CAN_JOIN) continue stock_bodyrecords_list_ui += N if(stock_bodyrecords_list_ui.len) @@ -172,7 +172,7 @@ temp = "ERROR: Record missing." else if(href_list["view_stock_brec"]) - var/datum/species/S = all_species[href_list["view_stock_brec"]] + var/datum/species/S = GLOB.all_species[href_list["view_stock_brec"]] if(S && (S.spawn_flags & (SPECIES_IS_WHITELISTED|SPECIES_CAN_JOIN)) == SPECIES_CAN_JOIN) // Generate body record from species! mannequin = new(null, S.name) diff --git a/code/modules/resleeving/infocore_records.dm b/code/modules/resleeving/infocore_records.dm index 134d2be87d6..e32c28e66bb 100644 --- a/code/modules/resleeving/infocore_records.dm +++ b/code/modules/resleeving/infocore_records.dm @@ -108,7 +108,7 @@ locked = ckeylock //Prevent people from printing restricted and whitelisted species - var/datum/species/S = all_species["[M.dna.species]"] + var/datum/species/S = GLOB.all_species["[M.dna.species]"] if(S) toocomplex = (S.spawn_flags & SPECIES_IS_WHITELISTED) || (S.spawn_flags & SPECIES_IS_RESTRICTED) diff --git a/code/modules/virus2/admin.dm b/code/modules/virus2/admin.dm index e2821db1a93..30156102a88 100644 --- a/code/modules/virus2/admin.dm +++ b/code/modules/virus2/admin.dm @@ -86,8 +86,8 @@ Infectable Species:
"} var/f = 1 - for(var/k in all_species) - var/datum/species/S = all_species[k] + for(var/k in GLOB.all_species) + var/datum/species/S = GLOB.all_species[k] if(S.get_virus_immune()) continue if(!f) H += " | " diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm index 89d470b0d1a..2769c97a840 100644 --- a/code/modules/virus2/disease2.dm +++ b/code/modules/virus2/disease2.dm @@ -42,14 +42,14 @@ if(severity >= 2 && prob(33)) resistance += 10 - if(all_species.len) + if(GLOB.all_species.len) affected_species = get_infectable_species() /proc/get_infectable_species() var/list/meat = list() var/list/res = list() - for (var/specie in all_species) - var/datum/species/S = all_species[specie] + for (var/specie in GLOB.all_species) + var/datum/species/S = GLOB.all_species[specie] if(!S.get_virus_immune()) meat += S if(meat.len) @@ -158,7 +158,7 @@ if (prob(5) && prob(100-resistance)) // The more resistant the disease,the lower the chance of randomly developing the antibodies antigen = list(pick(ALL_ANTIGENS)) antigen |= pick(ALL_ANTIGENS) - if (prob(5) && all_species.len) + if (prob(5) && GLOB.all_species.len) affected_species = get_infectable_species() if (prob(10)) resistance += rand(1,9) diff --git a/vorestation.dme b/vorestation.dme index f483baceb57..cbac28cf7a4 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -92,6 +92,7 @@ #include "code\_global_vars\sensitive.dm" #include "code\_global_vars\lists\mapping.dm" #include "code\_global_vars\lists\misc.dm" +#include "code\_global_vars\lists\species.dm" #include "code\_helpers\_global_objects.dm" #include "code\_helpers\_global_objects_vr.dm" #include "code\_helpers\_lists.dm"