mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 19:47:47 +01:00
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:
@@ -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
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
))
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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"])
|
||||
|
||||
@@ -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--
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
@@ -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,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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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"))
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]",
|
||||
|
||||
@@ -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."))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
@@ -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]).")
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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]."),\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user