Conversion many Globals to Managed Globals (Part 1) (#17121)

* Conversion of some Globals to Managed Globals

* Fix

* for later

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Selis
2025-04-17 14:16:53 -04:00
committed by GitHub
co-authored by Kashargul
parent 6a47a779d5
commit 21dcf0555b
229 changed files with 1227 additions and 1220 deletions
+14 -14
View File
@@ -19,20 +19,20 @@ var/list/talk_sound_map = rlist(
// "xeno speak" // Does not exist on virgo
),
list(
talk_sound,
goon_speak_one_sound,
goon_speak_two_sound,
goon_speak_three_sound,
goon_speak_four_sound,
goon_speak_blub_sound,
goon_speak_bottalk_sound,
goon_speak_buwoo_sound,
goon_speak_cow_sound,
goon_speak_lizard_sound,
goon_speak_pug_sound,
goon_speak_pugg_sound,
goon_speak_roach_sound,
goon_speak_skelly_sound,
GLOB.talk_sound,
GLOB.goon_speak_one_sound,
GLOB.goon_speak_two_sound,
GLOB.goon_speak_three_sound,
GLOB.goon_speak_four_sound,
GLOB.goon_speak_blub_sound,
GLOB.goon_speak_bottalk_sound,
GLOB.goon_speak_buwoo_sound,
GLOB.goon_speak_cow_sound,
GLOB.goon_speak_lizard_sound,
GLOB.goon_speak_pug_sound,
GLOB.goon_speak_pugg_sound,
GLOB.goon_speak_roach_sound,
GLOB.goon_speak_skelly_sound,
// xeno_speak_sound // Does not exist on virgo
)
)
+1 -1
View File
@@ -371,7 +371,7 @@ GLOBAL_LIST_EMPTY(legacy_globals)
GLOB.legacy_globals["visual_nets"] = visual_nets
GLOB.legacy_globals["cameranet"] = cameranet
GLOB.legacy_globals["cultnet"] = cultnet
GLOB.legacy_globals["existing_solargrubs"] = existing_solargrubs
GLOB.legacy_globals["existing_solargrubs"] = GLOB.existing_solargrubs
var/global/list/selectable_footstep = list(
"Default" = FOOTSTEP_MOB_HUMAN,
+76 -71
View File
@@ -3,42 +3,42 @@
*/
var/global/list/hair_accesories_list= list()// Stores /datum/sprite_accessory/hair_accessory indexed by type
var/global/list/negative_traits = list() // Negative custom species traits, indexed by path
var/global/list/neutral_traits = list() // Neutral custom species traits, indexed by path
var/global/list/positive_traits = list() // Positive custom species traits, indexed by path
var/global/list/everyone_traits_positive = list() // Neutral traits available to all species, indexed by path
var/global/list/everyone_traits_neutral = list() // Neutral traits available to all species, indexed by path
var/global/list/everyone_traits_negative = list() // Neutral traits available to all species, indexed by path
var/global/list/traits_costs = list() // Just path = cost list, saves time in char setup
var/global/list/all_traits = list() // All of 'em at once (same instances)
GLOBAL_LIST_EMPTY(negative_traits) // Negative custom species traits, indexed by path
GLOBAL_LIST_EMPTY(neutral_traits) // Neutral custom species traits, indexed by path
GLOBAL_LIST_EMPTY(positive_traits) // Positive custom species traits, indexed by path
GLOBAL_LIST_EMPTY(everyone_traits_positive) // Neutral traits available to all species, indexed by path
GLOBAL_LIST_EMPTY(everyone_traits_neutral) // Neutral traits available to all species, indexed by path
GLOBAL_LIST_EMPTY(everyone_traits_negative) // Neutral traits available to all species, indexed by path
GLOBAL_LIST_EMPTY(traits_costs) // Just path = cost list, saves time in char setup
GLOBAL_LIST_EMPTY(all_traits) // All of 'em at once (same instances)
var/global/list/active_ghost_pods = list()
//Global vars for making the overmap_renamer subsystem.
//Collects all instances by reference of visitable overmap objects of /obj/effect/overmap/visitable like the debris field.
var/global/list/visitable_overmap_object_instances = list()
var/global/list/sensorpreflist = list("Off", "Binary", "Vitals", "Tracking", "No Preference")
GLOBAL_LIST_INIT(sensorpreflist, list("Off", "Binary", "Vitals", "Tracking", "No Preference"))
// Used by the ban panel to determine what departments are offmap departments. All these share an 'offmap roles' ban.
var/global/list/offmap_departments = list(DEPARTMENT_TALON)
GLOBAL_LIST_INIT(offmap_departments, list(DEPARTMENT_TALON))
// Closets have magic appearances
GLOBAL_LIST_EMPTY(closet_appearances)
//stores numeric player size options indexed by name
var/global/list/player_sizes_list = list(
GLOBAL_LIST_INIT(player_sizes_list, list(
"Macro" = RESIZE_HUGE,
"Big" = RESIZE_BIG,
"Normal" = RESIZE_NORMAL,
"Small" = RESIZE_SMALL,
"Tiny" = RESIZE_TINY)
"Tiny" = RESIZE_TINY))
//stores vantag settings indexed by name
var/global/list/vantag_choices_list = list(
GLOBAL_LIST_INIT(vantag_choices_list, list(
VANTAG_NONE = "No Involvement",
VANTAG_VORE = "Be Prey",
VANTAG_KIDNAP = "Be Kidnapped",
VANTAG_KILL = "Be Killed")
VANTAG_KILL = "Be Killed"))
//Blacklist to exclude items from object ingestion. Digestion blacklist located in digest_act_vr.dm
var/global/list/item_vore_blacklist = list(
@@ -53,7 +53,7 @@ var/global/list/item_vore_blacklist = list(
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz)
//Classic Vore sounds
var/global/list/classic_vore_sounds = list(
GLOBAL_LIST_INIT(classic_vore_sounds, list(
"Gulp" = 'sound/vore/gulp.ogg',
"Insert" = 'sound/vore/insert.ogg',
"Insertion1" = 'sound/vore/insertion1.ogg',
@@ -70,9 +70,10 @@ var/global/list/classic_vore_sounds = list(
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
"Zipper" = 'sound/items/zip.ogg',
"None" = null)
"None" = null
))
var/global/list/classic_release_sounds = list(
GLOBAL_LIST_INIT(classic_release_sounds, list(
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
@@ -81,10 +82,10 @@ var/global/list/classic_release_sounds = list(
"Zipper" = 'sound/items/zip.ogg',
"Splatter" = 'sound/effects/splat.ogg',
"None" = null
)
))
//Poojy's Fancy Sounds
var/global/list/fancy_vore_sounds = list(
GLOBAL_LIST_INIT(fancy_vore_sounds, list(
"Gulp" = 'sound/vore/sunesound/pred/swallow_01.ogg',
"Swallow" = 'sound/vore/sunesound/pred/swallow_02.ogg',
"Insertion1" = 'sound/vore/sunesound/pred/insertion_01.ogg',
@@ -103,9 +104,9 @@ var/global/list/fancy_vore_sounds = list(
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
"Zipper" = 'sound/items/zip.ogg',
"None" = null
)
))
var/global/list/fancy_release_sounds = list(
GLOBAL_LIST_INIT(fancy_release_sounds, list(
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
@@ -116,9 +117,9 @@ var/global/list/fancy_release_sounds = list(
"Pred Escape" = 'sound/vore/sunesound/pred/escape.ogg',
"Splatter" = 'sound/effects/splat.ogg',
"None" = null
)
))
var/global/list/global_vore_egg_types = list(
GLOBAL_LIST_INIT(global_vore_egg_types, list(
"Unathi",
"Tajara",
"Akula",
@@ -151,7 +152,8 @@ var/global/list/global_vore_egg_types = list(
"Purple",
"Red",
"Rainbow",
"Spotted Pink")
"Spotted Pink"
))
var/global/list/tf_vore_egg_types = list(
"Unathi" = /obj/item/storage/vore_egg/unathi,
@@ -248,16 +250,16 @@ var/global/list/edible_trash = list(/obj/item/broken_device,
/obj/item/card/id
)
var/global/list/contamination_flavors = list(
"Generic" = contamination_flavors_generic,
"Acrid" = contamination_flavors_acrid,
"Dirty" = contamination_flavors_dirty,
"Musky" = contamination_flavors_musky,
"Smelly" = contamination_flavors_smelly,
"Slimy" = contamination_flavors_slimy,
"Wet" = contamination_flavors_wet)
GLOBAL_LIST_INIT(contamination_flavors, list(
"Generic" = GLOB.contamination_flavors_generic,
"Acrid" = GLOB.contamination_flavors_acrid,
"Dirty" = GLOB.contamination_flavors_dirty,
"Musky" = GLOB.contamination_flavors_musky,
"Smelly" = GLOB.contamination_flavors_smelly,
"Slimy" = GLOB.contamination_flavors_slimy,
"Wet" = GLOB.contamination_flavors_wet))
var/global/list/contamination_flavors_generic = list("acrid",
GLOBAL_LIST_INIT(contamination_flavors_generic, list("acrid",
"bedraggled",
"begrimed",
"churned",
@@ -313,9 +315,9 @@ var/global/list/contamination_flavors_generic = list("acrid",
"unclean",
"unsanitary",
"unsavory",
"yucky")
"yucky"))
var/global/list/contamination_flavors_wet = list("damp",
GLOBAL_LIST_INIT(contamination_flavors_wet, list("damp",
"drenched",
"drippy",
"gloppy",
@@ -334,9 +336,9 @@ var/global/list/contamination_flavors_wet = list("damp",
"sopping",
"squashy",
"squishy",
"sticky")
"sticky"))
var/global/list/contamination_flavors_smelly = list("disgusting",
GLOBAL_LIST_INIT(contamination_flavors_smelly, list("disgusting",
"filthy",
"foul",
"funky",
@@ -357,9 +359,9 @@ var/global/list/contamination_flavors_smelly = list("disgusting",
"stinky",
"unsavory",
"whiffy",
"yucky")
"yucky"))
var/global/list/contamination_flavors_acrid = list("acrid",
GLOBAL_LIST_INIT(contamination_flavors_acrid, list("acrid",
"caustic",
"churned",
"chymous",
@@ -398,9 +400,9 @@ var/global/list/contamination_flavors_acrid = list("acrid",
"sticky",
"tainted",
"unsavory",
"yucky")
"yucky"))
var/global/list/contamination_flavors_dirty = list("bedraggled",
GLOBAL_LIST_INIT(contamination_flavors_dirty, list("bedraggled",
"begrimed",
"besmirched",
"blemished",
@@ -434,9 +436,9 @@ var/global/list/contamination_flavors_dirty = list("bedraggled",
"tarnished",
"unclean",
"unsanitary",
"unsavory")
"unsavory"))
var/global/list/contamination_flavors_musky = list("drenched",
GLOBAL_LIST_INIT(contamination_flavors_musky, list("drenched",
"drippy",
"funky",
"gooey",
@@ -456,9 +458,9 @@ var/global/list/contamination_flavors_musky = list("drenched",
"squashy",
"squishy",
"sticky",
"tainted")
"tainted"))
var/global/list/contamination_flavors_slimy = list("slimy",
GLOBAL_LIST_INIT(contamination_flavors_slimy, list("slimy",
"sloppy",
"drippy",
"glistening",
@@ -471,9 +473,10 @@ var/global/list/contamination_flavors_slimy = list("slimy",
"glutinous",
"syrupy",
"slippery",
"gelatinous")
"gelatinous"
))
var/global/list/contamination_colors = list("green",
GLOBAL_LIST_INIT(contamination_colors, list("green",
"white",
"black",
"grey",
@@ -487,10 +490,11 @@ var/global/list/contamination_colors = list("green",
"darkred",
"cyan",
"beige",
"pink")
"pink"
))
//For the mechanic of leaving remains. Ones listed below are basically ones that got no bones or leave no trace after death.
var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
GLOBAL_LIST_INIT(remainless_species, list(SPECIES_PROMETHEAN,
SPECIES_DIONA,
SPECIES_ALRAUNE,
SPECIES_PROTEAN,
@@ -509,9 +513,9 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
SPECIES_XENO_QUEEN,
SPECIES_SHADOW,
SPECIES_GOLEM, //Some special species that may or may not be ever used in event too,
SPECIES_SHADEKIN) //Shadefluffers just poof away
SPECIES_SHADEKIN)) //Shadefluffers just poof away
/var/global/list/alt_titles_with_icons = list(
GLOBAL_LIST_INIT(alt_titles_with_icons, list(
JOB_ALT_VIROLOGIST,
JOB_ALT_APPRENTICE_ENGINEER,
JOB_ALT_MEDICAL_INTERN,
@@ -520,9 +524,9 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
JOB_ALT_JR_CARGO_TECH,
JOB_ALT_SERVER,
JOB_ALT_ELECTRICIAN,
JOB_ALT_BARISTA)
JOB_ALT_BARISTA))
/var/global/list/existing_solargrubs = list()
GLOBAL_LIST_EMPTY(existing_solargrubs)
/hook/startup/proc/init_vore_datum_ref_lists()
var/paths
@@ -540,33 +544,33 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
if(!instance.name)
continue //A prototype or something
var/cost = instance.cost
traits_costs[path] = cost
all_traits[path] = instance
GLOB.traits_costs[path] = cost
GLOB.all_traits[path] = instance
// Traitgenes Initilize trait genes
setupgenetics(all_traits)
setupgenetics(GLOB.all_traits)
// Shakey shakey shake
sortTim(all_traits, GLOBAL_PROC_REF(cmp_trait_datums_name), associative = TRUE)
sortTim(GLOB.all_traits, GLOBAL_PROC_REF(cmp_trait_datums_name), associative = TRUE)
// Split 'em up
for(var/traitpath in all_traits)
var/datum/trait/T = all_traits[traitpath]
for(var/traitpath in GLOB.all_traits)
var/datum/trait/T = GLOB.all_traits[traitpath]
var/category = T.category
if(!T.hidden) // Traitgenes forbid hidden traits from showing, done to hide genetics only traits
switch(category)
if(-INFINITY to -0.1)
negative_traits[traitpath] = T
GLOB.negative_traits[traitpath] = T
if(!(T.custom_only))
everyone_traits_negative[traitpath] = T
GLOB.everyone_traits_negative[traitpath] = T
if(0)
neutral_traits[traitpath] = T
GLOB.neutral_traits[traitpath] = T
if(!(T.custom_only))
everyone_traits_neutral[traitpath] = T
GLOB.everyone_traits_neutral[traitpath] = T
if(0.1 to INFINITY)
positive_traits[traitpath] = T
GLOB.positive_traits[traitpath] = T
if(!(T.custom_only))
everyone_traits_positive[traitpath] = T
GLOB.everyone_traits_positive[traitpath] = T
// Weaver recipe stuff
@@ -575,19 +579,19 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
var/datum/weaver_recipe/instance = new path()
if(!instance.title)
continue //A prototype or something
weavable_structures[instance.title] = instance
GLOB.weavable_structures[instance.title] = instance
paths = subtypesof(/datum/weaver_recipe/item)
for(var/path in paths)
var/datum/weaver_recipe/instance = new path()
if(!instance.title)
continue //A prototype or something
weavable_items[instance.title] = instance
GLOB.weavable_items[instance.title] = instance
return 1 // Hooks must return 1
var/global/list/weavable_structures = list()
var/global/list/weavable_items = list()
GLOBAL_LIST_EMPTY(weavable_structures)
GLOBAL_LIST_EMPTY(weavable_items)
var/global/list/xenobio_metal_materials_normal = list(
@@ -929,7 +933,7 @@ var/global/list/event_wildlife_roaming = list(
)
var/global/list/selectable_speech_bubbles = list(
GLOBAL_LIST_INIT(selectable_speech_bubbles, list(
"default",
"normal",
"slime",
@@ -965,7 +969,8 @@ var/global/list/selectable_speech_bubbles = list(
"notepad",
"science",
"engineering",
"cargo")
"cargo"
))
+4 -4
View File
@@ -77,7 +77,7 @@
return list(1,0,0, 0,1,0, 0,0,1, power,power,power)
/var/list/delta_index = list(
GLOBAL_LIST_INIT(delta_index, list(
0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11,
0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.20, 0.21, 0.22, 0.24,
0.25, 0.27, 0.28, 0.30, 0.32, 0.34, 0.36, 0.38, 0.40, 0.42,
@@ -88,7 +88,7 @@
2.37, 2.50, 2.62, 2.75, 2.87, 3.0, 3.2, 3.4, 3.6, 3.8,
4.0, 4.3, 4.7, 4.9, 5.0, 5.5, 6.0, 6.5, 6.8, 7.0,
7.3, 7.5, 7.8, 8.0, 8.4, 8.7, 9.0, 9.4, 9.6, 9.8,
10.0)
10.0))
//Exxagerates or removes brightness
/proc/color_contrast(value)
@@ -102,9 +102,9 @@
else
x = value % 1
if(x == 0)
x = delta_index[value]
x = GLOB.delta_index[value]
else
x = delta_index[value] * (1-x) + delta_index[value+1] * x//use linear interpolation for more granularity.
x = GLOB.delta_index[value] * (1-x) + GLOB.delta_index[value+1] * x//use linear interpolation for more granularity.
x = x * 127 + 127
var/mult = x / 127
+13 -13
View File
@@ -1,7 +1,7 @@
var/church_name = null
GLOBAL_VAR(church_name)
/proc/church_name()
if (church_name)
return church_name
if (GLOB.church_name)
return GLOB.church_name
var/name = ""
@@ -25,10 +25,10 @@ var/church_name = null
return name
var/religion_name = null
GLOBAL_VAR(religion_name)
/proc/religion_name()
if (religion_name)
return religion_name
if (GLOB.religion_name)
return GLOB.religion_name
var/name = ""
@@ -111,10 +111,10 @@ var/religion_name = null
return name
var/syndicate_name = null
GLOBAL_VAR(syndicate_name)
/proc/syndicate_name()
if (syndicate_name)
return syndicate_name
if (GLOB.syndicate_name)
return GLOB.syndicate_name
var/name = ""
@@ -138,13 +138,13 @@ var/syndicate_name = null
name += pick("-", "*", "")
name += pick("Tech", "Sun", "Co", "Tek", "X", "Inc", "Gen", "Star", "Dyne", "Code", "Hive")
syndicate_name = name
GLOB.syndicate_name = name
return name
//Traitors and traitor silicons will get these. Revs will not.
var/syndicate_code_phrase//Code phrase for traitors.
var/syndicate_code_response//Code response for traitors.
GLOBAL_VAR(syndicate_code_phrase) //Code phrase for traitors.
GLOBAL_VAR(syndicate_code_response) //Code response for traitors.
/*
Should be expanded.
@@ -173,7 +173,7 @@ var/syndicate_code_response//Code response for traitors.
var/safety[] = list(1,2,3)//Tells the proc which options to remove later on.
var/nouns[] = list("love","hate","anger","peace","pride","sympathy","bravery","loyalty","honesty","integrity","compassion","charity","success","courage","deceit","skill","beauty","brilliance","pain","misery","beliefs","dreams","justice","truth","faith","liberty","knowledge","thought","information","culture","trust","dedication","progress","education","hospitality","leisure","trouble","friendships", "relaxation")
var/drinks[] = list("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequila sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","redwine","moonshine")
var/locations[] = teleportlocs.len ? teleportlocs : drinks//if null, defaults to drinks instead.
var/locations[] = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks//if null, defaults to drinks instead.
var/names[] = list()
for(var/datum/data/record/t in data_core.general)//Picks from crew manifest.
+5 -2
View File
@@ -27,8 +27,11 @@ var/global/last_tick_duration = 0
job_master.LoadJobs("config/jobs.txt")
admin_notice(span_danger("Job setup complete"), R_DEBUG)
if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase()
if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
if(!GLOB.syndicate_code_phrase)
GLOB.syndicate_code_phrase = generate_code_phrase()
if(!GLOB.syndicate_code_response)
GLOB.syndicate_code_response = generate_code_phrase()
/datum/controller/game_controller/proc/setup()
+1 -1
View File
@@ -40,7 +40,7 @@ SUBSYSTEM_DEF(inactivity)
information = " while a silicon."
if(isAI(C.mob))
var/mob/living/silicon/ai/A = C.mob
empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(A.loc)
GLOB.empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(A.loc)
global_announcer.autosay("[A] has been moved to intelligence storage.", "Artificial Intelligence Oversight")
A.clear_client()
information = " while an AI."
+1 -1
View File
@@ -41,7 +41,7 @@ SUBSYSTEM_DEF(nightshift)
/datum/controller/subsystem/nightshift/proc/check_nightshift(check_canfire=FALSE) //This is called from elsewhere, like setting the alert levels
if(check_canfire && !can_fire)
return
var/emergency = security_level > SEC_LEVEL_GREEN
var/emergency = GLOB.security_level > SEC_LEVEL_GREEN
var/announcing = TRUE
var/night_time = using_map.get_nightshift()
if(high_security_mode != emergency)
+1 -1
View File
@@ -218,7 +218,7 @@ var/global/datum/controller/subsystem/ticker/ticker
game_finished = (emergency_shuttle.returned() || mode.station_was_nuked)
mode_finished = ((end_game_state >= END_GAME_MODE_FINISHED) || mode.check_finished()) // Short circuit if already finished.
else // Game ends when mode does
game_finished = (mode.check_finished() || (emergency_shuttle.returned() && emergency_shuttle.evac == 1)) || universe_has_ended
game_finished = (mode.check_finished() || (emergency_shuttle.returned() && emergency_shuttle.evac == 1)) || GLOB.universe_has_ended
mode_finished = game_finished
if(game_finished && mode_finished)
+2 -2
View File
@@ -55,12 +55,12 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick)
message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.")
/client/proc/debug_antagonist_template(antag_type in all_antag_types)
/client/proc/debug_antagonist_template(antag_type in GLOB.all_antag_types)
set category = "Debug.Investigate"
set name = "Debug Antagonist"
set desc = "Debug an antagonist template."
var/datum/antagonist/antag = all_antag_types[antag_type]
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(antag)
usr.client.debug_variables(antag)
message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.")
+7 -7
View File
@@ -30,7 +30,7 @@ The receiving atom will receive the origin atom (the atom that sent the message)
It's suggested to start with an if or switch statement for the message, to determine what to do.
*/
var/global/list/all_exonet_connections = list()
GLOBAL_LIST_EMPTY(all_exonet_connections)
/datum/exonet_protocol
var/address = "" //Resembles IPv6, but with only five 'groups', e.g. XXXX:XXXX:XXXX:XXXX:XXXX
@@ -60,7 +60,7 @@ var/global/list/all_exonet_connections = list()
new_address = "[addr_0]:[addr_1]"
string = "[string]0" //If we did get a collision, this should make the next attempt not have one.
address = new_address
all_exonet_connections |= src
GLOB.all_exonet_connections |= src
// Proc: make_arbitrary_address()
@@ -71,7 +71,7 @@ var/global/list/all_exonet_connections = list()
if(new_address == find_address(new_address) ) //Collision test.
return 0
address = new_address
all_exonet_connections |= src
GLOB.all_exonet_connections |= src
return 1
// Proc: hexadecimal_to_EPv2()
@@ -93,14 +93,14 @@ var/global/list/all_exonet_connections = list()
// Description: Deallocates the address, freeing it for use.
/datum/exonet_protocol/proc/remove_address()
address = ""
all_exonet_connections.Remove(src)
GLOB.all_exonet_connections.Remove(src)
// Proc: find_address()
// Parameters: 1 (target_address - the desired address to find)
// Description: Searches the global list all_exonet_connections for a specific address, and returns it if found, otherwise returns null.
/datum/exonet_protocol/proc/find_address(var/target_address)
for(var/datum/exonet_protocol/exonet in all_exonet_connections)
for(var/datum/exonet_protocol/exonet in GLOB.all_exonet_connections)
if(exonet.address == target_address)
return exonet.address
return null
@@ -109,7 +109,7 @@ var/global/list/all_exonet_connections = list()
// Parameters: 1 (target_address - the desired address to find)
// Description: Searches an address for the atom it is attached for, otherwise returns null.
/datum/exonet_protocol/proc/get_atom_from_address(var/target_address)
for(var/datum/exonet_protocol/exonet in all_exonet_connections)
for(var/datum/exonet_protocol/exonet in GLOB.all_exonet_connections)
if(exonet.address == target_address)
return exonet.holder
return null
@@ -124,7 +124,7 @@ var/global/list/all_exonet_connections = list()
var/obj/machinery/exonet_node/node = get_exonet_node()
if(!node) // Telecomms went boom, ion storm, etc.
return FALSE
for(var/datum/exonet_protocol/exonet in all_exonet_connections)
for(var/datum/exonet_protocol/exonet in GLOB.all_exonet_connections)
if(exonet.address == target_address)
node.write_log(src.address, target_address, data_type, content)
return exonet.receive_message(holder, address, data_type, content)
+5 -5
View File
@@ -191,10 +191,10 @@ we'll only update it when it changes. The PDA_Manifest global list is zeroed ou
using /datum/datacore/proc/manifest_inject( ), or manifest_insert( )
*/
var/global/list/PDA_Manifest = list()
GLOBAL_LIST_EMPTY(PDA_Manifest)
/datum/datacore/proc/get_manifest_list()
if(PDA_Manifest.len)
if(GLOB.PDA_Manifest.len)
return
var/list/heads = list()
var/list/sec = list()
@@ -281,7 +281,7 @@ var/global/list/PDA_Manifest = list()
bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active")
PDA_Manifest = list(
GLOB.PDA_Manifest = list(
list("cat" = "Command", "elems" = heads),
list("cat" = "Security", "elems" = sec),
list("cat" = "Engineering", "elems" = eng),
@@ -534,8 +534,8 @@ var/global/list/PDA_Manifest = list()
return M
/datum/datacore/proc/ResetPDAManifest()
if(PDA_Manifest.len)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest.len)
GLOB.PDA_Manifest.Cut()
/proc/find_general_record(field, value)
return find_record(field, value, data_core.general)
+7 -7
View File
@@ -136,8 +136,8 @@
out += "Assigned role: [assigned_role]. <a href='byond://?src=\ref[src];[HrefToken()];role_edit=1'>Edit</a><br>"
out += "<hr>"
out += "Factions and special roles:<br><table>"
for(var/antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
out += "[antag.get_panel_entry(src)]"
out += "</table><hr>"
out += span_bold("Objectives") + "</br>"
@@ -165,7 +165,7 @@
if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return
if(href_list["add_antagonist"])
var/datum/antagonist/antag = all_antag_types[href_list["add_antagonist"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["add_antagonist"]]
if(antag)
if(antag.add_antagonist(src, 1, 1, 0, 1, 1)) // Ignore equipment and role type for this.
log_admin("[key_name_admin(usr)] made [key_name(src)] into a [antag.role_text].")
@@ -173,19 +173,19 @@
to_chat(usr, span_warning("[src] could not be made into a [antag.role_text]!"))
else if(href_list["remove_antagonist"])
var/datum/antagonist/antag = all_antag_types[href_list["remove_antagonist"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["remove_antagonist"]]
if(antag) antag.remove_antagonist(src)
else if(href_list["equip_antagonist"])
var/datum/antagonist/antag = all_antag_types[href_list["equip_antagonist"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["equip_antagonist"]]
if(antag) antag.equip(src.current)
else if(href_list["unequip_antagonist"])
var/datum/antagonist/antag = all_antag_types[href_list["unequip_antagonist"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["unequip_antagonist"]]
if(antag) antag.unequip(src.current)
else if(href_list["move_antag_to_spawn"])
var/datum/antagonist/antag = all_antag_types[href_list["move_antag_to_spawn"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["move_antag_to_spawn"]]
if(antag) antag.place_mob(src.current)
else if (href_list["role_edit"])
+6 -6
View File
@@ -25,7 +25,7 @@ GLOBAL_VAR_INIT(prey_eaten_roundstat, 0) //VOREStation Edit - Obviously
GLOBAL_VAR_INIT(prey_absorbed_roundstat, 0) //VOREStation Edit - Obviously
GLOBAL_VAR_INIT(prey_digested_roundstat, 0) //VOREStation Edit - Obviously
GLOBAL_VAR_INIT(items_digested_roundstat, 0) //VOREStation Edit - Obviously
var/global/list/security_printer_tickets = list() //VOREStation Edit
GLOBAL_LIST_EMPTY(security_printer_tickets) //VOREStation Edit
/hook/roundend/proc/RoundTrivia()//bazinga
@@ -57,15 +57,15 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit
valid_stats_list.Add("The disposal system flushed a whole [GLOB.disposals_flush_shift_roundstat] times for this shift. We should really invest in waste treatement.")
//VOREStation add Start - Ticket time!
if(security_printer_tickets.len)
valid_stats_list.Add(span_danger("[security_printer_tickets.len] unique security tickets were issued today!") + "<br>Examples include:")
if(GLOB.security_printer_tickets.len)
valid_stats_list.Add(span_danger("[GLOB.security_printer_tickets.len] unique security tickets were issued today!") + "<br>Examples include:")
var/good_num = 5
var/ourticket
while(good_num > 0)
ourticket = null
if(security_printer_tickets.len)
ourticket = pick(security_printer_tickets)
security_printer_tickets -= ourticket
if(GLOB.security_printer_tickets.len)
ourticket = pick(GLOB.security_printer_tickets)
GLOB.security_printer_tickets -= ourticket
if(ourticket)
valid_stats_list.Add(span_bold("-")+"\"[ourticket]\"")
good_num--
+20 -20
View File
@@ -6,26 +6,26 @@
//NEW NOTE: Do NOT set the price of any crates below 7 points. Doing so allows infinite points.
//NOTE NOTE: Hidden var is now deprecated, whoever removed support for it should've removed the var altogether
//var/list/all_supply_groups = list("Operations","Security","Hospitality","Engineering","Atmospherics","Medical","Reagents","Reagent Cartridges","Science","Hydroponics", "Supply", "Miscellaneous")
var/list/all_supply_groups = list("Atmospherics",
"Costumes",
"Engineering",
"Hospitality",
"Hydroponics",
"Materials",
"Medical",
"Miscellaneous",
"Munitions",
"Reagents",
"Reagent Cartridges",
"Recreation",
"Robotics",
"Science",
"Security",
"Supplies",
"Vendor Refills",
"Hardsuits",
"Voidsuits")
//GLOBAL_LIST_INIT(all_supply_groups, list("Operations","Security","Hospitality","Engineering","Atmospherics","Medical","Reagents","Reagent Cartridges","Science","Hydroponics", "Supply", "Miscellaneous"))
GLOBAL_LIST_INIT(all_supply_groups, list("Atmospherics",
"Costumes",
"Engineering",
"Hospitality",
"Hydroponics",
"Materials",
"Medical",
"Miscellaneous",
"Munitions",
"Reagents",
"Reagent Cartridges",
"Recreation",
"Robotics",
"Science",
"Security",
"Supplies",
"Vendor Refills",
"Hardsuits",
"Voidsuits"))
/datum/supply_pack
var/name = null
+2 -2
View File
@@ -71,10 +71,10 @@
* This item is completely unused, but removing it will break something in R&D and Radio code causing PDA and Ninja code to fail on compile
*/
/var/list/acting_rank_prefixes = list("acting", "temporary", "interim", "provisional")
GLOBAL_LIST_INIT(acting_rank_prefixes, list("acting", "temporary", "interim", "provisional"))
/proc/make_list_rank(rank)
for(var/prefix in acting_rank_prefixes)
for(var/prefix in GLOB.acting_rank_prefixes)
if(findtext(rank, "[prefix] ", 1, 2+length(prefix)))
return copytext(rank, 2+length(prefix))
return rank
+17 -17
View File
@@ -15,29 +15,29 @@
*/
// Globals.
var/global/list/all_antag_types = list()
var/global/list/all_antag_spawnpoints = list()
var/global/list/antag_names_to_ids = list()
GLOBAL_LIST_EMPTY(all_antag_types)
GLOBAL_LIST_EMPTY(all_antag_spawnpoints)
GLOBAL_LIST_EMPTY(antag_names_to_ids)
// Global procs.
/proc/get_antag_data(var/antag_type)
if(all_antag_types[antag_type])
return all_antag_types[antag_type]
if(GLOB.all_antag_types[antag_type])
return GLOB.all_antag_types[antag_type]
else
for(var/cur_antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[cur_antag_type]
for(var/cur_antag_type in GLOB.all_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[cur_antag_type]
if(antag && antag.is_type(antag_type))
return antag
/proc/clear_antag_roles(var/datum/mind/player, var/implanted)
for(var/antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(!implanted || !(antag.flags & ANTAG_IMPLANT_IMMUNE))
antag.remove_antagonist(player, 1, implanted)
/proc/update_antag_icons(var/datum/mind/player)
for(var/antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(player)
antag.update_icons_removed(player)
if(antag.is_antagonist(player))
@@ -48,19 +48,19 @@ var/global/list/antag_names_to_ids = list()
/proc/populate_antag_type_list()
for(var/antag_type in subtypesof(/datum/antagonist))
var/datum/antagonist/A = new antag_type
all_antag_types[A.id] = A
all_antag_spawnpoints[A.landmark_id] = list()
antag_names_to_ids[A.role_text] = A.id
GLOB.all_antag_types[A.id] = A
GLOB.all_antag_spawnpoints[A.landmark_id] = list()
GLOB.antag_names_to_ids[A.role_text] = A.id
/proc/get_antags(var/atype)
var/datum/antagonist/antag = all_antag_types[atype]
var/datum/antagonist/antag = GLOB.all_antag_types[atype]
if(antag && islist(antag.current_antagonists))
return antag.current_antagonists
return list()
/proc/player_is_antag(var/datum/mind/player, var/only_offstation_roles = 0)
for(var/antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(only_offstation_roles && !(antag.flags & ANTAG_OVERRIDE_JOB))
continue
if(player in antag.current_antagonists)
+1 -1
View File
@@ -39,7 +39,7 @@
if(flags & ANTAG_HAS_NUKE)
dat += "<br><table><tr><td><B>Nuclear disk(s)</B></td></tr>"
for(var/obj/item/disk/nuclear/N in nuke_disks)
for(var/obj/item/disk/nuclear/N in GLOB.nuke_disks)
dat += "<tr><td>[N.name], "
var/atom/disk_loc = N.loc
while(!istype(disk_loc, /turf))
+2 -2
View File
@@ -94,10 +94,10 @@ var/datum/antagonist/cultist/cult
word = pick(allwords)
// Ensure runes are randomized.
if(!cultwords["travel"])
if(!GLOB.cultwords["travel"])
runerandom()
var/wordexp = "[cultwords[word]] is [word]..."
var/wordexp = "[GLOB.cultwords[word]] is [word]..."
to_chat(cult_mob, span_warning("You remember one thing from the dark teachings of your master... [wordexp]"))
cult_mob.mind.store_memory("You remember that <B>[wordexp]</B>", 0, 0)
+4 -4
View File
@@ -102,10 +102,10 @@ var/datum/antagonist/traitor/traitors
/datum/antagonist/traitor/proc/give_codewords(mob/living/traitor_mob)
to_chat(traitor_mob, span_underline(span_bold("Your employers provided you with the following information on how to identify possible allies:")))
to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[syndicate_code_phrase]"))
to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[syndicate_code_response]"))
traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [syndicate_code_phrase]")
traitor_mob.mind.store_memory(span_bold("Code Response") + ": [syndicate_code_response]")
to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[GLOB.syndicate_code_phrase]"))
to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[GLOB.syndicate_code_response]"))
traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [GLOB.syndicate_code_phrase]")
traitor_mob.mind.store_memory(span_bold("Code Response") + ": [GLOB.syndicate_code_response]")
to_chat(traitor_mob, "Use the code words, preferably in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.")
/datum/antagonist/traitor/proc/spawn_uplink(var/mob/living/carbon/human/traitor_mob)
+12 -12
View File
@@ -502,35 +502,35 @@ var/list/mob/living/forced_ambiance_list = new
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
var/list/teleportlocs = list()
GLOBAL_LIST_EMPTY(teleportlocs)
/hook/startup/proc/setupTeleportLocs()
for(var/area/AR in world)
if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)) continue
if(teleportlocs.Find(AR.name)) continue
if(GLOB.teleportlocs.Find(AR.name)) continue
var/turf/picked = pick(get_area_turfs(AR.type))
if (picked.z in using_map.station_levels)
teleportlocs += AR.name
teleportlocs[AR.name] = AR
GLOB.teleportlocs += AR.name
GLOB.teleportlocs[AR.name] = AR
teleportlocs = sortAssoc(teleportlocs)
GLOB.teleportlocs = sortAssoc(GLOB.teleportlocs)
return 1
var/list/ghostteleportlocs = list()
GLOBAL_LIST_EMPTY(ghostteleportlocs)
/hook/startup/proc/setupGhostTeleportLocs()
for(var/area/AR in world)
if(ghostteleportlocs.Find(AR.name)) continue
if(GLOB.ghostteleportlocs.Find(AR.name)) continue
if(istype(AR, /area/aisat) || istype(AR, /area/derelict) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom))
ghostteleportlocs += AR.name
ghostteleportlocs[AR.name] = AR
GLOB.ghostteleportlocs += AR.name
GLOB.ghostteleportlocs[AR.name] = AR
var/turf/picked = pick(get_area_turfs(AR.type))
if (picked.z in using_map.player_levels)
ghostteleportlocs += AR.name
ghostteleportlocs[AR.name] = AR
GLOB.ghostteleportlocs += AR.name
GLOB.ghostteleportlocs[AR.name] = AR
ghostteleportlocs = sortAssoc(ghostteleportlocs)
GLOB.ghostteleportlocs = sortAssoc(GLOB.ghostteleportlocs)
return 1
+6 -6
View File
@@ -6,19 +6,19 @@
if(real_name != client.prefs.real_name) //let's not celebrate the birthday of that weird mob we got dropped into
return
if(!(read_preference(/datum/preference/numeric/human/last_bday_note) < world_time_year)) //you only get notified once a year
if(!(read_preference(/datum/preference/numeric/human/last_bday_note) < GLOB.world_time_year)) //you only get notified once a year
return
if((world_time_month == bday_month) && (world_time_day == bday_day)) //it is your birthday
if((GLOB.world_time_month == bday_month) && (GLOB.world_time_day == bday_day)) //it is your birthday
birthday(1)
else if(world_time_month > bday_month) //your birthday was in a previous month
else if(GLOB.world_time_month > bday_month) //your birthday was in a previous month
birthday()
else if((world_time_month == bday_month) && (world_time_day > bday_day)) //your birthday was earlier this month
else if((GLOB.world_time_month == bday_month) && (GLOB.world_time_day > bday_day)) //your birthday was earlier this month
birthday()
/mob/living/carbon/human/proc/birthday(var/birthday = 0)
var/msg
var/lastyear = read_preference(/datum/preference/numeric/human/last_bday_note)
write_preference_directly(/datum/preference/numeric/human/last_bday_note, world_time_year) //We only want to ask once a year per character, this persists, update early in case of shenanigans
write_preference_directly(/datum/preference/numeric/human/last_bday_note, GLOB.world_time_year) //We only want to ask once a year per character, this persists, update early in case of shenanigans
if(birthday) //woo
msg = "Today is your birthday! Do you want to increase your character's listed age?"
if(read_preference(/datum/preference/toggle/human/bday_announce))
@@ -31,7 +31,7 @@
if(lastyear == 0) //We've never been asked, so let's just assume you were keeping track before now and only add 1
age += 1
else
var/howmuch = world_time_year - lastyear
var/howmuch = GLOB.world_time_year - lastyear
age += howmuch
to_chat(src, span_notice("You are now [age]! Happy birthday!"))
write_preference_directly(/datum/preference/numeric/human/age, age) //Set the age on the character sheet
+5 -5
View File
@@ -176,10 +176,10 @@ GLOBAL_LIST_EMPTY_TYPED(dna_genes_bad, /datum/gene/trait)
wing_style = wing_styles_list.Find(character.wing_style.type)
// Playerscale (This assumes list is sorted big->small)
var/size_multiplier = player_sizes_list.len // If fail to find, take smallest
for(var/N in player_sizes_list)
if(character.size_multiplier >= player_sizes_list[N])
size_multiplier = player_sizes_list.Find(N)
var/size_multiplier = GLOB.player_sizes_list.len // If fail to find, take smallest
for(var/N in GLOB.player_sizes_list)
if(character.size_multiplier >= GLOB.player_sizes_list[N])
size_multiplier = GLOB.player_sizes_list.Find(N)
break
// Technically custom_species is not part of the UI, but this place avoids merge problems.
@@ -214,7 +214,7 @@ GLOBAL_LIST_EMPTY_TYPED(dna_genes_bad, /datum/gene/trait)
SetUIValueRange(DNA_UI_EAR_STYLE, ear_style + 1, ear_styles_list.len + 1, 1)
SetUIValueRange(DNA_UI_EAR_SECONDARY_STYLE, ear_secondary_style + 1, ear_styles_list.len + 1, 1)
SetUIValueRange(DNA_UI_TAIL_STYLE, tail_style + 1, tail_styles_list.len + 1, 1)
SetUIValueRange(DNA_UI_PLAYERSCALE, size_multiplier, player_sizes_list.len, 1)
SetUIValueRange(DNA_UI_PLAYERSCALE, size_multiplier, GLOB.player_sizes_list.len, 1)
SetUIValueRange(DNA_UI_WING_STYLE, wing_style + 1, wing_styles_list.len + 1, 1)
SetUIValueRange(DNA_UI_TAIL_R, character.r_tail, 255, 1)
+3 -3
View File
@@ -245,9 +245,9 @@
H.a_wing = dna.GetUIValueRange(DNA_UI_WING_ALPHA, 255)
// Playerscale
var/size = dna.GetUIValueRange(DNA_UI_PLAYERSCALE, player_sizes_list.len)
if((0 < size) && (size <= player_sizes_list.len))
H.resize(player_sizes_list[player_sizes_list[size]], TRUE, ignore_prefs = TRUE)
var/size = dna.GetUIValueRange(DNA_UI_PLAYERSCALE, GLOB.player_sizes_list.len)
if((0 < size) && (size <= GLOB.player_sizes_list.len))
H.resize(GLOB.player_sizes_list[GLOB.player_sizes_list[size]], TRUE, ignore_prefs = TRUE)
// Tail/Taur Color
H.r_tail = dna.GetUIValueRange(DNA_UI_TAIL_R, 255)
+1 -1
View File
@@ -103,7 +103,7 @@
// check trait if not. CONFLICT-O-TRON ENGAGE
conflict_traits[P] = FALSE
var/datum/trait/instance_test = all_traits[P]
var/datum/trait/instance_test = GLOB.all_traits[P]
if(path in instance_test.excludes)
conflict_traits[P] = TRUE
has_conflict = TRUE
+2 -2
View File
@@ -12,10 +12,10 @@
/datum/game_mode/calamity/create_antagonists()
shuffle(all_antag_types) // This is probably the only instance in the game where the order will be important.
shuffle(GLOB.all_antag_types) // This is probably the only instance in the game where the order will be important.
var/i = 1
var/grab_antags = round(num_players()/ANTAG_TYPE_RATIO)+1
for(var/antag_id in all_antag_types)
for(var/antag_id in GLOB.all_antag_types)
if(i > grab_antags)
break
antag_tags |= antag_id
+1 -1
View File
@@ -50,7 +50,7 @@ In short:
OverlayAndAmbientSet()
lightsout(0,0)
runedec += 9000 //basically removing the rune cap
GLOB.runedec += 9000 //basically removing the rune cap
/datum/universal_state/hell/proc/AreaSet()
+111 -111
View File
@@ -1,24 +1,24 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
var/cultwords = list()
var/runedec = 0
var/global/list/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", "self", "see", "other", "hide")
var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri")
GLOBAL_LIST_EMPTY(cultwords)
GLOBAL_VAR_INIT(runedec, 0)
GLOBAL_LIST_INIT(engwords, list("travel", "blood", "join", "hell", "destroy", "technology", "self", "see", "other", "hide"))
GLOBAL_LIST_INIT(rnwords, list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri"))
/client/proc/check_words() // -- Urist
set category = "Admin.Secrets"
set name = "Check Rune Words"
set desc = "Check the rune-word meaning"
if(!cultwords["travel"])
if(!GLOB.cultwords["travel"])
runerandom()
for (var/word in engwords)
to_chat(usr, "[cultwords[word]] is [word]")
for (var/word in GLOB.engwords)
to_chat(usr, "[GLOB.cultwords[word]] is [word]")
/proc/runerandom() //randomizes word meaning
var/list/runewords=rnwords
for (var/word in engwords)
cultwords[word] = pick(runewords)
runewords-=cultwords[word]
var/list/runewords=GLOB.rnwords
for (var/word in GLOB.engwords)
GLOB.cultwords[word] = pick(runewords)
runewords -= GLOB.cultwords[word]
/obj/effect/rune
desc = "A strange collection of symbols drawn in blood."
@@ -112,53 +112,53 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
return fizzle()
// if(!src.visibility)
// src.visibility=1
if(word1 == cultwords["travel"] && word2 == cultwords["self"])
if(word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["self"])
return teleport(src.word3)
if(word1 == cultwords["see"] && word2 == cultwords["blood"] && word3 == cultwords["hell"])
if(word1 == GLOB.cultwords["see"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["hell"])
return tomesummon()
if(word1 == cultwords["hell"] && word2 == cultwords["destroy"] && word3 == cultwords["other"])
if(word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["destroy"] && word3 == GLOB.cultwords["other"])
return armor()
if(word1 == cultwords["join"] && word2 == cultwords["blood"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["self"])
return convert()
if(word1 == cultwords["hell"] && word2 == cultwords["join"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["join"] && word3 == GLOB.cultwords["self"])
return tearreality()
if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["technology"])
if(word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["technology"])
return emp(src.loc,5)
if(word1 == cultwords["travel"] && word2 == cultwords["blood"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["self"])
return drain()
if(word1 == cultwords["see"] && word2 == cultwords["hell"] && word3 == cultwords["join"])
if(word1 == GLOB.cultwords["see"] && word2 == GLOB.cultwords["hell"] && word3 == GLOB.cultwords["join"])
return seer()
if(word1 == cultwords["blood"] && word2 == cultwords["join"] && word3 == cultwords["hell"])
if(word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["join"] && word3 == GLOB.cultwords["hell"])
return raise()
if(word1 == cultwords["hide"] && word2 == cultwords["see"] && word3 == cultwords["blood"])
if(word1 == GLOB.cultwords["hide"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["blood"])
return obscure(4)
if(word1 == cultwords["hell"] && word2 == cultwords["travel"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["travel"] && word3 == GLOB.cultwords["self"])
return ajourney()
if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["travel"])
if(word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["travel"])
return manifest()
if(word1 == cultwords["hell"] && word2 == cultwords["technology"] && word3 == cultwords["join"])
if(word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["technology"] && word3 == GLOB.cultwords["join"])
return talisman()
if(word1 == cultwords["hell"] && word2 == cultwords["blood"] && word3 == cultwords["join"])
if(word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["join"])
return sacrifice()
if(word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["hide"])
if(word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["hide"])
return revealrunes(src)
if(word1 == cultwords["destroy"] && word2 == cultwords["travel"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["travel"] && word3 == GLOB.cultwords["self"])
return wall()
if(word1 == cultwords["travel"] && word2 == cultwords["technology"] && word3 == cultwords["other"])
if(word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["technology"] && word3 == GLOB.cultwords["other"])
return freedom()
if(word1 == cultwords["join"] && word2 == cultwords["other"] && word3 == cultwords["self"])
if(word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["self"])
return cultsummon()
if(word1 == cultwords["hide"] && word2 == cultwords["other"] && word3 == cultwords["see"])
if(word1 == GLOB.cultwords["hide"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["see"])
return deafen()
if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["other"])
if(word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["other"])
return blind()
if(word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["blood"])
if(word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["blood"])
return bloodboil()
if(word1 == cultwords["self"] && word2 == cultwords["other"] && word3 == cultwords["technology"])
if(word1 == GLOB.cultwords["self"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["technology"])
return communicate()
if(word1 == cultwords["travel"] && word2 == cultwords["other"])
if(word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["other"])
return itemport(src.word3)
if(word1 == cultwords["join"] && word2 == cultwords["hide"] && word3 == cultwords["technology"])
if(word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["hide"] && word3 == GLOB.cultwords["technology"])
return runestun()
else
return fizzle()
@@ -290,10 +290,10 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
/obj/item/book/tome/Initialize(mapload)
. = ..()
if(!cultwords["travel"])
if(!GLOB.cultwords["travel"])
runerandom()
for(var/V in cultwords)
words[cultwords[V]] = V
for(var/V in GLOB.cultwords)
words[GLOB.cultwords[V]] = V
/obj/item/book/tome/attack(mob/living/M as mob, mob/living/user as mob)
add_attack_logs(user,M,"Hit with [name]")
@@ -318,7 +318,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
if(!user.canmove || user.stat || user.restrained())
return
if(!cultwords["travel"])
if(!GLOB.cultwords["travel"])
runerandom()
if(iscultist(user))
var/C = 0
@@ -328,7 +328,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
to_chat(user, span_warning("You do not have enough space to write a proper rune."))
return
if (C>=26 + runedec + cult.current_antagonists.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
if (C>=26 + GLOB.runedec + cult.current_antagonists.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
tgui_alert_async(user, "The cloth of reality can't take that much of a strain. Remove some runes first!")
return
else
@@ -440,7 +440,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
/obj/item/book/tome/imbued/attack_self(mob/user as mob)
if(src.cultistsonly && !iscultist(user))
return
if(!cultwords["travel"])
if(!GLOB.cultwords["travel"])
runerandom()
if(user)
var/r
@@ -461,8 +461,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
var/beacon
if(user)
beacon = tgui_input_list(user, "Select the last rune", "Rune Scribing", words, timeout=30 SECONDS)
R.word1=cultwords["travel"]
R.word2=cultwords["self"]
R.word1=GLOB.cultwords["travel"]
R.word2=GLOB.cultwords["self"]
R.word3=beacon
R.loc = user.loc
R.check_icon()
@@ -471,140 +471,140 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
var/beacon
if(user)
beacon = tgui_input_list(user, "Select the last rune", "Rune Scribing", words, timeout=30 SECONDS)
R.word1=cultwords["travel"]
R.word2=cultwords["other"]
R.word1=GLOB.cultwords["travel"]
R.word2=GLOB.cultwords["other"]
R.word3=beacon
R.loc = user.loc
R.check_icon()
if("tome")
R.word1=cultwords["see"]
R.word2=cultwords["blood"]
R.word3=cultwords["hell"]
R.word1=GLOB.cultwords["see"]
R.word2=GLOB.cultwords["blood"]
R.word3=GLOB.cultwords["hell"]
R.loc = user.loc
R.check_icon()
if("armor")
R.word1=cultwords["hell"]
R.word2=cultwords["destroy"]
R.word3=cultwords["other"]
R.word1=GLOB.cultwords["hell"]
R.word2=GLOB.cultwords["destroy"]
R.word3=GLOB.cultwords["other"]
R.loc = user.loc
R.check_icon()
if("convert")
R.word1=cultwords["join"]
R.word2=cultwords["blood"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["join"]
R.word2=GLOB.cultwords["blood"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("tear in reality")
R.word1=cultwords["hell"]
R.word2=cultwords["join"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["hell"]
R.word2=GLOB.cultwords["join"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("emp")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["technology"]
R.word1=GLOB.cultwords["destroy"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["technology"]
R.loc = user.loc
R.check_icon()
if("drain")
R.word1=cultwords["travel"]
R.word2=cultwords["blood"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["travel"]
R.word2=GLOB.cultwords["blood"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("seer")
R.word1=cultwords["see"]
R.word2=cultwords["hell"]
R.word3=cultwords["join"]
R.word1=GLOB.cultwords["see"]
R.word2=GLOB.cultwords["hell"]
R.word3=GLOB.cultwords["join"]
R.loc = user.loc
R.check_icon()
if("raise")
R.word1=cultwords["blood"]
R.word2=cultwords["join"]
R.word3=cultwords["hell"]
R.word1=GLOB.cultwords["blood"]
R.word2=GLOB.cultwords["join"]
R.word3=GLOB.cultwords["hell"]
R.loc = user.loc
R.check_icon()
if("obscure")
R.word1=cultwords["hide"]
R.word2=cultwords["see"]
R.word3=cultwords["blood"]
R.word1=GLOB.cultwords["hide"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["blood"]
R.loc = user.loc
R.check_icon()
if("astral journey")
R.word1=cultwords["hell"]
R.word2=cultwords["travel"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["hell"]
R.word2=GLOB.cultwords["travel"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("manifest")
R.word1=cultwords["blood"]
R.word2=cultwords["see"]
R.word3=cultwords["travel"]
R.word1=GLOB.cultwords["blood"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["travel"]
R.loc = user.loc
R.check_icon()
if("imbue talisman")
R.word1=cultwords["hell"]
R.word2=cultwords["technology"]
R.word3=cultwords["join"]
R.word1=GLOB.cultwords["hell"]
R.word2=GLOB.cultwords["technology"]
R.word3=GLOB.cultwords["join"]
R.loc = user.loc
R.check_icon()
if("sacrifice")
R.word1=cultwords["hell"]
R.word2=cultwords["blood"]
R.word3=cultwords["join"]
R.word1=GLOB.cultwords["hell"]
R.word2=GLOB.cultwords["blood"]
R.word3=GLOB.cultwords["join"]
R.loc = user.loc
R.check_icon()
if("reveal")
R.word1=cultwords["blood"]
R.word2=cultwords["see"]
R.word3=cultwords["hide"]
R.word1=GLOB.cultwords["blood"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["hide"]
R.loc = user.loc
R.check_icon()
if("wall")
R.word1=cultwords["destroy"]
R.word2=cultwords["travel"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["destroy"]
R.word2=GLOB.cultwords["travel"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("freedom")
R.word1=cultwords["travel"]
R.word2=cultwords["technology"]
R.word3=cultwords["other"]
R.word1=GLOB.cultwords["travel"]
R.word2=GLOB.cultwords["technology"]
R.word3=GLOB.cultwords["other"]
R.loc = user.loc
R.check_icon()
if("cultsummon")
R.word1=cultwords["join"]
R.word2=cultwords["other"]
R.word3=cultwords["self"]
R.word1=GLOB.cultwords["join"]
R.word2=GLOB.cultwords["other"]
R.word3=GLOB.cultwords["self"]
R.loc = user.loc
R.check_icon()
if("deafen")
R.word1=cultwords["hide"]
R.word2=cultwords["other"]
R.word3=cultwords["see"]
R.word1=GLOB.cultwords["hide"]
R.word2=GLOB.cultwords["other"]
R.word3=GLOB.cultwords["see"]
R.loc = user.loc
R.check_icon()
if("blind")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["other"]
R.word1=GLOB.cultwords["destroy"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["other"]
R.loc = user.loc
R.check_icon()
if("bloodboil")
R.word1=cultwords["destroy"]
R.word2=cultwords["see"]
R.word3=cultwords["blood"]
R.word1=GLOB.cultwords["destroy"]
R.word2=GLOB.cultwords["see"]
R.word3=GLOB.cultwords["blood"]
R.loc = user.loc
R.check_icon()
if("communicate")
R.word1=cultwords["self"]
R.word2=cultwords["other"]
R.word3=cultwords["technology"]
R.word1=GLOB.cultwords["self"]
R.word2=GLOB.cultwords["other"]
R.word3=GLOB.cultwords["technology"]
R.loc = user.loc
R.check_icon()
if("stun")
R.word1=cultwords["join"]
R.word2=cultwords["hide"]
R.word3=cultwords["technology"]
R.word1=GLOB.cultwords["join"]
R.word2=GLOB.cultwords["hide"]
R.word3=GLOB.cultwords["technology"]
R.loc = user.loc
R.check_icon()
+22 -22
View File
@@ -20,7 +20,7 @@ var/list/sacrificed = list()
for(var/obj/effect/rune/R in rune_list)
if(R == src)
continue
if(R.word1 == cultwords["travel"] && R.word2 == cultwords["self"] && R.word3 == key && isPlayerLevel(R.z))
if(R.word1 == GLOB.cultwords["travel"] && R.word2 == GLOB.cultwords["self"] && R.word3 == key && isPlayerLevel(R.z))
index++
allrunesloc.len = index
allrunesloc[index] = R.loc
@@ -54,7 +54,7 @@ var/list/sacrificed = list()
for(var/obj/effect/rune/R in rune_list)
if(R == src)
continue
if(R.word1 == cultwords["travel"] && R.word2 == cultwords["other"] && R.word3 == key)
if(R.word1 == GLOB.cultwords["travel"] && R.word2 == GLOB.cultwords["other"] && R.word3 == key)
IP = R
runecount++
if(runecount >= 2)
@@ -160,7 +160,7 @@ var/list/sacrificed = list()
if (!target.can_feel_pain())
target.visible_message(span_warning("The markings below \the [target] glow a bloody red."))
else
var/datum/gender/TT = gender_datums[target.get_visible_gender()]
var/datum/gender/TT = GLOB.gender_datums[target.get_visible_gender()]
target.visible_message(span_warning("[target] writhes in pain as the markings below [TT.him] glow a bloody red."), span_danger("AAAAAAHHHH!"), span_warning("You hear an anguished scream."))
if(!waiting_for_input[target]) //so we don't spam them with dialogs if they hesitate
@@ -235,7 +235,7 @@ var/list/sacrificed = list()
/obj/effect/rune/proc/drain()
var/drain = 0
for(var/obj/effect/rune/R in rune_list)
if(R.word1==cultwords["travel"] && R.word2==cultwords["blood"] && R.word3==cultwords["self"])
if(R.word1==GLOB.cultwords["travel"] && R.word2==GLOB.cultwords["blood"] && R.word3==GLOB.cultwords["self"])
for(var/mob/living/carbon/D in R.loc)
if(D.stat!=2)
add_attack_logs(usr,D,"Blood drain rune")
@@ -335,7 +335,7 @@ var/list/sacrificed = list()
is_sacrifice_target = 0
find_sacrifice:
for(var/obj/effect/rune/R in rune_list)
if(R.word1==cultwords["blood"] && R.word2==cultwords["join"] && R.word3==cultwords["hell"])
if(R.word1==GLOB.cultwords["blood"] && R.word2==GLOB.cultwords["join"] && R.word3==GLOB.cultwords["hell"])
for(var/mob/living/carbon/human/N in R.loc)
if(cult && N.mind && N.mind == cult.sacrifice_target)
is_sacrifice_target = 1
@@ -366,8 +366,8 @@ var/list/sacrificed = list()
if(corpse_to_raise.client)
var/datum/gender/TU = gender_datums[corpse_to_raise.get_visible_gender()]
var/datum/gender/TT = gender_datums[body_to_sacrifice.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[corpse_to_raise.get_visible_gender()]
var/datum/gender/TT = GLOB.gender_datums[body_to_sacrifice.get_visible_gender()]
cult.add_antagonist(corpse_to_raise.mind)
corpse_to_raise.revive()
@@ -423,7 +423,7 @@ var/list/sacrificed = list()
/obj/effect/rune/proc/ajourney() //some bits copypastaed from admin tools - Urist
if(usr.loc==src.loc)
var/mob/living/carbon/human/L = usr
var/datum/gender/TU = gender_datums[L.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[L.get_visible_gender()]
usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!")
usr.visible_message(span_warning("[usr]'s eyes glow blue as [TU.he] freeze[TU.s] in place, absolutely motionless."), \
span_warning("The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry..."), \
@@ -526,53 +526,53 @@ var/list/sacrificed = list()
for(var/obj/effect/rune/R in orange(1,src))
if(R==src)
continue
if(R.word1==cultwords["travel"] && R.word2==cultwords["self"]) //teleport
if(R.word1==GLOB.cultwords["travel"] && R.word2==GLOB.cultwords["self"]) //teleport
T = new(src.loc)
T.imbue = "[R.word3]"
T.info = "[R.word3]"
imbued_from = R
break
if(R.word1==cultwords["see"] && R.word2==cultwords["blood"] && R.word3==cultwords["hell"]) //tome
if(R.word1==GLOB.cultwords["see"] && R.word2==GLOB.cultwords["blood"] && R.word3==GLOB.cultwords["hell"]) //tome
T = new(src.loc)
T.imbue = "newtome"
imbued_from = R
break
if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["technology"]) //emp
if(R.word1==GLOB.cultwords["destroy"] && R.word2==GLOB.cultwords["see"] && R.word3==GLOB.cultwords["technology"]) //emp
T = new(src.loc)
T.imbue = "emp"
imbued_from = R
break
if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["destroy"]) //conceal
if(R.word1==GLOB.cultwords["blood"] && R.word2==GLOB.cultwords["see"] && R.word3==GLOB.cultwords["destroy"]) //conceal
T = new(src.loc)
T.imbue = "conceal"
imbued_from = R
break
if(R.word1==cultwords["hell"] && R.word2==cultwords["destroy"] && R.word3==cultwords["other"]) //armor
if(R.word1==GLOB.cultwords["hell"] && R.word2==GLOB.cultwords["destroy"] && R.word3==GLOB.cultwords["other"]) //armor
T = new(src.loc)
T.imbue = "armor"
imbued_from = R
break
if(R.word1==cultwords["blood"] && R.word2==cultwords["see"] && R.word3==cultwords["hide"]) //reveal
if(R.word1==GLOB.cultwords["blood"] && R.word2==GLOB.cultwords["see"] && R.word3==GLOB.cultwords["hide"]) //reveal
T = new(src.loc)
T.imbue = "revealrunes"
imbued_from = R
break
if(R.word1==cultwords["hide"] && R.word2==cultwords["other"] && R.word3==cultwords["see"]) //deafen
if(R.word1==GLOB.cultwords["hide"] && R.word2==GLOB.cultwords["other"] && R.word3==GLOB.cultwords["see"]) //deafen
T = new(src.loc)
T.imbue = "deafen"
imbued_from = R
break
if(R.word1==cultwords["destroy"] && R.word2==cultwords["see"] && R.word3==cultwords["other"]) //blind
if(R.word1==GLOB.cultwords["destroy"] && R.word2==GLOB.cultwords["see"] && R.word3==GLOB.cultwords["other"]) //blind
T = new(src.loc)
T.imbue = "blind"
imbued_from = R
break
if(R.word1==cultwords["self"] && R.word2==cultwords["other"] && R.word3==cultwords["technology"]) //communicat
if(R.word1==GLOB.cultwords["self"] && R.word2==GLOB.cultwords["other"] && R.word3==GLOB.cultwords["technology"]) //communicat
T = new(src.loc)
T.imbue = "communicate"
imbued_from = R
break
if(R.word1==cultwords["join"] && R.word2==cultwords["hide"] && R.word3==cultwords["technology"]) //communicat
if(R.word1==GLOB.cultwords["join"] && R.word2==GLOB.cultwords["hide"] && R.word3==GLOB.cultwords["technology"]) //communicat
T = new(src.loc)
T.imbue = "runestun"
imbued_from = R
@@ -590,11 +590,11 @@ var/list/sacrificed = list()
/obj/effect/rune/proc/mend()
var/mob/living/user = usr
var/datum/gender/TU = gender_datums[usr.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[usr.get_visible_gender()]
src = null
user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!")
user.take_overall_damage(200, 0)
runedec+=10
GLOB.runedec+=10
user.visible_message(span_danger("\The [user] keels over dead, [TU.his] blood glowing blue as it escapes [TU.his] body and dissipates into thin air."), \
span_danger("In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood."), \
span_warning("You hear faint rustle."))
@@ -602,7 +602,7 @@ var/list/sacrificed = list()
sleep(600)
if (!user)
return
runedec-=10
GLOB.runedec-=10
return
@@ -878,7 +878,7 @@ var/list/sacrificed = list()
if (cultist == user) //just to be sure.
return
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet)))
var/datum/gender/TU = gender_datums[cultist.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[cultist.get_visible_gender()]
to_chat(user, span_warning("You cannot summon \the [cultist], for [TU.his] shackles of blood are strong."))
return fizzle()
cultist.loc = src.loc
@@ -100,7 +100,7 @@
/turf/unsimulated/wall/supermatter/Bumped(atom/AM as mob|obj)
if(isliving(AM))
var/mob/living/M = AM
var/datum/gender/T = gender_datums[M.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[M.get_visible_gender()]
AM.visible_message(span_warning("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash."),\
span_danger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),\
span_warning("You hear an unearthly noise as a wave of heat washes over you."))
@@ -1,4 +1,4 @@
var/global/universe_has_ended = 0
GLOBAL_VAR_INIT(universe_has_ended, 0)
/datum/universal_state/supermatter_cascade
@@ -79,7 +79,7 @@ var/global/universe_has_ended = 0
spawn(5 MINUTES)
ticker.station_explosion_cinematic(0,null) // TODO: Custom cinematic
universe_has_ended = 1
GLOB.universe_has_ended = 1
return
/datum/universal_state/supermatter_cascade/proc/AreaSet()
+2 -2
View File
@@ -98,8 +98,8 @@
if(15)
communications_blackout()
*/
var/eventchance = 10 // Percent chance per 5 minutes.
var/hadevent = 0
GLOBAL_VAR_INIT(eventchance, 10) // Percent chance per 5 minutes.
GLOBAL_VAR_INIT(hadevent, 0)
/proc/appendicitis()
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
@@ -305,7 +305,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t
message_admins(span_notice("DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])"))*/
if("End of the World")
if(prob(eventchance)) GameOver()
if(prob(GLOB.eventchance)) GameOver()
if("Christmas","Christmas Eve")
if(prob(eventchance)) ChristmasEvent()
if(prob(GLOB.eventchance)) ChristmasEvent()
+2 -2
View File
@@ -1,6 +1,6 @@
/proc/GameOver()
if(!hadevent)
hadevent = 1
if(!GLOB.hadevent)
GLOB.hadevent = 1
message_admins("The apocalypse has begun! (this holiday event can be disabled by toggling events off within 60 seconds)")
spawn(600)
if(!CONFIG_GET(flag/allow_random_events)) return
+14 -14
View File
@@ -1,5 +1,5 @@
var/global/antag_add_failed // Used in antag type voting.
var/global/list/additional_antag_types = list()
GLOBAL_VAR(antag_add_failed) // Used in antag type voting.
GLOBAL_LIST_EMPTY(additional_antag_types)
/datum/game_mode
var/name = "invalid"
@@ -85,7 +85,7 @@ var/global/list/additional_antag_types = list()
if(href_list["debug_antag"] == "self")
usr.client.debug_variables(src)
return
var/datum/antagonist/antag = all_antag_types[href_list["debug_antag"]]
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["debug_antag"]]
if(antag)
usr.client.debug_variables(antag)
message_admins("Admin [key_name_admin(usr)] is debugging the [antag.role_text] template.")
@@ -93,16 +93,16 @@ var/global/list/additional_antag_types = list()
if(antag_tags && (href_list["remove_antag_type"] in antag_tags))
to_chat(usr, "Cannot remove core mode antag type.")
return
var/datum/antagonist/antag = all_antag_types[href_list["remove_antag_type"]]
if(antag_templates && antag_templates.len && antag && (antag in antag_templates) && (antag.id in additional_antag_types))
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["remove_antag_type"]]
if(antag_templates && antag_templates.len && antag && (antag in antag_templates) && (antag.id in GLOB.additional_antag_types))
antag_templates -= antag
additional_antag_types -= antag.id
GLOB.additional_antag_types -= antag.id
message_admins("Admin [key_name_admin(usr)] removed [antag.role_text] template from game mode.")
else if(href_list["add_antag_type"])
var/choice = tgui_input_list(usr, "Which type do you wish to add?", "Select Antag Type", all_antag_types)
var/choice = tgui_input_list(usr, "Which type do you wish to add?", "Select Antag Type", GLOB.all_antag_types)
if(!choice)
return
var/datum/antagonist/antag = all_antag_types[choice]
var/datum/antagonist/antag = GLOB.all_antag_types[choice]
if(antag)
if(!islist(ticker.mode.antag_templates))
ticker.mode.antag_templates = list()
@@ -160,7 +160,7 @@ var/global/list/additional_antag_types = list()
var/enemy_count = 0
if(antag_tags && antag_tags.len)
for(var/antag_tag in antag_tags)
var/datum/antagonist/antag = all_antag_types[antag_tag]
var/datum/antagonist/antag = GLOB.all_antag_types[antag_tag]
if(!antag)
continue
var/list/potential = list()
@@ -389,7 +389,7 @@ var/global/list/additional_antag_types = list()
var/list/players = list()
var/list/candidates = list()
var/datum/antagonist/antag_template = all_antag_types[antag_id]
var/datum/antagonist/antag_template = GLOB.all_antag_types[antag_id]
if(!antag_template)
return candidates
@@ -451,15 +451,15 @@ var/global/list/additional_antag_types = list()
if(antag_tags && antag_tags.len)
antag_templates = list()
for(var/antag_tag in antag_tags)
var/datum/antagonist/antag = all_antag_types[antag_tag]
var/datum/antagonist/antag = GLOB.all_antag_types[antag_tag]
if(antag)
antag_templates |= antag
if(additional_antag_types && additional_antag_types.len)
if(GLOB.additional_antag_types && GLOB.additional_antag_types.len)
if(!antag_templates)
antag_templates = list()
for(var/antag_type in additional_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.additional_antag_types)
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
if(antag)
antag_templates |= antag
+1 -1
View File
@@ -16,7 +16,7 @@
/datum/game_mode/meteor/process()
if(world.time >= next_wave)
next_wave = world.time + meteor_wave_delay
next_wave = world.time + GLOB.meteor_wave_delay
spawn() spawn_meteors(6, meteors_normal)
/datum/game_mode/meteor/declare_completion()
+1 -1
View File
@@ -1,4 +1,4 @@
/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds
GLOBAL_VAR_INIT(meteor_wave_delay, 625) //minimum wait between waves in tenths of seconds
//set to at least 100 unless you want evarr ruining every round
//Meteors probability of spawning during a given wave
+4 -4
View File
@@ -2,7 +2,7 @@
MERCENARY ROUNDTYPE
*/
var/list/nuke_disks = list()
GLOBAL_LIST_EMPTY(nuke_disks)
/datum/game_mode/nuclear
name = "Mercenary"
@@ -22,12 +22,12 @@ var/list/nuke_disks = list()
//delete all nuke disks not on a station zlevel
/datum/game_mode/nuclear/proc/check_nuke_disks()
for(var/obj/item/disk/nuclear/N in nuke_disks)
for(var/obj/item/disk/nuclear/N in GLOB.nuke_disks)
if(isNotStationLevel(N.z)) qdel(N)
//checks if L has a nuke disk on their person
/datum/game_mode/nuclear/proc/check_mob(mob/living/L)
for(var/obj/item/disk/nuclear/N in nuke_disks)
for(var/obj/item/disk/nuclear/N in GLOB.nuke_disks)
if(N.storage_depth(L) >= 0)
return 1
return 0
@@ -37,7 +37,7 @@ var/list/nuke_disks = list()
..()
return
var/disk_rescued = 1
for(var/obj/item/disk/nuclear/D in nuke_disks)
for(var/obj/item/disk/nuclear/D in GLOB.nuke_disks)
var/disk_area = get_area(D)
if(!is_type_in_list(disk_area, centcom_areas))
disk_rescued = 0
+2 -2
View File
@@ -212,7 +212,7 @@
worklocation()
/obj/item/pinpointer/nukeop/proc/workdisk()
if(bomb_set) //If the bomb is set, lead to the shuttle
if(GLOB.bomb_set) //If the bomb is set, lead to the shuttle
mode = 1 //Ensures worklocation() continues to work
playsound(src, 'sound/machines/twobeep.ogg', 50, 1) //Plays a beep
visible_message(span_notice("Shuttle Locator active.")) //Lets the mob holding it know that the mode has changed
@@ -237,7 +237,7 @@
icon_state = "pinonfar"
/obj/item/pinpointer/nukeop/proc/worklocation()
if(!bomb_set)
if(!GLOB.bomb_set)
mode = 0
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
visible_message(span_notice("Authentication Disk Locator active."))
+7 -7
View File
@@ -1,5 +1,5 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
var/global/list/all_objectives = list()
GLOBAL_LIST_EMPTY(all_objectives)
/datum/objective
var/datum/mind/owner = null //Who owns the objective.
@@ -9,13 +9,13 @@ var/global/list/all_objectives = list()
var/completed = 0 //currently only used for custom objectives.
/datum/objective/New(var/text)
all_objectives |= src
GLOB.all_objectives |= src
if(text)
explanation_text = text
..()
/datum/objective/Destroy()
all_objectives -= src
GLOB.all_objectives -= src
. = ..()
/datum/objective/proc/check_completion()
@@ -67,7 +67,7 @@ var/global/list/all_objectives = list()
/datum/objective/anti_revolution/execute/find_target()
..()
if(target && target.current)
var/datum/gender/T = gender_datums[target.current.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[target.current.get_visible_gender()]
explanation_text = "[target.current.real_name], the [target.assigned_role] has extracted confidential information above their clearance. Execute [T.him]."
else
explanation_text = "Free Objective"
@@ -77,7 +77,7 @@ var/global/list/all_objectives = list()
/datum/objective/anti_revolution/execute/find_target_by_role(role, role_type=0)
..(role, role_type)
if(target && target.current)
var/datum/gender/T = gender_datums[target.current.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[target.current.get_visible_gender()]
explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has extracted confidential information above their clearance. Execute [T.him]."
else
explanation_text = "Free Objective"
@@ -126,7 +126,7 @@ var/global/list/all_objectives = list()
/datum/objective/anti_revolution/demote/find_target()
..()
if(target && target.current)
var/datum/gender/T = gender_datums[target.current.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[target.current.get_visible_gender()]
explanation_text = "[target.current.real_name], the [target.assigned_role] has been classified as harmful to [using_map.company_name]'s goals. Demote [T.him] to assistant."
else
explanation_text = "Free Objective"
@@ -135,7 +135,7 @@ var/global/list/all_objectives = list()
/datum/objective/anti_revolution/demote/find_target_by_role(role, role_type=0)
..(role, role_type)
if(target && target.current)
var/datum/gender/T = gender_datums[target.current.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[target.current.get_visible_gender()]
explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role] has been classified as harmful to [using_map.company_name]'s goals. Demote [T.him] to assistant."
else
explanation_text = "Free Objective"
+1 -1
View File
@@ -57,7 +57,7 @@
var/summery = ""
for(var/path in gene.conflict_traits)
if(gene.conflict_traits[path]) // check if it actually conflicts
var/datum/trait/T = all_traits[path]
var/datum/trait/T = GLOB.all_traits[path]
if(summery != "")
summery += ", "
summery += "[T.name]"
@@ -31,10 +31,10 @@
to_chat(user, span_danger("\The [src] has ran out of uses, and is now useless to you!"))
return
else
var/area_wanted = tgui_input_list(user, "Area to teleport to", "Teleportation", teleportlocs)
var/area_wanted = tgui_input_list(user, "Area to teleport to", "Teleportation", GLOB.teleportlocs)
if(!area_wanted)
return
var/area/A = teleportlocs[area_wanted]
var/area/A = GLOB.teleportlocs[area_wanted]
if(!A)
return
+1 -1
View File
@@ -236,7 +236,7 @@
return C.registered_name
/proc/get_all_job_icons() //For all existing HUD icons
return joblist + alt_titles_with_icons + list("Prisoner")
return joblist + GLOB.alt_titles_with_icons + list("Prisoner")
/obj/proc/GetJobName() //Used in secHUD icon generation
var/obj/item/card/id/I = GetID()
+1 -1
View File
@@ -32,7 +32,7 @@
return 1
/datum/job/ai/is_position_available()
return (empty_playable_ai_cores.len != 0)
return (GLOB.empty_playable_ai_cores.len != 0)
/datum/job/ai/equip_preview(mob/living/carbon/human/H)
H.equip_to_slot_or_del(new /obj/item/clothing/suit/straight_jacket(H), slot_wear_suit)
+1 -1
View File
@@ -486,7 +486,7 @@ var/global/datum/controller/occupations/job_master
if(H.mind && job.department_accounts)
var/remembered_info = ""
for(var/D in job.department_accounts)
var/datum/money_account/department_account = department_accounts[D]
var/datum/money_account/department_account = GLOB.department_accounts[D]
if(department_account)
remembered_info += span_bold("Department account number ([D]):") + " #[department_account.account_number]<br>"
remembered_info += span_bold("Department account pin ([D]):") + " [department_account.remote_access_pin]<br>"
+12 -12
View File
@@ -1,6 +1,6 @@
#define WHITELISTFILE "data/whitelist.txt"
var/list/whitelist = list()
GLOBAL_LIST_EMPTY(whitelist)
/hook/startup/proc/loadWhitelist()
if(CONFIG_GET(flag/usewhitelist))
@@ -8,15 +8,15 @@ var/list/whitelist = list()
return 1
/proc/load_whitelist()
whitelist = file2list(WHITELISTFILE)
if(!whitelist.len) whitelist = null
GLOB.whitelist = file2list(WHITELISTFILE)
if(!GLOB.whitelist.len) GLOB.whitelist = null
/proc/check_whitelist(mob/M /*, var/rank*/)
if(!whitelist)
if(!GLOB.whitelist)
return 0
return ("[M.ckey]" in whitelist)
return ("[M.ckey]" in GLOB.whitelist)
/var/list/alien_whitelist = list()
GLOBAL_LIST_EMPTY(alien_whitelist)
/hook/startup/proc/loadAlienWhitelist()
if(CONFIG_GET(flag/usealienwhitelist))
@@ -38,10 +38,10 @@ var/list/whitelist = list()
if(key != ckey(key))
warning("Alien whitelist entry appears to have key, not ckey: [line]") // The key contains invalid ckey characters
continue
var/list/our_whitelists = alien_whitelist[key] // Try to see if we have one already and add to it
var/list/our_whitelists = GLOB.alien_whitelist[key] // Try to see if we have one already and add to it
if(!our_whitelists) // Guess this is their first/only whitelist entry
our_whitelists = list()
alien_whitelist[key] = our_whitelists
GLOB.alien_whitelist[key] = our_whitelists
our_whitelists += left_and_right[2]
/proc/is_alien_whitelisted(client/C, var/datum/species/species)
@@ -58,7 +58,7 @@ var/list/whitelist = list()
return TRUE
//Search the whitelist
var/list/our_whitelists = alien_whitelist[C.ckey]
var/list/our_whitelists = GLOB.alien_whitelist[C.ckey]
if("All" in our_whitelists)
return TRUE
if(species.name in our_whitelists)
@@ -81,7 +81,7 @@ var/list/whitelist = list()
return TRUE
//Search the whitelist
var/list/our_whitelists = alien_whitelist[M.ckey]
var/list/our_whitelists = GLOB.alien_whitelist[M.ckey]
if("All" in our_whitelists)
return TRUE
if(language.name in our_whitelists)
@@ -103,8 +103,8 @@ var/list/whitelist = list()
return 1
//If we have a loaded file, search it
if(alien_whitelist)
for (var/s in alien_whitelist)
if(GLOB.alien_whitelist)
for (var/s in GLOB.alien_whitelist)
if(findtext(s,"[M.ckey] - [module]"))
return 1
if(findtext(s,"[M.ckey] - All"))
+4 -4
View File
@@ -1,4 +1,4 @@
var/list/job_whitelist = list()
GLOBAL_LIST_EMPTY(job_whitelist)
/hook/startup/proc/loadJobWhitelist()
load_jobwhitelist()
@@ -9,7 +9,7 @@ var/list/job_whitelist = list()
if (!text)
log_misc("Failed to load config/jobwhitelist.txt")
else
job_whitelist = splittext(text, "\n")
GLOB.job_whitelist = splittext(text, "\n")
/proc/is_job_whitelisted(mob/M, var/rank)
var/datum/job/job = job_master.GetJob(rank)
@@ -19,10 +19,10 @@ var/list/job_whitelist = list()
return 1
if(check_rights(R_ADMIN, 0))
return 1
if(!job_whitelist)
if(!GLOB.job_whitelist)
return 0
if(M && rank)
for (var/s in job_whitelist)
for (var/s in GLOB.job_whitelist)
if(findtext(s,"[lowertext(M.ckey)] - [lowertext(rank)]"))
return 1
if(findtext(s,"[M.ckey] - All"))
+1 -1
View File
@@ -308,7 +308,7 @@
if(!occupant)
return
if(occupant.stat == DEAD)
var/datum/gender/G = gender_datums[occupant.get_visible_gender()]
var/datum/gender/G = GLOB.gender_datums[occupant.get_visible_gender()]
to_chat(ui.user, span_danger("This person has no life to preserve anymore. Take [G.him] to a department capable of reanimating [G.him]."))
return
var/chemical = params["chemid"]
+4 -4
View File
@@ -1,6 +1,6 @@
// PRESETS
/*
var/global/list/station_networks = list(
GLOBAL_LIST_INIT(station_networks, list(
// NETWORK_CAFE_DOCK,
NETWORK_CARGO,
NETWORK_CIVILIAN,
@@ -20,15 +20,15 @@ var/global/list/station_networks = list(
NETWORK_PRISON,
NETWORK_SECURITY,
NETWORK_INTERROGATION
)
))
*/
var/global/list/engineering_networks = list(
GLOBAL_LIST_INIT(engineering_networks, list(
NETWORK_ENGINE,
NETWORK_ENGINEERING,
//NETWORK_ENGINEERING_OUTPOST, //VOREStation Edit: Tether has no Engineering Outpost,
NETWORK_ALARM_ATMOS,
NETWORK_ALARM_FIRE,
NETWORK_ALARM_POWER)
NETWORK_ALARM_POWER))
/obj/machinery/camera/network/crescent
network = list(NETWORK_CRESCENT)
+6 -6
View File
@@ -177,7 +177,7 @@
var/open_for_latejoin = tgui_alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", list("Yes", "No")) == "Yes"
var/obj/structure/AIcore/deactivated/D = new(loc)
if(open_for_latejoin)
empty_playable_ai_cores += D
GLOB.empty_playable_ai_cores += D
else
var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(loc, FALSE, laws, brain)
if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created
@@ -197,8 +197,8 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
state = 20//So it doesn't interact based on the above. Not really necessary.
/obj/structure/AIcore/deactivated/Destroy()
if(src in empty_playable_ai_cores)
empty_playable_ai_cores -= src
if(src in GLOB.empty_playable_ai_cores)
GLOB.empty_playable_ai_cores -= src
return ..()
/obj/structure/AIcore/deactivated/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/aicard/card, var/mob/user)
@@ -274,9 +274,9 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
var/obj/structure/AIcore/deactivated/D = cores[id]
if(!D) return
if(D in empty_playable_ai_cores)
empty_playable_ai_cores -= D
if(D in GLOB.empty_playable_ai_cores)
GLOB.empty_playable_ai_cores -= D
to_chat(src, "\The [id] is now [span_red("not available")] for latejoining AIs.")
else
empty_playable_ai_cores += D
GLOB.empty_playable_ai_cores += D
to_chat(src, "\The [id] is now [span_green("available")] for latejoining AIs.")
+6 -6
View File
@@ -1108,7 +1108,7 @@
if(..())
return
if(gamepaid == 0 && vendor_account && !vendor_account.suspended)
if(gamepaid == 0 && GLOB.vendor_account && !GLOB.vendor_account.suspended)
var/paid = 0
var/obj/item/card/id/W = I.GetID()
if(W) //for IDs and PDAs and wallets with IDs
@@ -1208,14 +1208,14 @@
// create entry in the purchaser's account log
var/datum/transaction/T = new()
T.target_name = "[vendor_account.owner_name] (via [name])"
T.target_name = "[GLOB.vendor_account.owner_name] (via [name])"
T.purpose = "Purchase of arcade game([name])"
if(gameprice > 0)
T.amount = "([gameprice])"
else
T.amount = "[gameprice]"
T.source_terminal = name
T.date = current_date_string
T.date = GLOB.current_date_string
T.time = stationtime2text()
customer_account.transaction_log.Add(T)
@@ -1228,16 +1228,16 @@
/// Add to vendor account
/obj/machinery/computer/arcade/clawmachine/proc/credit_purchase(var/target as text)
vendor_account.money += gameprice
GLOB.vendor_account.money += gameprice
var/datum/transaction/T = new()
T.target_name = target
T.purpose = "Purchase of arcade game([name])"
T.amount = "[gameprice]"
T.source_terminal = name
T.date = current_date_string
T.date = GLOB.current_date_string
T.time = stationtime2text()
vendor_account.transaction_log.Add(T)
GLOB.vendor_account.transaction_log.Add(T)
/// End Payment
/obj/machinery/computer/arcade/clawmachine/attack_hand(mob/living/user)
+1 -1
View File
@@ -195,7 +195,7 @@ GLOBAL_LIST_EMPTY(entertainment_screens)
light_color = "#FAC54B"
/obj/machinery/computer/security/engineering/get_default_networks()
. = engineering_networks.Copy()
. = GLOB.engineering_networks.Copy()
/obj/machinery/computer/security/nuclear
name = "head mounted camera monitor"
+1 -1
View File
@@ -89,7 +89,7 @@
var/list/data = ..()
if(data_core)
data_core.get_manifest_list()
data["manifest"] = PDA_Manifest
data["manifest"] = GLOB.PDA_Manifest
return data
/obj/machinery/computer/card/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state)
+2 -2
View File
@@ -499,8 +499,8 @@
R.fields["b_type"] = pick("A-", "B-", "AB-", "O-", "A+", "B+", "AB+", "O+")
if(5)
R.fields["p_stat"] = pick("*SSD*", "Active", "Physically Unfit", "Disabled")
if(PDA_Manifest.len)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest.len)
GLOB.PDA_Manifest.Cut()
if(6)
R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable")
continue
+1 -1
View File
@@ -55,7 +55,7 @@
if((get_z(L) in using_map.station_levels) && !istype(L.loc, /turf/space))
loc_display = T.loc
if(track.malfunction)
loc_display = pick(teleportlocs)
loc_display = pick(GLOB.teleportlocs)
trackImplants.Add(list(list(
"host" = L,
"ref" = "\ref[track]",
+31 -31
View File
@@ -3,12 +3,12 @@
#define PRISON_STATION_AREATYPE "/area/shuttle/prison/station" //Type of the prison shuttle area for station
#define PRISON_DOCK_AREATYPE "/area/shuttle/prison/prison" //Type of the prison shuttle area for dock
var/prison_shuttle_moving_to_station = 0
var/prison_shuttle_moving_to_prison = 0
var/prison_shuttle_at_station = 0
var/prison_shuttle_can_send = 1
var/prison_shuttle_time = 0
var/prison_shuttle_timeleft = 0
GLOBAL_VAR_INIT(prison_shuttle_moving_to_station, 0)
GLOBAL_VAR_INIT(prison_shuttle_moving_to_prison, 0)
GLOBAL_VAR_INIT(prison_shuttle_at_station, 0)
GLOBAL_VAR_INIT(prison_shuttle_can_send, 1)
GLOBAL_VAR_INIT(prison_shuttle_time, 0)
GLOBAL_VAR_INIT(prison_shuttle_timeleft, 0)
/obj/machinery/computer/prison_shuttle
name = "prison shuttle control console"
@@ -42,8 +42,8 @@ var/prison_shuttle_timeleft = 0
dat = src.temp
else
dat += {"<BR><B>Prison Shuttle</B><HR>
\nLocation: [prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "Moving to station ([prison_shuttle_timeleft] Secs.)":prison_shuttle_at_station ? "Station":"Dock"]<BR>
[prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison ? "\n*Shuttle already called*<BR>\n<BR>":prison_shuttle_at_station ? "\n<A href='byond://?src=\ref[src];sendtodock=1'>Send to Dock</A><BR>\n<BR>":"\n<A href='byond://?src=\ref[src];sendtostation=1'>Send to station</A><BR>\n<BR>"]
\nLocation: [GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison ? "Moving to station ([GLOB.prison_shuttle_timeleft] Secs.)":GLOB.prison_shuttle_at_station ? "Station":"Dock"]<BR>
[GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison ? "\n*Shuttle already called*<BR>\n<BR>":GLOB.prison_shuttle_at_station ? "\n<A href='byond://?src=\ref[src];sendtodock=1'>Send to Dock</A><BR>\n<BR>":"\n<A href='byond://?src=\ref[src];sendtostation=1'>Send to station</A><BR>\n<BR>"]
\n<A href='byond://?src=\ref[user];mach_close=computer'>Close</A>"}
user << browse("<html>[dat]</html>", "window=computer;size=575x450")
@@ -62,13 +62,13 @@ var/prison_shuttle_timeleft = 0
if (!prison_can_move())
to_chat(usr, span_warning("The prison shuttle is unable to leave."))
return
if(!prison_shuttle_at_station|| prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if(!GLOB.prison_shuttle_at_station|| GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison) return
post_signal("prison")
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog(usr)
prison_shuttle_moving_to_prison = 1
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
GLOB.prison_shuttle_moving_to_prison = 1
GLOB.prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
@@ -76,13 +76,13 @@ var/prison_shuttle_timeleft = 0
if (!prison_can_move())
to_chat(usr, span_warning("The prison shuttle is unable to leave."))
return
if(prison_shuttle_at_station || prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
if(GLOB.prison_shuttle_at_station || GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison) return
post_signal("prison")
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
src.updateUsrDialog(usr)
prison_shuttle_moving_to_station = 1
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
GLOB.prison_shuttle_moving_to_station = 1
GLOB.prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
@@ -95,20 +95,20 @@ var/prison_shuttle_timeleft = 0
/obj/machinery/computer/prison_shuttle/proc/prison_can_move()
if(prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return 0
if(GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison) return 0
else return 1
/obj/machinery/computer/prison_shuttle/proc/prison_break()
switch(prison_break)
if (0)
if(!prison_shuttle_at_station || prison_shuttle_moving_to_prison) return
if(!GLOB.prison_shuttle_at_station || GLOB.prison_shuttle_moving_to_prison) return
prison_shuttle_moving_to_prison = 1
prison_shuttle_at_station = prison_shuttle_at_station
GLOB.prison_shuttle_moving_to_prison = 1
GLOB.prison_shuttle_at_station = GLOB.prison_shuttle_at_station
if (!prison_shuttle_moving_to_prison || !prison_shuttle_moving_to_station)
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
if (!GLOB.prison_shuttle_moving_to_prison || !GLOB.prison_shuttle_moving_to_station)
GLOB.prison_shuttle_time = world.timeofday + PRISON_MOVETIME
spawn(0)
prison_process()
prison_break = 1
@@ -128,22 +128,22 @@ var/prison_shuttle_timeleft = 0
/obj/machinery/computer/prison_shuttle/proc/prison_process()
while(prison_shuttle_time - world.timeofday > 0)
var/ticksleft = prison_shuttle_time - world.timeofday
while(GLOB.prison_shuttle_time - world.timeofday > 0)
var/ticksleft = GLOB.prison_shuttle_time - world.timeofday
if(ticksleft > 1e5)
prison_shuttle_time = world.timeofday + 10 // midnight rollover
GLOB.prison_shuttle_time = world.timeofday + 10 // midnight rollover
prison_shuttle_timeleft = (ticksleft / 10)
GLOB.prison_shuttle_timeleft = (ticksleft / 10)
sleep(5)
prison_shuttle_moving_to_station = 0
prison_shuttle_moving_to_prison = 0
GLOB.prison_shuttle_moving_to_station = 0
GLOB.prison_shuttle_moving_to_prison = 0
switch(prison_shuttle_at_station)
switch(GLOB.prison_shuttle_at_station)
if(0)
prison_shuttle_at_station = 1
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
GLOB.prison_shuttle_at_station = 1
if (GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison) return
if (!prison_can_move())
to_chat(usr, span_warning("The prison shuttle is unable to leave."))
@@ -171,8 +171,8 @@ var/prison_shuttle_timeleft = 0
start_location.move_contents_to(end_location)
if(1)
prison_shuttle_at_station = 0
if (prison_shuttle_moving_to_station || prison_shuttle_moving_to_prison) return
GLOB.prison_shuttle_at_station = 0
if (GLOB.prison_shuttle_moving_to_station || GLOB.prison_shuttle_moving_to_prison) return
if (!prison_can_move())
to_chat(usr, span_warning("The prison shuttle is unable to leave."))
+2 -2
View File
@@ -507,8 +507,8 @@
R.fields["criminal"] = pick("None", "*Arrest*", "Incarcerated", "Parolled", "Released")
if(5)
R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit")
if(PDA_Manifest.len)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest.len)
GLOB.PDA_Manifest.Cut()
if(6)
R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable")
continue
+8 -8
View File
@@ -209,8 +209,8 @@
screen = clamp(text2num(params["screen"]) || 0, GENERAL_RECORD_LIST, GENERAL_RECORD_MAINT)
active1 = null
if("del_all")
if(PDA_Manifest)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest)
GLOB.PDA_Manifest.Cut()
for(var/datum/data/record/R in data_core.general)
qdel(R)
set_temp("All employment records deleted.")
@@ -225,8 +225,8 @@
if(ui.user.Adjacent(src))
active1.fields["notes"] = new_notes
if("del_r")
if(PDA_Manifest)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest)
GLOB.PDA_Manifest.Cut()
if(active1)
for(var/datum/data/record/R in data_core.medical)
if ((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
@@ -242,8 +242,8 @@
active1 = general_record
screen = GENERAL_RECORD_DATA
if("new")
if(PDA_Manifest)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest)
GLOB.PDA_Manifest.Cut()
active1 = data_core.CreateGeneralRecord()
screen = GENERAL_RECORD_DATA
set_temp("Employment record created.", "success")
@@ -384,8 +384,8 @@
R.fields["criminal"] = pick("None", "*Arrest*", "Incarcerated", "Parolled", "Released")
if(5)
R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit")
if(PDA_Manifest.len)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest.len)
GLOB.PDA_Manifest.Cut()
if(6)
R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable")
continue
+1 -1
View File
@@ -177,7 +177,7 @@
pack_list.Add(list(pack))
data["supply_packs"] = pack_list
data["categories"] = all_supply_groups
data["categories"] = GLOB.all_supply_groups
return data
/obj/machinery/computer/supplycomp/tgui_act(action, params, datum/tgui/ui)
+3 -3
View File
@@ -463,7 +463,7 @@
qdel(B)
//Update any existing objectives involving this mob.
for(var/datum/objective/O in all_objectives)
for(var/datum/objective/O in GLOB.all_objectives)
// We don't want revs to get objectives that aren't for heads of staff. Letting
// them win or lose based on cryo is silly so we remove the objective.
if(O.target == to_despawn.mind)
@@ -495,8 +495,8 @@
// Delete them from datacore.
if(PDA_Manifest.len)
PDA_Manifest.Cut()
if(GLOB.PDA_Manifest.len)
GLOB.PDA_Manifest.Cut()
for(var/datum/data/record/R in data_core.medical)
if((R.fields["name"] == to_despawn.real_name))
qdel(R)
+3 -3
View File
@@ -1,4 +1,4 @@
var/list/doppler_arrays = list()
GLOBAL_LIST_EMPTY(doppler_arrays)
/obj/machinery/doppler_array
anchored = TRUE
@@ -11,10 +11,10 @@ var/list/doppler_arrays = list()
/obj/machinery/doppler_array/Initialize(mapload)
. = ..()
doppler_arrays += src
GLOB.doppler_arrays += src
/obj/machinery/doppler_array/Destroy()
doppler_arrays -= src
GLOB.doppler_arrays -= src
. = ..()
/obj/machinery/doppler_array/proc/sense_explosion(var/x0,var/y0,var/z0,var/devastation_range,var/heavy_impact_range,var/light_impact_range,var/took)
+1 -1
View File
@@ -49,7 +49,7 @@ FIRE ALARM
offset_alarm()
if(z in using_map.contact_levels)
set_security_level(security_level ? get_security_level() : "green")
set_security_level(GLOB.security_level ? get_security_level() : "green")
/obj/machinery/firealarm/proc/offset_alarm()
pixel_x = (dir & 3) ? 0 : (dir == 4 ? 26 : -26)
+6 -6
View File
@@ -1,16 +1,16 @@
/var/global/list/construction_frame_wall
/var/global/list/construction_frame_floor
GLOBAL_LIST(construction_frame_wall)
GLOBAL_LIST(construction_frame_floor)
/proc/populate_frame_types()
//Create global frame type list if it hasn't been made already.
construction_frame_wall = list()
construction_frame_floor = list()
GLOB.construction_frame_wall = list()
GLOB.construction_frame_floor = list()
for(var/R in subtypesof(/datum/frame/frame_types))
var/datum/frame/frame_types/type = new R
if(type.frame_style == FRAME_STYLE_WALL)
construction_frame_wall += type
GLOB.construction_frame_wall += type
else
construction_frame_floor += type
GLOB.construction_frame_floor += type
//////////////////////////////
// Frame Type Datum - Describes the frame structures that can be created from a frame item.
+1 -1
View File
@@ -8,7 +8,7 @@
#define GD_UNLIMITED 8 // will not deplete amount when gear is taken
#define GD_UNIQUE 16 // each instance of this will allow people to take 1 thing
var/list/dispenser_presets = list()
GLOBAL_LIST_EMPTY(dispenser_presets)
// Standard generic item list
/datum/gear_disp
+2 -2
View File
@@ -54,12 +54,12 @@ GLOBAL_LIST_EMPTY(holoposters)
examine_addon = "It appears to be malfunctioning."
new_color = "#6A6C71"
else
if((z in using_map.station_levels) && global.security_level) // 0 is fine, everything higher is alert levels
if((z in using_map.station_levels) && GLOB.security_level) // 0 is fine, everything higher is alert levels
icon_state = "attention"
examine_addon = "It warns you to remain calm and contact your supervisor as soon as possible."
new_color = "#AA7039"
alerting = TRUE
else if(alerting && !global.security_level) // coming out of alert
else if(alerting && !GLOB.security_level) // coming out of alert
alerting = FALSE
set_rand_sprite()
return
+3 -3
View File
@@ -1,7 +1,7 @@
// Navigation beacon for AI robots
// Functions as a transponder: looks for incoming signal matching
var/global/list/navbeacons = list() // no I don't like putting this in, but it will do for now
GLOBAL_LIST_EMPTY(navbeacons) // no I don't like putting this in, but it will do for now
/obj/machinery/navbeacon
icon = 'icons/obj/objects.dmi'
@@ -26,7 +26,7 @@ var/global/list/navbeacons = list() // no I don't like putting this in, but it w
var/turf/T = loc
hide(!T.is_plating())
navbeacons += src
GLOB.navbeacons += src
// set the transponder codes assoc list from codes_txt
// DEPRECATED - This is kept only for compatibilty with old map files! Do not use this!
@@ -201,7 +201,7 @@ Transponder Codes:<UL>"}
updateDialog()
/obj/machinery/navbeacon/Destroy()
navbeacons.Remove(src)
GLOB.navbeacons.Remove(src)
. = ..()
+9 -9
View File
@@ -1,4 +1,4 @@
var/bomb_set
GLOBAL_VAR(bomb_set)
/obj/machinery/nuclearbomb
name = "\improper Nuclear Fission Explosive"
@@ -45,7 +45,7 @@ var/bomb_set
/obj/machinery/nuclearbomb/process()
if(timing)
bomb_set = 1 //So long as there is one nuke timing, it means one nuke is armed.
GLOB.bomb_set = 1 //So long as there is one nuke timing, it means one nuke is armed.
timeleft--
if(timeleft <= 0)
explode()
@@ -274,7 +274,7 @@ var/bomb_set
if(icon_state == "nuclearbomb2")
icon_state = "nuclearbomb1"
timing = 0
bomb_set = 0
GLOB.bomb_set = 0
if(light_wire == temp_wire)
lighthack = !lighthack
@@ -321,18 +321,18 @@ var/bomb_set
if(!lighthack)
icon_state = "nuclearbomb2"
if(!safety)
bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N
GLOB.bomb_set = 1//There can still be issues with this reseting when there are multiple bombs. Not a big deal tho for Nuke/N
else
bomb_set = 0
GLOB.bomb_set = 0
else
bomb_set = 0
GLOB.bomb_set = 0
if(!lighthack)
icon_state = "nuclearbomb1"
if(href_list["safety"])
safety = !(safety)
if(safety)
timing = 0
bomb_set = 0
GLOB.bomb_set = 0
if(href_list["anchor"])
if(removal_stage == 5)
@@ -414,10 +414,10 @@ var/bomb_set
/obj/item/disk/nuclear/Initialize(mapload)
. = ..()
nuke_disks += src
GLOB.nuke_disks += src
/obj/item/disk/nuclear/Destroy()
if(!nuke_disks.len && blobstart.len > 0)
if(!GLOB.nuke_disks.len && blobstart.len > 0)
var/obj/D = new /obj/item/disk/nuclear(pick(blobstart))
message_admins("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).")
log_game("[src], the last authentication disk, has been destroyed. Spawning [D] at ([D.x], [D.y], [D.z]).")
+21 -21
View File
@@ -12,10 +12,10 @@
#define RCS_MESSAUTH 7 // Authentication before sending
#define RCS_ANNOUNCE 8 // Send announcement
var/req_console_assistance = list()
var/req_console_supplies = list()
var/req_console_information = list()
var/list/obj/machinery/requests_console/allConsoles = list()
GLOBAL_LIST_EMPTY(req_console_assistance)
GLOBAL_LIST_EMPTY(req_console_supplies)
GLOBAL_LIST_EMPTY(req_console_information)
GLOBAL_LIST_EMPTY_TYPED(allConsoles, /obj/machinery/requests_console)
/obj/machinery/requests_console
name = "requests console"
@@ -61,30 +61,30 @@ var/list/obj/machinery/requests_console/allConsoles = list()
announcement.newscast = 1
name = "[department] requests console"
allConsoles += src
GLOB.allConsoles += src
if(departmentType & RC_ASSIST)
req_console_assistance |= department
GLOB.req_console_assistance |= department
if(departmentType & RC_SUPPLY)
req_console_supplies |= department
GLOB.req_console_supplies |= department
if(departmentType & RC_INFO)
req_console_information |= department
GLOB.req_console_information |= department
update_icon()
/obj/machinery/requests_console/Destroy()
allConsoles -= src
GLOB.allConsoles -= src
var/lastDeptRC = 1
for (var/obj/machinery/requests_console/Console in allConsoles)
for (var/obj/machinery/requests_console/Console in GLOB.allConsoles)
if(Console.department == department)
lastDeptRC = 0
break
if(lastDeptRC)
if(departmentType & RC_ASSIST)
req_console_assistance -= department
GLOB.req_console_assistance -= department
if(departmentType & RC_SUPPLY)
req_console_supplies -= department
GLOB.req_console_supplies -= department
if(departmentType & RC_INFO)
req_console_information -= department
GLOB.req_console_information -= department
return ..()
/obj/machinery/requests_console/power_change()
@@ -125,9 +125,9 @@ var/list/obj/machinery/requests_console/allConsoles = list()
data["silent"] = silent
data["announcementConsole"] = announcementConsole
data["assist_dept"] = req_console_assistance
data["supply_dept"] = req_console_supplies
data["info_dept"] = req_console_information
data["assist_dept"] = GLOB.req_console_assistance
data["supply_dept"] = GLOB.req_console_supplies
data["info_dept"] = GLOB.req_console_information
data["message"] = message
data["recipient"] = recipient
@@ -214,7 +214,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(tempScreen == RCS_ANNOUNCE && !announcementConsole)
return
if(tempScreen == RCS_VIEWMSGS)
for (var/obj/machinery/requests_console/Console in allConsoles)
for (var/obj/machinery/requests_console/Console in GLOB.allConsoles)
if(Console.department == department)
Console.newmessagepriority = 0
Console.update_icon()
@@ -242,13 +242,13 @@ var/list/obj/machinery/requests_console/allConsoles = list()
announcement.newscast = 1
name = "[department] Requests Console"
allConsoles += src
GLOB.allConsoles += src
if(departmentType & RC_ASSIST)
req_console_assistance |= department
GLOB.req_console_assistance |= department
if(departmentType & RC_SUPPLY)
req_console_supplies |= department
GLOB.req_console_supplies |= department
if(departmentType & RC_INFO)
req_console_information |= department
GLOB.req_console_information |= department
return
if(istype(O, /obj/item/card/id))
+10 -10
View File
@@ -7,8 +7,8 @@
They receive their message from a server after the message has been logged.
*/
var/list/recentmessages = list() // global list of recent messages broadcasted : used to circumvent massive radio spam
var/message_delay = 0 // To make sure restarting the recentmessages list is kept in sync
GLOBAL_LIST_EMPTY(recentmessages) // global list of recent messages broadcasted : used to circumvent massive radio spam
GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages list is kept in sync
/obj/machinery/telecomms/broadcaster
name = "Subspace Broadcaster"
@@ -52,9 +52,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
original.data["level"] = signal.data["level"]
var/signal_message = "[signal.frequency]:[signal.data["message"]]:[signal.data["realname"]]"
if(signal_message in recentmessages)
if(signal_message in GLOB.recentmessages)
return
recentmessages.Add(signal_message)
GLOB.recentmessages.Add(signal_message)
if(signal.data["slow"] > 0)
sleep(signal.data["slow"]) // simulate the network lag if necessary
@@ -104,19 +104,19 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
signal.data["compression"], signal.data["level"], signal.frequency,
signal.data["verb"], forced_radios)
if(!message_delay)
message_delay = 1
if(!GLOB.message_delay)
GLOB.message_delay = 1
spawn(10)
message_delay = 0
recentmessages = list()
GLOB.message_delay = 0
GLOB.recentmessages = list()
/* --- Do a snazzy animation! --- */
flick("broadcaster_send", src)
/obj/machinery/telecomms/broadcaster/Destroy()
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
if(message_delay)
message_delay = 0
if(GLOB.message_delay)
GLOB.message_delay = 0
. = ..()
+2 -2
View File
@@ -13,9 +13,9 @@
/obj/item/frame/proc/update_type_list()
if(!frame_types_floor)
frame_types_floor = construction_frame_floor
frame_types_floor = GLOB.construction_frame_floor
if(!frame_types_wall)
frame_types_wall = construction_frame_wall
frame_types_wall = GLOB.construction_frame_wall
/obj/item/frame/attackby(obj/item/W as obj, mob/user as mob)
if(W.has_tool_quality(TOOL_WRENCH))
+28 -29
View File
@@ -1,9 +1,8 @@
var/list/word_to_uristrune_table = null
GLOBAL_LIST(word_to_uristrune_table)
/proc/word_to_uristrune_bit(word)
if(word_to_uristrune_table == null)
word_to_uristrune_table = list()
if(GLOB.word_to_uristrune_table == null)
GLOB.word_to_uristrune_table = list()
var/bit = 1
var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "mgar", "balaq", "karazet", "geeri")
@@ -11,41 +10,41 @@ var/list/word_to_uristrune_table = null
while(length(words))
var/w = pick(words)
word_to_uristrune_table[w] = bit
GLOB.word_to_uristrune_table[w] = bit
words -= w
bit <<= 1
return word_to_uristrune_table[word]
return GLOB.word_to_uristrune_table[word]
/proc/get_uristrune_cult(word1, word2, word3)
var/animated
if((word1 == cultwords["travel"] && word2 == cultwords["self"]) \
|| (word1 == cultwords["join"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["hell"] && word2 == cultwords["join"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["see"] && word2 == cultwords["blood"] && word3 == cultwords["hell"]) \
|| (word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["technology"]) \
|| (word1 == cultwords["travel"] && word2 == cultwords["blood"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["see"] && word2 == cultwords["hell"] && word3 == cultwords["join"]) \
|| (word1 == cultwords["blood"] && word2 == cultwords["join"] && word3 == cultwords["hell"]) \
|| (word1 == cultwords["hide"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) \
|| (word1 == cultwords["hell"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["travel"]) \
|| (word1 == cultwords["hell"] && word2 == cultwords["technology"] && word3 == cultwords["join"]) \
|| (word1 == cultwords["hell"] && word2 == cultwords["blood"] && word3 == cultwords["join"]) \
|| (word1 == cultwords["blood"] && word2 == cultwords["see"] && word3 == cultwords["hide"]) \
|| (word1 == cultwords["destroy"] && word2 == cultwords["travel"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["travel"] && word2 == cultwords["technology"] && word3 == cultwords["other"]) \
|| (word1 == cultwords["join"] && word2 == cultwords["other"] && word3 == cultwords["self"]) \
|| (word1 == cultwords["hide"] && word2 == cultwords["other"] && word3 == cultwords["see"]) \
|| (word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["other"]) \
|| (word1 == cultwords["destroy"] && word2 == cultwords["see"] && word3 == cultwords["blood"]) \
|| (word1 == cultwords["self"] && word2 == cultwords["other"] && word3 == cultwords["technology"]) \
|| (word1 == cultwords["travel"] && word2 == cultwords["other"]) \
|| (word1 == cultwords["join"] && word2 == cultwords["hide"] && word3 == cultwords["technology"]) )
if((word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["join"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["see"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["hell"]) \
|| (word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["technology"]) \
|| (word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["see"] && word2 == GLOB.cultwords["hell"] && word3 == GLOB.cultwords["join"]) \
|| (word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["join"] && word3 == GLOB.cultwords["hell"]) \
|| (word1 == GLOB.cultwords["hide"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["blood"]) \
|| (word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["travel"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["travel"]) \
|| (word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["technology"] && word3 == GLOB.cultwords["join"]) \
|| (word1 == GLOB.cultwords["hell"] && word2 == GLOB.cultwords["blood"] && word3 == GLOB.cultwords["join"]) \
|| (word1 == GLOB.cultwords["blood"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["hide"]) \
|| (word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["travel"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["technology"] && word3 == GLOB.cultwords["other"]) \
|| (word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["self"]) \
|| (word1 == GLOB.cultwords["hide"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["see"]) \
|| (word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["other"]) \
|| (word1 == GLOB.cultwords["destroy"] && word2 == GLOB.cultwords["see"] && word3 == GLOB.cultwords["blood"]) \
|| (word1 == GLOB.cultwords["self"] && word2 == GLOB.cultwords["other"] && word3 == GLOB.cultwords["technology"]) \
|| (word1 == GLOB.cultwords["travel"] && word2 == GLOB.cultwords["other"]) \
|| (word1 == GLOB.cultwords["join"] && word2 == GLOB.cultwords["hide"] && word3 == GLOB.cultwords["technology"]) )
animated = 1
else
animated = 0
+8 -8
View File
@@ -72,7 +72,7 @@
/obj/machinery/mecha_part_fabricator/pros/Initialize(mapload)
. = ..()
manufacturer = basic_robolimb.company
manufacturer = GLOB.basic_robolimb.company
/obj/machinery/mecha_part_fabricator/pros/dispense_built_part(datum/design/D)
var/obj/item/I = ..()
@@ -86,10 +86,10 @@
data["species_types"] = species_types
data["species"] = species
if(all_robolimbs)
if(GLOB.all_robolimbs)
var/list/T = list()
for(var/A in all_robolimbs)
var/datum/robolimb/R = all_robolimbs[A]
for(var/A in GLOB.all_robolimbs)
var/datum/robolimb/R = GLOB.all_robolimbs[A]
if(R.unavailable_to_build)
continue
if(species in R.species_cannot_use)
@@ -118,8 +118,8 @@
return
if("manufacturer")
var/list/new_manufacturers = list()
for(var/A in all_robolimbs)
var/datum/robolimb/R = all_robolimbs[A]
for(var/A in GLOB.all_robolimbs)
var/datum/robolimb/R = GLOB.all_robolimbs[A]
if(R.unavailable_to_build)
continue
if(species in R.species_cannot_use)
@@ -138,12 +138,12 @@
if(istype(I,/obj/item/disk/limb))
var/obj/item/disk/limb/D = I
if(!D.company || !(D.company in all_robolimbs))
if(!D.company || !(D.company in GLOB.all_robolimbs))
to_chat(user, span_warning("This disk seems to be corrupted!"))
else
to_chat(user, span_notice("Installing blueprint files for [D.company]..."))
if(do_after(user,50,src))
var/datum/robolimb/R = all_robolimbs[D.company]
var/datum/robolimb/R = GLOB.all_robolimbs[D.company]
R.unavailable_to_build = 0
to_chat(user, span_notice("Installed [D.company] blueprints!"))
qdel(I)
+2 -2
View File
@@ -17,10 +17,10 @@
/obj/effect/landmark/late_antag/Initialize(mapload)
. = ..()
var/datum/antagonist/A = all_antag_types[antag_id]
var/datum/antagonist/A = GLOB.all_antag_types[antag_id]
if(istype(A))
A.starting_locations |= get_turf(src)
var/list/allpoints = all_antag_spawnpoints[A.landmark_id]
var/list/allpoints = GLOB.all_antag_spawnpoints[A.landmark_id]
allpoints |= get_turf(src)
/obj/effect/landmark/late_antag/ert
+2 -2
View File
@@ -96,8 +96,8 @@
if(Debug2) to_world_log("## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [took] seconds.")
//Machines which report explosions.
for(var/i,i<=doppler_arrays.len,i++)
var/obj/machinery/doppler_array/Array = doppler_arrays[i]
for(var/i, i <= GLOB.doppler_arrays.len, i++)
var/obj/machinery/doppler_array/Array = GLOB.doppler_arrays[i]
if(Array)
Array.sense_explosion(x0,y0,z0,devastation_range,heavy_impact_range,light_impact_range,took)
sleep(8)
+1 -1
View File
@@ -86,7 +86,7 @@
qdel(src)
/obj/item/antag_spawner/technomancer_apprentice/equip_antag(mob/technomancer_mob)
var/datum/antagonist/technomancer/antag_datum = all_antag_types[MODE_TECHNOMANCER]
var/datum/antagonist/technomancer/antag_datum = GLOB.all_antag_types[MODE_TECHNOMANCER]
antag_datum.equip_apprentice(technomancer_mob)
@@ -307,7 +307,7 @@
// Update manifest'
if(data_core)
data_core.get_manifest_list()
data["manifest"] = PDA_Manifest
data["manifest"] = GLOB.PDA_Manifest
data["mapRef"] = map_name
return data
@@ -2,7 +2,7 @@
//
// Allows ghosts to roleplay with crewmembers without having to commit to joining the round, and also allows communications between two communicators.
var/global/list/obj/item/communicator/all_communicators = list()
GLOBAL_LIST_EMPTY_TYPED(all_communicators, /obj/item/communicator)
// List of core tabs the communicator can switch to
#define HOMETAB 1
@@ -97,8 +97,8 @@ var/global/list/obj/item/communicator/all_communicators = list()
// assign the device to the holder's name automatically in a spectacularly shitty way.
/obj/item/communicator/Initialize(mapload)
. = ..()
all_communicators += src
all_communicators = sortAtom(all_communicators)
GLOB.all_communicators += src
GLOB.all_communicators = sortAtom(GLOB.all_communicators)
node = get_exonet_node()
START_PROCESSING(SSobj, src)
camera = new(src)
@@ -187,7 +187,7 @@ var/global/list/obj/item/communicator/all_communicators = list()
src.known_devices.Cut()
if(!get_connection_to_tcomms()) //If the network's down, we can't see anything.
return
for(var/obj/item/communicator/comm in all_communicators)
for(var/obj/item/communicator/comm in GLOB.all_communicators)
if(!comm || !comm.exonet || !comm.exonet.address || comm.exonet.address == src.exonet.address) //Don't add addressless devices, and don't add ourselves.
continue
src.known_devices |= comm
@@ -314,7 +314,7 @@ var/global/list/obj/item/communicator/all_communicators = list()
node = null
//Clean up references that might point at us
all_communicators -= src
GLOB.all_communicators -= src
STOP_PROCESSING(SSobj, src)
listening_objects.Remove(src)
QDEL_NULL(camera)
@@ -140,7 +140,7 @@
return
var/list/choices = list()
for(var/obj/item/communicator/comm in all_communicators)
for(var/obj/item/communicator/comm in GLOB.all_communicators)
if(!comm.network_visibility || !comm.exonet || !comm.exonet.address)
continue
choices.Add(comm)
@@ -306,7 +306,7 @@
return
var/list/choices = list()
for(var/obj/item/communicator/comm in all_communicators)
for(var/obj/item/communicator/comm in GLOB.all_communicators)
if(!comm.network_visibility || !comm.exonet || !comm.exonet.address)
continue
choices.Add(comm)
@@ -194,7 +194,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
//The actual options
if(href_list["mindscan"])
if(!target.mind || (target.mind.name in prevent_respawns))
if(!target.mind || (target.mind.name in GLOB.prevent_respawns))
to_chat(usr,span_warning("Target seems totally braindead."))
return
@@ -231,7 +231,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
return
if(href_list["mindsteal"])
if(!target.mind || (target.mind.name in prevent_respawns))
if(!target.mind || (target.mind.name in GLOB.prevent_respawns))
to_chat(usr,span_warning("Target seems totally braindead."))
return
@@ -41,7 +41,7 @@
p.name = "Security Citation: [ticket_name]"
playsound(user, 'sound/items/ticket_printer.ogg', 75, 1)
security_printer_tickets |= details
GLOB.security_printer_tickets |= details
log_and_message_admins("has issued '[ticket_name]' a security citation: \"[details]\"", user)
last_print = world.time
@@ -108,8 +108,8 @@ var/datum/uplink_random_selection/all_uplink_selection = new/datum/uplink_random
#ifdef DEBUG
/proc/debug_uplink_purchage_log()
for(var/antag_type in all_antag_types)
var/datum/antagonist/A = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types)
var/datum/antagonist/A = GLOB.all_antag_types[antag_type]
A.print_player_summary()
/proc/debug_uplink_item_assoc_list()
+2 -2
View File
@@ -166,7 +166,7 @@
return
//extend the offer of battle to the other mech
var/datum/gender/T = gender_datums[user.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[user.get_visible_gender()]
to_chat(user, span_notice("You offer battle to [target.name]!"))
to_chat(target, span_notice(span_bold("[user.name] wants to battle with [T.His] [name]!") + " " + span_italics("Attack them with a toy mech to initiate combat.")))
wants_to_battle = TRUE
@@ -393,7 +393,7 @@
/obj/item/toy/mecha/proc/check_battle_start(mob/living/carbon/user, obj/item/toy/mecha/attacker, mob/living/carbon/target)
var/datum/gender/T
if(target)
T = gender_datums[target.get_visible_gender()] // Doing this because Polaris Code has shitty gender datums and it's clunkier than FUCK.
T = GLOB.gender_datums[target.get_visible_gender()] // Doing this because Polaris Code has shitty gender datums and it's clunkier than FUCK.
if(attacker && attacker.in_combat)
to_chat(user, span_notice("[target ? T.His : "Your" ] [attacker.name] is in combat."))
if(target)
+2 -2
View File
@@ -29,7 +29,7 @@
temp_blade.attack_self()
/obj/item/cane/concealed/attack_self(var/mob/user)
var/datum/gender/T = gender_datums[user.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[user.get_visible_gender()]
if(concealed_blade)
user.visible_message(span_warning("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!"), "You unsheathe \the [concealed_blade] from \the [src].")
// Calling drop/put in hands to properly call item drop/pickup procs
@@ -46,7 +46,7 @@
/obj/item/cane/concealed/attackby(var/obj/item/material/sword/katana/caneblade/W, var/mob/user)
if(!src.concealed_blade && istype(W))
var/datum/gender/T = gender_datums[user.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[user.get_visible_gender()]
user.visible_message(span_warning("[user] has sheathed \a [W] into [T.his] [src]!"), "You sheathe \the [W] into \the [src].")
playsound(src, 'sound/weapons/holster/sheathin.ogg', 50, 1)
user.drop_from_inventory(W)
@@ -25,7 +25,7 @@
/obj/item/circuitboard/security/engineering/Initialize(mapload)
. = ..()
network = engineering_networks
network = GLOB.engineering_networks
/obj/item/circuitboard/security/mining
name = T_BOARD("mining camera monitor")
+1 -1
View File
@@ -127,7 +127,7 @@ var/last_chew = 0
var/obj/item/organ/external/O = H.organs_by_name[(H.hand ? BP_L_HAND : BP_R_HAND)]
if (!O) return
var/datum/gender/T = gender_datums[H.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[H.get_visible_gender()]
var/s = span_warning("[H.name] chews on [T.his] [O.name]!")
H.visible_message(s, span_warning("You chew on your [O.name]!"))
@@ -542,7 +542,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
STOP_PROCESSING(SSobj, src)
if ("emp")
var/obj/item/radio/headset/a = new /obj/item/radio/headset/heads/captain(null)
var/name = prob(50) ? t.name : pick(teleportlocs)
var/name = prob(50) ? t.name : pick(GLOB.teleportlocs)
a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm")
// a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm", "Security")
// a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm", "Medical")
@@ -102,7 +102,7 @@
to_chat(user, span_notice("\The [src] does not seem to have power."))
return
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[user.get_visible_gender()]
if (active)
if ((CLUMSY in user.mutations) && prob(50))
user.visible_message(span_danger("\The [user] accidentally cuts [TU.himself] with \the [src]."),\
+2 -2
View File
@@ -46,10 +46,10 @@
return
/obj/item/teleportation_scroll/proc/teleportscroll(var/mob/user)
var/A = tgui_input_list(user, "Area to jump to:", "Teleportation Scroll", teleportlocs)
var/A = tgui_input_list(user, "Area to jump to:", "Teleportation Scroll", GLOB.teleportlocs)
if(!A)
return
var/area/thearea = teleportlocs[A]
var/area/thearea = GLOB.teleportlocs[A]
if (user.stat || user.restrained())
return
+4 -4
View File
@@ -1,4 +1,4 @@
var/global/list/micro_tunnels = list()
GLOBAL_LIST_EMPTY(micro_tunnels)
/obj/structure/micro_tunnel
name = "mouse hole"
@@ -22,7 +22,7 @@ var/global/list/micro_tunnels = list()
/obj/structure/micro_tunnel/Initialize(mapload)
. = ..()
micro_tunnels.Add(src)
GLOB.micro_tunnels.Add(src)
if(name == initial(name))
var/area/our_area = get_area(src)
name = "[our_area.name] [name]"
@@ -37,7 +37,7 @@ var/global/list/micro_tunnels = list()
thing.forceMove(get_turf(src.loc))
thing.cancel_camera()
micro_tunnels.Remove(src)
GLOB.micro_tunnels.Remove(src)
return ..()
@@ -67,7 +67,7 @@ var/global/list/micro_tunnels = list()
for(var/datum/planet/P in SSplanets.planets)
if(myturf.z in P.expected_z_levels)
planet = P
for(var/obj/structure/micro_tunnel/t in micro_tunnels)
for(var/obj/structure/micro_tunnel/t in GLOB.micro_tunnels)
if(t == src)
continue
if(magic || t.magic)
@@ -111,7 +111,7 @@
H.forceMove(T)
if(make_antag)
var/datum/antagonist/antag = all_antag_types[make_antag]
var/datum/antagonist/antag = GLOB.all_antag_types[make_antag]
if(antag)
if(antag.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [antag.role_text].")
@@ -233,7 +233,7 @@
H.forceMove(T)
if(make_antag)
var/datum/antagonist/antag = all_antag_types[make_antag]
var/datum/antagonist/antag = GLOB.all_antag_types[make_antag]
if(antag)
if(antag.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [antag.role_text].")
@@ -122,7 +122,7 @@
H.forceMove(T)
if(special_role)
var/datum/antagonist/role = all_antag_types[special_role] //Explicitly NOT an antagonist.
var/datum/antagonist/role = GLOB.all_antag_types[special_role] //Explicitly NOT an antagonist.
if(role)
if(role.add_antagonist(H.mind, 1, 1, 0, 1, 1))
log_admin("\The [src] made [key_name(src)] into a [role.role_text].")
@@ -19,7 +19,7 @@
to_chat(user, span_danger("The spike already has something on it, finish collecting its meat first!"))
else
if(spike(G.affecting))
var/datum/gender/T = gender_datums[G.affecting.get_visible_gender()]
var/datum/gender/T = GLOB.gender_datums[G.affecting.get_visible_gender()]
visible_message(span_danger("[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!"))
var/mob/M = G.affecting
M.forceMove(src)
+1 -1
View File
@@ -591,7 +591,7 @@
R.cell.charge -= 20
else
B.deductcharge(B.hitcost)
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
var/datum/gender/TU = GLOB.gender_datums[user.get_visible_gender()]
user.visible_message( \
span_danger("[user] was stunned by [TU.his] wet [O]!"), \
span_userdanger("[user] was stunned by [TU.his] wet [O]!"))
+25 -25
View File
@@ -1,11 +1,11 @@
//STRIKE TEAMS
//Thanks to Kilakk for the admin-button portion of this code.
var/global/send_emergency_team = 0 // Used for automagic response teams
// 'admin_emergency_team' for admin-spawned response teams
var/ert_base_chance = 10 // Default base chance. Will be incremented by increment ERT chance.
var/can_call_ert
var/silent_ert = 0
GLOBAL_VAR_INIT(send_emergency_team, 0) // Used for automagic response teams; 'admin_emergency_team' for admin-spawned response teams
GLOBAL_VAR_INIT(ert_base_chance, 10) // Default base chance. Will be incremented by increment ERT chance.
GLOBAL_VAR(can_call_ert)
GLOBAL_VAR_INIT(silent_ert, 0)
/client/proc/response_team()
set name = "Dispatch Emergency Response Team"
@@ -21,17 +21,17 @@ var/silent_ert = 0
if(ticker.current_state == 1)
to_chat(usr, span_danger("The round hasn't started yet!"))
return
if(send_emergency_team)
if(GLOB.send_emergency_team)
to_chat(usr, span_danger("[using_map.boss_name] has already dispatched an emergency response team!"))
return
if(tgui_alert(usr, "Do you want to dispatch an Emergency Response Team?","ERT",list("Yes","No")) != "Yes")
return
if(tgui_alert(usr, "Do you want this Response Team to be announced?","ERT",list("Yes","No")) != "Yes")
silent_ert = 1
GLOB.silent_ert = 1
if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red
if(tgui_alert(usr, "The station is not in red alert. Do you still want to dispatch a response team?","ERT",list("Yes","No")) != "Yes")
return
if(send_emergency_team)
if(GLOB.send_emergency_team)
to_chat(usr, span_danger("Looks like somebody beat you to it!"))
return
@@ -50,7 +50,7 @@ var/silent_ert = 0
return
if(isobserver(usr) || isnewplayer(usr))
if(!send_emergency_team)
if(!GLOB.send_emergency_team)
to_chat(usr, "No emergency response team is currently being sent.")
return
if(jobban_isbanned(usr, JOB_SYNDICATE) || jobban_isbanned(usr, JOB_EMERGENCY_RESPONSE_TEAM) || jobban_isbanned(usr, JOB_SECURITY_OFFICER))
@@ -90,31 +90,31 @@ var/silent_ert = 0
// Increments the ERT chance automatically, so that the later it is in the round,
// the more likely an ERT is to be able to be called.
/proc/increment_ert_chance()
while(send_emergency_team == 0) // There is no ERT at the time.
while(GLOB.send_emergency_team == 0) // There is no ERT at the time.
if(get_security_level() == "green")
ert_base_chance += 1
GLOB.ert_base_chance += 1
if(get_security_level() == "yellow")
ert_base_chance += 1
GLOB.ert_base_chance += 1
if(get_security_level() == "violet")
ert_base_chance += 2
GLOB.ert_base_chance += 2
if(get_security_level() == "orange")
ert_base_chance += 2
GLOB.ert_base_chance += 2
if(get_security_level() == "blue")
ert_base_chance += 2
GLOB.ert_base_chance += 2
if(get_security_level() == "red")
ert_base_chance += 3
GLOB.ert_base_chance += 3
if(get_security_level() == "delta")
ert_base_chance += 10 // Need those big guns
GLOB.ert_base_chance += 10 // Need those big guns
sleep(600 * 3) // Minute * Number of Minutes
/proc/trigger_armed_response_team(var/force = 0)
if(!can_call_ert && !force)
if(!GLOB.can_call_ert && !force)
return
if(send_emergency_team)
if(GLOB.send_emergency_team)
return
var/send_team_chance = ert_base_chance // Is incremented by increment_ert_chance.
var/send_team_chance = GLOB.ert_base_chance // Is incremented by increment_ert_chance.
send_team_chance += 2*percentage_dead() // the more people are dead, the higher the chance
send_team_chance += percentage_antagonists() // the more antagonists, the higher the chance
send_team_chance = min(send_team_chance, 100)
@@ -124,14 +124,14 @@ var/silent_ert = 0
// there's only a certain chance a team will be sent
if(!prob(send_team_chance))
command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. Unfortunately, we were unable to send one at this time.", "[using_map.boss_name]")
can_call_ert = 0 // Only one call per round, ladies.
GLOB.can_call_ert = 0 // Only one call per round, ladies.
return
if(silent_ert == 0)
if(GLOB.silent_ert == 0)
command_announcement.Announce("It would appear that an emergency response team was requested for [station_name()]. We will prepare and send one as soon as possible.", "[using_map.boss_name]")
can_call_ert = 0 // Only one call per round, gentleman.
send_emergency_team = 1
GLOB.can_call_ert = 0 // Only one call per round, gentleman.
GLOB.send_emergency_team = 1
consider_ert_load() //VOREStation Add
sleep(600 * 5)
send_emergency_team = 0 // Can no longer join the ERT.
GLOB.send_emergency_team = 0 // Can no longer join the ERT.
+18 -18
View File
@@ -305,21 +305,21 @@
return soundin
//Are these even used? //Yes
var/list/keyboard_sound = list ('sound/effects/keyboard/keyboard1.ogg','sound/effects/keyboard/keyboard2.ogg','sound/effects/keyboard/keyboard3.ogg', 'sound/effects/keyboard/keyboard4.ogg')
var/list/bodyfall_sound = list('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg')
var/list/teppi_sound = list('sound/voice/teppi/gyooh1.ogg', 'sound/voice/teppi/gyooh2.ogg', 'sound/voice/teppi/gyooh3.ogg', 'sound/voice/teppi/gyooh4.ogg', 'sound/voice/teppi/gyooh5.ogg', 'sound/voice/teppi/gyooh6.ogg', 'sound/voice/teppi/snoot1.ogg', 'sound/voice/teppi/snoot2.ogg')
var/list/talk_sound = list('sound/talksounds/a.ogg','sound/talksounds/b.ogg','sound/talksounds/c.ogg','sound/talksounds/d.ogg','sound/talksounds/e.ogg','sound/talksounds/f.ogg','sound/talksounds/g.ogg','sound/talksounds/h.ogg')
var/list/emote_sound = list('sound/talksounds/me_a.ogg','sound/talksounds/me_b.ogg','sound/talksounds/me_c.ogg','sound/talksounds/me_d.ogg','sound/talksounds/me_e.ogg','sound/talksounds/me_f.ogg')
var/list/goon_speak_one_sound = list('sound/talksounds/goon/speak_1.ogg', 'sound/talksounds/goon/speak_1_ask.ogg', 'sound/talksounds/goon/speak_1_exclaim.ogg')
var/list/goon_speak_two_sound = list('sound/talksounds/goon/speak_2.ogg', 'sound/talksounds/goon/speak_2_ask.ogg', 'sound/talksounds/goon/speak_2_exclaim.ogg')
var/list/goon_speak_three_sound = list('sound/talksounds/goon/speak_3.ogg', 'sound/talksounds/goon/speak_3_ask.ogg', 'sound/talksounds/goon/speak_3_exclaim.ogg')
var/list/goon_speak_four_sound = list('sound/talksounds/goon/speak_4.ogg', 'sound/talksounds/goon/speak_4_ask.ogg', 'sound/talksounds/goon/speak_4_exclaim.ogg')
var/list/goon_speak_blub_sound = list('sound/talksounds/goon/blub.ogg', 'sound/talksounds/goon/blub_ask.ogg', 'sound/talksounds/goon/blub_exclaim.ogg')
var/list/goon_speak_bottalk_sound = list('sound/talksounds/goon/bottalk_1.ogg', 'sound/talksounds/goon/bottalk_2.ogg', 'sound/talksounds/goon/bottalk_3.ogg', 'sound/talksounds/goon/bottalk_4.wav')
var/list/goon_speak_buwoo_sound = list('sound/talksounds/goon/buwoo.ogg', 'sound/talksounds/goon/buwoo_ask.ogg', 'sound/talksounds/goon/buwoo_exclaim.ogg')
var/list/goon_speak_cow_sound = list('sound/talksounds/goon/cow.ogg', 'sound/talksounds/goon/cow_ask.ogg', 'sound/talksounds/goon/cow_exclaim.ogg')
var/list/goon_speak_lizard_sound = list('sound/talksounds/goon/lizard.ogg', 'sound/talksounds/goon/lizard_ask.ogg', 'sound/talksounds/goon/lizard_exclaim.ogg')
var/list/goon_speak_pug_sound = list('sound/talksounds/goon/pug.ogg', 'sound/talksounds/goon/pug_ask.ogg', 'sound/talksounds/goon/pug_exclaim.ogg')
var/list/goon_speak_pugg_sound = list('sound/talksounds/goon/pugg.ogg', 'sound/talksounds/goon/pugg_ask.ogg', 'sound/talksounds/goon/pugg_exclaim.ogg')
var/list/goon_speak_roach_sound = list('sound/talksounds/goon/roach.ogg', 'sound/talksounds/goon/roach_ask.ogg', 'sound/talksounds/goon/roach_exclaim.ogg')
var/list/goon_speak_skelly_sound = list('sound/talksounds/goon/skelly.ogg', 'sound/talksounds/goon/skelly_ask.ogg', 'sound/talksounds/goon/skelly_exclaim.ogg')
GLOBAL_LIST_INIT(keyboard_sound, list('sound/effects/keyboard/keyboard1.ogg','sound/effects/keyboard/keyboard2.ogg','sound/effects/keyboard/keyboard3.ogg', 'sound/effects/keyboard/keyboard4.ogg'))
GLOBAL_LIST_INIT(bodyfall_sound, list('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg'))
GLOBAL_LIST_INIT(teppi_sound, list('sound/voice/teppi/gyooh1.ogg', 'sound/voice/teppi/gyooh2.ogg', 'sound/voice/teppi/gyooh3.ogg', 'sound/voice/teppi/gyooh4.ogg', 'sound/voice/teppi/gyooh5.ogg', 'sound/voice/teppi/gyooh6.ogg', 'sound/voice/teppi/snoot1.ogg', 'sound/voice/teppi/snoot2.ogg'))
GLOBAL_LIST_INIT(talk_sound, list('sound/talksounds/a.ogg','sound/talksounds/b.ogg','sound/talksounds/c.ogg','sound/talksounds/d.ogg','sound/talksounds/e.ogg','sound/talksounds/f.ogg','sound/talksounds/g.ogg','sound/talksounds/h.ogg'))
GLOBAL_LIST_INIT(emote_sound, list('sound/talksounds/me_a.ogg','sound/talksounds/me_b.ogg','sound/talksounds/me_c.ogg','sound/talksounds/me_d.ogg','sound/talksounds/me_e.ogg','sound/talksounds/me_f.ogg'))
GLOBAL_LIST_INIT(goon_speak_one_sound, list('sound/talksounds/goon/speak_1.ogg', 'sound/talksounds/goon/speak_1_ask.ogg', 'sound/talksounds/goon/speak_1_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_two_sound, list('sound/talksounds/goon/speak_2.ogg', 'sound/talksounds/goon/speak_2_ask.ogg', 'sound/talksounds/goon/speak_2_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_three_sound, list('sound/talksounds/goon/speak_3.ogg', 'sound/talksounds/goon/speak_3_ask.ogg', 'sound/talksounds/goon/speak_3_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_four_sound, list('sound/talksounds/goon/speak_4.ogg', 'sound/talksounds/goon/speak_4_ask.ogg', 'sound/talksounds/goon/speak_4_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_blub_sound, list('sound/talksounds/goon/blub.ogg', 'sound/talksounds/goon/blub_ask.ogg', 'sound/talksounds/goon/blub_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_bottalk_sound, list('sound/talksounds/goon/bottalk_1.ogg', 'sound/talksounds/goon/bottalk_2.ogg', 'sound/talksounds/goon/bottalk_3.ogg', 'sound/talksounds/goon/bottalk_4.wav'))
GLOBAL_LIST_INIT(goon_speak_buwoo_sound, list('sound/talksounds/goon/buwoo.ogg', 'sound/talksounds/goon/buwoo_ask.ogg', 'sound/talksounds/goon/buwoo_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_cow_sound, list('sound/talksounds/goon/cow.ogg', 'sound/talksounds/goon/cow_ask.ogg', 'sound/talksounds/goon/cow_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_lizard_sound, list('sound/talksounds/goon/lizard.ogg', 'sound/talksounds/goon/lizard_ask.ogg', 'sound/talksounds/goon/lizard_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_pug_sound, list('sound/talksounds/goon/pug.ogg', 'sound/talksounds/goon/pug_ask.ogg', 'sound/talksounds/goon/pug_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_pugg_sound, list('sound/talksounds/goon/pugg.ogg', 'sound/talksounds/goon/pugg_ask.ogg', 'sound/talksounds/goon/pugg_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_roach_sound, list('sound/talksounds/goon/roach.ogg', 'sound/talksounds/goon/roach_ask.ogg', 'sound/talksounds/goon/roach_exclaim.ogg'))
GLOBAL_LIST_INIT(goon_speak_skelly_sound, list('sound/talksounds/goon/skelly.ogg', 'sound/talksounds/goon/skelly_ask.ogg', 'sound/talksounds/goon/skelly_exclaim.ogg'))
+10 -10
View File
@@ -1,7 +1,7 @@
//Based on the ERT setup
var/global/send_beruang = 0
var/can_call_traders = 1
GLOBAL_VAR_INIT(send_beruang, 0)
GLOBAL_VAR_INIT(can_call_traders, 1)
/client/proc/trader_ship()
set name = "Dispatch Beruang Trader Ship"
@@ -17,7 +17,7 @@ var/can_call_traders = 1
if(ticker.current_state == 1)
to_chat(usr, span_danger("The round hasn't started yet!"))
return
if(send_beruang)
if(GLOB.send_beruang)
to_chat(usr, span_danger("The Beruang has already been sent this round!"))
return
if(tgui_alert(usr, "Do you want to dispatch the Beruang trade ship?","Trade Ship",list("Yes","No")) != "Yes")
@@ -25,7 +25,7 @@ var/can_call_traders = 1
if(get_security_level() == "red") // Allow admins to reconsider if the alert level is Red
if(tgui_alert(usr, "The station is in red alert. Do you still want to send traders?","Trade Ship",list("Yes","No")) != "Yes")
return
if(send_beruang)
if(GLOB.send_beruang)
to_chat(usr, span_danger("Looks like somebody beat you to it!"))
return
@@ -43,7 +43,7 @@ var/can_call_traders = 1
return
if(isobserver(usr) || isnewplayer(usr))
if(!send_beruang)
if(!GLOB.send_beruang)
to_chat(usr, "The Beruang is not currently heading to the station.")
return
if(traders.current_antagonists.len >= traders.hard_cap)
@@ -54,16 +54,16 @@ var/can_call_traders = 1
to_chat(usr, "You need to be an observer or new player to use this.")
/proc/trigger_trader_visit()
if(!can_call_traders)
if(!GLOB.can_call_traders)
return
if(send_beruang)
if(GLOB.send_beruang)
return
command_announcement.Announce("Incoming cargo hauler: Beruang (Reg: VRS 22EB1F11C2).", "[station_name()] Traffic Control")
can_call_traders = 0 // Only one call per round.
send_beruang = 1
GLOB.can_call_traders = 0 // Only one call per round.
GLOB.send_beruang = 1
consider_trader_load() //VOREStation Add
sleep(600 * 5)
send_beruang = 0 // Can no longer join the traders.
GLOB.send_beruang = 0 // Can no longer join the traders.
+20 -20
View File
@@ -1,23 +1,23 @@
var/world_time_season
var/world_time_year
var/world_time_month
var/world_time_day
GLOBAL_VAR(world_time_season)
GLOBAL_VAR(world_time_year)
GLOBAL_VAR(world_time_month)
GLOBAL_VAR(world_time_day)
/proc/setup_season()
world_time_month = text2num(time2text(world.timeofday, "MM")) // get the current month
switch(world_time_month)
GLOB.world_time_month = text2num(time2text(world.timeofday, "MM")) // get the current month
switch(GLOB.world_time_month)
if(1 to 2)
world_time_season = "winter"
GLOB.world_time_season = "winter"
if(3 to 5)
world_time_season = "spring"
GLOB.world_time_season = "spring"
if(6 to 8)
world_time_season = "summer"
GLOB.world_time_season = "summer"
if(9 to 11)
world_time_season = "autumn"
GLOB.world_time_season = "autumn"
if(12)
world_time_season = "winter"
world_time_day = text2num(time2text(world.timeofday, "DD"))
world_time_year = text2num(time2text(world.timeofday, "YYYY"))
GLOB.world_time_season = "winter"
GLOB.world_time_day = text2num(time2text(world.timeofday, "DD"))
GLOB.world_time_year = text2num(time2text(world.timeofday, "YYYY"))
/turf/simulated/floor/outdoors/grass/seasonal
name = "grass"
@@ -38,7 +38,7 @@ var/world_time_day
/turf/simulated/floor/outdoors/grass/seasonal/Initialize(mapload)
switch(world_time_season)
switch(GLOB.world_time_season)
if("spring")
tree_types = list(
/obj/structure/flora/tree/bigtree,
@@ -181,7 +181,7 @@ var/world_time_day
/turf/simulated/floor/outdoors/grass/seasonal/proc/update_desc()
switch(world_time_season)
switch(GLOB.world_time_season)
if("spring")
desc = "Lush green grass, flourishing! Little flowers peek out from between the blades here and there!"
if("summer")
@@ -195,10 +195,10 @@ var/world_time_day
/turf/simulated/floor/outdoors/grass/seasonal/update_icon(update_neighbors)
. = ..()
update_desc()
switch(world_time_season)
switch(GLOB.world_time_season)
if("spring")
if(prob(50))
var/cache_key = "[world_time_season]-overlay[rand(1,19)]"
var/cache_key = "[GLOB.world_time_season]-overlay[rand(1,19)]"
if(!overlays_cache[cache_key])
var/image/I = image(icon = src.icon, icon_state = cache_key, layer = ABOVE_TURF_LAYER) // Icon should be abstracted out
I.plane = TURF_PLANE
@@ -210,7 +210,7 @@ var/world_time_day
return
if("autumn")
if(prob(33))
var/cache_key = "[world_time_season]-overlay[rand(1,6)]"
var/cache_key = "[GLOB.world_time_season]-overlay[rand(1,6)]"
if(!overlays_cache[cache_key])
var/image/I = image(icon = src.icon, icon_state = cache_key, layer = ABOVE_TURF_LAYER) // Icon should be abstracted out
I.plane = TURF_PLANE
@@ -265,14 +265,14 @@ var/world_time_day
/turf/simulated/floor/water/seasonal/Initialize(mapload)
. = ..()
switch(world_time_season)
switch(GLOB.world_time_season)
if("winter")
if(prob(99))
ChangeTurf(/turf/simulated/floor/outdoors/ice)
/turf/simulated/floor/water/deep/seasonal/Initialize(mapload)
. = ..()
switch(world_time_season)
switch(GLOB.world_time_season)
if("winter")
if(prob(75))
ChangeTurf(/turf/simulated/floor/outdoors/ice)
+1 -1
View File
@@ -25,7 +25,7 @@ var/image/no_ceiling_image = null
icon_state = flooring.icon_base
//VOREStation Addition Start
if(flooring.check_season)
icon_state = "[icon_state]-[world_time_season]" //VOREStation Addition End
icon_state = "[icon_state]-[GLOB.world_time_season]" //VOREStation Addition End
if(flooring.has_base_range)
icon_state = "[icon_state][rand(0,flooring.has_base_range)]"
flooring_override = icon_state
+2 -2
View File
@@ -308,8 +308,8 @@
for(var/j in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC))
output += "<option value='[j]'>[j]</option>"
var/list/bantypes = list("traitor","changeling","operative","revolutionary","cultist","wizard") //For legacy bans.
for(var/antag_type in all_antag_types) // Grab other bans.
var/datum/antagonist/antag = all_antag_types[antag_type]
for(var/antag_type in GLOB.all_antag_types) // Grab other bans.
var/datum/antagonist/antag = GLOB.all_antag_types[antag_type]
bantypes |= antag.bantype
for(var/j in bantypes)
output += "<option value='[j]'>[j]</option>"

Some files were not shown because too many files have changed in this diff Show More