mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-25 09:41:29 +00:00
global lists global defined
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/New()
|
||||
..()
|
||||
all_vent_pumps += src
|
||||
GLOB.all_vent_pumps += src
|
||||
icon = null
|
||||
initial_loc = get_area(loc)
|
||||
area_uid = initial_loc.uid
|
||||
@@ -429,7 +429,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
|
||||
all_vent_pumps -= src
|
||||
GLOB.all_vent_pumps -= src
|
||||
if(initial_loc)
|
||||
initial_loc.air_vent_info -= id_tag
|
||||
initial_loc.air_vent_names -= id_tag
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
if(config.log_debug)
|
||||
WRITE_LOG(GLOB.world_game_log, "DEBUG: [text][log_end]")
|
||||
|
||||
for(var/client/C in admins)
|
||||
for(var/client/C in GLOB.admins)
|
||||
if(check_rights(R_DEBUG, 0, C.mob) && (C.prefs.toggles & CHAT_DEBUGLOGS))
|
||||
to_chat(C, "DEBUG: [text]")
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
|
||||
|
||||
// Try to find all the players who can hear the message
|
||||
for(var/A in player_list + hear_radio_list)
|
||||
for(var/A in GLOB.player_list + GLOB.hear_radio_list)
|
||||
var/mob/M = A
|
||||
if(M)
|
||||
var/turf/ear = get_turf(M)
|
||||
@@ -274,7 +274,7 @@
|
||||
break
|
||||
|
||||
/proc/get_mob_by_key(var/key)
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M.ckey == lowertext(key))
|
||||
return M
|
||||
return null
|
||||
@@ -284,7 +284,7 @@
|
||||
var/list/candidates = list()
|
||||
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
|
||||
while(!candidates.len && afk_bracket < 6000)
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
if(G.client != null)
|
||||
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
|
||||
if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special))
|
||||
@@ -300,7 +300,7 @@
|
||||
var/list/candidates = list()
|
||||
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
|
||||
while(!candidates.len && afk_bracket < 6000)
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
if(G.client != null)
|
||||
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
|
||||
if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special))
|
||||
@@ -321,7 +321,7 @@
|
||||
|
||||
/proc/Show2Group4Delay(obj/O, list/group, delay=0)
|
||||
if(!isobj(O)) return
|
||||
if(!group) group = clients
|
||||
if(!group) group = GLOB.clients
|
||||
for(var/client/C in group)
|
||||
C.screen += O
|
||||
if(delay)
|
||||
@@ -339,8 +339,8 @@
|
||||
/proc/get_active_player_count()
|
||||
// Get active players who are playing in the round
|
||||
var/active_players = 0
|
||||
for(var/i = 1; i <= player_list.len; i++)
|
||||
var/mob/M = player_list[i]
|
||||
for(var/i = 1; i <= GLOB.player_list.len; i++)
|
||||
var/mob/M = GLOB.player_list[i]
|
||||
if(M && M.client)
|
||||
if(istype(M, /mob/new_player)) // exclude people in the lobby
|
||||
continue
|
||||
@@ -390,7 +390,7 @@
|
||||
return new /datum/projectile_data(src_x, src_y, time, distance, power_x, power_y, dest_x, dest_y)
|
||||
|
||||
|
||||
/proc/mobs_in_area(var/area/the_area, var/client_needed=0, var/moblist=mob_list)
|
||||
/proc/mobs_in_area(var/area/the_area, var/client_needed=0, var/moblist=GLOB.mob_list)
|
||||
var/list/mobs_found[0]
|
||||
var/area/our_area = get_area_master(the_area)
|
||||
for(var/mob/M in moblist)
|
||||
@@ -403,7 +403,7 @@
|
||||
|
||||
/proc/alone_in_area(var/area/the_area, var/mob/must_be_alone, var/check_type = /mob/living/carbon)
|
||||
var/area/our_area = get_area_master(the_area)
|
||||
for(var/C in living_mob_list)
|
||||
for(var/C in GLOB.living_mob_list)
|
||||
if(!istype(C, check_type))
|
||||
continue
|
||||
if(C == must_be_alone)
|
||||
@@ -442,7 +442,7 @@ proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time =
|
||||
if(!Question)
|
||||
Question = "Would you like to be a special role?"
|
||||
|
||||
for(var/mob/dead/observer/G in (ignore_respawnability ? player_list : respawnable_list))
|
||||
for(var/mob/dead/observer/G in (ignore_respawnability ? GLOB.player_list : GLOB.respawnable_list))
|
||||
if(!G.key || !G.client)
|
||||
continue
|
||||
if(be_special_type)
|
||||
|
||||
@@ -5,38 +5,38 @@
|
||||
|
||||
/proc/makeDatumRefLists()
|
||||
//markings
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, marking_styles_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.marking_styles_list)
|
||||
//head accessory
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/head_accessory, head_accessory_styles_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/head_accessory, GLOB.head_accessory_styles_list)
|
||||
//hair
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_public_list, hair_styles_male_list, hair_styles_female_list, hair_styles_full_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hair_styles_public_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list, GLOB.hair_styles_full_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)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
|
||||
//underwear
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
|
||||
//undershirt
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
|
||||
//socks
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list, GLOB.socks_m, GLOB.socks_f)
|
||||
//alt heads
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, alt_heads_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/alt_heads, GLOB.alt_heads_list)
|
||||
|
||||
init_subtypes(/datum/surgery_step, surgery_steps)
|
||||
init_subtypes(/datum/surgery_step, GLOB.surgery_steps)
|
||||
|
||||
for(var/path in (subtypesof(/datum/surgery)))
|
||||
surgeries_list += new path()
|
||||
GLOB.surgeries_list += new path()
|
||||
|
||||
init_datum_subtypes(/datum/job, joblist, list(/datum/job/ai, /datum/job/cyborg), "title")
|
||||
init_datum_subtypes(/datum/superheroes, all_superheroes, null, "name")
|
||||
init_datum_subtypes(/datum/nations, all_nations, null, "default_name")
|
||||
init_datum_subtypes(/datum/language, all_languages, null, "name")
|
||||
init_datum_subtypes(/datum/job, GLOB.joblist, list(/datum/job/ai, /datum/job/cyborg), "title")
|
||||
init_datum_subtypes(/datum/superheroes, GLOB.all_superheroes, null, "name")
|
||||
init_datum_subtypes(/datum/nations, GLOB.all_nations, null, "default_name")
|
||||
init_datum_subtypes(/datum/language, GLOB.all_languages, null, "name")
|
||||
|
||||
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
|
||||
language_keys[".[lowertext(L.key)]"] = L
|
||||
language_keys["#[lowertext(L.key)]"] = L
|
||||
GLOB.language_keys[":[lowertext(L.key)]"] = L
|
||||
GLOB.language_keys[".[lowertext(L.key)]"] = L
|
||||
GLOB.language_keys["#[lowertext(L.key)]"] = L
|
||||
|
||||
var/rkey = 0
|
||||
for(var/spath in subtypesof(/datum/species))
|
||||
@@ -45,9 +45,9 @@
|
||||
GLOB.all_species[S.name] = S
|
||||
|
||||
if(IS_WHITELISTED in S.species_traits)
|
||||
whitelisted_species += S.name
|
||||
GLOB.whitelisted_species += S.name
|
||||
|
||||
init_subtypes(/datum/crafting_recipe, crafting_recipes)
|
||||
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
|
||||
|
||||
//Pipe list building
|
||||
init_subtypes(/datum/pipes, GLOB.construction_pipe_list)
|
||||
@@ -60,10 +60,10 @@
|
||||
/* // 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/reaction in GLOB.chemical_reactions_list)
|
||||
. += "GLOB.chemical_reactions_list\[\"[reaction]\"\] = \"[GLOB.chemical_reactions_list[reaction]]\"\n"
|
||||
if(islist(GLOB.chemical_reactions_list[reaction]))
|
||||
var/list/L = GLOB.chemical_reactions_list[reaction]
|
||||
for(var/t in L)
|
||||
. += " has: [t]\n"
|
||||
to_chat(world, .)
|
||||
|
||||
@@ -13,25 +13,25 @@ proc/GetOppositeDir(var/dir)
|
||||
proc/random_underwear(gender, species = "Human")
|
||||
var/list/pick_list = list()
|
||||
switch(gender)
|
||||
if(MALE) pick_list = underwear_m
|
||||
if(FEMALE) pick_list = underwear_f
|
||||
else pick_list = underwear_list
|
||||
if(MALE) pick_list = GLOB.underwear_m
|
||||
if(FEMALE) pick_list = GLOB.underwear_f
|
||||
else pick_list = GLOB.underwear_list
|
||||
return pick_species_allowed_underwear(pick_list, species)
|
||||
|
||||
proc/random_undershirt(gender, species = "Human")
|
||||
var/list/pick_list = list()
|
||||
switch(gender)
|
||||
if(MALE) pick_list = undershirt_m
|
||||
if(FEMALE) pick_list = undershirt_f
|
||||
else pick_list = undershirt_list
|
||||
if(MALE) pick_list = GLOB.undershirt_m
|
||||
if(FEMALE) pick_list = GLOB.undershirt_f
|
||||
else pick_list = GLOB.undershirt_list
|
||||
return pick_species_allowed_underwear(pick_list, species)
|
||||
|
||||
proc/random_socks(gender, species = "Human")
|
||||
var/list/pick_list = list()
|
||||
switch(gender)
|
||||
if(MALE) pick_list = socks_m
|
||||
if(FEMALE) pick_list = socks_f
|
||||
else pick_list = socks_list
|
||||
if(MALE) pick_list = GLOB.socks_m
|
||||
if(FEMALE) pick_list = GLOB.socks_f
|
||||
else pick_list = GLOB.socks_list
|
||||
return pick_species_allowed_underwear(pick_list, species)
|
||||
|
||||
proc/pick_species_allowed_underwear(list/all_picks, species)
|
||||
@@ -49,8 +49,8 @@ proc/pick_species_allowed_underwear(list/all_picks, species)
|
||||
proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead)
|
||||
var/h_style = "Bald"
|
||||
var/list/valid_hairstyles = list()
|
||||
for(var/hairstyle in hair_styles_public_list)
|
||||
var/datum/sprite_accessory/S = hair_styles_public_list[hairstyle]
|
||||
for(var/hairstyle in GLOB.hair_styles_public_list)
|
||||
var/datum/sprite_accessory/S = GLOB.hair_styles_public_list[hairstyle]
|
||||
|
||||
if(hairstyle == "Bald") //Just in case.
|
||||
valid_hairstyles += hairstyle
|
||||
@@ -78,8 +78,8 @@ proc/random_hair_style(var/gender, species = "Human", var/datum/robolimb/robohea
|
||||
proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/robohead)
|
||||
var/f_style = "Shaved"
|
||||
var/list/valid_facial_hairstyles = list()
|
||||
for(var/facialhairstyle in facial_hair_styles_list)
|
||||
var/datum/sprite_accessory/S = facial_hair_styles_list[facialhairstyle]
|
||||
for(var/facialhairstyle in GLOB.facial_hair_styles_list)
|
||||
var/datum/sprite_accessory/S = GLOB.facial_hair_styles_list[facialhairstyle]
|
||||
|
||||
if(facialhairstyle == "Shaved") //Just in case.
|
||||
valid_facial_hairstyles += facialhairstyle
|
||||
@@ -107,8 +107,8 @@ proc/random_facial_hair_style(var/gender, species = "Human", var/datum/robolimb/
|
||||
proc/random_head_accessory(species = "Human")
|
||||
var/ha_style = "None"
|
||||
var/list/valid_head_accessories = list()
|
||||
for(var/head_accessory in head_accessory_styles_list)
|
||||
var/datum/sprite_accessory/S = head_accessory_styles_list[head_accessory]
|
||||
for(var/head_accessory in GLOB.head_accessory_styles_list)
|
||||
var/datum/sprite_accessory/S = GLOB.head_accessory_styles_list[head_accessory]
|
||||
|
||||
if(!(species in S.species_allowed))
|
||||
continue
|
||||
@@ -122,8 +122,8 @@ proc/random_head_accessory(species = "Human")
|
||||
proc/random_marking_style(var/location = "body", species = "Human", var/datum/robolimb/robohead, var/body_accessory, var/alt_head)
|
||||
var/m_style = "None"
|
||||
var/list/valid_markings = list()
|
||||
for(var/marking in marking_styles_list)
|
||||
var/datum/sprite_accessory/body_markings/S = marking_styles_list[marking]
|
||||
for(var/marking in GLOB.marking_styles_list)
|
||||
var/datum/sprite_accessory/body_markings/S = GLOB.marking_styles_list[marking]
|
||||
if(S.name == "None")
|
||||
valid_markings += marking
|
||||
continue
|
||||
@@ -139,7 +139,7 @@ proc/random_marking_style(var/location = "body", species = "Human", var/datum/ro
|
||||
if(!S.tails_allowed || !(body_accessory in S.tails_allowed))
|
||||
continue
|
||||
if(location == "head")
|
||||
var/datum/sprite_accessory/body_markings/head/M = marking_styles_list[S.name]
|
||||
var/datum/sprite_accessory/body_markings/head/M = GLOB.marking_styles_list[S.name]
|
||||
if(species == "Machine")//If the user is a species that can have a robotic head...
|
||||
if(!robohead)
|
||||
robohead = all_robolimbs["Morpheus Cyberkinetics"]
|
||||
@@ -182,9 +182,9 @@ proc/random_name(gender, species = "Human")
|
||||
|
||||
if(!current_species || current_species.name == "Human")
|
||||
if(gender==FEMALE)
|
||||
return capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
|
||||
return capitalize(pick(GLOB.first_names_female)) + " " + capitalize(pick(GLOB.last_names))
|
||||
else
|
||||
return capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
|
||||
return capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names))
|
||||
else
|
||||
return current_species.get_random_name(gender)
|
||||
|
||||
@@ -489,7 +489,7 @@ This is always put in the attack log.
|
||||
LogMouseMacro(".mouse", params)
|
||||
|
||||
/proc/update_all_mob_security_hud()
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
H.sec_hud_set_security_status()
|
||||
|
||||
/proc/getviewsize(view)
|
||||
|
||||
@@ -164,11 +164,11 @@ var/syndicate_code_response//Code response for traitors.
|
||||
if(names.len&&prob(70))
|
||||
code_phrase += pick(names)
|
||||
else
|
||||
code_phrase += pick(pick(first_names_male,first_names_female))
|
||||
code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
|
||||
code_phrase += " "
|
||||
code_phrase += pick(last_names)
|
||||
code_phrase += pick(GLOB.last_names)
|
||||
if(2)
|
||||
code_phrase += pick(joblist)//Returns a job.
|
||||
code_phrase += pick(GLOB.joblist)//Returns a job.
|
||||
safety -= 1
|
||||
if(2)
|
||||
switch(rand(1,2))//Places or things.
|
||||
@@ -182,9 +182,9 @@ var/syndicate_code_response//Code response for traitors.
|
||||
if(1)
|
||||
code_phrase += pick(nouns)
|
||||
if(2)
|
||||
code_phrase += pick(adjectives)
|
||||
code_phrase += pick(GLOB.adjectives)
|
||||
if(3)
|
||||
code_phrase += pick(verbs)
|
||||
code_phrase += pick(GLOB.verbs)
|
||||
if(words==1)
|
||||
code_phrase += "."
|
||||
else
|
||||
@@ -219,9 +219,9 @@ var/syndicate_code_response//Code response for traitors.
|
||||
if(1)
|
||||
syndicate_code_phrase += pick("I'm looking for","Have you seen","Maybe you've seen","I'm trying to find","I'm tracking")
|
||||
syndicate_code_phrase += " "
|
||||
syndicate_code_phrase += pick(pick(first_names_male,first_names_female))
|
||||
syndicate_code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
|
||||
syndicate_code_phrase += " "
|
||||
syndicate_code_phrase += pick(last_names)
|
||||
syndicate_code_phrase += pick(GLOB.last_names)
|
||||
syndicate_code_phrase += "."
|
||||
if(2)
|
||||
syndicate_code_phrase += pick("How do I get to","How do I find","Where is","Where do I find")
|
||||
@@ -245,7 +245,7 @@ var/syndicate_code_response//Code response for traitors.
|
||||
if(5)
|
||||
syndicate_code_phrase += pick("Do we have","Is there","Where is","Where's","Who's")
|
||||
syndicate_code_phrase += " "
|
||||
syndicate_code_phrase += "[pick(joblist)]"
|
||||
syndicate_code_phrase += "[pick(GLOB.joblist)]"
|
||||
syndicate_code_phrase += "?"
|
||||
|
||||
switch(choice)
|
||||
@@ -269,12 +269,12 @@ var/syndicate_code_response//Code response for traitors.
|
||||
syndicate_code_response += pick("Try asking","Ask","Talk to","Go see","Follow","Hunt down")
|
||||
syndicate_code_response += " "
|
||||
if(prob(50))
|
||||
syndicate_code_response += pick(pick(first_names_male,first_names_female))
|
||||
syndicate_code_response += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
|
||||
syndicate_code_response += " "
|
||||
syndicate_code_response += pick(last_names)
|
||||
syndicate_code_response += pick(GLOB.last_names)
|
||||
else
|
||||
syndicate_code_response += " the "
|
||||
syndicate_code_response += "[pic(joblist)]"
|
||||
syndicate_code_response += "[pic(GLOB.joblist)]"
|
||||
syndicate_code_response += "."
|
||||
else
|
||||
syndicate_code_response += pick("*shrug*","*smile*","*blink*","*sigh*","*laugh*","*nod*","*giggle*")
|
||||
|
||||
@@ -94,7 +94,7 @@ proc/isDay(var/month, var/day)
|
||||
return round(0.1 * (TimeOfGame - wh), 0.1)
|
||||
|
||||
/proc/numberToMonthName(number)
|
||||
return month_names.Find(number)
|
||||
return GLOB.month_names.Find(number)
|
||||
|
||||
//Take a value in seconds and returns a string of minutes and seconds in the format X minute(s) and X seconds.
|
||||
/proc/seconds_to_time(var/seconds as num)
|
||||
|
||||
@@ -277,7 +277,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
/proc/freeborg()
|
||||
var/select = null
|
||||
var/list/borgs = list()
|
||||
for(var/mob/living/silicon/robot/A in player_list)
|
||||
for(var/mob/living/silicon/robot/A in GLOB.player_list)
|
||||
if(A.stat == 2 || A.connected_ai || A.scrambledcodes || istype(A,/mob/living/silicon/robot/drone))
|
||||
continue
|
||||
var/name = "[A.real_name] ([A.modtype] [A.braintype])"
|
||||
@@ -290,7 +290,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
//When a borg is activated, it can choose which AI it wants to be slaved to
|
||||
/proc/active_ais()
|
||||
. = list()
|
||||
for(var/mob/living/silicon/ai/A in living_mob_list)
|
||||
for(var/mob/living/silicon/ai/A in GLOB.living_mob_list)
|
||||
if(A.stat == DEAD)
|
||||
continue
|
||||
if(A.control_disabled == 1)
|
||||
@@ -372,7 +372,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
//Orders mobs by type then by name
|
||||
/proc/sortmobs()
|
||||
var/list/moblist = list()
|
||||
var/list/sortmob = sortAtom(mob_list)
|
||||
var/list/sortmob = sortAtom(GLOB.mob_list)
|
||||
for(var/mob/living/silicon/ai/M in sortmob)
|
||||
moblist.Add(M)
|
||||
if(M.eyeobj)
|
||||
@@ -427,7 +427,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
/proc/get_mob_by_ckey(key)
|
||||
if(!key)
|
||||
return
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M.ckey == key)
|
||||
return M
|
||||
|
||||
@@ -996,7 +996,7 @@ proc/oview_or_orange(distance = world.view , center = usr , type)
|
||||
|
||||
proc/get_mob_with_client_list()
|
||||
var/list/mobs = list()
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M.client)
|
||||
mobs += M
|
||||
return mobs
|
||||
@@ -1883,7 +1883,7 @@ var/mob/dview/dview_mob = new
|
||||
pois[name] = M
|
||||
|
||||
if(!mobs_only)
|
||||
for(var/atom/A in poi_list)
|
||||
for(var/atom/A in GLOB.poi_list)
|
||||
if(!A || !A.loc)
|
||||
continue
|
||||
var/name = A.name
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
//Preferences stuff
|
||||
//Head accessory styles
|
||||
var/global/list/head_accessory_styles_list = list() //stores /datum/sprite_accessory/head_accessory indexed by name
|
||||
GLOBAL_LIST_INIT(head_accessory_styles_list, list()) //stores /datum/sprite_accessory/head_accessory indexed by name
|
||||
//Marking styles
|
||||
var/global/list/marking_styles_list = list() //stores /datum/sprite_accessory/body_markings indexed by name
|
||||
GLOBAL_LIST_INIT(marking_styles_list, list()) //stores /datum/sprite_accessory/body_markings indexed by name
|
||||
//Hairstyles
|
||||
var/global/list/hair_styles_public_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/hair_styles_full_list = list() //fluff hair styles
|
||||
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
|
||||
GLOBAL_LIST_INIT(hair_styles_public_list, list()) //stores /datum/sprite_accessory/hair indexed by name
|
||||
GLOBAL_LIST_INIT(hair_styles_male_list, list())
|
||||
GLOBAL_LIST_INIT(hair_styles_female_list, list())
|
||||
GLOBAL_LIST_INIT(hair_styles_full_list, list()) //fluff hair styles
|
||||
GLOBAL_LIST_INIT(facial_hair_styles_list, list()) //stores /datum/sprite_accessory/facial_hair indexed by name
|
||||
GLOBAL_LIST_INIT(facial_hair_styles_male_list, list())
|
||||
GLOBAL_LIST_INIT(facial_hair_styles_female_list, list())
|
||||
GLOBAL_LIST_INIT(skin_styles_female_list, list()) //unused
|
||||
//Underwear
|
||||
var/global/list/underwear_list = list() //stores /datum/sprite_accessory/underwear indexed by name
|
||||
var/global/list/underwear_m = list() //stores only underwear name
|
||||
var/global/list/underwear_f = list() //stores only underwear name
|
||||
GLOBAL_LIST_INIT(underwear_list, list()) //stores /datum/sprite_accessory/underwear indexed by name
|
||||
GLOBAL_LIST_INIT(underwear_m, list()) //stores only underwear name
|
||||
GLOBAL_LIST_INIT(underwear_f, list()) //stores only underwear name
|
||||
//Undershirts
|
||||
var/global/list/undershirt_list = list() //stores /datum/sprite_accessory/undershirt indexed by name
|
||||
var/global/list/undershirt_m = list() //stores only undershirt name
|
||||
var/global/list/undershirt_f = list() //stores only undershirt name
|
||||
GLOBAL_LIST_INIT(undershirt_list, list()) //stores /datum/sprite_accessory/undershirt indexed by name
|
||||
GLOBAL_LIST_INIT(undershirt_m, list()) //stores only undershirt name
|
||||
GLOBAL_LIST_INIT(undershirt_f, list()) //stores only undershirt name
|
||||
//Socks
|
||||
var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name
|
||||
var/global/list/socks_m = list() //stores only socks name
|
||||
var/global/list/socks_f = list() //stores only socks name
|
||||
GLOBAL_LIST_INIT(socks_list, list()) //stores /datum/sprite_accessory/socks indexed by name
|
||||
GLOBAL_LIST_INIT(socks_m, list()) //stores only socks name
|
||||
GLOBAL_LIST_INIT(socks_f, list()) //stores only socks name
|
||||
//Alt Heads
|
||||
var/global/list/alt_heads_list = list() //stores /datum/sprite_accessory/alt_heads indexed by name
|
||||
GLOBAL_LIST_INIT(alt_heads_list, list()) //stores /datum/sprite_accessory/alt_heads indexed by name
|
||||
|
||||
var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg', \
|
||||
GLOBAL_LIST_INIT(scarySounds, list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg', \
|
||||
'sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg', \
|
||||
'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock_open.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg')
|
||||
'sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock_open.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg'))
|
||||
|
||||
// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
|
||||
// the index of the sort department that you want. For example, sortType set to 2 will reroute all packages
|
||||
@@ -38,30 +38,30 @@ var/static/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons
|
||||
//If you don't want to fuck up disposals, add to this list, and don't change the order.
|
||||
//If you insist on changing the order, you'll have to change every sort junction to reflect the new order. --Pete
|
||||
|
||||
var/list/TAGGERLOCATIONS = list("Disposals",
|
||||
GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals",
|
||||
"Cargo Bay", "QM Office", "Engineering", "CE Office",
|
||||
"Atmospherics", "HoS Office", "Security", "Medbay",
|
||||
"CMO Office", "Chemistry", "Research", "RD Office",
|
||||
"Robotics", "HoP Office", "Library", "Chapel", "Captain's Office",
|
||||
"Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics","Brig Physician")
|
||||
"Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics","Brig Physician"))
|
||||
|
||||
var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
|
||||
GLOBAL_LIST_INIT(hit_appends, list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF"))
|
||||
|
||||
var/global/list/greek_letters = list("Alpha", "Beta", "Gamma", "Delta",
|
||||
GLOBAL_LIST_INIT(greek_letters, list("Alpha", "Beta", "Gamma", "Delta",
|
||||
"Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu",
|
||||
"Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi",
|
||||
"Chi", "Psi", "Omega")
|
||||
"Chi", "Psi", "Omega"))
|
||||
|
||||
var/global/list/phonetic_alphabet = list("Alpha", "Bravo", "Charlie",
|
||||
GLOBAL_LIST_INIT(phonetic_alphabet, list("Alpha", "Bravo", "Charlie",
|
||||
"Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet",
|
||||
"Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec",
|
||||
"Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray",
|
||||
"Yankee", "Zulu")
|
||||
"Yankee", "Zulu"))
|
||||
|
||||
var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
|
||||
GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four",
|
||||
"Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve",
|
||||
"Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen",
|
||||
"Eighteen", "Nineteen")
|
||||
"Eighteen", "Nineteen"))
|
||||
|
||||
//Backpacks
|
||||
#define GBACKPACK "Grey Backpack"
|
||||
@@ -71,4 +71,4 @@ var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
|
||||
#define DBACKPACK "Department Backpack"
|
||||
#define DSATCHEL "Department Satchel"
|
||||
#define DDUFFLEBAG "Department Dufflebag"
|
||||
var/global/list/backbaglist = list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL)
|
||||
GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL))
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
var/global/list/alphabet = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
|
||||
var/global/list/alphabet_uppercase = list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
|
||||
var/global/list/zero_character_only = list("0")
|
||||
var/global/list/hex_characters = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f")
|
||||
var/global/list/binary = list("0","1")
|
||||
GLOBAL_LIST_INIT(alphabet, list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"))
|
||||
GLOBAL_LIST_INIT(alphabet_uppercase, list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"))
|
||||
GLOBAL_LIST_INIT(zero_character_only, list("0"))
|
||||
GLOBAL_LIST_INIT(hex_characters, list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"))
|
||||
GLOBAL_LIST_INIT(binary, list("0","1"))
|
||||
|
||||
var/global/list/day_names = list("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
|
||||
var/global/list/month_names = list("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
|
||||
GLOBAL_LIST_INIT(day_names, list("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
|
||||
GLOBAL_LIST_INIT(month_names, list("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"))
|
||||
|
||||
var/list/restricted_camera_networks = list( //Those networks can only be accessed by preexisting terminals. AIs and new terminals can't use them.
|
||||
GLOBAL_LIST_INIT(restricted_camera_networks, list(
|
||||
"CentComm",
|
||||
"ERT",
|
||||
"NukeOps",
|
||||
@@ -17,19 +17,19 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
|
||||
"UO71",
|
||||
"Xeno",
|
||||
"Hotel"
|
||||
)
|
||||
)) //Those networks can only be accessed by preexisting terminals. AIs and new terminals can't use them.
|
||||
|
||||
var/list/mineral_turfs = list()
|
||||
GLOBAL_LIST_INIT(mineral_turfs, list())
|
||||
|
||||
var/list/ruin_landmarks = list()
|
||||
GLOBAL_LIST_INIT(ruin_landmarks, list())
|
||||
|
||||
var/list/round_end_sounds = list( // Maps available round end sounds to their duration
|
||||
GLOBAL_LIST_INIT(round_end_sounds, list(
|
||||
'sound/AI/newroundsexy.ogg' = 2.3 SECONDS,
|
||||
'sound/misc/apcdestroyed.ogg' = 3 SECONDS,
|
||||
'sound/misc/bangindonk.ogg' = 1.6 SECONDS,
|
||||
'sound/goonstation/misc/newround1.ogg' = 6.9 SECONDS,
|
||||
'sound/goonstation/misc/newround2.ogg' = 14.8 SECONDS
|
||||
)
|
||||
)) // Maps available round end sounds to their duration
|
||||
|
||||
GLOBAL_LIST_INIT(cooking_recipe_types, list(
|
||||
RECIPE_MICROWAVE = /datum/recipe/microwave,
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
//Languages/species/whitelist. //Languages and species fit with mobs right
|
||||
GLOBAL_LIST_EMPTY(all_species)
|
||||
var/global/list/all_languages[0]
|
||||
var/global/list/language_keys[0] // Table of say codes for all languages
|
||||
var/global/list/all_superheroes[0]
|
||||
var/global/list/all_nations[0]
|
||||
var/global/list/whitelisted_species = list()
|
||||
GLOBAL_LIST_EMPTY(all_languages)
|
||||
GLOBAL_LIST_EMPTY(language_keys) // Table of say codes for all languages
|
||||
GLOBAL_LIST_EMPTY(all_superheroes)
|
||||
GLOBAL_LIST_EMPTY(all_nations)
|
||||
GLOBAL_LIST_INIT(whitelisted_species, list())
|
||||
|
||||
var/list/clients = list() //list of all clients
|
||||
var/list/admins = list() //list of all clients whom are admins
|
||||
var/list/deadmins = list() //list of all clients who have used the de-admin verb.
|
||||
var/list/directory = list() //list of all ckeys with associated client
|
||||
var/list/stealthminID = list() //reference list with IDs that store ckeys, for stealthmins
|
||||
GLOBAL_LIST_INIT(clients, list()) //list of all clients
|
||||
GLOBAL_LIST_INIT(admins, list()) //list of all clients whom are admins
|
||||
GLOBAL_LIST_INIT(deadmins, list()) //list of all clients who have used the de-admin verb.
|
||||
GLOBAL_LIST_INIT(directory, list()) //list of all ckeys with associated client
|
||||
GLOBAL_LIST_INIT(stealthminID, list()) //reference list with IDs that store ckeys, for stealthmins
|
||||
|
||||
//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/silicon_mob_list = list() //List of all silicon mobs, including clientless
|
||||
var/global/list/spirits = list() //List of all the spirits, including Masks
|
||||
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/respawnable_list = list() //List of all mobs, dead or in mindless creatures that still be respawned.
|
||||
var/global/list/non_respawnable_keys = list() //List of ckeys that are excluded from respawning for remainder of round.
|
||||
var/global/list/simple_animal_list = list() //List of all simple animals, including clientless
|
||||
var/global/list/snpc_list = list() //List of all snpc's, including clientless
|
||||
var/global/list/bots_list = list() //List of all bots(beepsky, medibots,etc)
|
||||
GLOBAL_LIST_INIT(player_list, list()) //List of all mobs **with clients attached**. Excludes /mob/new_player
|
||||
GLOBAL_LIST_INIT(mob_list, list()) //List of all mobs, including clientless
|
||||
GLOBAL_LIST_INIT(silicon_mob_list, list()) //List of all silicon mobs, including clientless
|
||||
GLOBAL_LIST_INIT(spirits, list()) //List of all the spirits, including Masks
|
||||
GLOBAL_LIST_INIT(living_mob_list, list()) //List of all alive mobs, including clientless. Excludes /mob/new_player
|
||||
GLOBAL_LIST_INIT(dead_mob_list, list()) //List of all dead mobs, including clientless. Excludes /mob/new_player
|
||||
GLOBAL_LIST_INIT(respawnable_list, list()) //List of all mobs, dead or in mindless creatures that still be respawned.
|
||||
GLOBAL_LIST_INIT(non_respawnable_keys, list()) //List of ckeys that are excluded from respawning for remainder of round.
|
||||
GLOBAL_LIST_INIT(simple_animal_list, list()) //List of all simple animals, including clientless
|
||||
GLOBAL_LIST_INIT(snpc_list, list()) //List of all snpc's, including clientless
|
||||
GLOBAL_LIST_INIT(bots_list, list()) //List of all bots(beepsky, medibots,etc)
|
||||
|
||||
var/global/list/med_hud_users = list()
|
||||
var/global/list/sec_hud_users = list()
|
||||
var/global/list/antag_hud_users = list()
|
||||
var/global/list/surgeries_list = list()
|
||||
var/global/list/hear_radio_list = list() //Mobs that hear the radio even if there's no client
|
||||
GLOBAL_LIST_INIT(med_hud_users, list())
|
||||
GLOBAL_LIST_INIT(sec_hud_users, list())
|
||||
GLOBAL_LIST_INIT(antag_hud_users, list())
|
||||
GLOBAL_LIST_INIT(surgeries_list, list())
|
||||
GLOBAL_LIST_INIT(hear_radio_list, list()) //Mobs that hear the radio even if there's no client
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
var/list/ai_names = file2list("config/names/ai.txt")
|
||||
var/list/wizard_first = file2list("config/names/wizardfirst.txt")
|
||||
var/list/wizard_second = file2list("config/names/wizardsecond.txt")
|
||||
var/list/ninja_titles = file2list("config/names/ninjatitle.txt")
|
||||
var/list/ninja_names = file2list("config/names/ninjaname.txt")
|
||||
var/list/commando_names = file2list("config/names/death_commando.txt")
|
||||
var/list/first_names_male = file2list("config/names/first_male.txt")
|
||||
var/list/first_names_female = file2list("config/names/first_female.txt")
|
||||
var/list/last_names = file2list("config/names/last.txt")
|
||||
var/list/clown_names = file2list("config/names/clown.txt")
|
||||
var/list/mime_names = file2list("config/names/mime.txt")
|
||||
GLOBAL_LIST_INIT(ai_names, file2list("config/names/ai.txt"))
|
||||
GLOBAL_LIST_INIT(wizard_first, file2list("config/names/wizardfirst.txt"))
|
||||
GLOBAL_LIST_INIT(wizard_second, file2list("config/names/wizardsecond.txt"))
|
||||
GLOBAL_LIST_INIT(ninja_titles, file2list("config/names/ninjatitle.txt"))
|
||||
GLOBAL_LIST_INIT(ninja_names, file2list("config/names/ninjaname.txt"))
|
||||
GLOBAL_LIST_INIT(commando_names, file2list("config/names/death_commando.txt"))
|
||||
GLOBAL_LIST_INIT(first_names_male, file2list("config/names/first_male.txt"))
|
||||
GLOBAL_LIST_INIT(first_names_female, file2list("config/names/first_female.txt"))
|
||||
GLOBAL_LIST_INIT(last_names, file2list("config/names/last.txt"))
|
||||
GLOBAL_LIST_INIT(clown_names, file2list("config/names/clown.txt"))
|
||||
GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt"))
|
||||
|
||||
var/list/verbs = file2list("config/names/verbs.txt")
|
||||
var/list/adjectives = file2list("config/names/adjectives.txt")
|
||||
var/list/dream_strings = file2list("config/names/dreams.txt")
|
||||
var/list/nightmare_strings = file2list("config/names/nightmares.txt")
|
||||
GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt"))
|
||||
GLOBAL_LIST_INIT(adjectives, file2list("config/names/adjectives.txt"))
|
||||
GLOBAL_LIST_INIT(dream_strings, file2list("config/names/dreams.txt"))
|
||||
GLOBAL_LIST_INIT(nightmare_strings, file2list("config/names/nightmares.txt"))
|
||||
//loaded on startup because of "
|
||||
//would include in rsc if ' was used
|
||||
|
||||
var/list/vox_name_syllables = list("ti","hi","ki","ya","ta","ha","ka","ya","chi","cha","kah")
|
||||
GLOBAL_LIST_INIT(vox_name_syllables, list("ti","hi","ki","ya","ta","ha","ka","ya","chi","cha","kah"))
|
||||
@@ -1,46 +1,46 @@
|
||||
var/global/list/portals = list() //for use by portals
|
||||
GLOBAL_LIST_INIT(portals, list()) //for use by portals
|
||||
GLOBAL_LIST(cable_list) //Index for all cables, so that powernets don't have to look through the entire world all the time
|
||||
var/global/list/chemical_reactions_list //list of all /datum/chemical_reaction datums. Used during chemical reactions
|
||||
var/global/list/chemical_reagents_list //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
|
||||
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/spacepods_list = list() //list of all space pods. Used by hostile mobs target tracking.
|
||||
var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
|
||||
var/global/list/airlocks = list() //list of all airlocks
|
||||
var/global/list/singularities = list() //list of all singularities
|
||||
var/global/list/janitorial_equipment = list() //list of janitorial equipment
|
||||
var/global/list/crafting_recipes = list() //list of all crafting recipes
|
||||
var/global/list/prisoncomputer_list = list()
|
||||
var/global/list/cell_logs = list()
|
||||
GLOBAL_LIST_INIT(chemical_reactions_list, list()) //list of all /datum/chemical_reaction datums. Used during chemical reactions
|
||||
GLOBAL_LIST_INIT(chemical_reagents_list, list()) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
|
||||
GLOBAL_LIST_INIT(landmarks_list, list()) //list of all landmarks created
|
||||
GLOBAL_LIST_INIT(surgery_steps, list()) //list of all surgery steps |BS12
|
||||
GLOBAL_LIST_INIT(side_effects, list()) //list of all medical sideeffects types by thier names |BS12
|
||||
GLOBAL_LIST_INIT(mechas_list, list()) //list of all mechs. Used by hostile mobs target tracking.
|
||||
GLOBAL_LIST_INIT(spacepods_list, list()) //list of all space pods. Used by hostile mobs target tracking.
|
||||
GLOBAL_LIST_INIT(joblist, list()) //list of all jobstypes, minus borg and AI
|
||||
GLOBAL_LIST_INIT(airlocks, list()) //list of all airlocks
|
||||
GLOBAL_LIST_INIT(singularities, list()) //list of all singularities
|
||||
GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment
|
||||
GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes
|
||||
GLOBAL_LIST_INIT(prisoncomputer_list, list())
|
||||
GLOBAL_LIST_INIT(cell_logs, list())
|
||||
|
||||
var/global/list/all_areas = list()
|
||||
var/global/list/machines = list()
|
||||
var/global/list/fast_processing = list()
|
||||
var/global/list/processing_power_items = list() //items that ask to be called every cycle
|
||||
var/global/list/rcd_list = list() //list of Rapid Construction Devices.
|
||||
GLOBAL_LIST_INIT(all_areas, list())
|
||||
GLOBAL_LIST_INIT(machines, list())
|
||||
GLOBAL_LIST_INIT(fast_processing, list())
|
||||
GLOBAL_LIST_INIT(processing_power_items, list()) //items that ask to be called every cycle
|
||||
GLOBAL_LIST_INIT(rcd_list, list()) //list of Rapid Construction Devices.
|
||||
|
||||
var/global/list/apcs = list()
|
||||
var/global/list/air_alarms = list()
|
||||
var/global/list/power_monitors = list()
|
||||
var/global/list/all_vent_pumps = list()
|
||||
GLOBAL_LIST_INIT(apcs, list())
|
||||
GLOBAL_LIST_INIT(air_alarms, list())
|
||||
GLOBAL_LIST_INIT(power_monitors, list())
|
||||
GLOBAL_LIST_INIT(all_vent_pumps, list())
|
||||
|
||||
var/global/list/navbeacons = list() //list of all bot nagivation beacons, used for patrolling.
|
||||
var/global/list/deliverybeacons = list() //list of all MULEbot delivery beacons.
|
||||
var/global/list/deliverybeacontags = list() //list of all tags associated with delivery beacons.
|
||||
GLOBAL_LIST_INIT(navbeacons, list()) //list of all bot nagivation beacons, used for patrolling.
|
||||
GLOBAL_LIST_INIT(deliverybeacons, list()) //list of all MULEbot delivery beacons.
|
||||
GLOBAL_LIST_INIT(deliverybeacontags, list()) //list of all tags associated with delivery beacons.
|
||||
|
||||
var/global/list/beacons = list()
|
||||
var/global/list/shuttle_caller_list = list() //list of all communication consoles, comms consoles circuit and AIs, for automatic shuttle calls when there are none.
|
||||
var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
|
||||
var/global/list/pinpointer_list = list() //list of all pinpointers. Used to change stuff they are pointing to all at once.
|
||||
var/global/list/abductor_equipment = list() //list of all abductor equipment
|
||||
GLOBAL_LIST_INIT(beacons, list())
|
||||
GLOBAL_LIST_INIT(shuttle_caller_list, list()) //list of all communication consoles, comms consoles circuit and AIs, for automatic shuttle calls when there are none.
|
||||
GLOBAL_LIST_INIT(tracked_implants, list()) //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
|
||||
GLOBAL_LIST_INIT(pinpointer_list, list()) //list of all pinpointers. Used to change stuff they are pointing to all at once.
|
||||
GLOBAL_LIST_INIT(abductor_equipment, list()) //list of all abductor equipment
|
||||
|
||||
var/global/list/global_intercoms = list() //list of all intercomms, across all z-levels
|
||||
var/global/list/global_radios = list() //list of all radios, across all z-levels
|
||||
GLOBAL_LIST_INIT(global_intercoms, list()) //list of all intercomms, across all z-levels
|
||||
GLOBAL_LIST_INIT(global_radios, list()) //list of all radios, across all z-levels
|
||||
|
||||
var/global/list/meteor_list = list() //list of all meteors
|
||||
var/global/list/poi_list = list() //list of points of interest for observe/follow
|
||||
var/global/list/active_jammers = list() // List of active radio jammers
|
||||
GLOBAL_LIST_INIT(meteor_list, list()) //list of all meteors
|
||||
GLOBAL_LIST_INIT(poi_list, list()) //list of points of interest for observe/follow
|
||||
GLOBAL_LIST_INIT(active_jammers, list()) // List of active radio jammers
|
||||
|
||||
var/global/list/active_diseases = list() //List of Active disease in all mobs; purely for quick referencing.
|
||||
GLOBAL_LIST_INIT(active_diseases, list()) //List of Active disease in all mobs; purely for quick referencing.
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
/datum/controller/process/fast_process/statProcess()
|
||||
..()
|
||||
stat(null, "[fast_processing.len] fast processes")
|
||||
stat(null, "[GLOB.fast_processing.len] fast processes")
|
||||
|
||||
/datum/controller/process/fast_process/doWork()
|
||||
for(last_object in fast_processing)
|
||||
for(last_object in GLOB.fast_processing)
|
||||
var/obj/O = last_object
|
||||
try
|
||||
O.process()
|
||||
|
||||
@@ -12,18 +12,18 @@ var/global/datum/controller/process/npcai/npcai_master
|
||||
|
||||
/datum/controller/process/npcai/started()
|
||||
..()
|
||||
if(!simple_animal_list)
|
||||
simple_animal_list = list()
|
||||
if(!snpc_list)
|
||||
snpc_list = list()
|
||||
if(!GLOB.simple_animal_list)
|
||||
GLOB.simple_animal_list = list()
|
||||
if(!GLOB.snpc_list)
|
||||
GLOB.snpc_list = list()
|
||||
|
||||
/datum/controller/process/npcai/statProcess()
|
||||
..()
|
||||
stat(null, "[simple_animal_list.len] simple animals")
|
||||
stat(null, "[snpc_list.len] SNPC's")
|
||||
stat(null, "[GLOB.simple_animal_list.len] simple animals")
|
||||
stat(null, "[GLOB.snpc_list.len] SNPC's")
|
||||
|
||||
/datum/controller/process/npcai/doWork()
|
||||
for(last_object in simple_animal_list)
|
||||
for(last_object in GLOB.simple_animal_list)
|
||||
var/mob/living/simple_animal/M = last_object
|
||||
if(istype(M) && !QDELETED(M))
|
||||
if(!M.client && M.stat == CONSCIOUS)
|
||||
@@ -34,15 +34,15 @@ var/global/datum/controller/process/npcai/npcai_master
|
||||
SCHECK
|
||||
else
|
||||
catchBadType(M)
|
||||
simple_animal_list -= M
|
||||
GLOB.simple_animal_list -= M
|
||||
|
||||
if(ticker.current_state == GAME_STATE_FINISHED && !saved_voice)
|
||||
var/mob/living/carbon/human/interactive/M = safepick(snpc_list)
|
||||
var/mob/living/carbon/human/interactive/M = safepick(GLOB.snpc_list)
|
||||
if(M)
|
||||
M.saveVoice()
|
||||
saved_voice = 1
|
||||
|
||||
for(last_object in snpc_list)
|
||||
for(last_object in GLOB.snpc_list)
|
||||
var/mob/living/carbon/human/interactive/M = last_object
|
||||
if(istype(M) && !QDELETED(M))
|
||||
try
|
||||
@@ -53,7 +53,7 @@ var/global/datum/controller/process/npcai/npcai_master
|
||||
SCHECK
|
||||
else
|
||||
catchBadType(M)
|
||||
snpc_list -= M
|
||||
GLOB.snpc_list -= M
|
||||
|
||||
current_cycle++
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ DECLARE_GLOBAL_CONTROLLER(shuttle, shuttle_master)
|
||||
/datum/controller/process/shuttle/proc/autoEvac()
|
||||
var/callShuttle = 1
|
||||
|
||||
for(var/thing in shuttle_caller_list)
|
||||
for(var/thing in GLOB.shuttle_caller_list)
|
||||
if(istype(thing, /mob/living/silicon/ai))
|
||||
var/mob/living/silicon/ai/AI = thing
|
||||
if(AI.stat || !AI.client)
|
||||
|
||||
@@ -54,20 +54,20 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
|
||||
message_admins("<span class='adminnotice'>Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks.</span>")
|
||||
--defcon
|
||||
if(2)
|
||||
to_chat(admins, "<span class='boldannounce'>Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.</span>")
|
||||
to_chat(GLOB.admins, "<span class='boldannounce'>Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5 - defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.</span>")
|
||||
--defcon
|
||||
if(1)
|
||||
|
||||
to_chat(admins, "<span class='boldannounce'>Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5 - defcon) * processing_interval] ticks. Killing and restarting...</span>")
|
||||
to_chat(GLOB.admins, "<span class='boldannounce'>Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5 - defcon) * processing_interval] ticks. Killing and restarting...</span>")
|
||||
--defcon
|
||||
var/rtn = Recreate_MC()
|
||||
if(rtn > 0)
|
||||
defcon = 4
|
||||
master_iteration = 0
|
||||
to_chat(admins, "<span class='adminnotice'>MC restarted successfully</span>")
|
||||
to_chat(GLOB.admins, "<span class='adminnotice'>MC restarted successfully</span>")
|
||||
else if(rtn < 0)
|
||||
log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0")
|
||||
to_chat(admins, "<span class='boldannounce'>ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.</span>")
|
||||
to_chat(GLOB.admins, "<span class='boldannounce'>ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.</span>")
|
||||
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
|
||||
//no need to handle that specially when defcon 0 can handle it
|
||||
if(0) //DEFCON 0! (mc failed to restart)
|
||||
@@ -75,7 +75,7 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
|
||||
if(rtn > 0)
|
||||
defcon = 4
|
||||
master_iteration = 0
|
||||
to_chat(admins, "<span class='adminnotice'>MC restarted successfully</span>")
|
||||
to_chat(GLOB.admins, "<span class='adminnotice'>MC restarted successfully</span>")
|
||||
else
|
||||
defcon = min(defcon + 1,5)
|
||||
master_iteration = Master.iteration
|
||||
|
||||
@@ -149,7 +149,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined."
|
||||
BadBoy.flags |= SS_NO_FIRE
|
||||
if(msg)
|
||||
to_chat(admins, "<span class='boldannounce'>[msg]</span>")
|
||||
to_chat(GLOB.admins, "<span class='boldannounce'>[msg]</span>")
|
||||
log_world(msg)
|
||||
|
||||
if(istype(Master.subsystems))
|
||||
@@ -609,7 +609,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
/datum/controller/master/proc/UpdateTickRate()
|
||||
if(!processing)
|
||||
return
|
||||
var/client_count = length(clients)
|
||||
var/client_count = length(GLOB.clients)
|
||||
if(client_count < config.disable_high_pop_mc_mode_amount)
|
||||
processing = config.base_mc_tick_rate
|
||||
else if(client_count > config.high_pop_mc_mode_amount)
|
||||
|
||||
@@ -66,8 +66,8 @@ SUBSYSTEM_DEF(air)
|
||||
/datum/controller/subsystem/air/Initialize(timeofday)
|
||||
setup_overlays() // Assign icons and such for gas-turf-overlays
|
||||
setup_allturfs()
|
||||
setup_atmos_machinery(machines)
|
||||
setup_pipenets(machines)
|
||||
setup_atmos_machinery(GLOB.machines)
|
||||
setup_pipenets(GLOB.machines)
|
||||
..()
|
||||
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ SUBSYSTEM_DEF(machines)
|
||||
/datum/controller/subsystem/machines/proc/process_premachines(resumed = 0)
|
||||
/* Literally exists as snowflake for fucking powersinks goddamnit */
|
||||
if(!resumed)
|
||||
src.currentrun = processing_power_items.Copy()
|
||||
src.currentrun = GLOB.processing_power_items.Copy()
|
||||
//cache for sanid speed (lists are references anyways)
|
||||
var/list/currentrun = src.currentrun
|
||||
while(currentrun.len)
|
||||
@@ -75,9 +75,9 @@ SUBSYSTEM_DEF(machines)
|
||||
currentrun.len--
|
||||
if(!QDELETED(I))
|
||||
if(!I.pwr_drain())
|
||||
processing_power_items.Remove(I)
|
||||
GLOB.processing_power_items.Remove(I)
|
||||
else
|
||||
processing_power_items.Remove(I)
|
||||
GLOB.processing_power_items.Remove(I)
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@ SUBSYSTEM_DEF(mobs)
|
||||
var/list/currentrun = list()
|
||||
|
||||
/datum/controller/subsystem/mobs/stat_entry()
|
||||
..("P:[mob_list.len]")
|
||||
..("P:[GLOB.mob_list.len]")
|
||||
|
||||
/datum/controller/subsystem/mobs/fire(resumed = 0)
|
||||
var/seconds = wait * 0.1
|
||||
if(!resumed)
|
||||
src.currentrun = mob_list.Copy()
|
||||
src.currentrun = GLOB.mob_list.Copy()
|
||||
|
||||
//cache for sanic speed (lists are references anyways)
|
||||
var/list/currentrun = src.currentrun
|
||||
@@ -23,6 +23,6 @@ SUBSYSTEM_DEF(mobs)
|
||||
if(M)
|
||||
M.Life(seconds, times_fired)
|
||||
else
|
||||
mob_list.Remove(M)
|
||||
GLOB.mob_list.Remove(M)
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
@@ -54,7 +54,7 @@ SUBSYSTEM_DEF(nightshift)
|
||||
announce("Good evening, crew. To reduce power consumption and stimulate the circadian rhythms of some species, all of the lights aboard the station have been dimmed for the night.")
|
||||
else
|
||||
announce("Good morning, crew. As it is now day time, all of the lights aboard the station have been restored to their former brightness.")
|
||||
for(var/A in apcs)
|
||||
for(var/A in GLOB.apcs)
|
||||
var/obj/machinery/power/apc/APC = A
|
||||
if(is_station_level(APC.z))
|
||||
APC.set_nightshift(active)
|
||||
|
||||
@@ -19,7 +19,7 @@ SUBSYSTEM_DEF(weather)
|
||||
var/datum/weather/W = V
|
||||
if(W.aesthetic || W.stage != MAIN_STAGE)
|
||||
continue
|
||||
for(var/i in living_mob_list)
|
||||
for(var/i in GLOB.living_mob_list)
|
||||
var/mob/living/L = i
|
||||
if(W.can_weather_act(L))
|
||||
W.weather_act(L)
|
||||
|
||||
@@ -95,7 +95,7 @@ var/global/list/round_voters = list() //Keeps track of the individuals voting fo
|
||||
choices = sorted_choices
|
||||
//default-vote for everyone who didn't vote
|
||||
if(!config.vote_no_default && choices.len)
|
||||
var/non_voters = (clients.len - total_votes)
|
||||
var/non_voters = (GLOB.clients.len - total_votes)
|
||||
if(non_voters > 0)
|
||||
if(mode == "restart")
|
||||
choices["Continue Playing"] += non_voters
|
||||
|
||||
2
code/datums/cache/air_alarm.dm
vendored
2
code/datums/cache/air_alarm.dm
vendored
@@ -16,7 +16,7 @@ var/global/datum/repository/air_alarm/air_alarm_repository = new()
|
||||
if(is_station_contact(passed_alarm.z)) // Still need sanity checks
|
||||
alarms[++alarms.len] = passed_alarm.get_nano_data_console()
|
||||
else
|
||||
for(var/obj/machinery/alarm/alarm in (monitored_alarms ? monitored_alarms : air_alarms)) // Generating the whole list again is a bad habit but I can't be bothered to fix it right now
|
||||
for(var/obj/machinery/alarm/alarm in (monitored_alarms ? monitored_alarms : GLOB.air_alarms)) // Generating the whole list again is a bad habit but I can't be bothered to fix it right now
|
||||
if(!monitored_alarms && !is_station_contact(alarm.z))
|
||||
continue
|
||||
alarms[++alarms.len] = alarm.get_nano_data_console()
|
||||
|
||||
2
code/datums/cache/crew.dm
vendored
2
code/datums/cache/crew.dm
vendored
@@ -59,7 +59,7 @@ var/global/datum/repository/crew/crew_repository = new()
|
||||
|
||||
/datum/repository/crew/proc/scan()
|
||||
var/list/tracked = list()
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(istype(H.w_uniform, /obj/item/clothing/under))
|
||||
var/obj/item/clothing/under/C = H.w_uniform
|
||||
if(C.has_sensor)
|
||||
|
||||
2
code/datums/cache/powermonitor.dm
vendored
2
code/datums/cache/powermonitor.dm
vendored
@@ -11,7 +11,7 @@ var/global/datum/repository/powermonitor/powermonitor_repository = new()
|
||||
if(!refresh)
|
||||
return cache_entry.data
|
||||
|
||||
for(var/obj/machinery/computer/monitor/pMon in power_monitors)
|
||||
for(var/obj/machinery/computer/monitor/pMon in GLOB.power_monitors)
|
||||
if( !(pMon.stat & (NOPOWER|BROKEN)) )
|
||||
pMonData[++pMonData.len] = list ("Name" = pMon.name, "ref" = "\ref[pMon]")
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
var/real_rank = t.fields["real_rank"]
|
||||
if(OOC)
|
||||
var/active = 0
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.real_name == name && M.client && M.client.inactivity <= 10 * 60 * 10)
|
||||
active = 1
|
||||
break
|
||||
@@ -222,7 +222,7 @@ var/global/list/PDA_Manifest = list()
|
||||
|
||||
|
||||
/datum/datacore/proc/manifest()
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
manifest_inject(H)
|
||||
|
||||
/datum/datacore/proc/manifest_modify(name, assignment)
|
||||
@@ -358,7 +358,7 @@ var/record_id_num = 1001
|
||||
preview_icon.Blend(temp, ICON_OVERLAY)
|
||||
var/head = "head"
|
||||
if(head_organ.alt_head && head_organ.dna.species.bodyflags & HAS_ALT_HEADS)
|
||||
var/datum/sprite_accessory/alt_heads/alternate_head = alt_heads_list[head_organ.alt_head]
|
||||
var/datum/sprite_accessory/alt_heads/alternate_head = GLOB.alt_heads_list[head_organ.alt_head]
|
||||
if(alternate_head.icon_state)
|
||||
head = alternate_head.icon_state
|
||||
temp = new /icon(icobase, "[head]_[g]")
|
||||
@@ -390,7 +390,7 @@ var/record_id_num = 1001
|
||||
var/icon/t_marking_s
|
||||
if(H.dna.species.bodyflags & HAS_TAIL_MARKINGS)
|
||||
var/tail_marking = H.m_styles["tail"]
|
||||
var/datum/sprite_accessory/tail_marking_style = marking_styles_list[tail_marking]
|
||||
var/datum/sprite_accessory/tail_marking_style = GLOB.marking_styles_list[tail_marking]
|
||||
if(tail_marking_style && tail_marking_style.species_allowed)
|
||||
t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s")
|
||||
t_marking_s.Blend(H.m_colours["tail"], ICON_ADD)
|
||||
@@ -405,7 +405,7 @@ var/record_id_num = 1001
|
||||
eyes_s.Blend(eyes_organ.eye_colour, ICON_ADD)
|
||||
face_s.Blend(eyes_s, ICON_OVERLAY)
|
||||
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_full_list[head_organ.h_style]
|
||||
var/datum/sprite_accessory/hair_style = GLOB.hair_styles_full_list[head_organ.h_style]
|
||||
if(hair_style)
|
||||
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
|
||||
// I'll want to make a species-specific proc for this sooner or later
|
||||
@@ -425,13 +425,13 @@ var/record_id_num = 1001
|
||||
|
||||
//Head Accessory
|
||||
if(head_organ.dna.species.bodyflags & HAS_HEAD_ACCESSORY)
|
||||
var/datum/sprite_accessory/head_accessory_style = head_accessory_styles_list[head_organ.ha_style]
|
||||
var/datum/sprite_accessory/head_accessory_style = GLOB.head_accessory_styles_list[head_organ.ha_style]
|
||||
if(head_accessory_style && head_accessory_style.species_allowed)
|
||||
var/icon/head_accessory_s = new/icon("icon" = head_accessory_style.icon, "icon_state" = "[head_accessory_style.icon_state]_s")
|
||||
head_accessory_s.Blend(head_organ.headacc_colour, ICON_ADD)
|
||||
face_s.Blend(head_accessory_s, ICON_OVERLAY)
|
||||
|
||||
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style]
|
||||
var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[head_organ.f_style]
|
||||
if(facial_hair_style && facial_hair_style.species_allowed)
|
||||
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
|
||||
if(istype(head_organ.dna.species, /datum/species/slime))
|
||||
@@ -451,14 +451,14 @@ var/record_id_num = 1001
|
||||
if((H.dna.species.bodyflags & HAS_HEAD_MARKINGS) || (H.dna.species.bodyflags & HAS_BODY_MARKINGS))
|
||||
if(H.dna.species.bodyflags & HAS_BODY_MARKINGS) //Body markings.
|
||||
var/body_marking = H.m_styles["body"]
|
||||
var/datum/sprite_accessory/body_marking_style = marking_styles_list[body_marking]
|
||||
var/datum/sprite_accessory/body_marking_style = GLOB.marking_styles_list[body_marking]
|
||||
if(body_marking_style && body_marking_style.species_allowed)
|
||||
var/icon/b_marking_s = new/icon("icon" = body_marking_style.icon, "icon_state" = "[body_marking_style.icon_state]_s")
|
||||
b_marking_s.Blend(H.m_colours["body"], ICON_ADD)
|
||||
face_s.Blend(b_marking_s, ICON_OVERLAY)
|
||||
if(H.dna.species.bodyflags & HAS_HEAD_MARKINGS) //Head markings.
|
||||
var/head_marking = H.m_styles["head"]
|
||||
var/datum/sprite_accessory/head_marking_style = marking_styles_list[head_marking]
|
||||
var/datum/sprite_accessory/head_marking_style = GLOB.marking_styles_list[head_marking]
|
||||
if(head_marking_style && head_marking_style.species_allowed)
|
||||
var/icon/h_marking_s = new/icon("icon" = head_marking_style.icon, "icon_state" = "[head_marking_style.icon_state]_s")
|
||||
h_marking_s.Blend(H.m_colours["head"], ICON_ADD)
|
||||
|
||||
@@ -817,7 +817,7 @@
|
||||
|
||||
if(A.reagents)
|
||||
var/chosen_id
|
||||
var/list/reagent_options = sortAssoc(chemical_reagents_list)
|
||||
var/list/reagent_options = sortAssoc(GLOB.chemical_reagents_list)
|
||||
switch(alert(usr, "Choose a method.", "Add Reagents", "Enter ID", "Choose ID"))
|
||||
if("Enter ID")
|
||||
var/valid_id
|
||||
@@ -1033,7 +1033,7 @@
|
||||
to_chat(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
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
var/datum/disease/DD = new D.type(1, D, 0)
|
||||
viruses += DD
|
||||
DD.affected_mob = src
|
||||
active_diseases += DD //Add it to the active diseases list, now that it's actually in a mob and being processed.
|
||||
GLOB.active_diseases += DD //Add it to the active diseases list, now that it's actually in a mob and being processed.
|
||||
|
||||
//Copy properties over. This is so edited diseases persist.
|
||||
var/list/skipped = list("affected_mob","holder","carrier","stage","type","parent_type","vars","transformed")
|
||||
|
||||
@@ -67,7 +67,7 @@ var/list/diseases = subtypesof(/datum/disease)
|
||||
|
||||
/datum/disease/Destroy()
|
||||
affected_mob = null
|
||||
active_diseases.Remove(src)
|
||||
GLOB.active_diseases.Remove(src)
|
||||
return ..()
|
||||
|
||||
/datum/disease/proc/stage_act()
|
||||
|
||||
@@ -251,7 +251,7 @@ var/list/advance_cures = list(
|
||||
cures = list(advance_cures[res])
|
||||
|
||||
// Get the cure name from the cure_id
|
||||
var/datum/reagent/D = chemical_reagents_list[cures[1]]
|
||||
var/datum/reagent/D = GLOB.chemical_reagents_list[cures[1]]
|
||||
cure_text = D.name
|
||||
|
||||
|
||||
@@ -394,10 +394,10 @@ var/list/advance_cures = list(
|
||||
D.AssignName(new_name)
|
||||
D.Refresh()
|
||||
|
||||
for(var/datum/disease/advance/AD in active_diseases)
|
||||
for(var/datum/disease/advance/AD in GLOB.active_diseases)
|
||||
AD.Refresh()
|
||||
|
||||
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
|
||||
for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list))
|
||||
if(!is_station_level(H.z))
|
||||
continue
|
||||
if(!H.HasDisease(D))
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
text += "<b><font color='red'>OPERATIVE</b></font>|<a href='?src=[UID()];nuclear=clear'>no</a>"
|
||||
text += "<br><a href='?src=[UID()];nuclear=lair'>To shuttle</a>, <a href='?src=[UID()];common=undress'>undress</a>, <a href='?src=[UID()];nuclear=dressup'>dress up</a>."
|
||||
var/code
|
||||
for(var/obj/machinery/nuclearbomb/bombue in machines)
|
||||
for(var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
|
||||
if(length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
|
||||
code = bombue.r_code
|
||||
break
|
||||
@@ -471,7 +471,7 @@
|
||||
return
|
||||
|
||||
if(href_list["role_edit"])
|
||||
var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in joblist
|
||||
var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in GLOB.joblist
|
||||
if(!new_role)
|
||||
return
|
||||
assigned_role = new_role
|
||||
@@ -1029,7 +1029,7 @@
|
||||
|
||||
if("tellcode")
|
||||
var/code
|
||||
for(var/obj/machinery/nuclearbomb/bombue in machines)
|
||||
for(var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
|
||||
if(length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
|
||||
code = bombue.r_code
|
||||
break
|
||||
@@ -1439,7 +1439,7 @@
|
||||
var/list/obj/effect/landmark/abductor/scientist_landmarks = new
|
||||
agent_landmarks.len = 4
|
||||
scientist_landmarks.len = 4
|
||||
for(var/obj/effect/landmark/abductor/A in landmarks_list)
|
||||
for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
|
||||
if(istype(A, /obj/effect/landmark/abductor/agent))
|
||||
agent_landmarks[text2num(A.team)] = A
|
||||
else if(istype(A, /obj/effect/landmark/abductor/scientist))
|
||||
@@ -1497,7 +1497,7 @@
|
||||
S.action.Grant(new_character)
|
||||
|
||||
/datum/mind/proc/get_ghost(even_if_they_cant_reenter)
|
||||
for(var/mob/dead/observer/G in dead_mob_list)
|
||||
for(var/mob/dead/observer/G in GLOB.dead_mob_list)
|
||||
if(G.mind == src)
|
||||
if(G.can_reenter_corpse || even_if_they_cant_reenter)
|
||||
return G
|
||||
|
||||
@@ -669,9 +669,9 @@
|
||||
return
|
||||
|
||||
if(is_tsf_lieutenant)
|
||||
H.real_name = "Lieutenant [pick(last_names)]"
|
||||
H.real_name = "Lieutenant [pick(GLOB.last_names)]"
|
||||
else
|
||||
H.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(last_names)]"
|
||||
H.real_name = "[pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant First Class", "Master Sergeant", "Sergeant Major")] [pick(GLOB.last_names)]"
|
||||
H.name = H.real_name
|
||||
var/obj/item/card/id/I = H.wear_id
|
||||
if(istype(I))
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/knock/greater/cast(list/targets, mob/user = usr)
|
||||
if(!used)
|
||||
used = TRUE
|
||||
for(var/obj/machinery/door/airlock/A in airlocks)
|
||||
for(var/obj/machinery/door/airlock/A in GLOB.airlocks)
|
||||
if(is_station_level(A.z))
|
||||
A.req_access = list()
|
||||
A.req_one_access = list()
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
|
||||
A.attached_effect = src //so the alert can reference us, if it needs to
|
||||
linked_alert = A //so we can reference the alert, if we need to
|
||||
fast_processing.Add(src)
|
||||
GLOB.fast_processing.Add(src)
|
||||
return TRUE
|
||||
|
||||
/datum/status_effect/Destroy()
|
||||
fast_processing.Remove(src)
|
||||
GLOB.fast_processing.Remove(src)
|
||||
if(owner)
|
||||
owner.clear_alert(id)
|
||||
LAZYREMOVE(owner.status_effects, src)
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
weather_duration = rand(weather_duration_lower, weather_duration_upper)
|
||||
START_PROCESSING(SSweather, src)
|
||||
update_areas()
|
||||
for(var/M in player_list)
|
||||
for(var/M in GLOB.player_list)
|
||||
var/turf/mob_turf = get_turf(M)
|
||||
if(mob_turf && (mob_turf.z in impacted_z_levels))
|
||||
if(telegraph_message)
|
||||
@@ -74,7 +74,7 @@
|
||||
return
|
||||
stage = MAIN_STAGE
|
||||
update_areas()
|
||||
for(var/M in player_list)
|
||||
for(var/M in GLOB.player_list)
|
||||
var/turf/mob_turf = get_turf(M)
|
||||
if(mob_turf && (mob_turf.z in impacted_z_levels))
|
||||
if(weather_message)
|
||||
@@ -88,7 +88,7 @@
|
||||
return
|
||||
stage = WIND_DOWN_STAGE
|
||||
update_areas()
|
||||
for(var/M in player_list)
|
||||
for(var/M in GLOB.player_list)
|
||||
var/turf/mob_turf = get_turf(M)
|
||||
if(mob_turf && (mob_turf.z in impacted_z_levels))
|
||||
if(end_message)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
if(announcer)
|
||||
message_announcer = html_encode(announcer)
|
||||
|
||||
var/datum/language/message_language = all_languages[msg_language ? msg_language : language]
|
||||
var/datum/language/message_language = GLOB.all_languages[msg_language ? msg_language : language]
|
||||
|
||||
var/list/combined_receivers = Get_Receivers(message_language)
|
||||
var/list/receivers = combined_receivers[1]
|
||||
@@ -81,11 +81,11 @@
|
||||
var/list/garbled_receivers = list()
|
||||
|
||||
if(admin_announcement)
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!isnewplayer(M) && M.client)
|
||||
receivers |= M
|
||||
else
|
||||
for(var/obj/item/radio/R in global_radios)
|
||||
for(var/obj/item/radio/R in GLOB.global_radios)
|
||||
receivers |= R.send_announcement()
|
||||
for(var/mob/M in receivers)
|
||||
if(!istype(M) || !M.client || M.stat || !M.can_hear())
|
||||
@@ -94,7 +94,7 @@
|
||||
if(!M.say_understands(null, message_language))
|
||||
receivers -= M
|
||||
garbled_receivers |= M
|
||||
for(var/mob/M in dead_mob_list)
|
||||
for(var/mob/M in GLOB.dead_mob_list)
|
||||
if(M.client && M.stat == DEAD)
|
||||
receivers |= M
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
if(!config.sql_enabled)
|
||||
return
|
||||
var/playercount = 0
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.client)
|
||||
playercount += 1
|
||||
establish_db_connection()
|
||||
@@ -19,7 +19,7 @@
|
||||
/proc/sql_poll_admins()
|
||||
if(!config.sql_enabled)
|
||||
return
|
||||
var/admincount = admins.len
|
||||
var/admincount = GLOB.admins.len
|
||||
establish_db_connection()
|
||||
if(!dbcon.IsConnected())
|
||||
log_game("SQL ERROR during admin polling. Failed to connect.")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
icon_state = ""
|
||||
layer = AREA_LAYER
|
||||
uid = ++global_uid
|
||||
all_areas += src
|
||||
GLOB.all_areas += src
|
||||
map_name = name // Save the initial (the name set in the map) name of the area.
|
||||
|
||||
if(type == /area) // override defaults for space. TODO: make space areas of type /area/space rather than /area
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
if(!silent)
|
||||
announce_here("Depot Code BLUE", reason)
|
||||
var/list/possible_bot_spawns = list()
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(L.name == "syndi_depot_bot")
|
||||
possible_bot_spawns |= L
|
||||
if(possible_bot_spawns.len)
|
||||
@@ -215,7 +215,7 @@
|
||||
alert_log += "Code RED: [reason]"
|
||||
called_backup = TRUE
|
||||
lockout_computers()
|
||||
for(var/obj/machinery/door/poddoor/P in airlocks)
|
||||
for(var/obj/machinery/door/poddoor/P in GLOB.airlocks)
|
||||
if(P.density && P.id_tag == "syndi_depot_lvl2" && !P.operating)
|
||||
spawn(0)
|
||||
P.open()
|
||||
@@ -228,7 +228,7 @@
|
||||
comms_online = TRUE
|
||||
if(comms_online)
|
||||
spawn(0)
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(prob(50))
|
||||
if(L.name == "syndi_depot_backup")
|
||||
var/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/S = new /mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space(get_turf(L))
|
||||
@@ -311,7 +311,7 @@
|
||||
/area/syndicate_depot/core/proc/announce_here(a_header = "Depot Defense Alert", a_text = "")
|
||||
var/msg_text = "<font size=4 color='red'>[a_header]</font><br><font color='red'>[a_text]</font>"
|
||||
var/list/receivers = list()
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(!M.ckey)
|
||||
continue
|
||||
var/turf/T = get_turf(M)
|
||||
@@ -325,7 +325,7 @@
|
||||
/area/syndicate_depot/core/proc/shields_up()
|
||||
if(shield_list.len)
|
||||
return
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(L.name == "syndi_depot_shield")
|
||||
var/obj/machinery/shieldwall/syndicate/S = new /obj/machinery/shieldwall/syndicate(L.loc)
|
||||
shield_list += S.UID()
|
||||
|
||||
@@ -151,9 +151,9 @@ var/global/list/bad_blocks[0]
|
||||
if(!character.m_styles)
|
||||
character.m_styles = DEFAULT_MARKING_STYLES
|
||||
|
||||
var/head_marks = marking_styles_list.Find(character.m_styles["head"])
|
||||
var/body_marks = marking_styles_list.Find(character.m_styles["body"])
|
||||
var/tail_marks = marking_styles_list.Find(character.m_styles["tail"])
|
||||
var/head_marks = GLOB.marking_styles_list.Find(character.m_styles["head"])
|
||||
var/body_marks = GLOB.marking_styles_list.Find(character.m_styles["body"])
|
||||
var/tail_marks = GLOB.marking_styles_list.Find(character.m_styles["tail"])
|
||||
|
||||
head_traits_to_dna(H)
|
||||
eye_color_to_dna(eyes_organ)
|
||||
@@ -181,10 +181,10 @@ var/global/list/bad_blocks[0]
|
||||
else
|
||||
SetUIState(DNA_UI_GENDER, pick(0,1), 1)
|
||||
|
||||
/*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, facial_hair_styles_list.len, 1)*/
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, marking_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, marking_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, marking_styles_list.len, 1)
|
||||
/*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, GLOB.facial_hair_styles_list.len, 1)*/
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, GLOB.marking_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, GLOB.marking_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, GLOB.marking_styles_list.len, 1)
|
||||
|
||||
|
||||
UpdateUI()
|
||||
|
||||
@@ -155,17 +155,17 @@
|
||||
H.change_gender(MALE, 0)
|
||||
|
||||
//Head Markings
|
||||
var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE, marking_styles_list.len)
|
||||
if((head_marks > 0) && (head_marks <= marking_styles_list.len))
|
||||
H.m_styles["head"] = marking_styles_list[head_marks]
|
||||
var/head_marks = dna.GetUIValueRange(DNA_UI_HEAD_MARK_STYLE, GLOB.marking_styles_list.len)
|
||||
if((head_marks > 0) && (head_marks <= GLOB.marking_styles_list.len))
|
||||
H.m_styles["head"] = GLOB.marking_styles_list[head_marks]
|
||||
//Body Markings
|
||||
var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE, marking_styles_list.len)
|
||||
if((body_marks > 0) && (body_marks <= marking_styles_list.len))
|
||||
H.m_styles["body"] = marking_styles_list[body_marks]
|
||||
var/body_marks = dna.GetUIValueRange(DNA_UI_BODY_MARK_STYLE, GLOB.marking_styles_list.len)
|
||||
if((body_marks > 0) && (body_marks <= GLOB.marking_styles_list.len))
|
||||
H.m_styles["body"] = GLOB.marking_styles_list[body_marks]
|
||||
//Tail Markings
|
||||
var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE, marking_styles_list.len)
|
||||
if((tail_marks > 0) && (tail_marks <= marking_styles_list.len))
|
||||
H.m_styles["tail"] = marking_styles_list[tail_marks]
|
||||
var/tail_marks = dna.GetUIValueRange(DNA_UI_TAIL_MARK_STYLE, GLOB.marking_styles_list.len)
|
||||
if((tail_marks > 0) && (tail_marks <= GLOB.marking_styles_list.len))
|
||||
H.m_styles["tail"] = GLOB.marking_styles_list[tail_marks]
|
||||
|
||||
H.regenerate_icons()
|
||||
|
||||
@@ -185,25 +185,25 @@
|
||||
/datum/dna/proc/write_head_attributes(obj/item/organ/external/head/head_organ)
|
||||
|
||||
//Hair
|
||||
var/hair = GetUIValueRange(DNA_UI_HAIR_STYLE,hair_styles_full_list.len)
|
||||
if((hair > 0) && (hair <= hair_styles_full_list.len))
|
||||
head_organ.h_style = hair_styles_full_list[hair]
|
||||
var/hair = GetUIValueRange(DNA_UI_HAIR_STYLE,GLOB.hair_styles_full_list.len)
|
||||
if((hair > 0) && (hair <= GLOB.hair_styles_full_list.len))
|
||||
head_organ.h_style = GLOB.hair_styles_full_list[hair]
|
||||
|
||||
head_organ.hair_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HAIR_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR_B, 255))
|
||||
head_organ.sec_hair_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HAIR2_B, 255))
|
||||
|
||||
//Facial Hair
|
||||
var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len)
|
||||
if((beard > 0) && (beard <= facial_hair_styles_list.len))
|
||||
head_organ.f_style = facial_hair_styles_list[beard]
|
||||
var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,GLOB.facial_hair_styles_list.len)
|
||||
if((beard > 0) && (beard <= GLOB.facial_hair_styles_list.len))
|
||||
head_organ.f_style = GLOB.facial_hair_styles_list[beard]
|
||||
|
||||
head_organ.facial_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_BEARD_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD_B, 255))
|
||||
head_organ.sec_facial_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_B, 255))
|
||||
|
||||
//Head Accessories
|
||||
var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len)
|
||||
if((headacc > 0) && (headacc <= head_accessory_styles_list.len))
|
||||
head_organ.ha_style = head_accessory_styles_list[headacc]
|
||||
var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,GLOB.head_accessory_styles_list.len)
|
||||
if((headacc > 0) && (headacc <= GLOB.head_accessory_styles_list.len))
|
||||
head_organ.ha_style = GLOB.head_accessory_styles_list[headacc]
|
||||
|
||||
head_organ.headacc_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HACC_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_B, 255))
|
||||
|
||||
@@ -229,17 +229,17 @@
|
||||
return
|
||||
if(!head_organ.h_style)
|
||||
head_organ.h_style = "Skinhead"
|
||||
var/hair = hair_styles_full_list.Find(head_organ.h_style)
|
||||
var/hair = GLOB.hair_styles_full_list.Find(head_organ.h_style)
|
||||
|
||||
// Facial Hair
|
||||
if(!head_organ.f_style)
|
||||
head_organ.f_style = "Shaved"
|
||||
var/beard = facial_hair_styles_list.Find(head_organ.f_style)
|
||||
var/beard = GLOB.facial_hair_styles_list.Find(head_organ.f_style)
|
||||
|
||||
// Head Accessory
|
||||
if(!head_organ.ha_style)
|
||||
head_organ.ha_style = "None"
|
||||
var/headacc = head_accessory_styles_list.Find(head_organ.ha_style)
|
||||
var/headacc = GLOB.head_accessory_styles_list.Find(head_organ.ha_style)
|
||||
|
||||
SetUIValueRange(DNA_UI_HAIR_R, color2R(head_organ.hair_colour), 255, 1)
|
||||
SetUIValueRange(DNA_UI_HAIR_G, color2G(head_organ.hair_colour), 255, 1)
|
||||
@@ -261,6 +261,6 @@
|
||||
SetUIValueRange(DNA_UI_HACC_G, color2G(head_organ.headacc_colour), 255, 1)
|
||||
SetUIValueRange(DNA_UI_HACC_B, color2B(head_organ.headacc_colour), 255, 1)
|
||||
|
||||
SetUIValueRange(DNA_UI_HAIR_STYLE, hair, hair_styles_full_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_HAIR_STYLE, hair, GLOB.hair_styles_full_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_BEARD_STYLE, beard, GLOB.facial_hair_styles_list.len, 1)
|
||||
SetUIValueRange(DNA_UI_HACC_STYLE, headacc, GLOB.head_accessory_styles_list.len, 1)
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
if(new_hair)
|
||||
M.change_hair_color(new_hair)
|
||||
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_public_list[head_organ.h_style]
|
||||
var/datum/sprite_accessory/hair_style = GLOB.hair_styles_public_list[head_organ.h_style]
|
||||
if(hair_style.secondary_theme && !hair_style.no_sec_colour)
|
||||
new_hair = input("Please select secondary hair color.", "Character Generation", head_organ.sec_hair_colour) as null|color
|
||||
if(new_hair)
|
||||
@@ -85,7 +85,7 @@
|
||||
if(new_facial)
|
||||
M.change_facial_hair_color(new_facial)
|
||||
|
||||
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[head_organ.f_style]
|
||||
var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[head_organ.f_style]
|
||||
if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour)
|
||||
new_facial = input("Please select secondary facial hair color.", "Character Generation", head_organ.sec_facial_colour) as null|color
|
||||
if(new_facial)
|
||||
@@ -239,7 +239,7 @@
|
||||
else
|
||||
target.show_message("<span class='abductor'>You hear a voice that seems to echo around the room: [say]</span>")
|
||||
user.show_message("<span class='abductor'>You project your mind into [target.name]: [say]</span>")
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
G.show_message("<i>Telepathic message from <b>[user]</b> ([ghost_follow_link(user, ghost=G)]) to <b>[target]</b> ([ghost_follow_link(target, ghost=G)]): [say]</i>")
|
||||
|
||||
/datum/dna/gene/basic/grant_spell/remoteview
|
||||
@@ -271,7 +271,7 @@
|
||||
/obj/effect/proc_holder/spell/targeted/remoteview/choose_targets(mob/user = usr)
|
||||
var/list/targets = list()
|
||||
var/list/remoteviewers = new /list()
|
||||
for(var/mob/M in living_mob_list)
|
||||
for(var/mob/M in GLOB.living_mob_list)
|
||||
if(PSY_RESIST in M.mutations)
|
||||
continue
|
||||
if(REMOTE_VIEW in M.mutations)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
var/playercount = 0
|
||||
var/traitorcount = 0
|
||||
var/possible_traitors[0]
|
||||
for(var/mob/living/player in mob_list)
|
||||
for(var/mob/living/player in GLOB.mob_list)
|
||||
if(player.client && player.stat != DEAD)
|
||||
playercount += 1
|
||||
if(player.client && player.mind && player.mind.special_role && player.stat != DEAD)
|
||||
@@ -164,7 +164,7 @@
|
||||
//message_admins("Checking number of players")
|
||||
var/playercount = 0
|
||||
var/traitorcount = 0
|
||||
for(var/mob/living/player in mob_list)
|
||||
for(var/mob/living/player in GLOB.mob_list)
|
||||
if(player.client && player.stat != DEAD)
|
||||
playercount += 1
|
||||
if(player.client && player.mind && player.mind.special_role && player.stat != DEAD)
|
||||
|
||||
@@ -54,7 +54,7 @@ var/list/blob_nodes = list()
|
||||
|
||||
/datum/game_mode/blob/proc/get_blob_candidates()
|
||||
var/list/candidates = list()
|
||||
for(var/mob/living/carbon/human/player in player_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.player_list)
|
||||
if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (ROLE_BLOB in player.client.prefs.be_special))
|
||||
candidates += player
|
||||
return candidates
|
||||
@@ -113,8 +113,8 @@ var/list/blob_nodes = list()
|
||||
|
||||
if(iscarbon(blob.current))
|
||||
var/mob/living/carbon/C = blob.current
|
||||
if(directory[ckey(blob.key)])
|
||||
blob_client = directory[ckey(blob.key)]
|
||||
if(GLOB.directory[ckey(blob.key)])
|
||||
blob_client = GLOB.directory[ckey(blob.key)]
|
||||
location = get_turf(C)
|
||||
if(!is_station_level(location.z) || istype(location, /turf/space))
|
||||
if(!warned)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
intercepttext += "Nuclear Authentication Code: [nukecode] <BR>"
|
||||
intercepttext += "Message ends."
|
||||
|
||||
for(var/mob/living/silicon/ai/aiPlayer in player_list)
|
||||
for(var/mob/living/silicon/ai/aiPlayer in GLOB.player_list)
|
||||
if(aiPlayer.client)
|
||||
var/law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. The nuclear failsafe must be activated at any cost, the code is: [nukecode]."
|
||||
aiPlayer.set_zeroth_law(law)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/obj/structure/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
|
||||
blob_cores += src
|
||||
processing_objects.Add(src)
|
||||
poi_list |= src
|
||||
GLOB.poi_list |= src
|
||||
adjustcolors(color) //so it atleast appears
|
||||
if(!overmind)
|
||||
create_overmind(new_overmind)
|
||||
@@ -42,7 +42,7 @@
|
||||
overmind.blob_core = null
|
||||
overmind = null
|
||||
processing_objects.Remove(src)
|
||||
poi_list.Remove(src)
|
||||
GLOB.poi_list.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/structure/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
var/verb = "states,"
|
||||
var/rendered = "<font color=\"#EE4000\"><i><span class='game say'>Blob Telepathy, <span class='name'>[name]([blob_reagent_datum.name])</span> <span class='message'>[verb] \"[message]\"</span></span></i></font>"
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(isovermind(M) || isobserver(M))
|
||||
M.show_message(rendered, 2)
|
||||
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
if(!surrounding_turfs.len)
|
||||
return
|
||||
|
||||
for(var/mob/living/simple_animal/hostile/blob/blobspore/BS in living_mob_list)
|
||||
for(var/mob/living/simple_animal/hostile/blob/blobspore/BS in GLOB.living_mob_list)
|
||||
if(isturf(BS.loc) && get_dist(BS, T) <= 35)
|
||||
BS.LoseTarget()
|
||||
BS.Goto(pick(surrounding_turfs), BS.move_to_delay)
|
||||
|
||||
@@ -209,7 +209,7 @@
|
||||
|
||||
|
||||
/obj/structure/blob/proc/get_chem_name()
|
||||
for(var/mob/camera/blob/B in mob_list)
|
||||
for(var/mob/camera/blob/B in GLOB.mob_list)
|
||||
if(lowertext(B.blob_reagent_datum.color) == lowertext(src.color)) // Goddamit why we use strings for these
|
||||
return B.blob_reagent_datum.name
|
||||
return "unknown"
|
||||
|
||||
@@ -49,8 +49,8 @@
|
||||
if(3)
|
||||
to_chat(user, "<span class='notice'>You mold the [target]'s mind like clay, [target.p_they()] can now speak in the hivemind!</span>")
|
||||
to_chat(target, "<span class='userdanger'>A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened!</span>")
|
||||
for(var/mob/M in mob_list)
|
||||
if(all_languages["Changeling"] in M.languages)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(GLOB.all_languages["Changeling"] in M.languages)
|
||||
to_chat(M, "<i><font color=#800080>We can sense a foreign presence in the hivemind...</font></i>")
|
||||
target.mind.linglink = 1
|
||||
target.add_language("Changeling")
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
var/list/datum/mind/possible_changelings = get_players_for_role(ROLE_CHANGELING)
|
||||
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if((player.mind in possible_changelings) && (player.client.prefs.species in protected_species_changeling))
|
||||
possible_changelings -= player.mind
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@ var/global/list/all_cults = list()
|
||||
|
||||
/datum/game_mode/cult/proc/get_unconvertables()
|
||||
var/list/ucs = list()
|
||||
for(var/mob/living/carbon/human/player in player_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.player_list)
|
||||
if(!is_convertable_to_cult(player.mind))
|
||||
ucs += player.mind
|
||||
return ucs
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
my_message = "<span class='cultlarge'><b>Harbringer of the Slaughter:</b> [message]</span>"
|
||||
else
|
||||
my_message = "<span class='cultspeech'><b>[(ishuman(user) ? "Acolyte" : "Construct")] [user]:</b> [message]</span>"
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(iscultist(M))
|
||||
to_chat(M, my_message)
|
||||
else if(M in dead_mob_list)
|
||||
else if(M in GLOB.dead_mob_list)
|
||||
to_chat(M, "<span class='cultspeech'> <a href='?src=[M.UID()];follow=\ref[user]'>(F)</a> [my_message] </span>")
|
||||
|
||||
log_say("(CULT) [message]", user)
|
||||
@@ -247,7 +247,7 @@
|
||||
if(curselimit > 1)
|
||||
to_chat(user, "<span class='notice'>We have exhausted our ability to curse the shuttle.</span>")
|
||||
return
|
||||
if(locate(/obj/singularity/narsie) in poi_list || locate(/mob/living/simple_animal/slaughter/cult) in mob_list)
|
||||
if(locate(/obj/singularity/narsie) in GLOB.poi_list || locate(/mob/living/simple_animal/slaughter/cult) in GLOB.mob_list)
|
||||
to_chat(user, "<span class='warning'>Nar-Sie or his avatars are already on this plane, there is no delaying the end of all things.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
if("convert")
|
||||
explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions."
|
||||
if("bloodspill")
|
||||
spilltarget = 100 + rand(0,player_list.len * 3)
|
||||
spilltarget = 100 + rand(0,GLOB.player_list.len * 3)
|
||||
explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles."
|
||||
if("sacrifice")
|
||||
explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual."
|
||||
@@ -78,7 +78,7 @@
|
||||
if("convert")
|
||||
explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions."
|
||||
if("bloodspill")
|
||||
spilltarget = 100 + rand(0,player_list.len * 3)
|
||||
spilltarget = 100 + rand(0,GLOB.player_list.len * 3)
|
||||
explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles."
|
||||
if("sacrifice")
|
||||
explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual."
|
||||
@@ -151,12 +151,12 @@
|
||||
|
||||
/datum/game_mode/cult/proc/get_possible_sac_targets()
|
||||
var/list/possible_sac_targets = list()
|
||||
for(var/mob/living/carbon/human/player in player_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.player_list)
|
||||
if(player.mind && !is_convertable_to_cult(player.mind) && (player.stat != DEAD))
|
||||
possible_sac_targets += player.mind
|
||||
if(!possible_sac_targets.len)
|
||||
//There are no living Unconvertables on the station. Looking for a Sacrifice Target among the ordinary crewmembers
|
||||
for(var/mob/living/carbon/human/player in player_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.player_list)
|
||||
if(is_secure_level(player.z)) //We can't sacrifice people that are on the centcom z-level
|
||||
continue
|
||||
if(player.mind && !(player.mind in cult) && (player.stat != DEAD))//make DAMN sure they are not dead
|
||||
@@ -180,7 +180,7 @@
|
||||
if(!mass_convert)
|
||||
var/living_crew = 0
|
||||
var/living_cultists = 0
|
||||
for(var/mob/living/L in player_list)
|
||||
for(var/mob/living/L in GLOB.player_list)
|
||||
if(L.stat != DEAD)
|
||||
if(L.mind in cult)
|
||||
living_cultists++
|
||||
@@ -214,7 +214,7 @@
|
||||
var/list/possible_objectives = list()
|
||||
|
||||
var/living_crew = 0
|
||||
for(var/mob/living/carbon/C in player_list)
|
||||
for(var/mob/living/carbon/C in GLOB.player_list)
|
||||
if(C.stat != DEAD)
|
||||
if(!(C.mind in cult))
|
||||
var/turf/T = get_turf(C)
|
||||
@@ -238,7 +238,7 @@
|
||||
bonus = 1
|
||||
|
||||
if("hijack")
|
||||
for(var/mob/living/L in player_list)
|
||||
for(var/mob/living/L in GLOB.player_list)
|
||||
if(L.stat != DEAD && !(L.mind in cult))
|
||||
var/area/A = get_area(L)
|
||||
if(is_type_in_list(A.loc, centcom_areas))
|
||||
@@ -247,7 +247,7 @@
|
||||
bonus = 1
|
||||
|
||||
if("massacre")
|
||||
for(var/mob/living/carbon/C in player_list)
|
||||
for(var/mob/living/carbon/C in GLOB.player_list)
|
||||
if(C.stat != DEAD && !(C.mind in cult))
|
||||
var/turf/T = get_turf(C)
|
||||
if(is_station_level(T.z)) //we're only interested in the remaining humans on the station
|
||||
|
||||
@@ -46,7 +46,7 @@ To draw a rune, use an arcane tome.
|
||||
check_icon()
|
||||
var/image/blood = image(loc = src)
|
||||
blood.override = 1
|
||||
for(var/mob/living/silicon/ai/AI in player_list)
|
||||
for(var/mob/living/silicon/ai/AI in GLOB.player_list)
|
||||
AI.client.images += blood
|
||||
|
||||
/obj/effect/rune/examine(mob/user)
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
///Checks to see if the game can be setup and ran with the current number of players or whatnot.
|
||||
/datum/game_mode/proc/can_start()
|
||||
var/playerC = 0
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if((player.client)&&(player.ready))
|
||||
playerC++
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
if(MS.active)
|
||||
useMS = MS
|
||||
break
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.mind)
|
||||
var/obj/item/pda/P=null
|
||||
for(var/obj/item/pda/check_pda in PDAs)
|
||||
@@ -193,7 +193,7 @@
|
||||
if(shuttle_master.emergency.mode < SHUTTLE_ENDGAME) //shuttle didn't get to centcom
|
||||
escape_locations -= /area/shuttle/escape
|
||||
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.client)
|
||||
clients++
|
||||
if(ishuman(M))
|
||||
@@ -260,7 +260,7 @@
|
||||
var/roletext = get_roletext(role)
|
||||
|
||||
// Assemble a list of active players without jobbans.
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if(player.client && player.ready)
|
||||
if(!jobban_isbanned(player, "Syndicate") && !jobban_isbanned(player, roletext))
|
||||
if(player_old_enough_antag(player.client,role))
|
||||
@@ -311,13 +311,13 @@
|
||||
|
||||
/datum/game_mode/proc/num_players()
|
||||
. = 0
|
||||
for(var/mob/new_player/P in player_list)
|
||||
for(var/mob/new_player/P in GLOB.player_list)
|
||||
if(P.client && P.ready)
|
||||
.++
|
||||
|
||||
/datum/game_mode/proc/num_players_started()
|
||||
. = 0
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H.client)
|
||||
.++
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
///////////////////////////////////
|
||||
/datum/game_mode/proc/get_living_heads()
|
||||
. = list()
|
||||
for(var/mob/living/carbon/human/player in mob_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.mob_list)
|
||||
var/list/real_command_positions = command_positions.Copy() - "Nanotrasen Representative"
|
||||
if(player.stat != DEAD && player.mind && (player.mind.assigned_role in real_command_positions))
|
||||
. |= player.mind
|
||||
@@ -337,7 +337,7 @@
|
||||
////////////////////////////
|
||||
/datum/game_mode/proc/get_all_heads()
|
||||
. = list()
|
||||
for(var/mob/player in mob_list)
|
||||
for(var/mob/player in GLOB.mob_list)
|
||||
var/list/real_command_positions = command_positions.Copy() - "Nanotrasen Representative"
|
||||
if(player.mind && (player.mind.assigned_role in real_command_positions))
|
||||
. |= player.mind
|
||||
@@ -347,7 +347,7 @@
|
||||
//////////////////////////////////////////////
|
||||
/datum/game_mode/proc/get_living_sec()
|
||||
. = list()
|
||||
for(var/mob/living/carbon/human/player in mob_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.mob_list)
|
||||
if(player.stat != DEAD && player.mind && (player.mind.assigned_role in security_positions))
|
||||
. |= player.mind
|
||||
|
||||
@@ -356,7 +356,7 @@
|
||||
////////////////////////////////////////
|
||||
/datum/game_mode/proc/get_all_sec()
|
||||
. = list()
|
||||
for(var/mob/living/carbon/human/player in mob_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.mob_list)
|
||||
if(player.mind && (player.mind.assigned_role in security_positions))
|
||||
. |= player.mind
|
||||
|
||||
@@ -371,11 +371,11 @@
|
||||
//////////////////////////
|
||||
proc/display_roundstart_logout_report()
|
||||
var/msg = "<span class='notice'>Roundstart logout report</span>\n\n"
|
||||
for(var/mob/living/L in mob_list)
|
||||
for(var/mob/living/L in GLOB.mob_list)
|
||||
|
||||
if(L.ckey)
|
||||
var/found = 0
|
||||
for(var/client/C in clients)
|
||||
for(var/client/C in GLOB.clients)
|
||||
if(C.ckey == L.ckey)
|
||||
found = 1
|
||||
break
|
||||
@@ -401,7 +401,7 @@ proc/display_roundstart_logout_report()
|
||||
continue //Dead
|
||||
|
||||
continue //Happy connected client
|
||||
for(var/mob/dead/observer/D in mob_list)
|
||||
for(var/mob/dead/observer/D in GLOB.mob_list)
|
||||
if(D.mind && (D.mind.original == L || D.mind.current == L))
|
||||
if(L.stat == DEAD)
|
||||
if(L.suiciding) //Suicider
|
||||
@@ -422,14 +422,14 @@ proc/display_roundstart_logout_report()
|
||||
|
||||
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(check_rights(R_ADMIN, 0, M))
|
||||
to_chat(M, msg)
|
||||
|
||||
|
||||
/proc/get_nt_opposed()
|
||||
var/list/dudes = list()
|
||||
for(var/mob/living/carbon/human/man in player_list)
|
||||
for(var/mob/living/carbon/human/man in GLOB.player_list)
|
||||
if(man.client)
|
||||
//don't try picking someone like the captain or a security officer for potential collaborators, even if they ARE opposed to Nanotrasen for some reason
|
||||
if(man.mind && man.mind.assigned_role)
|
||||
|
||||
@@ -145,14 +145,14 @@ var/round_start_time = 0
|
||||
spawn(0)//Forking here so we dont have to wait for this to finish
|
||||
mode.post_setup()
|
||||
//Cleanup some stuff
|
||||
for(var/obj/effect/landmark/start/S in landmarks_list)
|
||||
for(var/obj/effect/landmark/start/S in GLOB.landmarks_list)
|
||||
//Deleting Startpoints but we need the ai point to AI-ize people later
|
||||
if(S.name != "AI")
|
||||
qdel(S)
|
||||
|
||||
// take care of random spesspod spawning
|
||||
var/list/obj/effect/landmark/spacepod/random/L = list()
|
||||
for(var/obj/effect/landmark/spacepod/random/SS in landmarks_list)
|
||||
for(var/obj/effect/landmark/spacepod/random/SS in GLOB.landmarks_list)
|
||||
if(istype(SS))
|
||||
L += SS
|
||||
if(L.len)
|
||||
@@ -238,7 +238,7 @@ var/round_start_time = 0
|
||||
|
||||
votetimer()
|
||||
|
||||
for(var/mob/new_player/N in mob_list)
|
||||
for(var/mob/new_player/N in GLOB.mob_list)
|
||||
if(N.client)
|
||||
N.new_player_panel_proc()
|
||||
|
||||
@@ -261,12 +261,12 @@ var/round_start_time = 0
|
||||
|
||||
var/obj/structure/stool/bed/temp_buckle = new(src)
|
||||
if(station_missed)
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
M.buckled = temp_buckle //buckles the mob so it can't do anything
|
||||
if(M.client)
|
||||
M.client.screen += cinematic //show every client the cinematic
|
||||
else //nuke kills everyone on z-level 1 to prevent "hurr-durr I survived"
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
M.buckled = temp_buckle
|
||||
if(M.stat != DEAD)
|
||||
var/turf/T = get_turf(M)
|
||||
@@ -343,7 +343,7 @@ var/round_start_time = 0
|
||||
|
||||
|
||||
/datum/controller/gameticker/proc/create_characters()
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if(player.ready && player.mind)
|
||||
if(player.mind.assigned_role == "AI")
|
||||
player.close_spawn_windows()
|
||||
@@ -357,14 +357,14 @@ var/round_start_time = 0
|
||||
|
||||
|
||||
/datum/controller/gameticker/proc/collect_minds()
|
||||
for(var/mob/living/player in player_list)
|
||||
for(var/mob/living/player in GLOB.player_list)
|
||||
if(player.mind)
|
||||
ticker.minds += player.mind
|
||||
|
||||
|
||||
/datum/controller/gameticker/proc/equip_characters()
|
||||
var/captainless=1
|
||||
for(var/mob/living/carbon/human/player in player_list)
|
||||
for(var/mob/living/carbon/human/player in GLOB.player_list)
|
||||
if(player && player.mind && player.mind.assigned_role)
|
||||
if(player.mind.assigned_role == "Captain")
|
||||
captainless=0
|
||||
@@ -373,7 +373,7 @@ var/round_start_time = 0
|
||||
job_master.EquipRank(player, player.mind.assigned_role, 0)
|
||||
EquipCustomItems(player)
|
||||
if(captainless)
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!istype(M,/mob/new_player))
|
||||
to_chat(M, "Captainship not forced on anyone.")
|
||||
|
||||
@@ -428,7 +428,7 @@ var/round_start_time = 0
|
||||
to_chat(world, "<BR>")
|
||||
|
||||
//Silicon laws report
|
||||
for(var/mob/living/silicon/ai/aiPlayer in mob_list)
|
||||
for(var/mob/living/silicon/ai/aiPlayer in GLOB.mob_list)
|
||||
if(aiPlayer.stat != 2)
|
||||
to_chat(world, "<b>[aiPlayer.name] (Played by: [aiPlayer.key])'s laws at the end of the game were:</b>")
|
||||
else
|
||||
@@ -443,7 +443,7 @@ var/round_start_time = 0
|
||||
|
||||
var/dronecount = 0
|
||||
|
||||
for(var/mob/living/silicon/robot/robo in mob_list)
|
||||
for(var/mob/living/silicon/robot/robo in GLOB.mob_list)
|
||||
|
||||
if(istype(robo,/mob/living/silicon/robot/drone))
|
||||
dronecount++
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
/*
|
||||
/datum/intercept_text/proc/pick_mob()
|
||||
var/list/dudes = list()
|
||||
for(var/mob/living/carbon/human/man in player_list)
|
||||
for(var/mob/living/carbon/human/man in GLOB.player_list)
|
||||
if(!man.mind) continue
|
||||
if(man.mind.assigned_role == man.mind.special_role) continue
|
||||
dudes += man
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
/datum/intercept_text/proc/get_suspect()
|
||||
var/list/dudes = list()
|
||||
for(var/mob/living/carbon/human/man in player_list)
|
||||
for(var/mob/living/carbon/human/man in GLOB.player_list)
|
||||
if(man.client && man.client.prefs.nanotrasen_relation == "Opposed")
|
||||
//don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator)
|
||||
if(man.mind && man.mind.assigned_role)
|
||||
@@ -119,8 +119,8 @@
|
||||
if(man.dna.species.name in ticker.mode.protected_species)
|
||||
return
|
||||
dudes += man
|
||||
for(var/i = 0, i < max(player_list.len/10,2), i++)
|
||||
dudes += pick(player_list)
|
||||
for(var/i = 0, i < max(GLOB.player_list.len/10,2), i++)
|
||||
dudes += pick(GLOB.player_list)
|
||||
return pick(dudes)
|
||||
|
||||
/datum/intercept_text/proc/build_traitor(datum/mind/correct_person)
|
||||
@@ -211,11 +211,11 @@
|
||||
if(prob(prob_right_job))
|
||||
if(correct_person)
|
||||
if(correct_person:assigned_role == correct_person:special_role)
|
||||
changeling_job = pick(joblist)
|
||||
changeling_job = pick(GLOB.joblist)
|
||||
else
|
||||
changeling_job = correct_person:assigned_role
|
||||
else
|
||||
changeling_job = pick(joblist)
|
||||
changeling_job = pick(GLOB.joblist)
|
||||
if(prob(prob_right_dude) && ticker.mode == "changeling")
|
||||
if(correct_person:assigned_role == correct_person:special_role)
|
||||
changeling_name = correct_person:current
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
doomsday_device = DOOM
|
||||
doomsday_device.start()
|
||||
verbs -= /mob/living/silicon/ai/proc/nuke_station
|
||||
for(var/obj/item/pinpointer/point in pinpointer_list)
|
||||
for(var/obj/item/pinpointer/point in GLOB.pinpointer_list)
|
||||
for(var/mob/living/silicon/ai/A in ai_list)
|
||||
if((A.stat != DEAD) && A.nuking)
|
||||
point.the_disk = A //The pinpointer now tracks the AI core
|
||||
@@ -56,7 +56,7 @@
|
||||
var/announced = 0
|
||||
|
||||
/obj/machinery/doomsday_device/Destroy()
|
||||
fast_processing -= src
|
||||
GLOB.fast_processing -= src
|
||||
shuttle_master.emergencyNoEscape = 0
|
||||
if(shuttle_master.emergency.mode == SHUTTLE_STRANDED)
|
||||
shuttle_master.emergency.mode = SHUTTLE_DOCKED
|
||||
@@ -67,7 +67,7 @@
|
||||
/obj/machinery/doomsday_device/proc/start()
|
||||
detonation_timer = world.time + default_timer
|
||||
timing = 1
|
||||
fast_processing += src
|
||||
GLOB.fast_processing += src
|
||||
shuttle_master.emergencyNoEscape = 1
|
||||
|
||||
/obj/machinery/doomsday_device/proc/seconds_remaining()
|
||||
@@ -84,7 +84,7 @@
|
||||
priority_announcement.Announce("Hostile environment resolved. You have 3 minutes to board the Emergency Shuttle.", "Priority Announcement", 'sound/AI/shuttledock.ogg')
|
||||
qdel(src)
|
||||
if(!timing)
|
||||
fast_processing -= src
|
||||
GLOB.fast_processing -= src
|
||||
return
|
||||
var/sec_left = seconds_remaining()
|
||||
if(sec_left <= 0)
|
||||
@@ -99,10 +99,10 @@
|
||||
announced = max(0, announced-1)
|
||||
|
||||
/obj/machinery/doomsday_device/proc/detonate(z_level = 1)
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
M << 'sound/machines/Alarm.ogg'
|
||||
sleep(100)
|
||||
for(var/mob/living/L in mob_list)
|
||||
for(var/mob/living/L in GLOB.mob_list)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T || T.z != z_level)
|
||||
continue
|
||||
@@ -131,7 +131,7 @@
|
||||
return
|
||||
|
||||
src.verbs -= /mob/living/silicon/ai/proc/upgrade_turrets
|
||||
for(var/obj/machinery/porta_turret/turret in machines)
|
||||
for(var/obj/machinery/porta_turret/turret in GLOB.machines)
|
||||
var/turf/T = get_turf(turret)
|
||||
if(is_station_level(T.z))
|
||||
turret.health += 30
|
||||
@@ -156,7 +156,7 @@
|
||||
if(stat)
|
||||
return
|
||||
|
||||
for(var/obj/machinery/door/D in airlocks)
|
||||
for(var/obj/machinery/door/D in GLOB.airlocks)
|
||||
if(!is_station_level(D.z))
|
||||
continue
|
||||
INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, src)
|
||||
@@ -188,7 +188,7 @@
|
||||
if(stat || malf_cooldown > world.time)
|
||||
return
|
||||
|
||||
for(var/obj/item/rcd/RCD in rcd_list)
|
||||
for(var/obj/item/rcd/RCD in GLOB.rcd_list)
|
||||
if(!istype(RCD, /obj/item/rcd/borg)) //Ensures that cyborg RCDs are spared.
|
||||
RCD.detonate_pulse()
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
if(stat)
|
||||
return
|
||||
|
||||
for(var/obj/machinery/firealarm/F in machines)
|
||||
for(var/obj/machinery/firealarm/F in GLOB.machines)
|
||||
if(!is_station_level(F.z))
|
||||
continue
|
||||
F.emagged = 1
|
||||
@@ -262,7 +262,7 @@
|
||||
if(stat)
|
||||
return
|
||||
|
||||
for(var/obj/machinery/alarm/AA in machines)
|
||||
for(var/obj/machinery/alarm/AA in GLOB.machines)
|
||||
if(!is_station_level(AA.z))
|
||||
continue
|
||||
AA.emagged = 1
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
power_type = /mob/living/silicon/ai/proc/overload_machine
|
||||
|
||||
/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in machines)
|
||||
/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in GLOB.machines)
|
||||
set name = "Overload Machine"
|
||||
set category = "Malfunction"
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
power_type = /mob/living/silicon/ai/proc/override_machine
|
||||
|
||||
|
||||
/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in machines)
|
||||
/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in GLOB.machines)
|
||||
set name = "Override Machine"
|
||||
set category = "Malfunction"
|
||||
|
||||
@@ -428,7 +428,7 @@
|
||||
for(var/datum/AI_Module/small/blackout/blackout in current_modules)
|
||||
if(blackout.uses > 0)
|
||||
blackout.uses --
|
||||
for(var/obj/machinery/power/apc/apc in apcs)
|
||||
for(var/obj/machinery/power/apc/apc in GLOB.apcs)
|
||||
if(prob(30*apc.overload))
|
||||
apc.overload_lighting()
|
||||
else
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/datum/game_mode/meteor/declare_completion()
|
||||
var/text
|
||||
var/survivors = 0
|
||||
for(var/mob/living/player in player_list)
|
||||
for(var/mob/living/player in GLOB.player_list)
|
||||
if(player.stat != DEAD)
|
||||
var/turf/location = get_turf(player.loc)
|
||||
if(!location) continue
|
||||
|
||||
@@ -118,13 +118,13 @@
|
||||
return .
|
||||
|
||||
/obj/effect/meteor/Destroy()
|
||||
meteor_list -= src
|
||||
GLOB.meteor_list -= src
|
||||
walk(src,0) //this cancels the walk_towards() proc
|
||||
return ..()
|
||||
|
||||
/obj/effect/meteor/New()
|
||||
..()
|
||||
meteor_list += src
|
||||
GLOB.meteor_list += src
|
||||
SpinAnimation()
|
||||
|
||||
/obj/effect/meteor/Bump(atom/A)
|
||||
@@ -174,7 +174,7 @@
|
||||
var/sound/meteor_sound = sound(meteorsound)
|
||||
var/random_frequency = get_rand_frequency()
|
||||
|
||||
for(var/P in player_list)
|
||||
for(var/P in GLOB.player_list)
|
||||
var/mob/M = P
|
||||
var/turf/T = get_turf(M)
|
||||
if(!T || T.z != src.z)
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
explanation_text = "Call forth a spirit from the other side."
|
||||
|
||||
/datum/objective/abductee/calling/New()
|
||||
var/mob/dead/D = pick(dead_mob_list)
|
||||
var/mob/dead/D = pick(GLOB.dead_mob_list)
|
||||
if(D)
|
||||
explanation_text = "You know that [D] has perished. Hold a seance to call them from the spirit realm."
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
var/list/obj/effect/landmark/abductor/scientist_landmarks = list()
|
||||
agent_landmarks.len = max_teams
|
||||
scientist_landmarks.len = max_teams
|
||||
for(var/obj/effect/landmark/abductor/A in landmarks_list)
|
||||
for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
|
||||
if(istype(A,/obj/effect/landmark/abductor/agent))
|
||||
agent_landmarks[text2num(A.team)] = A
|
||||
else if(istype(A,/obj/effect/landmark/abductor/scientist))
|
||||
@@ -166,7 +166,7 @@
|
||||
abductor.announce_objectives()
|
||||
|
||||
/datum/game_mode/abduction/proc/get_team_console(team_number)
|
||||
for(var/obj/machinery/abductor/console/C in machines)
|
||||
for(var/obj/machinery/abductor/console/C in GLOB.machines)
|
||||
if(C.team == team_number)
|
||||
return C
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
return FALSE
|
||||
var/datum/species/abductor/S = H.dna.species
|
||||
ab_team = S.team
|
||||
for(var/obj/machinery/abductor/experiment/E in machines)
|
||||
for(var/obj/machinery/abductor/experiment/E in GLOB.machines)
|
||||
if(E.team == ab_team)
|
||||
if(E.points >= target_amount)
|
||||
return TRUE
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
/obj/item/clothing/suit/armor/abductor/Destroy()
|
||||
processing_objects.Remove(src)
|
||||
for(var/obj/machinery/abductor/console/C in machines)
|
||||
for(var/obj/machinery/abductor/console/C in GLOB.machines)
|
||||
if(C.vest == src)
|
||||
C.vest = null
|
||||
break
|
||||
@@ -491,7 +491,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
|
||||
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
H.forcesay(hit_appends)
|
||||
H.forcesay(GLOB.hit_appends)
|
||||
|
||||
add_attack_logs(user, L, "Stunned with [src]")
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
l_ear = /obj/item/radio/headset/abductor
|
||||
|
||||
/datum/outfit/abductor/proc/get_team_console(team_number)
|
||||
for(var/obj/machinery/abductor/console/C in machines)
|
||||
for(var/obj/machinery/abductor/console/C in GLOB.machines)
|
||||
if(C.team == team_number)
|
||||
return C
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
icon_state = "camera"
|
||||
|
||||
/obj/machinery/computer/camera_advanced/abductor/New()
|
||||
abductor_equipment.Add(src)
|
||||
GLOB.abductor_equipment.Add(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/camera_advanced/abductor/CreateEye()
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
var/team = 0
|
||||
|
||||
/obj/machinery/abductor/New()
|
||||
abductor_equipment.Add(src)
|
||||
GLOB.abductor_equipment.Add(src)
|
||||
..()
|
||||
|
||||
/obj/machinery/abductor/Destroy()
|
||||
abductor_equipment.Remove(src)
|
||||
GLOB.abductor_equipment.Remove(src)
|
||||
return ..()
|
||||
|
||||
//Console
|
||||
@@ -152,17 +152,17 @@
|
||||
|
||||
/obj/machinery/abductor/console/proc/Link_Abduction_Equipment() // these must all be explicitly `in machines` or they will not properly link.
|
||||
|
||||
for(var/obj/machinery/abductor/pad/p in abductor_equipment)
|
||||
for(var/obj/machinery/abductor/pad/p in GLOB.abductor_equipment)
|
||||
if(p.team == team)
|
||||
pad = p
|
||||
break
|
||||
|
||||
for(var/obj/machinery/abductor/experiment/e in abductor_equipment)
|
||||
for(var/obj/machinery/abductor/experiment/e in GLOB.abductor_equipment)
|
||||
if(e.team == team)
|
||||
experiment = e
|
||||
e.console = src
|
||||
|
||||
for(var/obj/machinery/computer/camera_advanced/abductor/c in abductor_equipment)
|
||||
for(var/obj/machinery/computer/camera_advanced/abductor/c in GLOB.abductor_equipment)
|
||||
if(c.team == team)
|
||||
camera = c
|
||||
c.console = src
|
||||
@@ -194,7 +194,7 @@
|
||||
if(vest == V)
|
||||
return FALSE
|
||||
|
||||
for(var/obj/machinery/abductor/console/C in machines)
|
||||
for(var/obj/machinery/abductor/console/C in GLOB.machines)
|
||||
if(C.vest == V)
|
||||
C.vest = null
|
||||
break
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
to_chat(src, "You whisper silently, \"[message]\"")
|
||||
to_chat(B.host, "<i><span class='alien'>The captive mind of [src] whispers, \"[message]\"</span></i>")
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M.mind && isobserver(M))
|
||||
to_chat(M, "<i>Thought-speech, <b>[src]</b> -> <b>[B.truename]:</b> [message]</i>")
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
if(host)
|
||||
to_chat(host, "<span class='changeling'><i>[truename] [say_string]:</i> [input]</span>")
|
||||
log_say("(BORER to [key_name(host)]) [input]", src)
|
||||
for(var/M in dead_mob_list)
|
||||
for(var/M in GLOB.dead_mob_list)
|
||||
if(isobserver(M))
|
||||
to_chat(M, "<span class='changeling'><i>Borer Communication from <b>[truename]</b> ([ghost_follow_link(src, ghost=M)]): [input]</i>")
|
||||
to_chat(src, "<span class='changeling'><i>[truename] [say_string]:</i> [input]</span>")
|
||||
@@ -217,7 +217,7 @@
|
||||
to_chat(B, "<span class='changeling'><i>[src] says:</i> [input]</span>")
|
||||
log_say("(BORER to [key_name(B)]) [input]", src)
|
||||
|
||||
for(var/M in dead_mob_list)
|
||||
for(var/M in GLOB.dead_mob_list)
|
||||
if(isobserver(M))
|
||||
to_chat(M, "<span class='changeling'><i>Borer Communication from <b>[src]</b> ([ghost_follow_link(src, ghost=M)]): [input]</i>")
|
||||
to_chat(src, "<span class='changeling'><i>[src] says:</i> [input]</span>")
|
||||
@@ -239,7 +239,7 @@
|
||||
to_chat(CB, "<span class='changeling'><i>[B.truename] says:</i> [input]</span>")
|
||||
log_say("(BORER to [key_name(CB)]) [input]", B)
|
||||
|
||||
for(var/M in dead_mob_list)
|
||||
for(var/M in GLOB.dead_mob_list)
|
||||
if(isobserver(M))
|
||||
to_chat(M, "<span class='changeling'><i>Borer Communication from <b>[B]</b> ([ghost_follow_link(src, ghost=M)]): [input]</i>")
|
||||
to_chat(src, "<span class='changeling'><i>[B.truename] says:</i> [input]</span>")
|
||||
@@ -397,7 +397,7 @@
|
||||
for(var/datum in typesof(/datum/borer_chem))
|
||||
var/datum/borer_chem/C = datum
|
||||
var/cname = initial(C.chemname)
|
||||
var/datum/reagent/R = chemical_reagents_list[cname]
|
||||
var/datum/reagent/R = GLOB.chemical_reagents_list[cname]
|
||||
if(cname)
|
||||
content += "<tr><td><a class='chem-select' href='?_src_=[UID()];src=[UID()];borer_use_chem=[cname]'>[R.name] ([initial(C.chemuse)])</a><p>[initial(C.chemdesc)]</p></td></tr>"
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
|
||||
if(!C || !host || controlling || !src || stat)
|
||||
return
|
||||
var/datum/reagent/R = chemical_reagents_list[C.chemname]
|
||||
var/datum/reagent/R = GLOB.chemical_reagents_list[C.chemname]
|
||||
if(chemicals < C.chemuse)
|
||||
to_chat(src, "<span class='boldnotice'>You need [C.chemuse] chemicals stored to secrete [R.name]!</span>")
|
||||
return
|
||||
|
||||
@@ -585,6 +585,6 @@
|
||||
/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers()
|
||||
var/message = input(src, "Announce to other swarmers", "Swarmer contact")
|
||||
if(message)
|
||||
for(var/mob/M in mob_list)
|
||||
if(isswarmer(M) || (M in dead_mob_list))
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(isswarmer(M) || (M in GLOB.dead_mob_list))
|
||||
to_chat(M, "<B>Swarm communication - </b> [src] states: [message]")
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
|
||||
/datum/event/spawn_swarmer/proc/find_swarmer()
|
||||
for(var/mob/living/M in mob_list)
|
||||
for(var/mob/living/M in GLOB.mob_list)
|
||||
if(istype(M, /mob/living/simple_animal/hostile/swarmer) && M.client) //If there is a swarmer with an active client, we've found our swarmer
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -162,11 +162,11 @@
|
||||
var/input = stripped_input(src, "Please enter a message to tell your summoner.", "Guardian", "")
|
||||
if(!input) return
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(M == summoner)
|
||||
to_chat(M, "<span class='changeling'><i>[src]:</i> [input]</span>")
|
||||
log_say("(GUARDIAN to [key_name(M)]) [input]", src)
|
||||
else if(M in dead_mob_list)
|
||||
else if(M in GLOB.dead_mob_list)
|
||||
to_chat(M, "<span class='changeling'><i>Guardian Communication from <b>[src]</b> ([ghost_follow_link(src, ghost=M)]): [input]</i>")
|
||||
to_chat(src, "<span class='changeling'><i>[src]:</i> [input]</span>")
|
||||
|
||||
@@ -181,14 +181,14 @@
|
||||
var/input = stripped_input(src, "Please enter a message to tell your guardian.", "Message", "")
|
||||
if(!input) return
|
||||
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(istype (M, /mob/living/simple_animal/hostile/guardian))
|
||||
var/mob/living/simple_animal/hostile/guardian/G = M
|
||||
if(G.summoner == src)
|
||||
to_chat(G, "<span class='changeling'><i>[src]:</i> [input]</span>")
|
||||
log_say("(GUARDIAN to [key_name(G)]) [input]", src)
|
||||
|
||||
else if(M in dead_mob_list)
|
||||
else if(M in GLOB.dead_mob_list)
|
||||
to_chat(M, "<span class='changeling'><i>Guardian Communication from <b>[src]</b> ([ghost_follow_link(src, ghost=M)]): [input]</i>")
|
||||
to_chat(src, "<span class='changeling'><i>[src]:</i> [input]</span>")
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
set name = "Recall Guardian"
|
||||
set category = "Guardian"
|
||||
set desc = "Forcibly recall your guardian."
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.mob_list)
|
||||
if(G.summoner == src)
|
||||
G.Recall()
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
set desc = "Re-rolls which ghost will control your Guardian. One use."
|
||||
|
||||
src.verbs -= /mob/living/proc/guardian_reset
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in mob_list)
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.mob_list)
|
||||
if(G.summoner == src)
|
||||
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [G.real_name]?", ROLE_GUARDIAN, 0, 100)
|
||||
var/mob/dead/observer/new_stand = null
|
||||
@@ -250,7 +250,7 @@
|
||||
var/random = TRUE
|
||||
|
||||
/obj/item/guardiancreator/attack_self(mob/living/user)
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in living_mob_list)
|
||||
for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.living_mob_list)
|
||||
if(G.summoner == user)
|
||||
to_chat(user, "You already have a [mob_name]!")
|
||||
return
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
return
|
||||
log_say(message, src)
|
||||
var/rendered = "<span class='revennotice'><b>[src]</b> says, \"[message]\"</span>"
|
||||
for(var/mob/M in mob_list)
|
||||
for(var/mob/M in GLOB.mob_list)
|
||||
if(istype(M, /mob/living/simple_animal/revenant))
|
||||
to_chat(M, rendered)
|
||||
if(isobserver(M))
|
||||
@@ -366,7 +366,7 @@
|
||||
loc = get_turf(src) //In case it's in a backpack or someone's hand
|
||||
var/mob/living/simple_animal/revenant/R = new(get_turf(src))
|
||||
if(client_to_revive)
|
||||
for(var/mob/M in dead_mob_list)
|
||||
for(var/mob/M in GLOB.dead_mob_list)
|
||||
if(M.client == client_to_revive) //Only recreates the mob if the mob the client is in is dead
|
||||
R.client = client_to_revive
|
||||
key_of_revenant = client_to_revive.key
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
/datum/event/revenant/proc/get_revenant(var/end_if_fail = 0)
|
||||
var/deadMobs = 0
|
||||
for(var/mob/M in dead_mob_list)
|
||||
for(var/mob/M in GLOB.dead_mob_list)
|
||||
deadMobs++
|
||||
if(deadMobs < REVENANT_SPAWN_THRESHOLD)
|
||||
message_admins("Random event attempted to spawn a revenant, but there were only [deadMobs]/[REVENANT_SPAWN_THRESHOLD] dead mobs.")
|
||||
@@ -26,13 +26,13 @@
|
||||
var/datum/mind/player_mind = new /datum/mind(key_of_revenant)
|
||||
player_mind.active = 1
|
||||
var/list/spawn_locs = list()
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(isturf(L.loc))
|
||||
switch(L.name)
|
||||
if("revenantspawn")
|
||||
spawn_locs += L.loc
|
||||
if(!spawn_locs) //If we can't find any revenant spawns, try the carp spawns
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
if(isturf(L.loc))
|
||||
switch(L.name)
|
||||
if("carpspawn")
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/sense_victims/cast(list/targets)
|
||||
var/list/victims = targets
|
||||
for(var/mob/living/L in living_mob_list)
|
||||
for(var/mob/living/L in GLOB.living_mob_list)
|
||||
if(!L.stat && !iscultist(L) && L.key && L != usr)
|
||||
victims.Add(L)
|
||||
if(!targets.len)
|
||||
@@ -220,7 +220,7 @@
|
||||
log_say("(SLAUGHTER to [key_name(choice)]) [msg]", usr)
|
||||
to_chat(usr, "<span class='info'><b>You whisper to [choice]: </b>[msg]</span>")
|
||||
to_chat(choice, "<span class='deadsay'><b>Suddenly a strange, demonic voice resonates in your head... </b></span><i><span class='danger'> [msg]</span></I>")
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
G.show_message("<i>Demonic message from <b>[usr]</b> ([ghost_follow_link(usr, ghost=G)]) to <b>[choice]</b> ([ghost_follow_link(choice, ghost=G)]): [msg]</i>")
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ datum/game_mode/nations
|
||||
set_ai()
|
||||
assign_leaders()
|
||||
// remove_access()
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!istype(M,/mob/new_player))
|
||||
M << sound('sound/effects/purge_siren.ogg')
|
||||
|
||||
@@ -34,10 +34,10 @@ datum/game_mode/nations
|
||||
|
||||
/datum/game_mode/nations/proc/split_teams()
|
||||
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H.mind)
|
||||
if(H.mind.assigned_role in engineering_positions)
|
||||
H.mind.nation = all_nations["Atmosia"]
|
||||
H.mind.nation = GLOB.all_nations["Atmosia"]
|
||||
update_nations_icons_added(H,"hudatmosia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -48,7 +48,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in medical_positions)
|
||||
H.mind.nation = all_nations["Medistan"]
|
||||
H.mind.nation = GLOB.all_nations["Medistan"]
|
||||
update_nations_icons_added(H,"hudmedistan")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -59,7 +59,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in science_positions)
|
||||
H.mind.nation = all_nations["Scientopia"]
|
||||
H.mind.nation = GLOB.all_nations["Scientopia"]
|
||||
update_nations_icons_added(H,"hudscientopia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -70,7 +70,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in security_positions)
|
||||
H.mind.nation = all_nations["Brigston"]
|
||||
H.mind.nation = GLOB.all_nations["Brigston"]
|
||||
update_nations_icons_added(H,"hudbrigston")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -81,7 +81,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in cargonians)
|
||||
H.mind.nation = all_nations["Cargonia"]
|
||||
H.mind.nation = GLOB.all_nations["Cargonia"]
|
||||
update_nations_icons_added(H,"hudcargonia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -92,7 +92,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in servicion)
|
||||
H.mind.nation = all_nations["Servicion"]
|
||||
H.mind.nation = GLOB.all_nations["Servicion"]
|
||||
update_nations_icons_added(H,"hudservice")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -103,7 +103,7 @@ datum/game_mode/nations
|
||||
continue
|
||||
|
||||
if(H.mind.assigned_role in (support_positions + command_positions))
|
||||
H.mind.nation = all_nations["People's Republic of Commandzakstan"]
|
||||
H.mind.nation = GLOB.all_nations["People's Republic of Commandzakstan"]
|
||||
update_nations_icons_added(H,"hudcommand")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
if(H.mind.assigned_role == H.mind.nation.default_leader)
|
||||
@@ -123,7 +123,7 @@ datum/game_mode/nations
|
||||
|
||||
|
||||
/datum/game_mode/nations/proc/set_ai()
|
||||
for(var/mob/living/silicon/ai/AI in mob_list)
|
||||
for(var/mob/living/silicon/ai/AI in GLOB.mob_list)
|
||||
AI.set_zeroth_law("")
|
||||
AI.clear_supplied_laws()
|
||||
AI.clear_ion_laws()
|
||||
@@ -141,14 +141,14 @@ datum/game_mode/nations
|
||||
qdel(oldmmi)
|
||||
|
||||
/datum/game_mode/nations/proc/remove_access()
|
||||
for(var/obj/machinery/door/airlock/W in airlocks)
|
||||
for(var/obj/machinery/door/airlock/W in GLOB.airlocks)
|
||||
if(is_station_level(W.z))
|
||||
W.req_access = list()
|
||||
|
||||
|
||||
/datum/game_mode/nations/proc/assign_leaders()
|
||||
for(var/name in all_nations)
|
||||
var/datum/nations/N = all_nations[name]
|
||||
for(var/name in GLOB.all_nations)
|
||||
var/datum/nations/N = GLOB.all_nations[name]
|
||||
if(!N.current_name)
|
||||
N.current_name = N.default_name
|
||||
if(!N.current_leader && N.membership.len)
|
||||
@@ -174,49 +174,49 @@ datum/game_mode/nations
|
||||
|
||||
if(H.mind)
|
||||
if(H.mind.assigned_role in engineering_positions)
|
||||
H.mind.nation = all_nations["Atmosia"]
|
||||
H.mind.nation = GLOB.all_nations["Atmosia"]
|
||||
mode.update_nations_icons_added(H,"atmosia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in medical_positions)
|
||||
H.mind.nation = all_nations["Medistan"]
|
||||
H.mind.nation = GLOB.all_nations["Medistan"]
|
||||
mode.update_nations_icons_added(H,"hudmedistan")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in science_positions)
|
||||
H.mind.nation = all_nations["Scientopia"]
|
||||
H.mind.nation = GLOB.all_nations["Scientopia"]
|
||||
mode.update_nations_icons_added(H,"hudscientopia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in security_positions)
|
||||
H.mind.nation = all_nations["Brigston"]
|
||||
H.mind.nation = GLOB.all_nations["Brigston"]
|
||||
mode.update_nations_icons_added(H,"hudbrigston")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in mode.cargonians)
|
||||
H.mind.nation = all_nations["Cargonia"]
|
||||
H.mind.nation = GLOB.all_nations["Cargonia"]
|
||||
mode.update_nations_icons_added(H,"hudcargonia")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in mode.servicion)
|
||||
H.mind.nation = all_nations["Servicion"]
|
||||
H.mind.nation = GLOB.all_nations["Servicion"]
|
||||
mode.update_nations_icons_added(H,"hudservice")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
return 1
|
||||
|
||||
if(H.mind.assigned_role in (support_positions + command_positions))
|
||||
H.mind.nation = all_nations["People's Republic of Commandzakstan"]
|
||||
H.mind.nation = GLOB.all_nations["People's Republic of Commandzakstan"]
|
||||
mode.update_nations_icons_added(H,"hudcommand")
|
||||
H.mind.nation.membership += H.mind.current
|
||||
to_chat(H, "You are now part of the great sovereign nation of [H.mind.nation.current_name]!")
|
||||
|
||||
@@ -91,7 +91,7 @@ proc/issyndicate(mob/living/M as mob)
|
||||
|
||||
var/list/turf/synd_spawn = list()
|
||||
|
||||
for(var/obj/effect/landmark/A in landmarks_list)
|
||||
for(var/obj/effect/landmark/A in GLOB.landmarks_list)
|
||||
if(A.name == "Syndicate-Spawn")
|
||||
synd_spawn += get_turf(A)
|
||||
qdel(A)
|
||||
@@ -296,7 +296,7 @@ proc/issyndicate(mob/living/M as mob)
|
||||
|
||||
/datum/game_mode/nuclear/declare_completion()
|
||||
var/disk_rescued = 1
|
||||
for(var/obj/item/disk/nuclear/D in poi_list)
|
||||
for(var/obj/item/disk/nuclear/D in GLOB.poi_list)
|
||||
if(!D.onCentcom())
|
||||
disk_rescued = 0
|
||||
break
|
||||
@@ -394,7 +394,7 @@ proc/issyndicate(mob/living/M as mob)
|
||||
return 1
|
||||
|
||||
/proc/nukelastname(var/mob/M as mob) //--All praise goes to NEO|Phyte, all blame goes to DH, and it was Cindi-Kate's idea. Also praise Urist for copypasta ho.
|
||||
var/randomname = pick(last_names)
|
||||
var/randomname = pick(GLOB.last_names)
|
||||
var/newname = sanitize(copytext(input(M,"You are the nuke operative [pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")]. Please choose a last name for your family.", "Name change",randomname),1,MAX_NAME_LEN))
|
||||
|
||||
if(!newname)
|
||||
@@ -411,9 +411,9 @@ proc/issyndicate(mob/living/M as mob)
|
||||
for(var/datum/mind/synd_mind in syndicates)
|
||||
switch(synd_mind.current.gender)
|
||||
if(MALE)
|
||||
synd_mind.name = "[pick(first_names_male)] [pick(last_names)]"
|
||||
synd_mind.name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
|
||||
if(FEMALE)
|
||||
synd_mind.name = "[pick(first_names_female)] [pick(last_names)]"
|
||||
synd_mind.name = "[pick(GLOB.first_names_female)] [pick(GLOB.last_names)]"
|
||||
synd_mind.current.real_name = synd_mind.name
|
||||
return
|
||||
|
||||
|
||||
@@ -52,12 +52,12 @@
|
||||
to_chat(user, "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.")
|
||||
to_chat(user, "<b>Look below you on the floor for the extra uplink</b>")
|
||||
|
||||
for(var/obj/machinery/computer/shuttle/syndicate/S in machines)
|
||||
for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines)
|
||||
S.challenge = TRUE
|
||||
|
||||
var/obj/item/radio/uplink/U = new /obj/item/radio/uplink(get_turf(user))
|
||||
U.hidden_uplink.uplink_owner= "[user.key]"
|
||||
U.hidden_uplink.uses = CHALLENGE_TELECRYSTALS + round((((player_list.len - CHALLENGE_MIN_PLAYERS)/CHALLENGE_SCALE_PLAYER) * CHALLENGE_SCALE_BONUS)) // No. of player - Min. Player to dec, divided by player per bonus, then multipled by TC per bonus. Rounded.
|
||||
U.hidden_uplink.uses = CHALLENGE_TELECRYSTALS + round((((GLOB.player_list.len - CHALLENGE_MIN_PLAYERS)/CHALLENGE_SCALE_PLAYER) * CHALLENGE_SCALE_BONUS)) // No. of player - Min. Player to dec, divided by player per bonus, then multipled by TC per bonus. Rounded.
|
||||
config.shuttle_refuel_delay = CHALLENGE_SHUTTLE_DELAY
|
||||
qdel(src)
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
if(declaring_war)
|
||||
to_chat(user, "You are already in the process of declaring war! Make your mind up.")
|
||||
return FALSE
|
||||
if(player_list.len < CHALLENGE_MIN_PLAYERS)
|
||||
if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS)
|
||||
to_chat(user, "The enemy crew is too small to be worth declaring war on.")
|
||||
return FALSE
|
||||
if(!is_admin_level(user.z))
|
||||
@@ -74,7 +74,7 @@
|
||||
if((world.time - round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started
|
||||
to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.")
|
||||
return FALSE
|
||||
for(var/obj/machinery/computer/shuttle/syndicate/S in machines)
|
||||
for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines)
|
||||
if(S.moved)
|
||||
to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.")
|
||||
return FALSE
|
||||
|
||||
@@ -32,11 +32,11 @@ var/bomb_set
|
||||
r_code = "[rand(10000, 99999.0)]"//Creates a random code upon object spawn.
|
||||
wires = new/datum/wires/nuclearbomb(src)
|
||||
previous_level = get_security_level()
|
||||
poi_list |= src
|
||||
GLOB.poi_list |= src
|
||||
|
||||
/obj/machinery/nuclearbomb/Destroy()
|
||||
QDEL_NULL(wires)
|
||||
poi_list.Remove(src)
|
||||
GLOB.poi_list.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/nuclearbomb/process()
|
||||
@@ -405,7 +405,7 @@ var/bomb_set
|
||||
/obj/item/disk/nuclear/New()
|
||||
..()
|
||||
processing_objects.Add(src)
|
||||
poi_list |= src
|
||||
GLOB.poi_list |= src
|
||||
|
||||
/obj/item/disk/nuclear/process()
|
||||
var/turf/disk_loc = get_turf(src)
|
||||
@@ -421,12 +421,12 @@ var/bomb_set
|
||||
if(force)
|
||||
message_admins("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[diskturf.x];Y=[diskturf.y];Z=[diskturf.z]'>JMP</a>":"nonexistent location"]).")
|
||||
log_game("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]).")
|
||||
poi_list.Remove(src)
|
||||
GLOB.poi_list.Remove(src)
|
||||
processing_objects.Remove(src)
|
||||
return ..()
|
||||
|
||||
if(blobstart.len > 0)
|
||||
poi_list.Remove(src)
|
||||
GLOB.poi_list.Remove(src)
|
||||
var/obj/item/disk/nuclear/NEWDISK = new(pick(blobstart))
|
||||
transfer_fingerprints_to(NEWDISK)
|
||||
message_admins("[src] has been destroyed at ([diskturf.x], [diskturf.y], [diskturf.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[diskturf.x];Y=[diskturf.y];Z=[diskturf.z]'>JMP</a>). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[NEWDISK.x];Y=[NEWDISK.y];Z=[NEWDISK.z]'>JMP</a>).")
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
|
||||
/obj/item/pinpointer/New()
|
||||
..()
|
||||
pinpointer_list += src
|
||||
GLOB.pinpointer_list += src
|
||||
|
||||
/obj/item/pinpointer/Destroy()
|
||||
pinpointer_list -= src
|
||||
GLOB.pinpointer_list -= src
|
||||
active = 0
|
||||
the_disk = null
|
||||
return ..()
|
||||
@@ -81,7 +81,7 @@
|
||||
if(!shows_nuke_timer)
|
||||
return
|
||||
|
||||
for(var/obj/machinery/nuclearbomb/bomb in machines)
|
||||
for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
|
||||
if(bomb.timing)
|
||||
to_chat(user, "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]")
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "")
|
||||
if(!DNAstring)
|
||||
return
|
||||
for(var/mob/living/carbon/C in mob_list)
|
||||
for(var/mob/living/carbon/C in GLOB.mob_list)
|
||||
if(!C.dna)
|
||||
continue
|
||||
if(C.dna.unique_enzymes == DNAstring)
|
||||
@@ -289,7 +289,7 @@
|
||||
if(active)
|
||||
nearest_op = null //Resets nearest_op every time it scans
|
||||
var/closest_distance = 1000
|
||||
for(var/mob/living/carbon/M in mob_list)
|
||||
for(var/mob/living/carbon/M in GLOB.mob_list)
|
||||
if(M.mind && (M.mind in ticker.mode.syndicates))
|
||||
if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to
|
||||
nearest_op = M
|
||||
@@ -347,7 +347,7 @@
|
||||
var/list/name_counts = list()
|
||||
var/list/names = list()
|
||||
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(!trackable(H))
|
||||
continue
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
|
||||
|
||||
var/area/A = shuttle_master.emergency.areaInstance
|
||||
|
||||
for(var/mob/living/player in player_list) //Make sure nobody else is onboard
|
||||
for(var/mob/living/player in GLOB.player_list) //Make sure nobody else is onboard
|
||||
if(player.mind && player.mind != owner)
|
||||
if(player.stat != DEAD)
|
||||
if(issilicon(player))
|
||||
@@ -209,7 +209,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
|
||||
if(player.real_name != owner.current.real_name && !istype(get_turf(player.mind.current), /turf/simulated/shuttle/floor4))
|
||||
return 0
|
||||
|
||||
for(var/mob/living/player in player_list) //Make sure at least one of you is onboard
|
||||
for(var/mob/living/player in GLOB.player_list) //Make sure at least one of you is onboard
|
||||
if(player.mind && player.mind != owner)
|
||||
if(player.stat != DEAD)
|
||||
if(issilicon(player))
|
||||
@@ -234,7 +234,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
|
||||
var/area/A = shuttle_master.emergency.areaInstance
|
||||
var/list/protected_mobs = list(/mob/living/silicon/ai, /mob/living/silicon/pai, /mob/living/silicon/robot)
|
||||
|
||||
for(var/mob/living/player in player_list)
|
||||
for(var/mob/living/player in GLOB.player_list)
|
||||
if(player.type in protected_mobs)
|
||||
continue
|
||||
|
||||
@@ -446,13 +446,13 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu
|
||||
if(ticker)
|
||||
var/n_p = 1 //autowin
|
||||
if(ticker.current_state == GAME_STATE_SETTING_UP)
|
||||
for(var/mob/new_player/P in player_list)
|
||||
for(var/mob/new_player/P in GLOB.player_list)
|
||||
if(P.client && P.ready && P.mind != owner)
|
||||
if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
|
||||
continue
|
||||
n_p++
|
||||
else if(ticker.current_state == GAME_STATE_PLAYING)
|
||||
for(var/mob/living/carbon/human/P in player_list)
|
||||
for(var/mob/living/carbon/human/P in GLOB.player_list)
|
||||
if(NO_DNA in P.dna.species.species_traits)
|
||||
continue
|
||||
if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner)
|
||||
|
||||
@@ -337,7 +337,7 @@
|
||||
if(head_revolutionaries.len || GAMEMODE_IS_REVOLUTION)
|
||||
var/num_revs = 0
|
||||
var/num_survivors = 0
|
||||
for(var/mob/living/carbon/survivor in living_mob_list)
|
||||
for(var/mob/living/carbon/survivor in GLOB.living_mob_list)
|
||||
if(survivor.ckey)
|
||||
num_survivors++
|
||||
if(survivor.mind)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
to_chat(world, "<B>Build your own station with the sandbox-panel command!</B>")
|
||||
|
||||
/datum/game_mode/sandbox/pre_setup()
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
M.CanBuild()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -20,17 +20,17 @@
|
||||
// Score Calculation and Display
|
||||
|
||||
// Who is alive/dead, who escaped
|
||||
for(var/mob/living/silicon/ai/I in mob_list)
|
||||
for(var/mob/living/silicon/ai/I in GLOB.mob_list)
|
||||
if(I.stat == DEAD && is_station_level(I.z))
|
||||
score_deadaipenalty++
|
||||
score_deadcrew++
|
||||
|
||||
for(var/mob/living/carbon/human/I in mob_list)
|
||||
for(var/mob/living/carbon/human/I in GLOB.mob_list)
|
||||
if(I.stat == DEAD && is_station_level(I.z))
|
||||
score_deadcrew++
|
||||
|
||||
if(shuttle_master.emergency.mode >= SHUTTLE_ENDGAME)
|
||||
for(var/mob/living/player in mob_list)
|
||||
for(var/mob/living/player in GLOB.mob_list)
|
||||
if(player.client)
|
||||
if(player.stat != DEAD)
|
||||
var/turf/location = get_turf(player.loc)
|
||||
@@ -44,7 +44,7 @@
|
||||
var/dmg_score = 0
|
||||
|
||||
if(shuttle_master.emergency.mode >= SHUTTLE_ENDGAME)
|
||||
for(var/mob/living/carbon/human/E in mob_list)
|
||||
for(var/mob/living/carbon/human/E in GLOB.mob_list)
|
||||
cash_score = 0
|
||||
dmg_score = 0
|
||||
var/turf/location = get_turf(E.loc)
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
|
||||
// Check station's power levels
|
||||
for(var/obj/machinery/power/apc/A in apcs)
|
||||
for(var/obj/machinery/power/apc/A in GLOB.apcs)
|
||||
if(!is_station_level(A.z)) continue
|
||||
for(var/obj/item/stock_parts/cell/C in A.contents)
|
||||
if(C.charge < 2300)
|
||||
@@ -142,7 +142,7 @@
|
||||
// Show the score - might add "ranks" later
|
||||
to_chat(world, "<b>The crew's final score is:</b>")
|
||||
to_chat(world, "<b><font size='4'>[score_crewscore]</font></b>")
|
||||
for(var/mob/E in player_list)
|
||||
for(var/mob/E in GLOB.player_list)
|
||||
if(E.client && !E.get_preference(DISABLE_SCOREBOARD))
|
||||
E.scorestats()
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/mob/living/simple_animal/ascendant_shadowling/proc/announce(var/text, var/size = 4, var/new_sound = null)
|
||||
var/message = "<font size=[size]><span class='shadowling'><b>\"[text]\"</font></span>"
|
||||
for(var/mob/M in player_list)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!isnewplayer(M) && M.client)
|
||||
to_chat(M, message)
|
||||
if(new_sound)
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
|
||||
to_chat(target, "<span class='shadowling'><b>You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls.</b></span>")
|
||||
|
||||
for(M in living_mob_list)
|
||||
for(M in GLOB.living_mob_list)
|
||||
if(is_thrall(M))
|
||||
thralls++
|
||||
to_chat(M, "<span class='shadowling'>You feel hooks sink into your mind and pull.</span>")
|
||||
@@ -439,7 +439,7 @@
|
||||
else if(thralls >= victory_threshold)
|
||||
to_chat(target, "<span class='shadowling'><b>You are now powerful enough to ascend. Use the Ascendance ability when you are ready. <i>This will kill all of your thralls.</i></span>")
|
||||
to_chat(target, "<span class='shadowling'><b>You may find Ascendance in the Shadowling Evolution tab.</b></span>")
|
||||
for(M in living_mob_list)
|
||||
for(M in GLOB.living_mob_list)
|
||||
if(is_shadow(M))
|
||||
var/obj/effect/proc_holder/spell/targeted/collective_mind/CM
|
||||
if(CM in M.mind.spell_list)
|
||||
|
||||
@@ -157,7 +157,7 @@ var/list/possibleShadowlingNames = list("U'ruan", "Y`shej", "Nex", "Hel-uae", "N
|
||||
for(var/mob/living/M in orange(7, H))
|
||||
M.Weaken(10)
|
||||
to_chat(M, "<span class='userdanger'>An immense pressure slams you onto the ground!</span>")
|
||||
for(var/obj/machinery/power/apc/A in apcs)
|
||||
for(var/obj/machinery/power/apc/A in GLOB.apcs)
|
||||
A.overload_lighting()
|
||||
var/mob/living/simple_animal/ascendant_shadowling/A = new /mob/living/simple_animal/ascendant_shadowling(H.loc)
|
||||
A.announce("VYSHA NERADA YEKHEZET U'RUU!!", 5, 'sound/hallucinations/veryfar_noise.ogg')
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
var/list/active_ais = active_ais()
|
||||
for(var/i = objective_count, i < config.traitor_objectives_amount, i++)
|
||||
if(prob(50))
|
||||
if(active_ais.len && prob(100/player_list.len))
|
||||
if(active_ais.len && prob(100/GLOB.player_list.len))
|
||||
var/datum/objective/destroy/destroy_objective = new
|
||||
destroy_objective.owner = traitor
|
||||
destroy_objective.find_target()
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
var/list/datum/mind/possible_vampires = get_players_for_role(ROLE_VAMPIRE)
|
||||
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if((player.mind in possible_vampires) && (player.client.prefs.species in protected_species_vampire))
|
||||
possible_vampires -= player.mind
|
||||
|
||||
|
||||
@@ -84,8 +84,8 @@
|
||||
M.equip_to_slot_or_del(new /obj/item/storage/backpack(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/storage/box(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/teleportation_scroll/apprentice(M), slot_r_store)
|
||||
var/wizard_name_first = pick(wizard_first)
|
||||
var/wizard_name_second = pick(wizard_second)
|
||||
var/wizard_name_first = pick(GLOB.wizard_first)
|
||||
var/wizard_name_second = pick(GLOB.wizard_second)
|
||||
var/randomname = "[wizard_name_first] [wizard_name_second]"
|
||||
var/newname = sanitize(copytext(input(M, "You are the wizard's apprentice. Would you like to change your name to something else?", "Name change", randomname) as null|text,1,MAX_NAME_LEN))
|
||||
|
||||
@@ -856,7 +856,7 @@ var/global/list/multiverse = list()
|
||||
possible = list()
|
||||
if(!link)
|
||||
return
|
||||
for(var/mob/living/carbon/human/H in living_mob_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
|
||||
if(md5(H.dna.uni_identity) in link.fingerprints)
|
||||
possible |= H
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
if(!candidates.len)
|
||||
message_admins("No applicable clients for the next ragin' mage, asking ghosts instead.")
|
||||
var/time_passed = world.time
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
if(!jobban_isbanned(G, "wizard") && !jobban_isbanned(G, "Syndicate"))
|
||||
spawn(0)
|
||||
switch(alert(G, "Do you wish to be considered for the position of Space Wizard Foundation 'diplomat'?","Please answer in 30 seconds!","Yes","No"))
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
to_chat(usr, "<B>You summoned [summon_type ? "magic" : "guns"]!</B>")
|
||||
message_admins("[key_name_admin(usr)] summoned [summon_type ? "magic" : "guns"]!")
|
||||
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H.stat == 2 || !(H.client))
|
||||
continue
|
||||
if(H.mind)
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
/obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/U)
|
||||
var/mob/dead/observer/chosen_ghost
|
||||
|
||||
for(var/mob/dead/observer/ghost in player_list) //We put them back in their body
|
||||
for(var/mob/dead/observer/ghost in GLOB.player_list) //We put them back in their body
|
||||
if(ghost.mind && ghost.mind.current == T && ghost.client)
|
||||
chosen_ghost = ghost
|
||||
break
|
||||
|
||||
@@ -779,7 +779,7 @@
|
||||
|
||||
/obj/item/spellbook/oneuse/mindswap/recoil(mob/user)
|
||||
..()
|
||||
if(stored_swap in dead_mob_list)
|
||||
if(stored_swap in GLOB.dead_mob_list)
|
||||
stored_swap = null
|
||||
if(!stored_swap)
|
||||
stored_swap = user
|
||||
|
||||
@@ -88,8 +88,8 @@
|
||||
|
||||
/datum/game_mode/proc/name_wizard(mob/living/carbon/human/wizard_mob)
|
||||
//Allows the wizard to choose a custom name or go with a random one. Spawn 0 so it does not lag the round starting.
|
||||
var/wizard_name_first = pick(wizard_first)
|
||||
var/wizard_name_second = pick(wizard_second)
|
||||
var/wizard_name_first = pick(GLOB.wizard_first)
|
||||
var/wizard_name_second = pick(GLOB.wizard_second)
|
||||
var/randomname = "[wizard_name_first] [wizard_name_second]"
|
||||
spawn(0)
|
||||
var/newname = sanitize(copytext(input(wizard_mob, "You are the Space Wizard. Would you like to change your name to something else?", "Name change", randomname) as null|text,1,MAX_NAME_LEN))
|
||||
|
||||
@@ -522,10 +522,10 @@ var/const/access_trade_sol = 160
|
||||
rank = src:rank
|
||||
assignment = src:assignment
|
||||
|
||||
if( rank in joblist )
|
||||
if( rank in GLOB.joblist )
|
||||
return rank
|
||||
|
||||
if( assignment in joblist )
|
||||
if( assignment in GLOB.joblist )
|
||||
return assignment
|
||||
|
||||
return "Unknown"
|
||||
@@ -587,7 +587,7 @@ proc/FindNameFromID(var/mob/living/carbon/human/H)
|
||||
return ID.registered_name
|
||||
|
||||
proc/get_all_job_icons() //For all existing HUD icons
|
||||
return joblist + list("Prisoner")
|
||||
return GLOB.joblist + list("Prisoner")
|
||||
|
||||
/obj/proc/GetJobName() //Used in secHUD icon generation
|
||||
var/obj/item/card/id/I
|
||||
|
||||
@@ -177,7 +177,7 @@ var/global/datum/controller/occupations/job_master
|
||||
break
|
||||
|
||||
/datum/controller/occupations/proc/ResetOccupations()
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if((player) && (player.mind))
|
||||
player.mind.assigned_role = null
|
||||
player.mind.special_role = null
|
||||
@@ -291,7 +291,7 @@ var/global/datum/controller/occupations/job_master
|
||||
A.spawn_positions = 3
|
||||
|
||||
//Get the players who are ready
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if(player.ready && player.mind && !player.mind.assigned_role)
|
||||
unassigned += player
|
||||
if(player.client.prefs.randomslot)
|
||||
@@ -461,7 +461,7 @@ var/global/datum/controller/occupations/job_master
|
||||
if(!joined_late)
|
||||
var/turf/T = null
|
||||
var/obj/S = null
|
||||
for(var/obj/effect/landmark/start/sloc in landmarks_list)
|
||||
for(var/obj/effect/landmark/start/sloc in GLOB.landmarks_list)
|
||||
if(sloc.name != rank)
|
||||
continue
|
||||
if(locate(/mob/living) in sloc.loc)
|
||||
@@ -562,7 +562,7 @@ var/global/datum/controller/occupations/job_master
|
||||
var/level5 = 0 //banned
|
||||
var/level6 = 0 //account too young
|
||||
var/level7 = 0 //has disability rendering them ineligible
|
||||
for(var/mob/new_player/player in player_list)
|
||||
for(var/mob/new_player/player in GLOB.player_list)
|
||||
if(!(player.ready && player.mind && !player.mind.assigned_role))
|
||||
continue //This player is not ready
|
||||
if(jobban_isbanned(player, job.title))
|
||||
|
||||
@@ -50,7 +50,7 @@ var/global/list/role_playtime_requirements = list(
|
||||
var/pline
|
||||
var/datum/job/theirjob
|
||||
var/jtext
|
||||
for(var/client/C in clients)
|
||||
for(var/client/C in GLOB.clients)
|
||||
jtext = "No Job"
|
||||
if(C.mob.mind && C.mob.mind.assigned_role)
|
||||
theirjob = job_master.GetJob(C.mob.mind.assigned_role)
|
||||
@@ -212,7 +212,7 @@ var/global/list/role_playtime_requirements = list(
|
||||
if(!establish_db_connection())
|
||||
return -1
|
||||
spawn(0)
|
||||
for(var/client/L in clients)
|
||||
for(var/client/L in GLOB.clients)
|
||||
if(L.inactivity >= (10 MINUTES))
|
||||
continue
|
||||
spawn(0)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user