Skip to content

Commit

Permalink
Allows medical smocks to use their suit storage. (#3586)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
This PR adds a whitelist of medical items to the suit storage slots of
Frontiersmen, NGR, Hardliners, and Nanotrasen smocks, as well as
expanding the whitelist for the non-factional surgical apron.

Currently, I don't know of any items that work in the smocks aside from
oxytanks and a PDA for the NT smock. Whereas other, more generic
suits(such as winter coats and labcoats) would be more useful to wear by
having a suit slot in them. This is a shame, because the four smock
sprites are very pleasing, and compliment their faction uniform well.
Pulling from labcoats and medical winter coats, with a few tweakings of
my own, I have created a whitelist for the suit storage slot to be used
on each smock, including but not limited to surgical tools, medical
scanners, chemistry tools, and a few generic items.

NOTE: While working on this, I discovered a few things that may warrant
attention. The Hardliner and Frontiersmen smocks are the "base" suit
model for all the factional gear, meaning future edits to them that we
don't want all their equipment to inherit may be difficult if we don't
add a placeholder model. Additionally, in the future, it may be smart to
put the faction AFTER the category of item it is, e.g:
"/clothing/suit/medical_smock/nanotrasen" instead of what it is now,
"/clothing/suit/nanotrasen/medical smock" for easier grouping or
cross-faction changes.

## Why It's Good For The Game
Players will feel less inclined to forgo the cool-looking smocks for
other clothes simply because they don't have suit storage. Makes medical
inventory management slightly easier.

## Changelog

:cl:
add: Added a suit storage whitelist to the Nanotrasen, Hardliner, NGR,
and Frontiersmen smocks. Expands the whitelist of the surgical smock.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
Aquidu authored Nov 9, 2024
1 parent 77a10d5 commit 8765135
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 27 deletions.
30 changes: 30 additions & 0 deletions code/__DEFINES/storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,33 @@ GLOBAL_LIST_INIT(default_weight_class_to_volume, list(
#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 6) //1.5x satchel, 3 bulky items
#define STORAGE_VOLUME_DUFFLEBAG (DEFAULT_VOLUME_NORMAL * 8) // 2 huge items, or 4 bulky items
#define STORAGE_VOLUME_BAG_OF_HOLDING (DEFAULT_VOLUME_NORMAL * 9) //1.5X backpack

//Whitelist for the suit storage slot on medical suits
#define MEDICAL_SUIT_ALLOWED_ITEMS list( \
/obj/item/scalpel, \
/obj/item/cautery, \
/obj/item/hemostat, \
/obj/item/retractor, \
/obj/item/surgicaldrill, \
/obj/item/circular_saw, \
/obj/item/analyzer, \
/obj/item/sensor_device, \
/obj/item/stack/medical, \
/obj/item/dnainjector, \
/obj/item/reagent_containers/dropper, \
/obj/item/reagent_containers/syringe, \
/obj/item/reagent_containers/hypospray, \
/obj/item/healthanalyzer, \
/obj/item/flashlight/pen, \
/obj/item/reagent_containers/glass/bottle, \
/obj/item/reagent_containers/glass/beaker, \
/obj/item/reagent_containers/pill, \
/obj/item/storage/pill_bottle, \
/obj/item/paper, \
/obj/item/melee/classic_baton/telescopic, \
/obj/item/toy, \
/obj/item/storage/fancy/cigarettes, \
/obj/item/lighter, \
/obj/item/tank/internals/emergency_oxygen, \
/obj/item/tank/internals/plasmaman \
)
3 changes: 2 additions & 1 deletion code/modules/clothing/factions/frontiersmen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,13 @@
//Unarmored suits//
///////////////////

/obj/item/clothing/suit/frontiersmen
/obj/item/clothing/suit/frontiersmen //Ideally, the basic suit model here should be turned into a placeholder model, and this item have "smock" or "apron" added on the end.
name = "frontiersmen smock"
desc = "A basic white surgical apron worn by the Frontiersmen. It seems it could stain very easily..."
icon_state = "frontier_surgery"
icon = 'icons/obj/clothing/faction/frontiersmen/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/suits.dmi'
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

//////////////////
//Armored suits//
Expand Down
3 changes: 2 additions & 1 deletion code/modules/clothing/factions/hardliners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,14 @@
//Unarmored suits//
///////////////////

/obj/item/clothing/suit/hardliners
/obj/item/clothing/suit/hardliners //Ideally, the basic suit model here should be turned into a placeholder model, and this item have "smock" or "apron" added on the end.
name = "white smock"
desc = "A plain-white surgical smock typically worn by both Hardliners and Cybersun staff. Even mercenaries need medical attention!"
icon = 'icons/obj/clothing/faction/hardliners/suits.dmi'
mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi'
icon_state = "hl_apron"
item_state = "whitecloth"
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

/obj/item/clothing/suit/hazardvest/hardliners
name = "blood-red hazard vest"
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/factions/nanotrasen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@
desc = "A thick fluid-repelling smock rendered in what is unmistakeably Nanotrasen Blue. The tag on the inside declares it property of Nanotrasen, Inc."
icon_state = "med_smock"
item_state = "bluecloth"
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

/obj/item/clothing/suit/nanotrasen/suitjacket
name = "fancy black suit jacket"
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/factions/ngr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
desc = "A blood-red surgical smock typically worn by field medics of the New Gorlex Republic. It hides red blood really well!"
icon_state = "ngr_apron"
item_state = "redcloth"
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

/obj/item/clothing/suit/hazardvest/ngr
name = "blood-red hazard vest"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/suits/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@
name = "surgical apron"
desc = "A sterile blue surgical apron."
icon_state = "surgical"
allowed = list(/obj/item/scalpel, /obj/item/cautery, /obj/item/hemostat, /obj/item/retractor)
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

//SolGov suits

Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/suits/labcoat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
item_state = "labcoat"
blood_overlay_type = "coat"
body_parts_covered = CHEST|ARMS|GROIN
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/sensor_device, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
allowed = MEDICAL_SUIT_ALLOWED_ITEMS
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50)
togglename = "buttons"

Expand Down Expand Up @@ -75,7 +75,7 @@ You're pretty sure this is just a raincoat.
mob_overlay_icon = 'icons/mob/clothing/suits/utility.dmi'
icon_state = "labcoat_long"
item_state = "labcoat"
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/sensor_device, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
allowed = MEDICAL_SUIT_ALLOWED_ITEMS
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50)
togglename = "buttons"

Expand Down
23 changes: 1 addition & 22 deletions code/modules/clothing/suits/wintercoats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,28 +65,7 @@
icon_state = "coatmedical"
item_state = "coatmedical"
hoodtype = /obj/item/clothing/head/hooded/winterhood/medical
allowed = list(
/obj/item/analyzer,
/obj/item/sensor_device,
/obj/item/stack/medical,
/obj/item/dnainjector,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/syringe,
/obj/item/reagent_containers/hypospray,
/obj/item/healthanalyzer,
/obj/item/flashlight/pen,
/obj/item/reagent_containers/glass/bottle,
/obj/item/reagent_containers/glass/beaker,
/obj/item/reagent_containers/pill,
/obj/item/storage/pill_bottle,
/obj/item/paper,
/obj/item/melee/classic_baton/telescopic,
/obj/item/toy,
/obj/item/storage/fancy/cigarettes,
/obj/item/lighter,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
)
allowed = MEDICAL_SUIT_ALLOWED_ITEMS

/obj/item/clothing/head/hooded/winterhood/medical
icon_state = "hood_medical"
Expand Down

0 comments on commit 8765135

Please sign in to comment.