diff --git a/aurorastation.dme b/aurorastation.dme
index 505bd33fd65..97f62585559 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -672,6 +672,7 @@
#include "code\game\mecha\working\working.dm"
#include "code\game\modifiers\modifiers.dm"
#include "code\game\modifiers\modifiers_chem.dm"
+#include "code\game\modifiers\modifiers_food.dm"
#include "code\game\objects\buckling.dm"
#include "code\game\objects\empulse.dm"
#include "code\game\objects\explosion.dm"
diff --git a/code/game/modifiers/modifiers.dm b/code/game/modifiers/modifiers.dm
index d1fc953bf14..cf632b70a1b 100644
--- a/code/game/modifiers/modifiers.dm
+++ b/code/game/modifiers/modifiers.dm
@@ -340,7 +340,7 @@ it should be avoided in favour of manual removal where possible
for (var/datum/reagent/R in C.touching.reagent_list)
if (istype(R, ourtype))
totaldose += R.dose
-
+
for (var/datum/reagent/R in C.breathing.reagent_list)
if (istype(R, ourtype))
totaldose += R.dose
diff --git a/code/game/modifiers/modifiers_food.dm b/code/game/modifiers/modifiers_food.dm
new file mode 100644
index 00000000000..39f58db7ee4
--- /dev/null
+++ b/code/game/modifiers/modifiers_food.dm
@@ -0,0 +1,48 @@
+/datum/modifier/food
+ var/regen_added = 0
+ var/stamina_added = 0
+ var/message = null
+
+/datum/modifier/food/activate()
+ ..()
+ var/mob/living/L = target
+ if(istype(L))
+ regen_added += strength*0.03
+ stamina_added += strength
+ L.stamina_recovery += strength*0.03
+ L.max_stamina += strength
+ if(message)
+ L << message
+
+/datum/modifier/food/deactivate()
+ ..()
+ var/mob/living/L = target
+ if(istype(L))
+ L.stamina_recovery -= regen_added
+ L.max_stamina -= stamina_added
+ regen_added = 0
+ stamina_added = 0
+
+/datum/modifier/food/custom_override(var/datum/modifier/existing)
+ existing.duration += duration
+ qdel(src)
+ return existing
+
+/datum/modifier/food/positive
+ //Blank
+
+/datum/modifier/food/negative
+ //Blank
+
+/datum/modifier/food/sugarcrash
+ //Blank
+
+/datum/modifier/food/sugarcrash/custom_validity()
+
+ if (!isnull(duration) && duration <= 0)
+ return 0
+
+ if (target.reagents && target.reagents.has_reagent("sugar"))
+ return 0
+
+ return 1
\ No newline at end of file
diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm
index 4ef537ac503..825596802ab 100644
--- a/code/modules/food/recipes_microwave.dm
+++ b/code/modules/food/recipes_microwave.dm
@@ -1141,3 +1141,13 @@ I said no!
/obj/item/weapon/reagent_containers/food/snacks/friedegg
)
result = /obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs
+
+/datum/recipe/meatloaf_microwave
+ reagents = list("muck" = 10)
+ result = /obj/item/weapon/reagent_containers/food/snacks/meatloaf
+ reagent_mix = RECIPE_REAGENT_SUM
+
+/datum/recipe/greenloaf_microwave
+ reagents = list("slop" = 10)
+ result = /obj/item/weapon/reagent_containers/food/snacks/greenloaf
+ reagent_mix = RECIPE_REAGENT_SUM
\ No newline at end of file
diff --git a/code/modules/food/recipes_oven.dm b/code/modules/food/recipes_oven.dm
index 34b1d6c305b..2daa107acc3 100644
--- a/code/modules/food/recipes_oven.dm
+++ b/code/modules/food/recipes_oven.dm
@@ -521,3 +521,15 @@
)
result = /obj/item/weapon/reagent_containers/food/snacks/bacon/oven
result_quantity = 6
+
+/datum/recipe/meatloaf_oven
+ appliance = OVEN
+ reagents = list("muck" = 10)
+ result = /obj/item/weapon/reagent_containers/food/snacks/meatloaf
+ reagent_mix = RECIPE_REAGENT_SUM
+
+/datum/recipe/greenloaf_oven
+ appliance = OVEN
+ reagents = list("slop" = 10)
+ result = /obj/item/weapon/reagent_containers/food/snacks/greenloaf
+ reagent_mix = RECIPE_REAGENT_SUM
diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm
index 2d1e78d8ea6..a3a0f85f71d 100644
--- a/code/modules/hydroponics/trays/tray_tools.dm
+++ b/code/modules/hydroponics/trays/tray_tools.dm
@@ -92,7 +92,6 @@
if(grown_reagents && grown_reagents.reagent_list && grown_reagents.reagent_list.len)
dat += "
Reagent Data
"
-
dat += "
This sample contains: "
for(var/datum/reagent/R in grown_reagents.reagent_list)
dat += "
- [R.id], [grown_reagents.get_reagent_amount(R.id)] unit(s)"
diff --git a/code/modules/item_worth/reagents.dm b/code/modules/item_worth/reagents.dm
index 47d0ea0adec..121c5500d34 100644
--- a/code/modules/item_worth/reagents.dm
+++ b/code/modules/item_worth/reagents.dm
@@ -69,7 +69,7 @@
/datum/reagent/sodium
value = 0.1
-/datum/reagent/sugar
+/datum/reagent/nutriment/sugar
value = 0.1
/datum/reagent/sulfur
diff --git a/code/modules/mob/living/carbon/taste.dm b/code/modules/mob/living/carbon/taste.dm
index 592a141cb70..fac7aec2538 100644
--- a/code/modules/mob/living/carbon/taste.dm
+++ b/code/modules/mob/living/carbon/taste.dm
@@ -27,7 +27,7 @@ calculate text size per text.
for(var/datum/reagent/R in reagent_list)
if(!R.taste_mult)
continue
- if(R.id == "nutriment") //this is ugly but apparently only nutriment (not subtypes) has taste data TODO figure out why
+ if(R.id == "nutriment" || R.id == "flavoring") //this is ugly but apparently only nutriment (not subtypes) has taste data TODO figure out why
var/list/taste_data = R.get_data()
for(var/taste in taste_data)
if(taste in tastes)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index bfbd7b99ab9..e8efa184c16 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -88,6 +88,7 @@
//returns 1 if the holder should continue reactiong, 0 otherwise.
/datum/reagents/proc/process_reactions()
+
if(!my_atom) // No reactions in temporary holders
return 0
if(!my_atom.loc) //No reactions inside GC'd containers
@@ -252,7 +253,7 @@
return amount
/datum/reagents/proc/trans_to_holder(var/datum/reagents/target, var/amount = 1, var/multiplier = 1, var/copy = 0) // Transfers [amount] reagents from [src] to [target], multiplying them by [multiplier]. Returns actual amount removed from [src] (not amount transferred to [target]).
-
+
if(!target || !istype(target))
return 0
@@ -276,7 +277,7 @@
handle_reactions()
target.handle_reactions()
-
+
return amount
/* Holder-to-atom and similar procs */
@@ -389,7 +390,7 @@
if(!target || !istype(target) || !target.simulated)
return 0
-
+
var/mob/living/carbon/C = target
if(istype(C))
if(type == CHEM_BREATHE)
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 507a73ee591..5c92399f5a9 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -229,7 +229,7 @@
if(inoperable())
return
user.set_machine(src)
-
+
var/datum/asset/pill_icons = get_asset_datum(/datum/asset/chem_master)
pill_icons.send(user.client)
@@ -565,6 +565,11 @@
/obj/item/stack/material/silver = "silver",
/obj/item/stack/material/mhydrogen = "hydrazine" //doesn't really make much sense but thank Bay
)
+ var/list/convert_reagents = list(
+ "nutriment" = "slop",
+ "seafood" = "muck",
+ "protein" = "muck"
+ )
/obj/machinery/reagentgrinder/Initialize()
. = ..()
@@ -773,6 +778,14 @@
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
break
+ for(var/datum/reagent/R in beaker.reagents.reagent_list)
+ var/value = convert_reagents[R.id]
+ if(!value)
+ continue
+ var/vol = R.volume
+ beaker.reagents.remove_reagent(R.id,vol)
+ beaker.reagents.add_reagent(value,vol)
+
#undef REAGENTS_PER_SHEET
/obj/machinery/reagentgrinder/MouseDrop_T(mob/living/carbon/human/target as mob, mob/user as mob)
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 8096750e812..80017f13b59 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -86,11 +86,16 @@
if(CHEM_BREATHE)
affect_breathe(M, alien, removed)
remove_self(removed)
+ if(volume <= 0)
+ final_effect(M, alien)
//Initial effect is called once when the reagent first starts affecting a mob.
/datum/reagent/proc/initial_effect(var/mob/living/carbon/M, var/alien)
return
+/datum/reagent/proc/final_effect(var/mob/living/carbon/M, var/alien)
+ return
+
/datum/reagent/proc/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
return
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm
index b3066981805..4478a1b4a81 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm
@@ -440,22 +440,6 @@
color = "#808080"
taste_description = "salty metal"
-/datum/reagent/sugar
- name = "Sugar"
- id = "sugar"
- description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
- reagent_state = SOLID
- color = "#FFFFFF"
- taste_description = "sugar"
- taste_mult = 1.8
-
- glass_icon_state = "iceglass"
- glass_name = "glass of sugar"
- glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
-
-/datum/reagent/sugar/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
- M.nutrition += removed * 3
-
/datum/reagent/sulfur
name = "Sulfur"
id = "sulfur"
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
index b4f05d5c7a6..8a09dcf3868 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -51,6 +51,37 @@
kois_type = 2
/* Food */
+/datum/reagent/flavoring
+ name = "Artificial Flavoring"
+ id = "flavoring"
+ description = "Put this in food that you want to taste better."
+ taste_mult = 40 //1 unit of flavoring is equal to 10
+ reagent_state = SOLID
+ metabolism = REM
+ color = "#FFFFFF"
+ unaffected_species = IS_MACHINE
+
+/datum/reagent/flavoring/mix_data(var/list/newdata, var/newamount) //According to a comment, mix_data is really weird when it comes to subtypes. That's why it's not in a subtype.
+ if(!islist(newdata) || !newdata.len)
+ return
+ for(var/i in 1 to newdata.len)
+ if(!(newdata[i] in data))
+ data.Add(newdata[i])
+ data[newdata[i]] = 0
+ data[newdata[i]] += newdata[newdata[i]]
+ var/totalFlavor = 0
+ for(var/i in 1 to data.len)
+ totalFlavor += data[data[i]]
+
+ if (!totalFlavor)
+ return
+
+ for(var/i in 1 to data.len) //cull the tasteless
+ if(data[data[i]]/totalFlavor * 100 < 10)
+ data[data[i]] = null
+ data -= data[i]
+ data -= null
+
/datum/reagent/nutriment
name = "Nutriment"
id = "nutriment"
@@ -62,15 +93,43 @@
var/blood_factor = 6
var/regen_factor = 0.8
var/injectable = 0
+ var/datum/modifier/modifier
var/attrition_factor = -0.1 // Decreases attrition rate.
color = "#664330"
unaffected_species = IS_MACHINE
+ var/is_positive_buff = 1 //1 Gives buff, 0 does nothing, -1 gives nerf.
/datum/reagent/nutriment/synthetic
name = "Synthetic Nutriment"
id = "synnutriment"
description = "A cheaper alternative to actual nutriment."
attrition_factor = (REM * 4)/BASE_MAX_NUTRITION // Increases attrition rate.
+ is_positive_buff = -1
+
+/datum/reagent/nutriment/protein/synthetic
+ name = "Synthetic Protein"
+ id = "synprotein"
+ description = "A cheaper alternative to actual nutriment."
+ attrition_factor = (REM * 4)/BASE_MAX_NUTRITION // Increases attrition rate.
+ is_positive_buff = -1
+
+/datum/reagent/nutriment/protein/muck //Blended meat
+ name = "muck"
+ id = "muck"
+ description = "A blended mess of cheap meat. Serve this to prisoners."
+ blood_factor = 6
+ taste_description = "meat, I think"
+ is_positive_buff = 0
+ attrition_factor = -(REM * 2)/BASE_MAX_NUTRITION
+
+/datum/reagent/nutriment/slop //Blended plants
+ name = "Slop"
+ id = "slop"
+ description = "A blended mess of cheap food. Serve this to prisoners."
+ nutriment_factor = 6
+ taste_description = "slop"
+ is_positive_buff = 0
+ attrition_factor = -(REM * 2)/BASE_MAX_NUTRITION
/datum/reagent/nutriment/mix_data(var/list/newdata, var/newamount)
if(!islist(newdata) || !newdata.len)
@@ -110,9 +169,13 @@
M.nutrition += nutriment_factor * removed // For hunger and fatness
M.nutrition_attrition_rate = Clamp(M.nutrition_attrition_rate + attrition_factor, 1, 2)
M.add_chemical_effect(CE_BLOODRESTORE, blood_factor * removed)
-
-
-
+ var/added_duration = removed*30 SECONDS
+ if(modifier)
+ modifier.duration += added_duration
+ else if(is_positive_buff == 1)
+ modifier = M.add_modifier(/datum/modifier/food/positive, MODIFIER_TIMED, src, _strength = 25, _duration = added_duration, override = MODIFIER_OVERRIDE_CUSTOM)
+ else if(is_positive_buff == -1)
+ modifier = M.add_modifier(/datum/modifier/food/negative, MODIFIER_TIMED, src, _strength = -25, _duration = added_duration, override = MODIFIER_OVERRIDE_CUSTOM)
/*
Coatings are used in cooking. Dipping food items in a reagent container with a coating in it
allows it to be covered in that, which will add a masked overlay to the sprite.
@@ -120,6 +183,7 @@
Coatings have both a raw and a cooked image. Raw coating is generally unhealthy
Generally coatings are intended for deep frying foods
*/
+
/datum/reagent/nutriment/coating
nutriment_factor = 6 //Less dense than the food itself, but coatings still add extra calories
var/messaged = 0
@@ -478,6 +542,25 @@
injectable = 1
taste_description = "sweetness"
+/datum/reagent/nutriment/sugar
+ name = "Sugar"
+ id = "sugar"
+ description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
+ reagent_state = SOLID
+ color = "#FFFFFF"
+ injectable = 1
+ taste_description = "sugar"
+ taste_mult = 1.8
+ metabolism = 0.034 // 10 units lasts 5 minutes.
+
+ glass_icon_state = "iceglass"
+ glass_name = "glass of sugar"
+ glass_desc = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
+
+/datum/reagent/nutriment/sugar/final_effect(var/mob/living/carbon/M, var/alien)
+ if(dose > 10)
+ M.add_modifier(/datum/modifier/food/sugarcrash, MODIFIER_TIMED, src, _strength = -20, _duration = dose*20, override = MODIFIER_OVERRIDE_CUSTOM)
+
/datum/reagent/lipozine // The anti-nutriment.
name = "Lipozine"
id = "lipozine"
diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm
index bb342cc6ae0..7011f873770 100644
--- a/code/modules/reagents/reagent_containers/food/drinks.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks.dm
@@ -177,7 +177,7 @@
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen
name = "cup ramen"
- desc = "Just add 10ml water, self heats! A taste that reminds you of your school years."
+ desc = "Just add 10u water, self heats! A taste that reminds you of your school years."
icon_state = "ramen"
center_of_mass = list("x"=16, "y"=11)
Initialize()
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 8ca9b7f91a5..00be50de984 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -1,6 +1,9 @@
#define NUTRIMENT_GOOD "nutriment"
#define NUTRIMENT_BAD "synnutriment"
+#define PROTEIN_GOOD "protein"
+#define PROTEIN_BAD "synprotein"
+
//Food items that are eaten normally and don't leave anything behind.
/obj/item/weapon/reagent_containers/food/snacks
name = "snack"
@@ -15,15 +18,16 @@
var/dried_type = null
var/dry = 0
var/nutriment_amt = 0
+ var/flavoring_amt = 0
var/nutriment_type = NUTRIMENT_GOOD
var/list/nutriment_desc = list("food" = 1)
+ var/list/flavoring_desc = list("food" = 1)
center_of_mass = list("x"=16, "y"=16)
w_class = 2
var/datum/reagent/nutriment/coating/coating = null
var/icon/flat_icon = null //Used to cache a flat icon generated from dipping in batter. This is used again to make the cooked-batter-overlay
var/do_coating_prefix = 1
//If 0, we wont do "battered thing" or similar prefixes. Mainly for recipes that include batter but have a special name
-
var/cooked_icon = null
//Used for foods that are "cooked" without being made into a specific recipe or combination.
//Generally applied during modification cooking with oven/fryer
@@ -33,8 +37,11 @@
/obj/item/weapon/reagent_containers/food/snacks/Initialize()
. = ..()
- if (nutriment_amt)
- reagents.add_reagent(nutriment_type, nutriment_amt, nutriment_desc)
+ if(nutriment_amt)
+ reagents.add_reagent(nutriment_type,nutriment_amt,nutriment_desc)
+ if(flavoring_amt)
+ reagents.add_reagent("flavoring",flavoring_amt,flavoring_desc)
+
/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume(var/mob/M)
if(!reagents.total_volume)
@@ -62,7 +69,6 @@
if(istype(M, /mob/living/carbon))
//TODO: replace with standard_feed_mob() call.
-
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
if(M == user) //If you're eating it yourself
if(istype(M,/mob/living/carbon/human))
@@ -449,7 +455,8 @@
. = ..()
reagents.add_reagent("koispaste", 10)
reagents.add_reagent("phoron", 15)
- reagents.add_reagent("hfcs", 2)
+ bitesize = 5
+
/obj/item/weapon/reagent_containers/food/snacks/aesirsalad
name = "aesir salad"
@@ -468,31 +475,22 @@
reagents.add_reagent("tricordrazine", 8)
/obj/item/weapon/reagent_containers/food/snacks/candy
- name = "candy"
- desc = "Nougat, love it or hate it. Made with real sugar, and no artificial preservatives!"
+ name = "getmore chocolate bar"
+ desc = "Uses an ancient, sol-american recipe!"
icon_state = "candy"
trash = /obj/item/trash/candy
filling_color = "#7D5F46"
center_of_mass = list("x"=15, "y"=15)
- nutriment_amt = 3
- nutriment_desc = list("chocolate" = 2, "nougat" = 1)
+ nutriment_type = NUTRIMENT_BAD
+ nutriment_amt = 2
+ nutriment_desc = list("vomit" = 2)
+ flavoring_amt = 6
+ flavoring_desc = list("chocolate" = 5)
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/candy/Initialize()
. = ..()
- reagents.add_reagent("sugar", 3)
-
-/obj/item/weapon/reagent_containers/food/snacks/candy/donor
- name = "donor candy"
- desc = "A little treat for blood donors. Made with real sugar!"
- trash = /obj/item/trash/candy
- nutriment_desc = list("candy" = 10)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/candy/donor/Initialize()
- . = ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("sugar", 3)
+ reagents.add_reagent("sugar", 6)
/obj/item/weapon/reagent_containers/food/snacks/candy_corn
name = "candy corn"
@@ -508,18 +506,6 @@
. = ..()
reagents.add_reagent("sugar", 2)
-/obj/item/weapon/reagent_containers/food/snacks/chips
- name = "chips"
- desc = "Commander Riker's What-The-Crisps."
- icon_state = "chips"
- trash = /obj/item/trash/chips
- filling_color = "#E8C31E"
- center_of_mass = list("x"=15, "y"=15)
- nutriment_amt = 3
- nutriment_type = NUTRIMENT_BAD
- nutriment_desc = list("chips" = 3)
- bitesize = 1
-
/obj/item/weapon/reagent_containers/food/snacks/cookie
name = "cookie"
desc = "COOKIE!!!"
@@ -807,7 +793,7 @@
/obj/item/weapon/reagent_containers/food/snacks/organ/Initialize()
. = ..()
- reagents.add_reagent("protein", rand(3,5))
+ reagents.add_reagent(PROTEIN_GOOD, rand(3,5))
reagents.add_reagent("toxin", rand(1,3))
/obj/item/weapon/reagent_containers/food/snacks/tofu
@@ -921,7 +907,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bearmeat/Initialize()
. = ..()
- reagents.add_reagent("protein", 12)
+ reagents.add_reagent(PROTEIN_GOOD, 12)
reagents.add_reagent("hyperzine", 5)
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
@@ -934,7 +920,7 @@
/obj/item/weapon/reagent_containers/food/snacks/xenomeat/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("pacid",6)
/obj/item/weapon/reagent_containers/food/snacks/meatball
@@ -947,7 +933,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatball/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/sausage
name = "sausage"
@@ -959,7 +945,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sausage/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/sausage/battered
name = "battered sausage"
@@ -972,7 +958,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sausage/battered/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("batter", 1.7)
reagents.add_reagent("oil", 1.5)
@@ -1023,7 +1009,7 @@
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket/proc/heat()
warm = 1
@@ -1058,7 +1044,7 @@
/obj/item/weapon/reagent_containers/food/snacks/brainburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("alkysine", 6)
/obj/item/weapon/reagent_containers/food/snacks/ghostburger
@@ -1085,7 +1071,7 @@
/obj/item/weapon/reagent_containers/food/snacks/human/burger/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/cheeseburger
name = "cheeseburger"
@@ -1179,7 +1165,7 @@
/obj/item/weapon/reagent_containers/food/snacks/xenoburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 8)
+ reagents.add_reagent(PROTEIN_GOOD, 8)
/obj/item/weapon/reagent_containers/food/snacks/clownburger
name = "clown burger"
@@ -1210,7 +1196,7 @@
/obj/item/weapon/reagent_containers/food/snacks/mouseburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/omelette
name = "omelette du fromage"
@@ -1307,7 +1293,7 @@
/obj/item/weapon/reagent_containers/food/snacks/soylentgreen/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
/obj/item/weapon/reagent_containers/food/snacks/soylenviridians
name = "soylen virdians"
@@ -1331,7 +1317,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatpie/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
/obj/item/weapon/reagent_containers/food/snacks/tofupie
name = "tofu-pie"
@@ -1391,7 +1377,7 @@
/obj/item/weapon/reagent_containers/food/snacks/xemeatpie/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
/obj/item/weapon/reagent_containers/food/snacks/wingfangchu
name = "wing fang chu"
@@ -1404,7 +1390,7 @@
/obj/item/weapon/reagent_containers/food/snacks/wingfangchu/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/human/kabob
name = "-kabob"
@@ -1417,7 +1403,7 @@
/obj/item/weapon/reagent_containers/food/snacks/human/kabob/Initialize()
. = ..()
- reagents.add_reagent("protein", 8)
+ reagents.add_reagent(PROTEIN_GOOD, 8)
/obj/item/weapon/reagent_containers/food/snacks/monkeykabob
name = "meat-kabob"
@@ -1430,7 +1416,7 @@
/obj/item/weapon/reagent_containers/food/snacks/monkeykabob/Initialize()
. = ..()
- reagents.add_reagent("protein", 8)
+ reagents.add_reagent(PROTEIN_GOOD, 8)
/obj/item/weapon/reagent_containers/food/snacks/tofukabob
name = "tofu-kabob"
@@ -1473,7 +1459,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chickenkatsu/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("beerbatter", 2)
reagents.add_reagent("oil", 1)
@@ -1507,11 +1493,14 @@
filling_color = "#631212"
center_of_mass = list("x"=15, "y"=9)
nutriment_type = NUTRIMENT_BAD
- bitesize = 3
+ flavoring_desc = list("smoke" = 4)
+ flavoring_amt = 4
/obj/item/weapon/reagent_containers/food/snacks/sosjerky/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
+ reagents.add_reagent("muck", 4)
+ bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/no_raisin
name = "4no Raisins"
@@ -1520,41 +1509,70 @@
trash = /obj/item/trash/raisins
filling_color = "#343834"
center_of_mass = list("x"=15, "y"=4)
- nutriment_desc = list("dried raisins" = 6)
nutriment_type = NUTRIMENT_BAD
- nutriment_amt = 6
+ nutriment_desc = list("raisins" = 3)
+ nutriment_amt = 3
+ flavoring_desc = list("fruit juice" = 3)
+ flavoring_amt = 3
bitesize = 3
+/obj/item/weapon/reagent_containers/food/snacks/no_raisin/Initialize()
+ . = ..()
+ reagents.add_reagent("sugar", 4)
+
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie
name = "space twinkie"
icon_state = "space_twinkie"
desc = "Guaranteed to survive longer then you will."
filling_color = "#FFE591"
center_of_mass = list("x"=15, "y"=11)
- nutriment_desc = list("cake" = 3, "cream filling" = 1)
nutriment_type = NUTRIMENT_BAD
- nutriment_amt = 4
- bitesize = 2
+ nutriment_desc = list("moist cheap pastry" = 6)
+ nutriment_amt = 6
+ flavoring_desc = list("cream" = 2)
+ flavoring_amt = 2
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie/Initialize()
. = ..()
- reagents.add_reagent("sugar", 4)
+ reagents.add_reagent("sugar", 15)
+ bitesize = 4
+
+
+/obj/item/weapon/reagent_containers/food/snacks/chips
+ name = "chips"
+ desc = "Commander Riker's What-The-Crisps."
+ icon_state = "chips"
+ trash = /obj/item/trash/chips
+ filling_color = "#E8C31E"
+ center_of_mass = list("x"=15, "y"=15)
+ nutriment_type = NUTRIMENT_BAD
+ nutriment_desc = list("potato chips" = 5)
+ nutriment_amt = 5
+ flavoring_desc = list("grease" = 3)
+ flavoring_amt = 3
+ bitesize = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/chips/Initialize()
+ . = ..()
+ reagents.add_reagent("sodiumchloride", 2)
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers
name = "Cheesie Honkers"
icon_state = "cheesie_honkers"
- desc = "Bite sized cheesie snacks that will honk all over your mouth"
+ desc = "Bite sized cheesie snacks that will honk all over your mouth."
trash = /obj/item/trash/cheesie
filling_color = "#FFA305"
center_of_mass = list("x"=15, "y"=9)
- nutriment_desc = list("chips" = 2)
nutriment_type = NUTRIMENT_BAD
- nutriment_amt = 4
+ nutriment_desc = list("potato chips" = 5)
+ nutriment_amt = 5
+ flavoring_desc = list("cheese powder" = 3)
+ flavoring_amt = 3
bitesize = 2
-
+
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers/Initialize()
. = ..()
- reagents.add_reagent("cheese", 3)
+ reagents.add_reagent("sodiumchloride", 2)
/obj/item/weapon/reagent_containers/food/snacks/syndicake
name = "Syndi-Cakes"
@@ -1563,6 +1581,7 @@
filling_color = "#FF5D05"
center_of_mass = list("x"=16, "y"=10)
trash = /obj/item/trash/syndi_cakes
+ nutriment_type = NUTRIMENT_GOOD
nutriment_desc = list("cake" = 1,"cream filling" = 3, )
nutriment_amt = 4
bitesize = 3
@@ -1583,7 +1602,7 @@
/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/fries
name = "space fries"
@@ -1692,7 +1711,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatsteak/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("triglyceride", 2)
reagents.add_reagent("sodiumchloride", 1)
reagents.add_reagent("blackpepper", 1)
@@ -1750,7 +1769,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatballsoup/Initialize()
. = ..()
- reagents.add_reagent("protein", 8)
+ reagents.add_reagent(PROTEIN_GOOD, 8)
reagents.add_reagent("water", 5)
/obj/item/weapon/reagent_containers/food/snacks/slimesoup
@@ -1775,7 +1794,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bloodsoup/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
reagents.add_reagent("blood", 10)
reagents.add_reagent("water", 5)
@@ -1938,7 +1957,7 @@
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O as obj, var/mob/living/carbon/human/user as mob, proximity)
if(!proximity) return
@@ -2022,7 +2041,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
/obj/item/weapon/reagent_containers/food/snacks/enchiladas
name = "enchiladas"
@@ -2037,7 +2056,7 @@
/obj/item/weapon/reagent_containers/food/snacks/enchiladas/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("capsaicin", 6)
/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight
@@ -2051,7 +2070,7 @@
/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
reagents.add_reagent("banana", 5)
reagents.add_reagent("blackpepper", 1)
reagents.add_reagent("sodiumchloride", 1)
@@ -2099,7 +2118,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sandwich/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich
name = "toasted sandwich"
@@ -2114,7 +2133,7 @@
/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
reagents.add_reagent("carbon", 2)
/obj/item/weapon/reagent_containers/food/snacks/grilledcheese
@@ -2129,7 +2148,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grilledcheese/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/tomatosoup
name = "tomato soup"
@@ -2173,7 +2192,7 @@
/obj/item/weapon/reagent_containers/food/snacks/stew/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
reagents.add_reagent("tomatojuice", 5)
reagents.add_reagent("imidazoline", 5)
reagents.add_reagent("water", 5)
@@ -2318,7 +2337,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/spesslaw
name = "spesslaw"
@@ -2332,7 +2351,7 @@
/obj/item/weapon/reagent_containers/food/snacks/spesslaw/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/carrotfries
name = "carrot fries"
@@ -2361,7 +2380,7 @@
/obj/item/weapon/reagent_containers/food/snacks/superbiteburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 25)
+ reagents.add_reagent(PROTEIN_GOOD, 25)
/obj/item/weapon/reagent_containers/food/snacks/candiedapple
name = "candied apple"
@@ -2488,7 +2507,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chawanmushi/Initialize()
. = ..()
- reagents.add_reagent("protein", 5)
+ reagents.add_reagent(PROTEIN_GOOD, 5)
/obj/item/weapon/reagent_containers/food/snacks/beetsoup
name = "beet soup"
@@ -2529,7 +2548,7 @@
/obj/item/weapon/reagent_containers/food/snacks/validsalad/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/appletart
name = "golden apple streusel tart"
@@ -2560,7 +2579,7 @@
/obj/item/weapon/reagent_containers/food/snacks/redcurry/Initialize()
. = ..()
- reagents.add_reagent("protein", 7)
+ reagents.add_reagent(PROTEIN_GOOD, 7)
reagents.add_reagent("spacespice", 2)
/obj/item/weapon/reagent_containers/food/snacks/greencurry
@@ -2607,7 +2626,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bearburger/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_GOOD, 10)
reagents.add_reagent("hyperzine", 5)
/obj/item/weapon/reagent_containers/food/snacks/bearchili
@@ -2624,7 +2643,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bearchili/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
reagents.add_reagent("capsaicin", 3)
reagents.add_reagent("tomatojuice", 2)
reagents.add_reagent("hyperzine", 5)
@@ -2642,7 +2661,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bearstew/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
reagents.add_reagent("hyperzine", 5)
reagents.add_reagent("tomatojuice", 5)
reagents.add_reagent("imidazoline", 5)
@@ -2661,7 +2680,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bibimbap/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("imidazoline", 3)
reagents.add_reagent("spacespice", 2)
reagents.add_reagent("egg", 3)
@@ -2680,7 +2699,7 @@
/obj/item/weapon/reagent_containers/food/snacks/lomein/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
reagents.add_reagent("carrotjuice", 3)
reagents.add_reagent("imidazoline", 1)
@@ -2714,7 +2733,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chickenfillet/Initialize()
. = ..()
- reagents.add_reagent("protein", 8)
+ reagents.add_reagent(PROTEIN_GOOD, 8)
/obj/item/weapon/reagent_containers/food/snacks/chilicheesefries
name = "chili cheese fries"
@@ -2730,7 +2749,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chilicheesefries/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
reagents.add_reagent("capsaicin", 2)
/obj/item/weapon/reagent_containers/food/snacks/friedmushroom
@@ -2745,7 +2764,7 @@
/obj/item/weapon/reagent_containers/food/snacks/friedmushroom/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/pisanggoreng
name = "pisang goreng"
@@ -2771,7 +2790,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatbun/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/custardbun
name = "custard bun"
@@ -2786,7 +2805,7 @@
/obj/item/weapon/reagent_containers/food/snacks/custardbun/Initialize()
. = ..()
reagents.add_reagent("egg", 2)
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/chickenmomo
name = "chicken momo"
@@ -2802,7 +2821,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chickenmomo/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("spacespice", 2)
/obj/item/weapon/reagent_containers/food/snacks/veggiemomo
@@ -2837,7 +2856,7 @@
/obj/item/weapon/reagent_containers/food/snacks/risotto/Initialize()
. = ..()
- reagents.add_reagent("protein", 1)
+ reagents.add_reagent(PROTEIN_GOOD, 1)
/obj/item/weapon/reagent_containers/food/snacks/risottoballs
name = "risotto balls"
@@ -2898,7 +2917,7 @@
/obj/item/weapon/reagent_containers/food/snacks/ribplate/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("triglyceride", 2)
reagents.add_reagent("blackpepper", 1)
reagents.add_reagent("honey", 5)
@@ -2926,7 +2945,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread/Initialize()
. = ..()
- reagents.add_reagent("protein", 20)
+ reagents.add_reagent(PROTEIN_GOOD, 20)
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice
name = "meatbread slice"
@@ -2944,7 +2963,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice/filled/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
reagents.add_reagent("nutriment", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
@@ -2961,7 +2980,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread/Initialize()
. = ..()
- reagents.add_reagent("protein", 20)
+ reagents.add_reagent(PROTEIN_GOOD, 20)
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice
name = "xenomeatbread slice"
@@ -2979,7 +2998,7 @@
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice/filled/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
name = "banana-nut bread"
@@ -3089,7 +3108,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake/Initialize()
. = ..()
- reagents.add_reagent("protein", 25)
+ reagents.add_reagent(PROTEIN_GOOD, 25)
reagents.add_reagent("alkysine", 10)
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice
@@ -3108,7 +3127,7 @@
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice/filled/Initialize()
. = ..()
- reagents.add_reagent("protein", 5)
+ reagents.add_reagent(PROTEIN_GOOD, 5)
reagents.add_reagent("alkysine", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
@@ -3344,7 +3363,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread/Initialize()
. = ..()
- reagents.add_reagent("protein", 5)
+ reagents.add_reagent(PROTEIN_GOOD, 5)
/obj/item/weapon/reagent_containers/food/snacks/breadslice
name = "bread slice"
@@ -3648,7 +3667,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/Initialize()
. = ..()
- reagents.add_reagent("protein", 44)
+ reagents.add_reagent(PROTEIN_GOOD, 44)
reagents.add_reagent("cheese", 10)
reagents.add_reagent("tomatojuice", 6)
@@ -3666,7 +3685,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice/filled/Initialize()
. = ..()
- reagents.add_reagent("protein", 7)
+ reagents.add_reagent(PROTEIN_GOOD, 7)
reagents.add_reagent("cheese", 2)
reagents.add_reagent("tomatojuice", 2)
@@ -3973,7 +3992,7 @@
/obj/item/weapon/reagent_containers/food/snacks/dough/Initialize()
. = ..()
- reagents.add_reagent("protein", 1)
+ reagents.add_reagent(PROTEIN_GOOD, 1)
// Dough + rolling pin = flat dough
/obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -3996,7 +4015,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough/Initialize()
. = ..()
- reagents.add_reagent("protein", 1)
+ reagents.add_reagent(PROTEIN_GOOD, 1)
/obj/item/weapon/reagent_containers/food/snacks/doughslice
name = "dough slice"
@@ -4094,12 +4113,12 @@
icon_state = "taco"
bitesize = 3
center_of_mass = list("x"=21, "y"=12)
- nutriment_desc = list("taco shell with cheese")
+ nutriment_desc = list("taco")
nutriment_amt = 4
/obj/item/weapon/reagent_containers/food/snacks/taco/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet
name = "raw cutlet"
@@ -4111,7 +4130,7 @@
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet/Initialize()
. = ..()
- reagents.add_reagent("protein", 1)
+ reagents.add_reagent(PROTEIN_GOOD, 1)
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/material/knife))
@@ -4132,7 +4151,7 @@
/obj/item/weapon/reagent_containers/food/snacks/cutlet/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/rawmeatball
name = "raw meatball"
@@ -4144,7 +4163,7 @@
/obj/item/weapon/reagent_containers/food/snacks/rawmeatball/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/hotdog
name = "hotdog"
@@ -4155,7 +4174,7 @@
/obj/item/weapon/reagent_containers/food/snacks/hotdog/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/flatbread
name = "flatbread"
@@ -4208,9 +4227,16 @@
trash = /obj/item/trash/tastybread
filling_color = "#A66829"
center_of_mass = list("x"=17, "y"=16)
- nutriment_desc = list("stale bread" = 4)
nutriment_type = NUTRIMENT_BAD
+ nutriment_desc = list("carbs" = 4)
nutriment_amt = 4
+ flavoring_desc = list("bread" = 4)
+ flavoring_amt = 4
+ bitesize = 4
+
+/obj/item/weapon/reagent_containers/food/snacks/tastybread/Initialize()
+ . = ..()
+ reagents.add_reagent("sodiumchloride", 4)
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks
name = "\improper SkrellSnax"
@@ -4218,10 +4244,10 @@
icon_state = "skrellsnacks"
filling_color = "#A66829"
center_of_mass = list("x"=15, "y"=12)
- nutriment_desc = list("alien fungus" = 10)
nutriment_type = NUTRIMENT_BAD
+ nutriment_desc = list("fungus" = 10)
nutriment_amt = 10
- bitesize = 3
+ bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/friedkois
name = "fried k'ois"
@@ -4346,14 +4372,17 @@
desc = "Made from stok meat, packed into a crispy crust."
trash = /obj/item/trash/meatsnack
filling_color = "#631212"
- nutriment_desc = list("pie crust" = 2)
nutriment_type = NUTRIMENT_BAD
- nutriment_amt = 2
- bitesize = 5
+ nutriment_desc = list("pastry" = 4)
+ nutriment_amt = 4
+ flavoring_desc = list("stok" = 2)
+ flavoring_amt = 2
/obj/item/weapon/reagent_containers/food/snacks/meatsnack/Initialize()
. = ..()
- reagents.add_reagent("protein", 12)
+ reagents.add_reagent(PROTEIN_BAD, 10)
+ reagents.add_reagent("sodiumchloride", 5)
+ bitesize = 5
/obj/item/weapon/reagent_containers/food/snacks/maps
name = "maps salty ham"
@@ -4362,12 +4391,15 @@
trash = /obj/item/trash/maps
filling_color = "#631212"
nutriment_type = NUTRIMENT_BAD
+ flavoring_desc = list("spaced ham" = 6)
+ flavoring_amt = 6
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/maps/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
- reagents.add_reagent("sodiumchloride", 3)
+ reagents.add_reagent("water", 1)
+ reagents.add_reagent(PROTEIN_BAD, 10)
+ reagents.add_reagent("sodiumchloride", 10)
/obj/item/weapon/reagent_containers/food/snacks/nathisnack
name = "razi-snack corned beef"
@@ -4376,12 +4408,15 @@
trash = /obj/item/trash/nathisnack
nutriment_type = NUTRIMENT_BAD
filling_color = "#631212"
+ flavoring_desc = list("spaced beef" = 6)
+ flavoring_amt = 6
bitesize = 4
/obj/item/weapon/reagent_containers/food/snacks/nathisnack/Initialize()
. = ..()
- reagents.add_reagent("protein", 10)
+ reagents.add_reagent(PROTEIN_BAD, 10)
reagents.add_reagent("iron", 3)
+ reagents.add_reagent("sodiumchloride", 10)
/obj/item/weapon/reagent_containers/food/snacks/pancakes
name = "pancakes"
@@ -4402,7 +4437,7 @@
/obj/item/weapon/reagent_containers/food/snacks/classichotdog/Initialize()
. = ..()
- reagents.add_reagent("protein", 16)
+ reagents.add_reagent(PROTEIN_GOOD, 16)
/obj/item/weapon/reagent_containers/food/snacks/lasagna
name = "lasagna"
@@ -4416,7 +4451,7 @@
/obj/item/weapon/reagent_containers/food/snacks/classichotdog/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/donerkebab
name = "doner kebab"
@@ -4428,7 +4463,7 @@
/obj/item/weapon/reagent_containers/food/snacks/donerkebab/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/sashimi
name = "carp sashimi"
@@ -4453,7 +4488,7 @@
var/shape = pick("lump", "star", "lizard", "corgi")
desc = "A chicken nugget vaguely shaped like a [shape]."
icon_state = "nugget_[shape]"
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich
name = "ice cream sandwich"
@@ -4660,7 +4695,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/burrito_vegan
@@ -4687,7 +4722,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito_spicy/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese
name = "meat cheese burrito"
@@ -4700,7 +4735,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy
name = "spicy cheese meat burrito"
@@ -4713,7 +4748,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/burrito_hell
name = "el diablo"
@@ -4726,7 +4761,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito_hell/Initialize()
. = ..()
- reagents.add_reagent("protein", 9)
+ reagents.add_reagent(PROTEIN_GOOD, 9)
reagents.add_reagent("condensedcapsaicin", 20) //what could possibly go wrong
/obj/item/weapon/reagent_containers/food/snacks/burrito_mystery
@@ -4749,7 +4784,7 @@
/obj/item/weapon/reagent_containers/food/snacks/rawbacon/Initialize()
. = ..()
- reagents.add_reagent("protein", 0.33)
+ reagents.add_reagent(PROTEIN_GOOD, 0.33)
/obj/item/weapon/reagent_containers/food/snacks/bacon
name = "bacon"
@@ -4777,7 +4812,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bacon/Initialize()
. = ..()
- reagents.add_reagent("protein", 0.33)
+ reagents.add_reagent(PROTEIN_GOOD, 0.33)
reagents.add_reagent("triglyceride", 1)
/obj/item/weapon/reagent_containers/food/snacks/chilied_eggs
@@ -4789,7 +4824,7 @@
/obj/item/weapon/reagent_containers/food/snacks/chilied_eggs/Initialize()
. = ..()
reagents.add_reagent("egg", 6)
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise
name = "hatchling suprise"
@@ -4800,7 +4835,7 @@
/obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise/Initialize()
. = ..()
reagents.add_reagent("egg", 2)
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/red_sun_special
name = "red sun special"
@@ -4810,7 +4845,7 @@
/obj/item/weapon/reagent_containers/food/snacks/red_sun_special/Initialize()
. = ..()
- reagents.add_reagent("protein", 2)
+ reagents.add_reagent(PROTEIN_GOOD, 2)
/obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea
name = "moghresian sea delight"
@@ -4831,7 +4866,7 @@
/obj/item/weapon/reagent_containers/food/snacks/father_breakfast/Initialize()
. = ..()
reagents.add_reagent("egg", 4)
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
/obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball
name = "stuffed meatball" //YES
@@ -4840,7 +4875,7 @@
/obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball/Initialize()
. = ..()
- reagents.add_reagent("protein", 4)
+ reagents.add_reagent(PROTEIN_GOOD, 4)
/obj/item/weapon/reagent_containers/food/snacks/egg_pancake
name = "meat pancake"
@@ -4850,7 +4885,7 @@
/obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball/Initialize()
. = ..()
- reagents.add_reagent("protein", 6)
+ reagents.add_reagent(PROTEIN_GOOD, 6)
reagents.add_reagent("egg", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp
@@ -4902,7 +4937,6 @@
bitesize = 2
center_of_mass = list("x"=16, "y"=16)
nutriment_desc = list("butter" = 1)
- nutriment_amt = 0
/obj/item/weapon/reagent_containers/food/snacks/spreads/Initialize()
. = ..()
@@ -4915,7 +4949,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bacon_stick/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
reagents.add_reagent("egg", 1)
/obj/item/weapon/reagent_containers/food/snacks/cheese_cracker
@@ -4933,7 +4967,7 @@
/obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
reagents.add_reagent("egg", 1)
/obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour
@@ -4946,7 +4980,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
/obj/item/weapon/reagent_containers/food/snacks/corn_dog
name = "corn dog"
@@ -4957,7 +4991,36 @@
/obj/item/weapon/reagent_containers/food/snacks/corn_dog/Initialize()
. = ..()
- reagents.add_reagent("protein", 3)
+ reagents.add_reagent(PROTEIN_GOOD, 3)
+
+/obj/item/weapon/reagent_containers/food/snacks/meatloaf
+ name = "meatloaf"
+ desc = "A hefty slice of meatloaf. Made from the finest leftovers!"
+ icon_state = "meatloaf"
+
+/obj/item/weapon/reagent_containers/food/snacks/meatloaf/Initialize()
+ . = ..()
+ reagents.add_reagent(PROTEIN_BAD, 10)
+
+/obj/item/weapon/reagent_containers/food/snacks/meatloaf/cook() //hacky way to deal with a problem but whatever
+ . = ..()
+ reagents.remove_reagent(PROTEIN_BAD, 10)
+
+/obj/item/weapon/reagent_containers/food/snacks/greenloaf
+ name = "greenloaf"
+ desc = "Meatloaf that is so cheap it doesn't contain any meat."
+ icon_state = "greenloaf"
+
+/obj/item/weapon/reagent_containers/food/snacks/greenloaf/Initialize()
+ . = ..()
+ reagents.add_reagent("slop", 10)
+
+/obj/item/weapon/reagent_containers/food/snacks/greenloaf/cook()
+ . = ..()
+ reagents.remove_reagent("slop", 10)
#undef NUTRIMENT_GOOD
#undef NUTRIMENT_BAD
+
+#undef PROTEIN_GOOD
+#undef PROTEIN_BAD
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm
index da81a724c6a..e3ae29ef6b2 100644
--- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm
@@ -70,7 +70,8 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/biogenerated/Initialize()
. = ..()
reagents.clear_reagents()
- reagents.add_reagent("nutriment",6)
+ reagents.add_reagent("synprotein",6)
+ reagents.add_reagent("triglyceride", 1)
/obj/item/weapon/reagent_containers/food/snacks/meat/chicken/Initialize()
. = ..()
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 5070f5ffcf5..eb94ce4b47f 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -117,7 +117,7 @@
user << "[target] is empty."
return
- if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract))
+ if(istype(target, /obj/item/weapon/reagent_containers/food/snacks) || (!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract)))
user << "You cannot directly remove reagents from this object."
return
@@ -137,7 +137,7 @@
if(istype(target, /obj/item/weapon/implantcase/chem))
return
- if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
+ if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
user << "You cannot directly fill this object."
return
if(!target.reagents.get_free_space())
diff --git a/html/changelogs/burgerbb-love.yml b/html/changelogs/burgerbb-love.yml
new file mode 100644
index 00000000000..e878dbd9dc4
--- /dev/null
+++ b/html/changelogs/burgerbb-love.yml
@@ -0,0 +1,10 @@
+author: BurgerBB
+
+delete-after: True
+
+changes:
+ - rscadd: "Added synthetic protein, which exists in vendor food as well as the biogenerated meat."
+ - rscadd: "Grown food, as well as cooked food in the kitchen, provides slight stamina and stamina regen buffs to crewmembers when consumed. Junkfood is the opposite where it reduces stamina and stamina regen when consumed."
+ - rscadd: "Consuming too much sugar can lead to sugar crashes. Sugar is now considered a nutrient, and therefor deals damage to Vaurca when consumed."
+ - balance: "Meat and nutrients processed in the blender turn to muck or slop, respectively. This only affects: Animal protein, seafood, and nutrient. Meatloaf can be made with muck, greenloaf can be made with slop. Slop and muck still give beneifts, but they're not as powerful as their fresh counterparts."
+ - balance: "Syringes can no longer extract reagents from food."
\ No newline at end of file
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index 582b1dcf091..e30448de9a3 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ