diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index 5ea129d2e26..f9706513f15 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -14,7 +14,7 @@
/obj/item/storage/firstaid/empty
name = "empty first-aid kit"
- desc = "It's an emergency medical kit for people who like wish soup."
+ desc = "It's a first-aid kit. Comes with nothing, so feel free to put your own stuff in it."
/obj/item/storage/firstaid/regular
starts_with = list(
@@ -26,48 +26,86 @@
/obj/item/device/healthanalyzer = 1
)
+/obj/item/storage/firstaid/large
+ name = "large first-aid kit"
+ desc = "A large first-aid kit containing plenty of the basics for wound treatment."
+ icon_state = "firstaid_large"
+ item_state = "firstaid"
+ w_class = ITEMSIZE_LARGE
+ throw_range = 6
+ starts_with = list(
+ /obj/item/stack/medical/bruise_pack = 4,
+ /obj/item/stack/medical/ointment = 4,
+ /obj/item/storage/pill_bottle/inaprovaline = 1,
+ /obj/item/storage/pill_bottle/perconol = 1,
+ /obj/item/stack/medical/splint = 2,
+ /obj/item/device/healthanalyzer = 1
+ )
+
/obj/item/storage/firstaid/fire
name = "fire first-aid kit"
- desc = "It's an emergency medical kit for when the toxins lab -spontaneously- burns down."
+ desc = "An emergency medical kit for treating burn-related injuries, whether they be from fires, chemicals, lasers, cigarettes - you name it. Warranty void if used on synthetics."
icon_state = "firefirstaid"
item_state = "firefirstaid"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/burn = 4
)
-/obj/item/storage/firstaid/fire/fill()
- . = ..()
- icon_state = pick("firefirstaid","firefirstaid2","firefirstaid3")
+/obj/item/storage/firstaid/large/fire
+ name = "large fire first-aid kit"
+ desc = "A large emergency medical kit for treating a lot of burn-related injuries. Perhaps multiple people stood in the way of an emitter, or bathed in acid. In any case, this kit is there to treat it all."
+ icon_state = "firefirstaid_large"
+ item_state = "firefirstaid"
+ starts_with = list(
+ /obj/item/stack/medical/advanced/ointment = 4,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dermaline = 4,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/mortaphenyl = 4,
+ /obj/item/device/healthanalyzer = 1
+ )
/obj/item/storage/firstaid/toxin
name = "toxin first-aid"
- desc = "Used to treat when you have a high amount of toxins in your body."
- icon_state = "antitoxinfirstaid"
- item_state = "antitoxinfirstaid"
+ desc = "An emergency medical kit for treating exposure to harmful toxins. Useful for phoron leaks, poisonings, or that one guy who accidentally ate k'ois."
+ icon_state = "antitoxfirstaid"
+ item_state = "antitoxfirstaid"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/toxin = 4
)
-/obj/item/storage/firstaid/toxin/fill()
- . = ..()
- icon_state = pick("antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
+/obj/item/storage/firstaid/large/toxin
+ name = "large toxin first-aid kit"
+ desc = "A large emergency medical kit for treating severe toxin exposure cases. This kit contains advanced medications to purge toxins and may result in side-effects to those they are administered to."
+ icon_state = "antitoxfirstaid_large"
+ item_state = "antitoxfirstaid"
+ starts_with = list(
+ /obj/item/storage/box/fancy/med_pouch/toxin = 8,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/fluvectionem = 2,
+ /obj/item/device/healthanalyzer = 1
+ )
/obj/item/storage/firstaid/o2
name = "oxygen deprivation kit"
- desc = "A box full of oxygen related goodies."
+ desc = "An emergency medical kit for treating oxygen deprivation. There's a label on the box that says to make sure to only apply the kit after you have left the oxygen-deprived area."
icon_state = "o2firstaid"
item_state = "o2firstaid"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/oxyloss = 4
)
-/obj/item/storage/firstaid/o2/fill()
- . = ..()
- icon_state = pick("o2firstaid","o2firstaid2","o2firstaid3")
+/obj/item/storage/firstaid/large/o2
+ name = "large oxygen deprivation kit"
+ desc = "A large emergency medical kit for treating really bad cases of oxygen deprivation. Contains medication intended to restore breathing as well as oxygenation."
+ icon_state = "o2firstaid_large"
+ item_state = "o2firstaid"
+ starts_with = list(
+ /obj/item/storage/box/fancy/med_pouch/oxyloss = 8,
+ /obj/item/reagent_containers/inhaler/pneumalin = 2,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dexalin_plus = 2,
+ )
/obj/item/storage/firstaid/adv
name = "advanced first-aid kit"
- desc = "Contains advanced medical treatments."
+ desc = "An advanced medical kit full of advanced medical things. The kits inside are more effective at treating injuries than your standard gauze-and-ointment."
icon_state = "advfirstaid"
item_state = "advfirstaid"
starts_with = list(
@@ -78,13 +116,22 @@
/obj/item/device/healthanalyzer = 1
)
-/obj/item/storage/firstaid/adv/fill()
- . = ..()
- icon_state = pick("advfirstaid","advfirstaid2","advfirstaid3")
+/obj/item/storage/firstaid/large/adv
+ name = "large advanced first-aid kit"
+ desc = "A large advanced medical kit full of many advanced medical kits. This one comes packed with advanced stabilization treatments."
+ icon_state = "advfirstaid_large"
+ item_state = "advfirstaid"
+ starts_with = list(
+ /obj/item/storage/pill_bottle/assorted = 2,
+ /obj/item/stack/medical/advanced/bruise_pack = 5,
+ /obj/item/stack/medical/advanced/ointment = 4,
+ /obj/item/stack/medical/splint = 2,
+ /obj/item/device/healthanalyzer = 1
+ )
/obj/item/storage/firstaid/combat
name = "combat medical kit"
- desc = "Contains advanced medical treatments."
+ desc = "A military-grade combat medical kit containing rapidly-deliverable treatments for triage on the dangerous front line of a battle. Warranty void if used in a danger-free environment."
icon_state = "bezerk"
item_state = "bezerk"
starts_with = list(
@@ -98,9 +145,26 @@
/obj/item/device/healthanalyzer = 1
)
+/obj/item/storage/firstaid/large/combat
+ name = "advanced combat medical kit"
+ desc = "A bulky, advanced military-grade combat medical kit containing rapidly-deliverable treatments for triage on the dangerous front line of a battle. Warranty void if used in a danger-free environment."
+ icon_state = "bezerk_large"
+ item_state = "bezerk"
+ starts_with = list(
+ /obj/item/reagent_containers/hypospray/combat/empty = 1,
+ /obj/item/reagent_containers/glass/bottle/butazoline = 1,
+ /obj/item/reagent_containers/glass/bottle/dermaline = 1,
+ /obj/item/reagent_containers/glass/bottle/dexalin_plus = 1,
+ /obj/item/reagent_containers/glass/bottle/mortaphenyl = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/sideeffectbgone = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/fluvectionem = 1,
+ /obj/item/stack/medical/splint = 1,
+ /obj/item/device/healthanalyzer = 1
+ )
+
/obj/item/storage/firstaid/surgery
name = "surgery kit"
- desc = "Contains tools for surgery. Has precise foam fitting for safe transport."
+ desc = "A sterile medical kit containing tools for surgery on-the-go. Even comes with a foam lining so your delicate instruments don't break in transit. How considerate."
icon_state = "purplefirstaid"
item_state = "purplefirstaid"
starts_with = list(
@@ -120,38 +184,54 @@
/obj/item/storage/firstaid/surgery/fill()
. = ..()
make_exact_fit()
- icon_state = pick("purplefirstaid","purplefirstaid2","purplefirstaid3")
/obj/item/storage/firstaid/trauma
name = "trauma first-aid kit"
- desc = "It's an emergency medical kit for when people brought ballistic weapons to a laser fight."
+ desc = "An emergency medical kit for treating trauma-related injuries. Useful for injuries stemming from sharp sticks, blunt sticks, and toolboxes."
icon_state = "traumafirstaid"
item_state = "traumafirstaid"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/trauma = 4
)
-/obj/item/storage/firstaid/trauma/fill()
- ..()
- icon_state = pick("traumafirstaid","traumafirstaid2","traumafirstaid3")
+/obj/item/storage/firstaid/large/trauma
+ name = "large trauma first-aid kit"
+ desc = "An advanced trauma kit for treating serious injuries. This one is particularly specialized for trauma treatment and comes with advanced medication."
+ icon_state = "traumafirstaid_large"
+ item_state = "traumafirstaid"
+ starts_with = list(
+ /obj/item/stack/medical/advanced/bruise_pack = 4,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/butazoline = 4,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/mortaphenyl = 4,
+ /obj/item/device/healthanalyzer = 1
+ )
/obj/item/storage/firstaid/radiation
name = "radiation first-aid kit"
- desc = "It's an emergency medical kit for when you try to hug the reactor."
+ desc = "An emergency medical kit for treating radiation exposure. Useful for people who say their mouth tastes like iron before vomiting blood, or for people who are too 'hardcore' to wear a radiation suit next to a supermatter reactor."
icon_state = "radfirstaid"
item_state = "radfirstaid"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/radiation = 4
)
-/obj/item/storage/firstaid/radiation/Initialize()
- . = ..()
- icon_state = pick("radfirstaid","radfirstaid2","radfirstaid3")
+/obj/item/storage/firstaid/large/radiation
+ name = "large radiation first-aid kit"
+ desc = "An emergency medical kit for treating radiation exposure. Useful for people who say their mouth tastes like iron before vomiting blood, or for people who are too 'hardcore' to wear a radiation suit next to a supermatter reactor."
+ icon_state = "radfirstaid_large"
+ item_state = "radfirstaid"
+ starts_with = list(
+ /obj/item/storage/box/fancy/med_pouch/radiation = 6,
+ /obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dermaline = 1,
+ /obj/item/stack/medical/ointment = 2,
+ /obj/item/device/healthanalyzer = 1
+ )
/obj/item/storage/firstaid/stab // Generic first aid kit for mappers that covers all bases.
- name = "stabilisation first-aid"
- desc = "Stocked with medical pouches."
+ name = "stabilization first-aid"
+ desc = "A jack-of-all-trades medical kit containing a sampler platter of medical treatments. Useful for when someone is screwed up in more ways than you can count."
icon_state = "firstaid_multi"
+ item_state = "firstaid_multi"
starts_with = list(
/obj/item/storage/box/fancy/med_pouch/trauma = 1,
/obj/item/storage/box/fancy/med_pouch/burn = 1,
@@ -161,9 +241,23 @@
/obj/item/device/healthanalyzer = 1
)
+/obj/item/storage/firstaid/large/stab // Generic first aid kit for mappers that covers all bases.
+ name = "large stabilization first-aid"
+ desc = "A big jack-of-all-trades medical kit containing a sizeable sampler platter of medical treatments. Useful for when someone is screwed up in more ways than you can count."
+ icon_state = "firstaid_multi_large"
+ item_state = "firstaid_multi"
+ starts_with = list(
+ /obj/item/storage/box/fancy/med_pouch/trauma = 2,
+ /obj/item/storage/box/fancy/med_pouch/burn = 2,
+ /obj/item/storage/box/fancy/med_pouch/oxyloss = 2,
+ /obj/item/storage/box/fancy/med_pouch/toxin = 2,
+ /obj/item/storage/box/fancy/med_pouch/radiation = 2,
+ /obj/item/device/healthanalyzer = 1
+ )
+
/obj/item/storage/firstaid/sleekstab
- name = "Slimline stabilisation kit"
- desc = "A sleek and expensive looking medical kit."
+ name = "slimline stabilization kit"
+ desc = "A sleek and expensive looking medical kit containing a plethora of colorful autoinjectors. Read the labels!"
icon_state = "firstaid_multi"
item_state = "firstaid_multi"
w_class = ITEMSIZE_SMALL
@@ -181,7 +275,7 @@
/obj/item/storage/firstaid/light // For pilot/expedition closets, which we don't have. Yet.
name = "light first-aid kit"
- desc = "It's a small emergency medical kit."
+ desc = "It's a small emergency medical kit for when you have small emergency medical needs."
icon_state = "fak-light"
item_state = "advfirstaid"
storage_slots = 5
diff --git a/code/game/objects/items/weapons/storage/med_pouch.dm b/code/game/objects/items/weapons/storage/med_pouch.dm
index 4b148020bc1..f682b0cd2b5 100644
--- a/code/game/objects/items/weapons/storage/med_pouch.dm
+++ b/code/game/objects/items/weapons/storage/med_pouch.dm
@@ -161,25 +161,52 @@ Single Use Emergency Pouches
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto
name = "emergency autoinjector"
- desc = "An emergency autoinjector from an emergency medical pouch."
+ desc = "An emergency autoinjector from an emergency medical pouch. Do not administer more than one of each type of autoinjector to a patient."
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/inaprovaline
name = "emergency inaprovaline autoinjector"
+ desc = "An emergency autoinjector containing inaprovaline, for stabilizing patients in or near critical condition."
reagents_to_add = list(/singleton/reagent/inaprovaline = 5)
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/mortaphenyl
name = "emergency mortaphenyl autoinjector"
+ desc = "An emergency autoinjector containing mortaphenyl, a powerful painkiller for use in extreme injury. Side effects include confusion and impaired vision. DO NOT APPLY TO ANYONE UNDER THE INFLUENCE OF ALCOHOL."
reagents_to_add = list(/singleton/reagent/mortaphenyl = 5)
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dylovene
name = "emergency dylovene autoinjector"
+ desc = "An emergency autoinjector containing dylovene, an effective anti-toxin medicine that protects the body from poisoning effects and neutralizes toxins."
reagents_to_add = list(/singleton/reagent/dylovene = 5)
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dexalin
name = "emergency dexalin autoinjector"
+ desc = "An emergency autoinjector containing dexalin, a medicine which delivers oxygen to patients who are deprived of it, such as with lung injuries or vacuum exposure. DO NOT APPLY TO VAURCAE."
reagents_to_add = list(/singleton/reagent/dexalin = 5)
/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/adrenaline
name = "emergency adrenaline autoinjector"
+ desc = "An emergency autoinjector containing adrenaline, or epinephrine. This autoinjector comes with a dosage meant to make rescusitation easier. Apply to those in critical condition only, and combine with CPR."
amount_per_transfer_from_this = 8
reagents_to_add = list(/singleton/reagent/adrenaline = 8)
+
+//advanced autos
+
+/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/butazoline
+ name = "emergency butazoline autoinjector"
+ desc = "An emergency autoinjector containing butazoline for treating severe trauma. Side effects include dehydration and itchiness."
+ reagents_to_add = list(/singleton/reagent/butazoline = 10)
+
+/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dermaline
+ name = "emergency dermaline autoinjector"
+ desc = "An emergency autoinjector containing dermaline for treating severe burns. Side effects include dehydration and itchiness."
+ reagents_to_add = list(/singleton/reagent/dermaline = 10)
+
+/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/dexalin_plus
+ name = "emergency dexalin plus autoinjector"
+ desc = "An emergency autoinjector containing dexalin plus, a medicine which efficiently delivers oxygen to patients who are deprived of it, such as with lung injuries or vacuum exposure. DO NOT APPLY TO VAURCAE."
+ reagents_to_add = list(/singleton/reagent/dexalin/plus = 10)
+
+/obj/item/reagent_containers/hypospray/autoinjector/pouch_auto/fluvectionem
+ name = "emergency bloodstream purge autoinjector"
+ desc = "An emergency anti-toxin autoinjector that, when injected into a person, purges their bloodstream of chemicals, including toxins and medicine alike. Useful in the event of severe poisonings.PURGES MEDICINE. DO NOT APPLY IF ANY MEDICATION WAS ALREADY GIVEN."
+ reagents_to_add = list(/singleton/reagent/fluvectionem = 5)
diff --git a/html/changelogs/nauticall-medkits.yml b/html/changelogs/nauticall-medkits.yml
new file mode 100644
index 00000000000..f84cee9e017
--- /dev/null
+++ b/html/changelogs/nauticall-medkits.yml
@@ -0,0 +1,42 @@
+################################
+# 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: nauticall
+
+# 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:
+ - imageadd: "Resprited the first aid kits - all of them - to look prettier. Pouches inside were tweaked as well."
+ - maptweak: "Modified Horizon's medical bay to stack the new first aid kits in a better and more compact fashion. Some space has been freed up as a result."
diff --git a/icons/obj/storage/firstaid.dmi b/icons/obj/storage/firstaid.dmi
index 75c54fd2c4a..631f9225a79 100644
Binary files a/icons/obj/storage/firstaid.dmi and b/icons/obj/storage/firstaid.dmi differ
diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm
index 878c163921b..3c798c978ba 100644
--- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm
+++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm
@@ -4481,14 +4481,15 @@
/area/horizon/security/brig)
"bZD" = (
/obj/structure/table/standard,
-/obj/item/storage/firstaid/regular{
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/item/storage/firstaid/regular,
/obj/effect/floor_decal/corner_wide/green/full{
dir = 8
},
+/obj/item/storage/firstaid/adv{
+ pixel_y = 8
+ },
+/obj/item/storage/firstaid/adv{
+ pixel_y = 3
+ },
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"bZE" = (
@@ -5133,13 +5134,32 @@
"cua" = (
/obj/structure/table/standard,
/obj/item/storage/firstaid/o2{
- pixel_x = 5;
- pixel_y = 5
+ pixel_y = 8;
+ pixel_x = -17
},
-/obj/item/storage/firstaid/o2,
/obj/effect/floor_decal/corner_wide/green{
dir = 5
},
+/obj/item/storage/firstaid/o2{
+ pixel_y = 3;
+ pixel_x = -17
+ },
+/obj/item/storage/firstaid/toxin{
+ pixel_y = 8;
+ pixel_x = -2
+ },
+/obj/item/storage/firstaid/toxin{
+ pixel_y = 3;
+ pixel_x = -2
+ },
+/obj/item/storage/firstaid/fire{
+ pixel_y = 8;
+ pixel_x = 13
+ },
+/obj/item/storage/firstaid/fire{
+ pixel_y = 3;
+ pixel_x = 13
+ },
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"cuQ" = (
@@ -18911,11 +18931,12 @@
dir = 6
},
/obj/structure/table/standard,
-/obj/item/storage/firstaid/adv{
- pixel_x = 5;
+/obj/item/storage/firstaid/large/adv{
+ pixel_y = 10
+ },
+/obj/item/storage/firstaid/large/adv{
pixel_y = 5
},
-/obj/item/storage/firstaid/adv,
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"jeY" = (
@@ -19866,17 +19887,20 @@
/area/engineering/locker_room)
"jBw" = (
/obj/structure/table/standard,
-/obj/item/storage/firstaid/toxin{
- pixel_x = 4;
- pixel_y = 4
- },
-/obj/item/storage/firstaid/toxin,
/obj/effect/floor_decal/corner_wide/green{
dir = 5
},
/obj/machinery/light{
dir = 1
},
+/obj/item/storage/firstaid/regular{
+ pixel_y = 8;
+ pixel_x = -4
+ },
+/obj/item/storage/firstaid/regular{
+ pixel_y = 3;
+ pixel_x = -4
+ },
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"jCt" = (
@@ -21243,11 +21267,6 @@
/area/maintenance/aux_atmospherics/deck_2/starboard)
"kiJ" = (
/obj/structure/table/standard,
-/obj/item/storage/firstaid/fire{
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/item/storage/firstaid/fire,
/obj/effect/floor_decal/corner_wide/green/full{
dir = 1
},
@@ -21256,6 +21275,22 @@
dir = 8
},
/obj/machinery/firealarm/east,
+/obj/item/storage/box/syringes{
+ pixel_y = 15;
+ pixel_x = -4
+ },
+/obj/item/storage/box/syringes{
+ pixel_y = 15;
+ pixel_x = 5
+ },
+/obj/item/storage/box/bloodpacks{
+ pixel_x = -4;
+ pixel_y = 5
+ },
+/obj/item/storage/box/bloodpacks{
+ pixel_x = 5;
+ pixel_y = 5
+ },
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"kiK" = (
@@ -44274,10 +44309,6 @@
/obj/effect/floor_decal/corner_wide/green{
dir = 10
},
-/obj/item/storage/box/syringes{
- pixel_x = -2;
- pixel_y = 10
- },
/obj/item/bodybag/cryobag{
pixel_x = 13;
pixel_y = 10
@@ -44294,18 +44325,6 @@
pixel_x = 13;
pixel_y = 2
},
-/obj/item/storage/box/bloodpacks{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/item/storage/box/syringes{
- pixel_x = -2;
- pixel_y = 7
- },
-/obj/item/storage/box/bloodpacks{
- pixel_x = -5;
- pixel_y = -1
- },
/turf/simulated/floor/tiled/white,
/area/medical/main_storage)
"vHy" = (