diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 033d5af6152..72831cff075 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -29,7 +29,14 @@ var/global/list/frills_list = list() var/global/list/spines_list = list() var/global/list/animated_spines_list = list() //Backpacks -var/global/list/backbaglist = list("Backpack", "Satchel") +#define GBACKPACK "Grey Backpack" +#define GSATCHEL "Grey Satchel" +#define GDUFFLEBAG "Grey Dufflebag" +#define LSATCHEL "Leather Satchel" +#define DBACKPACK "Department Backpack" +#define DSATCHEL "Department Satchel" +#define DDUFFLEBAG "Department Dufflebag" +var/global/list/backbaglist = list(GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL, DBACKPACK, DSATCHEL, DDUFFLEBAG) //Female Uniforms var/global/list/female_clothing_icons = list() diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 56ca7d875d0..65cb20bee21 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -172,9 +172,9 @@ /obj/structure/closet/wardrobe/atmospherics_yellow/New() ..() contents = list() - new /obj/item/weapon/storage/backpack/dufflebag(src) - new /obj/item/weapon/storage/backpack/satchel_norm(src) - new /obj/item/weapon/storage/backpack(src) + new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) + new /obj/item/weapon/storage/backpack/satchel_eng(src) + new /obj/item/weapon/storage/backpack/industrial(src) for(var/i in 1 to 3) new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) for(var/i in 1 to 3) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index debbc249b61..0f86df990ba 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -49,7 +49,7 @@ var/list/preferences_datums = list() var/underwear = "Nude" //underwear type var/undershirt = "Nude" //undershirt type var/socks = "Nude" //socks type - var/backbag = 1 //backpack type + var/backbag = GBACKPACK //backpack type var/hair_style = "Bald" //Hair type var/hair_color = "000" //Hair color var/facial_hair_style = "Shaved" //Face hair type @@ -193,7 +193,7 @@ var/list/preferences_datums = list() dat += "Underwear:
[underwear]
" dat += "Undershirt:
[undershirt]
" dat += "Socks:
[socks]
" - dat += "Backpack:
[backbaglist[backbag]]
" + dat += "Backpack:
[backbag]
" if(pref_species.use_skintones) @@ -735,7 +735,7 @@ var/list/preferences_datums = list() if("s_tone") skin_tone = random_skin_tone() if("bag") - backbag = rand(1,2) + backbag = pick(backbaglist) if("all") random_character() @@ -934,7 +934,7 @@ var/list/preferences_datums = list() if("bag") var/new_backbag = input(user, "Choose your character's style of bag:", "Character Preference") as null|anything in backbaglist if(new_backbag) - backbag = backbaglist.Find(new_backbag) + backbag = new_backbag if("clown_name") var/new_clown_name = reject_bad_name( input(user, "Choose your character's clown name:", "Character Preference") as text|null ) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index cc0bad052bf..b4dd406850a 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -2,7 +2,7 @@ #define SAVEFILE_VERSION_MIN 8 //This is the current version, anything below this will attempt to update (if it's not obsolete) -#define SAVEFILE_VERSION_MAX 12 +#define SAVEFILE_VERSION_MAX 13 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn This proc checks if the current directory of the savefile S needs updating @@ -375,7 +375,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0) eye_color = sanitize_hexcolor(eye_color, 3, 0) skin_tone = sanitize_inlist(skin_tone, skin_tones) - backbag = sanitize_integer(backbag, 1, backbaglist.len, initial(backbag)) + backbag = sanitize_inlist(backbag, backbaglist) features["mcolor"] = sanitize_hexcolor(features["mcolor"], 3, 0) features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], tails_list_lizard) features["tail_human"] = sanitize_inlist(features["tail_human"], tails_list_human, "None") diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 1a559fd9fcd..7f7d5312e29 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -39,6 +39,7 @@ Captain backpack = /obj/item/weapon/storage/backpack/captain satchel = /obj/item/weapon/storage/backpack/satchel_cap + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/captain /datum/outfit/job/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() diff --git a/code/modules/jobs/job_types/cargo_service.dm b/code/modules/jobs/job_types/cargo_service.dm index f22bd2daed4..304dfe42bc6 100644 --- a/code/modules/jobs/job_types/cargo_service.dm +++ b/code/modules/jobs/job_types/cargo_service.dm @@ -86,6 +86,7 @@ Shaft Miner backpack = /obj/item/weapon/storage/backpack/industrial satchel = /obj/item/weapon/storage/backpack/satchel_eng + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/engineering box = /obj/item/weapon/storage/box/engineer /* @@ -186,6 +187,9 @@ Botanist gloves =/obj/item/clothing/gloves/botanic_leather suit_store = /obj/item/device/analyzer/plant_analyzer + backpack = /obj/item/weapon/storage/backpack/botany + satchel = /obj/item/weapon/storage/backpack/satchel_hyd + /* Janitor diff --git a/code/modules/jobs/job_types/civilian.dm b/code/modules/jobs/job_types/civilian.dm index 0289a76ace8..4acd3ecb4d8 100644 --- a/code/modules/jobs/job_types/civilian.dm +++ b/code/modules/jobs/job_types/civilian.dm @@ -30,6 +30,7 @@ Clown backpack = /obj/item/weapon/storage/backpack/clown satchel = /obj/item/weapon/storage/backpack/clown + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/clown //strangely has a duffle /datum/outfit/job/clown/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -84,6 +85,7 @@ Mime backpack = /obj/item/weapon/storage/backpack/mime satchel = /obj/item/weapon/storage/backpack/mime + /datum/outfit/job/mime/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm index f614fec9b14..ac3f3ecfe10 100644 --- a/code/modules/jobs/job_types/civilian_chaplain.dm +++ b/code/modules/jobs/job_types/civilian_chaplain.dm @@ -24,6 +24,8 @@ Chaplain belt = /obj/item/device/pda/chaplain uniform = /obj/item/clothing/under/rank/chaplain backpack_contents = list(/obj/item/device/camera/spooky = 1) + backpack = /obj/item/weapon/storage/backpack/cultpack + satchel = /obj/item/weapon/storage/backpack/cultpack /datum/outfit/job/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index 069654285f4..2ac0a986a14 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -40,6 +40,7 @@ Chief Engineer backpack = /obj/item/weapon/storage/backpack/industrial satchel = /obj/item/weapon/storage/backpack/satchel_eng + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/engineering box = /obj/item/weapon/storage/box/engineer pda_slot = slot_l_store @@ -85,6 +86,7 @@ Station Engineer backpack = /obj/item/weapon/storage/backpack/industrial satchel = /obj/item/weapon/storage/backpack/satchel_eng + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/engineering box = /obj/item/weapon/storage/box/engineer pda_slot = slot_l_store @@ -117,5 +119,8 @@ Atmospheric Technician uniform = /obj/item/clothing/under/rank/atmospheric_technician r_pocket = /obj/item/device/analyzer + backpack = /obj/item/weapon/storage/backpack/industrial + satchel = /obj/item/weapon/storage/backpack/satchel_eng + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/engineering box = /obj/item/weapon/storage/box/engineer pda_slot = slot_l_store \ No newline at end of file diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index 8cc678b35a8..bef2b0d0daa 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -142,15 +142,28 @@ var/backpack = /obj/item/weapon/storage/backpack var/satchel = /obj/item/weapon/storage/backpack/satchel_norm + var/dufflebag = /obj/item/weapon/storage/backpack/dufflebag var/box = /obj/item/weapon/storage/box/survival var/pda_slot = slot_belt /datum/outfit/job/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(H.backbag == 1) //Backpack - back = backpack - else //Satchel - back = satchel + switch(H.backbag) + //Grey backpacks are handled later. + if(GSATCHEL) + back = /obj/item/weapon/storage/backpack/satchel_norm //Grey satchel + if(GDUFFLEBAG) + back = /obj/item/weapon/storage/backpack/dufflebag //Grey Dufflebag + if(LSATCHEL) + back = /obj/item/weapon/storage/backpack/satchel //Leather Satchel + if(DBACKPACK) + back = backpack //Department backpack + if(DSATCHEL) + back = satchel //Department satchel + if(DDUFFLEBAG) + back = dufflebag //Department dufflebag + else + back = /obj/item/weapon/storage/backpack //Grey backpack backpack_contents[box] = 1 diff --git a/code/modules/jobs/job_types/medical.dm b/code/modules/jobs/job_types/medical.dm index 19e778ebd5b..b90ea4e5b98 100644 --- a/code/modules/jobs/job_types/medical.dm +++ b/code/modules/jobs/job_types/medical.dm @@ -38,6 +38,7 @@ Chief Medical Officer backpack = /obj/item/weapon/storage/backpack/medic satchel = /obj/item/weapon/storage/backpack/satchel_med + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/med /datum/outfit/job/cmo/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -79,6 +80,7 @@ Medical Doctor backpack = /obj/item/weapon/storage/backpack/medic satchel = /obj/item/weapon/storage/backpack/satchel_med + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/med /* Chemist @@ -109,6 +111,10 @@ Chemist shoes = /obj/item/clothing/shoes/sneakers/white suit = /obj/item/clothing/suit/toggle/labcoat/chemist + backpack = /obj/item/weapon/storage/backpack/chemistry + satchel = /obj/item/weapon/storage/backpack/satchel_chem + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/med + /* Geneticist */ @@ -138,6 +144,10 @@ Geneticist suit = /obj/item/clothing/suit/toggle/labcoat/genetics suit_store = /obj/item/device/flashlight/pen + backpack = /obj/item/weapon/storage/backpack/genetics + satchel = /obj/item/weapon/storage/backpack/satchel_gen + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/med + /* Virologist */ @@ -168,5 +178,6 @@ Virologist suit = /obj/item/clothing/suit/toggle/labcoat/virologist suit_store = /obj/item/device/flashlight/pen - backpack = /obj/item/weapon/storage/backpack/medic - satchel = /obj/item/weapon/storage/backpack/satchel_med \ No newline at end of file + backpack = /obj/item/weapon/storage/backpack/virology + satchel = /obj/item/weapon/storage/backpack/satchel_vir + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/med \ No newline at end of file diff --git a/code/modules/jobs/job_types/science.dm b/code/modules/jobs/job_types/science.dm index 4773a01664b..9e63d2993f9 100644 --- a/code/modules/jobs/job_types/science.dm +++ b/code/modules/jobs/job_types/science.dm @@ -40,6 +40,9 @@ Research Director l_pocket = /obj/item/device/laser_pointer backpack_contents = list(/obj/item/weapon/melee/classic_baton/telescopic=1) + backpack = /obj/item/weapon/storage/backpack/science + satchel = /obj/item/weapon/storage/backpack/satchel_tox + /datum/outfit/job/rd/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -76,6 +79,9 @@ Scientist shoes = /obj/item/clothing/shoes/sneakers/white suit = /obj/item/clothing/suit/toggle/labcoat/science + backpack = /obj/item/weapon/storage/backpack/science + satchel = /obj/item/weapon/storage/backpack/satchel_tox + /* Roboticist */ @@ -104,4 +110,7 @@ Roboticist uniform = /obj/item/clothing/under/rank/roboticist suit = /obj/item/clothing/suit/toggle/labcoat + backpack = /obj/item/weapon/storage/backpack/science + satchel = /obj/item/weapon/storage/backpack/satchel_tox + pda_slot = slot_l_store diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm index ed23478ceb9..7f47d287f3c 100644 --- a/code/modules/jobs/job_types/security.dm +++ b/code/modules/jobs/job_types/security.dm @@ -49,6 +49,7 @@ Head of Security backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/sec /datum/outfit/job/hos/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -104,6 +105,7 @@ Warden backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/sec /datum/outfit/job/warden/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() @@ -210,6 +212,7 @@ var/list/sec_departments = list("engineering", "supply", "medical", "science") backpack = /obj/item/weapon/storage/backpack/security satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/dufflebag/sec box = /obj/item/weapon/storage/box/security var/department = null