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..f3b3237834 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,14 +27,14 @@ 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")) - - +*/ +/*CITADEL CHANGE - comments this out to be overridden in modular_citadel GLOBAL_LIST_INIT(civilian_positions, list( "Bartender", "Botanist", @@ -45,7 +46,7 @@ GLOBAL_LIST_INIT(civilian_positions, list( "Clown", "Mime", "Assistant")) - +*/ GLOBAL_LIST_INIT(security_positions, list( "Head of Security", @@ -126,4 +127,4 @@ GLOBAL_PROTECT(exp_specialmap) job = mine_expand.Replace(job, "shaft miner") job = chef_expand.Replace(job, "cook") job = borg_expand.Replace(job, "cyborg") - return job \ No newline at end of file + return job 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..840883e450 --- /dev/null +++ b/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm @@ -0,0 +1,10 @@ +/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 + desc = "An encryption key for a radio headset. Channels are as follows: :v - service, :c - command." + 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..874e6f8301 --- /dev/null +++ b/modular_citadel/code/game/objects/items/devices/radio/headset.dm @@ -0,0 +1,10 @@ +/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 + desc = "The headset of the guy who will one day be captain.\nChannels are as follows: :v - service, :c - command." + 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..224d3e0c7f --- /dev/null +++ b/modular_citadel/code/modules/jobs/job_types/captain.dm @@ -0,0 +1,17 @@ +/datum/job/hop + + head_announce = list("Service") + + 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..85e8043d62 --- /dev/null +++ b/modular_citadel/code/modules/jobs/jobs.dm @@ -0,0 +1,28 @@ +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")) + +GLOBAL_LIST_INIT(civilian_positions, list( + "Head of Personnel", + "Bartender", + "Botanist", + "Cook", + "Janitor", + "Curator", + "Lawyer", + "Chaplain", + "Clown", + "Mime", + "Assistant")) + + diff --git a/strings/sillytips.txt b/strings/sillytips.txt index df6366abdb..79dd683ccd 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -14,7 +14,7 @@ The wizard is supposed to be extremely strong in one on one combat, stop getting Sometimes a round will just be a bust. C'est la vie. This is a game that is constantly being developed for. Expect things to be added, removed, fixed, and broken on a daily basis. It's fun to try and predict the round type from the tip of the round message. -The quartermaster is not a head of staff and will never be one. +They said the QM could never be a head, but we showed them. The bird remembers. Your sprite represents your hitbox, so that afro makes you easier to kill. The sacrifices we make for style. Sometimes admins will just do stuff. Roll with it. diff --git a/tgstation.dme b/tgstation.dme index 7f467630a8..293228412f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2526,8 +2526,10 @@ #include "modular_citadel\code\datums\mutations\hulk.dm" #include "modular_citadel\code\datums\wires\autoylathe.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\cryopod.dm" #include "modular_citadel\code\game\machinery\Sleeper.dm" +#include "modular_citadel\code\game\machinery\computer\card.dm" #include "modular_citadel\code\game\machinery\toylathe.dm" #include "modular_citadel\code\game\machinery\vending.dm" #include "modular_citadel\code\game\objects\ids.dm" @@ -2537,11 +2539,14 @@ #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" @@ -2573,6 +2578,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"