diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 775b27cc08..c8c8d376c8 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -249,6 +249,12 @@ drop_sound = 'sound/items/drop/soda.ogg' pickup_sound = 'sound/items/pickup/soda.ogg' +/obj/item/trash/tomato + name = "empty tomato soup can" + icon_state = "tomato" + drop_sound = 'sound/items/drop/soda.ogg' + pickup_sound = 'sound/items/pickup/soda.ogg' + /obj/item/trash/spinach name = "empty spinach can" icon_state = "spinach" @@ -410,3 +416,14 @@ name = "burrito packaging" icon_state = "smolburrito" +/obj/item/trash/brainzsnax + name = "\improper BrainzSnax can" + icon_state = "brainzsnax" + drop_sound = 'sound/items/drop/soda.ogg' + pickup_sound = 'sound/items/pickup/soda.ogg' + +/obj/item/trash/brainzsnaxred + name = "\improper BrainzSnax RED can" + icon_state = "brainzsnaxred" + drop_sound = 'sound/items/drop/soda.ogg' + pickup_sound = 'sound/items/pickup/soda.ogg' \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/boxes_vr.dm b/code/game/objects/items/weapons/storage/boxes_vr.dm index 1f2bc91404..e234f22d4a 100644 --- a/code/game/objects/items/weapons/storage/boxes_vr.dm +++ b/code/game/objects/items/weapons/storage/boxes_vr.dm @@ -25,3 +25,14 @@ /obj/item/weapon/storage/secure/briefcase/trashmoney starts_with = list(/obj/item/weapon/spacecash/c200 = 10) + +/obj/item/weapon/storage/box/brainzsnax + name = "\improper BrainzSnax box" + icon_state = "brainzsnax_box" + desc = "A box designed to hold canned food. This one has BrainzSnax branding printed on it." + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/canned) + max_storage_space = ITEMSIZE_COST_NORMAL * 6 + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax = 6) + +/obj/item/weapon/storage/box/brainzsnax/red + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax/red = 6) \ No newline at end of file diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index de1fa2dc85..61b5921157 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -34,6 +34,11 @@ /// Packaged meals switch to this state when opened, if set var/package_open_state + /// If this is canned. If true, it will print a message and ask you to open it + var/canned = FALSE + /// Canned food switch to this state when opened, if set + var/canned_open_state + /obj/item/weapon/reagent_containers/food/snacks/Initialize() . = ..() if(nutriment_amt) @@ -63,6 +68,9 @@ if(package && !user.incapacitated()) unpackage(user) + if(canned && !user.incapacitated()) + uncan(user) + /obj/item/weapon/reagent_containers/food/snacks/attack(mob/living/M as mob, mob/user as mob, def_zone) if(reagents && !reagents.total_volume) to_chat(user, "None of [src] left!") @@ -74,6 +82,10 @@ to_chat(M, "How do you expect to eat this with the package still on?") return FALSE + if(canned) + to_chat(M, "How do you expect to eat this without opening it?") + return FALSE + if(istype(M, /mob/living/carbon)) //TODO: replace with standard_feed_mob() call. @@ -257,6 +269,13 @@ if(package_open_state) icon_state = package_open_state +/obj/item/weapon/reagent_containers/food/snacks/proc/uncan(mob/user) + canned = FALSE + to_chat(user, "You unseal \the [src] with a crack of metal.") + playsound(loc,'sound/effects/tincanopen.ogg', rand(10,50), 1) + if(canned_open_state) + icon_state = canned_open_state + //////////////////////////////////////////////////////////////////////////////// /// FOOD END //////////////////////////////////////////////////////////////////////////////// @@ -4224,10 +4243,12 @@ desc = "Musical fruit in a slightly less musical container." filling_color = "#FC6F28" icon_state = "bakedbeans" - nutriment_amt = 4 - nutriment_desc = list("beans" = 4) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/berrymuffin/berry/Initialize() + . = ..() + reagents.add_reagent("bean_protein", 6) + /obj/item/weapon/reagent_containers/food/snacks/sugarcookie name = "sugar cookie" desc = "Just like your little sister used to make." @@ -6745,34 +6766,8 @@ //////////////////////Canned Foods - crack open and eat (ADDED 04/11/2021)////////////////////// /obj/item/weapon/reagent_containers/food/snacks/canned - name = "void can" icon = 'icons/obj/food_canned.dmi' - flags = 0 - var/sealed = TRUE - -/obj/item/weapon/reagent_containers/food/snacks/canned/Initialize() - . = ..() - if(!sealed) - unseal() - -/obj/item/weapon/reagent_containers/food/snacks/canned/examine(mob/user) - . = ..() - to_chat(user, "It is [sealed ? "" : "un"]sealed.") - -/obj/item/weapon/reagent_containers/food/snacks/canned/proc/unseal() - flags |= OPENCONTAINER - sealed = FALSE - update_icon() - -/obj/item/weapon/reagent_containers/food/snacks/canned/attack_self(var/mob/user) - if(sealed) - playsound(loc,'sound/effects/tincanopen.ogg', rand(10,50), 1) - to_chat(user, "You unseal \the [src] with a crack of metal.") - unseal() - -/obj/item/weapon/reagent_containers/food/snacks/canned/update_icon() - if(!sealed) - icon_state = "[initial(icon_state)]-open" + canned = TRUE //////////Just a short line of Canned Consumables, great for treasure in faraway abandoned outposts////////// @@ -6781,6 +6776,7 @@ icon_state = "beef" desc = "A can of premium preserved vat-grown holstein beef. Now 99.9% bone free!" trash = /obj/item/trash/beef + canned_open_state = "beef-open" filling_color = "#663300" center_of_mass = list("x"=15, "y"=9) nutriment_desc = list("beef" = 1) @@ -6789,54 +6785,54 @@ /obj/item/weapon/reagent_containers/food/snacks/canned/beef/Initialize() .=..() reagents.add_reagent("protein", 4) - reagents.add_reagent("sodiumchloride", 1) + reagents.add_reagent("sodiumchloride", 2) /obj/item/weapon/reagent_containers/food/snacks/canned/beans name = "baked beans" icon_state = "beans" desc = "Luna Colony beans. Carefully synthethized from soy." trash = /obj/item/trash/beans + canned_open_state = "beans-open" filling_color = "#ff6633" center_of_mass = list("x"=15, "y"=9) nutriment_desc = list("beans" = 1, "tomato sauce" = 1) - nutriment_amt = 15 bitesize = 2 -///obj/item/weapon/reagent_containers/food/snacks/canned/tomato (NEED TO SEE HOW TO CHANGE EATING SOUND) -// name = "tomato soup" -// icon_state = "tomato" -// desc = "Plain old unseasoned tomato soup. This can has no use-by date." -// trash = "/obj/item/trash/tomato" -// filling_color = "#ae0000" -// center_of_mass = list("x"=15, "y"=9) -// nutriment_desc = list("tomato" = 1) -// bitesize = 3 -// eat_sound = 'sound/items/drink.ogg' -// -///obj/item/weapon/reagent_containers/food/snacks/canned/tomato/Initialize() -// .=..() -// reagents.add_reagent(/datum/reagent/drink/juice/tomato, 12) -// -// -///obj/item/weapon/reagent_containers/food/snacks/canned/tomato/feed_sound(var/mob/user) -// playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) +/obj/item/weapon/reagent_containers/food/snacks/canned/beans/Initialize() + .=..() + reagents.add_reagent("bean_protein", 5) + reagents.add_reagent("tomatojuice", 5) + +/obj/item/weapon/reagent_containers/food/snacks/canned/tomato + name = "tomato soup" + icon_state = "tomato" + desc = "Plain old unseasoned tomato soup. This can has no use-by date." + trash = /obj/item/trash/tomato + package_open_state = "tomato-open" + filling_color = "#ae0000" + center_of_mass = list("x"=15, "y"=9) + bitesize = 3 + +/obj/item/weapon/reagent_containers/food/snacks/canned/tomato/Initialize() + .=..() + reagents.add_reagent("tomatojuice", 12) /obj/item/weapon/reagent_containers/food/snacks/canned/spinach name = "spinach" icon_state = "spinach" desc = "Wup-Az! Brand canned spinach. Notably has less iron in it than a watermelon." trash = /obj/item/trash/spinach + canned_open_state = "spinach-open" filling_color = "#003300" center_of_mass = list("x"=15, "y"=9) - nutriment_amt = 5 nutriment_desc = list("soggy" = 1, "vegetable" = 1) - bitesize = 5 + bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/canned/spinach/Initialize() .=..() - reagents.add_reagent("adrenaline", 5) - reagents.add_reagent("hyperzine", 5) - reagents.add_reagent("iron", 5) + reagents.add_reagent("adrenaline", 4) + reagents.add_reagent("hyperzine", 4) + reagents.add_reagent("iron", 4) //////////////////////////////Advanced Canned Food////////////////////////////// @@ -6845,30 +6841,30 @@ icon_state = "fisheggs" desc = "Terran caviar, or space carp eggs. Carefully faked using alginate, artificial flavoring and salt. Skrell approved!" trash = /obj/item/trash/fishegg + canned_open_state = "fisheggs-open" filling_color = "#000000" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("fish" = 1, "salt" = 1) - nutriment_amt = 6 + nutriment_desc = list("salt" = 1) bitesize = 1 -/obj/item/weapon/reagent_containers/food/snacks/caviar/Initialize() +/obj/item/weapon/reagent_containers/food/snacks/canned/caviar/Initialize() . = ..() - reagents.add_reagent("protein", 5) + reagents.add_reagent("seafood", 5) /obj/item/weapon/reagent_containers/food/snacks/canned/caviar/true name = "\improper Classic Terran Caviar" icon_state = "carpeggs" desc = "Terran caviar, or space carp eggs. Banned by the Vir Food Health Administration for exceeding the legally set amount of carpotoxins in food stuffs." trash = /obj/item/trash/carpegg + canned_open_state = "carpeggs-open" filling_color = "#330066" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("fish" = 1, "salt" = 1, "a numbing sensation" = 1) - nutriment_amt = 6 + nutriment_desc = list("salt" = 1, "a numbing sensation" = 1) bitesize = 1 -/obj/item/weapon/reagent_containers/food/snacks/caviar/true/Initialize() +/obj/item/weapon/reagent_containers/food/snacks/canned/caviar/true/Initialize() . = ..() - reagents.add_reagent("protein", 4) + reagents.add_reagent("seafood", 4) reagents.add_reagent("carpotoxin", 1) /obj/item/weapon/reagent_containers/food/snacks/canned/maps @@ -6876,13 +6872,12 @@ icon_state = "maps" desc = "A re-branding of a classic Terran snack! Contains mostly edible ingredients." trash = /obj/item/trash/maps + canned_open_state = "maps-open" filling_color = "#330066" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("meat" = 1, "salt" = 1) - nutriment_amt = 8 bitesize = 2 -/obj/item/weapon/reagent_containers/food/snacks/maps/Initialize() +/obj/item/weapon/reagent_containers/food/snacks/canned/maps/Initialize() . = ..() reagents.add_reagent("protein", 6) reagents.add_reagent("sodiumchloride", 2) @@ -6892,10 +6887,10 @@ icon_state = "appleberry" desc = "A classic snack favored by Sol astronauts. Made from dried apple-hybidized berries grown on the lunar colonies." trash = /obj/item/trash/appleberry + canned_open_state = "appleberry-open" filling_color = "#FFFFFF" center_of_mass = list("x"=15, "y"=9) nutriment_desc = list("apple" = 1, "sweetness" = 1) - nutriment_amt = 8 bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/appleberry/Initialize() @@ -6907,16 +6902,50 @@ icon_state = "ntbeans" desc = "Musical fruit in a slightly less musical container. Now with bacon!" trash = /obj/item/trash/ntbeans + canned_open_state = "ntbeans-open" filling_color = "#FC6F28" center_of_mass = list("x"=15, "y"=9) - nutriment_desc = list("beans" = 4) - nutriment_amt = 6 bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/canned/ntbeans/Initialize() . = ..() + reagents.add_reagent("bean_protein", 6) reagents.add_reagent("protein", 2) +/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax + name = "\improper BrainzSnax" + icon_state = "brainzsnax" + desc = "A can of grey matter marketed for xenochimeras." + description_fluff = "As the cartoon brain with limbs proudly proclaims, \"It's meat. Eat it!\" On the can is printed \"Rich in limbic system\" and \ + under that in infinitely small letters, \"Warning, product must be eaten within two hours of opening. May contain prion disease. \ + GrubCo LTD is not liable for any brain damage occuring after consumption of product.\"" + trash = /obj/item/trash/brainzsnax + canned_open_state = "brainzsnax-open" + filling_color = "#caa3c9" + center_of_mass = list("x"=15, "y"=9) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax/Initialize() + . = ..() + reagents.add_reagent("brain_protein", 10) + +/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax/red + name = "\improper BrainzSnax RED" + icon_state = "brainzsnaxred" + desc = "A can of grey matter marketed for xenochimeras. This one has added tomato sauce." + description_fluff = "As the cartoonish brain with limbs proudly proclaims, \"It's meat. Eat it!\" On the can is printed \"Yummy red stuff!\" and \ + under that in infinitely small letters, \"Warning, product must be eaten within two hours of opening. May contain prion disease. \ + GrubCo LTD is not liable for any brain damage occuring after consumption of product.\"" + trash = /obj/item/trash/brainzsnaxred + canned_open_state = "brainzsnaxred-open" + filling_color = "#a6898d" + center_of_mass = list("x"=15, "y"=9) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/canned/brainzsnax/red/Initialize() + . = ..() + reagents.add_reagent("red_brain_protein", 10) + //////////////Packaged Food - break open and eat////////////// /obj/item/weapon/reagent_containers/food/snacks/packaged @@ -7008,7 +7037,7 @@ /obj/item/weapon/reagent_containers/food/snacks/packaged/meatration/Initialize() . = ..() - reagents.add_reagent("protein", 3) + reagents.add_reagent("protein", 4) /obj/item/weapon/reagent_containers/food/snacks/packaged/vegration name = "veggie ration" diff --git a/code/modules/reagents/reagents/food_drinks.dm b/code/modules/reagents/reagents/food_drinks.dm index 06e11c6800..100e4ea60a 100644 --- a/code/modules/reagents/reagents/food_drinks.dm +++ b/code/modules/reagents/reagents/food_drinks.dm @@ -316,6 +316,13 @@ color = "#664330" allergen_type = ALLERGEN_FISH //Murkfin is fish +/datum/reagent/nutriment/protein/bean + name = "beans" + id = "bean_protein" + taste_description = "beans" + color = "#562e0b" + allergen_type = ALLERGEN_BEANS //Made from soy beans + /datum/reagent/nutriment/honey name = "Honey" id = "honey" diff --git a/code/modules/reagents/reagents/food_drinks_vr.dm b/code/modules/reagents/reagents/food_drinks_vr.dm index 715e0fa735..0a6638a1d5 100644 --- a/code/modules/reagents/reagents/food_drinks_vr.dm +++ b/code/modules/reagents/reagents/food_drinks_vr.dm @@ -155,15 +155,19 @@ if(alien == IS_SLIME || alien == IS_CHIMERA) //slimes and chimera can get nutrition from injected nutriment and protein M.adjust_nutrition(alt_nutriment_factor * removed) +<<<<<<< HEAD +||||||| parent of 72a0e86484... Merge pull request #11705 from GhostActual/brainfood + + +======= +>>>>>>> 72a0e86484... Merge pull request #11705 from GhostActual/brainfood /datum/reagent/nutriment/magicdust/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) ..() playsound(M, 'sound/items/hooh.ogg', 50, 1, -1) if(prob(5)) to_chat(M, "You feel like you've been gnomed...") - - /datum/reagent/ethanol/galacticpanic name = "Galactic Panic Attack" id = "galacticpanic" @@ -515,4 +519,34 @@ glass_name = "Shambler's Juice" glass_desc = "A glass of something shambly" - glass_special = list(DRINK_FIZZ) \ No newline at end of file + glass_special = list(DRINK_FIZZ) + +////////////////START BrainzSnax Reagents//////////////// + +/datum/reagent/nutriment/protein/brainzsnax + name = "grey matter" + id = "brain_protein" + taste_description = "fatty, mushy meat and allspice" + color = "#caa3c9" + +/datum/reagent/nutriment/protein/brainzsnax/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + if(prob(5) && !(alien == IS_CHIMERA || alien == IS_SLIME || alien == IS_PLANT || alien == IS_DIONA || alien == IS_SHADEKIN && !M.isSynthetic())) + M.adjustBrainLoss(removed) //Any other species risks prion disease. + M.Confuse(5) + M.hallucination = max(M.hallucination, 25) + + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H.feral > 0 && H.nutrition > 100 && H.traumatic_shock < min(60, H.nutrition/10) && H.jitteriness < 100) //Same check as feral triggers to stop them immediately re-feralling + H.feral -= removed * 3 //Should calm them down quick, provided they're actually in a state to STAY calm. + if(H.feral <=0) //Check if they're unferalled + H.feral = 0 + to_chat(H, "Your mind starts to clear, soothed into a state of clarity as your senses return.") + log_and_message_admins("is no longer feral.", H) + +/datum/reagent/nutriment/protein/brainzsnax/red + id = "red_brain_protein" + taste_description = "fatty, mushy meat and cheap tomato sauce" + color = "#a6898d" + +////////////////END BrainzSnax Reagents//////////////// \ No newline at end of file diff --git a/icons/obj/boxes.dmi b/icons/obj/boxes.dmi index 1f7e82c960..dad29a40a2 100644 Binary files a/icons/obj/boxes.dmi and b/icons/obj/boxes.dmi differ diff --git a/icons/obj/food_canned.dmi b/icons/obj/food_canned.dmi index 606ca9f6e4..1a4be5b506 100644 Binary files a/icons/obj/food_canned.dmi and b/icons/obj/food_canned.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 98b6c9b60f..f9c1ce7400 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ