mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +00:00
Generalizes access definitions.
Access description, type, and area/region (medical, security, etc.) is now defined in a datum, ensuring the id modification consoles will (should) never be missing entries.
This commit is contained in:
@@ -308,7 +308,9 @@
|
||||
#include "code\game\gamemodes\revolution\revolution.dm"
|
||||
#include "code\game\gamemodes\traitor\traitor.dm"
|
||||
#include "code\game\gamemodes\wizard\wizard.dm"
|
||||
#include "code\game\jobs\_access_defs.dm"
|
||||
#include "code\game\jobs\access.dm"
|
||||
#include "code\game\jobs\access_datum.dm"
|
||||
#include "code\game\jobs\job_controller.dm"
|
||||
#include "code\game\jobs\jobprocs.dm"
|
||||
#include "code\game\jobs\jobs.dm"
|
||||
|
||||
@@ -25,6 +25,6 @@ var/datum/antagonist/deathsquad/mercenary/commandos
|
||||
player.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(player), slot_r_hand)
|
||||
|
||||
var/obj/item/weapon/card/id/id = create_id("Commando", player)
|
||||
id.access |= get_all_accesses()
|
||||
id.access |= get_all_station_access()
|
||||
id.icon_state = "centcom"
|
||||
create_radio(SYND_FREQ, player)
|
||||
@@ -45,7 +45,7 @@ var/datum/antagonist/deathsquad/deathsquad
|
||||
|
||||
var/obj/item/weapon/card/id/id = create_id("Asset Protection", player)
|
||||
if(id)
|
||||
id.access |= get_all_accesses()
|
||||
id.access |= get_all_station_access()
|
||||
id.icon_state = "centcom"
|
||||
create_radio(DTH_FREQ, player)
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ var/datum/antagonist/highlander/highlanders
|
||||
var/obj/item/weapon/card/id/W = new(player)
|
||||
W.name = "[player.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Highlander"
|
||||
W.registered_name = player.real_name
|
||||
|
||||
15
code/game/jobs/_access_defs.dm
Normal file
15
code/game/jobs/_access_defs.dm
Normal file
@@ -0,0 +1,15 @@
|
||||
#define ACCESS_REGION_NONE -1
|
||||
#define ACCESS_REGION_ALL 0
|
||||
#define ACCESS_REGION_SECURITY 1
|
||||
#define ACCESS_REGION_MEDBAY 2
|
||||
#define ACCESS_REGION_RESEARCH 3
|
||||
#define ACCESS_REGION_ENGINEERING 4
|
||||
#define ACCESS_REGION_COMMAND 5
|
||||
#define ACCESS_REGION_GENERAL 6
|
||||
#define ACCESS_REGION_SUPPLY 7
|
||||
|
||||
#define ACCESS_TYPE_NONE 0
|
||||
#define ACCESS_TYPE_STATION 1
|
||||
#define ACCESS_TYPE_CENTCOM 2
|
||||
#define ACCESS_TYPE_SYNDICATE 4
|
||||
#define ACCESS_TYPE_ALL 7
|
||||
@@ -1,91 +1,5 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
/var/const/access_security = 1 // Security equipment
|
||||
/var/const/access_brig = 2 // Brig timers and permabrig
|
||||
/var/const/access_armory = 3
|
||||
/var/const/access_forensics_lockers= 4
|
||||
/var/const/access_medical = 5
|
||||
/var/const/access_morgue = 6
|
||||
/var/const/access_tox = 7
|
||||
/var/const/access_tox_storage = 8
|
||||
/var/const/access_genetics = 9
|
||||
/var/const/access_engine = 10 //engineering hallways
|
||||
/var/const/access_engine_equip = 11
|
||||
/var/const/access_maint_tunnels = 12
|
||||
/var/const/access_external_airlocks = 13
|
||||
/var/const/access_emergency_storage = 14
|
||||
/var/const/access_change_ids = 15
|
||||
/var/const/access_ai_upload = 16
|
||||
/var/const/access_teleporter = 17
|
||||
/var/const/access_eva = 18
|
||||
/var/const/access_heads = 19
|
||||
/var/const/access_captain = 20
|
||||
/var/const/access_all_personal_lockers = 21
|
||||
/var/const/access_chapel_office = 22
|
||||
/var/const/access_tech_storage = 23
|
||||
/var/const/access_atmospherics = 24
|
||||
/var/const/access_bar = 25
|
||||
/var/const/access_janitor = 26
|
||||
/var/const/access_crematorium = 27
|
||||
/var/const/access_kitchen = 28
|
||||
/var/const/access_robotics = 29
|
||||
/var/const/access_rd = 30
|
||||
/var/const/access_cargo = 31
|
||||
/var/const/access_construction = 32
|
||||
/var/const/access_chemistry = 33
|
||||
/var/const/access_cargo_bot = 34
|
||||
/var/const/access_hydroponics = 35
|
||||
/var/const/access_manufacturing = 36
|
||||
/var/const/access_library = 37
|
||||
/var/const/access_lawyer = 38
|
||||
/var/const/access_virology = 39
|
||||
/var/const/access_cmo = 40
|
||||
/var/const/access_qm = 41
|
||||
/var/const/access_court = 42
|
||||
/var/const/access_clown = 43
|
||||
/var/const/access_mime = 44
|
||||
/var/const/access_surgery = 45
|
||||
/var/const/access_theatre = 46
|
||||
/var/const/access_research = 47
|
||||
/var/const/access_mining = 48
|
||||
/var/const/access_mining_office = 49 //not in use
|
||||
/var/const/access_mailsorting = 50
|
||||
/var/const/access_mint = 51
|
||||
/var/const/access_mint_vault = 52
|
||||
/var/const/access_heads_vault = 53
|
||||
/var/const/access_mining_station = 54
|
||||
/var/const/access_xenobiology = 55
|
||||
/var/const/access_ce = 56
|
||||
/var/const/access_hop = 57
|
||||
/var/const/access_hos = 58
|
||||
/var/const/access_RC_announce = 59 //Request console announcements
|
||||
/var/const/access_keycard_auth = 60 //Used for events which require at least two people to confirm them
|
||||
/var/const/access_tcomsat = 61 // has access to the entire telecomms satellite / machinery
|
||||
/var/const/access_gateway = 62
|
||||
/var/const/access_sec_doors = 63 // Security front doors
|
||||
/var/const/access_psychiatrist = 64 // Psychiatrist's office
|
||||
/var/const/access_xenoarch = 65
|
||||
/var/const/access_medical_equip = 66
|
||||
|
||||
//BEGIN CENTCOM ACCESS
|
||||
/*Should leave plenty of room if we need to add more access levels.
|
||||
/var/const/Mostly for admin fun times.*/
|
||||
/var/const/access_cent_general = 101//General facilities.
|
||||
/var/const/access_cent_thunder = 102//Thunderdome.
|
||||
/var/const/access_cent_specops = 103//Special Ops.
|
||||
/var/const/access_cent_medical = 104//Medical/Research
|
||||
/var/const/access_cent_living = 105//Living quarters.
|
||||
/var/const/access_cent_storage = 106//Generic storage areas.
|
||||
/var/const/access_cent_teleporter = 107//Teleporter.
|
||||
/var/const/access_cent_creed = 108//Creed's office.
|
||||
/var/const/access_cent_captain = 109//Captain's office/ID comp/AI.
|
||||
|
||||
//The Syndicate
|
||||
/var/const/access_syndicate = 150//General Syndicate Access
|
||||
|
||||
//MONEY
|
||||
/var/const/access_crate_cash = 200
|
||||
|
||||
/obj/var/list/req_access = list()
|
||||
/obj/var/list/req_one_access = list()
|
||||
|
||||
@@ -107,7 +21,7 @@
|
||||
/obj/item/proc/GetAccess()
|
||||
return list()
|
||||
|
||||
/obj/item/proc/GetID()
|
||||
/obj/proc/GetID()
|
||||
return null
|
||||
|
||||
/obj/proc/check_access(obj/item/I)
|
||||
@@ -149,217 +63,98 @@
|
||||
if("Supreme Commander")
|
||||
return get_all_centcom_access()
|
||||
|
||||
/var/list/datum/access/priv_all_access_datums
|
||||
/proc/get_all_access_datums()
|
||||
if(!priv_all_access_datums)
|
||||
priv_all_access_datums = init_subtypes(/datum/access)
|
||||
|
||||
return priv_all_access_datums
|
||||
|
||||
/var/list/datum/access/priv_all_access_datums_assoc
|
||||
/proc/get_all_access_datums_assoc()
|
||||
if(!priv_all_access_datums_assoc)
|
||||
priv_all_access_datums_assoc = list()
|
||||
for(var/datum/access/A in get_all_access_datums())
|
||||
priv_all_access_datums_assoc["[A.id]"] = A
|
||||
|
||||
return priv_all_access_datums_assoc
|
||||
|
||||
/proc/get_access_ids(var/access_types = ACCESS_TYPE_ALL)
|
||||
var/list/L = new()
|
||||
for(var/datum/access/A in get_all_access_datums())
|
||||
if(A.access_type & access_types)
|
||||
L += A.id
|
||||
return L
|
||||
|
||||
/var/list/priv_all_access
|
||||
/proc/get_all_accesses()
|
||||
return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
|
||||
access_medical, access_genetics, access_morgue, access_rd,
|
||||
access_tox, access_tox_storage, access_chemistry, access_engine, access_engine_equip, access_maint_tunnels,
|
||||
access_external_airlocks, access_change_ids, access_ai_upload,
|
||||
access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers,
|
||||
access_tech_storage, access_chapel_office, access_atmospherics, access_kitchen,
|
||||
access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_construction,
|
||||
access_hydroponics, access_library, access_lawyer, access_virology, access_psychiatrist, access_cmo, access_qm, access_clown, access_mime, access_surgery,
|
||||
access_theatre, access_research, access_mining, access_mailsorting,
|
||||
access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce,
|
||||
access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_medical_equip)
|
||||
if(!priv_all_access)
|
||||
priv_all_access = get_access_ids()
|
||||
|
||||
return priv_all_access
|
||||
|
||||
/var/list/priv_station_access
|
||||
/proc/get_all_station_access()
|
||||
if(!priv_station_access)
|
||||
priv_station_access = get_access_ids(ACCESS_TYPE_STATION)
|
||||
|
||||
return priv_station_access
|
||||
|
||||
/var/list/priv_centcom_access
|
||||
/proc/get_all_centcom_access()
|
||||
return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_creed, access_cent_captain)
|
||||
if(!priv_centcom_access)
|
||||
priv_centcom_access = get_access_ids(ACCESS_TYPE_CENTCOM)
|
||||
|
||||
return priv_centcom_access
|
||||
|
||||
/var/list/priv_syndicate_access
|
||||
/proc/get_all_syndicate_access()
|
||||
return list(access_syndicate)
|
||||
if(!priv_syndicate_access)
|
||||
priv_syndicate_access = get_access_ids(ACCESS_TYPE_SYNDICATE)
|
||||
|
||||
return priv_syndicate_access
|
||||
|
||||
/var/list/priv_region_access
|
||||
/proc/get_region_accesses(var/code)
|
||||
switch(code)
|
||||
if(0)
|
||||
return get_all_accesses()
|
||||
if(1) //security
|
||||
return list(access_sec_doors, access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos)
|
||||
if(2) //medbay
|
||||
return list(access_medical, access_medical_equip, access_genetics, access_morgue, access_chemistry, access_psychiatrist, access_virology, access_surgery, access_cmo)
|
||||
if(3) //research
|
||||
return list(access_research, access_tox, access_tox_storage, access_robotics, access_xenobiology, access_xenoarch, access_rd)
|
||||
if(4) //engineering and maintenance
|
||||
return list(access_construction, access_maint_tunnels, access_engine, access_engine_equip, access_external_airlocks, access_tech_storage, access_atmospherics, access_ce)
|
||||
if(5) //command
|
||||
return list(access_heads, access_RC_announce, access_keycard_auth, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_tcomsat, access_gateway, access_all_personal_lockers, access_heads_vault, access_hop, access_captain)
|
||||
if(6) //station general
|
||||
return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
|
||||
if(7) //supply
|
||||
return list(access_mailsorting, access_mining, access_mining_station, access_cargo, access_qm)
|
||||
if(code == ACCESS_REGION_ALL)
|
||||
return get_all_station_access()
|
||||
|
||||
if(!priv_region_access)
|
||||
priv_region_access = list()
|
||||
for(var/datum/access/A in get_all_access_datums())
|
||||
if(!priv_region_access["[A.region]"])
|
||||
priv_region_access["[A.region]"] = list()
|
||||
priv_region_access["[A.region]"] += A.id
|
||||
|
||||
return priv_region_access["[code]"]
|
||||
|
||||
/proc/get_region_accesses_name(var/code)
|
||||
switch(code)
|
||||
if(0)
|
||||
if(ACCESS_REGION_ALL)
|
||||
return "All"
|
||||
if(1) //security
|
||||
if(ACCESS_REGION_SECURITY) //security
|
||||
return "Security"
|
||||
if(2) //medbay
|
||||
if(ACCESS_REGION_MEDBAY) //medbay
|
||||
return "Medbay"
|
||||
if(3) //research
|
||||
if(ACCESS_REGION_RESEARCH) //research
|
||||
return "Research"
|
||||
if(4) //engineering and maintenance
|
||||
if(ACCESS_REGION_ENGINEERING) //engineering and maintenance
|
||||
return "Engineering"
|
||||
if(5) //command
|
||||
if(ACCESS_REGION_COMMAND) //command
|
||||
return "Command"
|
||||
if(6) //station general
|
||||
if(ACCESS_REGION_GENERAL) //station general
|
||||
return "Station General"
|
||||
if(7) //supply
|
||||
if(ACCESS_REGION_SUPPLY) //supply
|
||||
return "Supply"
|
||||
|
||||
/proc/get_access_desc(id)
|
||||
var/list/AS = get_all_access_datums_assoc()
|
||||
var/datum/access/A = AS["[id]"]
|
||||
|
||||
/proc/get_access_desc(A)
|
||||
switch(A)
|
||||
if(access_cargo)
|
||||
return "Cargo Bay"
|
||||
if(access_cargo_bot)
|
||||
return "Cargo Bot Delivery"
|
||||
if(access_security)
|
||||
return "Security Equipment"
|
||||
if(access_brig)
|
||||
return "Holding Cells"
|
||||
if(access_court)
|
||||
return "Courtroom"
|
||||
if(access_forensics_lockers)
|
||||
return "Forensics"
|
||||
if(access_medical)
|
||||
return "Medical"
|
||||
if(access_genetics)
|
||||
return "Genetics Lab"
|
||||
if(access_morgue)
|
||||
return "Morgue"
|
||||
if(access_tox)
|
||||
return "R&D Lab"
|
||||
if(access_tox_storage)
|
||||
return "Toxins Lab"
|
||||
if(access_chemistry)
|
||||
return "Chemistry Lab"
|
||||
if(access_rd)
|
||||
return "Research Director"
|
||||
if(access_bar)
|
||||
return "Bar"
|
||||
if(access_janitor)
|
||||
return "Custodial Closet"
|
||||
if(access_engine)
|
||||
return "Engineering"
|
||||
if(access_engine_equip)
|
||||
return "Power Equipment"
|
||||
if(access_maint_tunnels)
|
||||
return "Maintenance"
|
||||
if(access_external_airlocks)
|
||||
return "External Airlocks"
|
||||
if(access_emergency_storage)
|
||||
return "Emergency Storage"
|
||||
if(access_change_ids)
|
||||
return "ID Computer"
|
||||
if(access_ai_upload)
|
||||
return "AI Upload"
|
||||
if(access_teleporter)
|
||||
return "Teleporter"
|
||||
if(access_eva)
|
||||
return "EVA"
|
||||
if(access_heads)
|
||||
return "Bridge"
|
||||
if(access_captain)
|
||||
return "Captain"
|
||||
if(access_all_personal_lockers)
|
||||
return "Personal Lockers"
|
||||
if(access_chapel_office)
|
||||
return "Chapel Office"
|
||||
if(access_tech_storage)
|
||||
return "Technical Storage"
|
||||
if(access_atmospherics)
|
||||
return "Atmospherics"
|
||||
if(access_crematorium)
|
||||
return "Crematorium"
|
||||
if(access_armory)
|
||||
return "Armory"
|
||||
if(access_construction)
|
||||
return "Construction Areas"
|
||||
if(access_kitchen)
|
||||
return "Kitchen"
|
||||
if(access_hydroponics)
|
||||
return "Hydroponics"
|
||||
if(access_library)
|
||||
return "Library"
|
||||
if(access_lawyer)
|
||||
return "Law Office"
|
||||
if(access_robotics)
|
||||
return "Robotics"
|
||||
if(access_virology)
|
||||
return "Virology"
|
||||
if(access_psychiatrist)
|
||||
return "Psychiatrist's Office"
|
||||
if(access_cmo)
|
||||
return "Chief Medical Officer"
|
||||
if(access_qm)
|
||||
return "Quartermaster"
|
||||
/* if(access_clown)
|
||||
return "HONK! Access"
|
||||
if(access_mime)
|
||||
return "Silent Access"*/
|
||||
if(access_surgery)
|
||||
return "Surgery"
|
||||
if(access_theatre)
|
||||
return "Theatre"
|
||||
if(access_manufacturing)
|
||||
return "Manufacturing"
|
||||
if(access_research)
|
||||
return "Science"
|
||||
if(access_mining)
|
||||
return "Mining"
|
||||
if(access_mining_office)
|
||||
return "Mining Office"
|
||||
if(access_mailsorting)
|
||||
return "Cargo Office"
|
||||
if(access_mint)
|
||||
return "Mint"
|
||||
if(access_mint_vault)
|
||||
return "Mint Vault"
|
||||
if(access_heads_vault)
|
||||
return "Main Vault"
|
||||
if(access_mining_station)
|
||||
return "Mining EVA"
|
||||
if(access_xenobiology)
|
||||
return "Xenobiology Lab"
|
||||
if(access_xenoarch)
|
||||
return "Xenoarchaeology"
|
||||
if(access_hop)
|
||||
return "Head of Personnel"
|
||||
if(access_hos)
|
||||
return "Head of Security"
|
||||
if(access_ce)
|
||||
return "Chief Engineer"
|
||||
if(access_RC_announce)
|
||||
return "RC Announcements"
|
||||
if(access_keycard_auth)
|
||||
return "Keycode Auth. Device"
|
||||
if(access_tcomsat)
|
||||
return "Telecommunications"
|
||||
if(access_gateway)
|
||||
return "Gateway"
|
||||
if(access_sec_doors)
|
||||
return "Security"
|
||||
return A ? A.desc : ""
|
||||
|
||||
/proc/get_centcom_access_desc(A)
|
||||
switch(A)
|
||||
if(access_cent_general)
|
||||
return "Code Grey"
|
||||
if(access_cent_thunder)
|
||||
return "Code Yellow"
|
||||
if(access_cent_storage)
|
||||
return "Code Orange"
|
||||
if(access_cent_living)
|
||||
return "Code Green"
|
||||
if(access_cent_medical)
|
||||
return "Code White"
|
||||
if(access_cent_teleporter)
|
||||
return "Code Blue"
|
||||
if(access_cent_specops)
|
||||
return "Code Black"
|
||||
if(access_cent_creed)
|
||||
return "Code Silver"
|
||||
if(access_cent_captain)
|
||||
return "Code Gold"
|
||||
return get_access_desc(A)
|
||||
|
||||
/proc/get_all_jobs()
|
||||
var/list/all_jobs = list()
|
||||
@@ -403,12 +198,7 @@ proc/get_all_job_icons() //For all existing HUD icons
|
||||
return joblist + list("Prisoner")
|
||||
|
||||
/obj/proc/GetJobName() //Used in secHUD icon generation
|
||||
var/obj/item/weapon/card/id/I
|
||||
if(istype(src, /obj/item/device/pda))
|
||||
var/obj/item/device/pda/P = src
|
||||
I = P.id
|
||||
else if(istype(src, /obj/item/weapon/card/id))
|
||||
I = src
|
||||
var/obj/item/weapon/card/id/I = GetID()
|
||||
|
||||
if(I)
|
||||
var/job_icons = get_all_job_icons()
|
||||
|
||||
475
code/game/jobs/access_datum.dm
Normal file
475
code/game/jobs/access_datum.dm
Normal file
@@ -0,0 +1,475 @@
|
||||
/datum/access
|
||||
var/id = 0
|
||||
var/desc = ""
|
||||
var/region = ACCESS_REGION_NONE
|
||||
var/access_type = ACCESS_TYPE_STATION
|
||||
|
||||
/*****************
|
||||
* Station access *
|
||||
*****************/
|
||||
/var/const/access_security = 1
|
||||
/datum/access/security
|
||||
id = access_security
|
||||
desc = "Security Equipment"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_brig = 2 // Brig timers and permabrig
|
||||
/datum/access/security
|
||||
id = access_brig
|
||||
desc = "Holding Cells"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_armory = 3
|
||||
/datum/access/armory
|
||||
id = access_armory
|
||||
desc = "Armory"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_forensics_lockers = 4
|
||||
/datum/access/forensics_lockers
|
||||
id = access_forensics_lockers
|
||||
desc = "Forensics"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_medical = 5
|
||||
/datum/access/medical
|
||||
id = access_medical
|
||||
desc = "Medical"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_morgue = 6
|
||||
/datum/access/morgue
|
||||
id = access_morgue
|
||||
desc = "Morgue"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_tox = 7
|
||||
/datum/access/tox
|
||||
id = access_tox
|
||||
desc = "R&D Lab"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_tox_storage = 8
|
||||
/datum/access/tox_storage
|
||||
id = access_tox_storage
|
||||
desc = "Toxins Lab"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_genetics = 9
|
||||
/datum/access/genetics
|
||||
id = access_genetics
|
||||
desc = "Genetics Lab"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_engine = 10
|
||||
/datum/access/engine
|
||||
id = access_engine
|
||||
desc = "Engineering"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_engine_equip = 11
|
||||
/datum/access/engine_equip
|
||||
id = access_engine_equip
|
||||
desc = "Engine Room"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_maint_tunnels = 12
|
||||
/datum/access/maint_tunnels
|
||||
id = access_maint_tunnels
|
||||
desc = "Maintenance"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_external_airlocks = 13
|
||||
/datum/access/external_airlocks
|
||||
id = access_external_airlocks
|
||||
desc = "External Airlocks"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_emergency_storage = 14
|
||||
/datum/access/emergency_storage
|
||||
id = access_emergency_storage
|
||||
desc = "Emergency Storage"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_change_ids = 15
|
||||
/datum/access/change_ids
|
||||
id = access_change_ids
|
||||
desc = "ID Computer"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_ai_upload = 16
|
||||
/datum/access/ai_upload
|
||||
id = access_ai_upload
|
||||
desc = "AI Upload"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_teleporter = 17
|
||||
/datum/access/teleporter
|
||||
id = access_teleporter
|
||||
desc = "Teleporter"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_eva = 18
|
||||
/datum/access/eva
|
||||
id = access_eva
|
||||
desc = "EVA"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_heads = 19
|
||||
/datum/access/heads
|
||||
id = access_heads
|
||||
desc = "Bridge"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_captain = 20
|
||||
/datum/access/captain
|
||||
id = access_captain
|
||||
desc = "Captain"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_all_personal_lockers = 21
|
||||
/datum/access/all_personal_lockers
|
||||
id = access_all_personal_lockers
|
||||
desc = "Personal Lockers"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_chapel_office = 22
|
||||
/datum/access/chapel_office
|
||||
id = access_chapel_office
|
||||
desc = "Chapel Office"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_tech_storage = 23
|
||||
/datum/access/tech_storage
|
||||
id = access_tech_storage
|
||||
desc = "Technical Storage"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_atmospherics = 24
|
||||
/datum/access/atmospherics
|
||||
id = access_atmospherics
|
||||
desc = "Atmospherics"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_bar = 25
|
||||
/datum/access/bar
|
||||
id = access_bar
|
||||
desc = "Bar"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_janitor = 26
|
||||
/datum/access/janitor
|
||||
id = access_janitor
|
||||
desc = "Custodial Closet"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_crematorium = 27
|
||||
/datum/access/crematorium
|
||||
id = access_crematorium
|
||||
desc = "Crematorium"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_kitchen = 28
|
||||
/datum/access/kitchen
|
||||
id = access_kitchen
|
||||
desc = "Kitchen"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_robotics = 29
|
||||
/datum/access/robotics
|
||||
id = access_robotics
|
||||
desc = "Robotics"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_rd = 30
|
||||
/datum/access/rd
|
||||
id = access_rd
|
||||
desc = "Research Director"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_cargo = 31
|
||||
/datum/access/cargo
|
||||
id = access_cargo
|
||||
desc = "Cargo Bay"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_construction = 32
|
||||
/datum/access/construction
|
||||
id = access_construction
|
||||
desc = "Construction Areas"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_chemistry = 33
|
||||
/datum/access/chemistry
|
||||
id = access_chemistry
|
||||
desc = "Chemistry Lab"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_cargo_bot = 34
|
||||
/datum/access/cargo_bot
|
||||
id = access_cargo_bot
|
||||
desc = "Cargo Bot Delivery"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_hydroponics = 35
|
||||
/datum/access/hydroponics
|
||||
id = access_hydroponics
|
||||
desc = "Hydroponics"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_manufacturing = 36
|
||||
/datum/access/manufacturing
|
||||
id = access_manufacturing
|
||||
desc = "Manufacturing"
|
||||
access_type = ACCESS_TYPE_NONE
|
||||
|
||||
/var/const/access_library = 37
|
||||
/datum/access/library
|
||||
id = access_library
|
||||
desc = "Library"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_lawyer = 38
|
||||
/datum/access/lawyer
|
||||
id = access_lawyer
|
||||
desc = "Law Office"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_virology = 39
|
||||
/datum/access/virology
|
||||
id = access_virology
|
||||
desc = "Virology"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_cmo = 40
|
||||
/datum/access/cmo
|
||||
id = access_cmo
|
||||
desc = "Chief Medical Officer"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_qm = 41
|
||||
/datum/access/qm
|
||||
id = access_qm
|
||||
desc = "Quartermaster"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_court = 42
|
||||
/datum/access/court
|
||||
id = access_court
|
||||
desc = "Courtroom"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_clown = 43
|
||||
/datum/access/clown
|
||||
id = access_clown
|
||||
desc = "HONK! Access"
|
||||
|
||||
/var/const/access_mime = 44
|
||||
/datum/access/mime
|
||||
id = access_mime
|
||||
desc = "Silent Access"
|
||||
|
||||
/var/const/access_surgery = 45
|
||||
/datum/access/surgery
|
||||
id = access_surgery
|
||||
desc = "Surgery"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_theatre = 46
|
||||
/datum/access/theatre
|
||||
id = access_theatre
|
||||
desc = "Theatre"
|
||||
region = ACCESS_REGION_GENERAL
|
||||
|
||||
/var/const/access_research = 47
|
||||
/datum/access/research
|
||||
id = access_research
|
||||
desc = "Science"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_mining = 48
|
||||
/datum/access/mining
|
||||
id = access_mining
|
||||
desc = "Mining"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_mining_office = 49
|
||||
/datum/access/mining_office
|
||||
id = access_mining_office
|
||||
desc = "Mining Office"
|
||||
access_type = ACCESS_TYPE_NONE
|
||||
|
||||
/var/const/access_mailsorting = 50
|
||||
/datum/access/mailsorting
|
||||
id = access_mailsorting
|
||||
desc = "Cargo Office"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_mint = 51
|
||||
/datum/access/mint
|
||||
id = access_mint
|
||||
desc = "Mint"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_mint_vault = 52
|
||||
/datum/access/mint_vault
|
||||
id = access_mint_vault
|
||||
desc = "Mint Vault"
|
||||
access_type = ACCESS_TYPE_NONE
|
||||
|
||||
/var/const/access_heads_vault = 53
|
||||
/datum/access/heads_vault
|
||||
id = access_heads_vault
|
||||
desc = "Main Vault"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_mining_station = 54
|
||||
/datum/access/mining_station
|
||||
id = access_mining_station
|
||||
desc = "Mining EVA"
|
||||
region = ACCESS_REGION_SUPPLY
|
||||
|
||||
/var/const/access_xenobiology = 55
|
||||
/datum/access/xenobiology
|
||||
id = access_xenobiology
|
||||
desc = "Xenobiology Lab"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_ce = 56
|
||||
/datum/access/ce
|
||||
id = access_ce
|
||||
desc = "Chief Engineer"
|
||||
region = ACCESS_REGION_ENGINEERING
|
||||
|
||||
/var/const/access_hop = 57
|
||||
/datum/access/hop
|
||||
id = access_hop
|
||||
desc = "Head of Personnel"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_hos = 58
|
||||
/datum/access/hos
|
||||
id = access_hos
|
||||
desc = "Head of Security"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_RC_announce = 59 //Request console announcements
|
||||
/datum/access/RC_announce
|
||||
id = access_RC_announce
|
||||
desc = "RC Announcements"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_keycard_auth = 60 //Used for events which require at least two people to confirm them
|
||||
/datum/access/keycard_auth
|
||||
id = access_keycard_auth
|
||||
desc = "Keycode Auth. Device"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_tcomsat = 61 // has access to the entire telecomms satellite / machinery
|
||||
/datum/access/tcomsat
|
||||
id = access_tcomsat
|
||||
desc = "Telecommunications"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_gateway = 62
|
||||
/datum/access/gateway
|
||||
id = access_gateway
|
||||
desc = "Gateway"
|
||||
region = ACCESS_REGION_COMMAND
|
||||
|
||||
/var/const/access_sec_doors = 63 // Security front doors
|
||||
/datum/access/sec_doors
|
||||
id = access_sec_doors
|
||||
desc = "Security"
|
||||
region = ACCESS_REGION_SECURITY
|
||||
|
||||
/var/const/access_psychiatrist = 64 // Psychiatrist's office
|
||||
/datum/access/psychiatrist
|
||||
id = access_psychiatrist
|
||||
desc = "Psychiatrist's Office"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/var/const/access_xenoarch = 65
|
||||
/datum/access/xenoarch
|
||||
id = access_xenoarch
|
||||
desc = "Xenoarchaeology"
|
||||
region = ACCESS_REGION_RESEARCH
|
||||
|
||||
/var/const/access_medical_equip = 66
|
||||
/datum/access/medical_equip
|
||||
id = access_medical_equip
|
||||
desc = "Medical Equipment"
|
||||
region = ACCESS_REGION_MEDBAY
|
||||
|
||||
/******************
|
||||
* Central Command *
|
||||
******************/
|
||||
/var/const/access_cent_general = 101//General facilities.
|
||||
/datum/access/cent_general
|
||||
id = access_cent_general
|
||||
desc = "Code Grey"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_thunder = 102//Thunderdome.
|
||||
/datum/access/cent_thunder
|
||||
id = access_cent_thunder
|
||||
desc = "Code Yellow"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_specops = 103//Special Ops.
|
||||
/datum/access/cent_specops
|
||||
id = access_cent_specops
|
||||
desc = "Code Black"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_medical = 104//Medical/Research
|
||||
/datum/access/cent_medical
|
||||
id = access_cent_medical
|
||||
desc = "Code White"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_living = 105//Living quarters.
|
||||
/datum/access/cent_living
|
||||
id = access_cent_living
|
||||
desc = "Code Green"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_storage = 106//Generic storage areas.
|
||||
/datum/access/cent_storage
|
||||
id = access_cent_storage
|
||||
desc = "Code Orange"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_teleporter = 107//Teleporter.
|
||||
/datum/access/cent_teleporter
|
||||
id = access_cent_teleporter
|
||||
desc = "Code Blue"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_creed = 108//Creed's office.
|
||||
/datum/access/cent_creed
|
||||
id = access_cent_creed
|
||||
desc = "Code Silver"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/var/const/access_cent_captain = 109//Captain's office/ID comp/AI.
|
||||
/datum/access/cent_captain
|
||||
id = access_cent_captain
|
||||
desc = "Code Gold"
|
||||
access_type = ACCESS_TYPE_CENTCOM
|
||||
|
||||
/***************
|
||||
* Antag access *
|
||||
***************/
|
||||
/var/const/access_syndicate = 150//General Syndicate Access
|
||||
/datum/access/syndicate
|
||||
id = access_syndicate
|
||||
access_type = ACCESS_TYPE_SYNDICATE
|
||||
|
||||
/*******
|
||||
* Misc *
|
||||
*******/
|
||||
/var/const/access_crate_cash = 200
|
||||
/datum/access/crate_cash
|
||||
id = access_crate_cash
|
||||
access_type = ACCESS_TYPE_NONE
|
||||
@@ -1 +0,0 @@
|
||||
var/list/departments = list("Command", "Medical", "Engineering", "Security", "Civilian", "Cargo")
|
||||
@@ -42,7 +42,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
|
||||
return 1
|
||||
|
||||
get_access()
|
||||
return get_all_accesses()
|
||||
return get_all_station_access()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@
|
||||
if(is_authenticated())
|
||||
var/access_type = text2num(href_list["access_target"])
|
||||
var/access_allowed = text2num(href_list["allowed"])
|
||||
if(access_type in (is_centcom() ? get_all_centcom_access() : get_all_accesses()))
|
||||
if(access_type in (is_centcom() ? get_all_centcom_access() : get_all_station_access()))
|
||||
modify.access -= access_type
|
||||
if(!access_allowed)
|
||||
modify.access += access_type
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
t1 += "<br>"
|
||||
|
||||
var/list/accesses = get_all_accesses()
|
||||
var/list/accesses = get_all_station_access()
|
||||
for (var/acc in accesses)
|
||||
var/aname = get_access_desc(acc)
|
||||
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
registered_name = "Captain"
|
||||
assignment = "Captain"
|
||||
New()
|
||||
access = get_all_accesses()
|
||||
access = get_all_station_access()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/card/id/centcom
|
||||
@@ -289,4 +289,4 @@
|
||||
|
||||
/obj/item/weapon/card/id/centcom/ERT/New()
|
||||
..()
|
||||
access += get_all_accesses()
|
||||
access += get_all_station_access()
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
open()
|
||||
else
|
||||
src.req_access = list()
|
||||
src.req_access += pick(get_all_accesses())
|
||||
src.req_access += pick(get_all_station_access())
|
||||
..()
|
||||
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
|
||||
|
||||
@@ -222,7 +222,7 @@
|
||||
open()
|
||||
else
|
||||
src.req_access = list()
|
||||
src.req_access += pick(get_all_accesses())
|
||||
src.req_access += pick(get_all_station_access())
|
||||
..()
|
||||
|
||||
/obj/structure/closet/crate/plastic
|
||||
|
||||
@@ -387,11 +387,11 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
var/obj/item/device/pda/pda = H.wear_id
|
||||
id = pda.id
|
||||
id.icon_state = "gold"
|
||||
id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
|
||||
id.access = get_all_accesses()
|
||||
else
|
||||
var/obj/item/weapon/card/id/id = new/obj/item/weapon/card/id(M);
|
||||
id.icon_state = "gold"
|
||||
id:access = get_all_accesses()+get_all_centcom_access()+get_all_syndicate_access()
|
||||
id.access = get_all_accesses()
|
||||
id.registered_name = H.real_name
|
||||
id.assignment = "Captain"
|
||||
id.name = "[id.registered_name]'s ID Card ([id.assignment])"
|
||||
@@ -682,7 +682,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.assignment = "Tunnel Clown!"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
@@ -739,7 +739,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
var/obj/item/weapon/card/id/syndicate/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.assignment = "Reaper"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
@@ -769,7 +769,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.item_state = "id_inv"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
|
||||
W.assignment = "NanoTrasen Navy Representative"
|
||||
W.registered_name = M.real_name
|
||||
@@ -793,7 +793,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "NanoTrasen Navy Officer"
|
||||
W.registered_name = M.real_name
|
||||
@@ -818,7 +818,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "NanoTrasen Navy Captain"
|
||||
W.registered_name = M.real_name
|
||||
@@ -836,7 +836,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Emergency Response Team"
|
||||
W.registered_name = M.real_name
|
||||
@@ -858,7 +858,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Special Operations Officer"
|
||||
W.registered_name = M.real_name
|
||||
@@ -912,7 +912,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access = get_all_station_access()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Admiral"
|
||||
W.registered_name = M.real_name
|
||||
|
||||
Reference in New Issue
Block a user