From 2d39c1289f70880e7113c17c4b4adfa29c4b56f5 Mon Sep 17 00:00:00 2001 From: Jacquerel Date: Tue, 3 Oct 2023 21:27:26 +0100 Subject: [PATCH] Adds tongs (#78698) ## About The Pull Request ![dreamseeker_6nkq7xbypa](https://github.com/tgstation/tgstation/assets/7483112/60f86b9d-a5aa-4630-8ab4-8956b2e44665). Adds tongs, as requested on the [Official TGStation13 Forums](https://tgstation13.org/phpBB/viewtopic.php?f=9&t=33026) Tongs can be used to pick up food from two tiles away, and feed it to people who are two tiles away. You can also use them while in your hand to snap them together like a crab, or use them to harmlessly pinch people who are up to two tiles away. Tongs are available from the kitchen's dinnerware vendor, the autolathe, and the service lathe. ## Why It's Good For The Game You can feed people from across a counter, without touching the food and spreading your germs to them. ## Changelog :cl: Coded by Jacquerel, Sprited by Dalmationer add: Added tongs to the kitchen, which you can use to manipulate food from further away /:cl: --- code/game/objects/items/tongs.dm | 100 ++++++++++++++++++ code/modules/cargo/packs/organic.dm | 10 +- code/modules/jobs/job_types/cook.dm | 13 +-- .../designs/autolathe/service_designs.dm | 12 +++ code/modules/research/techweb/all_nodes.dm | 1 + code/modules/vending/drinnerware.dm | 1 + icons/obj/service/kitchen.dmi | Bin 13608 -> 14250 bytes tgstation.dme | 1 + 8 files changed, 128 insertions(+), 10 deletions(-) create mode 100644 code/game/objects/items/tongs.dm diff --git a/code/game/objects/items/tongs.dm b/code/game/objects/items/tongs.dm new file mode 100644 index 00000000000..8e7753bf488 --- /dev/null +++ b/code/game/objects/items/tongs.dm @@ -0,0 +1,100 @@ +/// Tongs, let you pick up and feed people food from further away. +/obj/item/kitchen/tongs + name = "tongs" + desc = "So you never have to touch anything with your dirty, unwashed hands." + reach = 2 + icon_state = "tongs" + base_icon_state = "tongs" + inhand_icon_state = "fork" // close enough + attack_verb_continuous = list("pinches", "tongs", "nips") + attack_verb_simple = list("pinch", "tong", "nip") + /// What are we holding in our tongs? + var/obj/item/tonged + /// Sound to play when we click our tongs together + var/clack_sound = 'sound/items/handling/component_drop.ogg' + /// Time to wait between clacking sounds + var/clack_delay = 2 SECONDS + /// Have we clacked recently? + COOLDOWN_DECLARE(clack_cooldown) + +/obj/item/kitchen/tongs/Destroy(force) + QDEL_NULL(tonged) + return ..() + +/obj/item/kitchen/tongs/examine(mob/user) + . = ..() + if (!isnull(tonged)) + . += span_notice("It is holding [tonged].") + +/obj/item/kitchen/tongs/dropped(mob/user, silent) + . = ..() + drop_tonged() + +/obj/item/kitchen/tongs/attack_self(mob/user, modifiers) + . = ..() + if(.) + return TRUE + if (!isnull(tonged)) + drop_tonged() + return TRUE + if (!COOLDOWN_FINISHED(src, clack_cooldown)) + return TRUE + user.visible_message(span_notice("[user] clacks [user.p_their()] [src] together like a crab. Click clack!")) + click_clack() + return TRUE + +/// Release the food we are holding +/obj/item/kitchen/tongs/proc/drop_tonged() + if (isnull(tonged)) + return + visible_message(span_notice("[tonged] falls to the ground!")) + var/turf/location = drop_location() + tonged.forceMove(location) + tonged.do_drop_animation(location) + +/// Play a clacking sound and appear closed, then open again +/obj/item/kitchen/tongs/proc/click_clack() + COOLDOWN_START(src, clack_cooldown, clack_delay) + playsound(src, clack_sound, vol = 100, vary = FALSE) + icon_state = "[base_icon_state]_closed" + var/delay = min(0.5 SECONDS, clack_delay / 2) // Just in case someone's been fucking with the cooldown + addtimer(CALLBACK(src, PROC_REF(clack)), delay, TIMER_DELETE_ME) + +/// Plays a clacking sound and appear open +/obj/item/kitchen/tongs/proc/clack() + playsound(src, clack_sound, vol = 100, vary = FALSE) + icon_state = base_icon_state + +/obj/item/kitchen/tongs/Exited(atom/movable/leaving, direction) + . = ..() + if (leaving != tonged) + return + tonged = null + update_appearance(UPDATE_ICON) + +/obj/item/kitchen/tongs/pre_attack(obj/item/attacked, mob/living/user, params) + if (!isnull(tonged)) + attacked.attackby(tonged, user) + return TRUE + if (isliving(attacked)) + if (COOLDOWN_FINISHED(src, clack_cooldown)) + click_clack() + return ..() + if (!IsEdible(attacked) || attacked.w_class > WEIGHT_CLASS_NORMAL || !isnull(tonged)) + return ..() + tonged = attacked + attacked.do_pickup_animation(src) + attacked.forceMove(src) + update_appearance(UPDATE_ICON) + +/obj/item/kitchen/tongs/update_overlays() + . = ..() + if (isnull(tonged)) + return + var/mutable_appearance/held_food = new /mutable_appearance(tonged.appearance) + held_food.layer = layer + held_food.plane = plane + held_food.transform = held_food.transform.Scale(0.7, 0.7) + held_food.pixel_x = 6 + held_food.pixel_y = 6 + . += held_food diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 73c98cb4b3a..eb26d5ec907 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -299,10 +299,12 @@ ONLY 5000 BUX GET NOW! Contains a grill and fuel." cost = CARGO_CRATE_VALUE * 8 crate_type = /obj/structure/closet/crate - contains = list(/obj/item/stack/sheet/mineral/coal/five, - /obj/machinery/grill/unwrenched, - /obj/item/reagent_containers/cup/soda_cans/monkey_energy, - ) + contains = list( + /obj/item/stack/sheet/mineral/coal/five, + /obj/item/kitchen/tongs, + /obj/item/reagent_containers/cup/soda_cans/monkey_energy, + /obj/machinery/grill/unwrenched, + ) crate_name = "grilling starter kit crate" /datum/supply_pack/organic/grillfuel diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index a3f03c2d9b1..e96bae827fa 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -33,13 +33,14 @@ // Adds up to 100, don't mess it up mail_goodies = list( /obj/item/storage/box/ingredients/random = 40, - /obj/item/reagent_containers/cup/bottle/caramel = 8, - /obj/item/reagent_containers/condiment/flour = 8, - /obj/item/reagent_containers/condiment/rice = 8, - /obj/item/reagent_containers/condiment/ketchup = 8, - /obj/item/reagent_containers/condiment/enzyme = 8, - /obj/item/reagent_containers/condiment/soymilk = 8, + /obj/item/reagent_containers/cup/bottle/caramel = 7, + /obj/item/reagent_containers/condiment/flour = 7, + /obj/item/reagent_containers/condiment/rice = 7, + /obj/item/reagent_containers/condiment/ketchup = 7, + /obj/item/reagent_containers/condiment/enzyme = 7, + /obj/item/reagent_containers/condiment/soymilk = 7, /obj/item/kitchen/spoon/soup_ladle = 6, + /obj/item/kitchen/tongs = 6, /obj/item/knife/kitchen = 4, /obj/item/knife/butcher = 2, ) diff --git a/code/modules/research/designs/autolathe/service_designs.dm b/code/modules/research/designs/autolathe/service_designs.dm index ea65fe3ef38..687e85d6436 100644 --- a/code/modules/research/designs/autolathe/service_designs.dm +++ b/code/modules/research/designs/autolathe/service_designs.dm @@ -142,6 +142,18 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE +/datum/design/tongs + name = "Tongs" + id = "tongs" + build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2) + build_path = /obj/item/kitchen/tongs + category = list( + RND_CATEGORY_INITIAL, + RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_KITCHEN, + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + /datum/design/tray name = "Serving Tray" id = "servingtray" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 507199164b8..7852bdb367e 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -115,6 +115,7 @@ "titaniumglass", "toner_large", "toner", + "tongs", "toy_armblade", "toy_balloon", "toygun", diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm index 2e00d9d2a01..c37750a2d3d 100644 --- a/code/modules/vending/drinnerware.dm +++ b/code/modules/vending/drinnerware.dm @@ -14,6 +14,7 @@ /obj/item/kitchen/spoon/soup_ladle = 3, /obj/item/clothing/suit/apron/chef = 2, /obj/item/kitchen/rollingpin = 2, + /obj/item/kitchen/tongs = 2, /obj/item/knife/kitchen = 2, ), ), diff --git a/icons/obj/service/kitchen.dmi b/icons/obj/service/kitchen.dmi index cb47ddf35a2a6bbe7e4ff7af3360423fa005d4e9..aeafe2591e9bdf5809058b1fcc3103ee01c37958 100644 GIT binary patch literal 14250 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 Hv!MR~6?RWO literal 13608 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 CU;MQI diff --git a/tgstation.dme b/tgstation.dme index 226c099e8e1..e3a512be234 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2158,6 +2158,7 @@ #include "code\game\objects\items\taster.dm" #include "code\game\objects\items\teleportation.dm" #include "code\game\objects\items\theft_tools.dm" +#include "code\game\objects\items\tongs.dm" #include "code\game\objects\items\toy_mechs.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm"