Global variable wrappers (#25325)

* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
This commit is contained in:
Cyberboss
2017-04-06 23:26:13 -06:00
committed by duncathan salt
parent e550f019b0
commit 9e1ef0ffe2
825 changed files with 5425 additions and 6057 deletions
+4 -4
View File
@@ -45,7 +45,7 @@
#define AMT_OF_CANVASES 4 //Keep this up to date or shit will break.
//To safe memory on making /icons we cache the blanks..
var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
/obj/item/weapon/canvas
name = "canvas"
@@ -71,11 +71,11 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
//Find the right size blank canvas
/obj/item/weapon/canvas/proc/getGlobalBackup()
. = null
if(globalBlankCanvases[whichGlobalBackup])
. = globalBlankCanvases[whichGlobalBackup]
if(GLOB.globalBlankCanvases[whichGlobalBackup])
. = GLOB.globalBlankCanvases[whichGlobalBackup]
else
var/icon/I = icon(initial(icon),initial(icon_state))
globalBlankCanvases[whichGlobalBackup] = I
GLOB.globalBlankCanvases[whichGlobalBackup] = I
. = I
+2 -2
View File
@@ -3,7 +3,7 @@
desc = "A bar sign with no writing on it"
icon = 'icons/obj/barsigns.dmi'
icon_state = "empty"
req_access = list(access_bar)
req_access = list(GLOB.access_bar)
obj_integrity = 500
max_integrity = 500
integrity_failure = 250
@@ -132,7 +132,7 @@
sleep(100) //10 seconds
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
emagged = 1
req_access = list(access_syndicate)
req_access = list(GLOB.access_syndicate)
@@ -25,7 +25,7 @@
return ..()
/obj/structure/chair/proc/RemoveFromLatejoin()
latejoin -= src //These may be here due to the arrivals shuttle
GLOB.latejoin -= src //These may be here due to the arrivals shuttle
/obj/structure/chair/deconstruct()
// If we have materials, and don't have the NOCONSTRUCT flag
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/bar
name = "booze storage"
req_access = list(access_bar)
req_access = list(GLOB.access_bar)
icon_state = "cabinet"
resistance_flags = FLAMMABLE
obj_integrity = 70
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/quartermaster
name = "\proper quartermaster's locker"
req_access = list(access_qm)
req_access = list(GLOB.access_qm)
icon_state = "qm"
/obj/structure/closet/secure_closet/quartermaster/PopulateContents()
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "\proper chief engineer's locker"
req_access = list(access_ce)
req_access = list(GLOB.access_ce)
icon_state = "ce"
/obj/structure/closet/secure_closet/engineering_chief/PopulateContents()
@@ -29,7 +29,7 @@
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
req_access = list(access_engine_equip)
req_access = list(GLOB.access_engine_equip)
icon_state = "eng"
icon_door = "eng_elec"
@@ -46,7 +46,7 @@
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies locker"
req_access = list(access_engine_equip)
req_access = list(GLOB.access_engine_equip)
icon_state = "eng"
icon_door = "eng_weld"
@@ -59,7 +59,7 @@
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
req_access = list(access_engine_equip)
req_access = list(GLOB.access_engine_equip)
icon_state = "eng_secure"
/obj/structure/closet/secure_closet/engineering_personal/PopulateContents()
@@ -75,7 +75,7 @@
/obj/structure/closet/secure_closet/atmospherics
name = "\proper atmospheric technician's locker"
req_access = list(access_atmospherics)
req_access = list(GLOB.access_atmospherics)
icon_state = "atmos"
/obj/structure/closet/secure_closet/atmospherics/PopulateContents()
@@ -3,7 +3,7 @@
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen Cabinet"
req_access = list(access_kitchen)
req_access = list(GLOB.access_kitchen)
/obj/structure/closet/secure_closet/freezer/kitchen/PopulateContents()
..()
@@ -51,7 +51,7 @@
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
desc = "This contains cold hard cash."
req_access = list(access_heads_vault)
req_access = list(GLOB.access_heads_vault)
/obj/structure/closet/secure_closet/freezer/money/PopulateContents()
..()
@@ -65,7 +65,7 @@
/obj/structure/closet/secure_closet/freezer/cream_pie
name = "cream pie closet"
desc = "Contains pies filled with cream and/or custard, you sickos."
req_access = list(access_theatre)
req_access = list(GLOB.access_theatre)
/obj/structure/closet/secure_closet/freezer/pie/PopulateContents()
..()
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/hydroponics
name = "botanist's locker"
req_access = list(access_hydroponics)
req_access = list(GLOB.access_hydroponics)
icon_state = "hydro"
/obj/structure/closet/secure_closet/hydroponics/PopulateContents()
@@ -2,7 +2,7 @@
name = "medicine closet"
desc = "Filled to the brim with medical junk."
icon_state = "med"
req_access = list(access_medical)
req_access = list(GLOB.access_medical)
/obj/structure/closet/secure_closet/medical1/PopulateContents()
..()
@@ -24,7 +24,7 @@
/obj/structure/closet/secure_closet/medical2
name = "anesthetic closet"
desc = "Used to knock people out."
req_access = list(access_surgery)
req_access = list(GLOB.access_surgery)
/obj/structure/closet/secure_closet/medical2/PopulateContents()
..()
@@ -35,7 +35,7 @@
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
req_access = list(access_surgery)
req_access = list(GLOB.access_surgery)
icon_state = "med_secure"
/obj/structure/closet/secure_closet/medical3/PopulateContents()
@@ -49,7 +49,7 @@
/obj/structure/closet/secure_closet/CMO
name = "\proper chief medical officer's locker"
req_access = list(access_cmo)
req_access = list(GLOB.access_cmo)
icon_state = "cmo"
/obj/structure/closet/secure_closet/CMO/PopulateContents()
@@ -74,7 +74,7 @@
/obj/structure/closet/secure_closet/animal
name = "animal control"
req_access = list(access_surgery)
req_access = list(GLOB.access_surgery)
/obj/structure/closet/secure_closet/animal/PopulateContents()
..()
@@ -1,7 +1,7 @@
/obj/structure/closet/secure_closet/ertCom
name = "commander's closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_captain)
req_access = list(GLOB.access_cent_captain)
icon_state = "cap"
/obj/structure/closet/secure_closet/ertCom/PopulateContents()
@@ -22,7 +22,7 @@
/obj/structure/closet/secure_closet/ertSec
name = "security closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_specops)
req_access = list(GLOB.access_cent_specops)
icon_state = "hos"
/obj/structure/closet/secure_closet/ertSec/PopulateContents()
@@ -36,7 +36,7 @@
/obj/structure/closet/secure_closet/ertMed
name = "medical closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_medical)
req_access = list(GLOB.access_cent_medical)
icon_state = "cmo"
/obj/structure/closet/secure_closet/ertMed/PopulateContents()
@@ -52,7 +52,7 @@
/obj/structure/closet/secure_closet/ertEngi
name = "engineer closet"
desc = "Emergency Response Team equipment locker."
req_access = list(access_cent_storage)
req_access = list(GLOB.access_cent_storage)
icon_state = "ce"
/obj/structure/closet/secure_closet/ertEngi/PopulateContents()
@@ -1,7 +1,7 @@
/obj/structure/closet/secure_closet/personal
desc = "It's a secure locker for personnel. The first card swiped gains control."
name = "personal closet"
req_access = list(access_all_personal_lockers)
req_access = list(GLOB.access_all_personal_lockers)
var/registered_name = null
/obj/structure/closet/secure_closet/personal/PopulateContents()
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/RD
name = "\proper research director's locker"
req_access = list(access_rd)
req_access = list(GLOB.access_rd)
icon_state = "rd"
/obj/structure/closet/secure_closet/RD/PopulateContents()
@@ -1,6 +1,6 @@
/obj/structure/closet/secure_closet/captains
name = "\proper captain's locker"
req_access = list(access_captain)
req_access = list(GLOB.access_captain)
icon_state = "cap"
/obj/structure/closet/secure_closet/captains/PopulateContents()
@@ -32,7 +32,7 @@
/obj/structure/closet/secure_closet/hop
name = "\proper head of personnel's locker"
req_access = list(access_hop)
req_access = list(GLOB.access_hop)
icon_state = "hop"
/obj/structure/closet/secure_closet/hop/PopulateContents()
@@ -56,7 +56,7 @@
/obj/structure/closet/secure_closet/hos
name = "\proper head of security's locker"
req_access = list(access_hos)
req_access = list(GLOB.access_hos)
icon_state = "hos"
/obj/structure/closet/secure_closet/hos/PopulateContents()
@@ -85,7 +85,7 @@
/obj/structure/closet/secure_closet/warden
name = "\proper warden's locker"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "warden"
/obj/structure/closet/secure_closet/warden/PopulateContents()
@@ -109,7 +109,7 @@
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
req_access = list(access_security)
req_access = list(GLOB.access_security)
icon_state = "sec"
/obj/structure/closet/secure_closet/security/PopulateContents()
@@ -157,7 +157,7 @@
/obj/structure/closet/secure_closet/detective
name = "\proper detective's cabinet"
req_access = list(access_forensics_lockers)
req_access = list(GLOB.access_forensics_lockers)
icon_state = "cabinet"
resistance_flags = FLAMMABLE
obj_integrity = 70
@@ -185,7 +185,7 @@
/obj/structure/closet/secure_closet/injection
name = "lethal injections"
req_access = list(access_hos)
req_access = list(GLOB.access_hos)
/obj/structure/closet/secure_closet/injection/PopulateContents()
..()
@@ -194,7 +194,7 @@
/obj/structure/closet/secure_closet/brig
name = "brig locker"
req_access = list(access_brig)
req_access = list(GLOB.access_brig)
anchored = 1
var/id = null
@@ -205,7 +205,7 @@
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
req_access = list(access_court)
req_access = list(GLOB.access_court)
/obj/structure/closet/secure_closet/courtroom/PopulateContents()
..()
@@ -219,7 +219,7 @@
/obj/structure/closet/secure_closet/armory1
name = "armory armor locker"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "armory"
/obj/structure/closet/secure_closet/armory1/PopulateContents()
@@ -234,7 +234,7 @@
/obj/structure/closet/secure_closet/armory2
name = "armory ballistics locker"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "armory"
/obj/structure/closet/secure_closet/armory2/PopulateContents()
@@ -247,7 +247,7 @@
/obj/structure/closet/secure_closet/armory3
name = "armory energy gun locker"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "armory"
/obj/structure/closet/secure_closet/armory3/PopulateContents()
@@ -261,7 +261,7 @@
/obj/structure/closet/secure_closet/tac
name = "armory tac locker"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "tac"
/obj/structure/closet/secure_closet/tac/PopulateContents()
@@ -273,7 +273,7 @@
/obj/structure/closet/secure_closet/lethalshots
name = "shotgun lethal rounds"
req_access = list(access_armory)
req_access = list(GLOB.access_armory)
icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
@@ -33,7 +33,7 @@
if(user)
to_chat(user, "<span class='danger'>The crate's anti-tamper system activates!</span>")
var/message = "[ADMIN_LOOKUPFLW(user)] has detonated [src.name]."
bombers += message
GLOB.bombers += message
message_admins(message)
log_game("[key_name(user)] has detonated [src.name].")
for(var/atom/movable/AM in src)
+2 -2
View File
@@ -242,10 +242,10 @@
/obj/structure/displaycase/captain
alert = 1
start_showpiece_type = /obj/item/weapon/gun/energy/laser/captain
req_access = list(access_cent_specops)
req_access = list(GLOB.access_cent_specops)
/obj/structure/displaycase/labcage
name = "lab cage"
desc = "A glass lab container for storing interesting creatures."
start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
req_access = list(access_rd)
req_access = list(GLOB.access_rd)
+3 -3
View File
@@ -18,16 +18,16 @@
return
switch(choice)
if("Underwear")
var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_list
var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
if(new_undies)
H.underwear = new_undies
if("Undershirt")
var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list
var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
if(new_undershirt)
H.undershirt = new_undershirt
if("Socks")
var/new_socks = input(user, "Select your socks", "Changing") as null|anything in socks_list
var/new_socks = input(user, "Select your socks", "Changing") as null|anything in GLOB.socks_list
if(new_socks)
H.socks= new_socks
+1 -1
View File
@@ -339,5 +339,5 @@
return ..()
/obj/structure/falsewall/brass/ratvar_act()
if(ratvar_awakens)
if(GLOB.ratvar_awakens)
obj_integrity = max_integrity
+1 -1
View File
@@ -262,7 +262,7 @@
/obj/item/weapon/twohanded/required/kirbyplants/equipped(mob/living/user)
var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user)
I.override = 1
user.add_alt_appearance("sneaking_mission", I, player_list)
user.add_alt_appearance("sneaking_mission", I, GLOB.player_list)
..()
/obj/item/weapon/twohanded/required/kirbyplants/dropped(mob/living/user)
+3 -3
View File
@@ -15,18 +15,18 @@
/obj/structure/ladder/Initialize(mapload)
if(!initialized)
ladders += src
GLOB.ladders += src
..()
if(mapload)
return TRUE
update_link()
/obj/structure/ladder/Destroy()
ladders -= src
GLOB.ladders -= src
. = ..()
/obj/structure/ladder/proc/update_link()
for(var/obj/structure/ladder/L in ladders)
for(var/obj/structure/ladder/L in GLOB.ladders)
if(L.id == id)
if(L.height == (height - 1))
down = L
+5 -5
View File
@@ -25,7 +25,7 @@
//handle facial hair (if necessary)
if(H.gender == MALE)
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list
if(userloc != H.loc)
return //no tele-grooming
if(new_style)
@@ -34,7 +34,7 @@
H.facial_hair_style = "Shaved"
//handle normal hair
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in hair_styles_list
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list
if(userloc != H.loc)
return //no tele-grooming
if(new_style)
@@ -102,7 +102,7 @@
..()
/obj/structure/mirror/magic/lesser/New()
choosable_races = roundstart_species
choosable_races = GLOB.roundstart_species
..()
/obj/structure/mirror/magic/badmin/New()
@@ -140,7 +140,7 @@
if("race")
var/newrace
var/racechoice = input(H, "What are we again?", "Race change") as null|anything in choosable_races
newrace = species_list[racechoice]
newrace = GLOB.species_list[racechoice]
if(!newrace)
return
@@ -149,7 +149,7 @@
H.set_species(newrace, icon_update=0)
if(H.dna.species.use_skintones)
var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in skin_tones
var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in GLOB.skin_tones
if(new_s_tone)
H.skin_tone = new_s_tone
+3 -3
View File
@@ -147,7 +147,7 @@
/*
* Crematorium
*/
var/global/list/crematoriums = new/list()
GLOBAL_LIST_EMPTY(crematoriums)
/obj/structure/bodycontainer/crematorium
name = "crematorium"
desc = "A human incinerator. Works well on barbeque nights."
@@ -160,14 +160,14 @@ var/global/list/crematoriums = new/list()
return
/obj/structure/bodycontainer/crematorium/Destroy()
crematoriums.Remove(src)
GLOB.crematoriums.Remove(src)
return ..()
/obj/structure/bodycontainer/crematorium/New()
connected = new/obj/structure/tray/c_tray(src)
connected.connected = src
crematoriums.Add(src)
GLOB.crematoriums.Add(src)
..()
/obj/structure/bodycontainer/crematorium/update_icon()
+8 -8
View File
@@ -90,39 +90,39 @@
/obj/structure/noticeboard/captain
name = "Captain's Notice Board"
desc = "Important notices from the Captain."
req_access = list(access_captain)
req_access = list(GLOB.access_captain)
/obj/structure/noticeboard/hop
name = "Head of Personnel's Notice Board"
desc = "Important notices from the Head of Personnel."
req_access = list(access_hop)
req_access = list(GLOB.access_hop)
/obj/structure/noticeboard/ce
name = "Chief Engineer's Notice Board"
desc = "Important notices from the Chief Engineer."
req_access = list(access_ce)
req_access = list(GLOB.access_ce)
/obj/structure/noticeboard/hos
name = "Head of Security's Notice Board"
desc = "Important notices from the Head of Security."
req_access = list(access_hos)
req_access = list(GLOB.access_hos)
/obj/structure/noticeboard/cmo
name = "Chief Medical Officer's Notice Board"
desc = "Important notices from the Chief Medical Officer."
req_access = list(access_cmo)
req_access = list(GLOB.access_cmo)
/obj/structure/noticeboard/rd
name = "Research Director's Notice Board"
desc = "Important notices from the Research Director."
req_access = list(access_rd)
req_access = list(GLOB.access_rd)
/obj/structure/noticeboard/qm
name = "Quartermaster's Notice Board"
desc = "Important notices from the Quartermaster."
req_access = list(access_qm)
req_access = list(GLOB.access_qm)
/obj/structure/noticeboard/staff
name = "Staff Notice Board"
desc = "Important notices from the heads of staff."
req_access = list(access_heads)
req_access = list(GLOB.access_heads)
+1 -1
View File
@@ -366,7 +366,7 @@
/obj/structure/table/optable/New()
..()
for(var/dir in cardinal)
for(var/dir in GLOB.cardinal)
computer = locate(/obj/machinery/computer/operating, get_step(src, dir))
if(computer)
computer.table = src
@@ -69,7 +69,7 @@
update_icon()
/obj/structure/tank_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "tank_dispenser", name, 275, 100, master_ui, state)
@@ -129,7 +129,7 @@
/obj/structure/transit_tube/proc/generate_tube_overlays()
for(var/direction in tube_dirs)
if(direction in diagonals)
if(direction in GLOB.diagonals)
if(direction & NORTH)
create_tube_overlay(direction ^ 3, NORTH)
+1 -1
View File
@@ -546,7 +546,7 @@
return ..()
/obj/structure/window/reinforced/clockwork/ratvar_act()
if(ratvar_awakens)
if(GLOB.ratvar_awakens)
obj_integrity = max_integrity
update_icon()