diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 46b419a0474..ad9273c9419 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -278,7 +278,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/obj/item/weapon/card/id/ID = A
if(ID.registered_name == oldname)
ID.registered_name = newname
- ID.name = "[newname]'s ID Card ([ID.assignment])"
+ ID.update_label()
if(!search_pda) break
search_id = 0
@@ -286,7 +286,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/obj/item/device/pda/PDA = A
if(PDA.owner == oldname)
PDA.owner = newname
- PDA.name = "PDA-[newname] ([PDA.ownjob])"
+ PDA.update_label()
if(!search_id) break
search_pda = 0
diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm
index 107e4b0ee77..e565dd6d2c7 100644
--- a/code/game/gamemodes/sandbox/h_sandbox.dm
+++ b/code/game/gamemodes/sandbox/h_sandbox.dm
@@ -205,7 +205,7 @@ datum/hSB
ID.registered_name = usr.real_name
ID.assignment = "Sandbox"
ID.access = get_all_accesses()
- ID.name = "[ID.registered_name]'s ID Card ([ID.assignment])"
+ ID.update_label()
//
// RCD - starts with full clip
diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm
index 6692227bc4a..dff5243922f 100644
--- a/code/game/jobs/job/assistant.dm
+++ b/code/game/jobs/job/assistant.dm
@@ -1,3 +1,6 @@
+/*
+Assistant
+*/
/datum/job/assistant
title = "Assistant"
flag = ASSISTANT
@@ -10,11 +13,9 @@
access = list() //See /datum/job/assistant/get_access()
minimal_access = list() //See /datum/job/assistant/get_access()
-/datum/job/assistant/equip(var/mob/living/carbon/human/H)
- if(!H) return 0
+/datum/job/assistant/equip_items(var/mob/living/carbon/human/H)
H.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- return 1
/datum/job/assistant/get_access()
if(config.jobs_have_maint_access & ASSISTANTS_HAVE_MAINT_ACCESS) //Config has assistant maint access set
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index 69d1b734dc5..21524dc6d22 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -1,3 +1,6 @@
+/*
+Captain
+*/
/datum/job/captain
title = "Captain"
flag = CAPTAIN
@@ -7,42 +10,49 @@
spawn_positions = 1
supervisors = "Nanotrasen officials and Space law"
selection_color = "#ccccff"
- idtype = /obj/item/weapon/card/id/gold
req_admin_notify = 1
- access = list() //See get_access()
- minimal_access = list() //See get_access()
minimal_player_age = 14
+ default_id = /obj/item/weapon/card/id/gold
+ default_pda = /obj/item/device/pda/captain
+ default_headset = /obj/item/device/radio/headset/heads/captain
+ default_backpack = /obj/item/weapon/storage/backpack/captain
+ default_satchel = /obj/item/weapon/storage/backpack/satchel_cap
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_ears)
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_cap(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- var/obj/item/clothing/under/U = new /obj/item/clothing/under/rank/captain(H)
- U.hastie = new /obj/item/clothing/tie/medal/gold/captain(U)
- H.equip_to_slot_or_del(U, slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/capcarapace(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head)
- H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
- var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
- L.imp_in = H
- L.implanted = 1
- world << "[H.real_name] is the captain!"
- return 1
+ access = list() //See get_access()
+ minimal_access = list() //See get_access()
- get_access()
- return get_all_accesses()
+/datum/job/captain/equip_items(var/mob/living/carbon/human/H)
+ var/obj/item/clothing/under/U = new /obj/item/clothing/under/rank/captain(H)
+ U.hastie = new /obj/item/clothing/tie/medal/gold/captain(U)
+ H.equip_to_slot_or_del(U, slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/capcarapace(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head)
+ H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
+ //Equip ID box
+ if(H.backbag == 1)
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
+ else
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
+ //Implant him
+ var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+ L.imp_in = H
+ L.implanted = 1
+
+ world << "[H.real_name] is the captain!"
+
+ return 1
+
+/datum/job/captain/get_access()
+ return get_all_accesses()
+
+/*
+Head of Personnel
+*/
/datum/job/hop
title = "Head of Personnel"
flag = HOP
@@ -52,9 +62,13 @@
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ddddff"
- idtype = /obj/item/weapon/card/id/silver
req_admin_notify = 1
minimal_player_age = 10
+
+ default_id = /obj/item/weapon/card/id/silver
+ default_pda = /obj/item/device/pda/heads/hop
+ default_headset = /obj/item/device/radio/headset/heads/hop
+
access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers,
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,
@@ -69,18 +83,14 @@
access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_mineral_storeroom)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_ears)
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/hopcap(H), slot_head)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
- return 1
+/datum/job/hop/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/hopcap(H), slot_head)
+
+ //Equip ID box
+ if(H.backbag == 1)
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
+ else
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
+ return 1
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 89e3fb140e2..9760307ed6a 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -1,4 +1,6 @@
-//Food
+/*
+Bartender
+*/
/datum/job/bartender
title = "Bartender"
flag = BARTENDER
@@ -8,38 +10,47 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/bar
+ default_headset = /obj/item/device/radio/headset/headset_srv
+
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_mineral_storeroom)
minimal_access = list(access_bar, access_mineral_storeroom)
+/datum/job/bartender/equip_backpack(var/mob/living/carbon/human/H)
+ switch(H.backbag)
+ if(1) //No backpack or satchel
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt)
+ var/obj/item/weapon/storage/box/box = new default_storagebox(H)
+ new /obj/item/ammo_casing/shotgun/beanbag(box)
+ new /obj/item/ammo_casing/shotgun/beanbag(box)
+ new /obj/item/ammo_casing/shotgun/beanbag(box)
+ new /obj/item/ammo_casing/shotgun/beanbag(box)
+ H.equip_to_slot_or_del(box, slot_r_hand)
- if(H.backbag == 1)
- var/obj/item/weapon/storage/box/survival/Barpack = new /obj/item/weapon/storage/box/survival(H)
- H.equip_to_slot_or_del(Barpack, slot_r_hand)
- new /obj/item/ammo_casing/shotgun/beanbag(Barpack)
- new /obj/item/ammo_casing/shotgun/beanbag(Barpack)
- new /obj/item/ammo_casing/shotgun/beanbag(Barpack)
- new /obj/item/ammo_casing/shotgun/beanbag(Barpack)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
-
- return 1
+ if(2) // Backpack
+ var/obj/item/weapon/storage/backpack/BPK = new default_backpack(H)
+ new default_storagebox(BPK)
+ H.equip_to_slot_or_del(BPK, slot_back,1)
+ if(3) //Satchel
+ var/obj/item/weapon/storage/backpack/BPK = new default_satchel(H)
+ new default_storagebox(BPK)
+ H.equip_to_slot_or_del(BPK, slot_back,1)
+/datum/job/bartender/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
+ if(H.backbag != 1)
+ H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/ammo_casing/shotgun/beanbag(H), slot_in_backpack)
+/*
+Chef
+*/
/datum/job/chef
title = "Chef"
flag = CHEF
@@ -49,22 +60,22 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/chef
+ default_headset = /obj/item/device/radio/headset/headset_srv
+
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue)
minimal_access = list(access_kitchen, access_morgue)
+/datum/job/chef/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
- H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt)
- return 1
-
-
-
+/*
+Botanist
+*/
/datum/job/hydro
title = "Botanist"
flag = BOTANIST
@@ -74,24 +85,23 @@
spawn_positions = 2
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/botanist
+ default_headset = /obj/item/device/radio/headset/headset_srv
+
access = list(access_hydroponics, access_bar, access_kitchen, access_morgue) // Removed tox and chem access because STOP PISSING OFF THE CHEMIST GUYS // //Removed medical access because WHAT THE FUCK YOU AREN'T A DOCTOR YOU GROW WHEAT //Given Morgue access because they have a viable means of cloning.
minimal_access = list(access_hydroponics, access_morgue) // Removed tox and chem access because STOP PISSING OFF THE CHEMIST GUYS // //Removed medical access because WHAT THE FUCK YOU AREN'T A DOCTOR YOU GROW WHEAT //Given Morgue access because they have a viable means of cloning.
+/datum/job/hydro/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
+ 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)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
- 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)
- H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt)
- return 1
-
-
-
-//Cargo
+/*
+Quartermaster
+*/
/datum/job/qm
title = "Quartermaster"
flag = QUARTERMASTER
@@ -101,23 +111,22 @@
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, access_mineral_storeroom)
-
-
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_ears)
- 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/brown(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/quartermaster(H), slot_belt)
-// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
- 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)
- return 1
-
+ 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/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
@@ -127,21 +136,20 @@
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/black(H), slot_shoes)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_ears)
- 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/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt)
-// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
- return 1
-
-
-
+/*
+Shaft Miner
+*/
/datum/job/mining
title = "Shaft Miner"
flag = MINER
@@ -151,33 +159,32 @@
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/black(H), slot_shoes)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo (H), slot_ears)
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial (H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_eng(H), slot_back)
- 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/device/pda/shaftminer(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-// H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H), slot_r_hand)
- 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)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(H.back), slot_in_backpack)
- 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)
- return 1
-
-
-
+ 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
+*/
/datum/job/clown
title = "Clown"
flag = CLOWN
@@ -187,30 +194,38 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/clown
+ default_backpack = /obj/item/weapon/storage/backpack/clown
+
access = list(access_theatre, access_maint_tunnels)
minimal_access = list(access_theatre)
+/datum/job/clown/equip_backpack(var/mob/living/carbon/human/H)
+ var/obj/item/weapon/storage/backpack/BPK = new default_backpack(H)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.fully_replace_character_name(H.real_name, pick(clown_names))
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/clown(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/clown(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), slot_wear_mask)
- H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(H, 50), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/stamp/clown(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/spray/waterflower(H), slot_in_backpack)
- H.mutations.Add(CLUMSY)
- H.rename_self("clown")
- return 1
+ new default_storagebox(BPK)
+ new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(BPK, 50)
+ new /obj/item/weapon/stamp/clown(BPK)
+ new /obj/item/weapon/reagent_containers/spray/waterflower(BPK)
+ H.equip_to_slot_or_del(BPK, slot_back)
+/datum/job/clown/equip_items(var/mob/living/carbon/human/H)
+ H.fully_replace_character_name(H.real_name, pick(clown_names)) // Give him a temporary random name to prevent identity revealing
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), slot_wear_mask)
+ H.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(H), slot_l_store)
+ H.equip_to_slot_or_del(new /obj/item/toy/crayon/rainbow(H), slot_r_store)
+
+ H.mutations.Add(CLUMSY)
+ H.rename_self("clown")
+
+/*
+Mime
+*/
/datum/job/mime
title = "Mime"
flag = MIME
@@ -220,38 +235,38 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/mime
+
access = list(access_theatre, access_maint_tunnels)
minimal_access = list(access_theatre)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/mime(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- H.equip_to_slot_or_del(new /obj/item/clothing/under/mime(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/mime(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(H), slot_gloves)
- H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/mime(H), slot_wear_mask)
- H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/suspenders(H), slot_wear_suit)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
- H.equip_to_slot_or_del(new /obj/item/toy/crayon/mime(H), slot_l_store)
- H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_l_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/toy/crayon/mime(H), slot_in_backpack)
- H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_in_backpack)
- if(H.mind)
- H.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall(null)
- H.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/mime/speak(null)
- H.mind.miming = 1
- H.rename_self("mime")
- return 1
+/datum/job/mime/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/mime(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(H), slot_gloves)
+ H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/mime(H), slot_wear_mask)
+ H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/suspenders(H), slot_wear_suit)
+ if(H.backbag == 1)
+ H.equip_to_slot_or_del(new /obj/item/toy/crayon/mime(H), slot_l_store)
+ H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_l_hand)
+ else
+ H.equip_to_slot_or_del(new /obj/item/toy/crayon/mime(H), slot_in_backpack)
+ H.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(H), slot_in_backpack)
+ if(H.mind)
+ H.mind.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall(null)
+ H.mind.spell_list += new /obj/effect/proc_holder/spell/targeted/mime/speak(null)
+ H.mind.miming = 1
+ H.rename_self("mime")
+
+/*
+Janitor
+*/
/datum/job/janitor
title = "Janitor"
flag = JANITOR
@@ -261,21 +276,20 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/janitor
+ default_headset = /obj/item/device/radio/headset/headset_srv
+
access = list(access_janitor, access_maint_tunnels)
minimal_access = list(access_janitor, access_maint_tunnels)
+/datum/job/janitor/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_srv(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt)
- return 1
-
-
-
-//More or less assistants
+/*
+Librarian
+*/
/datum/job/librarian
title = "Librarian"
flag = LIBRARIAN
@@ -285,23 +299,22 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/librarian
+
access = list(access_library, access_maint_tunnels)
minimal_access = list(access_library)
+/datum/job/librarian/equip_items(var/mob/living/carbon/human/H)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/books(H), slot_l_hand)
+ H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_r_store)
+ H.equip_to_slot_or_del(new /obj/item/device/laser_pointer(H), slot_l_store)
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/books(H), slot_l_hand)
- H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_r_store)
- H.equip_to_slot_or_del(new /obj/item/device/laser_pointer(H), slot_l_store)
- return 1
-
-
-
-var/global/lawyer = 0//Checks for another lawyer
+/*
+Lawyer
+*/
/datum/job/lawyer
title = "Lawyer"
flag = LAWYER
@@ -311,29 +324,24 @@ var/global/lawyer = 0//Checks for another lawyer
spawn_positions = 2
supervisors = "the head of personnel"
selection_color = "#dddddd"
+ var/global/lawyers = 0 //Counts lawyer amount
+
+ default_pda = /obj/item/device/pda/lawyer
+ default_headset = /obj/item/device/radio/headset/headset_sec
+
access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels)
minimal_access = list(access_lawyer, access_court, access_sec_doors)
+/datum/job/lawyer/equip_items(var/mob/living/carbon/human/H)
+ lawyers += 1
- equip(var/mob/living/carbon/human/H)
- if(!H) return 0
- if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
- if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back)
- if(!lawyer)
- lawyer = 1
- H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/lawyer/bluejacket(H), slot_wear_suit)
- else
- H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/purpsuit(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/clothing/suit/lawyer/purpjacket(H), slot_wear_suit)
- H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_ears)
- H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
- H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand)
- H.equip_to_slot_or_del(new /obj/item/device/laser_pointer(H), slot_l_store)
- if(H.backbag == 1)
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand)
- else
- H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
+ if(lawyers%2 != 0)
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/lawyer/bluejacket(H), slot_wear_suit)
+ else
+ H.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/purpsuit(H), slot_w_uniform)
+ H.equip_to_slot_or_del(new /obj/item/clothing/suit/lawyer/purpjacket(H), slot_wear_suit)
- return 1
+ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
+ H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand)
+ H.equip_to_slot_or_del(new /obj/item/device/laser_pointer(H), slot_l_store)
\ No newline at end of file
diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm
index 124309da3c1..681e0425a1a 100644
--- a/code/game/jobs/job/civilian_chaplain.dm
+++ b/code/game/jobs/job/civilian_chaplain.dm
@@ -1,4 +1,7 @@
//Due to how large this one is it gets its own file
+/*
+Chaplain
+*/
/datum/job/chaplain
title = "Chaplain"
flag = CHAPLAIN
@@ -8,6 +11,9 @@
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
+
+ default_pda = /obj/item/device/pda/chaplain
+
access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels)
minimal_access = list(access_morgue, access_chapel_office, access_crematorium)
@@ -73,11 +79,8 @@
usr << browse(null, "window=editicon") // Close window
-/datum/job/chaplain/equip(var/mob/living/carbon/human/H)
- if(!H) return 0
-
+/datum/job/chaplain/equip_items(var/mob/living/carbon/human/H)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform)
- H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible/booze(H)
@@ -141,5 +144,4 @@
dat += "