diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 482ec0389df..d1beea37f7c 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -815,6 +815,7 @@ /obj/item/material/kitchen/utensil/fork = 12, /obj/item/material/kitchen/utensil/knife = 12, /obj/item/material/kitchen/utensil/spoon = 12, + /obj/item/material/kitchen/utensil/fork/chopsticks = 12, /obj/item/material/knife = 2, /obj/item/material/hatchet/butch = 2, /obj/item/reagent_containers/food/drinks/drinkingglass = 12, @@ -849,6 +850,7 @@ /obj/item/material/kitchen/utensil/fork/plastic = 12, /obj/item/material/kitchen/utensil/spoon/plastic = 12, /obj/item/material/kitchen/utensil/knife/plastic = 12, + /obj/item/material/kitchen/utensil/fork/chopsticks/cheap = 12, /obj/item/reagent_containers/food/drinks/drinkingglass = 12 ) diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 370b7dbe01c..228fedda602 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -213,6 +213,18 @@ name = "empty rice tub" icon_state = "ricetub" +/obj/item/trash/ricetub/attackby(obj/item/W, mob/living/user) + if(istype(W, /obj/item/material/kitchen/utensil/fork/chopsticks)) + var/obj/item/trash/ricetub_s/T = new() + to_chat(user, SPAN_NOTICE("You reattach the [W] to \the [src]")) + src.Destroy() + W.Destroy() + user.put_in_inactive_hand(T) //Because the chopsticks are in the active hand + +/obj/item/trash/ricetub_s + name = "empty rice tub" + icon_state = "ricetub_s" + /obj/item/trash/seaweed name = "empty moss pack" icon_state = "seaweed" diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index b613159c68d..69533a10411 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -23,6 +23,7 @@ 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 + var/transfer_amt = 5 /obj/item/material/kitchen/utensil/New() ..() @@ -80,6 +81,19 @@ /obj/item/material/kitchen/utensil/fork/plastic default_material = MATERIAL_PLASTIC +/obj/item/material/kitchen/utensil/fork/chopsticks + name = "chopsticks" + desc = "A pair of chopsticks. The most challenging utensil in the Spur." + icon_state = "chopsticks" + default_material = MATERIAL_WOOD + transfer_amt = 2 //Chopsticks are hard to grab stuff with + +/obj/item/material/kitchen/utensil/fork/chopsticks/cheap + name = "cheap chopsticks" + desc = "A pair of cheap, disposable chopsticks." + use_material_name = 0 + applies_material_colour = 0 + /obj/item/material/kitchen/utensil/spoon name = "spoon" desc = "It's a spoon. You can see your own upside-down face in it." diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 11c8dffdb98..cc0fcbb574a 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -205,7 +205,7 @@ I.color = src.filling_color U.add_overlay(I) - reagents.trans_to_obj(U, min(reagents.total_volume,5)) + reagents.trans_to_obj(U, min(reagents.total_volume,U.transfer_amt)) if(is_liquid) U.is_liquid = TRUE on_consume(user, user) @@ -3625,19 +3625,48 @@ name = "packed rice bowl" desc = "Boiled rice packed in a sealed plastic tub with the Nojosuru Foods logo on it. There appears to be a pair of chopsticks clipped to the side." icon_state = "ricetub" - trash = /obj/item/trash/ricetub + trash = /obj/item/trash/ricetub_s filling_color = "#A66829" center_of_mass = list("x"=17, "y"=16) reagents_to_add = list(/datum/reagent/nutriment = 5) reagent_data = list(/datum/reagent/nutriment = list("rice" = 1)) + var/sticks = 1 + +/obj/item/reagent_containers/food/snacks/ricetub/verb/remove_sticks() + set name = "Remove Chopsticks" + set category = "Object" + set src in usr + + var/obj/item/material/kitchen/utensil/fork/chopsticks/cheap/S = new() + + if(use_check_and_message(usr)) + return + + if(!sticks) + to_chat(usr, SPAN_WARNING("There are no chopsticks attached to \the [src].")) + return + + sticks = 0 + trash = /obj/item/trash/ricetub + desc = "Boiled rice packed in a sealed plastic tub with the Nojosuru Foods logo on it. There appears to have once been something clipped to the side." + usr.put_in_hands(S) + + update_icon() + to_chat(usr, SPAN_NOTICE("You remove the chopsticks from \the [src].")) /obj/item/reagent_containers/food/snacks/ricetub/update_icon() var/percent = round((reagents.total_volume / 5) * 100) switch(percent) if(0 to 90) - icon_state = "ricetub_90" + if(sticks) + icon_state = "ricetub_s_90" + else + icon_state = "ricetub_90" if(91 to INFINITY) - icon_state = "ricetub" + if(sticks) + icon_state = "ricetub_s" + else + icon_state = "ricetub" /obj/item/reagent_containers/food/snacks/seaweed name = "Go-Go Gwok! Authentic Konyanger moss" diff --git a/html/changelogs/chopstix.yml b/html/changelogs/chopstix.yml new file mode 100644 index 00000000000..2c8d11d48a4 --- /dev/null +++ b/html/changelogs/chopstix.yml @@ -0,0 +1,7 @@ +author: Sparky_Hotdog + +delete-after: True + +changes: + - rscadd: "Added chopsticks, a new form of utensil. Available from the kitchen vendor now!" + - rscadd: "Rice Bowls now have the option to remove their chopsticks, and even put them back neatly when you're finished!" \ No newline at end of file diff --git a/icons/mob/items/lefthand_kitchen.dmi b/icons/mob/items/lefthand_kitchen.dmi index 98e080cb15d..e3dd5a78d3b 100644 Binary files a/icons/mob/items/lefthand_kitchen.dmi and b/icons/mob/items/lefthand_kitchen.dmi differ diff --git a/icons/mob/items/righthand_kitchen.dmi b/icons/mob/items/righthand_kitchen.dmi index 4b89e54d7af..24ccb6a2c07 100644 Binary files a/icons/mob/items/righthand_kitchen.dmi and b/icons/mob/items/righthand_kitchen.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 501754b53c3..337e26b5d9e 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 10b3db5e24a..5c59426468c 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/obj/trash.dmi b/icons/obj/trash.dmi index 45a79dd80ac..4c0fc9d9e5d 100644 Binary files a/icons/obj/trash.dmi and b/icons/obj/trash.dmi differ