diff --git a/code/modules/cooking/recipes/cutting_board_recipes.dm b/code/modules/cooking/recipes/cutting_board_recipes.dm index c957cad7379..c897f816c98 100644 --- a/code/modules/cooking/recipes/cutting_board_recipes.dm +++ b/code/modules/cooking/recipes/cutting_board_recipes.dm @@ -414,6 +414,36 @@ PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), ) +/datum/cooking/recipe/glass_sandwich + container_type = /obj/item/reagent_containers/cooking/board + product_type = /obj/item/food/glass_sandwich + catalog_category = COOKBOOK_CATEGORY_BURGS + steps = list( + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + PCWJ_ADD_ITEM(/obj/item/shard), + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + ) + +/datum/cooking/recipe/plasma_glass_sandwich + container_type = /obj/item/reagent_containers/cooking/board + product_type = /obj/item/food/glass_sandwich/plasma + catalog_category = COOKBOOK_CATEGORY_BURGS + steps = list( + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + PCWJ_ADD_ITEM(/obj/item/shard/plasma), + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + ) + +/datum/cooking/recipe/plastitanium_glass_sandwich + container_type = /obj/item/reagent_containers/cooking/board + product_type = /obj/item/food/glass_sandwich/plasma/plastitanium + catalog_category = COOKBOOK_CATEGORY_BURGS + steps = list( + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + PCWJ_ADD_ITEM(/obj/item/shard/plastitanium), + PCWJ_ADD_ITEM(/obj/item/food/sliced/bread), + ) + /datum/cooking/recipe/philly_cheesesteak container_type = /obj/item/reagent_containers/cooking/board product_type = /obj/item/food/philly_cheesesteak diff --git a/code/modules/food_and_drinks/food/foods/sandwiches.dm b/code/modules/food_and_drinks/food/foods/sandwiches.dm index cd5760bf036..d5dc7b8e02d 100644 --- a/code/modules/food_and_drinks/food/foods/sandwiches.dm +++ b/code/modules/food_and_drinks/food/foods/sandwiches.dm @@ -457,3 +457,51 @@ list_reagents = list("nutriment" = 5, "protein" = 2) tastes = list("peanutbutter" = 3, "banana" = 3, "bread" = 2) goal_difficulty = FOOD_GOAL_NORMAL + +/obj/item/food/glass_sandwich + name = "glass sandwich" + desc = "Crushed glass shards sandwiched between two slices of plain bread. Crunchy!" + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "glass_sandwich" + tastes = list("dozens of glass shards skewering your mouth" = 3, "pain" = 3, "bread" = 2) + list_reagents = list("nutriment" = 2, "glass_shards" = 5) + var/bite_damage = 2 + +/obj/item/food/glass_sandwich/On_Consume(mob/living/M) + ..() + M.adjustBruteLoss(bite_damage) + +/obj/item/food/glass_sandwich/plasma + name = "plasma glass sandwich" + desc = "Razor-sharp plasma glass shards, crushed up and sandwiched between two slices of plain bread. Extra crunchy!" + icon_state = "plasma_glass_sandwich" + list_reagents = list("nutriment" = 2, "glass_shards" = 5, "plasma" = 5) + bite_damage = 4 + +/obj/item/food/glass_sandwich/plasma/plastitanium + name = "plastitanium glass sandwich" + desc = "Evil-looking plastitanium glass shards, crushed up and sandwiched between two slices of plain bread. " + icon_state = "plastitanium_glass_sandwich" + +/obj/item/food/supermatter_sandwich + name = "supermatter sandwich" + desc = "You have been told many times to not lick the forbidden nacho... But surely one taste can't be that bad?" + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "supermatter_sandwich" + tastes = list("indescribable power" = 3, "bread" = 2) + list_reagents = list("vitamin" = 50) // Supermatter is full of energy! + +/obj/item/food/supermatter_sandwich/On_Consume(mob/living/M) + ..() + if(!HAS_TRAIT(M, TRAIT_SUPERMATTER_IMMUNE)) + M.visible_message( + "[M] lifts [src] up to [M.p_their()] mouth and bites down, inducing a resonance... [M.p_their(TRUE)] body starts to glow and burst into flames before flashing into dust!", + "You bite down on [src].

Everything starts burning and all you can hear is ringing. Your final thought is: \"OH FU-\"
", + "A deafening resonance fills the air, followed by silence..." + ) + radiation_pulse(src, 2000, GAMMA_RAD) + playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) + M.drop_item() // How many bridge hobos will take a bite, I wonder? + M.dust() + message_admins("[src] has consumed [key_name_admin(M)] [ADMIN_JMP(src)].") + investigate_log("has consumed [key_name(M)].", INVESTIGATE_SUPERMATTER) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 13f56965ca1..9400c3fbf5d 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -1329,3 +1329,29 @@ /datum/reagent/gluttonytoxin/reaction_mob(mob/living/L, method=REAGENT_TOUCH, reac_volume) L.ForceContractDisease(new /datum/disease/transformation/morph()) + +/datum/reagent/glass_shards + name = "Glass shards" + id = "glass_shards" + description = "Glass, crushed into a coarse powder made up of razor-sharp shards." + reagent_state = SOLID + color = "#87c6dac8" + taste_description = "Broken glass!" + process_flags = ORGANIC // Metal is hard enough to not be sliced up by the glass. + +/datum/reagent/glass_shards/on_mob_life(mob/living/M) + var/update_flags = STATUS_UPDATE_NONE + update_flags |= M.adjustBruteLoss(2, FALSE) + if(iscarbon(M) && prob(5)) // OH GOD IT'S CUTTING UP INSIDE ME AAAAAAAGHHHH! + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/affected = H.get_organ(BODY_ZONE_CHEST) + if(affected.status & !ORGAN_INT_BLEEDING) + affected.cause_internal_bleeding() + + return ..() | update_flags + +/datum/reagent/glass_shards/reaction_mob(mob/living/M, method = REAGENT_TOUCH, volume) + if(iscarbon(M)) + to_chat(M, "OH GOD IT HURTS!") + M.emote("scream") + M.adjustBruteLoss(4) diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index 684f20a5ccc..e8204d85815 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ