diff --git a/cev_eris.dme b/cev_eris.dme index ec1885774cd..b2ecdc28d32 100644 --- a/cev_eris.dme +++ b/cev_eris.dme @@ -17,7 +17,6 @@ // BEGIN_INCLUDE #include "code\_compile_options.dm" #include "code\client_macros.dm" -#include "code\global.dm" #include "code\stylesheet.dm" #include "code\world.dm" #include "code\__DEFINES\_bitfields.dm" @@ -120,6 +119,7 @@ #include "code\__DEFINES\verb_manager.dm" #include "code\__DEFINES\vv.dm" #include "code\__DEFINES\weapons.dm" +#include "code\__DEFINES\wires.dm" #include "code\__DEFINES\world.dm" #include "code\__DEFINES\ZAS.dm" #include "code\__DEFINES\dcs\flags.dm" @@ -1441,8 +1441,6 @@ #include "code\game\verbs\looc.dm" #include "code\game\verbs\ooc.dm" #include "code\game\verbs\who.dm" -#include "code\js\byjax.dm" -#include "code\js\menus.dm" #include "code\modules\aberrants\_defines.dm" #include "code\modules\aberrants\_modification.dm" #include "code\modules\aberrants\organs\holders.dm" diff --git a/code/__DEFINES/items.dm b/code/__DEFINES/items.dm index bcf2c015906..e5c139de0d2 100644 --- a/code/__DEFINES/items.dm +++ b/code/__DEFINES/items.dm @@ -199,3 +199,5 @@ GLOBAL_LIST_INIT(weapon_aspects_blacklist, list(GUN_UPGRADE_SILENCER, GUN_UPGRAD #define ITEM_BLOCKING_SLOWDOWN 1 #define SHIELD_BLOCKING_SLOWDOWN 1.5 #define HVY_SHIELD_BLOCKING_SLOWDOWN 2 + +#define NO_EMAG_ACT -50 diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 7818efc1419..9eef61c2005 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -11,7 +11,7 @@ /// Used when the `get_job_unavailable_error_message` proc can't make sense of a given code. #define GENERIC_JOB_UNAVAILABLE_ERROR "Error: Unknown job availability." -#define ASSISTANT_TITLE "Vagabond" +#define JOB_ASSISTANT "Vagabond" /** * ======================= @@ -26,32 +26,138 @@ */ //Jobs depatment lists for use in constant expressions -#define JOBS_SECURITY "Ironhammer Commander","Ironhammer Gunnery Sergeant","Ironhammer Inspector","Ironhammer Medical Specialist","Ironhammer Operative" -#define JOBS_ARMORY "Captain","First Officer","Ironhammer Commander","Ironhammer Gunnery Sergeant" -#define JOBS_COMMAND "Captain","First Officer","Ironhammer Commander","Guild Merchant","Technomancer Exultant","Moebius Biolab Officer","Moebius Expedition Overseer","NeoTheology Preacher" -#define JOBS_ENGINEERING "Technomancer Exultant","Technomancer" -#define JOBS_MEDICAL "Moebius Biolab Officer","Moebius Doctor","Moebius Psychiatrist","Moebius Chemist","Moebius Paramedic","Moebius Bio-Engineer" -#define JOBS_SCIENCE "Moebius Expedition Overseer","Moebius Scientist","Moebius Roboticist" -#define JOBS_MOEBIUS "Moebius Biolab Officer","Moebius Doctor","Moebius Psychiatrist","Moebius Chemist","Moebius Paramedic","Moebius Bio-Engineer","Moebius Expedition Overseer","Moebius Scientist","Moebius Roboticist" -#define JOBS_CARGO "Guild Merchant","Guild Technician","Guild Miner", -#define JOBS_CIVILIAN "Club Manager","Club Worker","Club Artist",ASSISTANT_TITLE -#define JOBS_CHURCH "NeoTheology Preacher","NeoTheology Acolyte","NeoTheology Agrolyte","NeoTheology Custodian" -#define JOBS_NONHUMAN "AI","Robot","pAI" +#define JOB_IRONHAMMER_COMMANDER "Ironhammer Commander" +#define JOB_IRONHAMMER_GUNNERY_SERGEANT "Ironhammer Gunnery Sergeant" +#define JOB_IRONHAMMER_INSPECTOR "Ironhammer Inspector" +#define JOB_IRONHAMMER_MEDICAL_SPECIALIST "Ironhammer Medical Specialist" +#define JOB_IRONHAMMER_OPERATIVE "Ironhammer Operative" + +#define JOB_CAPTAIN "Captain" +#define JOB_FIRST_OFFICER "First Officer" + +#define JOB_GUILD_MERCHANT "Guild Merchant" +#define JOB_GUILD_TECHNICIAN "Guild Technician" +#define JOB_GUILD_MINER "Guild Miner" + +#define JOB_TECHNOMANCER_EXULTANT "Technomancer Exultant" +#define JOB_TECHNOMANCER "Technomancer" + +#define JOB_MOEBIUS_BIOLAB_OFFICER "Moebius Biolab Officer" +#define JOB_MOEBIUS_DOCTOR "Moebius Doctor" +#define JOB_MOEBIUS_PSYCHIATRIST "Moebius Psychiatrist" +#define JOB_MOEBIUS_CHEMIST "Moebius Chemist" +#define JOB_MOEBIUS_PARAMEDIC "Moebius Paramedic" +#define JOB_MOEBIUS_BIO_ENGINEER "Moebius Bio-Engineer" +#define JOB_MOEBIUS_EXPEDITION_OVERSEER "Moebius Expedition Overseer" +#define JOB_MOEBIUS_SCIENTIST "Moebius Scientist" +#define JOB_MOEBIUS_ROBOTICIST "Moebius Roboticist" + +#define JOB_CLUB_MANAGER "Club Manager" +#define JOB_CLUB_WORKER "Club Worker" +#define JOB_CLUB_ARTIST "Club Artist" + +#define JOB_NEOTHEOLOGY_PREACHER "NeoTheology Preacher" +#define JOB_NEOTHEOLOGY_ACOLYTE "NeoTheology Acolyte" +#define JOB_NEOTHEOLOGY_AGROLYTE "NeoTheology Agrolyte" +#define JOB_NEOTHEOLOGY_CUSTODIAN "NeoTheology Custodian" + +#define JOB_AI "AI" +#define JOB_ROBOT "Robot" +#define JOB_PAI "pAI" + +#define JOBS_SECURITY JOB_IRONHAMMER_COMMANDER, JOB_IRONHAMMER_GUNNERY_SERGEANT, JOB_IRONHAMMER_INSPECTOR, JOB_IRONHAMMER_MEDICAL_SPECIALIST, JOB_IRONHAMMER_OPERATIVE + +#define JOBS_ARMORY JOB_CAPTAIN, JOB_FIRST_OFFICER, JOB_IRONHAMMER_COMMANDER, JOB_IRONHAMMER_GUNNERY_SERGEANT + +#define JOBS_COMMAND JOB_CAPTAIN, JOB_FIRST_OFFICER, JOB_IRONHAMMER_COMMANDER, JOB_GUILD_MERCHANT, JOB_TECHNOMANCER_EXULTANT, JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_NEOTHEOLOGY_PREACHER + +#define JOBS_ENGINEERING JOB_TECHNOMANCER_EXULTANT, JOB_TECHNOMANCER + +#define JOBS_MEDICAL JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_DOCTOR, JOB_MOEBIUS_PSYCHIATRIST, JOB_MOEBIUS_CHEMIST, JOB_MOEBIUS_PARAMEDIC, JOB_MOEBIUS_BIO_ENGINEER + +#define JOBS_SCIENCE JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_MOEBIUS_SCIENTIST, JOB_MOEBIUS_ROBOTICIST + +#define JOBS_MOEBIUS JOB_MOEBIUS_BIOLAB_OFFICER, JOB_MOEBIUS_DOCTOR, JOB_MOEBIUS_PSYCHIATRIST, JOB_MOEBIUS_CHEMIST, JOB_MOEBIUS_PARAMEDIC, JOB_MOEBIUS_BIO_ENGINEER, JOB_MOEBIUS_EXPEDITION_OVERSEER, JOB_MOEBIUS_SCIENTIST, JOB_MOEBIUS_ROBOTICIST + +#define JOBS_CARGO JOB_GUILD_MERCHANT, JOB_GUILD_TECHNICIAN, JOB_GUILD_MINER + +#define JOBS_CIVILIAN JOB_CLUB_MANAGER, JOB_CLUB_WORKER, JOB_CLUB_ARTIST, JOB_ASSISTANT + +#define JOBS_CHURCH JOB_NEOTHEOLOGY_PREACHER, JOB_NEOTHEOLOGY_ACOLYTE, JOB_NEOTHEOLOGY_AGROLYTE, JOB_NEOTHEOLOGY_CUSTODIAN + +#define JOBS_NONHUMAN JOB_AI, JOB_ROBOT, JOB_PAI + #define CREDITS "¢" #define CREDS "¢" -#define DEPARTMENT_COMMAND "Command" -#define DEPARTMENT_MEDICAL "Medical" +#define DEPARTMENT_COMMAND "Command" +#define DEPARTMENT_MEDICAL "Medical" #define DEPARTMENT_ENGINEERING "Engineering" -#define DEPARTMENT_SCIENCE "Science" -#define DEPARTMENT_SECURITY "Security" -#define DEPARTMENT_GUILD "Guild" -#define DEPARTMENT_CIVILIAN "Civilian" -#define DEPARTMENT_CHURCH "Church" -#define DEPARTMENT_OFFSHIP "Offship" -#define DEPARTMENT_SILICON "Silicon" +#define DEPARTMENT_SCIENCE "Science" +#define DEPARTMENT_SECURITY "Security" +#define DEPARTMENT_GUILD "Guild" +#define DEPARTMENT_CIVILIAN "Civilian" +#define DEPARTMENT_CHURCH "Church" +#define DEPARTMENT_OFFSHIP "Offship" +#define DEPARTMENT_SILICON "Silicon" + + +// Department Bitfields (dawg these are so unorganized i dont even know what is what) +#define ENGINEERING (1<<0) +#define IRONHAMMER (1<<1) +#define MEDICAL (1<<2) +#define SCIENCE (1<<3) +#define CIVILIAN (1<<4) +#define COMMAND (1<<5) +#define MISC (1<<6) +#define SERVICE (1<<7) +#define GUILD (1<<8) +#define CHURCH (1<<9) + +#define ENGSEC (1<<0) + +#define CAPTAIN (1<<0) +#define IHC (1<<1) +#define GUNSERG (1<<2) +#define INSPECTOR (1<<3) +#define IHOPER (1<<4) +#define MEDSPEC (1<<5) +#define EXULTANT (1<<6) +#define TECHNOMANCER (1<<7) +#define AI (1<<8) +#define CYBORG (1<<9) + + +#define MEDSCI (1<<1) + +#define MEO (1<<0) +#define SCIENTIST (1<<1) +#define CHEMIST (1<<2) +#define MBO (1<<3) +#define DOCTOR (1<<4) +#define PSYCHIATRIST (1<<5) +#define ROBOTICIST (1<<6) +#define PARAMEDIC (1<<7) +#define BIOENGINEER (1<<8) + + +#define FIRSTOFFICER (1<<0) +#define CLUBMANAGER (1<<1) +#define CLUBWORKER (1<<2) +#define MERCHANT (1<<3) +#define GUILDTECH (1<<4) +#define MINER (1<<5) +#define ARTIST (1<<6) +#define ASSISTANT (1<<7) + + +#define CHAPLAIN (1<<0) +#define ACOLYTE (1<<1) +#define JANITOR (1<<2) +#define BOTANIST (1<<3) +// exp #define EXP_TYPE_LIVING "Living" #define EXP_TYPE_CREW "Crew" diff --git a/code/__DEFINES/machinery.dm b/code/__DEFINES/machinery.dm index 1a4c49b392d..464c011227f 100644 --- a/code/__DEFINES/machinery.dm +++ b/code/__DEFINES/machinery.dm @@ -1,5 +1,3 @@ -var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called manually after an event. - #define CELLRATE 0.002 // Multiplier for watts per tick <> cell storage (e.g., 0.02 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) // It's a conversion constant. power_used*CELLRATE = charge_provided, or charge_used/CELLRATE = power_provided diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index d61a1e01ddf..5d2c1eb19fe 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -124,10 +124,10 @@ #define TABLE_BRITTLE_MATERIAL_MULTIPLIER 4 // Amount table damage is multiplied by if it is made of a brittle material (e.g. glass) -#define BOMBCAP_DVSTN_RADIUS (max_explosion_range/4) -#define BOMBCAP_HEAVY_RADIUS (max_explosion_range/2) -#define BOMBCAP_LIGHT_RADIUS max_explosion_range -#define BOMBCAP_FLASH_RADIUS (max_explosion_range*1.5) +#define BOMBCAP_DVSTN_RADIUS (GLOB.max_explosion_range/4) +#define BOMBCAP_HEAVY_RADIUS (GLOB.max_explosion_range/2) +#define BOMBCAP_LIGHT_RADIUS GLOB.max_explosion_range +#define BOMBCAP_FLASH_RADIUS (GLOB.max_explosion_range*1.5) // NTNet module-configuration values. Do not change these. If you need to add another use larger number (5..6..7 etc) #define NTNET_SOFTWAREDOWNLOAD 1 // Downloads of software from NTNet #define NTNET_PEERTOPEER 2 // P2P transfers of files between devices diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 70dd5a94cbb..40597602f51 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -285,3 +285,9 @@ GLOBAL_LIST_INIT(voice_type2sound_ref, voice_type2sound) * increased by 10 each time you fail to extract an item */ #define BUTCHERING_HAZARD_CHANCE 5 + +// Observer/Ghost stuff +#define GHOST_IMAGE_NONE 0 +#define GHOST_IMAGE_DARKNESS 1 +#define GHOST_IMAGE_SIGHTLESS 2 +#define GHOST_IMAGE_ALL ~GHOST_IMAGE_NONE diff --git a/code/__DEFINES/movement.dm b/code/__DEFINES/movement.dm index 784706a1dd6..69416a05842 100644 --- a/code/__DEFINES/movement.dm +++ b/code/__DEFINES/movement.dm @@ -2,6 +2,13 @@ #define MOVE_DELAY_BASE 1.1 #define MOVE_DELAY_VENTCRAWL MOVE_DELAY_BASE //Ventcrawling has a static speed for all mobs +#define MOVEMENT_HANDLED 0x0001 // If no further movement handling should occur after this +#define MOVEMENT_REMOVE 0x0002 + +#define MOVEMENT_PROCEED 0x0004 +#define MOVEMENT_STOP 0x0008 + + //Glidesize #define FRACTIONAL_GLIDESIZES 1 #ifdef FRACTIONAL_GLIDESIZES diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index eaff65a74ae..74922f3362a 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -13,3 +13,5 @@ #define JOB_LEVEL_LOW 3 #define JOB_LEVEL_MEDIUM 2 #define JOB_LEVEL_HIGH 1 + +#define CHARACTER_PREFERENCE_INPUT_TITLE "Character Preference" diff --git a/code/__DEFINES/wires.dm b/code/__DEFINES/wires.dm new file mode 100644 index 00000000000..89d72bd7c2f --- /dev/null +++ b/code/__DEFINES/wires.dm @@ -0,0 +1,14 @@ +//wire defines that really everything should go in here but thats a lot of work. + +#define VENDING_WIRE_THROW (1 << 0) +#define VENDING_WIRE_CONTRABAND (1 << 1) +#define VENDING_WIRE_ELECTRIFY (1 << 2) +#define VENDING_WIRE_IDSCAN (1 << 3) + +#define VENDING_INT_WIRE_THROW (1 << 0) +#define VENDING_INT_WIRE_ELECTRIFY (1 << 1) +#define VENDING_INT_WIRE_IDSCAN (1 << 2) +#define VENDING_INT_WIRE_SIGNAL (1 << 3) +#define VENDING_INT_WIRE_CONTRABAND (1 << 4) +#define VENDING_INT_WIRE_GROUND (1 << 5) +#define VENDING_INT_WIRE_POWER (1 << 6) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 97085f597d9..0468a06a826 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -113,7 +113,7 @@ var/syndicate_code_response//Code response for contractors. var/locations[] = SSmapping.teleportlocs.len ? SSmapping.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. + for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest. names += t.fields["name"] var/maxwords = words//Extra var to check for duplicates. diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index a0de6126b4f..52ecfa04340 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -281,7 +281,7 @@ Turf and target are seperate in case you want to teleport some distance from a t if(oldname) //update the datacore records! This is goig to be a bit costly. - for(var/list/L in list(data_core.general, data_core.medical, data_core.security, data_core.locked)) + for(var/list/L in list(GLOB.data_core.general, GLOB.data_core.medical, GLOB.data_core.security, GLOB.data_core.locked)) for(var/datum/data/record/R in L) if(R.fields["name"] == oldname) R.fields["name"] = newname diff --git a/code/_global_vars/configuration.dm b/code/_global_vars/configuration.dm index a36c25598e1..dcc0f252a05 100644 --- a/code/_global_vars/configuration.dm +++ b/code/_global_vars/configuration.dm @@ -1,5 +1,11 @@ GLOBAL_REAL(config, /datum/controller/configuration) +GLOBAL_DATUM_INIT(revdata,/datum/getrev, new) +GLOBAL_DATUM_INIT(db_search, /datum/DB_search, new) +GLOBAL_DATUM_INIT(universe, /datum/universal_state, new) +GLOBAL_DATUM_INIT(data_core, /datum/datacore, new) + +GLOBAL_VAR(host) GLOBAL_VAR_INIT(changelog_hash, "") GLOBAL_VAR_INIT(hub_visibility, FALSE) @@ -8,5 +14,16 @@ GLOBAL_VAR_INIT(looc_allowed, TRUE) GLOBAL_VAR_INIT(dooc_allowed, TRUE) GLOBAL_VAR_INIT(dsay_allowed, TRUE) GLOBAL_VAR_INIT(enter_allowed, TRUE) - +GLOBAL_VAR_INIT(master_storyteller, "shitgenerator") +GLOBAL_VAR_INIT(gravity_is_on, 1) +// Bomb cap! +GLOBAL_VAR_INIT(max_explosion_range, 14) GLOBAL_VAR_INIT(diagonal_movement, FALSE) + +GLOBAL_VAR(href_logfile) +GLOBAL_VAR(custom_event_msg) + +// Reference list for disposal sort junctions. Filled up by sorting junction's New() +GLOBAL_LIST_EMPTY(tagger_locations) +GLOBAL_LIST_EMPTY(admin_log) + diff --git a/code/controllers/evacuation/evacuation_helpers.dm b/code/controllers/evacuation/evacuation_helpers.dm index 5fb422a4665..a1a43eda168 100644 --- a/code/controllers/evacuation/evacuation_helpers.dm +++ b/code/controllers/evacuation/evacuation_helpers.dm @@ -30,7 +30,7 @@ if(!isnull(evac_called_at)) return FALSE - if (!universe.OnShuttleCall(null)) + if (!GLOB.universe.OnShuttleCall(null)) return FALSE if(SSticker.excelsior_hijacking == 1) diff --git a/code/controllers/subsystems/alarm.dm b/code/controllers/subsystems/alarm.dm index 1c362e547e6..a3aa2eef15d 100644 --- a/code/controllers/subsystems/alarm.dm +++ b/code/controllers/subsystems/alarm.dm @@ -1,10 +1,8 @@ -// We manually initialize the alarm handlers instead of looping over all existing types -// to make it possible to write: camera.triggerAlarm() rather than alarm_manager.managers[datum/alarm_handler/camera].triggerAlarm() or a variant thereof. -var/global/datum/alarm_handler/atmosphere/atmosphere_alarm -var/global/datum/alarm_handler/camera/camera_alarm -var/global/datum/alarm_handler/fire/fire_alarm -var/global/datum/alarm_handler/motion/motion_alarm -var/global/datum/alarm_handler/power/power_alarm +GLOBAL_DATUM_INIT(atmosphere_alarm, /datum/alarm_handler/atmosphere, new) +GLOBAL_DATUM_INIT(camera_alarm, /datum/alarm_handler/camera, new) +GLOBAL_DATUM_INIT(fire_alarm, /datum/alarm_handler/fire, new) +GLOBAL_DATUM_INIT(motion_alarm, /datum/alarm_handler/motion, new) +GLOBAL_DATUM_INIT(power_alarm, /datum/alarm_handler/power, new) SUBSYSTEM_DEF(alarm) name = "Alarm" @@ -17,15 +15,13 @@ SUBSYSTEM_DEF(alarm) var/tmp/list/current = list() var/tmp/list/active_alarm_cache = list() -/datum/controller/subsystem/alarm/PreInit() - atmosphere_alarm = new() - camera_alarm = new() - fire_alarm = new() - motion_alarm = new() - power_alarm = new() - /datum/controller/subsystem/alarm/Initialize(start_timeofday) - all_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, motion_alarm, power_alarm) + all_handlers = list( + GLOB.atmosphere_alarm, \ + GLOB.camera_alarm, \ + GLOB.fire_alarm, \ + GLOB.motion_alarm, \ + GLOB.power_alarm) return ..() /datum/controller/subsystem/alarm/fire(resumed = FALSE) diff --git a/code/controllers/subsystems/jobs.dm b/code/controllers/subsystems/jobs.dm index 339d70e9b34..ea3645b8db6 100644 --- a/code/controllers/subsystems/jobs.dm +++ b/code/controllers/subsystems/jobs.dm @@ -270,7 +270,7 @@ SUBSYSTEM_DEF(job) if(job.minimum_character_age && (player.client.prefs.age < job.minimum_character_age)) continue - if(istype(job, GetJob(ASSISTANT_TITLE))) // We don't want to give him assistant, that's boring! + if(istype(job, GetJob(JOB_ASSISTANT))) // We don't want to give him assistant, that's boring! continue if(job in command_positions) //If you want a command position, select it! @@ -398,7 +398,7 @@ SUBSYSTEM_DEF(job) Debug("AC1, Candidates: [length(assistant_candidates)]") for(var/mob/new_player/player in assistant_candidates) Debug("AC1 pass, Player: [player]") - AssignRole(player, ASSISTANT_TITLE) + AssignRole(player, JOB_ASSISTANT) assistant_candidates -= player Debug("DO, AC1 end") @@ -462,7 +462,7 @@ SUBSYSTEM_DEF(job) for(var/mob/new_player/player in unassigned) if(player.client.prefs.alternate_option == BE_ASSISTANT) Debug("AC2 Assistant located, Player: [player]") - AssignRole(player, ASSISTANT_TITLE) + AssignRole(player, JOB_ASSISTANT) //For ones returning to lobby for(var/mob/new_player/player in unassigned) @@ -756,7 +756,7 @@ SUBSYSTEM_DEF(job) /datum/controller/subsystem/job/proc/ShouldCreateRecords(title) if(!title) return 0 var/datum/job/job = GetJob(title) - if(!job || job == ASSISTANT_TITLE) + if(!job || job == JOB_ASSISTANT) return FALSE return job.create_record diff --git a/code/controllers/subsystems/statpanel.dm b/code/controllers/subsystems/statpanel.dm index cc60ca3f538..c99f190ff00 100644 --- a/code/controllers/subsystems/statpanel.dm +++ b/code/controllers/subsystems/statpanel.dm @@ -22,7 +22,7 @@ SUBSYSTEM_DEF(statpanels) var/list/private_ready_data = list() var/list/global_ready_data = list() var/list/global_data = list( - list("Storyteller: [master_storyteller ? master_storyteller : "Being democratically elected"]"), + list("Storyteller: [GLOB.master_storyteller ? GLOB.master_storyteller : "Being democratically elected"]"), list("Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]"), list("Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]"), list("[SSticker.HasRoundStarted() ? "Round" : "Lobby"] Time: [gameTimestamp()]"), @@ -60,8 +60,8 @@ SUBSYSTEM_DEF(statpanels) var/job_of_choice = "Unknown" // Player chose to be a vagabond, that takes priority over all other settings, // and is in a low priority job list for some reason - if(ASSISTANT_TITLE in player.client.prefs.job_low) - job_of_choice = ASSISTANT_TITLE + if(JOB_ASSISTANT in player.client.prefs.job_low) + job_of_choice = JOB_ASSISTANT // Only take top priority job into account, no use divining what lower priority job player could get else if(player.client.prefs.job_high) job_of_choice = player.client.prefs.job_high diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index b9067b9d62e..0251eecf230 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -272,7 +272,7 @@ SUBSYSTEM_DEF(ticker) if(!H.mind || player_is_antag(H.mind, only_offstation_roles = 1) || !SSjob.ShouldCreateRecords(H.mind.assigned_role)) continue CreateModularRecord(H) - data_core.manifest() + GLOB.data_core.manifest() CHECK_TICK diff --git a/code/controllers/subsystems/voting/poll_types.dm b/code/controllers/subsystems/voting/poll_types.dm index 6f9c4ed327e..4b8926808f5 100644 --- a/code/controllers/subsystems/voting/poll_types.dm +++ b/code/controllers/subsystems/voting/poll_types.dm @@ -57,7 +57,7 @@ //We will sort the storyteller choices carefully. Guide is always first, all the rest are in a random order /datum/poll/storyteller/init_choices() - master_storyteller = null + GLOB.master_storyteller = null var/datum/vote_choice/storyteller/base = null for(var/ch in storyteller_cache) var/datum/vote_choice/storyteller/CS = new @@ -95,18 +95,18 @@ // round_progressing = FALSE // to_chat(world, "Game start has been delayed due to voting.") -//If one wins, on_end is called after on_win, so the new storyteller will be set in master_storyteller +//If one wins, on_end is called after on_win, so the new storyteller will be set in GLOB.master_storyteller /datum/poll/storyteller/on_end() ..() //This happens if the vote was skipped with force start - if (!master_storyteller) - master_storyteller = STORYTELLER_BASE - world.save_storyteller(master_storyteller) + if (!GLOB.master_storyteller) + GLOB.master_storyteller = STORYTELLER_BASE + world.save_storyteller(GLOB.master_storyteller) SSticker.story_vote_ended = TRUE - set_storyteller(config.pick_storyteller(master_storyteller), announce = !(pregame)) //This does the actual work //Even if master storyteller is null, this will pick the default + set_storyteller(config.pick_storyteller(GLOB.master_storyteller), announce = !(pregame)) //This does the actual work //Even if master storyteller is null, this will pick the default if (pregame) to_chat(world, "The game will start in [DisplayTimeText(SSticker.GetTimeLeft())].") spawn(10 SECONDS) @@ -140,10 +140,10 @@ //on_end will be called after this, so that's where we actually call set_storyteller /datum/vote_choice/storyteller/on_win() - if (master_storyteller == new_storyteller) + if (GLOB.master_storyteller == new_storyteller) poll.next_vote = world.time + (poll.cooldown * 0.5) //If the storyteller didn't actually change, the cooldown is half as long - master_storyteller = new_storyteller - world.save_storyteller(master_storyteller) + GLOB.master_storyteller = new_storyteller + world.save_storyteller(GLOB.master_storyteller) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 20fb54aefff..5650246c43e 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -1,4 +1,4 @@ -var/global/const/base_law_type = /datum/ai_laws/eris +#define base_law_type /datum/ai_laws/eris /datum/ai_law var/law = "" diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 55f2af15562..9b1eebde302 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -1,9 +1,6 @@ var/global/list/PDA_Manifest = list() var/global/ManifestJSON -/hook/startup/proc/createDatacore() - data_core = new /datum/datacore() - return 1 /datum/datacore var/name = "datacore" @@ -40,7 +37,7 @@ var/global/ManifestJSON "} var/even = 0 // sort mobs - for(var/datum/data/record/t in data_core.general) + for(var/datum/data/record/t in GLOB.data_core.general) var/name = t.fields["name"] var/rank = t.fields["rank"] var/real_rank = make_list_rank(t.fields["real_rank"]) @@ -163,18 +160,17 @@ var/global/ManifestJSON var/datum/data/record/foundrecord var/real_title = assignment - for(var/datum/data/record/t in data_core.general) - if (t) - if(t.fields["name"] == name) - foundrecord = t - break + for(var/datum/data/record/t in GLOB.data_core.general) + if(t?.fields["name"] == name) + foundrecord = t + break if(foundrecord) foundrecord.fields["rank"] = assignment foundrecord.fields["real_rank"] = real_title /datum/datacore/proc/manifest_inject(mob/living/carbon/human/H) - if(H.mind && !player_is_antag(H.mind, only_offstation_roles = 1) && H.job != ASSISTANT_TITLE) + if(H.mind && !player_is_antag(H.mind, only_offstation_roles = 1) && H.job != JOB_ASSISTANT) var/assignment = GetAssignment(H) var/id = generate_record_id() @@ -309,7 +305,7 @@ var/global/ManifestJSON R.fields["ma_crim_d"] = "No major crime convictions." R.fields["notes"] = "No notes." R.fields["notes"] = "No notes." - data_core.security += R + GLOB.data_core.security += R return R @@ -330,7 +326,7 @@ var/global/ManifestJSON M.fields["cdi"] = "None" M.fields["cdi_d"] = "No diseases have been diagnosed at the moment." M.fields["notes"] = "No notes found." - data_core.medical += M + GLOB.data_core.medical += M return M @@ -339,13 +335,13 @@ var/global/ManifestJSON PDA_Manifest.Cut() /proc/find_general_record(field, value) - return find_record(field, value, data_core.general) + return find_record(field, value, GLOB.data_core.general) /proc/find_medical_record(field, value) - return find_record(field, value, data_core.medical) + return find_record(field, value, GLOB.data_core.medical) /proc/find_security_record(field, value) - return find_record(field, value, data_core.security) + return find_record(field, value, GLOB.data_core.security) /proc/find_record(field, value, list/L) for(var/datum/data/record/R in L) @@ -380,7 +376,7 @@ var/list/acting_rank_prefixes = list("acting", "temporary", "interim", "provisio var/civ[0] var/bot[0] var/misc[0] - for(var/datum/data/record/t in data_core.general) + for(var/datum/data/record/t in GLOB.data_core.general) var/name = sanitize(t.fields["name"]) var/rank = sanitize(t.fields["rank"]) var/real_rank = make_list_rank(t.fields["real_rank"]) diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 2cf308391b1..42083db6447 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -1,4 +1,3 @@ -GLOBAL_DATUM_INIT(revdata,/datum/getrev, new) /datum/getrev var/commit // git rev-parse HEAD diff --git a/code/datums/lobbyscreen/lobbyscreen.dm b/code/datums/lobbyscreen/lobbyscreen.dm index dd6cc5ded37..6630d9fada1 100644 --- a/code/datums/lobbyscreen/lobbyscreen.dm +++ b/code/datums/lobbyscreen/lobbyscreen.dm @@ -49,7 +49,7 @@ /datum/lobbyscreen/proc/play_music(client/C) if(!musicTrack) return - if(C.get_preference_value(/datum/client_preference/play_lobby_music) == GLOB.PREF_YES) + if(C?.get_preference_value(/datum/client_preference/play_lobby_music) == GLOB.PREF_YES) sound_to(C, sound(musicTrack, repeat = 0, wait = 0, volume = 65, channel = GLOB.lobby_sound_channel)) /datum/lobbyscreen/proc/stop_music(client/C) @@ -59,7 +59,7 @@ /datum/lobbyscreen/proc/show_titlescreen(client/C) - if(!C.mob) + if(!C?.mob) return winset(C, "mapwindow.lobbybrowser", "is-disabled=false;is-visible=true") C << browse(image_file, "file=titlescreen.png;display=0") @@ -69,7 +69,7 @@ /datum/lobbyscreen/proc/hide_titlescreen(client/C) - if(!C.mob) // Check if the client is still connected to something + if(!C?.mob) // Check if the client is still connected to something return // Hide title screen, allowing player to see the map winset(C, "mapwindow.lobbybrowser", "is-disabled=true;is-visible=false") diff --git a/code/datums/mind.dm b/code/datums/mind.dm index ff92e37afb2..273a6820201 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -338,7 +338,7 @@ //HUMAN /mob/living/carbon/human/mind_initialize() ..() - if(!mind.assigned_role) mind.assigned_role = ASSISTANT_TITLE //defualt + if(!mind.assigned_role) mind.assigned_role = JOB_ASSISTANT //defualt //slime /mob/living/carbon/slime/mind_initialize() diff --git a/code/datums/movement/movement.dm b/code/datums/movement/movement.dm index c6a3aa56f8e..d4b9f7efb65 100644 --- a/code/datums/movement/movement.dm +++ b/code/datums/movement/movement.dm @@ -1,8 +1,3 @@ -var/const/MOVEMENT_HANDLED = 0x0001 // If no further movement handling should occur after this -var/const/MOVEMENT_REMOVE = 0x0002 - -var/const/MOVEMENT_PROCEED = 0x0004 -var/const/MOVEMENT_STOP = 0x0008 #define INIT_MOVEMENT_HANDLERS \ if(LAZYLEN(movement_handlers) && ispath(movement_handlers[1])) { \ diff --git a/code/datums/objective/faction.dm b/code/datums/objective/faction.dm index 920d83c9ebc..6f27b34fb82 100644 --- a/code/datums/objective/faction.dm +++ b/code/datums/objective/faction.dm @@ -10,7 +10,7 @@ update_explanation() - all_objectives.Add(src) + GLOB.all_objectives.Add(src) /datum/objective/faction/Destroy() if(faction) diff --git a/code/datums/objective/objective.dm b/code/datums/objective/objective.dm index a54ca381957..63d36b75134 100644 --- a/code/datums/objective/objective.dm +++ b/code/datums/objective/objective.dm @@ -1,12 +1,12 @@ -var/global/list/all_objectives = list() -var/global/list/all_objectives_types = null +GLOBAL_LIST_EMPTY(all_objectives) +GLOBAL_LIST_INIT(all_objectives_types, null) /hook/startup/proc/init_objectives() - all_objectives_types = list() + GLOB.all_objectives_types = list() var/indent = length("[/datum/objective]/") for(var/path in subtypesof(/datum/objective)) var/id = copytext("[path]", indent+1) - all_objectives_types[id] = path + GLOB.all_objectives_types[id] = path return TRUE /datum/objective @@ -35,7 +35,7 @@ var/global/list/all_objectives_types = null else if (_target != ANTAG_SKIP_TARGET) target = _target update_explanation() - all_objectives.Add(src) + GLOB.all_objectives.Add(src) ..() /datum/objective/Destroy() @@ -49,7 +49,7 @@ var/global/list/all_objectives_types = null owner = null if(target) target = null - all_objectives.Remove(src) + GLOB.all_objectives.Remove(src) . = ..() /datum/objective/proc/update_completion() //This is for objectives requiring mid-round check, like harm or baptize diff --git a/code/datums/outfits/jobs/church.dm b/code/datums/outfits/jobs/church.dm index eb197ca24ac..a0c3f910c37 100644 --- a/code/datums/outfits/jobs/church.dm +++ b/code/datums/outfits/jobs/church.dm @@ -10,7 +10,7 @@ BACKPACK_OVERRIDE_NEOTHEOLOGY /decl/hierarchy/outfit/job/church/chaplain - name = OUTFIT_JOB_NAME("NeoTheology Preacher") + name = OUTFIT_JOB_NAME(JOB_NEOTHEOLOGY_PREACHER) l_ear = /obj/item/device/radio/headset/heads/preacher id_type = /obj/item/card/id/chaplain head = /obj/item/clothing/head/preacher @@ -21,7 +21,7 @@ backpack_contents = list(/obj/item/book/ritual/cruciform/priest = 1, /obj/item/clothing/accessory/cross = 1, /obj/item/gun/energy/nt_svalinn = 1, /obj/item/cell/small/neotheology/plasma = 2) /decl/hierarchy/outfit/job/church/acolyte - name = OUTFIT_JOB_NAME("NeoTheology Acolyte") + name = OUTFIT_JOB_NAME(JOB_NEOTHEOLOGY_ACOLYTE) uniform = /obj/item/clothing/under/rank/acolyte shoes = /obj/item/clothing/shoes/reinforced gloves = /obj/item/clothing/gloves/thick @@ -34,6 +34,6 @@ r_pocket = /obj/item/device/scanner/plant /decl/hierarchy/outfit/job/church/janitor - name = OUTFIT_JOB_NAME("Janitor") + name = OUTFIT_JOB_NAME(JOB_NEOTHEOLOGY_CUSTODIAN) uniform = /obj/item/clothing/under/rank/church shoes = /obj/item/clothing/shoes/jackboots/neotheology diff --git a/code/datums/outfits/jobs/civilian.dm b/code/datums/outfits/jobs/civilian.dm index c4894ccd6a6..065759432cc 100644 --- a/code/datums/outfits/jobs/civilian.dm +++ b/code/datums/outfits/jobs/civilian.dm @@ -1,5 +1,5 @@ /decl/hierarchy/outfit/job/assistant - name = OUTFIT_JOB_NAME(ASSISTANT_TITLE) + name = OUTFIT_JOB_NAME(JOB_ASSISTANT) suit = /obj/item/clothing/suit/storage/ass_jacket uniform = /obj/item/clothing/under/rank/assistant r_pocket = /obj/item/spacecash/bundle/vagabond @@ -32,7 +32,7 @@ pda_type = /obj/item/modular_computer/pda /decl/hierarchy/outfit/job/service/artist - name = OUTFIT_JOB_NAME("Club Artist") + name = OUTFIT_JOB_NAME(JOB_CLUB_ARTIST) uniform = /obj/item/clothing/under/rank/artist //suit = /obj/item/clothing/suit/artist shoes = /obj/item/clothing/shoes/artist_shoes diff --git a/code/datums/outfits/jobs/command.dm b/code/datums/outfits/jobs/command.dm index 6021958bdd2..581bf1d3ec6 100644 --- a/code/datums/outfits/jobs/command.dm +++ b/code/datums/outfits/jobs/command.dm @@ -1,5 +1,5 @@ /decl/hierarchy/outfit/job/captain - name = OUTFIT_JOB_NAME("Captain") + name = OUTFIT_JOB_NAME(JOB_CAPTAIN) head = /obj/item/clothing/head/caphat glasses = /obj/item/clothing/glasses/sunglasses/sechud uniform = /obj/item/clothing/under/rank/captain @@ -30,7 +30,7 @@ qdel(medal) /decl/hierarchy/outfit/job/hop - name = OUTFIT_JOB_NAME("First Officer") + name = OUTFIT_JOB_NAME(JOB_FIRST_OFFICER) head = /obj/item/clothing/head/caphat/hop glasses = /obj/item/clothing/glasses/sunglasses/sechud uniform = /obj/item/clothing/under/rank/first_officer diff --git a/code/datums/outfits/jobs/engineering.dm b/code/datums/outfits/jobs/engineering.dm index 35df0f5536e..fc3c61c3cad 100644 --- a/code/datums/outfits/jobs/engineering.dm +++ b/code/datums/outfits/jobs/engineering.dm @@ -13,7 +13,7 @@ BACKPACK_OVERRIDE_ENGINEERING /decl/hierarchy/outfit/job/engineering/exultant - name = OUTFIT_JOB_NAME("Technomancer Exultant") + name = OUTFIT_JOB_NAME(JOB_TECHNOMANCER_EXULTANT) head = /obj/item/clothing/head/hardhat/white uniform = /obj/item/clothing/under/rank/exultant suit = /obj/item/clothing/suit/storage/te_coat @@ -23,7 +23,7 @@ backpack_contents = list(/obj/item/gun/projectile/selfload/makarov = 1, /obj/item/ammo_magazine/pistol/rubber = 2) //TE got the excel gun as a war trophy same as the hatton /decl/hierarchy/outfit/job/engineering/engineer - name = OUTFIT_JOB_NAME("Technomancer") + name = OUTFIT_JOB_NAME(JOB_TECHNOMANCER) head = /obj/item/clothing/head/armor/helmet/technomancer uniform = /obj/item/clothing/under/rank/engineer suit = /obj/item/clothing/suit/storage/vest/insulated @@ -31,6 +31,6 @@ pda_type = /obj/item/modular_computer/pda/engineering /decl/hierarchy/outfit/job/engineering/engineer/void - name = OUTFIT_JOB_NAME("Technomancer - Voidsuit") + name = OUTFIT_JOB_NAME(JOB_TECHNOMANCER) + " - Voidsuit" mask = /obj/item/clothing/mask/breath suit = /obj/item/clothing/suit/space/void/engineering diff --git a/code/datums/outfits/jobs/guild.dm b/code/datums/outfits/jobs/guild.dm index 2a9f473acfd..a1df37e6e03 100644 --- a/code/datums/outfits/jobs/guild.dm +++ b/code/datums/outfits/jobs/guild.dm @@ -3,7 +3,7 @@ hierarchy_type = /decl/hierarchy/outfit/job/cargo /decl/hierarchy/outfit/job/cargo/merchant - name = OUTFIT_JOB_NAME("Guild Merchant") + name = OUTFIT_JOB_NAME(JOB_GUILD_MERCHANT) uniform = /obj/item/clothing/under/rank/cargotech shoes = /obj/item/clothing/shoes/color/brown glasses = /obj/item/clothing/glasses/sunglasses/big @@ -15,14 +15,14 @@ backpack_contents = list(/obj/item/gun/projectile/olivaw = 1, /obj/item/ammo_magazine/pistol/rubber = 2) /decl/hierarchy/outfit/job/cargo/cargo_tech - name = OUTFIT_JOB_NAME("Guild Technician") + name = OUTFIT_JOB_NAME(JOB_GUILD_TECHNICIAN) uniform = /obj/item/clothing/under/rank/cargotech suit = /obj/item/clothing/suit/storage/cargo_jacket belt = /obj/item/storage/belt/utility pda_type = /obj/item/modular_computer/pda/cargo /decl/hierarchy/outfit/job/cargo/mining - name = OUTFIT_JOB_NAME("Guild Miner") + name = OUTFIT_JOB_NAME(JOB_GUILD_MINER) uniform = /obj/item/clothing/under/rank/miner pda_type = /obj/item/modular_computer/pda/moebius/science belt = /obj/item/storage/belt/utility @@ -34,7 +34,7 @@ BACKPACK_OVERRIDE_ENGINEERING /decl/hierarchy/outfit/job/cargo/mining/void - name = OUTFIT_JOB_NAME("Guild Miner - Voidsuit") + name = OUTFIT_JOB_NAME(JOB_GUILD_MINER) + " - Voidsuit" mask = /obj/item/clothing/mask/breath suit = /obj/item/clothing/suit/space/void/mining diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm index be2cec6307f..40f1b9b8f20 100644 --- a/code/datums/outfits/jobs/medical.dm +++ b/code/datums/outfits/jobs/medical.dm @@ -12,7 +12,7 @@ BACKPACK_OVERRIDE_MEDICAL /decl/hierarchy/outfit/job/medical/cmo - name = OUTFIT_JOB_NAME("Moebius Biolab Officer") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_BIOLAB_OFFICER) l_ear =/obj/item/device/radio/headset/heads/cmo uniform = /obj/item/clothing/under/rank/moebius_biolab_officer suit = /obj/item/clothing/suit/storage/toggle/labcoat/cmo @@ -24,7 +24,7 @@ backpack_contents = list(/obj/item/gun/projectile/selfload/moebius = 1, /obj/item/ammo_magazine/pistol/rubber = 2) /decl/hierarchy/outfit/job/medical/doctor - name = OUTFIT_JOB_NAME("Moebius Doctor") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_DOCTOR) uniform = /obj/item/clothing/under/rank/medical suit = /obj/item/clothing/suit/storage/toggle/labcoat l_hand = /obj/item/storage/firstaid/adv @@ -32,7 +32,7 @@ belt = /obj/item/storage/belt/medical/ /decl/hierarchy/outfit/job/medical/chemist - name = OUTFIT_JOB_NAME("Moebius Chemist") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_CHEMIST) uniform = /obj/item/clothing/under/rank/chemist suit = /obj/item/clothing/suit/storage/toggle/labcoat/chemist id_type = /obj/item/card/id/chem @@ -46,7 +46,7 @@ backpack_overrides[/decl/backpack_outfit/satchel] = /obj/item/storage/backpack/satchel/orange/chemist; /decl/hierarchy/outfit/job/medical/paramedic - name = OUTFIT_JOB_NAME("Moebius Paramedic") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_PARAMEDIC) head = /obj/item/clothing/head/armor/faceshield/paramedic uniform = /obj/item/clothing/under/rank/paramedic suit = /obj/item/clothing/suit/armor/paramedic @@ -57,7 +57,7 @@ flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL /decl/hierarchy/outfit/job/medical/bioengineer - name = OUTFIT_JOB_NAME("Moebius Bio-Engineer") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_BIO_ENGINEER) uniform = /obj/item/clothing/under/rank/bioengineer suit = /obj/item/clothing/suit/storage/toggle/labcoat/bioengineer l_hand = /obj/item/storage/freezer/medical diff --git a/code/datums/outfits/jobs/misc.dm b/code/datums/outfits/jobs/misc.dm index dc0a9a0cb1e..4fb37af8ea6 100644 --- a/code/datums/outfits/jobs/misc.dm +++ b/code/datums/outfits/jobs/misc.dm @@ -3,9 +3,9 @@ hierarchy_type = /decl/hierarchy/outfit/job/silicon /decl/hierarchy/outfit/job/silicon/ai - name = OUTFIT_JOB_NAME("AI") + name = OUTFIT_JOB_NAME(JOB_AI) suit = /obj/item/clothing/suit/straight_jacket /decl/hierarchy/outfit/job/silicon/cyborg - name = OUTFIT_JOB_NAME("Robot") + name = OUTFIT_JOB_NAME(JOB_ROBOT) suit = /obj/item/clothing/suit/cardborg diff --git a/code/datums/outfits/jobs/science.dm b/code/datums/outfits/jobs/science.dm index 56711c3c5a0..0015a7d4ae8 100644 --- a/code/datums/outfits/jobs/science.dm +++ b/code/datums/outfits/jobs/science.dm @@ -12,7 +12,7 @@ BACKPACK_OVERRIDE_RESEARCH /decl/hierarchy/outfit/job/science/rd - name = OUTFIT_JOB_NAME("Moebius Expedition Overseer") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_EXPEDITION_OVERSEER) l_ear = /obj/item/device/radio/headset/heads/rd shoes = /obj/item/clothing/shoes/reinforced uniform = /obj/item/clothing/under/rank/expedition_overseer @@ -22,13 +22,13 @@ backpack_contents = list(/obj/item/oddity/secdocs = 1, /obj/item/gun/projectile/selfload/moebius = 1, /obj/item/ammo_magazine/pistol/rubber = 2) /decl/hierarchy/outfit/job/science/scientist - name = OUTFIT_JOB_NAME("Moebius Scientist") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_SCIENTIST) /decl/hierarchy/outfit/job/science/xenobiologist name = OUTFIT_JOB_NAME("Moebius Xenobiologist") /decl/hierarchy/outfit/job/science/roboticist - name = OUTFIT_JOB_NAME("Moebius Roboticist") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_ROBOTICIST) uniform = /obj/item/clothing/under/rank/roboticist suit = /obj/item/clothing/suit/storage/robotech_jacket belt = /obj/item/storage/belt/utility/roboticist @@ -41,7 +41,7 @@ backpack_overrides.Cut() /decl/hierarchy/outfit/job/science/psychiatrist - name = OUTFIT_JOB_NAME("Moebius Psychiatrist") + name = OUTFIT_JOB_NAME(JOB_MOEBIUS_PSYCHIATRIST) uniform = /obj/item/clothing/under/rank/psych belt = /obj/item/storage/belt/medical l_pocket = /obj/item/reagent_containers/glass/beaker/vial/psilocybin diff --git a/code/datums/outfits/jobs/security.dm b/code/datums/outfits/jobs/security.dm index bc8e2ba48db..6a022dce31f 100644 --- a/code/datums/outfits/jobs/security.dm +++ b/code/datums/outfits/jobs/security.dm @@ -12,7 +12,7 @@ BACKPACK_OVERRIDE_SECURITY /decl/hierarchy/outfit/job/security/ihc - name = OUTFIT_JOB_NAME("Ironhammer Commander") + name = OUTFIT_JOB_NAME(JOB_IRONHAMMER_COMMANDER) l_ear = /obj/item/device/radio/headset/heads/hos uniform = /obj/item/clothing/under/rank/ih_commander suit = /obj/item/clothing/suit/storage/greatcoat/ironhammer @@ -26,7 +26,7 @@ backpack_contents = list(/obj/item/handcuffs = 1,/obj/item/ammo_magazine/magnum/rubber = 1,/obj/item/device/lighting/toggleable/flashlight/seclite = 1, /obj/item/cell/small/high = 2, /obj/item/gun/energy/gun/martin = 1, /obj/item/flame/lighter/zippo/syndicate = 1, /obj/item/storage/fancy/cigarettes/lucky = 1, /obj/item/clothing/accessory/cross = 1) /decl/hierarchy/outfit/job/security/gunserg - name = OUTFIT_JOB_NAME("Ironhammer Gunnery Sergeant") + name = OUTFIT_JOB_NAME(JOB_IRONHAMMER_GUNNERY_SERGEANT) uniform = /obj/item/clothing/under/rank/warden suit = /obj/item/clothing/suit/armor/vest/ironhammer head = /obj/item/clothing/head/beret/sec/navy/warden @@ -36,7 +36,7 @@ backpack_contents = list(/obj/item/handcuffs = 1, /obj/item/device/lighting/toggleable/flashlight/seclite = 1, /obj/item/cell/small/high = 2, /obj/item/gun/energy/gun/martin = 1) /decl/hierarchy/outfit/job/security/inspector - name = OUTFIT_JOB_NAME("Ironhammer Inspector") + name = OUTFIT_JOB_NAME(JOB_IRONHAMMER_INSPECTOR) uniform = /obj/item/clothing/under/rank/inspector suit = /obj/item/clothing/suit/storage/detective/brown head = /obj/item/clothing/head/detective @@ -53,7 +53,7 @@ backpack_overrides.Cut() /decl/hierarchy/outfit/job/security/medspec - name = OUTFIT_JOB_NAME("Ironhammer Medical Specialist") + name = OUTFIT_JOB_NAME(JOB_IRONHAMMER_MEDICAL_SPECIALIST) l_pocket = /obj/item/device/flash id_type = /obj/item/card/id/medcpec uniform = /obj/item/clothing/under/rank/medspec @@ -65,7 +65,7 @@ backpack_contents = list(/obj/item/gun/energy/gun/martin = 1, /obj/item/cell/small/high = 1) /decl/hierarchy/outfit/job/security/ihoper - name = OUTFIT_JOB_NAME("Ironhammer Operative") + name = OUTFIT_JOB_NAME(JOB_IRONHAMMER_OPERATIVE) l_pocket = /obj/item/device/flash uniform = /obj/item/clothing/under/rank/security suit = /obj/item/clothing/suit/armor/vest/full/ironhammer diff --git a/code/datums/topic/admin.dm b/code/datums/topic/admin.dm index fbb1cfc6f9f..d592f94e047 100644 --- a/code/datums/topic/admin.dm +++ b/code/datums/topic/admin.dm @@ -281,7 +281,7 @@ var/dat = {"What storyteller do you wish to install?
"} for(var/mode in config.storytellers) dat += {"[config.storyteller_names[mode]]
"} - dat += {"Now: [master_storyteller]"} + dat += {"Now: [GLOB.master_storyteller]"} usr << browse(HTML_SKELETON(dat), "window=c_mode") @@ -290,12 +290,12 @@ require_perms = list(R_ADMIN|R_SERVER) /datum/admin_topic/c_mode2/Run(list/input) - master_storyteller = input["c_mode2"] - set_storyteller(master_storyteller) //This does the actual work - log_admin("[key_name(usr)] set the storyteller to [master_storyteller].") - message_admins(span_blue("[key_name_admin(usr)] set the storyteller to [master_storyteller]."), 1) + GLOB.master_storyteller = input["c_mode2"] + set_storyteller(GLOB.master_storyteller) //This does the actual work + log_admin("[key_name(usr)] set the storyteller to [GLOB.master_storyteller].") + message_admins(span_blue("[key_name_admin(usr)] set the storyteller to [GLOB.master_storyteller]."), 1) source.Game() // updates the main game menu - world.save_storyteller(master_storyteller) + world.save_storyteller(GLOB.master_storyteller) source.Topic(source, list("c_mode"=1)) /datum/admin_topic/forcespeech diff --git a/code/datums/topic/world.dm b/code/datums/topic/world.dm index 60dcaa487af..f9b12815240 100644 --- a/code/datums/topic/world.dm +++ b/code/datums/topic/world.dm @@ -97,10 +97,10 @@ .["version"] = GLOB.game_version .["respawn"] = CONFIG_GET(flag/abandon_allowed) .["enter"] = GLOB.enter_allowed - .["storyteller"] = master_storyteller + .["storyteller"] = GLOB.master_storyteller .["vote"] = CONFIG_GET(flag/allow_vote_mode) .["ai"] = CONFIG_GET(flag/allow_ai) - .["host"] = host ? host : null + .["host"] = GLOB.host ? GLOB.host : null .["round_id"] = GLOB.round_id .["players"] = length(GLOB.clients) .["shiptime"] = stationtime2text() @@ -182,7 +182,7 @@ "bot" = nonhuman_positions ) - for(var/datum/data/record/t in data_core.general) + for(var/datum/data/record/t in GLOB.data_core.general) var/name = t.fields["name"] var/rank = t.fields["rank"] var/real_rank = make_list_rank(t.fields["real_rank"]) diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm index 26f15047228..38ff3f6de3c 100644 --- a/code/datums/uplink/announcements.dm +++ b/code/datums/uplink/announcements.dm @@ -40,11 +40,11 @@ var/obj/item/card/id/I = user.GetIdCard() var/datum/data/record/random_general_record var/datum/data/record/random_medical_record - if(data_core.general.len) - random_general_record = pick(data_core.general) + if(length(GLOB.data_core.general)) + random_general_record = pick(GLOB.data_core.general) random_medical_record = find_medical_record("id", random_general_record.fields["id"]) - var/datum/data/record/general = data_core.CreateGeneralRecord(user) + var/datum/data/record/general = GLOB.data_core.CreateGeneralRecord(user) if(I) general.fields["age"] = I.age general.fields["rank"] = I.assignment @@ -65,8 +65,8 @@ general.fields["sex"] = capitalize(user.gender) general.fields["species"] = user.get_species() - var/datum/data/record/medical = data_core.CreateMedicalRecord(general.fields["name"], general.fields["id"]) - data_core.CreateSecurityRecord(general.fields["name"], general.fields["id"]) + var/datum/data/record/medical = GLOB.data_core.CreateMedicalRecord(general.fields["name"], general.fields["id"]) + GLOB.data_core.CreateSecurityRecord(general.fields["name"], general.fields["id"]) if(!random_general_record) general.fields["fingerprint"] = random_general_record.fields["fingerprint"] diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index ef39f2000ef..66bef780846 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -1,5 +1,17 @@ -// Wires for airlocks +#define AIRLOCK_WIRE_IDSCAN (1 << 0) +#define AIRLOCK_WIRE_MAIN_POWER1 (1 << 1) +#define AIRLOCK_WIRE_MAIN_POWER2 (1 << 2) +#define AIRLOCK_WIRE_DOOR_BOLTS (1 << 3) +#define AIRLOCK_WIRE_BACKUP_POWER1 (1 << 4) +#define AIRLOCK_WIRE_BACKUP_POWER2 (1 << 5) +#define AIRLOCK_WIRE_OPEN_DOOR (1 << 6) +#define AIRLOCK_WIRE_AI_CONTROL (1 << 7) +#define AIRLOCK_WIRE_ELECTRIFY (1 << 8) +#define AIRLOCK_WIRE_SAFETY (1 << 9) +#define AIRLOCK_WIRE_SPEED (1 << 10) +#define AIRLOCK_WIRE_LIGHT (1 << 11) +// Wires for airlocks /datum/wires/airlock/secure wire_count = 14 @@ -22,18 +34,7 @@ new /datum/wire_description(AIRLOCK_WIRE_LIGHT, "Bolt lights") ) -var/const/AIRLOCK_WIRE_IDSCAN = 1 -var/const/AIRLOCK_WIRE_MAIN_POWER1 = 2 -var/const/AIRLOCK_WIRE_MAIN_POWER2 = 4 -var/const/AIRLOCK_WIRE_DOOR_BOLTS = 8 -var/const/AIRLOCK_WIRE_BACKUP_POWER1 = 16 -var/const/AIRLOCK_WIRE_BACKUP_POWER2 = 32 -var/const/AIRLOCK_WIRE_OPEN_DOOR = 64 -var/const/AIRLOCK_WIRE_AI_CONTROL = 128 -var/const/AIRLOCK_WIRE_ELECTRIFY = 256 -var/const/AIRLOCK_WIRE_SAFETY = 512 -var/const/AIRLOCK_WIRE_SPEED = 1024 -var/const/AIRLOCK_WIRE_LIGHT = 2048 + /datum/wires/airlock/CanUse(mob/living/L) var/obj/machinery/door/airlock/A = holder @@ -186,3 +187,4 @@ var/const/AIRLOCK_WIRE_LIGHT = 2048 if(AIRLOCK_WIRE_LIGHT) A.lights = !A.lights A.update_icon() + diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index b3a4189aa8e..99b9e8476a8 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -1,3 +1,9 @@ +#define AALARM_WIRE_IDSCAN (1 << 0) +#define AALARM_WIRE_POWER (1 << 1) +#define AALARM_WIRE_SYPHON (1 << 2) +#define AALARM_WIRE_AI_CONTROL (1 << 3) +#define AALARM_WIRE_AALARM (1 << 4) + /datum/wires/alarm holder_type = /obj/machinery/alarm wire_count = 5 @@ -9,13 +15,6 @@ new /datum/wire_description(AALARM_WIRE_AALARM, "Alarm trigger") ) -var/const/AALARM_WIRE_IDSCAN = 1 -var/const/AALARM_WIRE_POWER = 2 -var/const/AALARM_WIRE_SYPHON = 4 -var/const/AALARM_WIRE_AI_CONTROL = 8 -var/const/AALARM_WIRE_AALARM = 16 - - /datum/wires/alarm/CanUse(mob/living/L) var/obj/machinery/alarm/A = holder if(A.wiresexposed && A.buildstage == 2) diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index fb4c280f6e1..363202cd516 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -1,7 +1,7 @@ -#define APC_WIRE_IDSCAN 1 -#define APC_WIRE_MAIN_POWER1 2 -#define APC_WIRE_MAIN_POWER2 4 -#define APC_WIRE_AI_CONTROL 8 +#define APC_WIRE_IDSCAN (1 << 0) +#define APC_WIRE_MAIN_POWER1 (1 << 1) +#define APC_WIRE_MAIN_POWER2 (1 << 2) +#define APC_WIRE_AI_CONTROL (1 << 3) /datum/wires/apc holder_type = /obj/machinery/power/apc @@ -76,3 +76,4 @@ else if (A.aidisabled == 1) A.aidisabled = 0 + diff --git a/code/datums/wires/autolathe.dm b/code/datums/wires/autolathe.dm index 2b53d33fed9..3f68666ebff 100644 --- a/code/datums/wires/autolathe.dm +++ b/code/datums/wires/autolathe.dm @@ -1,3 +1,7 @@ +#define AUTOLATHE_HACK_WIRE (1 << 0) +#define AUTOLATHE_SHOCK_WIRE (1 << 1) +#define AUTOLATHE_DISABLE_WIRE (1 << 2) + /datum/wires/autolathe holder_type = /obj/machinery/autolathe @@ -8,10 +12,6 @@ new /datum/wire_description(AUTOLATHE_DISABLE_WIRE, "Power") ) -var/const/AUTOLATHE_HACK_WIRE = 1 -var/const/AUTOLATHE_SHOCK_WIRE = 2 -var/const/AUTOLATHE_DISABLE_WIRE = 4 - /datum/wires/autolathe/GetInteractWindow(mob/living/user) var/obj/machinery/autolathe/A = holder . += ..(user) @@ -59,3 +59,7 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4 if(A && !IsIndexCut(index)) A.disabled = 0 Interact(usr) + +#undef AUTOLATHE_HACK_WIRE +#undef AUTOLATHE_SHOCK_WIRE +#undef AUTOLATHE_DISABLE_WIRE diff --git a/code/datums/wires/camera.dm b/code/datums/wires/camera.dm index 7764c95e63e..6ed5c6c8723 100644 --- a/code/datums/wires/camera.dm +++ b/code/datums/wires/camera.dm @@ -1,5 +1,11 @@ -// Wires for cameras. +#define CAMERA_WIRE_FOCUS (1 << 0) +#define CAMERA_WIRE_POWER (1 << 1) +#define CAMERA_WIRE_LIGHT (1 << 2) +#define CAMERA_WIRE_ALARM (1 << 3) +#define CAMERA_WIRE_NOTHING1 (1 << 4) +#define CAMERA_WIRE_NOTHING2 (1 << 5) +// Wires for cameras. /datum/wires/camera holder_type = /obj/machinery/camera wire_count = 6 @@ -24,12 +30,6 @@ var/obj/machinery/camera/C = holder return C.panel_open -var/const/CAMERA_WIRE_FOCUS = 1 -var/const/CAMERA_WIRE_POWER = 2 -var/const/CAMERA_WIRE_LIGHT = 4 -var/const/CAMERA_WIRE_ALARM = 8 -var/const/CAMERA_WIRE_NOTHING1 = 16 -var/const/CAMERA_WIRE_NOTHING2 = 32 /datum/wires/camera/UpdateCut(index, mended) var/obj/machinery/camera/C = holder @@ -74,3 +74,8 @@ var/const/CAMERA_WIRE_NOTHING2 = 32 return 1 else return 0 + +#undef CAMERA_WIRE_FOCUS +#undef CAMERA_WIRE_LIGHT +#undef CAMERA_WIRE_NOTHING1 +#undef CAMERA_WIRE_NOTHING2 diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index 0c01455fcb7..386e2e9b169 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -1,22 +1,22 @@ -var/const/WIRE_EXPLODE = 1 +#define EXPLOSIVE_WIRE_EXPLODE (1 << 0) + /datum/wires/explosive wire_count = 1 descriptions = list( - new /datum/wire_description(WIRE_EXPLODE, "Detonation"), + new /datum/wire_description(EXPLOSIVE_WIRE_EXPLODE, "Detonation"), ) - /datum/wires/explosive/proc/explode() return /datum/wires/explosive/UpdatePulsed(index) switch(index) - if(WIRE_EXPLODE) + if(EXPLOSIVE_WIRE_EXPLODE) explode() /datum/wires/explosive/UpdateCut(index, mended) switch(index) - if(WIRE_EXPLODE) + if(EXPLOSIVE_WIRE_EXPLODE) if(!mended) explode() @@ -32,3 +32,5 @@ var/const/WIRE_EXPLODE = 1 /datum/wires/explosive/c4/explode() var/obj/item/plastique/P = holder P.explode(get_turf(P)) + +#undef EXPLOSIVE_WIRE_EXPLODE diff --git a/code/datums/wires/jukebox.dm b/code/datums/wires/jukebox.dm index bfd8d741912..41f5ed43143 100644 --- a/code/datums/wires/jukebox.dm +++ b/code/datums/wires/jukebox.dm @@ -1,13 +1,13 @@ // Jukebox -#define WIRE_MAIN_POWER1 1 -#define WIRE_POWER 2 -#define WIRE_SPEEDUP 8 -#define WIRE_SPEEDDOWN 16 -#define WIRE_REVERSE 32 -#define WIRE_START 64 -#define WIRE_STOP 128 -#define WIRE_PREV 256 -#define WIRE_NEXT 512 +#define WIRE_MAIN_POWER1 (1 << 0) +#define WIRE_POWER (1 << 1) +#define WIRE_SPEEDUP (1 << 3) +#define WIRE_SPEEDDOWN (1 << 4) +#define WIRE_REVERSE (1 << 5) +#define WIRE_START (1 << 6) +#define WIRE_STOP (1 << 7) +#define WIRE_PREV (1 << 8) +#define WIRE_NEXT (1 << 9) /datum/wires/jukebox random = TRUE diff --git a/code/datums/wires/lrange_scanner.dm b/code/datums/wires/lrange_scanner.dm index bee1594dd83..bada83ce7e5 100644 --- a/code/datums/wires/lrange_scanner.dm +++ b/code/datums/wires/lrange_scanner.dm @@ -1,3 +1,8 @@ +#define SCANNER_WIRE_POWER (1 << 0) // Cut to disable power input into the scanner. Pulse does nothing. Mend to restore. +#define SCANNER_WIRE_CONTROL (1 << 2) // Cut to lock most scanner controls. Mend to unlock them. Pulse does nothing. +#define SCANNER_WIRE_AICONTROL (1 << 3) // Cut to disable AI control. Mend to restore. +#define SCANNER_WIRE_NOTHING (1 << 4) // A blank wire that doesn't have any specific function + /datum/wires/long_range_scanner holder_type = /obj/machinery/power/shipside/long_range_scanner/ wire_count = 5 @@ -8,11 +13,6 @@ new /datum/wire_description(SCANNER_WIRE_NOTHING, "Failsafe") ) -var/const/SCANNER_WIRE_POWER = 1 // Cut to disable power input into the scanner. Pulse does nothing. Mend to restore. -var/const/SCANNER_WIRE_CONTROL = 4 // Cut to lock most scanner controls. Mend to unlock them. Pulse does nothing. -var/const/SCANNER_WIRE_AICONTROL = 8 // Cut to disable AI control. Mend to restore. -var/const/SCANNER_WIRE_NOTHING = 16 // A blank wire that doesn't have any specific function - /datum/wires/long_range_scanner/CanUse() var/obj/machinery/power/shipside/long_range_scanner/S = holder if(S.panel_open) @@ -31,3 +31,8 @@ var/const/SCANNER_WIRE_NOTHING = 16 // A blank wire that doesn't have any speci /datum/wires/long_range_scanner/UpdatePulsed(index) return + +#undef SCANNER_WIRE_POWER +#undef SCANNER_WIRE_CONTROL +#undef SCANNER_WIRE_AICONTROL +#undef SCANNER_WIRE_NOTHING diff --git a/code/datums/wires/mulebot.dm b/code/datums/wires/mulebot.dm index 5768c939e10..cae030e2d0d 100644 --- a/code/datums/wires/mulebot.dm +++ b/code/datums/wires/mulebot.dm @@ -1,17 +1,19 @@ +#define MULE_WIRE_POWER1 (1 << 0) // power connections +#define MULE_WIRE_POWER2 (1 << 1) +#define MULE_WIRE_AVOIDANCE (1 << 2) // mob avoidance +#define MULE_WIRE_LOADCHECK (1 << 3) // load checking (non-crate) +#define MULE_WIRE_MOTOR1 (1 << 4) // motor wires +#define MULE_WIRE_MOTOR2 (1 << 5) +#define MULE_WIRE_REMOTE_RX (1 << 6) // remote recv functions +#define MULE_WIRE_REMOTE_TX (1 << 7) // remote trans status +#define MULE_WIRE_BEACON_RX (1 << 8) // beacon ping recv + + + /datum/wires/mulebot holder_type = /obj/machinery/bot/mulebot wire_count = 10 -var/const/WIRE_POWER1 = 1 // power connections -var/const/WIRE_POWER2 = 2 -var/const/WIRE_AVOIDANCE = 4 // mob avoidance -var/const/WIRE_LOADCHECK = 8 // load checking (non-crate) -var/const/WIRE_MOTOR1 = 16 // motor wires -var/const/WIRE_MOTOR2 = 32 // -var/const/WIRE_REMOTE_RX = 64 // remote recv functions -var/const/WIRE_REMOTE_TX = 128 // remote trans status -var/const/WIRE_BEACON_RX = 256 // beacon ping recv - /datum/wires/mulebot/CanUse(mob/living/L) var/obj/machinery/bot/mulebot/M = holder if(M.open) @@ -28,13 +30,13 @@ var/const/WIRE_BEACON_RX = 256 // beacon ping recv var/listeners = hearers(get_turf(src)) var/htmlicon = icon2html(holder, listeners) switch(index) - if(WIRE_POWER1, WIRE_POWER2) + if(MULE_WIRE_POWER1, MULE_WIRE_POWER2) holder.visible_message(span_notice("[htmlicon] The charge light flickers.")) - if(WIRE_AVOIDANCE) + if(MULE_WIRE_AVOIDANCE) holder.visible_message(span_notice("[htmlicon] The external warning lights flash briefly.")) - if(WIRE_LOADCHECK) + if(MULE_WIRE_LOADCHECK) holder.visible_message(span_notice("[htmlicon] The load platform clunks.")) - if(WIRE_MOTOR1, WIRE_MOTOR2) + if(MULE_WIRE_MOTOR1, MULE_WIRE_MOTOR2) holder.visible_message(span_notice("[htmlicon] The drive motor whines briefly.")) else holder.visible_message(span_notice("[htmlicon] You hear a radio crackle.")) @@ -42,25 +44,35 @@ var/const/WIRE_BEACON_RX = 256 // beacon ping recv // HELPER PROCS /datum/wires/mulebot/proc/Motor1() - return !(wires_status & WIRE_MOTOR1) + return !(wires_status & MULE_WIRE_MOTOR1) /datum/wires/mulebot/proc/Motor2() - return !(wires_status & WIRE_MOTOR2) + return !(wires_status & MULE_WIRE_MOTOR2) /datum/wires/mulebot/proc/HasPower() - return !(wires_status & WIRE_POWER1) && !(wires_status & WIRE_POWER2) + return !(wires_status & MULE_WIRE_POWER1) && !(wires_status & MULE_WIRE_POWER2) /datum/wires/mulebot/proc/LoadCheck() - return !(wires_status & WIRE_LOADCHECK) + return !(wires_status & MULE_WIRE_LOADCHECK) /datum/wires/mulebot/proc/MobAvoid() - return !(wires_status & WIRE_AVOIDANCE) + return !(wires_status & MULE_WIRE_AVOIDANCE) /datum/wires/mulebot/proc/RemoteTX() - return !(wires_status & WIRE_REMOTE_TX) + return !(wires_status & MULE_WIRE_REMOTE_TX) /datum/wires/mulebot/proc/RemoteRX() - return !(wires_status & WIRE_REMOTE_RX) + return !(wires_status & MULE_WIRE_REMOTE_RX) /datum/wires/mulebot/proc/BeaconRX() - return !(wires_status & WIRE_BEACON_RX) + return !(wires_status & MULE_WIRE_BEACON_RX) + +#undef MULE_WIRE_POWER1 +#undef MULE_WIRE_POWER2 +#undef MULE_WIRE_AVOIDANCE +#undef MULE_WIRE_LOADCHECK +#undef MULE_WIRE_MOTOR1 +#undef MULE_WIRE_MOTOR2 +#undef MULE_WIRE_REMOTE_RX +#undef MULE_WIRE_REMOTE_TX +#undef MULE_WIRE_BEACON_RX diff --git a/code/datums/wires/nuclearbomb.dm b/code/datums/wires/nuclearbomb.dm index d4764fb182a..1b853fa364f 100644 --- a/code/datums/wires/nuclearbomb.dm +++ b/code/datums/wires/nuclearbomb.dm @@ -1,3 +1,7 @@ +#define NUCLEARBOMB_WIRE_LIGHT (1 << 0) +#define NUCLEARBOMB_WIRE_TIMING (1 << 1) +#define NUCLEARBOMB_WIRE_SAFETY (1 << 2) + /datum/wires/nuclearbomb holder_type = /obj/machinery/nuclearbomb wire_count = 7 @@ -7,10 +11,6 @@ new /datum/wire_description(NUCLEARBOMB_WIRE_SAFETY, "Safety") ) -var/const/NUCLEARBOMB_WIRE_LIGHT = 1 -var/const/NUCLEARBOMB_WIRE_TIMING = 2 -var/const/NUCLEARBOMB_WIRE_SAFETY = 4 - /datum/wires/nuclearbomb/CanUse(mob/living/L) var/obj/machinery/nuclearbomb/N = holder return N.panel_open diff --git a/code/datums/wires/particle_accelerator.dm b/code/datums/wires/particle_accelerator.dm index fdde01cde5b..8274eec9d2a 100644 --- a/code/datums/wires/particle_accelerator.dm +++ b/code/datums/wires/particle_accelerator.dm @@ -1,3 +1,9 @@ +#define PARTICLE_TOGGLE_WIRE (1 << 0) // Toggles whether the PA is on or not. +#define PARTICLE_STRENGTH_WIRE (1 << 1) // Determines the strength of the PA. +#define PARTICLE_INTERFACE_WIRE (1 << 2) // Determines the interface showing up. +#define PARTICLE_LIMIT_POWER_WIRE (1 << 3) // Determines how strong the PA can be. +// #define PARTICLE_NOTHING_WIRE (1 << 4) // Blank wire + /datum/wires/particle_acc/control_box wire_count = 5 holder_type = /obj/machinery/particle_accelerator/control_box @@ -7,11 +13,7 @@ new /datum/wire_description(PARTICLE_INTERFACE_WIRE, "Physical access"), new /datum/wire_description(PARTICLE_LIMIT_POWER_WIRE, "Failsafe") ) -var/const/PARTICLE_TOGGLE_WIRE = 1 // Toggles whether the PA is on or not. -var/const/PARTICLE_STRENGTH_WIRE = 2 // Determines the strength of the PA. -var/const/PARTICLE_INTERFACE_WIRE = 4 // Determines the interface showing up. -var/const/PARTICLE_LIMIT_POWER_WIRE = 8 // Determines how strong the PA can be. -//var/const/PARTICLE_NOTHING_WIRE = 16 // Blank wire + /datum/wires/particle_acc/control_box/CanUse(mob/living/L) var/obj/machinery/particle_accelerator/control_box/C = holder diff --git a/code/datums/wires/radio.dm b/code/datums/wires/radio.dm index 966659b7870..4ec1f8945ce 100644 --- a/code/datums/wires/radio.dm +++ b/code/datums/wires/radio.dm @@ -1,16 +1,16 @@ +#define RADIO_WIRE_SIGNAL (1 << 0) +#define RADIO_WIRE_RECEIVE (1 << 1) +#define RADIO_WIRE_TRANSMIT (1 << 2) + /datum/wires/radio holder_type = /obj/item/device/radio wire_count = 3 descriptions = list( - new /datum/wire_description(WIRE_SIGNAL, "Power"), - new /datum/wire_description(WIRE_RECEIVE, "Reciever"), - new /datum/wire_description(WIRE_TRANSMIT, "Transmitter") + new /datum/wire_description(RADIO_WIRE_SIGNAL, "Power"), + new /datum/wire_description(RADIO_WIRE_RECEIVE, "Reciever"), + new /datum/wire_description(RADIO_WIRE_TRANSMIT, "Transmitter") ) -var/const/WIRE_SIGNAL = 1 -var/const/WIRE_RECEIVE = 2 -var/const/WIRE_TRANSMIT = 4 - /datum/wires/radio/CanUse(mob/living/L) var/obj/item/device/radio/R = holder if(R.b_stat) @@ -20,27 +20,28 @@ var/const/WIRE_TRANSMIT = 4 /datum/wires/radio/UpdatePulsed(index) var/obj/item/device/radio/R = holder switch(index) - if(WIRE_SIGNAL) - R.listening = !R.listening && !IsIndexCut(WIRE_RECEIVE) - R.broadcasting = R.listening && !IsIndexCut(WIRE_TRANSMIT) + if(RADIO_WIRE_SIGNAL) + R.listening = !R.listening && !IsIndexCut(RADIO_WIRE_RECEIVE) + R.broadcasting = R.listening && !IsIndexCut(RADIO_WIRE_TRANSMIT) - if(WIRE_RECEIVE) - R.listening = !R.listening && !IsIndexCut(WIRE_SIGNAL) + if(RADIO_WIRE_RECEIVE) + R.listening = !R.listening && !IsIndexCut(RADIO_WIRE_SIGNAL) - if(WIRE_TRANSMIT) - R.broadcasting = !R.broadcasting && !IsIndexCut(WIRE_SIGNAL) + if(RADIO_WIRE_TRANSMIT) + R.broadcasting = !R.broadcasting && !IsIndexCut(RADIO_WIRE_SIGNAL) SSnano.update_uis(holder) /datum/wires/radio/UpdateCut(index, mended) var/obj/item/device/radio/R = holder switch(index) - if(WIRE_SIGNAL) - R.listening = mended && !IsIndexCut(WIRE_RECEIVE) - R.broadcasting = mended && !IsIndexCut(WIRE_TRANSMIT) + if(RADIO_WIRE_SIGNAL) + R.listening = mended && !IsIndexCut(RADIO_WIRE_RECEIVE) + R.broadcasting = mended && !IsIndexCut(RADIO_WIRE_TRANSMIT) - if(WIRE_RECEIVE) - R.listening = mended && !IsIndexCut(WIRE_SIGNAL) + if(RADIO_WIRE_RECEIVE) + R.listening = mended && !IsIndexCut(RADIO_WIRE_SIGNAL) - if(WIRE_TRANSMIT) - R.broadcasting = mended && !IsIndexCut(WIRE_SIGNAL) + if(RADIO_WIRE_TRANSMIT) + R.broadcasting = mended && !IsIndexCut(RADIO_WIRE_SIGNAL) SSnano.update_uis(holder) + diff --git a/code/datums/wires/recycle_vendor.dm b/code/datums/wires/recycle_vendor.dm index 4319426bfc9..cb3169b6b51 100644 --- a/code/datums/wires/recycle_vendor.dm +++ b/code/datums/wires/recycle_vendor.dm @@ -1,11 +1,13 @@ // TODO: Refactor wires, this is horrible -- KIROV +// Oh kirov... 4 years later and it's still horrible. -- chen -#define WIRE_THROW 0x1 -#define WIRE_SPEAKER 0x2 -#define WIRE_SHOCK 0x4 -#define WIRE_ID_SCAN 0x8 +#define WIRE_THROW (1 << 0) +#define WIRE_SPEAKER (1 << 1) +#define WIRE_SHOCK (1 << 2) +#define WIRE_ID_SCAN (1 << 3) -var/const/VENDING_WIRE_SPEAKER = 2 +// ????? +#define VENDING_WIRE_SPEAKER 2 /datum/wires/recycle_vendor holder_type = /obj/machinery/amerecycler diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm index 9fddb4a8c24..73e838b6b1b 100644 --- a/code/datums/wires/robot.dm +++ b/code/datums/wires/robot.dm @@ -1,3 +1,9 @@ +#define BORG_WIRE_LAWCHECK (1 << 0) +#define BORG_WIRE_MAIN_POWER (1 << 1) // The power wires do nothing whyyyyyyyyyyyyy +#define BORG_WIRE_LOCKED_DOWN (1 << 3) +#define BORG_WIRE_AI_CONTROL (1 << 4) +#define BORG_WIRE_CAMERA (1 << 5) + /datum/wires/robot holder_type = /mob/living/silicon/robot wire_count = 5 @@ -9,12 +15,6 @@ new /datum/wire_description(BORG_WIRE_CAMERA, "Camera") ) -var/const/BORG_WIRE_LAWCHECK = 1 -var/const/BORG_WIRE_MAIN_POWER = 2 // The power wires do nothing whyyyyyyyyyyyyy -var/const/BORG_WIRE_LOCKED_DOWN = 4 -var/const/BORG_WIRE_AI_CONTROL = 8 -var/const/BORG_WIRE_CAMERA = 16 - /datum/wires/robot/GetInteractWindow(mob/living/user) . = ..(user) diff --git a/code/datums/wires/shield_generator.dm b/code/datums/wires/shield_generator.dm index 0cfe444d9a9..98643bfeb9c 100644 --- a/code/datums/wires/shield_generator.dm +++ b/code/datums/wires/shield_generator.dm @@ -1,3 +1,8 @@ +#define SHIELDGEN_WIRE_POWER (1 << 0) // Cut to disable power input into the generator. Pulse does nothing. Mend to restore. +#define SHIELDGEN_WIRE_CONTROL (1 << 1) // Cut to lock most shield controls. Mend to unlock them. Pulse does nothing. +#define SHIELDGEN_WIRE_AICONTROL (1 << 3) // Cut to disable AI control. Mend to restore. +#define SHIELDGEN_WIRE_NOTHING (1 << 4) // A blank wire that doesn't have any specific function + /datum/wires/shield_generator holder_type = /obj/machinery/power/shipside/shield_generator/ wire_count = 5 @@ -7,10 +12,6 @@ new /datum/wire_description(SHIELDGEN_WIRE_AICONTROL, "Remote access") ) -var/const/SHIELDGEN_WIRE_POWER = 1 // Cut to disable power input into the generator. Pulse does nothing. Mend to restore. -var/const/SHIELDGEN_WIRE_CONTROL = 4 // Cut to lock most shield controls. Mend to unlock them. Pulse does nothing. -var/const/SHIELDGEN_WIRE_AICONTROL = 8 // Cut to disable AI control. Mend to restore. -var/const/SHIELDGEN_WIRE_NOTHING = 16 // A blank wire that doesn't have any specific function /datum/wires/shield_generator/CanUse() var/obj/machinery/power/shipside/shield_generator/S = holder diff --git a/code/datums/wires/smartfridge.dm b/code/datums/wires/smartfridge.dm index 8e5c1e7668f..c37d854df28 100644 --- a/code/datums/wires/smartfridge.dm +++ b/code/datums/wires/smartfridge.dm @@ -1,3 +1,7 @@ +#define SMARTFRIDGE_WIRE_ELECTRIFY (1 << 0) +#define SMARTFRIDGE_WIRE_THROW (1 << 1) +#define SMARTFRIDGE_WIRE_IDSCAN (1 << 3) + /datum/wires/smartfridge holder_type = /obj/machinery/smartfridge wire_count = 3 @@ -10,10 +14,6 @@ /datum/wires/smartfridge/secure wire_count = 4 -var/const/SMARTFRIDGE_WIRE_ELECTRIFY = 1 -var/const/SMARTFRIDGE_WIRE_THROW = 2 -var/const/SMARTFRIDGE_WIRE_IDSCAN = 4 - /datum/wires/smartfridge/CanUse(mob/living/L) var/obj/machinery/smartfridge/S = holder if(!issilicon(L)) diff --git a/code/datums/wires/smes.dm b/code/datums/wires/smes.dm index 7a02205c794..286e27a39e7 100644 --- a/code/datums/wires/smes.dm +++ b/code/datums/wires/smes.dm @@ -1,3 +1,9 @@ +#define SMES_WIRE_RCON (1 << 0) // Remote control (AI and consoles), cut to disable +#define SMES_WIRE_INPUT (1 << 1) // Input wire, cut to disable input, pulse to disable for 60s +#define SMES_WIRE_OUTPUT (1 << 3) // Output wire, cut to disable output, pulse to disable for 60s +#define SMES_WIRE_GROUNDING (1 << 4) // Cut to quickly discharge causing sparks, pulse to only create few sparks +#define SMES_WIRE_FAILSAFES (1 << 5) // Cut to disable failsafes, mend to reenable + /datum/wires/smes holder_type = /obj/machinery/power/smes/buildable wire_count = 5 @@ -9,12 +15,6 @@ new /datum/wire_description(SMES_WIRE_FAILSAFES, "Failsafe") ) -var/const/SMES_WIRE_RCON = 1 // Remote control (AI and consoles), cut to disable -var/const/SMES_WIRE_INPUT = 2 // Input wire, cut to disable input, pulse to disable for 60s -var/const/SMES_WIRE_OUTPUT = 4 // Output wire, cut to disable output, pulse to disable for 60s -var/const/SMES_WIRE_GROUNDING = 8 // Cut to quickly discharge causing sparks, pulse to only create few sparks -var/const/SMES_WIRE_FAILSAFES = 16 // Cut to disable failsafes, mend to reenable - /datum/wires/smes/CanUse(mob/living/L) var/obj/machinery/power/smes/buildable/S = holder diff --git a/code/datums/wires/suit_storage_unit.dm b/code/datums/wires/suit_storage_unit.dm index e402d9cf4ed..5656c301fed 100644 --- a/code/datums/wires/suit_storage_unit.dm +++ b/code/datums/wires/suit_storage_unit.dm @@ -1,3 +1,7 @@ +#define SUIT_STORAGE_WIRE_ELECTRIFY (1 << 0) +#define SUIT_STORAGE_WIRE_SAFETY (1 << 1) +#define SUIT_STORAGE_WIRE_LOCKED (1 << 3) + /datum/wires/suit_storage_unit holder_type = /obj/machinery/suit_storage_unit wire_count = 3 @@ -7,10 +11,6 @@ new /datum/wire_description(SUIT_STORAGE_WIRE_LOCKED, "ID scanner") ) -var/const/SUIT_STORAGE_WIRE_ELECTRIFY = 1 -var/const/SUIT_STORAGE_WIRE_SAFETY = 2 -var/const/SUIT_STORAGE_WIRE_LOCKED = 4 - /datum/wires/suit_storage_unit/CanUse(mob/living/L) var/obj/machinery/suit_storage_unit/S = holder if(!issilicon(L)) diff --git a/code/datums/wires/taperecorder.dm b/code/datums/wires/taperecorder.dm index 0d93ba586fd..474e7e5da4d 100644 --- a/code/datums/wires/taperecorder.dm +++ b/code/datums/wires/taperecorder.dm @@ -1,3 +1,8 @@ +#define TAPE_WIRE_STOP (1 << 0) +#define TAPE_WIRE_PLAY (1 << 1) +#define TAPE_WIRE_RECORD (1 << 3) +#define TAPE_WIRE_WIPE (1 << 4) + /datum/wires/taperecorder holder_type = /obj/item/device/taperecorder wire_count = 4 @@ -8,11 +13,6 @@ new /datum/wire_description(TAPE_WIRE_WIPE, "Wipe"), ) -var/const/TAPE_WIRE_STOP = 1 -var/const/TAPE_WIRE_PLAY = 2 -var/const/TAPE_WIRE_RECORD = 4 -var/const/TAPE_WIRE_WIPE = 8 - /datum/wires/taperecorder/UpdatePulsed(index) var/obj/item/device/taperecorder/T = holder switch(index) diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index 7002135c8a3..a921112955b 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -14,10 +14,6 @@ new /datum/wire_description(VENDING_WIRE_IDSCAN, "ID scanner"), ) -var/const/VENDING_WIRE_THROW = 1 -var/const/VENDING_WIRE_CONTRABAND = 2 -var/const/VENDING_WIRE_ELECTRIFY = 4 -var/const/VENDING_WIRE_IDSCAN = 8 /datum/wires/vending/CanUse(mob/living/L) var/obj/machinery/vending/V = holder @@ -87,13 +83,7 @@ var/const/VENDING_WIRE_IDSCAN = 8 Mend signal */ -var/const/VENDING_INT_WIRE_THROW = 1 -var/const/VENDING_INT_WIRE_ELECTRIFY = 2 -var/const/VENDING_INT_WIRE_IDSCAN = 4 -var/const/VENDING_INT_WIRE_SIGNAL = 8 -var/const/VENDING_INT_WIRE_CONTRABAND = 16 -var/const/VENDING_INT_WIRE_GROUND = 32 -var/const/VENDING_INT_WIRE_POWER = 64 + /datum/wires/vending/intermediate wire_count = 7 diff --git a/code/game/antagonist/antagonist_panel.dm b/code/game/antagonist/antagonist_panel.dm index aa78894eb45..d066d91c911 100644 --- a/code/game/antagonist/antagonist_panel.dm +++ b/code/game/antagonist/antagonist_panel.dm @@ -95,10 +95,10 @@ show_objectives() else if(href_list["obj_add"]) - var/new_obj_type = input("Select objective type:", "Objective type") as null|anything in all_objectives_types + var/new_obj_type = input("Select objective type:", "Objective type") as null|anything in GLOB.all_objectives_types if(!new_obj_type) return - var/new_type = all_objectives_types[new_obj_type] + var/new_type = GLOB.all_objectives_types[new_obj_type] new new_type(src) else if(href_list["obj_delete"]) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 36309a8267d..2be3810de53 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -130,9 +130,9 @@ /area/proc/atmosalert(danger_level, alarm_source) if (danger_level == 0) - atmosphere_alarm.clearAlarm(src, alarm_source) + GLOB.atmosphere_alarm.clearAlarm(src, alarm_source) else - atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) + GLOB.atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) //Check all the alarms before lowering atmosalm. Raising is perfectly fine. for (var/obj/machinery/alarm/AA in src) @@ -387,7 +387,7 @@ var/list/mob/living/forced_ambiance_list = new gravity_blocker = null if (GLOB.active_gravity_generator) - has_gravity = gravity_is_on + has_gravity = GLOB.gravity_is_on if (grav_before != has_gravity) gravity_changed() diff --git a/code/game/gamemodes/endgame/endgame.dm b/code/game/gamemodes/endgame/endgame.dm index bd32878e101..4bedec32b35 100644 --- a/code/game/gamemodes/endgame/endgame.dm +++ b/code/game/gamemodes/endgame/endgame.dm @@ -65,7 +65,7 @@ /proc/SetUniversalState(newstate,on_exit=1, on_enter=1) if(on_exit) - universe.OnExit() - universe = new newstate + GLOB.universe.OnExit() + GLOB.universe = new newstate if(on_enter) - universe.OnEnter() + GLOB.universe.OnEnter() diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 304c9bbbb3a..80c5dd0ad02 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -1,5 +1,5 @@ /datum/job/assistant - title = ASSISTANT_TITLE + title = JOB_ASSISTANT flag = ASSISTANT department = DEPARTMENT_CIVILIAN department_flag = CIVILIAN @@ -40,7 +40,7 @@ As an vagabond, you should strive to help out anyone you can. Or at least, anyon loyalties = "Your loyalty is yours to decide" /obj/landmark/join/start/assistant - name = ASSISTANT_TITLE + name = JOB_ASSISTANT icon_state = "player-grey" join_tag = /datum/job/assistant diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index bf0b6a54551..80b2e01f827 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -131,7 +131,7 @@ return //give them an account in the station database - if(H.job == ASSISTANT_TITLE) // Vagabound do not get an account. + if(H.job == JOB_ASSISTANT) // Vagabound do not get an account. H.mind.store_memory("As a freelancer you do not have a bank account.") return var/species_modifier = (H.species ? economic_species_modifier[H.species.type] : 2) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 46dbb13288f..121c056db15 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -21,7 +21,7 @@ /datum/job/ai/is_position_available() return (empty_playable_ai_cores.len != 0) -/obj/landmark/join/start/AI +/obj/landmark/join/start/ai icon_state = "player-grey" name = "AI" join_tag = /datum/job/ai diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 1a49e1c11b3..209a0901f98 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -6,60 +6,6 @@ GLOBAL_LIST_INIT(department_guild, list(DEPARTMENT_GUILD)) GLOBAL_LIST_INIT(department_church, list(DEPARTMENT_CHURCH)) GLOBAL_LIST_INIT(department_civilian, list(DEPARTMENT_CIVILIAN)) -var/const/ENGINEERING =(1<<0) -var/const/IRONHAMMER =(1<<1) -var/const/MEDICAL =(1<<2) -var/const/SCIENCE =(1<<3) -var/const/CIVILIAN =(1<<4) -var/const/COMMAND =(1<<5) -var/const/MISC =(1<<6) -var/const/SERVICE =(1<<7) -var/const/GUILD =(1<<8) -var/const/CHURCH =(1<<9) - -var/const/ENGSEC =(1<<0) - -var/const/CAPTAIN =(1<<0) -var/const/IHC =(1<<1) -var/const/GUNSERG =(1<<2) -var/const/INSPECTOR =(1<<3) -var/const/IHOPER =(1<<4) -var/const/MEDSPEC =(1<<5) -var/const/EXULTANT =(1<<6) -var/const/TECHNOMANCER =(1<<7) -var/const/AI =(1<<8) -var/const/CYBORG =(1<<9) - - -var/const/MEDSCI =(1<<1) - -var/const/MEO =(1<<0) -var/const/SCIENTIST =(1<<1) -var/const/CHEMIST =(1<<2) -var/const/MBO =(1<<3) -var/const/DOCTOR =(1<<4) -var/const/PSYCHIATRIST =(1<<5) -var/const/ROBOTICIST =(1<<6) -var/const/PARAMEDIC =(1<<7) -var/const/BIOENGINEER =(1<<8) - - -var/const/FIRSTOFFICER =(1<<0) -var/const/CLUBMANAGER =(1<<1) -var/const/CLUBWORKER =(1<<2) -var/const/MERCHANT =(1<<3) -var/const/GUILDTECH =(1<<4) -var/const/MINER =(1<<5) -var/const/ARTIST =(1<<6) -var/const/ASSISTANT =(1<<7) - - -var/const/CHAPLAIN =(1<<0) -var/const/ACOLYTE =(1<<1) -var/const/JANITOR =(1<<2) -var/const/BOTANIST =(1<<3) - - var/list/assistant_occupations = list() @@ -94,18 +40,18 @@ var/list/nonhuman_positions = list(JOBS_NONHUMAN) // list of jobs that can be an intern var/list/intern_possible_jobs = list( - "Moebius Scientist", - "Moebius Roboticist", - "Moebius Paramedic", - "Moebius Psychiatrist", - "Ironhammer Operative", - "Technomancer", - "Club Worker", - "Club Artist", - "Guild Technician", - "Guild Miner", - "NeoTheology Custodian", - ASSISTANT_TITLE, + JOB_MOEBIUS_SCIENTIST, + JOB_MOEBIUS_ROBOTICIST, + JOB_MOEBIUS_PARAMEDIC, + JOB_MOEBIUS_PSYCHIATRIST, + JOB_IRONHAMMER_OPERATIVE, + JOB_TECHNOMANCER, + JOB_CLUB_WORKER, + JOB_CLUB_ARTIST, + JOB_GUILD_TECHNICIAN, + JOB_GUILD_MINER, + JOB_NEOTHEOLOGY_CUSTODIAN, + JOB_ASSISTANT, ) /proc/guest_jobbans(var/job) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 447eb5b2d39..3a13bceeb63 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -511,7 +511,7 @@ data["total_danger"] = danger_level data["environment"] = environment_data data["atmos_alarm"] = alarm_area.atmosalm - data["fire_alarm"] = alarm_area.fire != null + data["GLOB.fire_alarm"] = alarm_area.fire != null data["target_temperature"] = "[target_temperature - T0C]C" /obj/machinery/alarm/proc/populate_controls(list/data) @@ -1111,7 +1111,7 @@ FIRE ALARM ui = SSnano.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) - ui = new(user, src, ui_key, "fire_alarm.tmpl", "Fire Alarm", 240, 330, state = state) + ui = new(user, src, ui_key, "GLOB.fire_alarm.tmpl", "Fire Alarm", 240, 330, state = state) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -1151,7 +1151,7 @@ FIRE ALARM return var/area/area = get_area(src) for(var/obj/machinery/firealarm/FA in area) - fire_alarm.clearAlarm(loc, FA) + GLOB.fire_alarm.clearAlarm(loc, FA) if(iscarbon(usr)) visible_message("[usr] resets \the [src].", "You have reset \the [src].") else @@ -1164,7 +1164,7 @@ FIRE ALARM return var/area/area = get_area(src) for(var/obj/machinery/firealarm/FA in area) - fire_alarm.triggerAlarm(loc, FA, duration) + GLOB.fire_alarm.triggerAlarm(loc, FA, duration) if(iscarbon(usr)) visible_message(span_warning("[usr] pulled \the [src]'s pull station!"), span_warning("You have pulled \the [src]'s pull station!")) else diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 67c32fe7d64..10b0bb64c44 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -73,7 +73,7 @@ wires = null if(alarm_on) alarm_on = 0 - camera_alarm.clearAlarm(loc, src) + GLOB.camera_alarm.clearAlarm(loc, src) return ..() /obj/machinery/camera/Process() @@ -346,14 +346,14 @@ /obj/machinery/camera/proc/triggerCameraAlarm(duration = 0) alarm_on = 1 - camera_alarm.triggerAlarm(loc, src, duration) + GLOB.camera_alarm.triggerAlarm(loc, src, duration) /obj/machinery/camera/proc/cancelCameraAlarm() if(wires.IsIndexCut(CAMERA_WIRE_ALARM)) return alarm_on = 0 - camera_alarm.clearAlarm(loc, src) + GLOB.camera_alarm.clearAlarm(loc, src) //if false, then the camera is listed as DEACTIVATED and cannot be used /obj/machinery/camera/proc/can_use() diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 4f4194ed758..999979a4a7d 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -48,7 +48,7 @@ if(!status || (stat & NOPOWER)) return if(detect_time == -1) - motion_alarm.clearAlarm(loc, src) + GLOB.motion_alarm.clearAlarm(loc, src) detect_time = 0 return TRUE @@ -57,7 +57,7 @@ return if(!detect_time) return - motion_alarm.triggerAlarm(loc, src) + GLOB.motion_alarm.triggerAlarm(loc, src) detect_time = -1 return TRUE diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 7a4f21e1e14..b0c80f18923 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -14,10 +14,10 @@ var/global/list/minor_air_alarms = list() /obj/machinery/computer/atmos_alert/Initialize() . = ..() - atmosphere_alarm.register_alarm(src, TYPE_PROC_REF(/atom, update_icon)) + GLOB.atmosphere_alarm.register_alarm(src, TYPE_PROC_REF(/atom, update_icon)) /obj/machinery/computer/atmos_alert/Destroy() - atmosphere_alarm.unregister_alarm(src) + GLOB.atmosphere_alarm.unregister_alarm(src) . = ..() /obj/machinery/computer/atmos_alert/attack_hand(mob/user) @@ -30,10 +30,10 @@ var/global/list/minor_air_alarms = list() var/major_alarms[0] var/minor_alarms[0] - for(var/datum/alarm/alarm in atmosphere_alarm.major_alarms(get_z(src))) + for(var/datum/alarm/alarm in GLOB.atmosphere_alarm.major_alarms(get_z(src))) major_alarms[++major_alarms.len] = list("name" = sanitize(alarm.alarm_name()), "ref" = "\ref[alarm]") - for(var/datum/alarm/alarm in atmosphere_alarm.minor_alarms(get_z(src))) + for(var/datum/alarm/alarm in GLOB.atmosphere_alarm.minor_alarms(get_z(src))) minor_alarms[++minor_alarms.len] = list("name" = sanitize(alarm.alarm_name()), "ref" = "\ref[alarm]") data["priority_alarms"] = major_alarms @@ -48,9 +48,9 @@ var/global/list/minor_air_alarms = list() /obj/machinery/computer/atmos_alert/update_icon() if(!(stat & (NOPOWER|BROKEN))) - if(atmosphere_alarm.has_major_alarms(get_z(src))) + if(GLOB.atmosphere_alarm.has_major_alarms(get_z(src))) icon_screen = "alert:2" - else if (atmosphere_alarm.has_minor_alarms(get_z(src))) + else if (GLOB.atmosphere_alarm.has_minor_alarms(get_z(src))) icon_screen = "alert:1" else icon_screen = initial(icon_screen) @@ -61,7 +61,7 @@ var/global/list/minor_air_alarms = list() return 1 if(href_list["clear_alarm"]) - var/datum/alarm/alarm = locate(href_list["clear_alarm"]) in atmosphere_alarm.alarms + var/datum/alarm/alarm = locate(href_list["clear_alarm"]) in GLOB.atmosphere_alarm.alarms if(alarm) for(var/datum/alarm_source/alarm_source in alarm.sources) var/obj/machinery/alarm/air_alarm = alarm_source.source diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 8e7ee504c34..6232f6c964b 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -67,8 +67,8 @@ "} if(2) dat += "Record List:
" - if(!isnull(data_core.general)) - for(var/datum/data/record/R in sortRecord(data_core.general)) + if(!isnull(GLOB.data_core.general)) + for(var/datum/data/record/R in sortRecord(GLOB.data_core.general)) dat += text("[]: []
", src, R, R.fields["id"], R.fields["name"]) //Foreach goto(132) dat += text("
Back", src) @@ -80,7 +80,7 @@ user << browse_rsc(front, "front.png") user << browse_rsc(side, "side.png") dat += "
Medical Record

" - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) + if ((istype(src.active1, /datum/data/record) && GLOB.data_core.general.Find(src.active1))) dat += "
Name: [active1.fields["name"]] \ ID: [active1.fields["id"]]
\n \ Sex: [active1.fields["sex"]]
\n \ @@ -91,7 +91,7 @@ Photo:
" else dat += "General Record Lost!
" - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) + if ((istype(src.active2, /datum/data/record) && GLOB.data_core.medical.Find(src.active2))) dat += text("
\n
Medical Data

\nBlood Type: []
\nDNA: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", src, src.active2.fields["b_type"], src, src.active2.fields["b_dna"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, decode(src.active2.fields["notes"])) var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) @@ -134,10 +134,10 @@ if(..()) return 1 - if (!( data_core.general.Find(src.active1) )) + if (!( GLOB.data_core.general.Find(src.active1) )) src.active1 = null - if (!( data_core.medical.Find(src.active2) )) + if (!( GLOB.data_core.medical.Find(src.active2) )) src.active2 = null if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (issilicon(usr))) @@ -214,7 +214,7 @@ src.temp = text("Are you sure you wish to delete all records?
\n\tYes
\n\tNo
", src, src) if (href_list["del_all2"]) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) //R = null qdel(R) //Foreach goto(494) @@ -375,10 +375,10 @@ if (href_list["d_rec"]) var/datum/data/record/R = locate(href_list["d_rec"]) var/datum/data/record/M = locate(href_list["d_rec"]) - if (!( data_core.general.Find(R) )) + if (!( GLOB.data_core.general.Find(R) )) src.temp = "Record Not Found!" return - for(var/datum/data/record/E in data_core.medical) + for(var/datum/data/record/E in GLOB.data_core.medical) if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) M = E else @@ -404,7 +404,7 @@ R.fields["cdi"] = "None" R.fields["cdi_d"] = "No diseases have been diagnosed at the moment." R.fields["notes"] = "No notes." - data_core.medical += R + GLOB.data_core.medical += R src.active2 = R src.screen = 4 @@ -431,7 +431,7 @@ src.active1 = null src.active2 = null t1 = lowertext(t1) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"]))) src.active2 = R else @@ -439,7 +439,7 @@ if (!( src.active2 )) src.temp = text("Could not locate record [].", t1) else - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if ((E.fields["name"] == src.active2.fields["name"] || E.fields["id"] == src.active2.fields["id"])) src.active1 = E else @@ -451,9 +451,9 @@ src.printing = 1 var/datum/data/record/record1 var/datum/data/record/record2 - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) + if ((istype(src.active1, /datum/data/record) && GLOB.data_core.general.Find(src.active1))) record1 = active1 - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) + if ((istype(src.active2, /datum/data/record) && GLOB.data_core.medical.Find(src.active2))) record2 = active2 sleep(50) var/obj/item/paper/P = new /obj/item/paper( src.loc ) @@ -484,7 +484,7 @@ ..(severity) return - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if(prob(10/severity)) switch(rand(1,6)) if(1) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 5bdd9b3e52a..781b1cd3d66 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -84,10 +84,10 @@ Fingerprints Criminal Status "} - if(!isnull(data_core.general)) - for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order)) + if(!isnull(GLOB.data_core.general)) + for(var/datum/data/record/R in sortRecord(GLOB.data_core.general, sortBy, order)) var/crimstat = "" - for(var/datum/data/record/E in data_core.security) + for(var/datum/data/record/E in GLOB.data_core.security) if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) crimstat = E.fields["criminal"] var/background @@ -118,7 +118,7 @@ dat += "
Delete All Records

Back" if(3) dat += "
Security Record

" - if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) + if ((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1))) user << browse_rsc(active1.fields["photo_front"], "front.png") user << browse_rsc(active1.fields["photo_side"], "side.png") dat += {" @@ -140,7 +140,7 @@ "} else dat += "General Record Lost!
" - if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) + if ((istype(active2, /datum/data/record) && GLOB.data_core.security.Find(active2))) dat += "
\n
Security Data

\nCriminal Status: \ [active2.fields["criminal"]]
\n
\n \ Minor Crimes: [active2.fields["mi_crim"]]
\n \ @@ -219,9 +219,9 @@ What a mess.*/ /obj/machinery/computer/secure_data/Topic(href, href_list) if(..()) return 1 - if (!( data_core.general.Find(active1) )) + if (!( GLOB.data_core.general.Find(active1) )) active1 = null - if (!( data_core.security.Find(active2) )) + if (!( GLOB.data_core.security.Find(active2) )) active2 = null if ((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (issilicon(usr))) usr.set_machine(src) @@ -297,7 +297,7 @@ What a mess.*/ var/list/components = splittext(t1, " ") if(components.len > 5) return //Lets not let them search too greedily. - for(var/datum/data/record/R in data_core.general) + for(var/datum/data/record/R in GLOB.data_core.general) var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + " " + R.fields["rank"] for(var/i = 1, i<=components.len, i++) if(findtext(temptext,components[i])) @@ -305,7 +305,7 @@ What a mess.*/ prelist[1] = R Perp += prelist for(var/i = 1, i<=Perp.len, i+=2) - for(var/datum/data/record/E in data_core.security) + for(var/datum/data/record/E in GLOB.data_core.security) var/datum/data/record/R = Perp[i] if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) Perp[i+1] = E @@ -320,10 +320,10 @@ What a mess.*/ if ("Browse Record") var/datum/data/record/R = locate(href_list["d_rec"]) var/S = locate(href_list["d_rec"]) - if (!( data_core.general.Find(R) )) + if (!( GLOB.data_core.general.Find(R) )) temp = "Record Not Found!" else - for(var/datum/data/record/E in data_core.security) + for(var/datum/data/record/E in GLOB.data_core.security) if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) S = E active1 = R @@ -337,13 +337,13 @@ What a mess.*/ active1 = null active2 = null t1 = lowertext(t1) - for(var/datum/data/record/R in data_core.general) + for(var/datum/data/record/R in GLOB.data_core.general) if (lowertext(R.fields["fingerprint"]) == t1) active1 = R if (!( active1 )) temp = text("Could not locate record [].", t1) else - for(var/datum/data/record/E in data_core.security) + for(var/datum/data/record/E in GLOB.data_core.security) if ((E.fields["name"] == active1.fields["name"] || E.fields["id"] == active1.fields["id"])) active2 = E screen = 3 */ @@ -353,9 +353,9 @@ What a mess.*/ printing = 1 var/datum/data/record/record1 = null var/datum/data/record/record2 = null - if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) + if ((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1))) record1 = active1 - if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) + if ((istype(active2, /datum/data/record) && GLOB.data_core.security.Find(active2))) record2 = active2 sleep(50) var/obj/item/paper/P = new /obj/item/paper( loc ) @@ -408,7 +408,7 @@ What a mess.*/ printing = 1 spawn(30) playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1) - if((istype(active1, /datum/data/record) && data_core.general.Find(active1)))//make sure the record still exists. + if((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1)))//make sure the record still exists. new /obj/item/poster/wanted(src.loc, active1.fields["photo_front"], wanted_name, default_description) printing = 0 //RECORD DELETE @@ -419,7 +419,7 @@ What a mess.*/ temp += "No" if ("Purge All Records") - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) qdel(R) temp = "All Security records deleted." @@ -453,11 +453,11 @@ What a mess.*/ //RECORD CREATE if ("New Record (Security)") if ((istype(active1, /datum/data/record) && !( istype(active2, /datum/data/record) ))) - active2 = data_core.CreateSecurityRecord(active1.fields["name"], active1.fields["id"]) + active2 = GLOB.data_core.CreateSecurityRecord(active1.fields["name"], active1.fields["id"]) screen = 3 if ("New Record (General)") - active1 = data_core.CreateGeneralRecord() + active1 = GLOB.data_core.CreateGeneralRecord() active2 = null //FIELD FUNCTIONS @@ -596,7 +596,7 @@ What a mess.*/ if ("Delete Record (ALL) Execute") if (active1) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if ((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"])) qdel(R) else @@ -628,7 +628,7 @@ What a mess.*/ ..(severity) return - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) if(prob(10/severity)) switch(rand(1,6)) if(1) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 8b457cc5402..5d1ffca77fb 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -29,7 +29,7 @@ Possible to do for anyone motivated enough: #define RANGE_BASED 4 #define AREA_BASED 6 -var/const/HOLOPAD_MODE = RANGE_BASED +#define HOLOPAD_MODE RANGE_BASED /obj/machinery/hologram/holopad name = "\improper AI holopad" @@ -85,9 +85,9 @@ var/const/HOLOPAD_MODE = RANGE_BASED last_request = world.time to_chat(user, span_notice("You request an AI's presence.")) var/area/area = get_area(src) - for(var/mob/living/silicon/ai/AI in GLOB.living_mob_list) - if(!AI.client) continue - to_chat(AI, span_info("Your presence is requested at \the [area].")) + for(var/mob/living/silicon/ai/ai in GLOB.living_mob_list) + if(!ai.client) continue + to_chat(ai, span_info("Your presence is requested at \the [area].")) else to_chat(user, span_notice("A request for AI presence was already sent recently.")) if("Holocomms") @@ -241,7 +241,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ var/obj/effect/overlay/hologram = new(T)//Spawn a blank effect at the location. if(caller_id) var/icon/tempicon = new - for(var/datum/data/record/t in data_core.locked) + for(var/datum/data/record/t in GLOB.data_core.locked) if(t.fields["name"]==caller_id.name) tempicon = t.fields["image"] hologram.overlays += getHologramIcon(icon(tempicon)) // Add the callers image as an overlay to keep coloration! diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index dda8e57ba3d..b87cfaa9687 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -1,3 +1,5 @@ +// var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called manually after an event. + //TODO: Flash range does nothing currently /proc/explosion(turf/epicenter, power, falloff, explosion_flags, adminlog = TRUE) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 70fc6ea2fe0..8ae01bb0eb7 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -122,8 +122,8 @@ var/global/list/default_medbay_channels = list( data["freq"] = format_frequency(frequency) data["rawfreq"] = num2text(frequency) - data["mic_cut"] = (wires.IsIndexCut(WIRE_TRANSMIT) || wires.IsIndexCut(WIRE_SIGNAL)) - data["spk_cut"] = (wires.IsIndexCut(WIRE_RECEIVE) || wires.IsIndexCut(WIRE_SIGNAL)) + data["mic_cut"] = (wires.IsIndexCut(RADIO_WIRE_TRANSMIT) || wires.IsIndexCut(RADIO_WIRE_SIGNAL)) + data["spk_cut"] = (wires.IsIndexCut(RADIO_WIRE_RECEIVE) || wires.IsIndexCut(RADIO_WIRE_SIGNAL)) var/list/chanlist = list_channels(user) if(islist(chanlist) && chanlist.len) @@ -191,10 +191,10 @@ var/global/list/default_medbay_channels = list( "} /obj/item/device/radio/proc/ToggleBroadcast() - broadcasting = !broadcasting && !(wires.IsIndexCut(WIRE_TRANSMIT) || wires.IsIndexCut(WIRE_SIGNAL)) + broadcasting = !broadcasting && !(wires.IsIndexCut(RADIO_WIRE_TRANSMIT) || wires.IsIndexCut(RADIO_WIRE_SIGNAL)) /obj/item/device/radio/proc/ToggleReception() - listening = !listening && !(wires.IsIndexCut(WIRE_RECEIVE) || wires.IsIndexCut(WIRE_SIGNAL)) + listening = !listening && !(wires.IsIndexCut(RADIO_WIRE_RECEIVE) || wires.IsIndexCut(RADIO_WIRE_SIGNAL)) /obj/item/device/radio/CanUseTopic() if(!on) @@ -295,7 +295,7 @@ var/global/list/default_medbay_channels = list( // Uncommenting this. To the above comment: // The permacell radios aren't suppose to be able to transmit, this isn't a bug and this "fix" is just making radio wires useless. -Giacom - if(wires.IsIndexCut(WIRE_TRANSMIT)) // The device has to have all its wires and shit intact + if(wires.IsIndexCut(RADIO_WIRE_TRANSMIT)) // The device has to have all its wires and shit intact return 0 if(!radio_connection) @@ -513,7 +513,7 @@ var/global/list/default_medbay_channels = list( // what the range is in which mobs will hear the radio // returns: -1 if can't receive, range otherwise - if(!listening || !on || !freq || wires.IsIndexCut(WIRE_RECEIVE)) + if(!listening || !on || !freq || wires.IsIndexCut(RADIO_WIRE_RECEIVE)) return -1 if(!(0 in level)) @@ -826,7 +826,7 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/random_radio/receive_range(freq, level) - if (wires.IsIndexCut(WIRE_RECEIVE)) + if (wires.IsIndexCut(RADIO_WIRE_RECEIVE)) return -1 if(!listening) return -1 diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index 677a0888c4c..8dd6a51ad78 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -234,13 +234,13 @@ A list of items and costs is stored under the datum of every game mode, alongsid nanoui_data["items"] = items else if(nanoui_menu == 2) var/permanentData[0] - for(var/datum/data/record/L in sortRecord(data_core.locked)) + for(var/datum/data/record/L in sortRecord(GLOB.data_core.locked)) permanentData[++permanentData.len] = list(Name = L.fields["name"],"id" = L.fields["id"]) nanoui_data["exploit_records"] = permanentData else if(nanoui_menu == 21) nanoui_data["exploit_exists"] = 0 - for(var/datum/data/record/L in data_core.locked) + for(var/datum/data/record/L in GLOB.data_core.locked) if(L.fields["id"] == exploit_id) nanoui_data["exploit"] = list() // Setting this to equal L.fields passes it's variables that are lists as reference instead of value. // We trade off being able to automatically add shit for more control over what gets passed to json diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 2bf718d6cea..6a131323ad9 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -75,7 +75,6 @@ origin_tech = list(TECH_MAGNET = 2, TECH_COVERT = 2) var/uses = 10 -var/const/NO_EMAG_ACT = -50 /obj/item/card/emag/resolve_attackby(atom/A, mob/user) var/used_uses = A.emag_act(uses, user, src) if(used_uses == NO_EMAG_ACT) diff --git a/code/game/world.dm b/code/game/world.dm index 393834a8955..fddd860fbd2 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -99,7 +99,7 @@ GLOBAL_VAR(restart_counter) */ /world/New() //logs - href_logfile = file("[GLOB.log_directory]/hrefs.htm") + GLOB.href_logfile = file("[GLOB.log_directory]/hrefs.htm") // DO NOT MOVE config.Load() HERE BY ANY MEANS! Turfs require on configurations which is loaded in the Master controller that loads global_vars InitTgs() @@ -391,8 +391,8 @@ var/world_topic_spam_protect_time = world.timeofday var/list/Lines = file2list("data/mode.txt") if(Lines.len) if(Lines[1]) - master_storyteller = Lines[1] - log_game("Saved storyteller is '[master_storyteller]'") + GLOB.master_storyteller = Lines[1] + log_game("Saved storyteller is '[GLOB.master_storyteller]'") /world/proc/save_storyteller(the_mode) var/F = file("data/mode.txt") @@ -436,8 +436,8 @@ var/world_topic_spam_protect_time = world.timeofday var/list/features = list() if(SSticker) - if(master_storyteller) - features += master_storyteller + if(GLOB.master_storyteller) + features += GLOB.master_storyteller else features += "STARTING" diff --git a/code/global.dm b/code/global.dm deleted file mode 100644 index 3f26b6a406d..00000000000 --- a/code/global.dm +++ /dev/null @@ -1,33 +0,0 @@ -// Items that ask to be called every cycle. -var/global/datum/datacore/data_core -var/global/datum/DB_search/db_search = new() - -var/global/datum/universal_state/universe = new - -var/href_logfile - -var/master_storyteller = "shitgenerator" - -var/host //only here until check @ code\modules\ghosttrap\trap.dm:112 is fixed - -var/list/admin_log = list() - -var/gravity_is_on = 1 - -var/join_motd - -var/list/awaydestinations = list() // Away missions. A list of landmarks that the warpgate can take you to. - -// For FTP requests. (i.e. downloading runtime logs.) -// However it'd be ok to use for accessing attack logs and such too, which are even laggier. -var/fileaccess_timer = 0 -var/custom_event_msg - - -// Reference list for disposal sort junctions. Filled up by sorting junction's New() -var/list/tagger_locations = list() - - -// Bomb cap! -var/max_explosion_range = 14 - diff --git a/code/js/byjax.dm b/code/js/byjax.dm deleted file mode 100644 index 18b8180214d..00000000000 --- a/code/js/byjax.dm +++ /dev/null @@ -1,50 +0,0 @@ -//this function places received data into element with specified id. -var/const/js_byjax = {" - -function replaceContent() { - var args = Array.prototype.slice.call(arguments); - var id = args\[0\]; - var content = args\[1\]; - var callback = null; - if(args\[2\]){ - callback = args\[2\]; - if(args\[3\]){ - args = args.slice(3); - } - } - var parent = document.getElementById(id); - if(typeof(parent)!=='undefined' && parent!=null){ - parent.innerHTML = content?content:''; - } - if(callback && window\[callback\]){ - window\[callback\].apply(null,args); - } -} -"} - -/* -sends data to control_id:replaceContent - -receiver - mob -control_id - window id (for windows opened with browse(), it'll be "windowname.browser") -target_element - HTML element id -new_content - HTML content -callback - js function that will be called after the data is sent -callback_args - arguments for callback function - -Be sure to include required js functions in your page, or it'll raise an exception. -*/ -/proc/send_byjax(receiver, control_id, target_element, new_content=null, callback=null, list/callback_args=null) - if(receiver && target_element && control_id) // && winexists(receiver, control_id)) - var/list/argums = list(target_element, new_content) - if(callback) - argums += callback - if(callback_args) - argums += callback_args - argums = list2params(argums) -/* if(callback_args) - argums += "&[list2params(callback_args)]" -*/ - receiver << output(argums,"[control_id]:replaceContent") - return - diff --git a/code/js/menus.dm b/code/js/menus.dm deleted file mode 100644 index 01137ce9630..00000000000 --- a/code/js/menus.dm +++ /dev/null @@ -1,37 +0,0 @@ -var/const/js_dropdowns = {" -function dropdowns() { - var divs = document.getElementsByTagName('div'); - var headers = new Array(); - var links = new Array(); - for(var i=0;i=0) { - elem.className = elem.className.replace('visible','hidden'); - this.className = this.className.replace('open','closed'); - this.innerHTML = this.innerHTML.replace('-','+'); - } - else { - elem.className = elem.className.replace('hidden','visible'); - this.className = this.className.replace('closed','open'); - this.innerHTML = this.innerHTML.replace('+','-'); - } - return false; - } - })(links\[i\]); - } - } -} -"} \ No newline at end of file diff --git a/code/modules/admin/DB_search/search.dm b/code/modules/admin/DB_search/search.dm index cf7109a087b..2a7f8a57e20 100644 --- a/code/modules/admin/DB_search/search.dm +++ b/code/modules/admin/DB_search/search.dm @@ -39,7 +39,7 @@ set category = "Admin" set name = "Search Panel" set desc = "Search players in the DB" - db_search.DB_players_search() + GLOB.db_search.DB_players_search() /datum/DB_search/proc/DB_players_search() if(!SSdbcore.Connect()) diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index c24512d016d..2137712c53b 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -55,8 +55,8 @@ return if("hrefs") //persistant logs and stuff if(config && CONFIG_GET(flag/log_hrefs)) - if(href_logfile) - src << browse(href_logfile,"window=investigate[subject];size=800x300") + if(GLOB.href_logfile) + src << browse(GLOB.href_logfile,"window=investigate[subject];size=800x300") else to_chat(src, span_warning("Error: admin_investigate: No href logfile found.")) return diff --git a/code/modules/admin/secrets/admin_secrets/admin_logs.dm b/code/modules/admin/secrets/admin_secrets/admin_logs.dm index 19f19404ee3..e4dca0b12d2 100644 --- a/code/modules/admin/secrets/admin_secrets/admin_logs.dm +++ b/code/modules/admin/secrets/admin_secrets/admin_logs.dm @@ -6,8 +6,8 @@ if(!.) return var/dat = "Admin Log
" - for(var/l in admin_log) + for(var/l in GLOB.admin_log) dat += "
  • [l]
  • " - if(!admin_log.len) + if(!length(GLOB.admin_log)) dat += "No-one has done anything this round!" user << browse(HTML_SKELETON_TITLE("Admin Logs", dat), "window=admin_log") diff --git a/code/modules/admin/secrets/admin_secrets/show_crew_manifest.dm b/code/modules/admin/secrets/admin_secrets/show_crew_manifest.dm index 0d7f0d248d7..15bd2885af3 100644 --- a/code/modules/admin/secrets/admin_secrets/show_crew_manifest.dm +++ b/code/modules/admin/secrets/admin_secrets/show_crew_manifest.dm @@ -7,6 +7,6 @@ return var/dat dat += "

    Crew Manifest

    " - dat += data_core.get_manifest() + dat += GLOB.data_core.get_manifest() user << browse(HTML_SKELETON_TITLE("Crew Manifest", dat), "window=manifest;size=370x420;can_close=1") diff --git a/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm b/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm index 11dc0b5380d..3e6666ac468 100644 --- a/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm +++ b/code/modules/admin/secrets/fun_secrets/toggle_bomb_cap.dm @@ -7,15 +7,15 @@ if(!.) return - switch(max_explosion_range) - if(14) max_explosion_range = 16 - if(16) max_explosion_range = 20 - if(20) max_explosion_range = 28 - if(28) max_explosion_range = 56 - if(56) max_explosion_range = 128 - if(128) max_explosion_range = 14 - var/range_dev = max_explosion_range *0.25 - var/range_high = max_explosion_range *0.5 - var/range_low = max_explosion_range + switch(GLOB.max_explosion_range) + if(14) GLOB.max_explosion_range = 16 + if(16) GLOB.max_explosion_range = 20 + if(20) GLOB.max_explosion_range = 28 + if(28) GLOB.max_explosion_range = 56 + if(56) GLOB.max_explosion_range = 128 + if(128) GLOB.max_explosion_range = 14 + var/range_dev = GLOB.max_explosion_range *0.25 + var/range_high = GLOB.max_explosion_range *0.5 + var/range_low = GLOB.max_explosion_range message_admins(span_danger("[key_name_admin(user)] changed the bomb cap to [range_dev], [range_high], [range_low]"), 1) - log_admin("[key_name_admin(user)] changed the bomb cap to [max_explosion_range]") + log_admin("[key_name_admin(user)] changed the bomb cap to [GLOB.max_explosion_range]") diff --git a/code/modules/admin/secrets/random_events/gravity.dm b/code/modules/admin/secrets/random_events/gravity.dm index 524ad8c8afc..9e921c47c51 100644 --- a/code/modules/admin/secrets/random_events/gravity.dm +++ b/code/modules/admin/secrets/random_events/gravity.dm @@ -15,12 +15,12 @@ if(!.) return - gravity_is_on = !gravity_is_on + GLOB.gravity_is_on = !GLOB.gravity_is_on if (GLOB.active_gravity_generator) - GLOB.active_gravity_generator.set_state(gravity_is_on) + GLOB.active_gravity_generator.set_state(GLOB.gravity_is_on) - if(gravity_is_on) + if(GLOB.gravity_is_on) log_admin("[key_name(user)] toggled gravity on.", 1) message_admins("[key_name_admin(user)] toggled gravity on.", 1) priority_announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.") diff --git a/code/modules/admin/verbs/custom_event.dm b/code/modules/admin/verbs/custom_event.dm index 4d96dd00786..5a0b15a0530 100644 --- a/code/modules/admin/verbs/custom_event.dm +++ b/code/modules/admin/verbs/custom_event.dm @@ -7,9 +7,9 @@ to_chat(src, "Only administrators may use this command.") return - var/input = sanitize(input(usr, "Enter the description of the custom notice. Be descriptive. To cancel the notice, make this blank or hit cancel.", "Custom Event", custom_event_msg) as message|null, MAX_BOOK_MESSAGE_LEN, extra = 0) + var/input = sanitize(input(usr, "Enter the description of the custom notice. Be descriptive. To cancel the notice, make this blank or hit cancel.", "Custom Event", GLOB.custom_event_msg) as message|null, MAX_BOOK_MESSAGE_LEN, extra = 0) if(!input || input == "") - custom_event_msg = null + GLOB.custom_event_msg = null log_admin("[usr.key] has cleared the custom notice text.") message_admins("[key_name_admin(usr)] has cleared the custom notice text.") return @@ -17,11 +17,11 @@ log_admin("[usr.key] has changed the custom notice text.") message_admins("[key_name_admin(usr)] has changed the custom notice text.") - custom_event_msg = input + GLOB.custom_event_msg = input to_chat(world, "

    Custom Notice

    ") to_chat(world, "

    A custom notice is starting. OOC Info:

    ") - to_chat(world, span_alert("[custom_event_msg]")) + to_chat(world, span_alert("[GLOB.custom_event_msg]")) to_chat(world, "
    ") // normal verb for players to view info @@ -29,12 +29,12 @@ set category = "OOC" set name = "Notice Info" - if(!custom_event_msg || custom_event_msg == "") + if(!GLOB.custom_event_msg || GLOB.custom_event_msg == "") to_chat(src, "There currently is no known notice.") to_chat(src, "Keep in mind: it is possible that an admin has not properly set this.") return to_chat(src, "

    Custom Notice

    ") to_chat(src, "

    A custom notice is taking place. OOC Info:

    ") - to_chat(src, span_alert("[custom_event_msg]")) + to_chat(src, span_alert("[GLOB.custom_event_msg]")) to_chat(src, "
    ") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index a040d202c49..00ffc2c398d 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -321,10 +321,10 @@ Contractors and the like can also be revived with the previous role mostly intac var/datum/data/record/record_found //Referenced to later to either randomize or not randomize the character. if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something - /*Try and locate a record for the person being respawned through data_core. + /*Try and locate a record for the person being respawned through GLOB.data_core. This isn't an exact science but it does the trick more often than not.*/ var/id = md5("[G_found.real_name][G_found.mind.assigned_role]") - for(var/datum/data/record/t in data_core.locked) + for(var/datum/data/record/t in GLOB.data_core.locked) if(t.fields["id"]==id) record_found = t//We shall now reference the record. break @@ -354,7 +354,7 @@ Contractors and the like can also be revived with the previous role mostly intac else new_character.mind_initialize() if(!new_character.mind.assigned_role) - new_character.mind.assigned_role = ASSISTANT_TITLE + new_character.mind.assigned_role = JOB_ASSISTANT new_character.PossessByPlayer(G_found.key) @@ -381,7 +381,7 @@ Contractors and the like can also be revived with the previous role mostly intac if(!record_found && !player_is_antag(new_character.mind, only_offstation_roles = 1)) //If there are no records for them. If they have a record, this info is already in there. MODE people are not announced anyway. //Power to the user! if(alert(new_character,"Warning: No data core entry detected. Would you like to announce the arrival of this character by adding them to various databases, such as medical records?",,"No","Yes")=="Yes") - data_core.manifest_inject(new_character) + GLOB.data_core.manifest_inject(new_character) if(alert(new_character,"Would you like an active AI to announce this character?",,"No","Yes")=="Yes") call(/proc/AnnounceArrival)(new_character, new_character.mind.assigned_role) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm deleted file mode 100644 index f122285adea..00000000000 --- a/code/modules/admin/verbs/striketeam.dm +++ /dev/null @@ -1,51 +0,0 @@ -//STRIKE TEAMS -var/const/commandos_possible = 6 //if more Commandos are needed in the future - -/client/proc/strike_team() - set category = "Fun" - set name = "Spawn Strike Team" - set desc = "Spawns a strike team if you want to run an admin event." - - if(!src.holder) - src << "Only administrators may use this command." - return - - if(world.time < 6000) - usr << "There are [(6000-world.time)/10] seconds remaining before it may be called." - return - - var/datum/antagonist/deathsquad/team - - var/choice = input(usr, "Select type of strike team:") as null|anything in list("Heavy Asset Protection", "Mercenaries") - if(!choice) - return - - switch(choice) - if("Heavy Asset Protection") - team = deathsquad - if("Mercenaries") - team = commandos - else - return - - if(team.deployed) - usr << "Someone is already sending a team." - return - - if(alert("Do you want to send in a strike team? Once enabled, this is irreversible.",,"Yes","No")!="Yes") - return - - alert("This 'mode' will go on until everyone is dead or the station is destroyed. You may also admin-call the evac shuttle when appropriate. Spawned commandos have internals cameras which are viewable through a monitor inside the Spec. Ops. Office. Assigning the team's detailed task is recommended from there. While you will be able to manually pick the candidates from active ghosts, their assignment in the squad will be random.") - - choice = null - while(!choice) - choice = sanitize(input(src, "Please specify which mission the strike team shall undertake.", "Specify Mission", "")) - if(!choice) - if(alert("Error, no mission set. Do you want to exit the setup process?",,"Yes","No")=="Yes") - return - - if(team.deployed) - usr << "Looks like someone beat you to it." - return - - team.attempt_random_spawn() diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 690bcdc5447..4700521c4e1 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -51,8 +51,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( // if(href_list["reload_statbrowser"]) // src << browse(file('html/statbrowser.html'), "window=statbrowser") // Log all hrefs - if(config && CONFIG_GET(flag/log_hrefs) && href_logfile) - DIRECT_OUTPUT(href_logfile, "[time2text(world.timeofday,"hh:mm")][src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]") + if(config && CONFIG_GET(flag/log_hrefs) && GLOB.href_logfile) + DIRECT_OUTPUT(GLOB.href_logfile, "[time2text(world.timeofday,"hh:mm")][src] (usr:[usr]\[[COORD(usr)]\]) : [hsrc ? "[hsrc] " : ""][href]") //byond bug ID:2256651 if (asset_cache_job && (asset_cache_job in completed_asset_jobs)) @@ -396,8 +396,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( // qdel(src) // return - if( (world.address == address || !address) && !host ) - host = key + if( (world.address == address || !address) && !GLOB.host ) + GLOB.host = key world.update_status() CAN_MOVE_DIAGONALLY = GLOB.diagonal_movement @@ -413,10 +413,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (!stealth_admin) deadchat_broadcast(" has reconnected.", "[mob][mob.get_realname_string()]", follow_target = mob, turf_target = get_turf(mob), message_type = DEADCHAT_LOGIN_LOGOUT/*, admin_only=!announce_leave*/) - if(custom_event_msg && custom_event_msg != "") + if(GLOB.custom_event_msg && GLOB.custom_event_msg != "") to_chat(src, "

    Custom Event

    ") to_chat(src, "

    A custom event is taking place. OOC Info:

    ") - to_chat(src, span_alert("[custom_event_msg]")) + to_chat(src, span_alert("[GLOB.custom_event_msg]")) to_chat(src, "
    ") if(holder) diff --git a/code/modules/client/preference_setup/augmentation/01_modifications.dm b/code/modules/client/preference_setup/augmentation/01_modifications.dm index 235a2ba04a8..c2f5aa91561 100644 --- a/code/modules/client/preference_setup/augmentation/01_modifications.dm +++ b/code/modules/client/preference_setup/augmentation/01_modifications.dm @@ -40,7 +40,7 @@ dat += "span.color_holder_box{display: inline-block; width: 20px; height: 8px; border:1px solid #000; padding: 0px;}<" dat += "a.Organs_active {background: #cc5555;}" - dat += "" + dat += "" dat += "" dat += "" if(pref.modifications_allowed()) diff --git a/code/modules/client/preference_setup/loadout/lists/headwear.dm b/code/modules/client/preference_setup/loadout/lists/headwear.dm index e5ef8cb4669..007220fb01d 100644 --- a/code/modules/client/preference_setup/loadout/lists/headwear.dm +++ b/code/modules/client/preference_setup/loadout/lists/headwear.dm @@ -81,7 +81,7 @@ /datum/gear/head/cap/sec display_name = "cap, old security" path = /obj/item/clothing/head/soft/sec - allowed_roles = list(ASSISTANT_TITLE) + allowed_roles = list(JOB_ASSISTANT) /datum/gear/head/cap/synd display_name = "cap, old syndicate" @@ -191,7 +191,7 @@ /datum/gear/head/tanker_helmet/color_presets display_name = "tanker helmet, color presets" path = /obj/item/clothing/head/armor/helmet/tanker - allowed_roles = list("Moebius Roboticist", "Guild Technician", "Technomancer", "Technomancer Exultant", ASSISTANT_TITLE) + allowed_roles = list("Moebius Roboticist", "Guild Technician", "Technomancer", "Technomancer Exultant", JOB_ASSISTANT) cost = 2 /datum/gear/head/tanker_helmet/color_presets/New() diff --git a/code/modules/client/preference_setup/loadout/lists/misc.dm b/code/modules/client/preference_setup/loadout/lists/misc.dm index 1f7c576a233..4b6788d7bb5 100644 --- a/code/modules/client/preference_setup/loadout/lists/misc.dm +++ b/code/modules/client/preference_setup/loadout/lists/misc.dm @@ -18,7 +18,7 @@ /datum/gear/clown display_name = "clown pack" path = /obj/item/storage/box/clown - allowed_roles = list(ASSISTANT_TITLE) + allowed_roles = list(JOB_ASSISTANT) /datum/gear/dice display_name = "dice pack" diff --git a/code/modules/client/preference_setup/loadout/lists/uniforms.dm b/code/modules/client/preference_setup/loadout/lists/uniforms.dm index 05ee1c3ae65..bdc5b0c060f 100644 --- a/code/modules/client/preference_setup/loadout/lists/uniforms.dm +++ b/code/modules/client/preference_setup/loadout/lists/uniforms.dm @@ -227,4 +227,4 @@ /datum/gear/uniform/ntsec display_name = "old security uniform" path = /obj/item/clothing/under/oldsec - allowed_roles = list(ASSISTANT_TITLE) + allowed_roles = list(JOB_ASSISTANT) diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 628f9f8b8e4..45a19b97573 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -135,7 +135,7 @@ else if(user.client && job.is_setup_restricted(user.client.prefs.setup_options)) bad_message = "\[SETUP RESTRICTED]" - if((ASSISTANT_TITLE in pref.job_low) && (rank != ASSISTANT_TITLE)) + if((JOB_ASSISTANT in pref.job_low) && (rank != JOB_ASSISTANT)) . += "[rank]" continue if(bad_message) @@ -151,7 +151,7 @@ . += "
    " - if(rank == ASSISTANT_TITLE)//Assistant is special + if(rank == JOB_ASSISTANT)//Assistant is special . += "" . += "[(rank in pref.job_low) ? "" : ""]\[Yes\][(rank in pref.job_low) ? "" : ""]" //. += "\[Yes\]" @@ -298,8 +298,8 @@ //First of all, we check if the user has opted to query any specific job by clicking the ? button if(job_info_selected_rank) job = SSjob.GetJob(job_info_selected_rank) - else if(ASSISTANT_TITLE in pref.job_low) - job = SSjob.GetJob(ASSISTANT_TITLE) + else if(JOB_ASSISTANT in pref.job_low) + job = SSjob.GetJob(JOB_ASSISTANT) else //If not, then we'll attempt to get the job they have set as high priority, if any job = SSjob.GetJob(pref.job_high) @@ -346,7 +346,7 @@ //Here we have a right-floating textbox that shows user's stats job_desc +="

    Stats:

    " - if(job.title == ASSISTANT_TITLE) + if(job.title == JOB_ASSISTANT) job_desc += "
      " for (var/a in ALL_STATS) job_desc += "
    • [a]: ???
    • " @@ -407,7 +407,7 @@ if(!job) return 0 - if(role == ASSISTANT_TITLE) + if(role == JOB_ASSISTANT) if(level == JOB_LEVEL_NEVER) pref.job_low -= job.title else diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index 24c6d108731..f706e31245d 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -1,5 +1,3 @@ -var/const/CHARACTER_PREFERENCE_INPUT_TITLE = "Character Preference" - /datum/category_group/player_setup_category/physical_preferences name = "General" sort_order = 1 diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index cc72c670686..e11fc080c01 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -4,7 +4,7 @@ //This is the output of the stringpercent(print) proc, and means about 80% of //the print must be there for it to be complete. (Prints are 32 digits) -var/const/FINGERPRINT_COMPLETE = 6 +#define FINGERPRINT_COMPLETE 6 /proc/is_complete_print(print) return stringpercent(print) <= FINGERPRINT_COMPLETE diff --git a/code/modules/mechs/mech_interaction.dm b/code/modules/mechs/mech_interaction.dm index 3d779a0d751..448297f3d23 100644 --- a/code/modules/mechs/mech_interaction.dm +++ b/code/modules/mechs/mech_interaction.dm @@ -454,8 +454,7 @@ else if(istype(I, /obj/item/device/robotanalyzer)) to_chat(user, span_notice("Diagnostic Report for \the [src]:")) for(var/obj/item/mech_component/MC in list(arms, legs, body, head)) - if(MC) - MC.return_diagnostics(user) + MC.return_diagnostics(user) return else if(istype(I, /obj/item/stack/nanopaste)) diff --git a/code/modules/mechs/mech_life.dm b/code/modules/mechs/mech_life.dm index 877e0a3b626..a192ec72eb0 100644 --- a/code/modules/mechs/mech_life.dm +++ b/code/modules/mechs/mech_life.dm @@ -159,7 +159,7 @@ // Hurl our component pieces about. var/list/stuff_to_throw = list() for(var/obj/item/thing in list(arms, legs, head, body)) - if(thing) stuff_to_throw += thing + stuff_to_throw += thing for(var/hardpoint in hardpoints) if(hardpoints[hardpoint]) var/obj/item/thing = hardpoints[hardpoint] diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index eb36662ca96..7651094020e 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -118,7 +118,7 @@ var/mob/living/carbon/human/H = speaker if(H.voice) speaker_name = H.voice - for(var/datum/data/record/G in data_core.general) + for(var/datum/data/record/G in GLOB.data_core.general) if(G.fields["name"] == speaker_name) return H.rank_prefix_name(speaker_name) return voice_name ? voice_name : speaker_name diff --git a/code/modules/mob/living/carbon/human/chem_side_effects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm index 1895c63fb8f..20be9f1ae17 100644 --- a/code/modules/mob/living/carbon/human/chem_side_effects.dm +++ b/code/modules/mob/living/carbon/human/chem_side_effects.dm @@ -64,7 +64,6 @@ // One full cycle(in terms of strength) every 10 minutes for (var/datum/medical_effect/M in side_effects) - if (!M) continue var/strength_percent = sin((life_tick - M.start) / 2) // Only do anything if the effect is currently strong enough diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 3f1a9e16042..c107225ac13 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -318,9 +318,9 @@ else perpname = src.name - for (var/datum/data/record/E in data_core.general) + for (var/datum/data/record/E in GLOB.data_core.general) if (E.fields["name"] == perpname) - for (var/datum/data/record/R in data_core.general) + for (var/datum/data/record/R in GLOB.data_core.general) if (R.fields["id"] == E.fields["id"]) medical = R.fields["p_stat"] diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a7611db8fe9..a6f693d1429 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -441,9 +441,9 @@ var/list/rank_prefix = list(\ else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"security")) to_chat(usr, "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]") @@ -469,9 +469,9 @@ var/list/rank_prefix = list(\ else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"security")) read = 1 @@ -499,9 +499,9 @@ var/list/rank_prefix = list(\ perpname = id.registered_name else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"security")) var/t1 = sanitize(input("Add Comment:", "Sec. records", null, null) as message) @@ -528,9 +528,9 @@ var/list/rank_prefix = list(\ else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.general) + for(var/datum/data/record/R in GLOB.data_core.general) if(R.fields["id"] == E.fields["id"]) var/setmedical = input(usr, "Specify a new medical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("*SSD*", "*Deceased*", "Physically Unfit", "Active", "Disabled", "Cancel") @@ -568,9 +568,9 @@ var/list/rank_prefix = list(\ perpname = id.registered_name else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"medical")) to_chat(usr, "Name: [R.fields["name"]] Blood Type: [R.fields["b_type"]]") @@ -601,9 +601,9 @@ var/list/rank_prefix = list(\ perpname = id.registered_name else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"medical")) read = 1 @@ -631,9 +631,9 @@ var/list/rank_prefix = list(\ perpname = id.registered_name else perpname = src.name - for(var/datum/data/record/E in data_core.general) + for(var/datum/data/record/E in GLOB.data_core.general) if(E.fields["name"] == perpname) - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if(R.fields["id"] == E.fields["id"]) if(hasHUD(usr,"medical")) var/t1 = sanitize(input("Add Comment:", "Med. records", null, null) as message) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 340d582dc0b..d435c21aebd 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -166,15 +166,10 @@ meteor_act return protection /mob/living/carbon/human/proc/check_head_coverage() - var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform) - for(var/bp in body_parts) - if(!bp) continue - if(bp && istype(bp ,/obj/item/clothing)) - var/obj/item/clothing/C = bp - if(C.body_parts_covered & HEAD) - return 1 - return 0 + for(var/obj/item/clothing/bp in body_parts) + return (bp.body_parts_covered & HEAD) + return FALSE //Used to check if they can be fed food/drinks/pills /mob/living/carbon/human/proc/check_mouth_coverage() @@ -196,10 +191,7 @@ meteor_act return 0 /mob/living/carbon/human/proc/has_shield() - for(var/obj/item/shield/shield in list(l_hand, r_hand)) - if(!shield) continue - return shield - return FALSE + return (locate(/obj/item/shield) in list(l_hand, r_hand)) /mob/living/carbon/human/proc/handle_blocking(damage) var/stat_affect = 0.3 //lowered to 0.2 if we are blocking with an item diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2fbe26be3fb..3a3f3aafef7 100755 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -482,7 +482,7 @@ default behaviour is: // Not recommended to directly call this proc on a mob without a good reason. It kicks out the player from the game without turning him into a ghost. /mob/living/despawn() //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 == src.mind) @@ -505,13 +505,13 @@ default behaviour is: if(PDA_Manifest.len) PDA_Manifest.Cut() - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if ((R.fields["name"] == src.real_name)) qdel(R) - for(var/datum/data/record/T in data_core.security) + for(var/datum/data/record/T in GLOB.data_core.security) if ((T.fields["name"] == src.real_name)) qdel(T) - for(var/datum/data/record/G in data_core.general) + for(var/datum/data/record/G in GLOB.data_core.general) if ((G.fields["name"] == src.real_name)) qdel(G) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ecd478c0aa9..b00222f23e8 100755 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -345,10 +345,8 @@ var/list/channel_to_radio_key = new else if(ishuman(src)) var/mob/living/carbon/human/H = src for(var/obj/item/gear in list(H.wear_mask, H.wear_suit, H.head)) - if(!gear) - continue var/obj/item/voice_changer/changer = locate() in gear - if(changer && changer.active && changer.voice_tts) + if(changer?.active && changer?.voice_tts) seed = changer.voice_tts INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(tts_broadcast), src, message, seed, speaking) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 5c1d842e2f7..ae87b9407c3 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -550,7 +550,7 @@ var/list/ai_verbs_default = list( var/personnel_list[] = list() - for(var/datum/data/record/t in data_core.locked)//Look in data core locked. + for(var/datum/data/record/t in GLOB.data_core.locked)//Look in data core locked. personnel_list["[t.fields["name"]]: [t.fields["rank"]]"] = t.fields["image"]//Pull names, rank, and image. if(personnel_list.len) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index e027e840d92..b7be4f9b3a9 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,7 +1,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - for(var/obj/landmark/join/start/AI/S in GLOB.landmarks_list) + for(var/obj/landmark/join/start/ai/S in GLOB.landmarks_list) if(locate(/mob/living) in S.loc) continue empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 9bc461a4e0d..a7c4556d05e 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -124,7 +124,7 @@ toggle = 0 /datum/pai_software/crew_manifest/on_ui_interact(mob/living/silicon/pai/user, datum/nanoui/ui=null, force_open=1) - data_core.get_manifest_json() + GLOB.data_core.get_manifest_json() var/data[0] // This is dumb, but NanoUI breaks if it has no data to send @@ -149,7 +149,7 @@ var/data[0] var/records[0] - for(var/datum/data/record/general in sortRecord(data_core.general)) + for(var/datum/data/record/general in sortRecord(GLOB.data_core.general)) var/record[0] record["name"] = general.fields["name"] record["ref"] = "\ref[general]" @@ -180,11 +180,11 @@ if(record) var/datum/data/record/R = record var/datum/data/record/M = null - if (!( data_core.general.Find(R) )) + if (!( GLOB.data_core.general.Find(R) )) P.medical_cannotfind = 1 else P.medical_cannotfind = 0 - for(var/datum/data/record/E in data_core.medical) + for(var/datum/data/record/E in GLOB.data_core.medical) if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) M = E P.medicalActive1 = R @@ -204,7 +204,7 @@ var/data[0] var/records[0] - for(var/datum/data/record/general in sortRecord(data_core.general)) + for(var/datum/data/record/general in sortRecord(GLOB.data_core.general)) var/record[0] record["name"] = general.fields["name"] record["ref"] = "\ref[general]" @@ -235,13 +235,13 @@ if(record) var/datum/data/record/R = record var/datum/data/record/S = null - if (!( data_core.general.Find(R) )) + if (!( GLOB.data_core.general.Find(R) )) P.securityActive1 = null P.securityActive2 = null P.security_cannotfind = 1 else P.security_cannotfind = 0 - for(var/datum/data/record/E in data_core.security) + for(var/datum/data/record/E in GLOB.data_core.security) if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) S = E P.securityActive1 = R @@ -300,11 +300,11 @@ /mob/living/silicon/pai/proc/hackloop() var/turf/T = get_turf_or_move(src.loc) - for(var/mob/living/silicon/ai/AI in GLOB.player_list) + for(var/mob/living/silicon/ai/ai in GLOB.player_list) if(T.loc) - to_chat(AI, "Network Alert: Brute-force encryption crack in progress in [T.loc].") + to_chat(ai, "Network Alert: Brute-force encryption crack in progress in [T.loc].") else - to_chat(AI, "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.") + to_chat(ai, "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.") var/obj/machinery/door/D = cable.machine if(!istype(D)) hack_aborted = 1 diff --git a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm index 5a7c7a907e1..15be1474178 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_abilities.dm @@ -4,7 +4,7 @@ set desc = "Tag yourself for delivery through the disposals system. Will automatically mail you when used in disposal chute." set category = "Silicon Commands" - var/new_tag = input("Select the desired destination.", "Set Mail Tag", null) as null|anything in tagger_locations + var/new_tag = input("Select the desired destination.", "Set Mail Tag", null) as null|anything in GLOB.tagger_locations if(!new_tag) mail_destination = "" diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index 4d1c03fdc0a..db66d56249a 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(drones, list()) if (href_list["setarea"]) //Probably should consider using another list, but this one will do. - var/t_area = input("Select the area to ping.", "Set Target Area", null) as null|anything in tagger_locations + var/t_area = input("Select the area to ping.", "Set Target Area", null) as null|anything in GLOB.tagger_locations if(!t_area) return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c9bc89c6d27..b772b1c13ae 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1144,10 +1144,10 @@ connected_ai.connected_robots -= src connected_ai = null -/mob/living/silicon/robot/proc/connect_to_ai(mob/living/silicon/ai/AI) - if(AI && AI != connected_ai) +/mob/living/silicon/robot/proc/connect_to_ai(mob/living/silicon/ai/ai) + if(ai && ai != connected_ai) disconnect_from_ai() - connected_ai = AI + connected_ai = ai connected_ai.connected_robots |= src notify_ai(ROBOT_NOTIFICATION_NEW_UNIT) sync() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 6a67185d397..a79d2d0ecda 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -1,3 +1,8 @@ +GLOBAL_VAR_INIT(chicken_count, 0) + +#define MAX_CHICKENS 50 +#define MEDIUM_CHICKENS 10 + //goat /mob/living/simple_animal/hostile/retaliate/goat name = "goat" @@ -177,10 +182,6 @@ new /mob/living/simple_animal/chicken(src.loc) qdel(src) -var/const/MAX_CHICKENS = 50 -#define MEDIUM_CHICKENS 10 -var/global/chicken_count = 0 - /mob/living/simple_animal/chicken name = "\improper chicken" desc = "Hopefully the eggs are good this season." @@ -212,11 +213,11 @@ var/global/chicken_count = 0 icon_dead = "chicken_[body_color]_dead" pixel_x = rand(-6, 6) pixel_y = rand(0, 10) - chicken_count += 1 + GLOB.chicken_count += 1 /mob/living/simple_animal/chicken/death() ..() - chicken_count -= 1 + GLOB.chicken_count -= 1 /mob/living/simple_animal/chicken/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/reagent_containers/food/snacks/grown)) //feedin' dem chickens @@ -244,7 +245,7 @@ var/global/chicken_count = 0 var/obj/item/reagent_containers/food/snacks/egg/E = new(get_turf(src)) E.pixel_x = rand(-6,6) E.pixel_y = rand(-6,6) - if(chicken_count < MEDIUM_CHICKENS || prob(clamp((100/MAX_CHICKENS)*(MAX_CHICKENS-chicken_count), 0, 100))) + if(GLOB.chicken_count < MEDIUM_CHICKENS || prob(clamp((100/MAX_CHICKENS)*(MAX_CHICKENS-GLOB.chicken_count), 0, 100))) START_PROCESSING(SSobj, E) // chicken threshold, then chicken ratio, then number of chickens to create @@ -259,3 +260,6 @@ var/global/chicken_count = 0 qdel(src) else STOP_PROCESSING(SSobj, src) + +#undef MAX_CHICKENS +#undef MEDIUM_CHICKENS diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 5422d84e391..ef4673f1059 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -383,7 +383,7 @@ if(SSjob.ShouldCreateRecords(job.title)) if(character.mind.assigned_role != "Robot") CreateModularRecord(character) - data_core.manifest_inject(character) + GLOB.data_core.manifest_inject(character) matchmaker.do_matchmaking() SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index b79ccf2c33d..abafd13a6c8 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -179,8 +179,8 @@ if (!SSjob) return // Determine what job is marked as 'High' priority, and dress them up as such. - if(ASSISTANT_TITLE in job_low) - return SSjob.GetJob(ASSISTANT_TITLE) + if(JOB_ASSISTANT in job_low) + return SSjob.GetJob(JOB_ASSISTANT) else for(var/datum/job/job in SSjob.occupations) if(job.title == job_high) diff --git a/code/modules/mob/observer/freelook/ai/chunk.dm b/code/modules/mob/observer/freelook/ai/chunk.dm index 6c3bb84b4e4..815a835e675 100644 --- a/code/modules/mob/observer/freelook/ai/chunk.dm +++ b/code/modules/mob/observer/freelook/ai/chunk.dm @@ -24,8 +24,8 @@ for(var/turf/t in c.can_see()) visible[t] = t - for(var/mob/living/silicon/ai/AI in GLOB.living_mob_list) - for(var/turf/t in AI.seen_camera_turfs()) + for(var/mob/living/silicon/ai/ai in GLOB.living_mob_list) + for(var/turf/t in ai.seen_camera_turfs()) visible[t] = t // Create a new camera chunk, since the chunks are made as they are needed. diff --git a/code/modules/mob/observer/freelook/ai/eye.dm b/code/modules/mob/observer/freelook/ai/eye.dm index 3cbf72367fc..95ad54e0c20 100644 --- a/code/modules/mob/observer/freelook/ai/eye.dm +++ b/code/modules/mob/observer/freelook/ai/eye.dm @@ -67,9 +67,9 @@ /atom/proc/move_camera_by_click() if(isAI(usr)) - var/mob/living/silicon/ai/AI = usr - if(AI.eyeobj && AI.client.eye == AI.eyeobj) - AI.eyeobj.setLoc(src) + var/mob/living/silicon/ai/ai = usr + if(ai.eyeobj && ai.client.eye == ai.eyeobj) + ai.eyeobj.setLoc(src) // Return to the Core. /mob/living/silicon/ai/proc/core() diff --git a/code/modules/mob/observer/freelook/ai/update_triggers.dm b/code/modules/mob/observer/freelook/ai/update_triggers.dm index 2ccd0b40030..43b594fb095 100644 --- a/code/modules/mob/observer/freelook/ai/update_triggers.dm +++ b/code/modules/mob/observer/freelook/ai/update_triggers.dm @@ -18,7 +18,7 @@ GLOB.cameranet.updatePortableCamera(src.camera) updating = 0 -/mob/living/silicon/AI/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0) +/mob/living/silicon/ai/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0, glide_size_override = 0) var/oldLoc = src.loc . = ..() if(.) diff --git a/code/modules/mob/observer/observer.dm b/code/modules/mob/observer/observer.dm index 9278464f0c0..10f12c81c30 100644 --- a/code/modules/mob/observer/observer.dm +++ b/code/modules/mob/observer/observer.dm @@ -1,8 +1,3 @@ -var/const/GHOST_IMAGE_NONE = 0 -var/const/GHOST_IMAGE_DARKNESS = 1 -var/const/GHOST_IMAGE_SIGHTLESS = 2 -var/const/GHOST_IMAGE_ALL = ~GHOST_IMAGE_NONE - /mob/observer density = FALSE invisibility = INVISIBILITY_OBSERVER diff --git a/code/modules/modular_computers/NTNet/emails/email_message.dm b/code/modules/modular_computers/NTNet/emails/email_message.dm index 94233af6c95..087e66355ff 100644 --- a/code/modules/modular_computers/NTNet/emails/email_message.dm +++ b/code/modules/modular_computers/NTNet/emails/email_message.dm @@ -48,7 +48,7 @@ var/obj/item/modular_computer/computer = notification_source var/datum/computer_file/program/email_client/PRG = computer.active_program if (istype(PRG) && PRG.ringtone) - computer.visible_message("\The [host] beeps softly, indicating a new email has been received.", 1) + computer.visible_message("\The [computer] beeps softly, indicating a new email has been received.", 1) playsound(computer, 'sound/machines/twobeep.ogg', 50, 1) diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm index e8e0b495335..ae17de79c14 100644 --- a/code/modules/modular_computers/file_system/programs/command/comm.dm +++ b/code/modules/modular_computers/file_system/programs/command/comm.dm @@ -329,7 +329,7 @@ var/last_message_id = 0 if(isnull(emergency)) emergency = 1 - if(universe.OnShuttleCall(usr)) + if(GLOB.universe.OnShuttleCall(usr)) to_chat(user, span_notice("Cannot establish a bluespace connection.")) return /* diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm index 7b68931d57b..f7f14b92930 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm @@ -48,11 +48,11 @@ /datum/nano_module/alarm_monitor/engineering/New() ..() - alarm_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, power_alarm) + alarm_handlers = list(GLOB.atmosphere_alarm, GLOB.camera_alarm, GLOB.fire_alarm, GLOB.power_alarm) /datum/nano_module/alarm_monitor/security/New() ..() - alarm_handlers = list(camera_alarm, motion_alarm) + alarm_handlers = list(GLOB.camera_alarm, GLOB.motion_alarm) /datum/nano_module/alarm_monitor/proc/register_alarm(object, procName) for(var/datum/alarm_handler/AH in alarm_handlers) diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm index 1e7101f575c..61dd3762d57 100644 --- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm +++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm @@ -48,10 +48,10 @@ if(href_list["track"]) if(isAI(usr)) - var/mob/living/silicon/ai/AI = usr + var/mob/living/silicon/ai/ai = usr var/mob/living/carbon/human/H = locate(href_list["track"]) in SShumans.mob_list if(hassensorlevel(H, SUIT_SENSOR_TRACKING)) - AI.ai_actual_track(H) + ai.ai_actual_track(H) else var/datum/computer_file/program/host_program = host if(istype(host_program)) diff --git a/code/modules/modular_computers/file_system/reports/crew_record.dm b/code/modules/modular_computers/file_system/reports/crew_record.dm index a158121b5c7..a310faf64ed 100644 --- a/code/modules/modular_computers/file_system/reports/crew_record.dm +++ b/code/modules/modular_computers/file_system/reports/crew_record.dm @@ -24,7 +24,7 @@ GLOBAL_VAR_INIT(arrest_security_status, "Arrest") /datum/computer_file/report/crew_record/proc/load_from_mob(mob/living/carbon/human/H) if(istype(H)) - if(H.job == ASSISTANT_TITLE) // As stowaways, Vagabond do not show up on the crew manifest. + if(H.job == JOB_ASSISTANT) // As stowaways, Vagabond do not show up on the crew manifest. GLOB.all_crew_records.Remove(src) return photo_front = getFlatIcon(H, SOUTH) diff --git a/code/modules/nano/modules/alarm_monitor.dm b/code/modules/nano/modules/alarm_monitor.dm index 33cc5b9f601..185c47081f5 100644 --- a/code/modules/nano/modules/alarm_monitor.dm +++ b/code/modules/nano/modules/alarm_monitor.dm @@ -17,11 +17,11 @@ /datum/nano_module/alarm_monitor/engineering/New() ..() - alarm_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, power_alarm) + alarm_handlers = list(GLOB.atmosphere_alarm, GLOB.camera_alarm, GLOB.fire_alarm, GLOB.power_alarm) /datum/nano_module/alarm_monitor/security/New() ..() - alarm_handlers = list(camera_alarm, motion_alarm) + alarm_handlers = list(GLOB.camera_alarm, GLOB.motion_alarm) /datum/nano_module/alarm_monitor/proc/register_alarm(object, procName) for(var/datum/alarm_handler/AH in alarm_handlers) diff --git a/code/modules/nano/modules/law_manager.dm b/code/modules/nano/modules/law_manager.dm index 6ea3477683b..2ca635e6d26 100644 --- a/code/modules/nano/modules/law_manager.dm +++ b/code/modules/nano/modules/law_manager.dm @@ -137,8 +137,8 @@ to_chat(owner, span_danger("Law Notice")) owner.laws.show_laws(owner) if(isAI(owner)) - var/mob/living/silicon/ai/AI = owner - for(var/mob/living/silicon/robot/R in AI.connected_robots) + var/mob/living/silicon/ai/ai = owner + for(var/mob/living/silicon/robot/R in ai.connected_robots) to_chat(R, span_danger("Law Notice")) R.laws.show_laws(R) if(usr != owner) @@ -211,9 +211,9 @@ /mob/living/silicon/robot/is_slaved() return lawupdate && connected_ai ? sanitize(connected_ai.name) : null -/datum/nano_module/law_manager/proc/sync_laws(mob/living/silicon/ai/AI) - if(!AI) +/datum/nano_module/law_manager/proc/sync_laws(mob/living/silicon/ai/ai) + if(!ai) return - for(var/mob/living/silicon/robot/R in AI.connected_robots) + for(var/mob/living/silicon/robot/R in ai.connected_robots) R.sync() - log_and_message_admins("has syncronized [AI]'s laws with its borgs.") + log_and_message_admins("has syncronized [ai]'s laws with its borgs.") diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index da13f74c193..5c3e7c863ed 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -107,9 +107,9 @@ /obj/structure/filingcabinet/security/populate() if(virgin) - for(var/datum/data/record/G in data_core.general) + for(var/datum/data/record/G in GLOB.data_core.general) var/datum/data/record/S - for(var/datum/data/record/R in data_core.security) + for(var/datum/data/record/R in GLOB.data_core.security) if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) S = R break @@ -142,9 +142,9 @@ /obj/structure/filingcabinet/medical/populate() if(virgin) - for(var/datum/data/record/G in data_core.general) + for(var/datum/data/record/G in GLOB.data_core.general) var/datum/data/record/M - for(var/datum/data/record/R in data_core.medical) + for(var/datum/data/record/R in GLOB.data_core.medical) if((R.fields["name"] == G.fields["name"] || R.fields["id"] == G.fields["id"])) M = R break diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 72f8b9def9f..1ccf4f100a6 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -79,8 +79,8 @@ /obj/item/paper/proc/show_content(mob/user, forceshow) var/can_read = (istype(user, /mob/living/carbon/human) || isghost(user) || istype(user, /mob/living/silicon)) || forceshow if(!forceshow && istype(user,/mob/living/silicon/ai)) - var/mob/living/silicon/ai/AI = user - can_read = get_dist(src, AI.camera) < 2 + var/mob/living/silicon/ai/ai = user + can_read = get_dist(src, ai.camera) < 2 user << browse("[name][can_read ? info : stars(info)][stamps]", "window=[name]") onclose(user, "[name]") diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index e8d2968aa4c..f9df096df56 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -132,7 +132,7 @@ /* // Limit signatures to official crew members var/personnel_list[] = list() - for(var/datum/data/record/t in data_core.locked) //Look in data core locked. + for(var/datum/data/record/t in GLOB.data_core.locked) //Look in data core locked. personnel_list.Add(t.fields["name"]) personnel_list.Add("Anonymous") diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 70d5008fc95..b2d481faf61 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -945,10 +945,10 @@ autoflag = 5 if (issilicon(user)) var/permit = 0 // Malfunction variable. If AI hacks APC it can control it even without AI control wire. - var/mob/living/silicon/ai/AI = user + var/mob/living/silicon/ai/ai = user var/mob/living/silicon/robot/robot = user if(hacker) - if(hacker == AI) + if(hacker == ai) permit = 1 else if(istype(robot) && robot.connected_ai && robot.connected_ai == hacker) // Cyborgs can use APCs hacked by their AI permit = 1 @@ -1192,7 +1192,7 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - power_alarm.triggerAlarm(loc, src) + GLOB.power_alarm.triggerAlarm(loc, src) autoflag = 0 // update icon & area power if anything changed @@ -1216,27 +1216,27 @@ lighting = autoset(lighting, 1) environ = autoset(environ, 1) autoflag = 3 - power_alarm.clearAlarm(loc, src) + GLOB.power_alarm.clearAlarm(loc, src) else if((cell.percent() <= 30) && (cell.percent() > 15) && longtermpower < 0) // <30%, turn off equipment if(autoflag != 2) equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - power_alarm.triggerAlarm(loc, src) + GLOB.power_alarm.triggerAlarm(loc, src) autoflag = 2 else if(cell.percent() <= 15) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - power_alarm.triggerAlarm(loc, src) + GLOB.power_alarm.triggerAlarm(loc, src) autoflag = 1 else // zero charge, turn all off if(autoflag != 0) equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - power_alarm.triggerAlarm(loc, src) + GLOB.power_alarm.triggerAlarm(loc, src) autoflag = 0 // val 0=off, 1=off(auto) 2=on 3=on(auto) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 5ca606790c6..5520843bd53 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -1,16 +1,17 @@ +#define POWER_IDLE 0 +#define POWER_UP 1 +#define POWER_DOWN 2 +#define PULSE_FREQ 9 SECONDS + +#define GRAV_NEEDS_SCREWDRIVER 0 +#define GRAV_NEEDS_WELDING 1 +#define GRAV_NEEDS_PLASTEEL 2 +#define GRAV_NEEDS_WRENCH 3 + // // Gravity Generator // GLOBAL_DATUM(active_gravity_generator, /obj/machinery/gravity_generator/main) -var/const/POWER_IDLE = 0 -var/const/POWER_UP = 1 -var/const/POWER_DOWN = 2 -var/const/PULSE_FREQ = 9 SECONDS - -var/const/GRAV_NEEDS_SCREWDRIVER = 0 -var/const/GRAV_NEEDS_WELDING = 1 -var/const/GRAV_NEEDS_PLASTEEL = 2 -var/const/GRAV_NEEDS_WRENCH = 3 // // Abstract Generator @@ -262,11 +263,11 @@ var/const/GRAV_NEEDS_WRENCH = 3 charging_state = POWER_IDLE on = new_state if(new_state) // If we turned on - if(!gravity_is_on) + if(!GLOB.gravity_is_on) grav_on() set_power_use(ACTIVE_POWER_USE) else - if(gravity_is_on) + if(GLOB.gravity_is_on) grav_off() set_light(0) set_power_use(IDLE_POWER_USE) @@ -278,8 +279,8 @@ var/const/GRAV_NEEDS_WRENCH = 3 message_admins("GLOB.maps_data.station_levels is blank. Gravgen isn't properly established.") return - gravity_is_on = 1 - update_gravity(gravity_is_on) + GLOB.gravity_is_on = 1 + update_gravity(GLOB.gravity_is_on) investigate_log("was brought full online and is now producing gravity.", "gravity") message_admins("The gravity generator was brought fully online. [ADMIN_JMP(src)]") @@ -288,8 +289,8 @@ var/const/GRAV_NEEDS_WRENCH = 3 message_admins("GLOB.maps_data.station_levels is blank. Gravgen isn't properly established.") return - gravity_is_on = 0 - update_gravity(gravity_is_on) + GLOB.gravity_is_on = 0 + update_gravity(GLOB.gravity_is_on) investigate_log("was brought offline and there is now no gravity.", "gravity") message_admins("The gravity generator was brought offline with no backup generator. [ADMIN_JMP(src)]") shake_everyone() @@ -355,3 +356,13 @@ var/const/GRAV_NEEDS_WRENCH = 3
    • Mend the damaged framework with a welding tool.
    • Add additional plasteel plating.
    • Secure the additional plating with a wrench.
    • "} + +#undef POWER_IDLE +#undef POWER_UP +#undef POWER_DOWN +#undef PULSE_FREQ + +#undef GRAV_NEEDS_SCREWDRIVER +#undef GRAV_NEEDS_WELDING +#undef GRAV_NEEDS_PLASTEEL +#undef GRAV_NEEDS_WRENCH diff --git a/code/modules/random_map/random_map.dm b/code/modules/random_map/random_map.dm index 1781337feb5..321cd07502b 100644 --- a/code/modules/random_map/random_map.dm +++ b/code/modules/random_map/random_map.dm @@ -52,7 +52,9 @@ var/global/list/map_count = list() set_map_size() var/start_time = world.timeofday - if(!do_not_announce) admin_notice(span_danger("Generating [name]."), R_DEBUG) + log_mapping("Generating [name].") + if(!do_not_announce) + message_admins(span_danger("Generating [name].")) sleep(-1) // Testing needed to see how reliable this is (asynchronous calls, called during worldgen), DM ref is not optimistic @@ -61,9 +63,13 @@ var/global/list/map_count = list() for(var/i = 0;i