Kitchen soundpack (#93495)

## About The Pull Request


https://github.com/user-attachments/assets/f35be993-66b2-448f-953b-4b2ec9a7b8f6
## Changelog
🆑
sound: added more sounds for knives
sound: added more sounds for pots
sound: added more sounds for trays
sound: added more sounds for cutlery
sound: added more sounds for rolling pins
/🆑
This commit is contained in:
die
2025-10-19 18:52:44 +03:00
committed by GitHub
parent 81ee810199
commit bb91185a3a
82 changed files with 223 additions and 37 deletions

View File

@@ -1,3 +1,4 @@
#define TOOL_PROCESSING_RESULT "result"
#define TOOL_PROCESSING_AMOUNT "amount"
#define TOOL_PROCESSING_TIME "time"
#define TOOL_PROCESSING_SOUND "sound"

View File

@@ -294,6 +294,21 @@ GLOBAL_LIST_EMPTY(sfx_datum_by_key)
#define SFX_GLASSES_PICKUP "glasses_pickup"
#define SFX_GLASSES_DROP "glasses_drop"
#define SFX_GLASSES_EQUIP "glasses_equip"
#define SFX_FOOD_PLATE_PICKUP "food_plate_pickup"
#define SFX_FOOD_PLATE_DROP "food_plate_drop"
#define SFX_TRAY_PICKUP "tray_pickup"
#define SFX_TRAY_DROP "tray_drop"
#define SFX_TRAY_INSERT "tray_insert"
#define SFX_CUTLERY_PICKUP "generic_cutlery_pickup"
#define SFX_CUTLERY_DROP "generic_cutlery_drop"
#define SFX_KNIFE_PICKUP "knife_pickup"
#define SFX_KNIFE_DROP "knife_drop"
#define SFX_KNIFE_SLICE "knife_slice"
#define SFX_POT_PICKUP "pot_pickup"
#define SFX_POT_DROP "pot_drop"
#define SFX_ROLLING_PIN_PICKUP "rolling_pin_pickup"
#define SFX_ROLLING_PIN_DROP "rolling_pin_drop"
#define SFX_ROLLING_PIN_ROLLING "rolling_pin_rolling"
// Standard is 44.1khz
#define MIN_EMOTE_PITCH 40000

View File

@@ -14,8 +14,10 @@
var/table_required
///Verb used in processing food (such as slice, flatten), defaults to process
var/screentip_verb
///Sound to play when the do_after begins
var/sound_to_play
/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 2 SECONDS, table_required = FALSE, screentip_verb = "Process")
/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 2 SECONDS, table_required = FALSE, screentip_verb = "Process", sound_to_play = null)
. = ..()
if(!isatom(target))
return ELEMENT_INCOMPATIBLE
@@ -26,6 +28,7 @@
src.result_atom_type = result_atom_type
src.table_required = table_required
src.screentip_verb = screentip_verb
src.sound_to_play = sound_to_play
var/atom/atom_target = target
atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1
@@ -67,7 +70,7 @@
to_chat(user, span_notice("You cannot make [initial(result_atom_type.name)] here! You need a table or at least a tray."))
return
mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process))
mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process, TOOL_PROCESSING_SOUND = sound_to_play))
///So people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?)
/datum/element/processable/proc/OnExamine(atom/source, mob/user, list/examine_list)

View File

@@ -654,7 +654,10 @@
/atom/proc/StartProcessingAtom(mob/living/user, obj/item/process_item, list/chosen_option)
var/processing_time = chosen_option[TOOL_PROCESSING_TIME]
var/sound_to_play = chosen_option[TOOL_PROCESSING_SOUND]
to_chat(user, span_notice("You start working on [src]."))
if(sound_to_play)
playsound(src, sound_to_play, 50, TRUE)
if(!process_item.use_tool(src, user, processing_time, volume=50))
return
var/atom/atom_to_create = chosen_option[TOOL_PROCESSING_RESULT]

View File

@@ -22,7 +22,7 @@
/obj/item/food/bread/make_processable()
if (slice_type)
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
AddElement(/datum/element/processable, TOOL_SAW, slice_type, yield, 4 SECONDS, table_required = TRUE, screentip_verb = "Slice")
// Abstract parent object for sliced bread items. Should not be made obtainable in game.

View File

@@ -21,7 +21,7 @@
/obj/item/food/cake/make_processable()
if (slice_type)
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/cakeslice
icon = 'icons/obj/food/piecake.dmi'

View File

@@ -59,7 +59,7 @@
AddComponent(/datum/component/food_storage)
/obj/item/food/cheese/wheel/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/wedge, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/wedge, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/cheese/wheel/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/baked_cheese, rand(20 SECONDS, 25 SECONDS), TRUE, TRUE)
@@ -131,7 +131,7 @@
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cheese/firm_cheese/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/firm_cheese_slice, 3, 3 SECONDS, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/cheese/firm_cheese_slice, 3, 3 SECONDS, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/cheese/firm_cheese_slice
name = "firm cheese slice"

View File

@@ -15,7 +15,7 @@
// Dough + rolling pin = flat dough
/obj/item/food/dough/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flatdough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/flatdough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING)
/obj/item/food/flatdough
name = "flat dough"
@@ -32,7 +32,7 @@
// sliceable into 3xdoughslices
/obj/item/food/flatdough/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/doughslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/doughslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/pizzabread
name = "pizza bread"
@@ -63,7 +63,7 @@
AddComponent(/datum/component/bakeable, /obj/item/food/bun, rand(20 SECONDS, 25 SECONDS), TRUE, TRUE)
/obj/item/food/doughslice/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/bait/doughball, 5, 3 SECONDS, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/bait/doughball, 5, 3 SECONDS, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/bun
name = "bun"
@@ -94,7 +94,7 @@
AddComponent(/datum/component/bakeable, /obj/item/food/cake/plain, rand(70 SECONDS, 90 SECONDS), TRUE, TRUE)
/obj/item/food/cakebatter/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/piedough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/food/piedough, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING)
/obj/item/food/piedough
name = "pie dough"
@@ -110,7 +110,7 @@
AddComponent(/datum/component/bakeable, /obj/item/food/pie/plain, rand(30 SECONDS, 45 SECONDS), TRUE, TRUE)
/obj/item/food/piedough/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/rawpastrybase, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/rawpastrybase, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/rawpastrybase
name = "raw pastry base"

View File

@@ -73,7 +73,7 @@
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/headcheese/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/headcheese_slice, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/headcheese_slice, 5, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/headcheese_slice
name = "headcheese slice"
@@ -451,7 +451,7 @@
AddComponent(/datum/component/bakeable, bread_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
/obj/item/food/rootdough/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, flat_type, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, flat_type, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING)
/obj/item/food/rootdough/egg
desc = "A root based dough, made with nuts, tubers and eggs. Used in a wide range of Tiziran cooking."
@@ -472,7 +472,7 @@
var/grill_type = /obj/item/food/root_flatbread
/obj/item/food/flatrootdough/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, process_type, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, process_type, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/flatrootdough/make_grillable()
AddComponent(/datum/component/grillable, grill_type, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
@@ -499,7 +499,7 @@
foodtypes = parent_type::foodtypes | MEAT
/obj/item/food/rootdoughslice/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spaghetti/nizaya, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spaghetti/nizaya, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/rootdoughslice/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/rootroll, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)

View File

@@ -359,7 +359,7 @@
// sliceable into 4xtempehslices
/obj/item/food/tempeh/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/tempehslice, 4, 5 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/tempehslice, 4, 5 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
//add an icon for slices
/obj/item/food/tempehslice
@@ -466,7 +466,7 @@
AddComponent(/datum/component/grillable, meatball_type, rand(30 SECONDS, 40 SECONDS), TRUE)
/obj/item/food/raw_meatball/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, patty_type, 1, table_required = TRUE, screentip_verb = "Flatten")
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, patty_type, 1, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING)
/obj/item/food/raw_meatball/human
name = "strange raw meatball"
@@ -638,8 +638,8 @@
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/sausage/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/salami, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sausage/american, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/salami, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sausage/american, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/sausage/american
name = "american sausage"

View File

@@ -52,7 +52,7 @@
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/plain, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe?
/obj/item/food/meat/slab/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain, MEATSLAB_PROCESSED_AMOUNT, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain, MEATSLAB_PROCESSED_AMOUNT, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
///////////////////////////////////// HUMAN MEATS //////////////////////////////////////////////////////
@@ -66,7 +66,7 @@
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/plain/human, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe?
/obj/item/food/meat/slab/human/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain/human, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/human/mutant
abstract_type = /obj/item/food/meat/slab/human/mutant
@@ -262,7 +262,7 @@
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/killertomato, rand(70 SECONDS, 85 SECONDS), TRUE, TRUE)
/obj/item/food/meat/slab/killertomato/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/killertomato, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/killertomato, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/bear
name = "bear meat"
@@ -278,7 +278,7 @@
foodtypes = RAW | MEAT
/obj/item/food/meat/slab/bear/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/bear, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/bear, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/bear/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/bear, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE)
@@ -301,7 +301,7 @@
blood_decal_type = /obj/effect/decal/cleanable/blood/xeno
/obj/item/food/meat/slab/xeno/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/xeno, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/xeno, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/xeno/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/xeno, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE)
@@ -320,7 +320,7 @@
blood_decal_type = /obj/effect/decal/cleanable/insectguts
/obj/item/food/meat/slab/spider/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/spider, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/spider, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/spider/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/spider, rand(40 SECONDS, 70 SECONDS), TRUE, TRUE)
@@ -403,7 +403,7 @@
foodtypes = RAW | MEAT | GORE
/obj/item/food/meat/slab/gondola/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/gondola, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/gondola, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/gondola/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/gondola, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe?
@@ -420,7 +420,7 @@
/obj/item/food/meat/slab/penguin/make_processable()
. = ..()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/penguin, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/penguin, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/penguin/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/penguin, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe?
@@ -463,7 +463,7 @@
starting_reagent_purity = 1
/obj/item/food/meat/slab/chicken/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/chicken, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/meat/slab/chicken/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/meat/steak/chicken, rand(30 SECONDS, 90 SECONDS), TRUE, TRUE) //Add medium rare later maybe? (no this is chicken)

View File

@@ -405,7 +405,7 @@
can_stick = FALSE
/obj/item/food/butter/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/butterslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/butterslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/butterslice
name = "butter slice"

View File

@@ -194,7 +194,7 @@
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/green_lasagne/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/green_lasagne_slice, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/green_lasagne_slice, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/green_lasagne_slice
name = "green lasagne al forno slice"

View File

@@ -470,7 +470,7 @@
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/brownie_sheet/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/brownie
name = "brownie"
@@ -519,7 +519,7 @@
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/peanut_butter_brownie_sheet/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/peanut_butter_brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/peanut_butter_brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/peanut_butter_brownie
name = "peanut butter brownie"

View File

@@ -16,7 +16,7 @@
/obj/item/food/pie/make_processable()
if (slice_type)
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, table_required = TRUE, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/pieslice
name = "pie slice"

View File

@@ -134,7 +134,7 @@
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/pizzaslice/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/stack/sheet/pizza, 1, 1 SECONDS, table_required = TRUE, screentip_verb = "Flatten")
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/stack/sheet/pizza, 1, 1 SECONDS, table_required = TRUE, screentip_verb = "Flatten", sound_to_play = SFX_ROLLING_PIN_ROLLING)
/obj/item/food/pizza/margherita
name = "pizza margherita"

View File

@@ -38,6 +38,9 @@
sharpness = SHARP_POINTY
var/datum/reagent/forkload //used to eat omelette
custom_price = PAYCHECK_LOWER
sound_vary = TRUE
pickup_sound = SFX_CUTLERY_PICKUP
drop_sound = SFX_CUTLERY_DROP
/datum/armor/kitchen_fork
fire = 50
@@ -77,6 +80,8 @@
throwforce = 0
custom_materials = list(/datum/material/plastic = SMALL_MATERIAL_AMOUNT * 0.8)
custom_price = PAYCHECK_LOWER * 1
pickup_sound = null
drop_sound = null
/obj/item/kitchen/fork/plastic/Initialize(mapload)
. = ..()
@@ -100,6 +105,8 @@
attack_verb_simple = list("prod", "whiff", "scratch", "poke")
sharpness = SHARP_EDGED
custom_price = PAYCHECK_LOWER * 2
pickup_sound = null
drop_sound = null
/obj/item/knife/plastic/Initialize(mapload)
. = ..()
@@ -167,6 +174,9 @@
attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack")
custom_price = PAYCHECK_CREW * 1.5
tool_behaviour = TOOL_ROLLINGPIN
sound_vary = TRUE
pickup_sound = SFX_ROLLING_PIN_PICKUP
drop_sound = SFX_ROLLING_PIN_DROP
/obj/item/kitchen/rollingpin/illegal
name = "metal rolling pin"
@@ -202,6 +212,9 @@
custom_price = PAYCHECK_LOWER * 2
tool_behaviour = TOOL_MINING
toolspeed = 25 // Literally 25 times worse than the base pickaxe
sound_vary = TRUE
pickup_sound = SFX_CUTLERY_PICKUP
drop_sound = SFX_CUTLERY_DROP
var/spoon_sip_size = 5
@@ -316,6 +329,8 @@
custom_materials = list(/datum/material/plastic = SMALL_MATERIAL_AMOUNT * 1.2)
toolspeed = 75 // The plastic spoon takes 5 minutes to dig through a single mineral turf... It's one, continuous, breakable, do_after...
custom_price = PAYCHECK_LOWER * 1
pickup_sound = null
drop_sound = null
/datum/armor/kitchen_spoon
fire = 50

View File

@@ -27,6 +27,10 @@
tool_behaviour = TOOL_KNIFE
var/list/alt_continuous = list("stabs", "pierces", "shanks")
var/list/alt_simple = list("stab", "pierce", "shank")
sound_vary = TRUE
operating_sound = SFX_KNIFE_SLICE
pickup_sound = SFX_KNIFE_PICKUP
drop_sound = SFX_KNIFE_DROP
/datum/armor/item_knife
fire = 50

View File

@@ -357,6 +357,9 @@
custom_materials = list(/datum/material/iron=SHEET_MATERIAL_AMOUNT*1.5)
custom_price = PAYCHECK_CREW * 0.6
storage_type = /datum/storage/bag/tray
sound_vary = TRUE
pickup_sound = SFX_TRAY_PICKUP
drop_sound = SFX_TRAY_DROP
/obj/item/storage/bag/tray/attack(mob/living/M, mob/living/user)
. = ..()

View File

@@ -916,3 +916,129 @@
'sound/items/glasses/glasses_equip1.ogg',
'sound/items/glasses/glasses_equip2.ogg',
)
/datum/sound_effect/food_plate_pickup
key = SFX_FOOD_PLATE_PICKUP
file_paths = list(
'sound/items/food_plate/food_plate_pickup1.ogg',
'sound/items/food_plate/food_plate_pickup2.ogg',
'sound/items/food_plate/food_plate_pickup3.ogg',
)
/datum/sound_effect/food_plate_drop
key = SFX_FOOD_PLATE_DROP
file_paths = list(
'sound/items/food_plate/food_plate_drop1.ogg',
'sound/items/food_plate/food_plate_drop2.ogg',
'sound/items/food_plate/food_plate_drop3.ogg',
)
/datum/sound_effect/cutlery_pickup
key = SFX_CUTLERY_PICKUP
file_paths = list(
'sound/items/cutlery/cutlery_pickup1.ogg',
'sound/items/cutlery/cutlery_pickup2.ogg',
'sound/items/cutlery/cutlery_pickup3.ogg',
)
/datum/sound_effect/cutlery_drop
key = SFX_CUTLERY_DROP
file_paths = list(
'sound/items/cutlery/cutlery_drop1.ogg',
'sound/items/cutlery/cutlery_drop2.ogg',
'sound/items/cutlery/cutlery_drop3.ogg',
)
/datum/sound_effect/knife_pickup
key = SFX_KNIFE_PICKUP
file_paths = list(
'sound/items/knife/knife_pickup1.ogg',
'sound/items/knife/knife_pickup2.ogg',
'sound/items/knife/knife_pickup3.ogg',
)
/datum/sound_effect/knife_drop
key = SFX_KNIFE_DROP
file_paths = list(
'sound/items/knife/knife_drop1.ogg',
'sound/items/knife/knife_drop2.ogg',
'sound/items/knife/knife_drop3.ogg',
)
/datum/sound_effect/knife_slice
key = SFX_KNIFE_SLICE
file_paths = list(
'sound/items/knife/knife_slice1.ogg',
'sound/items/knife/knife_slice2.ogg',
'sound/items/knife/knife_slice3.ogg',
'sound/items/knife/knife_slice4.ogg',
'sound/items/knife/knife_slice5.ogg',
'sound/items/knife/knife_slice6.ogg',
)
/datum/sound_effect/pot_pickup
key = SFX_POT_PICKUP
file_paths = list(
'sound/items/pot/pot_pickup1.ogg',
'sound/items/pot/pot_pickup2.ogg',
'sound/items/pot/pot_pickup3.ogg',
)
/datum/sound_effect/pot_drop
key = SFX_POT_DROP
file_paths = list(
'sound/items/pot/pot_drop1.ogg',
'sound/items/pot/pot_drop2.ogg',
'sound/items/pot/pot_drop3.ogg',
)
/datum/sound_effect/tray_pickup
key = SFX_TRAY_PICKUP
file_paths = list(
'sound/items/tray/tray_pickup1.ogg',
'sound/items/tray/tray_pickup2.ogg',
'sound/items/tray/tray_pickup3.ogg',
)
/datum/sound_effect/tray_drop
key = SFX_TRAY_DROP
file_paths = list(
'sound/items/tray/tray_drop1.ogg',
'sound/items/tray/tray_drop2.ogg',
'sound/items/tray/tray_drop3.ogg',
)
/datum/sound_effect/tray_insert
key = SFX_TRAY_INSERT
file_paths = list(
'sound/items/tray/tray_insert1.ogg',
'sound/items/tray/tray_insert2.ogg',
'sound/items/tray/tray_insert3.ogg',
)
/datum/sound_effect/rolling_pin_pickup
key = SFX_ROLLING_PIN_PICKUP
file_paths = list(
'sound/items/rolling_pin/rolling_pin_pickup1.ogg',
'sound/items/rolling_pin/rolling_pin_pickup2.ogg',
'sound/items/rolling_pin/rolling_pin_pickup3.ogg',
)
/datum/sound_effect/rolling_pin_drop
key = SFX_ROLLING_PIN_DROP
file_paths = list(
'sound/items/rolling_pin/rolling_pin_drop1.ogg',
'sound/items/rolling_pin/rolling_pin_drop2.ogg',
'sound/items/rolling_pin/rolling_pin_drop3.ogg',
)
/datum/sound_effect/rolling_pin_rolling
key = SFX_ROLLING_PIN_ROLLING
file_paths = list(
'sound/items/rolling_pin/rolling_pin_rolling1.ogg',
'sound/items/rolling_pin/rolling_pin_rolling2.ogg',
'sound/items/rolling_pin/rolling_pin_rolling3.ogg',
'sound/items/rolling_pin/rolling_pin_rolling4.ogg',
'sound/items/rolling_pin/rolling_pin_rolling5.ogg',
'sound/items/rolling_pin/rolling_pin_rolling6.ogg',
)

View File

@@ -126,6 +126,7 @@
///Adds a tray to the oven, making sure the shit can get baked.
/obj/machinery/oven/proc/add_tray_to_oven(obj/item/plate/oven_tray, mob/baker)
used_tray = oven_tray
playsound(src, SFX_TRAY_INSERT, 50, TRUE)
if(!open)
oven_tray.vis_flags |= VIS_HIDE
@@ -261,6 +262,9 @@
icon_state = "oven_tray"
max_items = 6
biggest_w_class = WEIGHT_CLASS_BULKY
sound_vary = TRUE
pickup_sound = SFX_TRAY_PICKUP
drop_sound = SFX_TRAY_DROP
/obj/item/plate/oven_tray/item_interaction_secondary(mob/living/user, obj/item/item, list/modifiers)
if(isnull(item.atom_storage))

View File

@@ -39,6 +39,9 @@
w_class = WEIGHT_CLASS_BULKY
custom_price = PAYCHECK_LOWER * 8
fill_icon_thresholds = null
sound_vary = TRUE
pickup_sound = SFX_POT_PICKUP
drop_sound = SFX_POT_DROP
/// Max number of ingredients we can add
var/max_ingredients = 24

View File

@@ -3,6 +3,9 @@
desc = "Holds food, powerful. Good for morale when you're not eating your spaghetti off of a desk."
icon = 'icons/obj/service/kitchen.dmi'
icon_state = "plate"
sound_vary = TRUE
pickup_sound = SFX_FOOD_PLATE_PICKUP
drop_sound = SFX_FOOD_PLATE_DROP
w_class = WEIGHT_CLASS_BULKY //No backpack.
///How many things fit on this plate?
var/max_items = 8

View File

@@ -27,7 +27,7 @@
distill_reagent = /datum/reagent/consumable/ethanol/hcider
/obj/item/food/grown/apple/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/appleslice, 5, 20, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/appleslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/grown/apple/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
. = ..()

View File

@@ -35,7 +35,7 @@
wine_power = 40
/obj/item/food/grown/watermelon/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/watermelonslice, 5, 20, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/watermelonslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/grown/watermelon/make_dryable()
return //No drying
@@ -100,7 +100,7 @@
wine_flavor = "divinity"
/obj/item/food/grown/holymelon/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/holymelonslice, 5, 20, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/holymelonslice, 5, 20, screentip_verb = "Slice", sound_to_play = SFX_KNIFE_SLICE)
/obj/item/food/grown/holymelon/make_dryable()
return //No drying

View File

@@ -0,0 +1 @@
cutlery sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
food plate sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
knife sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
pot sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
rolling pin sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
tray sounds made by grungussuss, license: CC-BY-SA

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.