From 0c1d2d35c734fcf675f7e08cd67d60157aa73234 Mon Sep 17 00:00:00 2001
From: "Wowzewow (Wezzy)" <42310821+alsoandanswer@users.noreply.github.com>
Date: Fri, 31 Jan 2020 06:59:05 +0800
Subject: [PATCH] no drinking soup with fork & utensils no longer destroy trash
item (#8117)
---
code/game/objects/items/trash.dm | 6 +
.../objects/items/weapons/material/kitchen.dm | 19 +-
code/modules/food/recipes_microwave.dm | 4 +-
.../reagents/reagent_containers/food.dm | 9 +-
.../reagent_containers/food/snacks.dm | 211 ++++++++----------
html/changelogs/wezzy_soupfork.yml | 43 ++++
6 files changed, 168 insertions(+), 124 deletions(-)
create mode 100644 html/changelogs/wezzy_soupfork.yml
diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm
index b531d7f9c9c..102271fb927 100644
--- a/code/game/objects/items/trash.dm
+++ b/code/game/objects/items/trash.dm
@@ -152,3 +152,9 @@
/obj/item/trash/cookiesnack
name = "\improper Carps Ahoy! miniature cookies"
icon_state = "cookiesnack"
+
+/obj/item/trash/stew
+ name = "empty pot"
+ icon = 'icons/obj/food.dmi'
+ icon_state = "stew_empty"
+ drop_sound = 'sound/items/drop/shovel.ogg'
diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm
index c051d6db1d7..ec1a38e96d6 100644
--- a/code/game/objects/items/weapons/material/kitchen.dm
+++ b/code/game/objects/items/weapons/material/kitchen.dm
@@ -15,6 +15,7 @@
force_divisor = 0.1 // 6 when wielded with hardness 60 (steel)
thrown_force_divisor = 0.25 // 5 when thrown with weight 20 (steel)
var/loaded //Descriptive string for currently loaded food object.
+ var/is_liquid = FALSE //whether you've got liquid on your utensil
var/scoop_food = 1
/obj/item/material/kitchen/utensil/New()
@@ -43,21 +44,25 @@
if (fullness > (550 * (1 + M.overeatduration / 2000)))
to_chat(M, "You cannot force anymore food down!")
return
- M.visible_message("\The [user] eats some [loaded] from \the [src].")
+ M.visible_message(span("notice", "\The [user] [is_liquid ? "drinks" : "eats"] some [loaded] from \the [src]."))
else
if (fullness > (550 * (1 + M.overeatduration / 2000)))
to_chat(M, "You cannot force anymore food down their throat!")
return
- user.visible_message("\The [user] begins to feed \the [M]!")
+ user.visible_message(span("warning", "\The [user] begins to feed \the [M]!"))
if(!(M.can_force_feed(user, loaded) && do_mob(user, M, 5 SECONDS)))
return
- M.visible_message("\The [user] feeds some [loaded] to \the [M] with \the [src].")
+ M.visible_message(span("notice", "\The [user] feeds some [loaded] to \the [M] with \the [src]."))
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
- playsound(M.loc,'sound/items/eatfood.ogg', rand(10,40), 1)
+ if(is_liquid)
+ playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
+ is_liquid = FALSE
+ else
+ playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1)
cut_overlays()
return
else
- to_chat(user, "You don't have anything on \the [src].") //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK)
+ to_chat(user, span("warning", "You don't have anything on \the [src].")) //if we have help intent and no food scooped up DON'T STAB OURSELVES WITH THE FORK)
return
/obj/item/material/kitchen/utensil/fork
@@ -103,7 +108,7 @@
/obj/item/material/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob, var/target_zone)
if ((user.is_clumsy()) && prob(50))
- to_chat(user, "You accidentally cut yourself with \the [src].")
+ to_chat(user, span("warning", "You accidentally cut yourself with \the [src]."))
user.take_organ_damage(20)
return
return ..()
@@ -127,7 +132,7 @@
/obj/item/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob, var/target_zone)
if ((user.is_clumsy()) && prob(50))
- to_chat(user, "\The [src] slips out of your hand and hits your head.")
+ to_chat(user, span("warning", "\The [src] slips out of your hand and hits your head."))
user.drop_from_inventory(src)
user.take_organ_damage(10)
user.Paralyse(2)
diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm
index e4d6e211ea9..658a6f25c88 100644
--- a/code/modules/food/recipes_microwave.dm
+++ b/code/modules/food/recipes_microwave.dm
@@ -727,7 +727,7 @@
reagents = list("water" = 10)
items = list(/obj/item/reagent_containers/food/snacks/bearmeat)
reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product
- result = /obj/item/reagent_containers/food/snacks/bearstew
+ result = /obj/item/reagent_containers/food/snacks/stew/bear
/datum/recipe/bibimbap
fruit = list("carrot" = 1, "cabbage" = 1, "mushroom" = 1)
@@ -1120,7 +1120,7 @@
/obj/item/reagent_containers/food/snacks/meat/adhomai,
/obj/item/reagent_containers/food/snacks/meat/adhomai
)
- result = /obj/item/reagent_containers/food/snacks/tajaran_stew
+ result = /obj/item/reagent_containers/food/snacks/stew/tajaran
/datum/recipe/spicy_clams
fruit = list("chili" = 1, "cabbage" = 1)
diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm
index a087fa21ad2..104e84e0b17 100644
--- a/code/modules/reagents/reagent_containers/food.dm
+++ b/code/modules/reagents/reagent_containers/food.dm
@@ -7,9 +7,14 @@
volume = 50 //Sets the default container amount for all food items.
var/filling_color = "#FFFFFF" //Used by sandwiches
drop_sound = 'sound/items/drop/food.ogg'
+ var/is_liquid = FALSE // Handles whether you can eat with a fork & which eating sound is played
/obj/item/reagent_containers/food/self_feed_message(var/mob/user)
- to_chat(user, "You eat \the [src].")
+ to_chat(user, "You [is_liquid? "drink" : "eat"] \the [src].")
+
/obj/item/reagent_containers/food/feed_sound(var/mob/user)
- playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1)
+ if(is_liquid)
+ playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
+ else
+ playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1)
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index 9ea0e2e1326..9b7e5655f3f 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -42,13 +42,10 @@
/obj/item/reagent_containers/food/snacks/proc/on_consume(var/mob/eater, var/mob/feeder = null)
if(!reagents.total_volume)
- eater.visible_message("[eater] finishes eating \the [src].","You finish eating \the [src].")
-
- if (!feeder)
+ eater.visible_message(span("notice", "[eater] finishes [is_liquid ? "drinking" : "eating"] \the [src]."),span("notice","You finish [is_liquid ? "drinking" : "eating"] \the [src]."))
+ if(!feeder)
feeder = eater
-
feeder.drop_from_inventory(src) //so icons update :[ //what the fuck is this????
-
if(trash)
if(ispath(trash,/obj/item))
var/obj/item/TrashItem = new trash(feeder)
@@ -115,20 +112,18 @@
return
var/feedback_message
-
if(is_full)
feedback_message = "You cannot force any more of \the [src] to go down your throat!"
else if(fullness <= CREW_NUTRITION_VERYHUNGRY)
- feedback_message = "You hungrily chew out a piece of \the [src] and gobble it!"
+ feedback_message = "You hungrily [is_liquid ? "chug a portion" : "chew out a piece"] of \the [src] and [is_liquid ? "swallow" : "gobble"] it!"
else if(fullness <= CREW_NUTRITION_HUNGRY)
- feedback_message = "You hungrily begin to eat \the [src]."
+ feedback_message = "You hungrily begin to [is_liquid ? "drink" : "eat"] \the [src]."
else if(fullness <= CREW_NUTRITION_SLIGHTLYHUNGRY)
- feedback_message = "You take a bite of \the [src]."
+ feedback_message = "You [is_liquid ? "have a drink" : "take a bite"] of \the [src]."
else if(fullness <= CREW_NUTRITION_FULL)
- feedback_message = "You take a bite of \the [src]."
+ feedback_message = "You [is_liquid ? "have a drink" : "take a bite"] of \the [src]."
else if(fullness <= CREW_NUTRITION_OVEREATEN)
- feedback_message = "You unwillingly chew a bit of \the [src]."
-
+ feedback_message = "You unwillingly [is_liquid ? "sip" : "chew"] a bit of \the [src]."
if(is_full)
to_chat(user,span("danger",feedback_message))
@@ -152,7 +147,10 @@
msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(target)] with [name] Reagents: [contained] (INTENT: [uppertext(user.a_intent)]) (JMP)",ckey=key_name(user),ckey_target=key_name(target))
reagents.trans_to_mob(target, min(reagents.total_volume,bitesize), CHEM_INGEST)
- feed_sound(user)
+ if(is_liquid)
+ playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
+ else
+ playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1)
bitecount++
on_consume(target,user)
@@ -162,17 +160,17 @@
if(!..(user, 1))
return
if(name != initial(name))
- to_chat(user, "You know the item as [initial(name)], however a little piece of propped up paper indicates it's \a [name].")
+ to_chat(user, span("notice", "You know the item as [initial(name)], however a little piece of propped up paper indicates it's \a [name]."))
if (coating)
- to_chat(user, "It's coated in [coating.name]!")
+ to_chat(user, span("notice", "It's coated in [coating.name]!"))
if (bitecount==0)
return
else if (bitecount==1)
- to_chat(user, "\The [src] was bitten by someone!")
+ to_chat(user, span("notice", "\The [src] was bitten by someone!"))
else if (bitecount<=3)
- to_chat(user, "\The [src] was bitten [bitecount] time\s!")
+ to_chat(user, span("notice", "\The [src] was bitten [bitecount] time\s!"))
else
- to_chat(user, "\The [src] was bitten multiple times!")
+ to_chat(user, span("notice", "\The [src] was bitten multiple times!"))
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W as obj, mob/user as mob)
@@ -182,14 +180,14 @@
if(selection == "Name")
var/input_clean_name = sanitize(input(user,"What is the name of this food?", "Set Food Name") as text|null, MAX_LNAME_LEN)
if(input_clean_name)
- user.visible_message("\The [user] labels \the [name] as \"[input_clean_name]\".")
+ user.visible_message(span("notice", "\The [user] labels \the [name] as \"[input_clean_name]\"."))
name = input_clean_name
else
name = initial(name)
else if(selection == "Description")
var/input_clean_desc = sanitize(input(user,"What is the description of this food?", "Set Food Description") as text|null, MAX_MESSAGE_LEN)
if(input_clean_desc)
- user.visible_message("\The [user] adds a note to \the [name].")
+ user.visible_message(span("notice", "\The [user] adds a note to \the [name]."))
desc = input_clean_desc
else
desc = initial(desc)
@@ -202,31 +200,43 @@
// Eating with forks
if(istype(W,/obj/item/material/kitchen/utensil))
var/obj/item/material/kitchen/utensil/U = W
- if(U.scoop_food)
- if(!U.reagents)
- U.create_reagents(5)
-
- if (U.reagents.total_volume > 0)
- to_chat(user, "You already have something on your [U].")
- return
-
- user.visible_message( \
- "\The [user] scoops up some [src] with \the [U]!", \
- "You scoop up some [src] with \the [U]!" \
- )
-
- src.bitecount++
- U.cut_overlays()
- U.loaded = "[src]"
- var/image/I = new(U.icon, "loadedfood")
- I.color = src.filling_color
- U.add_overlay(I)
-
- reagents.trans_to_obj(U, min(reagents.total_volume,5))
-
- if (reagents.total_volume <= 0)
- qdel(src)
+ if(istype(W,/obj/item/material/kitchen/utensil/fork)&&(is_liquid))
+ to_chat(user, span("notice", "You uselessly pass \the [U] through \the [src]."))
+ playsound(user.loc, 'sound/effects/pour.ogg', 10, 1)
return
+ else
+ if(U.scoop_food)
+ if(!U.reagents)
+ U.create_reagents(5)
+
+ if (U.reagents.total_volume > 0)
+ to_chat(user, span("warning", "You already have \the [src] on \the [U]."))
+ return
+
+ user.visible_message( \
+ "\The [user] scoops up some of \the [src] with \the [U]!", \
+ span("notice", "You scoop up some of \the [src] with \the [U]!") \
+ )
+
+ bitecount++
+ U.cut_overlays()
+ U.loaded = src.name
+ var/image/I = new(U.icon, "loadedfood")
+ I.color = src.filling_color
+ U.add_overlay(I)
+
+ reagents.trans_to_obj(U, min(reagents.total_volume,5))
+ if(is_liquid)
+ U.is_liquid = TRUE
+ if (reagents.total_volume <= 0)
+ if(trash)
+ if(ispath(trash,/obj/item))
+ var/obj/item/TrashItem = new trash(user)
+ user.put_in_hands(TrashItem)
+ else if(istype(trash,/obj/item))
+ user.put_in_hands(trash)
+ qdel(src)
+ return
if (is_sliceable())
//these are used to allow hiding edge items in food that is not on a table/tray
@@ -237,7 +247,7 @@
if (W.w_class >= src.w_class || is_robot_module(W))
return
- to_chat(user, "You slip \the [W] inside \the [src].")
+ to_chat(user, span("warning", "You slip \the [W] inside \the [src]."))
user.remove_from_mob(W)
W.dropped(user)
add_fingerprint(user)
@@ -246,15 +256,15 @@
if (has_edge(W))
if (!can_slice_here)
- to_chat(user, "You cannot slice \the [src] here! You need a table or at least a tray to do it.")
+ to_chat(user, span("warning", "You cannot slice \the [src] here! You need a table or at least a tray to do it."))
return
var/slices_lost = 0
if (W.w_class > 3)
- user.visible_message("\The [user] crudely slices \the [src] with [W]!", "You crudely slice \the [src] with your [W]!")
+ user.visible_message(span("notice", "\The [user] crudely slices \the [src] with [W]!"), span("notice", "You crudely slice \the [src] with your [W]!"))
slices_lost = rand(1,min(1,round(slices_num/2)))
else
- user.visible_message("\The [user] slices \the [src]!", "You slice \the [src]!")
+ user.visible_message(span("notice", "\The [user] slices \the [src]!"), span("notice", "You slice \the [src]!"))
var/reagents_per_slice = reagents.total_volume/slices_num
for(var/i=1 to (slices_num-slices_lost))
@@ -404,7 +414,7 @@
m_bitesize = bitesize * SA.bite_factor//Modified bitesize based on creature size
amount_eaten = m_bitesize
if (!SA.can_eat())
- to_chat(user, "You're too full to eat anymore!")
+ to_chat(user, span("danger", "You're too full to eat anymore!"))
return
if(reagents && user.reagents)
@@ -417,12 +427,12 @@
if (amount_eaten)
bitecount++
if (amount_eaten < m_bitesize)
- user.visible_message("[user] reluctantly nibbles a tiny part of \the [src].","You reluctantly nibble a tiny part of \the [src]. You can't stomach much more!.")
+ user.visible_message(span("notice", "[user] reluctantly nibbles a tiny part of \the [src]."),span("notice", "You reluctantly nibble a tiny part of \the [src]. You can't stomach much more!."))
animate_shake()
var/toplay = pick(list('sound/effects/creatures/nibble1.ogg','sound/effects/creatures/nibble2.ogg'))
playsound(loc, toplay, 30, 1)
else
- to_chat(user, "You're too full to eat anymore!")
+ to_chat(user, span("danger", "You're too full to eat anymore!"))
spawn(5)
if(!src && !user.client)
@@ -787,7 +797,7 @@
..()
new/obj/effect/decal/cleanable/egg_smudge(src.loc)
src.reagents.splash(hit_atom, reagents.total_volume)
- src.visible_message("\The [src] has been squashed!","You hear a smack.")
+ src.visible_message(span("warning", "\The [src] has been squashed!"),span("warning", "You hear a smack."))
qdel(src)
/obj/item/reagent_containers/food/snacks/egg/attackby(obj/item/W as obj, mob/user as mob)
@@ -796,10 +806,10 @@
var/clr = C.colourName
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
- to_chat(usr, "The egg refuses to take on this color!")
+ to_chat(usr, span("notice", "The egg refuses to take on this color!"))
return
- to_chat(usr, "You color \the [src] [clr]")
+ to_chat(usr, span("notice", "You color \the [src] [clr]"))
icon_state = "egg-[clr]"
else
..()
@@ -1071,10 +1081,10 @@
/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket/attack_self(mob/user)
if(has_been_heated)
- to_chat(user, "The heating chemicals have already been spent.")
+ to_chat(user, span("notice", "The heating chemicals have already been spent."))
return
has_been_heated = TRUE
- user.visible_message("[user] crushes \the [src] package.", "You crush \the [src] package and feel it rapidly heat up.")
+ user.visible_message(span("notice", "[user] crushes \the [src] package."), "You crush \the [src] package and feel it rapidly heat up.")
name = "cooked Sin-pocket"
desc = "The food of choice for the veteran. Do NOT overconsume."
reagents.add_reagent("doctorsdelight", 5)
@@ -1286,7 +1296,7 @@
/obj/item/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/pie_smudge(src.loc)
- src.visible_message("\The [src.name] splats.","You hear a splat.")
+ src.visible_message(span("danger", "\The [src.name] splats."),span("danger", "You hear a splat."))
qdel(src)
/obj/item/reagent_containers/food/snacks/berryclafoutis
@@ -1517,7 +1527,7 @@
/obj/item/reagent_containers/food/snacks/popcorn/on_consume()
if(prob(unpopped)) //lol ...what's the point? // IMPLEMENT DENTISTRY WHEN?
- to_chat(usr, "You bite down on an un-popped kernel!")
+ to_chat(usr, span("warning", "You bite down on an un-popped kernel!"))
unpopped = max(0, unpopped-1)
..()
@@ -1780,14 +1790,21 @@
nutriment_amt = 5
bitesize = 2
+/obj/item/reagent_containers/food/snacks/soup
+ name = "water soup"
+ desc = "Water. And it tastes...fuck all."
+ icon_state = "wishsoup"
+ nutriment_desc = list("soup" = 5)
+ trash = /obj/item/trash/snack_bowl
+ center_of_mass = list("x"=16, "y"=8)
+ bitesize = 5
+ is_liquid = TRUE
+
/obj/item/reagent_containers/food/snacks/soup/meatball
name = "meatball soup"
desc = "You've got balls kid, BALLS!"
icon_state = "meatballsoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#785210"
- center_of_mass = list("x"=16, "y"=8)
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/meatball/Initialize()
. = ..()
@@ -1799,7 +1816,6 @@
desc = "If no water is available, you may substitute tears."
icon_state = "slimesoup" //nonexistant?
filling_color = "#C4DBA0"
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/slime/Initialize()
. = ..()
@@ -1811,8 +1827,6 @@
desc = "Smells like copper."
icon_state = "tomatosoup"
filling_color = "#FF0000"
- center_of_mass = list("x"=16, "y"=7)
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/blood/Initialize()
. = ..()
@@ -1825,10 +1839,8 @@
desc = "Not very funny."
icon_state = "clownstears"
filling_color = "#C4FBFF"
- center_of_mass = list("x"=16, "y"=7)
nutriment_desc = list("salt" = 1, "the worst joke" = 3)
nutriment_amt = 4
- bitesize = 5
/obj/item/reagent_containers/food/snacks/clownstears/Initialize()
. = ..()
@@ -1839,12 +1851,9 @@
name = "vegetable soup"
desc = "A true vegan meal" //TODO
icon_state = "vegetablesoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#AFC4B5"
- center_of_mass = list("x"=16, "y"=8)
nutriment_desc = list("carrot" = 2, "corn" = 2, "eggplant" = 2, "potato" = 2)
nutriment_amt = 8
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/vegetable/Initialize()
. = ..()
@@ -1854,12 +1863,9 @@
name = "nettle soup"
desc = "To think, the botanist would've beat you to death with one of these."
icon_state = "nettlesoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#AFC4B5"
- center_of_mass = list("x"=16, "y"=7)
nutriment_desc = list("salad" = 4, "egg" = 2, "potato" = 2)
nutriment_amt = 8
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/nettle/Initialize()
. = ..()
@@ -1870,12 +1876,9 @@
name = "mystery soup"
desc = "The mystery is, why aren't you eating it?"
icon_state = "mysterysoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#F082FF"
- center_of_mass = list("x"=16, "y"=6)
nutriment_desc = list("backwash" = 1)
nutriment_amt = 1
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/mystery/Initialize()
. = ..()
@@ -1919,10 +1922,7 @@
name = "wish soup"
desc = "I wish this was soup."
icon_state = "wishsoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#D1F4FF"
- center_of_mass = list("x"=16, "y"=11)
- bitesize = 5
/obj/item/reagent_containers/food/snacks/soup/wish/Initialize()
. = ..()
@@ -1996,7 +1996,7 @@
Unwrap(user)
/obj/item/reagent_containers/food/snacks/monkeycube/proc/Expand()
- src.visible_message("\The [src] expands!")
+ src.visible_message(span("notice", "\The [src] expands!"))
if(istype(loc, /obj/item/gripper)) // fixes ghost cube when using syringe
var/obj/item/gripper/G = loc
G.drop_item()
@@ -2187,10 +2187,7 @@
name = "tomato soup"
desc = "Drinking this feels like being a vampire! A tomato vampire..."
icon_state = "tomatosoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#D92929"
- center_of_mass = list("x"=16, "y"=7)
- nutriment_desc = list("soup" = 5)
nutriment_amt = 5
bitesize = 3
@@ -2202,9 +2199,7 @@
name = "bluespace tomato soup"
desc = "A scientific experiment turned into a possibly unsafe meal."
icon_state = "spiral_soup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#0066FF"
- nutriment_desc = list("soup" = 5)
nutriment_amt = 5
bitesize = 3
@@ -2229,14 +2224,17 @@
reagents.add_reagent("psilocybin", 8)
/obj/item/reagent_containers/food/snacks/stew
- name = "Stew"
+ name = "stew"
desc = "A nice and warm stew. Healthy and strong."
icon_state = "stew"
+ trash = /obj/item/trash/stew
+ drop_sound = 'sound/items/drop/shovel.ogg'
filling_color = "#9E673A"
center_of_mass = list("x"=16, "y"=5)
nutriment_desc = list("potato" = 2, "carrot" = 2, "eggplant" = 2, "mushroom" = 2)
nutriment_amt = 6
bitesize = 10
+ is_liquid = TRUE
/obj/item/reagent_containers/food/snacks/stew/Initialize()
. = ..()
@@ -2294,8 +2292,6 @@
name = "milosoup"
desc = "The universes best soup! Yum!!!"
icon_state = "milosoup"
- trash = /obj/item/trash/snack_bowl
- center_of_mass = list("x"=16, "y"=7)
nutriment_desc = list("soy" = 8)
nutriment_amt = 8
bitesize = 4
@@ -2538,9 +2534,7 @@
name = "chantrelle soup"
desc = "A delicious and hearty mushroom soup."
icon_state = "mushroomsoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#E386BF"
- center_of_mass = list("x"=17, "y"=10)
nutriment_desc = list("mushroom" = 8, "milk" = 2)
nutriment_amt = 8
bitesize = 3
@@ -2580,9 +2574,7 @@
name = "beet soup"
desc = "Wait, how do you spell it again..?"
icon_state = "beetsoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#FAC9FF"
- center_of_mass = list("x"=15, "y"=8)
nutriment_desc = list("tomato" = 4, "beet" = 4)
nutriment_amt = 8
bitesize = 2
@@ -2715,18 +2707,15 @@
reagents.add_reagent("tomatojuice", 2)
reagents.add_reagent("hyperzine", 5)
-/obj/item/reagent_containers/food/snacks/bearstew
+/obj/item/reagent_containers/food/snacks/stew/bear
name = "bear stew"
gender = PLURAL
desc = "A thick, dark stew of bear meat and vegetables."
- icon_state = "stew"
- filling_color = "#9E673A"
- center_of_mass = list("x"=16, "y"=5)
+ icon_state = "bearstew"
nutriment_desc = list("mushroom" = 2, "potato" = 2, "carrot" = 2)
- nutriment_amt = 6
bitesize = 6
-/obj/item/reagent_containers/food/snacks/bearstew/Initialize()
+/obj/item/reagent_containers/food/snacks/stew/bear/Initialize()
. = ..()
reagents.add_reagent("protein", 4)
reagents.add_reagent("hyperzine", 5)
@@ -3923,7 +3912,7 @@
if( open && pizza )
user.put_in_hands( pizza )
- to_chat(user, "You take \the [src.pizza] out of \the [src].")
+ to_chat(user, span("warning", "You take \the [src.pizza] out of \the [src]."))
src.pizza = null
update_icon()
return
@@ -3937,7 +3926,7 @@
boxes -= box
user.put_in_hands( box )
- to_chat(user, "You remove the topmost [src] from your hand.")
+ to_chat(user, span("warning", "You remove the topmost [src] from your hand."))
box.update_icon()
update_icon()
return
@@ -3974,11 +3963,11 @@
box.update_icon()
update_icon()
- to_chat(user, "You put \the [box] ontop of \the [src]!")
+ to_chat(user, span("warning", "You put \the [box] ontop of \the [src]!"))
else
- to_chat(user, "The stack is too high!")
+ to_chat(user, span("warning", "The stack is too high!"))
else
- to_chat(user, "Close \the [box] first!")
+ to_chat(user, span("warning", "Close \the [box] first!"))
return
@@ -3990,9 +3979,9 @@
update_icon()
- to_chat(user, "You put \the [I] in \the [src]!")
+ to_chat(user, span("warning", "You put \the [I] in \the [src]!"))
else
- to_chat(user, "You try to push \the [I] through the lid but it doesn't work!")
+ to_chat(user, span("warning", "You try to push \the [I] through the lid but it doesn't work!"))
return
if( I.ispen() )
@@ -4270,6 +4259,7 @@
filling_color = "#A8A8A8"
center_of_mass = list("x"=16, "y"=15)
bitesize = 4
+ is_liquid = TRUE
/obj/item/reagent_containers/food/snacks/liquidfood/Initialize()
. = ..()
@@ -4389,7 +4379,6 @@
name = "k'ois paste"
desc = "A thick K'ois goop, piled into a bowl."
icon_state = "koissoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#4E6E600"
bitesize = 2
@@ -5231,8 +5220,8 @@
desc = "A traditional tajaran bread, usually baked with blizzard ears' flour."
icon_state = "tajaran_bread"
bitesize = 2
- nutriment_desc = list("bread" = 2)
nutriment_amt = 5
+ nutriment_desc = list("bread" = 2)
description_fluff = "While the People's republic territory includes several different regional cultures, it is possible to find common culinary traditions among its population. \
Bread, baked with flour produced from a variation of the Blizzard Ears, is considered an essential part of a worker's breakfast."
@@ -5241,23 +5230,21 @@
desc = "A soup made with earthen-root, a traditional dish from Northern Harr'masir."
icon_state = "tajaran_soup"
bitesize = 2
- nutriment_desc = list("soup" = 5)
nutriment_amt = 4
- trash = /obj/item/trash/snack_bowl
description_fluff = "The Earth-Root soup is a common sight on the tables, of all social sectors, in the Northern Harr'masir. Prepared traditionally with water, Earth-Root and \
other plants, such as the Nif-Berries."
-/obj/item/reagent_containers/food/snacks/tajaran_stew
+/obj/item/reagent_containers/food/snacks/stew/tajaran
name = "adhomian stew"
desc = "An adhomian stew, made with nav'twir meat and native plants."
icon_state = "tajaran_stew"
bitesize = 2
- nutriment_desc = list("sweetness" = 2)
nutriment_amt = 4
+ nutriment_desc = list("sweetness" = 2)
description_fluff = "Traditional adhomian stews are made with diced vegetables, such as Nif-Berries, and meat, Snow Strider is commonly used by the rural population, while \
industrialized Fatshouters's beef is prefered by the city's inhabitants."
-/obj/item/reagent_containers/food/snacks/tajaran_stew/Initialize()
+/obj/item/reagent_containers/food/snacks/stew/tajaran/Initialize()
. = ..()
reagents.add_reagent("protein", 4)
reagents.add_reagent("water", 4)
@@ -5301,9 +5288,7 @@
name = "onion soup"
desc = "A soup with layers."
icon_state = "onionsoup"
- trash = /obj/item/trash/snack_bowl
filling_color = "#E0C367"
- center_of_mass = list("x"=16, "y"=7)
nutriment_amt = 5
nutriment_desc = list("onion" = 2, "soup" = 2)
bitesize = 3
diff --git a/html/changelogs/wezzy_soupfork.yml b/html/changelogs/wezzy_soupfork.yml
new file mode 100644
index 00000000000..bd5e4d9b9a0
--- /dev/null
+++ b/html/changelogs/wezzy_soupfork.yml
@@ -0,0 +1,43 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: Wowzewow (Wezzy)
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "You no longer can eat soup with a fork. Weep and/or rejoice."
+ - tweak: "Drinking soup should display more correct messages and sounds."
+ - bugfix: "Eating things with utensils will now properly spawns the trash item."