diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_den.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_den.dmm
index 92c99abf301..93ad7907a6b 100644
--- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_den.dmm
+++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_den.dmm
@@ -725,11 +725,6 @@
pixel_x = 5;
name = "high quality wound number"
},
-/obj/item/stack/medical/splint/improvised{
- pixel_y = -2;
- pixel_x = -3;
- amount = 6
- },
/turf/open/floor/stone/icemoon,
/area/ruin/unpowered/primitive_catgirl_den)
"EC" = (
diff --git a/_maps/RandomRuins/SpaceRuins/skyrat/shuttle8532.dmm b/_maps/RandomRuins/SpaceRuins/skyrat/shuttle8532.dmm
index fe1244201ff..a5dc9eaab2d 100644
--- a/_maps/RandomRuins/SpaceRuins/skyrat/shuttle8532.dmm
+++ b/_maps/RandomRuins/SpaceRuins/skyrat/shuttle8532.dmm
@@ -2045,7 +2045,6 @@
"Rf" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer4,
-/obj/item/stack/medical/splint/improvised,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/shuttle8532crewquarters)
"RA" = (
diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm
index 322f9a643c2..0a020b2b5a8 100644
--- a/code/__DEFINES/wounds.dm
+++ b/code/__DEFINES/wounds.dm
@@ -141,7 +141,7 @@ GLOBAL_LIST_INIT(global_all_wound_types, list(
/// If this wound marks the limb as being allowed to have gauze applied
#define ACCEPTS_GAUZE (1<<4)
//SKYRAT EDIT ADDITION BEGIN - MEDICAL
-/// If this wound marks the limb as being allowed to have splints applied
+/// If this wound marks the limb as being allowed to have gauze applied as a splint
#define ACCEPTS_SPLINT (1<<5)
//SKYRAT EDIT ADDITION END
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index a8e9170a2b0..8cc3c0ac41f 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -144,8 +144,7 @@
/obj/item/stack/medical/gauze
name = "medical gauze"
- //desc = "A roll of elastic cloth, perfect for stabilizing all kinds of wounds, from cuts and burns, to broken bones. " //ORIGINAL
- desc = "A roll of elastic cloth, perfect for stabilizing all kinds of slashes, punctures and burns. " //SKYRAT EDIT CHANGE - MEDICAL
+ desc = "A roll of elastic cloth, perfect for stabilizing all kinds of wounds, from cuts and burns, to broken bones. "
gender = PLURAL
singular_name = "medical gauze"
icon_state = "gauze"
@@ -160,7 +159,6 @@
splint_factor = 0.7
burn_cleanliness_bonus = 0.35
merge_type = /obj/item/stack/medical/gauze
- var/gauze_type = /datum/bodypart_aid/gauze //SKYRAT EDIT ADDITION - MEDICAL
// gauze is only relevant for wounds, which are handled in the wounds themselves
/obj/item/stack/medical/gauze/try_heal(mob/living/patient, mob/user, silent)
@@ -186,16 +184,9 @@
patient.balloon_alert(user, "can't heal those!")
return
- //SKYRAT EDIT CHANGE BEGIN - MEDICAL
- /*
if(limb.current_gauze && (limb.current_gauze.absorption_capacity * 1.2 > absorption_capacity)) // ignore if our new wrap is < 20% better than the current one, so someone doesn't bandage it 5 times in a row
patient.balloon_alert(user, pick("already bandaged!", "bandage is clean!")) // good enough
return
- */
- if(limb.current_gauze)
- balloon_alert(user, "already bandaged!")
- return
- //SKYRAT EDIT CHANGE END
if(HAS_TRAIT(woundies, TRAIT_WOUND_SCANNED))
treatment_delay *= 0.5
@@ -247,7 +238,6 @@
absorption_rate = 0.075
absorption_capacity = 4
merge_type = /obj/item/stack/medical/gauze/improvised
- gauze_type = /datum/bodypart_aid/gauze/improvised //SKYRAT EDIT ADDITION - MEDICAL
/*
The idea is for the following medical devices to work like a hybrid of the old brute packs and tend wounds,
diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm
index e259561042f..38ccbf65126 100644
--- a/code/game/objects/items/storage/medkit.dm
+++ b/code/game/objects/items/storage/medkit.dm
@@ -92,7 +92,6 @@
return
var/static/items_inside = list(
/obj/item/stack/medical/gauze = 1,
- /obj/item/stack/medical/splint = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/stack/medical/suture = 2,
/obj/item/stack/medical/mesh = 2,
/obj/item/reagent_containers/hypospray/medipen = 1,
@@ -111,7 +110,6 @@
var/static/items_inside = list(
/obj/item/healthanalyzer/simple = 1,
/obj/item/stack/medical/gauze = 1,
- /obj/item/stack/medical/splint = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/stack/medical/suture/emergency = 1,
/obj/item/stack/medical/ointment = 1,
/obj/item/reagent_containers/hypospray/medipen/ekit = 2,
@@ -138,7 +136,6 @@
var/static/items_inside = list(
/obj/item/healthanalyzer = 1,
/obj/item/stack/medical/gauze/twelve = 1,
- /obj/item/stack/medical/splint/twelve = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/stack/medical/suture = 2,
/obj/item/stack/medical/mesh = 2,
/obj/item/reagent_containers/hypospray/medipen = 1,
@@ -158,7 +155,6 @@
return
var/static/items_inside = list(
/obj/item/stack/medical/gauze = 1,
- /obj/item/stack/medical/splint = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/stack/medical/bruise_pack = 3,
/obj/item/stack/medical/ointment= 3)
generate_items_inside(items_inside,src)
@@ -250,7 +246,6 @@
var/static/items_inside = list(
/obj/item/reagent_containers/pill/patch/libital = 3,
/obj/item/stack/medical/gauze = 1,
- /obj/item/stack/medical/splint = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/storage/pill_bottle/probital = 1,
/obj/item/reagent_containers/hypospray/medipen/salacid = 1,
/obj/item/healthanalyzer/simple = 1,
@@ -272,7 +267,6 @@
/obj/item/reagent_containers/pill/patch/synthflesh = 3,
/obj/item/reagent_containers/hypospray/medipen/atropine = 2,
/obj/item/stack/medical/gauze = 1,
- /obj/item/stack/medical/splint = 1, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/storage/pill_bottle/penacid = 1)
generate_items_inside(items_inside,src)
@@ -300,7 +294,6 @@
/obj/item/reagent_containers/pill/patch/aiuri = 4,
/obj/item/healthanalyzer/advanced = 1,
/obj/item/stack/medical/gauze = 2,
- /obj/item/stack/medical/splint = 2, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/reagent_containers/hypospray/medipen/atropine = 2,
/obj/item/reagent_containers/medigel/sterilizine = 1,
/obj/item/surgical_drapes = 1,
@@ -333,7 +326,6 @@
/obj/item/reagent_containers/pill/patch/aiuri = 3,
/obj/item/healthanalyzer/advanced = 1,
/obj/item/stack/medical/gauze = 2,
- /obj/item/stack/medical/splint = 2, //SKYRAT EDIT ADDITION - MEDICAL
/obj/item/mod/module/thread_ripper = 1,
/obj/item/mod/module/surgical_processor/preloaded = 1,
/obj/item/mod/module/defibrillator/combat = 1,
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm b/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
index d4b7cef20dd..00f7869c3d3 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
@@ -35,13 +35,6 @@
stock_mult = 3
interest_addition = COMPANY_INTEREST_GAIN_PITIFUL
-/datum/armament_entry/company_import/deforest/first_aid/splint
- item_type = /obj/item/stack/medical/splint/twelve
- lower_cost = CARGO_CRATE_VALUE * PRICE_FIRST_AID_BASIC_LOWER
- upper_cost = CARGO_CRATE_VALUE * PRICE_FIRST_AID_BASIC_HIGHER
- stock_mult = 3
- interest_addition = COMPANY_INTEREST_GAIN_PITIFUL
-
/datum/armament_entry/company_import/deforest/first_aid/bruise_pack
item_type = /obj/item/stack/medical/bruise_pack
lower_cost = CARGO_CRATE_VALUE * PRICE_FIRST_AID_MEDIUM_LOWER
diff --git a/modular_skyrat/modules/exp_corps/code/gear.dm b/modular_skyrat/modules/exp_corps/code/gear.dm
index 81a311ff9b4..b2111c9fdce 100644
--- a/modular_skyrat/modules/exp_corps/code/gear.dm
+++ b/modular_skyrat/modules/exp_corps/code/gear.dm
@@ -9,7 +9,6 @@
if(empty)
return
new /obj/item/stack/medical/gauze(src)
- new /obj/item/stack/medical/splint(src)
new /obj/item/defibrillator/compact/loaded(src)
new /obj/item/reagent_containers/hypospray/combat(src)
new /obj/item/stack/medical/mesh/advanced(src)
diff --git a/modular_skyrat/modules/medical/code/bodypart.dm b/modular_skyrat/modules/medical/code/bodypart.dm
index 6b77decd5df..60a695f59ef 100644
--- a/modular_skyrat/modules/medical/code/bodypart.dm
+++ b/modular_skyrat/modules/medical/code/bodypart.dm
@@ -4,7 +4,7 @@
current_gauze = new new_gauze.gauze_type(src)
new_gauze.use(1)
-/obj/item/bodypart/proc/apply_splint(obj/item/stack/medical/splint/new_splint)
+/obj/item/bodypart/proc/apply_splint(obj/item/stack/medical/gauze/new_splint)
if(!istype(new_splint) || current_splint)
return
current_splint = new new_splint.splint_type(src)
diff --git a/modular_skyrat/modules/medical/code/bodypart_aid.dm b/modular_skyrat/modules/medical/code/bodypart_aid.dm
index 43dfbbc323f..e5b3b13ceaa 100644
--- a/modular_skyrat/modules/medical/code/bodypart_aid.dm
+++ b/modular_skyrat/modules/medical/code/bodypart_aid.dm
@@ -96,7 +96,7 @@
name = "splint"
overlay_prefix = "splint"
desc_prefix = "fastened"
- stack_to_drop = /obj/item/stack/medical/splint
+ stack_to_drop = /obj/item/stack/medical/gauze
/// How effective are we in keeping the bodypart rigid
var/splint_factor = 0.3
/// Whether the splint prevents the limb from being disabled, with a ruptured tendon or a shattered bone
@@ -133,15 +133,9 @@
name = "improvised splint"
splint_factor = 0.6
helps_disabled= FALSE
- stack_to_drop = /obj/item/stack/medical/splint/improvised
+ stack_to_drop = /obj/item/stack/medical/gauze/improvised
overlay_prefix = "splint_improv"
-/datum/bodypart_aid/splint/tribal
- name = "tribal splint"
- splint_factor = 0.5
- stack_to_drop = /obj/item/stack/medical/splint/tribal
- overlay_prefix = "splint_tribal"
-
/datum/bodypart_aid/gauze
name = "gauze"
stack_to_drop = /obj/item/stack/medical/gauze
@@ -163,6 +157,8 @@
/datum/bodypart_aid/gauze/get_description()
var/desc
switch(absorption_capacity)
+ if(-INFINITY to 0)
+ desc = "unusable"
if(0 to 1.25)
desc = "nearly ruined"
if(1.25 to 2.75)
diff --git a/modular_skyrat/modules/medical/code/carbon_examine.dm b/modular_skyrat/modules/medical/code/carbon_examine.dm
index 6bd81874bc3..aab30138184 100644
--- a/modular_skyrat/modules/medical/code/carbon_examine.dm
+++ b/modular_skyrat/modules/medical/code/carbon_examine.dm
@@ -53,7 +53,7 @@
msg += "\t[t_His] [LB.name] is [current_gauze.desc_prefix] with [current_gauze.get_description()]."
if(LB.current_splint)
var/datum/bodypart_aid/current_splint = LB.current_splint
- msg += "\t[t_His] [LB.name] is [current_splint.desc_prefix] with [current_splint.get_description()]."
+ msg += "\t[t_His] [LB.name] is [current_splint.desc_prefix] with a [current_splint.get_description()]."
if(!any_bodypart_damage)
msg += "\t[t_He] [t_Has] no significantly damaged bodyparts."
diff --git a/modular_skyrat/modules/medical/code/crafting_recipes.dm b/modular_skyrat/modules/medical/code/crafting_recipes.dm
deleted file mode 100644
index 201c69492f1..00000000000
--- a/modular_skyrat/modules/medical/code/crafting_recipes.dm
+++ /dev/null
@@ -1,14 +0,0 @@
-/datum/crafting_recipe/tribalsplint
- name = "Tribal Splint"
- result = /obj/item/stack/medical/splint/tribal
- time = 30
- reqs = list(/obj/item/stack/sheet/bone = 2,
- /obj/item/stack/sheet/sinew = 1)
- category = CAT_MISC
-
-/datum/crafting_recipe/improvsplint
- name = "Improvised Splint"
- result = /obj/item/stack/medical/splint/improvised
- time = 30
- reqs = list(/obj/item/stack/sheet/mineral/wood = 2, /obj/item/stack/sheet/cloth = 2)
- category = CAT_MISC
diff --git a/modular_skyrat/modules/medical/code/medical_stacks.dm b/modular_skyrat/modules/medical/code/medical_stacks.dm
new file mode 100644
index 00000000000..35b2ff1b1f9
--- /dev/null
+++ b/modular_skyrat/modules/medical/code/medical_stacks.dm
@@ -0,0 +1,65 @@
+/obj/item/stack/medical/gauze
+ var/gauze_type = /datum/bodypart_aid/gauze
+ var/splint_type = /datum/bodypart_aid/splint
+
+/obj/item/stack/medical/gauze/improvised
+ gauze_type = /datum/bodypart_aid/gauze/improvised
+ splint_type = /datum/bodypart_aid/splint/improvised
+
+// gauze is only relevant for wounds, which are handled in the wounds themselves
+/obj/item/stack/medical/gauze/try_heal(mob/living/patient, mob/user, silent)
+
+ var/treatment_delay = (user == patient ? self_delay : other_delay)
+
+ var/obj/item/bodypart/limb = patient.get_bodypart(check_zone(user.zone_selected))
+ if(!limb)
+ patient.balloon_alert(user, "missing limb!")
+ return
+ if(!LAZYLEN(limb.wounds))
+ patient.balloon_alert(user, "no wounds!") // good problem to have imo
+ return
+
+ var/gauzeable_wound = FALSE
+ var/splintable_wound = FALSE
+ var/datum/wound/woundies
+ for(var/i in limb.wounds)
+ woundies = i
+ if(woundies.wound_flags & (ACCEPTS_GAUZE | ACCEPTS_SPLINT))
+ if(woundies.wound_flags & ACCEPTS_GAUZE)
+ gauzeable_wound = TRUE
+ continue
+ if(woundies.wound_flags & ACCEPTS_SPLINT)
+ splintable_wound = TRUE
+ continue
+ if(!gauzeable_wound && !splintable_wound)
+ patient.balloon_alert(user, "can't heal those!")
+ return
+
+ if(limb.current_gauze && gauzeable_wound)
+ gauzeable_wound = FALSE
+ if(limb.current_splint && splintable_wound)
+ splintable_wound = FALSE
+ if(!gauzeable_wound && !splintable_wound)
+ balloon_alert(user, "already bandaged!")
+ return
+
+ if(HAS_TRAIT(woundies, TRAIT_WOUND_SCANNED))
+ treatment_delay *= 0.5
+ if(user == patient)
+ user.visible_message(span_warning("[user] begins expertly [gauzeable_wound ? "wrapping the wounds on their [limb.plaintext_zone]" : "splinting their [limb.plaintext_zone]"] with [src]..."), span_notice("You keep in mind the indications from the holo-image about your injury, and expertly begin [gauzeable_wound ? "wrapping your wounds" : "splinting your [limb.plaintext_zone]"] with [src]."))
+ else
+ user.visible_message(span_warning("[user] begins expertly [gauzeable_wound ? "wrapping the wounds on [patient]'s [limb.plaintext_zone]" : "splinting [patient]'s [limb.plaintext_zone]"] with [src]..."), span_warning("You begin quickly [gauzeable_wound ? "wrapping the wounds on [patient]'s [limb.plaintext_zone]" : "splinting [patient]'s [limb.plaintext_zone]"] with [src], keeping the holo-image indications in mind..."))
+ else
+ user.visible_message(span_warning("[user] begins [gauzeable_wound ? "wrapping the wounds on [patient]'s [limb.plaintext_zone]" : "splinting [patient]'s [limb.plaintext_zone]"] with [src]..."), span_warning("You begin [gauzeable_wound ? "wrapping the wounds on" : "splinting"] [user == patient ? "your" : "[patient]'s"] [limb.plaintext_zone] with [src]..."))
+
+ if(!do_after(user, treatment_delay, target = patient))
+ return
+
+ user.visible_message("[user] [gauzeable_wound ? "wraps the wounds on" : "splints"] [user == patient ? "[user.p_their()]" : "[patient]'s"] [limb.plaintext_zone] with [src].", "You [gauzeable_wound ? "wrap the wounds on" : "splint"] [user == patient ? "your" : "[patient]'s"] [limb.plaintext_zone].")
+ if(gauzeable_wound)
+ limb.apply_gauze(src)
+ return
+ if(splintable_wound)
+ limb.apply_splint(src)
+ return
+
diff --git a/modular_skyrat/modules/medical/code/splint.dm b/modular_skyrat/modules/medical/code/splint.dm
deleted file mode 100644
index b2ace8180fe..00000000000
--- a/modular_skyrat/modules/medical/code/splint.dm
+++ /dev/null
@@ -1,66 +0,0 @@
-/obj/item/stack/medical/splint
- name = "medical splint"
- desc = "Medical splints, designed to fastened a limb with ease, perfect for stabilizing broken bones and torn muscles. "
- gender = PLURAL
- singular_name = "medical splint"
- icon_state = "splint"
- icon = 'modular_skyrat/modules/medical/icons/stack_medical.dmi'
- self_delay = 5 SECONDS
- other_delay = 2 SECONDS
- max_amount = 12
- amount = 6
- grind_results = list(/datum/reagent/carbon = 2)
- custom_price = PAYCHECK_LOWER * 2
- merge_type = /obj/item/stack/medical/splint
- var/splint_type = /datum/bodypart_aid/splint
-
-/obj/item/stack/medical/splint/try_heal(mob/living/M, mob/user, silent)
- var/obj/item/bodypart/limb = M.get_bodypart(check_zone(user.zone_selected))
- if(!limb)
- to_chat(user, span_notice("There's nothing there to bandage!"))
- return
- if(!LAZYLEN(limb.wounds))
- to_chat(user, span_notice("There's no wounds that require bandaging on [user==M ? "your" : "[M]'s"] [limb.name]!")) // good problem to have imo
- return
-
- var/splintable_wound = FALSE
- for(var/i in limb.wounds)
- var/datum/wound/woundies = i
- if(woundies.wound_flags & ACCEPTS_SPLINT)
- splintable_wound = TRUE
- break
- if(!splintable_wound)
- to_chat(user, span_notice("There's no wounds that require splinting on [user==M ? "your" : "[M]'s"] [limb.name]!")) // good problem to have imo
- return
-
- if(limb.current_splint)
- to_chat(user, span_warning("[user==M ? "Your" : "[M]'s"] [limb.name] is already fastened in a splint!"))
- return
-
- user.visible_message(span_warning("[user] begins fastening [M]'s [limb.name] with [src]..."), span_warning("You begin to fasten [user == M ? "your" : "[M]'s"] [limb.name] with [src]..."))
- if(!do_after(user, (user == M ? self_delay : other_delay), target=M))
- return
-
- user.visible_message(span_green("[user] applies [src] to [M]'s [limb.name]."), span_green("You splint [user == M ? "your" : "[M]'s"] [limb.name]."))
- limb.apply_splint(src)
-
-/obj/item/stack/medical/splint/twelve
- amount = 12
-
-/obj/item/stack/medical/splint/tribal
- name = "tribal splint"
- desc = "Bone fastened with sinew, used to keep injured limbs rigid, surprisingly effective."
- singular_name = "tribal splint"
- icon_state = "splint_tribal"
- amount = 1
- splint_type = /datum/bodypart_aid/splint/tribal
- merge_type = /obj/item/stack/medical/splint/tribal
-
-/obj/item/stack/medical/splint/improvised
- name = "improvised splint"
- desc = "Crudely made out splints with wood and some cotton sling, you doubt this will be any good."
- singular_name = "improvised splint"
- icon_state = "splint_improv"
- amount = 1
- splint_type = /datum/bodypart_aid/splint/improvised
- merge_type = /obj/item/stack/medical/splint/improvised
diff --git a/modular_skyrat/modules/medical/icons/stack_medical.dmi b/modular_skyrat/modules/medical/icons/stack_medical.dmi
deleted file mode 100644
index 673a746fab9..00000000000
Binary files a/modular_skyrat/modules/medical/icons/stack_medical.dmi and /dev/null differ
diff --git a/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm b/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm
index f52f28470c4..604d28eb5c1 100644
--- a/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm
+++ b/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm
@@ -83,7 +83,6 @@
/obj/item/storage/medkit/tactical/ntrauma/PopulateContents()
new /obj/item/stack/medical/gauze(src)
- new /obj/item/stack/medical/splint(src)
new /obj/item/defibrillator/compact/combat/loaded/nanotrasen(src)
new /obj/item/reagent_containers/pill/patch/libital(src)
new /obj/item/reagent_containers/pill/patch/libital(src)
diff --git a/tgstation.dme b/tgstation.dme
index 64709e8a743..d6a685b697f 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6817,9 +6817,8 @@
#include "modular_skyrat\modules\medical\code\carbon_defense.dm"
#include "modular_skyrat\modules\medical\code\carbon_examine.dm"
#include "modular_skyrat\modules\medical\code\carbon_update_icons.dm"
-#include "modular_skyrat\modules\medical\code\crafting_recipes.dm"
+#include "modular_skyrat\modules\medical\code\medical_stacks.dm"
#include "modular_skyrat\modules\medical\code\smartdarts.dm"
-#include "modular_skyrat\modules\medical\code\splint.dm"
#include "modular_skyrat\modules\medical\code\wounds\_wounds.dm"
#include "modular_skyrat\modules\medical\code\wounds\bones.dm"
#include "modular_skyrat\modules\medical\code\wounds\burns.dm"