diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 98d32719099..06752686102 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -346,6 +346,17 @@ #define SOFA_BROWN "#a75400" #define SOFA_MAROON "#830000" +#define COLOR_ICECREAM_VANILLA "#f2eede" +#define COLOR_ICECREAM_CHOCOLATE "#93683c" +#define COLOR_ICECREAM_STRAWBERRY "#f4cbcb" +#define COLOR_ICECREAM_BLUE "#cbd5f4" +#define COLOR_ICECREAM_LEMON "#ffff9f" +#define COLOR_ICECREAM_CARAMEL "#d98736" +#define COLOR_ICECREAM_ORANGESICLE "#ffa980" +#define COLOR_ICECREAM_PEACH "#ffcc66" +#define COLOR_ICECREAM_CUSTOM "#f3f3f3" +#define COLOR_ICECREAM_CHERRY_CHOCOLATE "#800000" + GLOBAL_LIST_INIT(cable_colors, list( CABLE_COLOR_BLUE = CABLE_HEX_COLOR_BLUE, CABLE_COLOR_CYAN = CABLE_HEX_COLOR_CYAN, diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index 9b3db73b5eb..d880bbc459d 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -172,6 +172,13 @@ DEFINE_BITFIELD(food_flags, list( #define ICE_CREAM_CHOCOLATE "chocolate" #define ICE_CREAM_STRAWBERRY "strawberry" #define ICE_CREAM_BLUE "blue" +#define ICE_CREAM_LEMON "lemon sorbet" +#define ICE_CREAM_CARAMEL "caramel" +#define ICE_CREAM_BANANA "banana" +#define ICE_CREAM_ORANGE_CREAM "orangesicle" +#define ICE_CREAM_PEACH "peach" +#define ICE_CREAM_CHERRY_CHOCOLATE "cherry chocolate chip" +#define ICE_CREAM_KORTA_VANILLA "korta vanilla" #define ICE_CREAM_MOB "mob" #define ICE_CREAM_CUSTOM "custom" #define ICE_CREAM_BLAND "bland" diff --git a/code/datums/components/food/ice_cream_holder.dm b/code/datums/components/food/ice_cream_holder.dm index 962fcebcc94..0cb15ece936 100644 --- a/code/datums/components/food/ice_cream_holder.dm +++ b/code/datums/components/food/ice_cream_holder.dm @@ -199,8 +199,8 @@ GLOBAL_LIST_INIT_TYPED(ice_cream_flavours, /datum/ice_cream_flavour, init_ice_cr /datum/ice_cream_flavour /// Make sure the same name is not found on other types; These are singletons keyed by their name after all. var/name = "Coderlicious Gourmet Double Deluxe Undefined" - /// The icon state of the flavour, overlay or not. - var/icon_state = "icecream_vanilla" + /// The colour of the ice cream for non-custom flavours. + var/color = COLOR_ICECREAM_VANILLA /* * The fluff text sent to the examiner when the snack has only one flavour of ice cream. * $CONE_NAME and $CUSTOM_NAME are both placeholders for the cone and the custom ice cream name respectively. @@ -230,8 +230,10 @@ GLOBAL_LIST_INIT_TYPED(ice_cream_flavours, /datum/ice_cream_flavour, init_ice_cr /datum/ice_cream_flavour/proc/add_flavour(datum/component/ice_cream_holder/target, datum/reagents/R, custom_name) var/atom/owner = target.parent LAZYADD(target.scoops, custom_name || name) - if(icon_state) - LAZYADD(target.scoop_overlays, icon_state) + if(color) + var/image/flavoring = image('icons/obj/service/kitchen.dmi', "icecream_custom") + flavoring.color = color + LAZYADD(target.scoop_overlays, flavoring) if(custom_name) LAZYSET(target.special_scoops, custom_name, name) @@ -258,28 +260,75 @@ GLOBAL_LIST_INIT_TYPED(ice_cream_flavours, /datum/ice_cream_flavour, init_ice_cr /datum/ice_cream_flavour/chocolate name = ICE_CREAM_CHOCOLATE - icon_state = "icecream_chocolate" + color = COLOR_ICECREAM_CHOCOLATE desc = "filled with chocolate ice cream. Surprisingly, made with real cocoa." ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/coco) reagent_type = /datum/reagent/consumable/coco /datum/ice_cream_flavour/strawberry name = ICE_CREAM_STRAWBERRY - icon_state = "icecream_strawberry" + color = COLOR_ICECREAM_STRAWBERRY desc = "filled with strawberry ice cream. Definitely not made with real strawberries." ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/berryjuice) reagent_type = /datum/reagent/consumable/berryjuice /datum/ice_cream_flavour/blue name = ICE_CREAM_BLUE - icon_state = "icecream_blue" + color = COLOR_ICECREAM_BLUE desc = "filled with blue ice cream. Made with real... blue?" ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/ethanol/singulo) reagent_type = /datum/reagent/consumable/ethanol/singulo +/datum/ice_cream_flavour/lemon + name = ICE_CREAM_LEMON + color = COLOR_ICECREAM_LEMON + desc = "filled with lemon sorbet. Like frozen lemonade in a cone." + ingredients = list(/datum/reagent/consumable/ice, /datum/reagent/consumable/lemonjuice) //contains no milk + reagent_type = /datum/reagent/consumable/lemonjuice + +/datum/ice_cream_flavour/caramel + name = ICE_CREAM_CARAMEL + color = COLOR_ICECREAM_CARAMEL + desc = "filled with caramel ice cream. It is deliciously sweet." + ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/caramel) + reagent_type = /datum/reagent/consumable/caramel + +/datum/ice_cream_flavour/banana + name = ICE_CREAM_BANANA + color = COLOR_YELLOW + desc = "filled with banana ice cream. Honk!" + ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/banana) + reagent_type = /datum/reagent/consumable/banana + +/datum/ice_cream_flavour/orange_cream + name = ICE_CREAM_ORANGE_CREAM + color = COLOR_ICECREAM_ORANGESICLE + desc = "filled with orange creamsicle. Not quite the same off the stick..." + ingredients = list(/datum/reagent/consumable/cream, /datum/reagent/consumable/ice, /datum/reagent/consumable/orangejuice) + reagent_type = /datum/reagent/consumable/orangejuice + +/datum/ice_cream_flavour/peach + name = ICE_CREAM_PEACH + color = COLOR_ICECREAM_PEACH + desc = "filled with limited edition peach flavour. Enjoy it while it lasts!" + ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/peachjuice) + reagent_type = /datum/reagent/consumable/peachjuice + +/datum/ice_cream_flavour/vanilla/korta + name = ICE_CREAM_KORTA_VANILLA + desc = "filled with vanilla ice cream made with korta milk. Lizards love it!" + ingredients = list(/datum/reagent/consumable/korta_milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/vanilla) + +/datum/ice_cream_flavour/cherry_chocolate + name = ICE_CREAM_CHERRY_CHOCOLATE + color = COLOR_ICECREAM_CHERRY_CHOCOLATE + desc = "filled with cherry chocolate chip ice cream. It is wonderfully tangy and sweet." + ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice, /datum/reagent/consumable/coco, /datum/reagent/consumable/cherryjelly) + reagent_type = /datum/reagent/consumable/cherryjelly + /datum/ice_cream_flavour/mob name = ICE_CREAM_MOB - icon_state = "icecream_mob" + color = COLOR_ICECREAM_STRAWBERRY desc = "filled with bright red ice cream. That's probably not strawberry..." desc_prefix = "A suspicious $CONE_NAME" reagent_type = /datum/reagent/consumable/liquidgibs @@ -287,11 +336,16 @@ GLOBAL_LIST_INIT_TYPED(ice_cream_flavours, /datum/ice_cream_flavour, init_ice_cr /datum/ice_cream_flavour/custom name = ICE_CREAM_CUSTOM - icon_state = "" //has its own mutable appearance overlay. + color = "" //has its own mutable appearance overlay desc = "filled with artisanal icecream. Made with real $CUSTOM_NAME. Ain't that something." ingredients = list(/datum/reagent/consumable/milk, /datum/reagent/consumable/ice) ingredients_text = "optional flavorings" +/datum/ice_cream_flavour/custom/korta + desc = "filled with artisanal lizard-friendly icecream. Made with real $CUSTOM_NAME. Ain't that something." + ingredients = list(/datum/reagent/consumable/korta_milk, /datum/reagent/consumable/ice) + ingredients_text = "optional flavorings" + /datum/ice_cream_flavour/custom/add_flavour(datum/component/ice_cream_holder/target, datum/reagents/R, custom_name) if(!R || R.total_volume < 4) //consumable reagents have stronger taste so higher volume are required to allow non-food flavourings to break through better. return GLOB.ice_cream_flavours[ICE_CREAM_BLAND].add_flavour(target) //Bland, sugary ice and milk. @@ -305,7 +359,7 @@ GLOBAL_LIST_INIT_TYPED(ice_cream_flavours, /datum/ice_cream_flavour, init_ice_cr /datum/ice_cream_flavour/bland name = ICE_CREAM_BLAND - icon_state = "icecream_custom" + color = COLOR_ICECREAM_CUSTOM desc = "filled with anemic, flavorless icecream. You wonder why this was ever scooped..." hidden = TRUE diff --git a/code/game/objects/items/food/pastries.dm b/code/game/objects/items/food/pastries.dm index e9d2a9189d9..235524a4d75 100644 --- a/code/game/objects/items/food/pastries.dm +++ b/code/game/objects/items/food/pastries.dm @@ -367,6 +367,15 @@ /datum/reagent/consumable/coco, ) +/obj/item/food/icecream/korta + name = "korta cone" + desc = "Delicious lizard-friendly cone, but no ice cream." + foodtypes = NUTS | SUGAR + ingredients = list( + /datum/reagent/consumable/korta_flour, + /datum/reagent/consumable/sugar, + ) + /obj/item/food/cookie/peanut_butter name = "peanut butter cookie" desc = "A tasty, chewy peanut butter cookie." diff --git a/code/modules/food_and_drinks/machinery/icecream_vat.dm b/code/modules/food_and_drinks/machinery/icecream_vat.dm index 30f0b6f5b00..607c54e6ff1 100644 --- a/code/modules/food_and_drinks/machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/machinery/icecream_vat.dm @@ -17,13 +17,23 @@ var/static/list/obj/item/food/icecream/cone_prototypes var/static/list/icecream_vat_reagents = list( /datum/reagent/consumable/milk = 6, + /datum/reagent/consumable/korta_milk = 6, /datum/reagent/consumable/flour = 6, + /datum/reagent/consumable/korta_flour = 6, /datum/reagent/consumable/sugar = 6, /datum/reagent/consumable/ice = 6, /datum/reagent/consumable/coco = 6, /datum/reagent/consumable/vanilla = 6, /datum/reagent/consumable/berryjuice = 6, - /datum/reagent/consumable/ethanol/singulo = 6) + /datum/reagent/consumable/ethanol/singulo = 6, + /datum/reagent/consumable/lemonjuice = 6, + /datum/reagent/consumable/caramel = 6, + /datum/reagent/consumable/banana = 6, + /datum/reagent/consumable/orangejuice = 6, + /datum/reagent/consumable/cream = 6, + /datum/reagent/consumable/peachjuice = 6, + /datum/reagent/consumable/cherryjelly = 6, + ) /obj/machinery/icecream_vat/Initialize(mapload) . = ..() diff --git a/code/modules/food_and_drinks/restaurant/custom_order.dm b/code/modules/food_and_drinks/restaurant/custom_order.dm index 06c61c7d3d7..c74b4883c19 100644 --- a/code/modules/food_and_drinks/restaurant/custom_order.dm +++ b/code/modules/food_and_drinks/restaurant/custom_order.dm @@ -119,7 +119,8 @@ var/added_offset = 0 for(var/flavor in wanted_flavors) - var/image/scoop = image('icons/obj/service/kitchen.dmi', GLOB.ice_cream_flavours[flavor].icon_state) + var/image/scoop = image('icons/obj/service/kitchen.dmi', "icecream_custom") + scoop.color = GLOB.ice_cream_flavours[flavor].color scoop.pixel_y = added_offset i_scream.overlays += scoop added_offset += ICE_CREAM_SCOOP_OFFSET diff --git a/icons/obj/service/kitchen.dmi b/icons/obj/service/kitchen.dmi index fda1ece4972..cb47ddf35a2 100644 Binary files a/icons/obj/service/kitchen.dmi and b/icons/obj/service/kitchen.dmi differ