diff --git a/code/game/objects/items/weapons/circuitboards/frame_ch.dm b/code/game/objects/items/weapons/circuitboards/frame_ch.dm new file mode 100644 index 0000000000..45df1c1e48 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/frame_ch.dm @@ -0,0 +1,9 @@ +/obj/item/weapon/circuitboard/microwave/advanced + name = T_BOARD("deluxe microwave") + build_path = /obj/machinery/microwave/advanced + board_type = new /datum/frame/frame_types/microwave + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + req_components = list( + /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/weapon/stock_parts/motor = 1, + /obj/item/weapon/stock_parts/capacitor = 1) diff --git a/code/modules/food/food/thecake_ch.dm b/code/modules/food/food/thecake_ch.dm new file mode 100644 index 0000000000..93aef1a06b --- /dev/null +++ b/code/modules/food/food/thecake_ch.dm @@ -0,0 +1,613 @@ +//The collection of everything 'cake' related +// adjust recipes, make ingredients mobs + +/datum/recipe/thecake_firstlayer + reagents = list("flour" = 500,"milk" = 200, "sugar" = 200, "egg" = 100) + fruit = list("icechili" = 30, "plastellium" = 15) + items = list( + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + ) + result = /obj/structure/thecake + +/datum/recipe/thecake_secondlayer + reagents = list("flour" = 400, "milk" = 200, "sugar" = 100, "cryoxadone" = 200, "frostoil" = 100) + fruit = list("vanilla" = 30, "icelettuce" = 15) + items = list( + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond + ) + result = /obj/item/weapon/thecake_layertwo + +/datum/recipe/thecake_thirdlayer + reagents = list("flour" = 300, "singulo" = 300, "atomicbomb" = 150, "threemileisland" = 150, "manhattan_proj" = 100) + fruit = list("glowberries" = 30, "glowshrooms" = 15) + items = list( + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat + ) + result = /obj/item/weapon/thecake_layerthree + +/datum/recipe/thecake_fourthlayer + reagents = list("flour" = 400, "holymary" = 100, "angelskiss" = 100, "goldschlager" = 100, "gold" = 300) + fruit = list("ambrosiadeus" = 30, "goldapple" = 15) + items = list( + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart + ) + result = /obj/item/weapon/thecake_layerfour + +/datum/recipe/thecake_fifthlayer + reagents = list("deathbell" = 1000) + fruit = list("libertycap" = 10, "deathnettle" = 10, "destroyingangel" = 10) + items = list( + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat + ) + result = /obj/item/weapon/thecake_layerfive + +/obj/structure/thecake + name = "An unfinished cake" + desc = "A single layer of tasty delicious cake goodness, but it feels very incomplete..." + + icon = 'icons/obj/64x64.dmi' + icon_state = "thecake_onelayer" + pixel_x = -16 + + var/edible = 0 + var/stage = 1 + var/slices = 5 + var/maxslices = 5 + + var/regentime = 2000 + var/interval = 0 + +/obj/structure/thecake/proc/HasSliceMissing() + ..() + if(slices < maxslices) + if(interval >= regentime) + interval = 0 + slices++ + HasSliceMissing() + else + interval++ + HasSliceMissing() + else + return + +/obj/item/weapon/thecake_layertwo + name = "A layer of cake" + desc = "a layer of cake, you can see your own reflection in it." + icon = 'icons/obj/food_ch.dmi' + icon_state = "thecake_layertwo" + +/obj/item/weapon/thecake_layerthree + desc = "a layer of cake, it bathes you in a soft green glowth and warmth." + icon = 'icons/obj/food_ch.dmi' + icon_state = "thecake_layerthree" + +/obj/item/weapon/thecake_layerfour + name = "A layer of cake" + desc = "a layer of cake, its of so high karat that even the lightest touch leaves a dent in it." + icon = 'icons/obj/food_ch.dmi' + icon_state = "thecake_layerfour" + +/obj/item/weapon/thecake_layerfive + name = "A layer of cake" + desc = "a layer of cake, whatever this strange metal thats used in it is, it seems to drawn in light and reflect it back in a different shade." + icon = 'icons/obj/food_ch.dmi' + icon_state = "thecake_layerfive" + +/obj/item/weapon/thecake_singulocherry + name = "A stable singularity cherry" + desc = "It's a tiny singularity, but it doesnt draw in everything around it, touching it feels strange, like your touching nothingness...That feels at the same time like touching a cherry." + icon = 'icons/obj/food_ch.dmi' + icon_state = "singulocherry" + +/obj/item/weapon/reagent_containers/food/snacks/thecakeslice + name = "The Infinity Cake Slice" + desc = "A slice from The Infinity Cake, sadly the slice itself isnt infinite..." + icon = 'icons/obj/food_ch.dmi' + icon_state = "thecakeslice" + + center_of_mass = list("x"=16, "y"=10) + nutriment_desc = list("cake" = 10, "sweetness" = 10, "singularity?" = 1) + nutriment_amt = 5 + //Add some randomized effect possibly, to make the slices special - Jack + + +/obj/structure/thecake/attackby(var/obj/item/weapon/W, var/mob/living/user) + if(istype(W,/obj/item/weapon/material/knife)) + if(edible == 1) + HasSliceMissing() + if(slices <= 0) + user << "The cake hums away quietly as the singulo powered goodness slowly recovers the large amount of lost mass, best to give it a moment before cutting another slice." + return + else + user << "You cut a slice of the cake. The slice looks like the cake was just baked, and you can see before your eyes as the spot where you cut the slice slowly regenerates!" + slices = slices - 1 + new /obj/item/weapon/reagent_containers/food/snacks/thecakeslice(src.loc) + + else + to_chat(user, "It looks so good... But it feels so wrong to eat it before it's finished...") + return + if(istype(W,/obj/item/weapon/thecake_layertwo)) + if(stage == 1) + user << "You add a second layer to the cake, nice." + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "thecake_twolayers" + stage = 2 + else if(stage == 6) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/thecake_layerthree)) + if(stage == 2) + user << "You add a third layer to the cake, sweet~" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "thecake_threelayers" + stage = 3 + else if(stage == 6) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/thecake_layerfour)) + if(stage == 3) + user << "You add a fourth layer to the cake, it's almost done!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "thecake_fourlayers" + stage = 4 + else if(stage == 6) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/thecake_layerfive)) + if(stage == 4) + user << "You add a fifth layer to the cake, it's finished!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "thecake_fivelayers" + stage = 5 + spawn(5 SECONDS) + user << "...But it feels like...It's missing something?" + else if(stage == 6) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/thecake_singulocherry)) + if(stage == 5) + user << "Finally! The cherry on the top, the almighty infinity cake is complete!" + qdel(W) + name = "The Infinity Cake!" + desc = "its The Infinity Cake! This huge imposing cake made by immense efforts and resources stands tall in you, radiating a menacing aura of frosty goodness and diabetes for those not wary of it's infinite might!" + icon_state = "thecake_finished" + stage = 6 + edible = 1 + //Maybe fireworks going off? Confetti spawn? - Jack + else if(stage == 6) + user << "The cake is already done!" + else + user << "I don't think this goes on the cake...At least not yet?" + +// Chaos cake + +/datum/recipe/chaoscake_layerone + reagents = list("flour" = 500,"milk" = 200, "sugar" = 200, "egg" = 100) + fruit = list("icechili" = 30, "plastellium" = 15) + items = list( + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + /obj/item/stack/material/silver, + + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + /obj/item/slime_extract/grey, + + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat, + /obj/item/weapon/reagent_containers/food/snacks/meat/grubmeat + ) + result = /obj/structure/chaoscake + +/datum/recipe/chaoscake_layertwo + reagents = list("flour" = 400, "milk" = 200, "sugar" = 100, "cryoxadone" = 200, "frostoil" = 100) + fruit = list("vanilla" = 30, "icelettuce" = 15) + items = list( + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + /obj/item/stack/material/glass/phoronglass, + + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + /obj/item/organ/internal/eyes, + + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond, + /obj/item/stack/material/diamond + ) + result = /obj/item/weapon/chaoscake_layertwo + +/datum/recipe/chaoscake_layerthree + reagents = list("flour" = 300, "singulo" = 300, "atomicbomb" = 150, "threemileisland" = 150, "manhattan_proj" = 100) + fruit = list("glowberries" = 30, "glowshrooms" = 15) + items = list( + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + /obj/item/stack/material/uranium, + + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + /obj/item/slime_extract/green, + + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat, + /obj/item/weapon/reagent_containers/food/snacks/carpmeat + ) + result = /obj/item/weapon/chaoscake_layerthree + +/datum/recipe/chaoscake_layerfour + reagents = list("flour" = 400, "holymary" = 100, "angelskiss" = 100, "goldschlager" = 100, "gold" = 300) + fruit = list("ambrosiadeus" = 30, "goldapple" = 15) + items = list( + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + /obj/item/stack/material/gold, + + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + /obj/item/organ/internal/heart, + + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart, + /obj/item/weapon/reagent_containers/food/snacks/appletart + ) + result = /obj/item/weapon/chaoscake_layerfour + +/datum/recipe/chaoscake_layerfive + reagents = list("deathbell" = 1000) + fruit = list("libertycap" = 10, "deathnettle" = 10, "destroyingangel" = 10) + items = list( + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + /obj/item/stack/material/platinum, + + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + /obj/item/slime_extract/emerald, + + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat, + /obj/item/weapon/reagent_containers/food/snacks/xenomeat + ) + result = /obj/item/weapon/chaoscake_layerfive + +/datum/recipe/chaoscake_layersix + reagents = list() + fruit = list("potato" = 5) + items = list() + result = /obj/item/weapon/chaoscake_layersix + +/datum/recipe/chaoscake_layerseven + reagents = list() + fruit = list("tomato" = 5) + items = list() + result = /obj/item/weapon/chaoscake_layerseven + +/datum/recipe/chaoscake_layereight + reagents = list() + fruit = list("cabbage" = 5) + items = list() + result = /obj/item/weapon/chaoscake_layereight + +/datum/recipe/chaoscake_layernine + reagents = list() + fruit = list("mushroom" = 5) + items = list() + result = /obj/item/weapon/chaoscake_layernine + +/obj/structure/chaoscake + name = "An unfinished cake" + desc = "A single layer of tasty delicious cake goodness, but it feels very incomplete..." + + icon = 'icons/obj/64x64.dmi' + icon_state = "chaoscake_unfinished-1" + pixel_x = -16 + + var/edible = 0 + var/stage = 1 + var/slices = 6 + var/maxslices = 6 + + var/regentime = 2000 + var/interval = 0 + +/obj/structure/chaoscake/proc/HasSliceMissing() + ..() + if(slices < maxslices) + if(interval >= regentime) + interval = 0 + slices++ + HasSliceMissing() + else + interval++ + HasSliceMissing() + else + return + +/* +/obj/item/weapon/chaoscake_layerone + name = "A layer of cake" + desc = "a layer of cake, you can see the cherry paste ooze." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-1" +*/ + +/obj/item/weapon/chaoscake_layertwo + desc = "a layer of cake, it is made out of colourful cream." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-2" + +/obj/item/weapon/chaoscake_layerthree + name = "A layer of cake" + desc = "a layer of cake, glazed in purple." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-3" + +/obj/item/weapon/chaoscake_layerfour + name = "A layer of cake" + desc = "a layer of cake, reminding you of a colouring book." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-4" + +/obj/item/weapon/chaoscake_layerfive + name = "A layer of cake" + desc = "A layer of cake, smells like blood." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-5" + +/obj/item/weapon/chaoscake_layersix + name = "A layer of cake" + desc = "A layer of cake, featuring colourful sprinkles." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-6" + +/obj/item/weapon/chaoscake_layerseven + name = "A layer of cake" + desc = "A triplet of evil cake parts." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-7" + +/obj/item/weapon/chaoscake_layereight + name = "A layer of cake" + desc = "A triplet of good cake parts." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-8" + +/obj/item/weapon/chaoscake_layernine + name = "A coin of balance" + desc = "A very peculiar coin, it seems to stabilise the air around it." + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_layer-9" + +/obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice + name = "The Chaos Cake Slice" + desc = "A slice from The Chaos Cake, it pulses weirdly, as if angry to be seperated from the whole" + icon = 'icons/obj/food_ch.dmi' + icon_state = "chaoscake_slice-1" + + center_of_mass = list("x"=16, "y"=10) + nutriment_desc = list("cake" = 10, "sweetness" = 10, "order and entrophy?" = 1) + nutriment_amt = 5 + +/obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice/Initialize() + var/i = rand(1,6) + icon_state = "chaoscake_slice-[i]" + +/obj/structure/chaoscake/attackby(var/obj/item/weapon/W, var/mob/living/user) + if(istype(W,/obj/item/weapon/material/knife)) + if(edible == 1) + HasSliceMissing() + if(slices <= 0) + user << "The cake hums away quietly as the chaos powered goodness slowly recovers the large amount of lost mass, best to give it a moment before cutting another slice." + return + else + user << "You cut a slice of the cake. The slice looks like the cake was just baked, and you can see before your eyes as the spot where you cut the slice slowly regenerates!" + slices = slices - 1 + icon_state = "chaoscake-[slices]" + new /obj/item/weapon/reagent_containers/food/snacks/chaoscakeslice(src.loc) + + else + to_chat(user, "It looks so good... But it feels so wrong to eat it before it's finished...") + return + if(istype(W,/obj/item/weapon/chaoscake_layertwo)) + if(stage == 1) + user << "You add a second layer to the cake, nice." + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-2" + stage = 2 + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layerthree)) + if(stage == 2) + user << "You add a third layer to the cake, sweet~" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-3" + stage = 3 + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layerfour)) + if(stage == 3) + user << "You add a fourth layer to the cake, it's almost done!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-4" + stage = 4 + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layerfive)) + if(stage == 4) + user << "You add a fifth layer to the cake, it's finished!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-5" + stage = 5 + spawn(5 SECONDS) + user << "...But it feels like...It's missing something?" + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layersix)) + if(stage == 5) + user << "You add a fifth layer to the cake, it's finished!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-6" + stage = 6 + spawn(5 SECONDS) + user << "...But it feels like...It's missing something?" + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layerseven)) + if(stage == 6) + user << "You add a fifth layer to the cake, it's finished!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-7" + stage = 7 + spawn(5 SECONDS) + user << "...But it feels like...It's missing something?" + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layereight)) + if(stage == 7) + user << "You add a fifth layer to the cake, it's finished!" + qdel(W) + desc = "Two layer of tasty delicious cake goodness, but it feels pretty incomplete..." + icon_state = "chaoscake_unfinished-8" + stage = 8 + spawn(5 SECONDS) + user << "...But it feels like...It's missing something?" + else if(stage == 9) + user << "The cake is already done!" + else + user << "Hmm, doesnt seem like this layer is supposed to be added there?" + if(istype(W,/obj/item/weapon/chaoscake_layernine)) + if(stage == 8) + user << "Finally! The coin on the top, the almighty chaos cake is complete!" + qdel(W) + name = "The Chaos Cake!" + desc = "its The Chaos Cake! This odd cake seems to be a careful balance between good and evil, order and entrophy. Take care not to destroy the equilibrium!" + icon_state = "chaoscake-1" + stage = 9 + edible = 1 + else if(stage == 9) + user << "The cake is already done!" + else + user << "I don't think this goes on the cake...At least not yet?" diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm index bb40355d6c..b8f5b9894a 100644 --- a/code/modules/food/kitchen/microwave.dm +++ b/code/modules/food/kitchen/microwave.dm @@ -12,6 +12,8 @@ var/operating = 0 // Is it on? var/dirty = 0 // = {0..100} Does it need cleaning? var/broken = 0 // ={0,1,2} How broken is it??? + var/circuit_item_capacity = 1 //how many items does the circuit add to max number of items + var/item_level = 0 //CHOMP - items microwave can handle, 0 foodstuff, 1 materials - Jack var/global/list/datum/recipe/available_recipes // List of the recipes you can use var/global/list/acceptable_items // List of the items you can put in var/global/list/acceptable_reagents // List of the reagents you can put in @@ -122,7 +124,7 @@ to_chat(user, "It's dirty!") return 1 else if(is_type_in_list(O,acceptable_items)) - if (contents.len>=(max_n_of_items + component_parts.len + 1)) //Adds component_parts to the maximum number of items. The 1 is from the circuit + if (contents.len>=(max_n_of_items + component_parts.len + circuit_item_capacity)) //Adds component_parts to the maximum number of items. to_chat(user, "This [src] is full of ingredients, you cannot put more.") return 1 if(istype(O, /obj/item/stack) && O:get_amount() > 1) // This is bad, but I can't think of how to change it @@ -306,14 +308,26 @@ sleep(5) //VOREStation Edit - Quicker Microwaves return 1 -/obj/machinery/microwave/proc/has_extra_item() - for (var/obj/O in ((contents - component_parts) - circuit)) - if ( \ - !istype(O,/obj/item/weapon/reagent_containers/food) && \ - !istype(O, /obj/item/weapon/grown) \ - ) - return 1 - return 0 +/obj/machinery/microwave/proc/has_extra_item() //CHOMP - coded to have different microwaves be able to handle different items - Jack + if(item_level == 0) + for (var/obj/O in ((contents - component_parts) - circuit)) + if ( \ + !istype(O,/obj/item/weapon/reagent_containers/food) && \ + !istype(O, /obj/item/weapon/grown) \ + ) + return 1 + return 0 + if(item_level == 1) + for (var/obj/O in ((contents - component_parts) - circuit)) + if ( \ + !istype(O, /obj/item/weapon/reagent_containers/food) && \ + !istype(O, /obj/item/weapon/grown) && \ + !istype(O, /obj/item/slime_extract) && \ + !istype(O, /obj/item/organ) && \ + !istype(O, /obj/item/stack/material) \ + ) + return 1 + return 0 /obj/machinery/microwave/proc/start() src.visible_message("The microwave turns on.", "You hear a microwave.") @@ -394,3 +408,19 @@ if ("dispose") dispose() return + +/*********************************** +* CHOMP advanced microwave +************************************/ + + +/obj/machinery/microwave/advanced + name = "deluxe microwave" + icon = 'icons/obj/machines/machinery_ch.dmi' + circuit = /obj/item/weapon/circuitboard/microwave/advanced + circuit_item_capacity = 100 + item_level = 1 + +/obj/machinery/microwave/advanced/Initialize() + ..() + reagents.maximum_volume = 1000 diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 9e34611b7d..e656794237 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -61,6 +61,7 @@ name = "glowberries" seed_name = "glowberry" display_name = "glowberry bush" + kitchen_tag = "glowberries" mutants = null chems = list("nutriment" = list(1,10), "uranium" = list(3,5)) @@ -206,6 +207,7 @@ name = "bluespacetomato" seed_name = "bluespace tomato" display_name = "bluespace tomato plant" + kitchen_tag = "bluespacetomato" mutants = null chems = list("nutriment" = list(1,20), "singulo" = list(10,5)) @@ -406,6 +408,7 @@ name = "libertycap" seed_name = "liberty cap" display_name = "liberty cap mushrooms" + kitchen_tag = "libertycap" mutants = null chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25)) @@ -440,6 +443,7 @@ name = "destroyingangel" seed_name = "destroying angel" display_name = "destroying angel mushrooms" + kitchen_tag = "destroyingangel" mutants = null chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25)) @@ -473,6 +477,7 @@ name = "glowshroom" seed_name = "glowshroom" display_name = "glowshrooms" + kitchen_tag = "glowshrooms" mutants = null chems = list("radium" = list(1,20)) @@ -493,6 +498,7 @@ name = "plastic" seed_name = "plastellium" display_name = "plastellium" + kitchen_tag = "plastellium" mutants = null chems = list("plasticide" = list(1,10)) diff --git a/code/modules/research/designs/circuits/circuits_ch.dm b/code/modules/research/designs/circuits/circuits_ch.dm new file mode 100644 index 0000000000..d06824799e --- /dev/null +++ b/code/modules/research/designs/circuits/circuits_ch.dm @@ -0,0 +1,6 @@ +/datum/design/circuit/microwave/advanced + name = "deluxe microwave" + id = "deluxe microwave" + req_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5, TECH_BLUESPACE = 4) + build_path = /obj/item/weapon/circuitboard/microwave/advanced + sort_string = "MAAAC" diff --git a/icons/obj/64x64.dmi b/icons/obj/64x64.dmi index 0773896fa7..089261e954 100644 Binary files a/icons/obj/64x64.dmi and b/icons/obj/64x64.dmi differ diff --git a/icons/obj/food_ch.dmi b/icons/obj/food_ch.dmi index 1e0a8221d5..98c29fafc1 100644 Binary files a/icons/obj/food_ch.dmi and b/icons/obj/food_ch.dmi differ diff --git a/icons/obj/machines/machinery_ch.dmi b/icons/obj/machines/machinery_ch.dmi new file mode 100644 index 0000000000..636b4144e1 Binary files /dev/null and b/icons/obj/machines/machinery_ch.dmi differ diff --git a/vorestation.dme b/vorestation.dme index 9f7b289126..f736996c6b 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1130,6 +1130,7 @@ #include "code\game\objects\items\weapons\circuitboards\circuitboard.dm" #include "code\game\objects\items\weapons\circuitboards\circuitboards_vr.dm" #include "code\game\objects\items\weapons\circuitboards\frame.dm" +#include "code\game\objects\items\weapons\circuitboards\frame_ch.dm" #include "code\game\objects\items\weapons\circuitboards\mecha.dm" #include "code\game\objects\items\weapons\circuitboards\other.dm" #include "code\game\objects\items\weapons\circuitboards\computer\air_management.dm" @@ -1933,6 +1934,7 @@ #include "code\modules\food\drinkingglass\metaglass.dm" #include "code\modules\food\drinkingglass\shaker.dm" #include "code\modules\food\food\cans.dm" +#include "code\modules\food\food\thecake_ch.dm" #include "code\modules\food\food\condiment.dm" #include "code\modules\food\food\drinks.dm" #include "code\modules\food\food\lunch.dm" @@ -3130,6 +3132,7 @@ #include "code\modules\research\designs\xenobio_toys.dm" #include "code\modules\research\designs\circuits\ai_modules.dm" #include "code\modules\research\designs\circuits\circuits.dm" +#include "code\modules\research\designs\circuits\circuits_ch.dm" #include "code\modules\research\designs\circuits\circuits_vr.dm" #include "code\modules\resleeving\circuitboards.dm" #include "code\modules\resleeving\computers.dm"