diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 368a3e69c93..e04adb83d04 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -85,6 +85,7 @@ var/list/eng = list() var/list/med = list() var/list/sci = list() + var/list/sup = list() var/list/civ = list() var/list/bot = list() var/list/misc = list() @@ -121,6 +122,9 @@ if(rank in science_positions) sci[name] = rank department = 1 + if(rank in supply_positions) + sup[name] = rank + department = 1 if(rank in civilian_positions) civ[name] = rank department = 1 @@ -154,6 +158,11 @@ for(name in sci) dat += "[name][sci[name]]" even = !even + if(sup.len > 0) + dat += "Supply" + for(name in sup) + dat += "[name][sup[name]]" + even = !even if(civ.len > 0) dat += "Civilian" for(name in civ) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 40289a5e0ec..836dca7e32e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -110,92 +110,6 @@ Botanist H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store) -/* -Quartermaster -*/ -/datum/job/qm - title = "Quartermaster" - flag = QUARTERMASTER - department_head = list("Head of Personnel") - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - - default_pda = /obj/item/device/pda/quartermaster - default_headset = /obj/item/device/radio/headset/headset_cargo - - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) - minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) - -/datum/job/qm/equip_items(var/mob/living/carbon/human/H) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) - -/* -Cargo Technician -*/ -/datum/job/cargo_tech - title = "Cargo Technician" - flag = CARGOTECH - department_head = list("Head of Personnel") - department_flag = CIVILIAN - faction = "Station" - total_positions = 3 - spawn_positions = 2 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" - - default_pda = /obj/item/device/pda/cargo - default_headset = /obj/item/device/radio/headset/headset_cargo - - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) - minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) - -/datum/job/cargo_tech/equip_items(var/mob/living/carbon/human/H) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) - -/* -Shaft Miner -*/ -/datum/job/mining - title = "Shaft Miner" - flag = MINER - department_head = list("Head of Personnel") - department_flag = CIVILIAN - faction = "Station" - total_positions = 3 - spawn_positions = 3 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" - - default_pda = /obj/item/device/pda/shaftminer - default_headset = /obj/item/device/radio/headset/headset_cargo - default_backpack = /obj/item/weapon/storage/backpack/industrial - default_satchel = /obj/item/weapon/storage/backpack/satchel_eng - default_storagebox = /obj/item/weapon/storage/box/engineer - - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) - minimal_access = list(access_mining, access_mint, access_mining_station, access_mailsorting, access_mineral_storeroom) - -/datum/job/mining/equip_items(var/mob/living/carbon/human/H) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) - - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/weapon/mining_voucher(H), slot_r_store) - else - H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/mining_voucher(H), slot_in_backpack) - /* Clown */ diff --git a/code/game/jobs/job/supply.dm b/code/game/jobs/job/supply.dm new file mode 100644 index 00000000000..38710b0738e --- /dev/null +++ b/code/game/jobs/job/supply.dm @@ -0,0 +1,85 @@ +/* +Quartermaster +*/ +/datum/job/qm + title = "Quartermaster" + flag = QUARTERMASTER + department_head = list("Head of Personnel") + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + + default_pda = /obj/item/device/pda/quartermaster + default_headset = /obj/item/device/radio/headset/headset_cargo + + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) + minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) + +/datum/job/qm/equip_items(var/mob/living/carbon/human/H) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) + H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand) + +/* +Cargo Technician +*/ +/datum/job/cargo_tech + title = "Cargo Technician" + flag = CARGOTECH + department_head = list("Head of Personnel") + department_flag = CIVILIAN + faction = "Station" + total_positions = 3 + spawn_positions = 2 + supervisors = "the quartermaster and the head of personnel" + selection_color = "#dddddd" + + default_pda = /obj/item/device/pda/cargo + default_headset = /obj/item/device/radio/headset/headset_cargo + + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) + minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) + +/datum/job/cargo_tech/equip_items(var/mob/living/carbon/human/H) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) + +/* +Shaft Miner +*/ +/datum/job/mining + title = "Shaft Miner" + flag = MINER + department_head = list("Head of Personnel") + department_flag = CIVILIAN + faction = "Station" + total_positions = 3 + spawn_positions = 3 + supervisors = "the quartermaster and the head of personnel" + selection_color = "#dddddd" + + default_pda = /obj/item/device/pda/shaftminer + default_headset = /obj/item/device/radio/headset/headset_cargo + default_backpack = /obj/item/weapon/storage/backpack/industrial + default_satchel = /obj/item/weapon/storage/backpack/satchel_eng + default_storagebox = /obj/item/weapon/storage/box/engineer + + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station, access_mineral_storeroom) + minimal_access = list(access_mining, access_mint, access_mining_station, access_mailsorting, access_mineral_storeroom) + +/datum/job/mining/equip_items(var/mob/living/carbon/human/H) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) + + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/weapon/mining_voucher(H), slot_r_store) + else + H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack) + H.equip_to_slot_or_del(new /obj/item/weapon/mining_voucher(H), slot_in_backpack) diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 4b185dfd7fc..f5e4112a7c5 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -86,16 +86,20 @@ var/list/science_positions = list( ) -var/list/civilian_positions = list( +var/list/supply_positions = list( "Head of Personnel", + "Quartermaster", + "Cargo Technician", + "Shaft Miner", +) + + +var/list/civilian_positions = list( "Bartender", "Botanist", "Cook", "Janitor", "Librarian", - "Quartermaster", - "Cargo Technician", - "Shaft Miner", "Lawyer", "Chaplain", "Clown", diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index d7572a1353f..ab7f21a3804 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -504,6 +504,27 @@ counter = 0 jobs += "" + //Supply (Brown) + counter = 0 + jobs += "" + jobs += "" + for(var/jobPos in supply_positions) + if(!jobPos) continue + var/datum/job/job = job_master.GetJob(jobPos) + if(!job) continue + + if(jobban_isbanned(M, job.title)) + jobs += "" + counter++ + else + jobs += "" + counter++ + + if(counter >= 5) //So things dont get COPYPASTE! + jobs += "" + counter = 0 + jobs += "
Supply Positions
[replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
" + //Civilian (Grey) counter = 0 jobs += "" @@ -673,6 +694,12 @@ var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title + if("supplydept") + for(var/jobPos in supply_positions) + if(!jobPos) continue + var/datum/job/temp = job_master.GetJob(jobPos) + if(!temp) continue + joblist += temp.title if("civiliandept") for(var/jobPos in civilian_positions) if(!jobPos) continue diff --git a/tgstation.dme b/tgstation.dme index 232ef06ce5e..acf94da7a46 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -333,6 +333,7 @@ #include "code\game\jobs\job\science.dm" #include "code\game\jobs\job\security.dm" #include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\supply.dm" #include "code\game\machinery\ai_slipper.dm" #include "code\game\machinery\airlock_control.dm" #include "code\game\machinery\alarm.dm"