diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 7377913c15..f650a935ea 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -497,6 +497,72 @@ /obj/item/reagent_containers/food/drinks/bottle/grenadine/empty list_reagents = null +/obj/item/reagent_containers/food/drinks/bottle/blank //Don't let players print these from a lathe, bottles should be obtained in mass from the bar only. + name = "glass bottle" + desc = "This blank bottle is unyieldingly anonymous, offering no clues to it's contents." + icon_state = "glassbottle" + volume = 90 + spillable = TRUE + obj_flags = UNIQUE_RENAME + +/obj/item/reagent_containers/food/drinks/bottle/blank/update_icon() + ..() + add_overlay("[initial(icon_state)]shine") + +/obj/item/reagent_containers/food/drinks/bottle/blank/Initialize() + . = ..() + update_icon() + +/obj/item/reagent_containers/food/drinks/bottle/blank/get_part_rating() + return reagents.maximum_volume + +/obj/item/reagent_containers/food/drinks/bottle/blank/on_reagent_change(changetype) + update_icon() + +/obj/item/reagent_containers/food/drinks/bottle/blank/update_overlays() + . = ..() + if(!cached_icon) + cached_icon = icon_state + + if(reagents.total_volume) + var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[cached_icon]10", color = mix_color_from_reagents(reagents.reagent_list)) + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) + filling.icon_state = "[cached_icon]0" + if(10 to 19) + filling.icon_state = "[cached_icon]10" + if(20 to 29) + filling.icon_state = "[cached_icon]20" + if(30 to 39) + filling.icon_state = "[cached_icon]30" + if(40 to 49) + filling.icon_state = "[cached_icon]40" + if(50 to 59) + filling.icon_state = "[cached_icon]50" + if(60 to 69) + filling.icon_state = "[cached_icon]60" + if(70 to 79) + filling.icon_state = "[cached_icon]70" + if(80 to 89) + filling.icon_state = "[cached_icon]80" + if(90 to INFINITY) + filling.icon_state = "[cached_icon]90" + . += filling + +/obj/item/reagent_containers/food/drinks/bottle/blank/small + name = "small glass bottle" + desc = "This small bottle is unyieldingly anonymous, offering no clues to it's contents." + icon_state = "glassbottlesmall" + volume = 60 + +/obj/item/reagent_containers/food/drinks/bottle/blank/pitcher + name = "glass pitcher" + desc = "This is a pitcher for large amounts of liquid of any kind." + icon_state = "unipitcher" + volume = 120 + ////////////////////////// MOLOTOV /////////////////////// /obj/item/reagent_containers/food/drinks/bottle/molotov name = "molotov cocktail" diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 7dfe19f635..630a3629cf 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -245,6 +245,36 @@ category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE +/datum/design/emptybottle + name = "Glass Bottle" + desc = "A small, empty bottle for storing liquids." + id = "emptyglassbottle" + build_type = PROTOLATHE + materials = list(/datum/material/glass = 400) + build_path = /obj/item/reagent_containers/food/drinks/bottle/blank/small + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/largeemptybottle + name = "Large Glass Bottle" + desc = "A large, empty bottle for storing liquids." + id = "largeemptyglassbottle" + build_type = PROTOLATHE + materials = list(/datum/material/glass = 2000) + build_path = /obj/item/reagent_containers/food/drinks/bottle/blank + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/emptypitcher + name = "Pitcher" + desc = "A large Pitcher to hold vast amounts of liquid." + id = "emptypitcher" + build_type = PROTOLATHE + materials = list(/datum/material/glass = 3600) + build_path = /obj/item/reagent_containers/food/drinks/bottle/blank/pitcher + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + /datum/design/air_horn name = "Air Horn" desc = "Damn son, where'd you find this?" diff --git a/code/modules/research/techweb/nodes/export_nodes.dm b/code/modules/research/techweb/nodes/export_nodes.dm index cbdedef113..5259fc1bfa 100644 --- a/code/modules/research/techweb/nodes/export_nodes.dm +++ b/code/modules/research/techweb/nodes/export_nodes.dm @@ -14,8 +14,8 @@ /datum/techweb_node/bottle_exports id = "bottle_exports" - display_name = "Legal Bottling" + display_name = "Advanced Bottling" prereq_ids = list("blueprinted_bottles") - description = "New bottles for printing and selling." - design_ids = list("minikeg", "blooddrop", "slim_gold", "white_bloodmoon", "greenroad") + description = "New bottles for printing, storage and selling." + design_ids = list("minikeg", "blooddrop", "slim_gold", "white_bloodmoon", "greenroad", "emptyglassbottle", "largeemptyglassbottle", "emptypitcher") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 250) diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 5ec0987111..87f2a0940b 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -5,6 +5,9 @@ icon_deny = "boozeomat-deny" products = list(/obj/item/reagent_containers/food/drinks/drinkingglass = 30, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass = 12, + /obj/item/reagent_containers/food/drinks/bottle/blank = 5, + /obj/item/reagent_containers/food/drinks/bottle/blank/small = 10, + /obj/item/reagent_containers/food/drinks/bottle/blank/pitcher = 2, /obj/item/reagent_containers/food/drinks/bottle/gin = 5, /obj/item/reagent_containers/food/drinks/bottle/whiskey = 5, /obj/item/reagent_containers/food/drinks/bottle/tequila = 5, diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index b7f21a1fe4..0f49bc6d5f 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index 8115036b6f..7926ead12d 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ