From 2bec6f1762bc500e434fd4ab2a0797494ca732a5 Mon Sep 17 00:00:00 2001 From: "Wowzewow (Wezzy)" <42310821+alsoandanswer@users.noreply.github.com> Date: Mon, 11 Jul 2022 00:31:18 +0800 Subject: [PATCH] Fixes #14411 (#14412) --- code/datums/outfits/ert/ap_eridani.dm | 4 +- code/datums/outfits/ert/elyra.dm | 2 +- code/datums/outfits/ert/fsf.dm | 4 +- code/datums/outfits/ert/iac.dm | 2 +- code/datums/outfits/ert/mercenary.dm | 6 +- .../datums/outfits/event/outfit_nanotrasen.dm | 4 +- code/datums/outfits/outfit.dm | 4 +- code/datums/outfits/outfit_admin.dm | 2 +- code/datums/outfits/outfit_antag.dm | 2 +- code/game/jobs/job/captain.dm | 2 +- code/game/jobs/job/civilian.dm | 4 +- code/game/jobs/job/engineering.dm | 8 +-- code/game/jobs/job/medical.dm | 12 ++-- code/game/jobs/job/science.dm | 6 +- code/game/jobs/job/security.dm | 10 +-- .../objects/items/weapons/storage/backpack.dm | 64 +++++++++++++++--- code/game/objects/random/random.dm | 18 ++--- .../closets/secure/engineering.dm | 8 +-- .../crates_lockers/closets/secure/medical.dm | 8 +-- .../crates_lockers/closets/secure/personal.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 16 ++--- .../crates_lockers/closets/sol_gear.dm | 2 +- .../ghostroles/spawner/human/emergencypod.dm | 4 +- code/modules/mining/mine_items.dm | 2 +- html/changelogs/wezzy_bagfix.yml | 41 +++++++++++ icons/obj/storage/backpack.dmi | Bin 13788 -> 14182 bytes maps/aurora/aurora-1_centcomm.dmm | 14 ++-- maps/away/ships/corporate_ship_ghostroles.dm | 2 +- maps/away/ships/sol_ship_ghostroles.dm | 6 +- maps/away/ships/wildcard_ship_ghostroles.dm | 2 +- maps/event/odin_departure/odin_depature-1.dmm | 14 ++-- maps/sccv_horizon/sccv_horizon-4_centcomm.dmm | 14 ++-- maps/templates/sol.dmm | 2 +- 33 files changed, 189 insertions(+), 102 deletions(-) create mode 100644 html/changelogs/wezzy_bagfix.yml diff --git a/code/datums/outfits/ert/ap_eridani.dm b/code/datums/outfits/ert/ap_eridani.dm index c839687795a..3449c3a6294 100644 --- a/code/datums/outfits/ert/ap_eridani.dm +++ b/code/datums/outfits/ert/ap_eridani.dm @@ -11,7 +11,7 @@ gloves = /obj/item/clothing/gloves/combat glasses = /obj/item/clothing/glasses/sunglasses suit_store = /obj/item/gun/energy/rifle - back = /obj/item/storage/backpack/satchel_sec + back = /obj/item/storage/backpack/satchel/sec belt = /obj/item/storage/belt/military id = /obj/item/card/id/distress/ap_eridani l_ear = /obj/item/device/radio/headset/distress @@ -94,7 +94,7 @@ shoes = /obj/item/clothing/shoes/swat/ert gloves = /obj/item/clothing/gloves/latex/nitrile belt = /obj/item/storage/belt/medical/first_responder/combat - back = /obj/item/storage/backpack/satchel_med + back = /obj/item/storage/backpack/satchel/med accessory = /obj/item/clothing/accessory/holster/thigh accessory_contents = list(/obj/item/gun/energy/disruptorpistol/magnum = 1) r_ear = /obj/item/device/flashlight/pen diff --git a/code/datums/outfits/ert/elyra.dm b/code/datums/outfits/ert/elyra.dm index 55267e39691..7cf5e2a63e4 100644 --- a/code/datums/outfits/ert/elyra.dm +++ b/code/datums/outfits/ert/elyra.dm @@ -66,7 +66,7 @@ name = "Elyran Navy Corpsman" belt = /obj/item/storage/belt/medical/first_responder/combat - back = /obj/item/storage/backpack/satchel_med + back = /obj/item/storage/backpack/satchel/med glasses = /obj/item/clothing/glasses/hud/health gloves = /obj/item/clothing/gloves/latex diff --git a/code/datums/outfits/ert/fsf.dm b/code/datums/outfits/ert/fsf.dm index c2d353695f9..3ec91ccbed9 100644 --- a/code/datums/outfits/ert/fsf.dm +++ b/code/datums/outfits/ert/fsf.dm @@ -5,7 +5,7 @@ shoes = /obj/item/clothing/shoes/swat/ert gloves = /obj/item/clothing/gloves/swat/ert belt = /obj/item/storage/belt/military - back = /obj/item/storage/backpack/satchel_norm + back = /obj/item/storage/backpack/satchel/norm head = /obj/item/clothing/head/helmet/space/void/sol/fsf suit = /obj/item/clothing/suit/space/void/sol/fsf suit_store = /obj/item/gun/projectile/automatic/rifle/sol @@ -37,7 +37,7 @@ name = "Free Solarian Fleets Medic" belt = /obj/item/storage/belt/medical/first_responder/combat - back = /obj/item/storage/backpack/satchel_med + back = /obj/item/storage/backpack/satchel/med glasses = /obj/item/clothing/glasses/hud/health suit_store = /obj/item/gun/projectile/shotgun/pump/combat/sol gloves = /obj/item/clothing/gloves/latex diff --git a/code/datums/outfits/ert/iac.dm b/code/datums/outfits/ert/iac.dm index edf0374dc26..bb709dead78 100644 --- a/code/datums/outfits/ert/iac.dm +++ b/code/datums/outfits/ert/iac.dm @@ -9,7 +9,7 @@ shoes = /obj/item/clothing/shoes/iac gloves = /obj/item/clothing/gloves/white belt = /obj/item/storage/belt/medical - back = /obj/item/storage/backpack/satchel_med + back = /obj/item/storage/backpack/satchel/med accessory = /obj/item/clothing/accessory/storage/white_vest id = /obj/item/card/id/distress/iac accessory_contents = list(/obj/item/stack/medical/advanced/bruise_pack = 1, /obj/item/stack/medical/advanced/ointment = 1, /obj/item/reagent_containers/glass/bottle/mortaphenyl = 1) diff --git a/code/datums/outfits/ert/mercenary.dm b/code/datums/outfits/ert/mercenary.dm index e380a7aa3a8..3a3e9c064f0 100644 --- a/code/datums/outfits/ert/mercenary.dm +++ b/code/datums/outfits/ert/mercenary.dm @@ -5,7 +5,7 @@ shoes = /obj/item/clothing/shoes/swat/ert gloves = /obj/item/clothing/gloves/swat/ert belt = /obj/item/storage/belt/military - back = /obj/item/storage/backpack/satchel_norm + back = /obj/item/storage/backpack/satchel/norm l_hand = /obj/item/clothing/suit/space/void/freelancer r_hand = /obj/item/clothing/head/helmet/space/void/freelancer accessory = /obj/item/clothing/accessory/holster/thigh @@ -64,7 +64,7 @@ /obj/item/reagent_containers/glass/bottle/dermaline = 1, /obj/item/reagent_containers/glass/bottle/perconol = 1, /obj/item/reagent_containers/glass/bottle/thetamycin = 1, - /obj/item/material/knife/trench = 1 + /obj/item/material/knife/trench = 1 ) /datum/outfit/admin/ert/mercenary/engineer @@ -118,4 +118,4 @@ /obj/item/shield/energy = 1, /obj/item/ammo_magazine/a357 = 2, /obj/item/material/knife/trench = 1 - ) \ No newline at end of file + ) diff --git a/code/datums/outfits/event/outfit_nanotrasen.dm b/code/datums/outfits/event/outfit_nanotrasen.dm index 2c48d35212b..9e72ee78dd4 100644 --- a/code/datums/outfits/event/outfit_nanotrasen.dm +++ b/code/datums/outfits/event/outfit_nanotrasen.dm @@ -248,7 +248,7 @@ gloves = /obj/item/clothing/gloves/white belt = /obj/item/storage/belt/medical - back = /obj/item/storage/backpack/satchel_med + back = /obj/item/storage/backpack/satchel/med accessory = /obj/item/clothing/accessory/storage/white_vest accessory_contents = list(/obj/item/stack/medical/advanced/bruise_pack = 1, /obj/item/stack/medical/advanced/ointment = 1, /obj/item/reagent_containers/glass/bottle/mortaphenyl = 1) @@ -284,7 +284,7 @@ glasses = /obj/item/clothing/glasses/hud/health backpack = /obj/item/storage/backpack/pharmacy - satchel = /obj/item/storage/backpack/satchel_pharm + satchel = /obj/item/storage/backpack/satchel/pharm dufflebag = /obj/item/storage/backpack/duffel/pharm messengerbag = /obj/item/storage/backpack/messenger/pharm diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index 5eff6f72f31..cdbb2e661c7 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -75,7 +75,7 @@ // Must be paths, used to allow player-pref backpack choice var/allow_backbag_choice = FALSE var/backpack = /obj/item/storage/backpack - var/satchel = /obj/item/storage/backpack/satchel_norm + var/satchel = /obj/item/storage/backpack/satchel/norm var/satchel_alt = /obj/item/storage/backpack/satchel/leather var/dufflebag = /obj/item/storage/backpack/duffel var/messengerbag = /obj/item/storage/backpack/messenger @@ -124,7 +124,7 @@ if (OUTFIT_BACKPACK) back = use_job_specific ? backpack : /obj/item/storage/backpack if (OUTFIT_SATCHEL) - back = use_job_specific ? satchel : /obj/item/storage/backpack/satchel_norm + back = use_job_specific ? satchel : /obj/item/storage/backpack/satchel/norm if (OUTFIT_SATCHEL_ALT) back = use_job_specific ? satchel_alt : /obj/item/storage/backpack/satchel/leather if (OUTFIT_DUFFELBAG) diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index eff7d776b51..06d6ff95fef 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -43,7 +43,7 @@ ) back = list( /obj/item/storage/backpack, - /obj/item/storage/backpack/satchel_norm, + /obj/item/storage/backpack/satchel/norm, /obj/item/storage/backpack/satchel, /obj/item/storage/backpack/duffel, /obj/item/storage/backpack/duffel diff --git a/code/datums/outfits/outfit_antag.dm b/code/datums/outfits/outfit_antag.dm index c8f57a62379..0c82fd6787a 100644 --- a/code/datums/outfits/outfit_antag.dm +++ b/code/datums/outfits/outfit_antag.dm @@ -7,7 +7,7 @@ uniform = /obj/item/clothing/under/syndicate back = null backpack = /obj/item/storage/backpack/syndie - satchel = /obj/item/storage/backpack/satchel_syndie + satchel = /obj/item/storage/backpack/satchel/syndie satchel_alt = /obj/item/storage/backpack/satchel dufflebag = /obj/item/storage/backpack/duffel/syndie messengerbag = /obj/item/storage/backpack/messenger/syndie diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index dacf36868f9..347919a6ce7 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -60,7 +60,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) ) backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel_cap + satchel = /obj/item/storage/backpack/satchel/cap dufflebag = /obj/item/storage/backpack/duffel/cap messengerbag = /obj/item/storage/backpack/messenger/com diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 6297d12ac33..c804ef3ada3 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -128,7 +128,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/service backpack = /obj/item/storage/backpack/hydroponics - satchel = /obj/item/storage/backpack/satchel_hyd + satchel = /obj/item/storage/backpack/satchel/hyd dufflebag = /obj/item/storage/backpack/duffel/hyd messengerbag = /obj/item/storage/backpack/messenger/hyd @@ -497,7 +497,7 @@ ) backpack = /obj/item/storage/backpack/industrial - satchel = /obj/item/storage/backpack/satchel_eng + satchel = /obj/item/storage/backpack/satchel/eng dufflebag = /obj/item/storage/backpack/duffel/eng messengerbag = /obj/item/storage/backpack/messenger/engi diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 2e8d6e79c45..75588d6188f 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -59,7 +59,7 @@ tablet = /obj/item/modular_computer/handheld/preset/engineering/ce backpack = /obj/item/storage/backpack/industrial - satchel = /obj/item/storage/backpack/satchel_eng + satchel = /obj/item/storage/backpack/satchel/eng dufflebag = /obj/item/storage/backpack/duffel/eng messengerbag = /obj/item/storage/backpack/messenger/engi @@ -118,7 +118,7 @@ tablet = /obj/item/modular_computer/handheld/preset/engineering backpack = /obj/item/storage/backpack/industrial - satchel = /obj/item/storage/backpack/satchel_eng + satchel = /obj/item/storage/backpack/satchel/eng dufflebag = /obj/item/storage/backpack/duffel/eng messengerbag = /obj/item/storage/backpack/messenger/engi @@ -170,7 +170,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/eng backpack = /obj/item/storage/backpack/industrial - satchel = /obj/item/storage/backpack/satchel_eng + satchel = /obj/item/storage/backpack/satchel/eng dufflebag = /obj/item/storage/backpack/duffel/eng messengerbag = /obj/item/storage/backpack/messenger/engi @@ -234,7 +234,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/eng backpack = /obj/item/storage/backpack/industrial - satchel = /obj/item/storage/backpack/satchel_eng + satchel = /obj/item/storage/backpack/satchel/eng dufflebag = /obj/item/storage/backpack/duffel/eng messengerbag = /obj/item/storage/backpack/messenger/engi diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index d525a496b37..0536f0014df 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -57,7 +57,7 @@ tablet = /obj/item/modular_computer/handheld/preset/medical/cmo backpack = /obj/item/storage/backpack/medic - satchel = /obj/item/storage/backpack/satchel_med + satchel = /obj/item/storage/backpack/satchel/med dufflebag = /obj/item/storage/backpack/duffel/med messengerbag = /obj/item/storage/backpack/messenger/med @@ -129,7 +129,7 @@ tablet = /obj/item/modular_computer/handheld/preset/medical backpack = /obj/item/storage/backpack/medic - satchel = /obj/item/storage/backpack/satchel_med + satchel = /obj/item/storage/backpack/satchel/med dufflebag = /obj/item/storage/backpack/duffel/med messengerbag = /obj/item/storage/backpack/messenger/med @@ -187,7 +187,7 @@ tablet = /obj/item/modular_computer/handheld/preset/medical backpack = /obj/item/storage/backpack/pharmacy - satchel = /obj/item/storage/backpack/satchel_pharm + satchel = /obj/item/storage/backpack/satchel/pharm dufflebag = /obj/item/storage/backpack/duffel/pharm messengerbag = /obj/item/storage/backpack/messenger/pharm @@ -236,7 +236,7 @@ tablet = /obj/item/modular_computer/handheld/preset/medical/psych backpack = /obj/item/storage/backpack/medic - satchel = /obj/item/storage/backpack/satchel_med + satchel = /obj/item/storage/backpack/satchel/med dufflebag = /obj/item/storage/backpack/duffel/med messengerbag = /obj/item/storage/backpack/messenger/med @@ -289,7 +289,7 @@ tablet = /obj/item/modular_computer/handheld/preset/medical backpack = /obj/item/storage/backpack/medic - satchel = /obj/item/storage/backpack/satchel_med + satchel = /obj/item/storage/backpack/satchel/med dufflebag = /obj/item/storage/backpack/duffel/med messengerbag = /obj/item/storage/backpack/messenger/med @@ -329,7 +329,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/med backpack = /obj/item/storage/backpack/medic - satchel = /obj/item/storage/backpack/satchel_med + satchel = /obj/item/storage/backpack/satchel/med dufflebag = /obj/item/storage/backpack/duffel/med messengerbag = /obj/item/storage/backpack/messenger/med diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index b37f38eb23d..540abc03ad7 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -57,7 +57,7 @@ tablet = /obj/item/modular_computer/handheld/preset/research/rd backpack = /obj/item/storage/backpack/toxins - satchel = /obj/item/storage/backpack/satchel_tox + satchel = /obj/item/storage/backpack/satchel/tox dufflebag = /obj/item/storage/backpack/duffel/tox messengerbag = /obj/item/storage/backpack/messenger/tox @@ -108,7 +108,7 @@ tablet = /obj/item/modular_computer/handheld/preset/research backpack = /obj/item/storage/backpack/toxins - satchel = /obj/item/storage/backpack/satchel_tox + satchel = /obj/item/storage/backpack/satchel/tox dufflebag = /obj/item/storage/backpack/duffel/tox messengerbag = /obj/item/storage/backpack/messenger/tox @@ -205,7 +205,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/sci backpack = /obj/item/storage/backpack/toxins - satchel = /obj/item/storage/backpack/satchel_tox + satchel = /obj/item/storage/backpack/satchel/tox dufflebag = /obj/item/storage/backpack/duffel/tox messengerbag = /obj/item/storage/backpack/messenger/tox diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 67a000a5788..e4704da4903 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -61,7 +61,7 @@ ) backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel_sec + satchel = /obj/item/storage/backpack/satchel/sec dufflebag = /obj/item/storage/backpack/duffel/sec messengerbag = /obj/item/storage/backpack/messenger/sec @@ -110,7 +110,7 @@ tablet = /obj/item/modular_computer/handheld/preset/security backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel_sec + satchel = /obj/item/storage/backpack/satchel/sec dufflebag = /obj/item/storage/backpack/duffel/sec messengerbag = /obj/item/storage/backpack/messenger/sec @@ -159,7 +159,7 @@ tablet = /obj/item/modular_computer/handheld/preset/security/detective backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel_sec + satchel = /obj/item/storage/backpack/satchel/sec dufflebag = /obj/item/storage/backpack/duffel/sec messengerbag = /obj/item/storage/backpack/messenger/sec @@ -210,7 +210,7 @@ tablet = /obj/item/modular_computer/handheld/preset/security backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel_sec + satchel = /obj/item/storage/backpack/satchel/sec dufflebag = /obj/item/storage/backpack/duffel/sec messengerbag = /obj/item/storage/backpack/messenger/sec @@ -254,7 +254,7 @@ wrist_radio = /obj/item/device/radio/headset/wrist/sec backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel_sec + satchel = /obj/item/storage/backpack/satchel/sec dufflebag = /obj/item/storage/backpack/duffel/sec messengerbag = /obj/item/storage/backpack/messenger/sec diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 373e8c47958..e07c2864fdb 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -60,6 +60,7 @@ desc = "A backpack that opens into a localized pocket of Blue Space." origin_tech = list(TECH_BLUESPACE = 4) icon_state = "holdingpack" + item_state = "holdingpack" max_w_class = ITEMSIZE_LARGE max_storage_space = 56 storage_cost = 29 @@ -92,46 +93,57 @@ desc = "It's useful for both carrying extra gear and proudly declaring your insanity." desc_cult = null icon_state = "cultpack" + item_state = "cultpack" /obj/item/storage/backpack/medic name = "medical backpack" desc = "It's a backpack especially designed for use in a sterile environment." icon_state = "medicalpack" + item_state = "medicalpack" + /obj/item/storage/backpack/security name = "security backpack" desc = "It's a very robust backpack." icon_state = "securitypack" + item_state = "securitypack" + /obj/item/storage/backpack/captain name = "captain's backpack" desc = "It's a special backpack made exclusively for officers." icon_state = "captainpack" + item_state = "captainpack" empty_delay = 0.8 SECOND /obj/item/storage/backpack/industrial name = "industrial backpack" desc = "It's a tough backpack for the daily grind of station life." icon_state = "engiepack" + item_state = "engiepack" empty_delay = 0.8 SECOND /obj/item/storage/backpack/toxins name = "laboratory backpack" desc = "It's a light backpack modeled for use in laboratories and other scientific institutions." icon_state = "toxpack" + item_state = "toxpack" /obj/item/storage/backpack/hydroponics name = "herbalist's backpack" desc = "It's a green backpack with many pockets to store plants and tools in." icon_state = "hydpack" + item_state = "hydpack" /obj/item/storage/backpack/pharmacy name = "pharmacy backpack" desc = "It's an orange backpack which was designed to hold beakers, pill bottles and bottles." icon_state = "chempack" + item_state = "chempack" /obj/item/storage/backpack/syndie name = "syndicate rucksack" desc = "The latest in carbon fiber and red satin combat rucksack technology. Comfortable and tough!" icon_state = "syndiepack" + item_state = "syndiepack" empty_delay = 0.8 SECOND /* @@ -158,52 +170,61 @@ max_storage_space = 32 allow_quick_empty = FALSE // Pouches 'n shit. -/obj/item/storage/backpack/satchel_norm +/obj/item/storage/backpack/satchel/norm name = "satchel" desc = "A trendy looking satchel." icon_state = "satchel-norm" + item_state = "satchel-norm" -/obj/item/storage/backpack/satchel_eng +/obj/item/storage/backpack/satchel/eng name = "industrial satchel" desc = "A tough satchel with extra pockets." icon_state = "satchel-eng" + item_state = "satchel-eng" empty_delay = 0.8 SECOND -/obj/item/storage/backpack/satchel_med +/obj/item/storage/backpack/satchel/med name = "medical satchel" desc = "A sterile satchel used in medical departments." icon_state = "satchel-med" + item_state = "satchel-med" -/obj/item/storage/backpack/satchel_pharm +/obj/item/storage/backpack/satchel/pharm name = "pharmacist satchel" desc = "A sterile satchel with pharmacist colours." icon_state = "satchel-chem" + item_state = "satchel-chem" -/obj/item/storage/backpack/satchel_tox +/obj/item/storage/backpack/satchel/tox name = "scientist satchel" desc = "Useful for holding research materials." icon_state = "satchel-tox" + item_state = "satchel-tox" -/obj/item/storage/backpack/satchel_sec +/obj/item/storage/backpack/satchel/sec name = "security satchel" desc = "A robust satchel for security related needs." icon_state = "satchel-sec" + item_state = "satchel-sec" -/obj/item/storage/backpack/satchel_hyd +/obj/item/storage/backpack/satchel/hyd name = "hydroponics satchel" desc = "A green satchel for plant related work." icon_state = "satchel-hyd" + item_state = "satchel-hyd" -/obj/item/storage/backpack/satchel_cap +/obj/item/storage/backpack/satchel/cap name = "captain's satchel" desc = "An exclusive satchel for officers." icon_state = "satchel-cap" + item_state = "satchel-cap" empty_delay = 0.8 SECOND -/obj/item/storage/backpack/satchel_syndie +/obj/item/storage/backpack/satchel/syndie name = "syndicate satchel" desc = "A satchel in the new age style of a multi-corperate terrorist organisation." icon_state = "satchel-syndie" + item_state = "satchel-syndie" empty_delay = 0.8 SECOND //ERT backpacks. @@ -211,6 +232,7 @@ name = "emergency response team backpack" desc = "A spacious backpack with lots of pockets, used by members of the Emergency Response Team." icon_state = "ert_commander" + item_state = "ert_commander" empty_delay = 0.8 SECOND //Commander @@ -223,18 +245,21 @@ name = "emergency response team security backpack" desc = "A spacious backpack with lots of pockets, worn by security members of an Emergency Response Team." icon_state = "ert_security" + item_state = "ert_security" //Engineering /obj/item/storage/backpack/ert/engineer name = "emergency response team engineer backpack" desc = "A spacious backpack with lots of pockets, worn by engineering members of an Emergency Response Team." icon_state = "ert_engineering" + item_state = "ert_engineering" //Medical /obj/item/storage/backpack/ert/medical name = "emergency response team medical backpack" desc = "A spacious backpack with lots of pockets, worn by medical members of an Emergency Response Team." icon_state = "ert_medical" + item_state = "ert_medical" // Duffel Bags @@ -242,6 +267,7 @@ name = "duffel bag" desc = "A spacious duffel bag." icon_state = "duffel-norm" + item_state = "duffel-norm" slowdown = 1 max_storage_space = 38 @@ -249,43 +275,51 @@ name = "captain's duffel bag" desc = "A rare and special duffel bag for only the most air-headed of SCC personnel." icon_state = "duffel-captain" + item_state = "duffel-captain" empty_delay = 0.8 SECOND /obj/item/storage/backpack/duffel/hyd name = "botanist's duffel bag" desc = "A specially designed duffel bag for containing plant matter, regardless of how questionable it may be." icon_state = "duffel-hydroponics" + item_state = "duffel-hydroponics" /obj/item/storage/backpack/duffel/med name = "medical duffel bag" desc = "A sterilized duffel bag for the young, upcoming lesbayan." icon_state = "duffel-medical" + item_state = "duffel-medical" /obj/item/storage/backpack/duffel/eng name = "industrial duffel bag" desc = "A rough and tumble duffel bag for the hard working wrench-monkey of tomorrow." icon_state = "duffel-engineering" + item_state = "duffel-engineering" empty_delay = 0.8 SECOND /obj/item/storage/backpack/duffel/tox name = "scientist's duffel bag" desc = "Handy when it comes to storing volatile materials of the anomalous persuasion." icon_state = "duffel-toxins" + item_state = "duffel-toxins" /obj/item/storage/backpack/duffel/sec name = "security duffel bag" desc = "A grey and blue duffel bag for the boys in colour, with room for all the batons and flashbangs you could ever need." icon_state = "duffel-security" + item_state = "duffel-security" /obj/item/storage/backpack/duffel/pharm name = "pharmacy duffel bag" desc = "Spice up the love life a little." icon_state = "duffel-chemistry" + item_state = "duffel-chemistry" /obj/item/storage/backpack/duffel/syndie name = "syndicate duffel bag" desc = "A snazzy black and red duffel bag, perfect for smuggling C4 and Parapens. It seems to be made of a lighter material." icon_state = "duffel-syndie" + item_state = "duffel-syndie" slowdown = 0 empty_delay = 0.8 SECOND @@ -298,52 +332,62 @@ desc = "A sturdy backpack worn over one shoulder." icon = 'icons/obj/storage/courierbag.dmi' icon_state = "courierbag" + item_state = "courierbag" /obj/item/storage/backpack/messenger/pharm name = "pharmacy messenger bag" desc = "A serile backpack worn over one shoulder. This one is in pharmacy colors." icon_state = "courierbagchem" + item_state = "courierbagchem" /obj/item/storage/backpack/messenger/med name = "medical messenger bag" desc = "A sterile backpack worn over one shoulder used in medical departments." icon_state = "courierbagmed" + item_state = "courierbagmed" /obj/item/storage/backpack/messenger/tox name = "research messenger bag" desc = "A backpack worn over one shoulder. Useful for holding science materials." icon_state = "courierbagtox" + item_state = "courierbagtox" /obj/item/storage/backpack/messenger/com name = "captain's messenger bag" desc = "A special backpack worn over one shoulder. This one is made specifically for command officers." icon_state = "courierbagcom" + item_state = "courierbagcom" empty_delay = 0.8 SECOND /obj/item/storage/backpack/messenger/engi name = "engineering messenger bag" desc = "A strong backpack worn over one shoulder. This one is designed for industrial work." icon_state = "courierbagengi" + item_state = "courierbagengi" empty_delay = 0.8 SECOND /obj/item/storage/backpack/messenger/hyd name = "hydroponics messenger bag" desc = "A backpack worn over one shoulder. This one is designed for plant-related work." icon_state = "courierbaghyd" + item_state = "courierbaghyd" /obj/item/storage/backpack/messenger/sec name = "security messenger bag" desc = "A tactical backpack worn over one shoulder. This one is in security colors." icon_state = "courierbagsec" + item_state = "courierbagsec" /obj/item/storage/backpack/messenger/syndie name = "syndicate messenger bag" desc = "A sturdy backpack worn over one shoulder. This one is in red and black menacing colors." icon_state = "courierbagsyndie" + item_state = "courierbagsyndie" /obj/item/storage/backpack/legion name = "military rucksack" desc = "A sturdy backpack with the emblems and markings of the Tau Ceti Foreign Legion." icon_state = "legion_bag" + item_state = "legion_bag" empty_delay = 0.8 SECOND /obj/item/storage/backpack/typec @@ -352,6 +396,7 @@ desc = "The wings of a CB Caste Vaurca. They are far too small at this stage to permit sustained periods of flight in most situations." icon_state = "wings" item_state = "wings" + contained_sprite = FALSE w_class = ITEMSIZE_HUGE slot_flags = SLOT_BACK max_storage_space = 12 @@ -395,6 +440,7 @@ name = "idris service backpack" desc = "The infamously Idris Service Standard refers to this monstrous, self-stabilizing back-mounted utensil and service item holder, not anything professional." icon_state = "idris_backpack" + item_state = "idris_backpack" storage_slots = 6 max_w_class = ITEMSIZE_LARGE can_hold = list( diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm index ca708cfb47d..55c94d28f1b 100644 --- a/code/game/objects/random/random.dm +++ b/code/game/objects/random/random.dm @@ -434,15 +434,15 @@ /obj/item/storage/backpack/cloak = 2, /obj/item/storage/backpack/syndie = 1, /obj/item/storage/backpack/satchel = 3, - /obj/item/storage/backpack/satchel_norm = 3, - /obj/item/storage/backpack/satchel_eng = 3, - /obj/item/storage/backpack/satchel_med = 3, - /obj/item/storage/backpack/satchel_pharm = 3, - /obj/item/storage/backpack/satchel_tox = 3, - /obj/item/storage/backpack/satchel_sec = 3, - /obj/item/storage/backpack/satchel_hyd = 3, - /obj/item/storage/backpack/satchel_cap = 1, - /obj/item/storage/backpack/satchel_syndie = 1, + /obj/item/storage/backpack/satchel/norm = 3, + /obj/item/storage/backpack/satchel/eng = 3, + /obj/item/storage/backpack/satchel/med = 3, + /obj/item/storage/backpack/satchel/pharm = 3, + /obj/item/storage/backpack/satchel/tox = 3, + /obj/item/storage/backpack/satchel/sec = 3, + /obj/item/storage/backpack/satchel/hyd = 3, + /obj/item/storage/backpack/satchel/cap = 1, + /obj/item/storage/backpack/satchel/syndie = 1, /obj/item/storage/backpack/ert = 1, /obj/item/storage/backpack/ert/security = 1, /obj/item/storage/backpack/ert/engineer = 1, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index c075d778357..91c4a9134c9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -7,7 +7,7 @@ if(prob(50)) new /obj/item/storage/backpack/industrial(src) else - new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/storage/backpack/satchel/eng(src) new /obj/item/storage/backpack/duffel/eng(src) new /obj/item/clothing/accessory/storage/brown_vest(src) new /obj/item/blueprints(src) @@ -40,7 +40,7 @@ /obj/structure/closet/secure_closet/engineering_chief2/fill() new /obj/item/storage/backpack/industrial(src) - new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/storage/backpack/satchel/eng(src) new /obj/item/clothing/accessory/storage/brown_vest(src) new /obj/item/clothing/accessory/storage/webbing(src) new /obj/item/clothing/under/rank/chief_engineer(src) @@ -96,7 +96,7 @@ if(prob(50)) new /obj/item/storage/backpack/industrial(src) else - new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/storage/backpack/satchel/eng(src) new /obj/item/storage/backpack/duffel/eng(src) new /obj/item/clothing/accessory/storage/brown_vest(src) new /obj/item/storage/toolbox/mechanical(src) @@ -117,7 +117,7 @@ if(prob(50)) new /obj/item/storage/backpack/industrial(src) else - new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/storage/backpack/satchel/eng(src) new /obj/item/storage/backpack/duffel/eng(src) new /obj/item/clothing/accessory/storage/brown_vest(src) new /obj/item/clothing/suit/fire/atmos(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 2a376b388ad..37d1fe41224 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -39,7 +39,7 @@ if(prob(50)) new /obj/item/storage/backpack/medic(src) else - new /obj/item/storage/backpack/satchel_med(src) + new /obj/item/storage/backpack/satchel/med(src) new /obj/item/storage/backpack/duffel/med(src) new /obj/item/clothing/head/nursehat (src) switch(pick("blue", "green", "purple")) @@ -81,7 +81,7 @@ /obj/structure/closet/secure_closet/medical_fr/fill() ..() - new /obj/item/storage/backpack/satchel_med(src) + new /obj/item/storage/backpack/satchel/med(src) new /obj/item/storage/backpack/duffel/med(src) new /obj/item/clothing/head/hardhat/first_responder(src) new /obj/item/device/radio/headset/headset_med(src) @@ -118,7 +118,7 @@ if(prob(50)) new /obj/item/storage/backpack/medic(src) else - new /obj/item/storage/backpack/satchel_med(src) + new /obj/item/storage/backpack/satchel/med(src) new /obj/item/storage/backpack/duffel/med(src) new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) @@ -145,7 +145,7 @@ /obj/structure/closet/secure_closet/CMO2/fill() new /obj/item/storage/backpack/medic(src) - new /obj/item/storage/backpack/satchel_med(src) + new /obj/item/storage/backpack/satchel/med(src) new /obj/item/clothing/under/rank/medical/surgeon/pmc(src) new /obj/item/clothing/head/surgery/pmc(src) new /obj/item/clothing/under/rank/medical/surgeon/idris(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index 15e25858bb9..1eb258c95ec 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -8,7 +8,7 @@ if(prob(50)) new /obj/item/storage/backpack(src) else - new /obj/item/storage/backpack/satchel_norm(src) + new /obj/item/storage/backpack/satchel/norm(src) new /obj/item/device/radio/headset(src) new /obj/item/device/radio/headset/alt(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 2bb2e49434e..47f538df898 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -8,7 +8,7 @@ if(prob(50)) new /obj/item/storage/backpack/captain(src) else - new /obj/item/storage/backpack/satchel_cap(src) + new /obj/item/storage/backpack/satchel/cap(src) new /obj/item/storage/backpack/duffel/cap(src) // Armor new /obj/item/clothing/head/helmet(src) @@ -33,7 +33,7 @@ /obj/structure/closet/secure_closet/captains2/fill() new /obj/item/storage/backpack/captain(src) - new /obj/item/storage/backpack/satchel_cap(src) + new /obj/item/storage/backpack/satchel/cap(src) new /obj/item/clothing/suit/captunic(src) new /obj/item/clothing/suit/captunic/capjacket(src) new /obj/item/clothing/head/caphat(src) @@ -103,7 +103,7 @@ if(prob(50)) new /obj/item/storage/backpack/security(src) else - new /obj/item/storage/backpack/satchel_sec(src) + new /obj/item/storage/backpack/satchel/sec(src) new /obj/item/storage/backpack/duffel/sec(src) new /obj/item/clothing/suit/armor/carrier/hos(src) new /obj/item/clothing/accessory/leg_guard(src) @@ -143,7 +143,7 @@ if(prob(50)) new /obj/item/storage/backpack/security(src) else - new /obj/item/storage/backpack/satchel_sec(src) + new /obj/item/storage/backpack/satchel/sec(src) new /obj/item/storage/backpack/duffel/sec(src) new /obj/item/clothing/suit/armor/carrier/hos(src) new /obj/item/clothing/accessory/leg_guard(src) @@ -174,7 +174,7 @@ if(prob(50)) new /obj/item/storage/backpack/security(src) else - new /obj/item/storage/backpack/satchel_sec(src) + new /obj/item/storage/backpack/satchel/sec(src) new /obj/item/storage/backpack/duffel/sec(src) new /obj/item/clothing/suit/armor/carrier/officer(src) new /obj/item/clothing/accessory/arm_guard(src) @@ -209,7 +209,7 @@ if(prob(50)) new /obj/item/storage/backpack/security(src) else - new /obj/item/storage/backpack/satchel_sec(src) + new /obj/item/storage/backpack/satchel/sec(src) new /obj/item/storage/backpack/duffel/sec(src) new /obj/item/clothing/head/beret/security(src) new /obj/item/clothing/head/softcap/security(src) @@ -238,7 +238,7 @@ if(prob(50)) new /obj/item/storage/backpack/security(src) else - new /obj/item/storage/backpack/satchel_sec(src) + new /obj/item/storage/backpack/satchel/sec(src) new /obj/item/storage/backpack/duffel/sec(src) new /obj/item/clothing/suit/armor/carrier/officer(src) new /obj/item/clothing/accessory/arm_guard(src) @@ -357,4 +357,4 @@ new /obj/item/device/radio/headset/headset_com(src) new /obj/item/device/radio/headset/headset_com/alt(src) new /obj/item/device/radio/off(src) - new /obj/item/device/gps(src) \ No newline at end of file + new /obj/item/device/gps(src) diff --git a/code/game/objects/structures/crates_lockers/closets/sol_gear.dm b/code/game/objects/structures/crates_lockers/closets/sol_gear.dm index 58606518801..033269be0b0 100644 --- a/code/game/objects/structures/crates_lockers/closets/sol_gear.dm +++ b/code/game/objects/structures/crates_lockers/closets/sol_gear.dm @@ -86,7 +86,7 @@ if(prob(50)) new /obj/item/storage/backpack/captain(src) else - new /obj/item/storage/backpack/satchel_cap(src) + new /obj/item/storage/backpack/satchel/cap(src) new /obj/item/clothing/under/rank/sol/dress/officer(src) new /obj/item/clothing/head/sol/dress/officer(src) new /obj/item/clothing/suit/storage/vest(src) diff --git a/code/modules/ghostroles/spawner/human/emergencypod.dm b/code/modules/ghostroles/spawner/human/emergencypod.dm index f73a77dd92c..7a3be1a4038 100644 --- a/code/modules/ghostroles/spawner/human/emergencypod.dm +++ b/code/modules/ghostroles/spawner/human/emergencypod.dm @@ -68,7 +68,7 @@ possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_UNATHI) /datum/ghostspawner/human/rescuepodsurv/select_spawnlocation(var/use=TRUE) - var/list/possible_areas = list(/area/exoplanet/barren/asteroid) + var/list/possible_areas = list(/area/exoplanet/barren/asteroid) var/turf/T = pick_area_turf(pick(possible_areas)) if(!use) //If we are just checking if we can get one, return the turf we found return T @@ -288,7 +288,7 @@ uniform = /obj/item/clothing/under/rank/sol/ shoes = /obj/item/clothing/shoes/jackboots belt = /obj/item/storage/belt/military - back = /obj/item/storage/backpack/satchel_norm + back = /obj/item/storage/backpack/satchel/norm head = /obj/item/clothing/head/helmet/space/void/sol suit = /obj/item/clothing/suit/space/void/sol suit_store = /obj/item/tank/oxygen diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 6920af5bacf..0840c6e0507 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -10,7 +10,7 @@ if(prob(50)) new /obj/item/storage/backpack/industrial(src) else - new /obj/item/storage/backpack/satchel_eng(src) + new /obj/item/storage/backpack/satchel/eng(src) new /obj/item/device/radio/headset/headset_cargo(src) new /obj/item/clothing/under/rank/miner(src) new /obj/item/clothing/gloves/black(src) diff --git a/html/changelogs/wezzy_bagfix.yml b/html/changelogs/wezzy_bagfix.yml new file mode 100644 index 00000000000..22061085424 --- /dev/null +++ b/html/changelogs/wezzy_bagfix.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixes broken job-specific satchels and bags." diff --git a/icons/obj/storage/backpack.dmi b/icons/obj/storage/backpack.dmi index aed8f48b07f915500f56c0a91bdfb77cc957d493..e601590628bbb4fd86974269de0f1f94fe544578 100644 GIT binary patch delta 13706 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 U(GI%%9~9Q3hq|ieaLb_o59Yiqpa1{> delta 13293 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