Skip to content
This repository was archived by the owner on May 18, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions baystation12.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1079,6 +1079,8 @@
#include "code\game\objects\items\weapons\beachball.dm"
#include "code\game\objects\items\weapons\cane.dm"
#include "code\game\objects\items\weapons\cards_ids.dm"
#include "code\game\objects\items\weapons\cards_ids_hcz_scps.dm"
#include "code\game\objects\items\weapons\cards_ids_lcz_scps.dm"
#include "code\game\objects\items\weapons\cards_ids_syndicate.dm"
#include "code\game\objects\items\weapons\clothingbag.dm"
#include "code\game\objects\items\weapons\clown_items.dm"
Expand Down
20 changes: 18 additions & 2 deletions code/__defines/access_defs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
#define ACCESS_REGION_GENERAL 6
#define ACCESS_REGION_SUPPLY 7
#define ACCESS_REGION_SERVICE 8

#define ACCESS_REGION_CONTAINMENT 9

#define ACCESS_REGION_OFFSITE 10

// Keep those two up to date
#define ACCESS_REGION_MIN 1
#define ACCESS_REGION_MAX 8
#define ACCESS_REGION_MAX 9

#define ACCESS_TYPE_NONE (1<<0)
#define ACCESS_TYPE_CENTCOM (1<<1)
Expand Down Expand Up @@ -64,9 +64,11 @@
#define ACCESS_TORCH_FAX "ACCESS_TORCH_FAX"

// SCP containment access defines
#define ACCESS_CONTAINMENT_SCP_008 "ACCESS_CONTAINMENT_SCP_008"
#define ACCESS_CONTAINMENT_SCP_012 "ACCESS_CONTAINMENT_SCP_012"
#define ACCESS_CONTAINMENT_SCP_013 "ACCESS_CONTAINMENT_SCP_013"
#define ACCESS_CONTAINMENT_SCP_017 "ACCESS_CONTAINMENT_SCP_017"
#define ACCESS_CONTAINMENT_SCP_035 "ACCESS_CONTAINMENT_SCP_035"
#define ACCESS_CONTAINMENT_SCP_049 "ACCESS_CONTAINMENT_SCP_049"
#define ACCESS_CONTAINMENT_SCP_066 "ACCESS_CONTAINMENT_SCP_066"
#define ACCESS_CONTAINMENT_SCP_078 "ACCESS_CONTAINMENT_SCP_078"
Expand All @@ -80,24 +82,35 @@
#define ACCESS_CONTAINMENT_SCP_131 "ACCESS_CONTAINMENT_SCP_131"
#define ACCESS_CONTAINMENT_SCP_151 "ACCESS_CONTAINMENT_SCP_151"
#define ACCESS_CONTAINMENT_SCP_173 "ACCESS_CONTAINMENT_SCP_173"
#define ACCESS_CONTAINMENT_SCP_216 "ACCESS_CONTAINMENT_SCP_216"
#define ACCESS_CONTAINMENT_SCP_247 "ACCESS_CONTAINMENT_SCP_247"
#define ACCESS_CONTAINMENT_SCP_263 "ACCESS_CONTAINMENT_SCP_263"
#define ACCESS_CONTAINMENT_SCP_280 "ACCESS_CONTAINMENT_SCP_280"
#define ACCESS_CONTAINMENT_SCP_294 "ACCESS_CONTAINMENT_SCP_294"
#define ACCESS_CONTAINMENT_SCP_343 "ACCESS_CONTAINMENT_SCP_343"
#define ACCESS_CONTAINMENT_SCP_347 "ACCESS_CONTAINMENT_SCP_347"
#define ACCESS_CONTAINMENT_SCP_399 "ACCESS_CONTAINMENT_SCP_399"
#define ACCESS_CONTAINMENT_SCP_409 "ACCESS_CONTAINMENT_SCP_409"
#define ACCESS_CONTAINMENT_SCP_457 "ACCESS_CONTAINMENT_SCP_457"
#define ACCESS_CONTAINMENT_SCP_500 "ACCESS_CONTAINMENT_SCP_500"
#define ACCESS_CONTAINMENT_SCP_513 "ACCESS_CONTAINMENT_SCP_513"
#define ACCESS_CONTAINMENT_SCP_527 "ACCESS_CONTAINMENT_SCP_527"
#define ACCESS_CONTAINMENT_SCP_529 "ACCESS_CONTAINMENT_SCP_529"
#define ACCESS_CONTAINMENT_SCP_714 "ACCESS_CONTAINMENT_SCP_714"
#define ACCESS_CONTAINMENT_SCP_895 "ACCESS_CONTAINMENT_SCP_895"
#define ACCESS_CONTAINMENT_SCP_896 "ACCESS_CONTAINMENT_SCP_896"
#define ACCESS_CONTAINMENT_SCP_912 "ACCESS_CONTAINMENT_SCP_912"
#define ACCESS_CONTAINMENT_SCP_914 "ACCESS_CONTAINMENT_SCP_914"
#define ACCESS_CONTAINMENT_SCP_953 "ACCESS_CONTAINMENT_SCP_953"
#define ACCESS_CONTAINMENT_SCP_966 "ACCESS_CONTAINMENT_SCP_966"
#define ACCESS_CONTAINMENT_SCP_999 "ACCESS_CONTAINMENT_SCP_999"
#define ACCESS_CONTAINMENT_SCP_1102_RU "ACCESS_CONTAINMENT_SCP_1102_RU"
#define ACCESS_CONTAINMENT_SCP_1025 "ACCESS_CONTAINMENT_SCP_1025"
#define ACCESS_CONTAINMENT_SCP_1366 "ACCESS_CONTAINMENT_SCP_1366"
#define ACCESS_CONTAINMENT_SCP_1499 "ACCESS_CONTAINMENT_SCP_1499"
#define ACCESS_CONTAINMENT_SCP_1507 "ACCESS_CONTAINMENT_SCP_1507"
#define ACCESS_CONTAINMENT_SCP_2398 "ACCESS_CONTAINMENT_SCP_2398"
#define ACCESS_CONTAINMENT_SCP_5295 "ACCESS_CONTAINMENT_SCP_5295"


//More normal access defines.
Expand All @@ -118,6 +131,9 @@
#define ACCESS_COM_COMMS "ACCESS_COMMS_COMMAND"

#define ACCESS_SECURITY "ACCESS_SECURITY" //1
#define ACCESS_SECURITY_LCZ "ACCESS_LCZ"
#define ACCESS_SECURITY_HCZ "ACCESS_HCZ"
#define ACCESS_SECURITY_ECZ "ACCESS_ECZ"
#define ACCESS_BRIG "ACCESS_BRIG" // Brig timers and permabrig 2
#define ACCESS_ARMORY "ACCESS_ARMORY" //3
#define ACCESS_FORENSICS_LOCKERS "ACCESS_FORENSICS" //4
Expand Down
1 change: 1 addition & 0 deletions code/_global_vars/lists/locations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ GLOBAL_LIST_EMPTY(latejoin_gateway)
GLOBAL_LIST_EMPTY(latejoin_cryo)
GLOBAL_LIST_EMPTY(latejoin_cyborg)
GLOBAL_LIST_EMPTY(latejoin_dclass)
GLOBAL_LIST_EMPTY(latejoin_eclass)
GLOBAL_LIST_EMPTY(latejoin_comms)
GLOBAL_LIST_EMPTY(new_player)

Expand Down
10 changes: 10 additions & 0 deletions code/datums/outfits/jobs/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@
var/path = pick( /obj/item/wrench, /obj/item/screwdriver)
H.equip_to_slot_or_store_or_drop(new path (H), slot_l_store)

/decl/hierarchy/outfit/job/civ/classe
name = OUTFIT_JOB_NAME("Class E")
uniform = /obj/item/clothing/under/redpyjamas
shoes = /obj/item/clothing/shoes/red
l_ear = null
l_pocket = null
id_type = /obj/item/card/id/classe
pda_type = null
back = /obj/item/storage/backpack/satchel/leather

/decl/hierarchy/outfit/job/civ/classd/high
name = OUTFIT_JOB_NAME("High-Security Class D")
uniform = /obj/item/clothing/under/scp/hdclass
Expand Down
4 changes: 3 additions & 1 deletion code/game/jobs/access/_access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

// person with ANY ACCESS in guestpass_access_prerequisites can give out a guestpass
// for this access despite not having this access
var/list/guestpass_access_prerequisites = list()
var/list/guestpass_access_prerequisites = list(ACCESS_PLACEHOLDER_YOU_SHOULDNT_HAVE_THIS)

/datum/access/dd_SortValue()
return "[access_type][desc]"
Expand Down Expand Up @@ -208,6 +208,8 @@
return "Supply"
if(ACCESS_REGION_SERVICE) //nt
return "Service"
if(ACCESS_REGION_CONTAINMENT)
return "Containment"

/proc/get_access_desc(id)
var/list/AS = priv_all_access_datums_id || get_all_access_datums_by_id()
Expand Down
18 changes: 18 additions & 0 deletions code/game/jobs/access/access_security.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,24 @@

// Station

/datum/access/securitylcz
id = ACCESS_SECURITY_LCZ
desc = "Light Containment Zone access"
region = ACCESS_REGION_SECURITY
access_type = ACCESS_TYPE_INNATE

/datum/access/securityhcz
id = ACCESS_SECURITY_HCZ
desc = "Heavy Containment Zone access"
region = ACCESS_REGION_SECURITY
access_type = ACCESS_TYPE_INNATE

/datum/access/securityecz
id = ACCESS_SECURITY_ECZ
desc = "Entrance Containment Zone access"
region = ACCESS_REGION_SECURITY
access_type = ACCESS_TYPE_INNATE

/datum/access/security
id = ACCESS_SECURITY
desc = "Security Equipment"
Expand Down
7 changes: 6 additions & 1 deletion code/game/jobs/job/command.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
duties = "Communicate with your site's department heads. Delegate high-level responsibilities. Manage the site during on-going threats."

/datum/job/captain/get_access()
return get_all_site_access()
var/list/listy = list()
listy = get_all_site_access()
return listy

/datum/job/hop
title = "Site Manager"
Expand Down Expand Up @@ -129,6 +131,9 @@
ACCESS_ENGINEERING_LVL3,
ACCESS_NETWORK,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL3,
Expand Down
49 changes: 9 additions & 40 deletions code/game/jobs/job/engineering.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
access = list(
ACCESS_ENG_COMMS,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL3,
Expand Down Expand Up @@ -77,6 +80,9 @@
access = list(
ACCESS_ENG_COMMS,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL3,
Expand Down Expand Up @@ -136,8 +142,8 @@
access = list(
ACCESS_ENG_COMMS,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_LVL2,
ACCESS_SECURITY_LVL3,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL3,
Expand All @@ -147,41 +153,7 @@
ACCESS_ENGINEERING_LVL3,
ACCESS_ENGINEERING_LVL4,
ACCESS_ATMOSPHERICS,
ACCESS_ENGINE_EQUIP,
ACCESS_CONTAINMENT_SCP_012,
ACCESS_CONTAINMENT_SCP_013,
ACCESS_CONTAINMENT_SCP_017,
ACCESS_CONTAINMENT_SCP_049,
ACCESS_CONTAINMENT_SCP_066,
ACCESS_CONTAINMENT_SCP_078,
ACCESS_CONTAINMENT_SCP_079,
ACCESS_CONTAINMENT_SCP_080,
ACCESS_CONTAINMENT_SCP_082,
ACCESS_CONTAINMENT_SCP_087_B,
ACCESS_CONTAINMENT_SCP_096,
ACCESS_CONTAINMENT_SCP_106,
ACCESS_CONTAINMENT_SCP_113,
ACCESS_CONTAINMENT_SCP_131,
ACCESS_CONTAINMENT_SCP_151,
ACCESS_CONTAINMENT_SCP_173,
ACCESS_CONTAINMENT_SCP_247,
ACCESS_CONTAINMENT_SCP_263,
ACCESS_CONTAINMENT_SCP_280,
ACCESS_CONTAINMENT_SCP_294,
ACCESS_CONTAINMENT_SCP_343,
ACCESS_CONTAINMENT_SCP_399,
ACCESS_CONTAINMENT_SCP_409,
ACCESS_CONTAINMENT_SCP_513,
ACCESS_CONTAINMENT_SCP_529,
ACCESS_CONTAINMENT_SCP_714,
ACCESS_CONTAINMENT_SCP_896,
ACCESS_CONTAINMENT_SCP_953,
ACCESS_CONTAINMENT_SCP_966,
ACCESS_CONTAINMENT_SCP_999,
ACCESS_CONTAINMENT_SCP_1102_RU,
ACCESS_CONTAINMENT_SCP_1025,
ACCESS_CONTAINMENT_SCP_1366,
ACCESS_CONTAINMENT_SCP_1499
ACCESS_ENGINE_EQUIP
)
minimal_access = list()

Expand Down Expand Up @@ -274,7 +246,6 @@
ACCESS_ENGINEERING_LVL1,
ACCESS_ENGINEERING_LVL2,
ACCESS_ENGINEERING_LVL3,
ACCESS_ENGINEERING_LVL4,
ACCESS_SCIENCE_LVL1
)
minimal_access = list()
Expand Down Expand Up @@ -368,7 +339,6 @@
ACCESS_ENG_COMMS,
ACCESS_ENGINEERING_LVL1,
ACCESS_ENGINEERING_LVL2,
ACCESS_ENGINEERING_LVL3,
ACCESS_SCIENCE_LVL1
)
minimal_access = list()
Expand Down Expand Up @@ -417,7 +387,6 @@
access = list(
ACCESS_ENG_COMMS,
ACCESS_ENGINEERING_LVL1,
ACCESS_ENGINEERING_LVL2,
ACCESS_SCIENCE_LVL1
)
minimal_access = list()
Expand Down
9 changes: 9 additions & 0 deletions code/game/jobs/job/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
ACCESS_MEDICAL_LVL4,
ACCESS_MEDICAL_LVL5,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_ADMIN_LVL1,
ACCESS_ADMIN_LVL2,
Expand Down Expand Up @@ -81,6 +84,9 @@
ACCESS_MEDICAL_LVL3,
ACCESS_MEDICAL_LVL4,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_HCZ,
ACCESS_SECURITY_LCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_ADMIN_LVL1,
ACCESS_ADMIN_LVL2,
Expand Down Expand Up @@ -295,6 +301,9 @@
ACCESS_MED_COMMS,
ACCESS_MEDICAL_EQUIP,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_SCIENCE_LVL1,
ACCESS_ENGINEERING_LVL1,
ACCESS_ADMIN_LVL1,
Expand Down
23 changes: 23 additions & 0 deletions code/game/jobs/job/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,29 @@
var/obj/item/card/id/ID = H.wear_id
ID.registered_name = "D-[used_numbers[used_numbers.len]]"

/datum/job/classe
title = "Class E"
department = "Civilian"
selection_color = "#E55700"
economic_power = 1
total_positions = 0
spawn_positions = 0
supervisors = "all Foundation Personnel"
access = list()
minimal_access = list()
outfit_type = /decl/hierarchy/outfit/job/civ/classe
class = CLASS_E
hud_icon = "huddclass"

max_skill = list(
SKILL_COMBAT = SKILL_TRAINED,
SKILL_WEAPONS = SKILL_TRAINED
)

roleplay_difficulty = "Variable"
mechanical_difficulty = "Variable"
duties = "You're a temporary dismissed personal. You're restricted from contact other personal without security."

// LOGISTICS DEPARTMENT
/datum/job/qm
title = "Logistics Officer"
Expand Down
8 changes: 8 additions & 0 deletions code/game/jobs/job/research.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
ACCESS_SCIENCE_LVL3,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL1,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_MEDICAL_LVL1,
ACCESS_ENGINEERING_LVL1,
ACCESS_ADMIN_LVL1,
Expand Down Expand Up @@ -80,6 +84,10 @@
ACCESS_SCIENCE_LVL3,
ACCESS_SCIENCE_LVL2,
ACCESS_SCIENCE_LVL1,
ACCESS_SECURITY_LVL1,
ACCESS_SECURITY_ECZ,
ACCESS_SECURITY_LCZ,
ACCESS_SECURITY_HCZ,
ACCESS_MEDICAL_LVL1,
ACCESS_ENGINEERING_LVL1,
ACCESS_ADMIN_LVL1,
Expand Down
Loading
Loading