Merge remote-tracking branch 'VOREStation/master' into nova-basicfixes

This commit is contained in:
Unknown
2019-12-22 13:40:04 -05:00
184 changed files with 9080 additions and 6057 deletions

View File

@@ -0,0 +1,170 @@
//Meant for simple animals to drop lootable human bodies.
//If someone can do this in a neater way, be my guest-Kor
//This has to be seperate from the Away Mission corpses, because New() doesn't work for those, and initialize() doesn't work for these.
//To do: Allow corpses to appear mangled, bloody, etc. Allow customizing the bodies appearance (they're all bald and white right now).
/obj/effect/landmark/mobcorpse
name = "Unknown"
var/mobname = "Unknown" //Unused now but it'd fuck up maps to remove it now
var/corpseuniform = null //Set this to an object path to have the slot filled with said object on the corpse.
var/corpsesuit = null
var/corpseshoes = null
var/corpsegloves = null
var/corpseradio = null
var/corpseglasses = null
var/corpsemask = null
var/corpsehelmet = null
var/corpsebelt = null
var/corpsepocket1 = null
var/corpsepocket2 = null
var/corpseback = null
var/corpseid = 0 //Just set to 1 if you want them to have an ID
var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access
var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Again, put in quotes. Use "Captain" if you want it to be all access.
var/corpseidicon = null //For setting it to be a gold, silver, CentCom etc ID
/obj/effect/landmark/mobcorpse/New()
createCorpse()
/obj/effect/landmark/mobcorpse/proc/createCorpse() //Creates a mob and checks for gear in each slot before attempting to equip it.
var/mob/living/carbon/human/M = new /mob/living/carbon/human (src.loc)
M.real_name = src.name
M.stat = 2 //Kills the new mob
if(src.corpseuniform)
M.equip_to_slot_or_del(new src.corpseuniform(M), slot_w_uniform)
if(src.corpsesuit)
M.equip_to_slot_or_del(new src.corpsesuit(M), slot_wear_suit)
if(src.corpseshoes)
M.equip_to_slot_or_del(new src.corpseshoes(M), slot_shoes)
if(src.corpsegloves)
M.equip_to_slot_or_del(new src.corpsegloves(M), slot_gloves)
if(src.corpseradio)
M.equip_to_slot_or_del(new src.corpseradio(M), slot_l_ear)
if(src.corpseglasses)
M.equip_to_slot_or_del(new src.corpseglasses(M), slot_glasses)
if(src.corpsemask)
M.equip_to_slot_or_del(new src.corpsemask(M), slot_wear_mask)
if(src.corpsehelmet)
M.equip_to_slot_or_del(new src.corpsehelmet(M), slot_head)
if(src.corpsebelt)
M.equip_to_slot_or_del(new src.corpsebelt(M), slot_belt)
if(src.corpsepocket1)
M.equip_to_slot_or_del(new src.corpsepocket1(M), slot_r_store)
if(src.corpsepocket2)
M.equip_to_slot_or_del(new src.corpsepocket2(M), slot_l_store)
if(src.corpseback)
M.equip_to_slot_or_del(new src.corpseback(M), slot_back)
if(src.corpseid == 1)
var/obj/item/weapon/card/id/W = new(M)
W.name = "[M.real_name]'s ID Card"
var/datum/job/jobdatum
for(var/jobtype in typesof(/datum/job))
var/datum/job/J = new jobtype
if(J.title == corpseidaccess)
jobdatum = J
break
if(src.corpseidicon)
W.icon_state = corpseidicon
if(src.corpseidaccess)
if(jobdatum)
W.access = jobdatum.get_access()
else
W.access = list()
if(corpseidjob)
W.assignment = corpseidjob
W.registered_name = M.real_name
M.equip_to_slot_or_del(W, slot_wear_id)
delete_me = 1
qdel(src)
//List of different corpse types
/obj/effect/landmark/mobcorpse/syndicatesoldier
name = "Mercenary"
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/armor/vest
corpseshoes = /obj/item/clothing/shoes/boots/swat
corpsegloves = /obj/item/clothing/gloves/swat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas
corpsehelmet = /obj/item/clothing/head/helmet/swat
corpseback = /obj/item/weapon/storage/backpack
corpseid = 1
corpseidjob = "Operative"
corpseidaccess = "Syndicate"
/obj/effect/landmark/mobcorpse/solarpeacekeeper
name = "Mercenary"
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/armor/pcarrier/blue/sol
corpseshoes = /obj/item/clothing/shoes/boots/swat
corpsegloves = /obj/item/clothing/gloves/swat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas
corpsehelmet = /obj/item/clothing/head/helmet/swat
corpseback = /obj/item/weapon/storage/backpack
corpseid = 1
corpseidjob = "Peacekeeper"
corpseidaccess = "Syndicate"
/obj/effect/landmark/mobcorpse/syndicatecommando
name = "Syndicate Commando"
corpseuniform = /obj/item/clothing/under/syndicate
corpsesuit = /obj/item/clothing/suit/space/void/merc
corpseshoes = /obj/item/clothing/shoes/boots/swat
corpsegloves = /obj/item/clothing/gloves/swat
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/syndicate
corpsehelmet = /obj/item/clothing/head/helmet/space/void/merc
corpseback = /obj/item/weapon/tank/jetpack/oxygen
corpsepocket1 = /obj/item/weapon/tank/emergency/oxygen
corpseid = 1
corpseidjob = "Operative"
corpseidaccess = "Syndicate"
/obj/effect/landmark/mobcorpse/clown
name = "Clown"
corpseuniform = /obj/item/clothing/under/rank/clown
corpseshoes = /obj/item/clothing/shoes/clown_shoes
corpseradio = /obj/item/device/radio/headset
corpsemask = /obj/item/clothing/mask/gas/clown_hat
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/storage/backpack/clown
corpseid = 1
corpseidjob = "Clown"
corpseidaccess = "Clown"
/obj/effect/landmark/mobcorpse/pirate
name = "Pirate"
corpseuniform = /obj/item/clothing/under/pirate
corpseshoes = /obj/item/clothing/shoes/boots/jackboots
corpseglasses = /obj/item/clothing/glasses/eyepatch
corpsehelmet = /obj/item/clothing/head/bandana
/obj/effect/landmark/mobcorpse/pirate/ranged
name = "Pirate Gunner"
corpsesuit = /obj/item/clothing/suit/pirate
corpsehelmet = /obj/item/clothing/head/pirate
/obj/effect/landmark/mobcorpse/russian
name = "Russian"
corpseuniform = /obj/item/clothing/under/soviet
corpseshoes = /obj/item/clothing/shoes/boots/jackboots
corpsehelmet = /obj/item/clothing/head/bearpelt
/obj/effect/landmark/mobcorpse/russian/ranged
corpsehelmet = /obj/item/clothing/head/ushanka

View File

@@ -0,0 +1,2 @@
/obj/effect/landmark/mobcorpse/syndicatecommando
name = "Mercenary Commando"

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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))

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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()

View File

@@ -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

View File

@@ -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()

View File

@@ -132,6 +132,7 @@ var/datum/species/shapeshifter/promethean/prometheans
/obj/item/weapon/storage/toolbox/lunchbox/syndicate)) //Only pick the empty types
var/obj/item/weapon/storage/toolbox/lunchbox/L = new boxtype(get_turf(H))
new /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar(L)
new /obj/item/weapon/tool/prybar/red(L) //VOREStation Add,
if(H.backbag == 1)
H.equip_to_slot_or_del(L, slot_r_hand)
else

View File

@@ -260,7 +260,7 @@
to_chat(src,"<span class='warning'>You must be awake and standing to perform this action!</span>")
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

View File

@@ -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

View File

@@ -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, "<span class='notice'>You can only speak your species language, [src.species_language].</span>")
return 0
if(language == all_languages[src.species_language])
if(language == GLOB.all_languages[src.species_language])
to_chat(src, "<span class='notice'>You will now speak your standard default language, [language], if you do not specify a language when speaking.</span>")
else if (language)

View File

@@ -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

View File

@@ -435,5 +435,5 @@
var/armor_block = run_armor_check(T, "melee")
var/armor_soak = get_armor_soak(T, "melee")
T.apply_damage(20, HALLOSS,, armor_block, armor_soak)
if(prob(33))
T.apply_effect(3, WEAKEN, armor_block)
if(prob(75)) //75% chance to stun for 5 seconds, really only going to be 4 bcus click cooldown+animation.
T.apply_effect(5, WEAKEN, armor_block)

View File

@@ -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)))

View File

@@ -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

View File

@@ -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]

View File

@@ -21,7 +21,7 @@
mimic_active = FALSE
if(prob(mimic_chance))
var/mob/living/simple_mob/vore/aggressive/mimic/new_mimic = new(loc, src)
visible_message("<font color='red'><b>The [new_mimic] suddenly growls as it turns out to be a mimic!</b></font>")
visible_message("<font color='red'><b>[new_mimic] suddenly growls as it turns out to be a mimic!</b></font>")
forceMove(new_mimic)
new_mimic.real_crate = src
new_mimic.name = name
@@ -42,7 +42,7 @@
/obj/structure/closet/crate/mimic/damage(var/damage)
if(contents.len)
visible_message("<font color='red'><b>The [src] makes out a crunchy noise as its contents are destroyed!</b></font>")
visible_message("<font color='red'><b>[src] makes out a crunchy noise as its contents are destroyed!</b></font>")
for(var/obj/O in src.contents)
qdel(O)
..()
@@ -128,4 +128,4 @@
else
new/obj/structure/closet/crate(loc)
real_crate = null
qdel(src)
qdel(src)

View File

@@ -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

View File

@@ -185,12 +185,13 @@
else if(ticker && ticker.mode && ticker.mode.explosion_in_progress)
usr << "<span class='danger'>The station is currently exploding. Joining would go poorly.</span>"
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

View File

@@ -22,7 +22,7 @@
to_chat(src,"<span class='warning'>You have not set your scale yet. Do this on the VORE tab in character setup.</span>")
//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,"<span class='warning'>You are not allowed to spawn in as this species.</span>")

View File

@@ -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)

View File

@@ -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