diff --git a/code/datums/storage/subtypes/surgery_tray.dm b/code/datums/storage/subtypes/surgery_tray.dm index 358865813188b..799b69f3f19a6 100644 --- a/code/datums/storage/subtypes/surgery_tray.dm +++ b/code/datums/storage/subtypes/surgery_tray.dm @@ -19,4 +19,5 @@ /obj/item/stack/sticky_tape/surgical, /obj/item/surgical_drapes, /obj/item/surgicaldrill, + /obj/item/breathing_bag )) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 21fe0d86261ce..9ca91cae66fef 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -786,6 +786,15 @@ for(var/obj/item/healthanalyzer/cyborg/analyzer in borg.model.modules) analyzer.downgrade() +/obj/item/borg/upgrade/breathingbag + name = "breathing bag upgrade" + desc = "An upgrade allowing the medical module to assist a patient with breathing." + icon_state = "module_medical" + require_model = TRUE + model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) + model_flags = BORG_MODEL_MEDICAL + items_to_add = list(/obj/item/breathing_bag) + /obj/item/borg/upgrade/surgery_omnitool name = "cyborg surgical omni-tool upgrade" desc = "An upgrade to the Medical model, upgrading the built-in \ diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index b8a20acb7fc58..e767e3a8a134f 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -140,7 +140,7 @@ if(empty) return var/list/items_inside = list( - /obj/item/healthanalyzer/range = 1, + /obj/item/healthanalyzer = 1, /obj/item/stack/medical/gauze/twelve = 1, /obj/item/stack/medical/suture = 2, /obj/item/stack/medical/mesh = 2, @@ -325,7 +325,7 @@ /obj/item/storage/medkit/hypospray name = "hypospray chemical kit" - desc = "An basic kit containing a hypospray and vials for most situations. Now 100% smaller, for 100% more hypospray per hypospray!" + desc = "An basic kit containing vials for most situations. Now 100% smaller, for 100% more hypospray per hypospray!" icon_state = "hypobasic" custom_price = PAYCHECK_COMMAND * 3 discountable = FALSE diff --git a/code/game/objects/items/surgery_tray.dm b/code/game/objects/items/surgery_tray.dm index a02da87ab851e..5a4f56c85e9f6 100644 --- a/code/game/objects/items/surgery_tray.dm +++ b/code/game/objects/items/surgery_tray.dm @@ -30,7 +30,6 @@ /obj/item/stack/sticky_tape/surgical, /obj/item/surgical_drapes, /obj/item/surgicaldrill, - /obj/item/breathing_bag, ) /obj/item/surgery_tray/deployed 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 c72abd008995d..e5c2e8b8e6170 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -42,7 +42,6 @@ new /obj/item/clothing/gloves/latex/nitrile(src) new /obj/item/storage/belt/medical(src) new /obj/item/clothing/glasses/hud/health(src) - new /obj/item/breathing_bag(src) return /obj/structure/closet/secure_closet/psychology diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index dca11549fb462..58b43d8dd6162 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -725,7 +725,6 @@ /obj/item/borg/cyborg_omnitool/medical, /obj/item/borg/cyborg_omnitool/medical, /obj/item/blood_filter, - /obj/item/breathing_bag, // MS: biocore-ambu /obj/item/extinguisher/mini, /obj/item/emergency_bed/silicon, /obj/item/borg/cyborghug/medical, diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 70a83c1c7e33f..f322f465f7ca7 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1304,6 +1304,21 @@ RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MEDICAL ) +/datum/design/borg_upgrade_breathingbag + name = "Ambu Bag" + id = "borg_upgrade_breathingbag" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/breathingbag + materials = list( + /datum/material/iron =SHEET_MATERIAL_AMOUNT * 2, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 1, + /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 2 + ) + construction_time = 120 + category = list( + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_MEDICAL + ) + /datum/design/borg_upgrade_nvgmeson name = "Nightvision Meson Sight" id = "borg_upgrade_nvmeson" diff --git a/code/modules/research/techweb/cyborg_nodes.dm b/code/modules/research/techweb/cyborg_nodes.dm index 9f741b6e43f77..6e750af2076b3 100644 --- a/code/modules/research/techweb/cyborg_nodes.dm +++ b/code/modules/research/techweb/cyborg_nodes.dm @@ -51,6 +51,7 @@ "borg_upgrade_surgical_database", "borg_upgrade_surgicalomnitool", "borg_upgrade_advanalyzer", + "borg_upgrade_breathingbag" ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) announce_channels = list(RADIO_CHANNEL_SCIENCE) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 72d84c53ef035..d6a5165fab7be 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -713,7 +713,10 @@ var/mob/living/mob = interacting_with if(mob == user) return - if (mob.is_mouth_covered()) + if(mob.stat == DEAD || HAS_TRAIT(mob, TRAIT_FAKEDEATH)) + to_chat(user, span_warning("They are dead!")) + return + if(mob.is_mouth_covered()) to_chat(user, span_warning("To perform mechanical ventilation, the patient must be unmasked!")) return to_chat(user, span_notice("Applying a breathing mask to [mob] face.")) @@ -729,4 +732,4 @@ to_chat(user, span_notice("Where did he go?")) return to_chat(user, span_notice("Performing artificial ventilation!")) - mob.adjustOxyLoss(-15) + mob.adjustOxyLoss(-10) diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index 89091112aeb5a..1cfd976c2e7f8 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -32,8 +32,8 @@ "name" = "Hyposprays", "icon" = "syringe", "products" = list( - /obj/item/hypospray = 5, - /obj/item/storage/medkit/hypospray = 3, + /obj/item/hypospray = 2, + /obj/item/storage/medkit/hypospray = 2, /obj/item/storage/medkit/hypospray/advanced = 1, /obj/item/storage/lockbox/vialbox = 5, ), @@ -44,7 +44,7 @@ /obj/item/clothing/head/helmet/toggleable/justice/medical = 2, ) premium = list( - /obj/item/healthanalyzer/range = 3, + /obj/item/healthanalyzer/range = 2, /obj/item/reagent_containers/medipen = 3, /obj/item/storage/belt/medical = 3, /obj/item/sensor_device = 2, diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index af1bcb9155219..4c5e7595bfab1 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -21,7 +21,6 @@ /obj/item/stack/medical/bone_gel = 2, /obj/item/reagent_containers/medipen/deforest/robot_liquid_solder = 2, /obj/item/reagent_containers/medipen/deforest/robot_system_cleaner = 4, - /obj/item/storage/medkit/hypospray = 3, ), )) contraband = list(