diff --git a/code/modules/cargo/items/medical.dm b/code/modules/cargo/items/medical.dm index 57ff3ed4956..4fea8507f1e 100644 --- a/code/modules/cargo/items/medical.dm +++ b/code/modules/cargo/items/medical.dm @@ -240,12 +240,40 @@ groupable = TRUE spawn_amount = 1 +/singleton/cargo_item/tricordrazine + category = "medical" + name = "tricordrazine bottle" + supplier = "nanotrasen" + description = "A bottle of tricordrazine, a medicine used to treat various wounds." + price = 175 + items = list( + /obj/item/reagent_containers/glass/bottle/tricordrazine + ) + access = 0 + container_type = "crate" + groupable = TRUE + spawn_amount = 1 + +/singleton/cargo_item/bicaridine_bottle + category = "medical" + name = "bicaridine bottle" + supplier = "nanotrasen" + description = "A bottle of bicaridine, a medicine used to treat trauma." + price = 250 + items = list( + /obj/item/reagent_containers/glass/bottle/bicaridine + ) + access = ACCESS_MEDICAL + container_type = "crate" + groupable = TRUE + spawn_amount = 1 + /singleton/cargo_item/butazoline_bottle category = "medical" name = "butazoline bottle" - supplier = "nanotrasen" + supplier = "zeng_hu" description = "A bottle of butazoline, a medicine used to treat severe trauma." - price = 250 + price = 525 items = list( /obj/item/reagent_containers/glass/bottle/butazoline ) @@ -258,7 +286,7 @@ category = "medical" name = "kelotane bottle" supplier = "nanotrasen" - description = "A bottle of kelotane, a medicine used to treat severe burns." + description = "A bottle of kelotane, a medicine used to treat burns." price = 250 items = list( /obj/item/reagent_containers/glass/bottle/kelotane @@ -268,6 +296,20 @@ groupable = TRUE spawn_amount = 1 +/singleton/cargo_item/dermaline_bottle + category = "medical" + name = "dermaline bottle" + supplier = "zeng_hu" + description = "A bottle of dermaline, a medicine used to treat severe burns." + price = 525 + items = list( + /obj/item/reagent_containers/glass/bottle/dermaline + ) + access = ACCESS_MEDICAL + container_type = "crate" + groupable = TRUE + spawn_amount = 1 + /singleton/cargo_item/dylovene_bottle category = "medical" name = "dylovene bottle" diff --git a/code/modules/cooking/machinery/commissary.dm b/code/modules/cooking/machinery/commissary.dm index 5e9e2bccac2..dba823d2beb 100644 --- a/code/modules/cooking/machinery/commissary.dm +++ b/code/modules/cooking/machinery/commissary.dm @@ -40,6 +40,7 @@ ) display_tiers = 5 display_tier_amt = 3 + has_emissive = FALSE /obj/machinery/smartfridge/tradeshelf/clothing name = "clothing shelf" @@ -84,6 +85,7 @@ ) display_tiers = 4 display_tier_amt = 5 + has_emissive = TRUE /obj/machinery/smartfridge/tradeshelf/toy name = "toy shelf" @@ -131,7 +133,7 @@ user.visible_message("[user] loads [src] with [P].", SPAN_NOTICE("You load [src] with [P].")) if(length(P.contents) > 0) to_chat(user, SPAN_NOTICE("Some items are refused.")) - update_overlays() + update_icon() return TRUE . = ..() diff --git a/code/modules/cooking/machinery/smartfridge.dm b/code/modules/cooking/machinery/smartfridge.dm index 5b3f3a30918..31957f5890e 100644 --- a/code/modules/cooking/machinery/smartfridge.dm +++ b/code/modules/cooking/machinery/smartfridge.dm @@ -22,6 +22,11 @@ var/machineselect = 0 var/list/accepted_items = list(/obj/item/reagent_containers/food/snacks/grown, /obj/item/seeds, /obj/item/mollusc) + /// List of items that the machine starts with upon spawn + var/list/initial_contents + + /// Is this smartfridge going to have a glowing screen? (Drying Racks are not) + var/has_emissive = TRUE var/cooling = 0 //Whether or not to vend products at the cooling temperature var/heating = 0 //Whether or not to vend products at the heating temperature @@ -99,12 +104,20 @@ update_overlays() update_static_data_for_all_viewers() -/obj/machinery/smartfridge/Initialize() +/obj/machinery/smartfridge/Initialize(mapload) . = ..() if(is_secure) wires = new/datum/wires/smartfridge/secure(src) else wires = new(src) + if(islist(initial_contents)) + for(var/obj/item/typekey as anything in initial_contents) + var/amount = initial_contents[typekey] + if(isnull(amount)) + amount = 1 + for(var/i in 1 to amount) + new typekey(src) + item_quants[typekey.name]++ update_icon() /obj/machinery/smartfridge/Destroy() @@ -170,6 +183,12 @@ /obj/item/reagent_containers/hypospray/autoinjector, /obj/item/personal_inhaler) +//Variant of medical fridge, but with some starting gear +/obj/machinery/smartfridge/secure/medbay/horizon + initial_contents = list(/obj/item/reagent_containers/glass/bottle/bicaridine = 1, + /obj/item/reagent_containers/glass/bottle/kelotane = 1, + /obj/item/reagent_containers/glass/bottle/dexalin = 1) + /obj/machinery/smartfridge/secure/virology name = "\improper Refrigerated Virus Storage" desc = "A refrigerated storage unit for storing viral material." @@ -213,6 +232,7 @@ icon_state = "drying_rack" accepted_items = list(/obj/item/reagent_containers/food/snacks) contents_path = null + has_emissive = FALSE /obj/machinery/smartfridge/drying_rack/accept_check(var/obj/item/O) if(!..()) @@ -292,10 +312,12 @@ if(panel_open) AddOverlays("[initial(icon_state)]-panel") var/list/shown_contents = contents - component_parts - if(contents_path && shown_contents.len > 0) - var/contents_icon_state = change_display(shown_contents.len - 1) + if(contents_path && length(shown_contents) > 0) + var/contents_icon_state = change_display(length(shown_contents) - 1) AddOverlays("[initial(icon_state)][contents_path][contents_icon_state]") AddOverlays("[initial(icon_state)]-glass[(stat & BROKEN) ? "-broken" : ""]") + if(has_emissive && powered() && !(stat & BROKEN)) + AddOverlays(emissive_appearance(icon, "[initial(icon_state)]-light-mask", src, alpha = src.alpha)) /obj/machinery/smartfridge/proc/change_display(var/length) var/tier = clamp((floor(length / display_tier_amt) + 1), 1, display_tiers) @@ -579,6 +601,7 @@ icon = 'icons/obj/structure/urban/restaurant.dmi' icon_state = "buffet" contents_path = null + has_emissive = FALSE /obj/machinery/smartfridge/foodheater/buffet/Initialize() . = ..() diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index f01914ea576..dbc431c4d60 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -162,6 +162,12 @@ icon_state = "bottle-4" reagents_to_add = list(/singleton/reagent/adrenaline = 60) +/obj/item/reagent_containers/glass/bottle/dexalin + name = "dexalin bottle" + desc = "A small bottle. Contains Dexalin that is used in the treatment of oxygen deprivation. It is somewhat effective, and is twice as powerful and lasts twice as long when inhaled." + icon_state = "bottle-4" + reagents_to_add = list(/singleton/reagent/dexalin = 60) + /obj/item/reagent_containers/glass/bottle/dexalin_plus name = "dexalin plus bottle" desc = "A small bottle. Contains Dexalin Plus that is used in the treatment of oxygen deprivation. It is highly effective, and is twice as powerful and lasts twice as long when inhaled." @@ -186,6 +192,12 @@ icon_state = "bottle-4" reagents_to_add = list(/singleton/reagent/thetamycin = 60) +/obj/item/reagent_containers/glass/bottle/tricordrazine + name = "tricordrazine bottle" + desc = "A small bottle. Contains bicaridine - treats all wounds slowly." + icon_state = "bottle-3" + reagents_to_add = list(/singleton/reagent/tricordrazine = 60) + /obj/item/reagent_containers/glass/bottle/bicaridine name = "bicaridine bottle" desc = "A small bottle. Contains bicaridine - treats damaged tissues." diff --git a/html/changelogs/GeneralCamo - Medical Adjustments.yml b/html/changelogs/GeneralCamo - Medical Adjustments.yml new file mode 100644 index 00000000000..8147b5acc86 --- /dev/null +++ b/html/changelogs/GeneralCamo - Medical Adjustments.yml @@ -0,0 +1,61 @@ +################################ +# 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 +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: GeneralCamo + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added bicaridine, dermaline, and tricordrazine to the cargo order interface." + - balance: "Dermaline and butazoline are now priced as premium medicines." + - rscadd: "The Horizon's medical bay now starts with a single bottle of bicaridine, kelotane, and dexalin." + - rscadd: "Smartfridges now have emissive masks." diff --git a/icons/obj/machinery/smartfridge.dmi b/icons/obj/machinery/smartfridge.dmi index 57f69f2d154..55cc13591db 100644 Binary files a/icons/obj/machinery/smartfridge.dmi and b/icons/obj/machinery/smartfridge.dmi differ diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index f095aa12da5..60146f034bd 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -57280,7 +57280,7 @@ /area/horizon/engineering/atmos/air) "hCX" = ( /obj/machinery/door/firedoor, -/obj/machinery/smartfridge/secure/medbay, +/obj/machinery/smartfridge/secure/medbay/horizon, /turf/simulated/floor/tiled/dark/full, /area/horizon/medical/pharmacy) "hCZ" = (