diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 2d3d869676..0251e6852f 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -94,11 +94,13 @@ icon_state = "cmo_cypherkey" channels = list("Medical" = 1, "Command" = 1) +/*CITADEL CHANGE - comments this out to be overridden in modular_citadel /obj/item/device/encryptionkey/heads/hop name = "\proper the head of personnel's encryption key" desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :v - service, :c - command." icon_state = "hop_cypherkey" channels = list("Supply" = 1, "Service" = 1, "Command" = 1) +*/ /obj/item/device/encryptionkey/headset_cargo name = "supply radio encryption key" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 1362721e1d..823b932e89 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -163,11 +163,13 @@ icon_state = "com_headset" keyslot = new /obj/item/device/encryptionkey/heads/cmo +/*CITADEL CHANGE - comments this out to be overridden in modular_citadel /obj/item/device/radio/headset/heads/hop name = "\proper the head of personnel's headset" desc = "The headset of the guy who will one day be captain.\nChannels are as follows: :u - supply, :v - service, :c - command." icon_state = "com_headset" keyslot = new /obj/item/device/encryptionkey/heads/hop +*/ /obj/item/device/radio/headset/headset_cargo name = "supply radio headset" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index 3f54a3dec2..eff0db0af5 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -9,7 +9,7 @@ new /obj/item/storage/lockbox/medal/cargo(src) new /obj/item/clothing/under/rank/cargo(src) new /obj/item/clothing/shoes/sneakers/brown(src) - new /obj/item/device/radio/headset/headset_cargo(src) +// new /obj/item/device/radio/headset/headset_cargo(src) new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/gloves/fingerless(src) new /obj/item/device/megaphone/cargo(src) diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 54a5b402db..55fbec0c58 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -1,3 +1,4 @@ +/*CITADEL CHANGE - comments this out to be overridden in modular_citadel GLOBAL_LIST_INIT(command_positions, list( "Captain", "Head of Personnel", @@ -5,7 +6,7 @@ GLOBAL_LIST_INIT(command_positions, list( "Chief Engineer", "Research Director", "Chief Medical Officer")) - +*/ GLOBAL_LIST_INIT(engineering_positions, list( "Chief Engineer", @@ -26,13 +27,13 @@ GLOBAL_LIST_INIT(science_positions, list( "Scientist", "Roboticist")) - +/*CITADEL CHANGE - comments this out to be overridden in modular_citadel GLOBAL_LIST_INIT(supply_positions, list( "Head of Personnel", "Quartermaster", "Cargo Technician", "Shaft Miner")) - +*/ GLOBAL_LIST_INIT(civilian_positions, list( "Bartender", diff --git a/modular_citadel/code/game/gamemodes/revolution/revolution.dm b/modular_citadel/code/game/gamemodes/revolution/revolution.dm new file mode 100644 index 0000000000..b6e6c5adaf --- /dev/null +++ b/modular_citadel/code/game/gamemodes/revolution/revolution.dm @@ -0,0 +1,2 @@ +/datum/game_mode/revolution + restricted_jobs = list("Security Officer", "Warden", "Detective", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Quartermaster") \ No newline at end of file diff --git a/modular_citadel/code/game/machinery/computer/card.dm b/modular_citadel/code/game/machinery/computer/card.dm new file mode 100644 index 0000000000..b9dd049d39 --- /dev/null +++ b/modular_citadel/code/game/machinery/computer/card.dm @@ -0,0 +1,3 @@ +/obj/machinery/computer/card + list/blacklisted = list( + "Quartermaster") diff --git a/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm b/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm new file mode 100644 index 0000000000..875d32c5b3 --- /dev/null +++ b/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm @@ -0,0 +1,12 @@ +/obj/item/device/encryptionkey/heads/qm + name = "\proper the quartermaster's encryption key" + desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :c - command." + icon_state = "hop_cypherkey" + channels = list("Supply" = 1, "Command" = 1) + +/obj/item/device/encryptionkey/heads/hop + name = "\proper the head of personnel's encryption key" + desc = "An encryption key for a radio headset. Channels are as follows: :v - service, :c - command." + icon_state = "hop_cypherkey" + channels = list("Service" = 1, "Command" = 1) + diff --git a/modular_citadel/code/game/objects/items/devices/radio/headset.dm b/modular_citadel/code/game/objects/items/devices/radio/headset.dm new file mode 100644 index 0000000000..279898b54e --- /dev/null +++ b/modular_citadel/code/game/objects/items/devices/radio/headset.dm @@ -0,0 +1,12 @@ +/obj/item/device/radio/headset/heads/qm + name = "\proper the quartermaster's headset" + desc = "The headset of the king (or queen) of paperwork.\nChannels are as follows: :u - supply, :c - command." + icon_state = "com_headset" + keyslot = new /obj/item/device/encryptionkey/heads/qm + +/obj/item/device/radio/headset/heads/hop + name = "\proper the head of personnel's headset" + desc = "The headset of the guy who will one day be captain.\nChannels are as follows: :v - service, :c - command." + icon_state = "com_headset" + keyslot = new /obj/item/device/encryptionkey/heads/hop + diff --git a/modular_citadel/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/modular_citadel/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm new file mode 100644 index 0000000000..7c0e9ef71e --- /dev/null +++ b/modular_citadel/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -0,0 +1,5 @@ +/obj/structure/closet/secure_closet/quartermaster/PopulateContents() + ..() + new /obj/item/device/radio/headset/heads/qm(src) + + diff --git a/modular_citadel/code/modules/jobs/job_types/captain.dm b/modular_citadel/code/modules/jobs/job_types/captain.dm new file mode 100644 index 0000000000..f70b8ca51b --- /dev/null +++ b/modular_citadel/code/modules/jobs/job_types/captain.dm @@ -0,0 +1,17 @@ +/datum/job/hop + + head_announce = list("Supply") + + access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS, + ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS, + ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE, + ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER, + ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, + ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM) + minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS, + ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS, + ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE, + ACCESS_CREMATORIUM, ACCESS_KITCHEN, ACCESS_HYDROPONICS, ACCESS_LAWYER, + ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, + ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM) + diff --git a/modular_citadel/code/modules/jobs/job_types/cargo_service.dm b/modular_citadel/code/modules/jobs/job_types/cargo_service.dm new file mode 100644 index 0000000000..1813503f45 --- /dev/null +++ b/modular_citadel/code/modules/jobs/job_types/cargo_service.dm @@ -0,0 +1,27 @@ +/datum/job/qm + department_head = list("Captain") + supervisors = "the captain" + req_admin_notify = 1 + minimal_player_age = 10 + exp_requirements = 180 + exp_type_department = EXP_TYPE_SUPPLY + + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, ACCESS_SEC_DOORS, ACCESS_HEADS) + minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, ACCESS_SEC_DOORS, ACCESS_HEADS) + +/datum/outfit/job/quartermaster + id = /obj/item/card/id/silver + ears = /obj/item/device/radio/headset/heads/qm + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/device/modular_computer/tablet/preset/advanced = 1) + +/datum/job/cargo_tech + department_head = list("Quartermaster") + supervisors = "the quartermaster" + + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) + +/datum/job/mining + department_head = list("Quartermaster") + supervisors = "the quartermaster" + + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) \ No newline at end of file diff --git a/modular_citadel/code/modules/jobs/jobs.dm b/modular_citadel/code/modules/jobs/jobs.dm new file mode 100644 index 0000000000..1e3baa91c3 --- /dev/null +++ b/modular_citadel/code/modules/jobs/jobs.dm @@ -0,0 +1,15 @@ +GLOBAL_LIST_INIT(command_positions, list( + "Captain", + "Head of Personnel", + "Head of Security", + "Chief Engineer", + "Research Director", + "Chief Medical Officer", + "Quartermaster")) + +GLOBAL_LIST_INIT(supply_positions, list( + "Quartermaster", + "Cargo Technician", + "Shaft Miner")) + + diff --git a/tgstation.dme b/tgstation.dme index cf7f7923c3..eb47b55526 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2517,18 +2517,23 @@ #include "modular_citadel\code\datums\uplink_items_cit.dm" #include "modular_citadel\code\datums\mutations\hulk.dm" #include "modular_citadel\code\game\gamemodes\miniantags\bot_swarm\swarmer_event.dm" +#include "modular_citadel\code\game\gamemodes\revolution\revolution.dm" #include "modular_citadel\code\game\machinery\Sleeper.dm" +#include "modular_citadel\code\game\machinery\computer\card.dm" #include "modular_citadel\code\game\objects\ids.dm" #include "modular_citadel\code\game\objects\items\handcuffs.dm" #include "modular_citadel\code\game\objects\items\stunsword.dm" #include "modular_citadel\code\game\objects\items\circuitboards\machine_circuitboards.dm" #include "modular_citadel\code\game\objects\items\devices\aicard.dm" #include "modular_citadel\code\game\objects\items\devices\PDA\PDA.dm" +#include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm" +#include "modular_citadel\code\game\objects\items\devices\radio\headset.dm" #include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm" #include "modular_citadel\code\game\objects\items\melee\eutactic_blades.dm" #include "modular_citadel\code\game\objects\structures\beds_chairs\sofa.dm" #include "modular_citadel\code\game\objects\structures\crates_lockers\closets\fitness.dm" #include "modular_citadel\code\game\objects\structures\crates_lockers\closets\wardrobe.dm" +#include "modular_citadel\code\game\objects\structures\crates_lockers\closets\secure\cargo.dm" #include "modular_citadel\code\modules\admin\admin.dm" #include "modular_citadel\code\modules\admin\holder2.dm" #include "modular_citadel\code\modules\admin\secrets.dm" @@ -2558,6 +2563,9 @@ #include "modular_citadel\code\modules\clothing\under\polychromic_clothes.dm" #include "modular_citadel\code\modules\clothing\under\turtlenecks.dm" #include "modular_citadel\code\modules\crafting\recipes.dm" +#include "modular_citadel\code\modules\jobs\jobs.dm" +#include "modular_citadel\code\modules\jobs\job_types\captain.dm" +#include "modular_citadel\code\modules\jobs\job_types\cargo_service.dm" #include "modular_citadel\code\modules\mentor\follow.dm" #include "modular_citadel\code\modules\mentor\mentor.dm" #include "modular_citadel\code\modules\mentor\mentor_memo.dm"