diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 47af06c9627..c45565fbf37 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -279,6 +279,11 @@ GLOBAL_LIST_EMPTY(sfx_datum_by_key) #define SFX_REGEN_MESH_END "regen_mesh_end" #define SFX_REGEN_MESH_PICKUP "regen_mesh_pickup" #define SFX_REGEN_MESH_DROP "regen_mesh_drop" +#define SFX_CIG_PACK_DROP "cig_pack_drop" +#define SFX_CIG_PACK_INSERT "cig_pack_insert" +#define SFX_CIG_PACK_PICKUP "cig_pack_pickup" +#define SFX_CIG_PACK_RUSTLE "cig_pack_rustle" +#define SFX_CIG_PACK_THROW_DROP "cig_pack_throw_drop" // Standard is 44.1khz #define MIN_EMOTE_PITCH 40000 diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index 19603f8927e..bbd1c33181f 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -135,7 +135,10 @@ max_slots = src.max_slots, max_specific_storage = src.max_specific_storage, max_total_storage = src.max_total_storage, -) + rustle_sound = src.rustle_sound, + remove_rustle_sound = src.remove_rustle_sound, + ) + if(!istype(parent)) stack_trace("Storage datum ([type]) created without a [isnull(parent) ? "null parent" : "invalid parent ([parent.type])"]!") qdel(src) @@ -147,6 +150,8 @@ src.max_slots = max_slots src.max_specific_storage = max_specific_storage src.max_total_storage = max_total_storage + src.rustle_sound = rustle_sound + src.remove_rustle_sound = remove_rustle_sound /datum/storage/Destroy() @@ -827,7 +832,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) to_chat(user, span_notice("You dump the contents of [parent] into [dest_object].")) if(do_rustle) - playsound(parent, SFX_RUSTLE, 50, TRUE, -5) + playsound(parent, rustle_sound, 50, TRUE, -5) for(var/obj/item/to_dump in real_location) dest_object.atom_storage.attempt_insert(to_dump, user) diff --git a/code/datums/storage/subtypes/others/fancy_storage.dm b/code/datums/storage/subtypes/others/fancy_storage.dm index a4e82a33cc9..66fa64bbed6 100644 --- a/code/datums/storage/subtypes/others/fancy_storage.dm +++ b/code/datums/storage/subtypes/others/fancy_storage.dm @@ -39,6 +39,8 @@ /datum/storage/cigarette_box max_slots = 6 display_contents = FALSE + rustle_sound = SFX_CIG_PACK_INSERT + remove_rustle_sound = SFX_CIG_PACK_RUSTLE /datum/storage/cigarette_box/New(atom/parent, max_slots, max_specific_storage, max_total_storage) . = ..() diff --git a/code/game/atom/atom_storage.dm b/code/game/atom/atom_storage.dm index 24ab0887742..963a7836c46 100644 --- a/code/game/atom/atom_storage.dm +++ b/code/game/atom/atom_storage.dm @@ -10,13 +10,15 @@ list/canhold, list/canthold, storage_type = /datum/storage, + rustle_sound, + remove_rustle_sound ) RETURN_TYPE(/datum/storage) if(atom_storage) QDEL_NULL(atom_storage) - atom_storage = new storage_type(src, max_slots, max_specific_storage, max_total_storage) + atom_storage = new storage_type(src, max_slots, max_specific_storage, max_total_storage, rustle_sound, remove_rustle_sound) if(canhold || canthold) atom_storage.set_holdable(canhold, canthold) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index a08d7d1825c..719688c5390 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -196,6 +196,10 @@ age_restricted = TRUE contents_tag = "cigarette" storage_type = /datum/storage/cigarette_box + drop_sound = SFX_CIG_PACK_DROP + pickup_sound = SFX_CIG_PACK_PICKUP + throw_drop_sound = SFX_CIG_PACK_THROW_DROP + sound_vary = TRUE ///for cigarette overlay var/candy = FALSE @@ -210,6 +214,8 @@ if(contents.len != 0 || !spawn_coupon) return ..() + playsound(src, storage_type.rustle_sound, 50, TRUE) + balloon_alert(user, "ooh, free coupon") var/obj/item/coupon/attached_coupon = new user.put_in_hands(attached_coupon) diff --git a/code/game/sound_keys.dm b/code/game/sound_keys.dm index 0f5e4365abb..5e0a563ab43 100644 --- a/code/game/sound_keys.dm +++ b/code/game/sound_keys.dm @@ -812,6 +812,42 @@ key = SFX_REGEN_MESH_DROP file_paths = list('sound/items/regenerative_mesh/regen_mesh_drop1.ogg') +/datum/sound_effect/cig_pack_drop + key = SFX_CIG_PACK_DROP + file_paths = list( + 'sound/items/cigs/cig_pack_drop1.ogg', + 'sound/items/cigs/cig_pack_drop2.ogg', + ) + +/datum/sound_effect/cig_pack_insert + key = SFX_CIG_PACK_INSERT + file_paths = list( + 'sound/items/cigs/cig_pack_insert1.ogg', + 'sound/items/cigs/cig_pack_insert2.ogg', + 'sound/items/cigs/cig_pack_insert3.ogg', + 'sound/items/cigs/cig_pack_insert4.ogg', + ) + +/datum/sound_effect/cig_pack_pickup + key = SFX_CIG_PACK_PICKUP + file_paths = list( + 'sound/items/cigs/cig_pack_pickup1.ogg', + 'sound/items/cigs/cig_pack_pickup2.ogg', + 'sound/items/cigs/cig_pack_pickup3.ogg', + ) + +/datum/sound_effect/cig_pack_rustle + key = SFX_CIG_PACK_RUSTLE + file_paths = list( + 'sound/items/handling/regenerative_mesh/regen_mesh_pickup1.ogg', + 'sound/items/handling/regenerative_mesh/regen_mesh_pickup2.ogg', + 'sound/items/handling/regenerative_mesh/regen_mesh_pickup3.ogg', + ) + +/datum/sound_effect/cig_pack_throw_drop + key = SFX_CIG_PACK_THROW_DROP + file_paths = list('sound/items/cigs/cig_pack_throw_drop1.ogg') + /* assoc lists go next */ diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm index 8c4427d3961..f4e41d09cd6 100644 --- a/code/modules/detectivework/evidence.dm +++ b/code/modules/detectivework/evidence.dm @@ -17,13 +17,13 @@ create_storage( max_slots = 1, max_specific_storage = WEIGHT_CLASS_NORMAL, + rustle_sound = 'sound/items/evidence_bag/evidence_bag_zip.ogg', + remove_rustle_sound = 'sound/items/evidence_bag/evidence_bag_unzip.ogg', ) atom_storage.allow_quick_gather = TRUE atom_storage.collection_mode = COLLECT_ONE RegisterSignal(atom_storage, COMSIG_STORAGE_STORED_ITEM, PROC_REF(on_insert)) RegisterSignal(atom_storage, COMSIG_STORAGE_REMOVED_ITEM, PROC_REF(on_remove)) - atom_storage.rustle_sound = 'sound/items/evidence_bag/evidence_bag_zip.ogg' - atom_storage.remove_rustle_sound = 'sound/items/evidence_bag/evidence_bag_unzip.ogg' /obj/item/evidencebag/update_desc(updates) . = ..() diff --git a/sound/items/cigs/attribution.txt b/sound/items/cigs/attribution.txt new file mode 100644 index 00000000000..09a65fd3dc0 --- /dev/null +++ b/sound/items/cigs/attribution.txt @@ -0,0 +1,5 @@ +cig_pack_drop[1,2].ogg - grungussusss, license: CC-BY-SA +cig_pack_insert[1,...,4].ogg - grungussusss, license: CC-BY-SA +cig_pack_pickup[1,2,3].ogg - grungussusss, license: CC-BY-SA +cig_pack_rustle[1,...,6].ogg - grungussusss, license: CC-BY-SA +cig_pack_throw_drop.ogg - grungussusss, license: CC-BY-SA diff --git a/sound/items/cigs/cig_pack_drop1.ogg b/sound/items/cigs/cig_pack_drop1.ogg new file mode 100644 index 00000000000..c998b7db072 Binary files /dev/null and b/sound/items/cigs/cig_pack_drop1.ogg differ diff --git a/sound/items/cigs/cig_pack_drop2.ogg b/sound/items/cigs/cig_pack_drop2.ogg new file mode 100644 index 00000000000..4befe7b1b3c Binary files /dev/null and b/sound/items/cigs/cig_pack_drop2.ogg differ diff --git a/sound/items/cigs/cig_pack_insert1.ogg b/sound/items/cigs/cig_pack_insert1.ogg new file mode 100644 index 00000000000..2e7d29e0d23 Binary files /dev/null and b/sound/items/cigs/cig_pack_insert1.ogg differ diff --git a/sound/items/cigs/cig_pack_insert2.ogg b/sound/items/cigs/cig_pack_insert2.ogg new file mode 100644 index 00000000000..eb5c5cd3f87 Binary files /dev/null and b/sound/items/cigs/cig_pack_insert2.ogg differ diff --git a/sound/items/cigs/cig_pack_insert3.ogg b/sound/items/cigs/cig_pack_insert3.ogg new file mode 100644 index 00000000000..5d4d6fd2970 Binary files /dev/null and b/sound/items/cigs/cig_pack_insert3.ogg differ diff --git a/sound/items/cigs/cig_pack_insert4.ogg b/sound/items/cigs/cig_pack_insert4.ogg new file mode 100644 index 00000000000..d08f5c13885 Binary files /dev/null and b/sound/items/cigs/cig_pack_insert4.ogg differ diff --git a/sound/items/cigs/cig_pack_pickup1.ogg b/sound/items/cigs/cig_pack_pickup1.ogg new file mode 100644 index 00000000000..0f5ce20b889 Binary files /dev/null and b/sound/items/cigs/cig_pack_pickup1.ogg differ diff --git a/sound/items/cigs/cig_pack_pickup2.ogg b/sound/items/cigs/cig_pack_pickup2.ogg new file mode 100644 index 00000000000..cb5bb32a468 Binary files /dev/null and b/sound/items/cigs/cig_pack_pickup2.ogg differ diff --git a/sound/items/cigs/cig_pack_pickup3.ogg b/sound/items/cigs/cig_pack_pickup3.ogg new file mode 100644 index 00000000000..fb8f3d19d91 Binary files /dev/null and b/sound/items/cigs/cig_pack_pickup3.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle1.ogg b/sound/items/cigs/cig_pack_rustle1.ogg new file mode 100644 index 00000000000..58db955d5a7 Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle1.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle2.ogg b/sound/items/cigs/cig_pack_rustle2.ogg new file mode 100644 index 00000000000..2b1eac0552c Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle2.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle3.ogg b/sound/items/cigs/cig_pack_rustle3.ogg new file mode 100644 index 00000000000..0a6d1e7d9b9 Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle3.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle4.ogg b/sound/items/cigs/cig_pack_rustle4.ogg new file mode 100644 index 00000000000..5d2ca5751fc Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle4.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle5.ogg b/sound/items/cigs/cig_pack_rustle5.ogg new file mode 100644 index 00000000000..0bfcd0bebe1 Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle5.ogg differ diff --git a/sound/items/cigs/cig_pack_rustle6.ogg b/sound/items/cigs/cig_pack_rustle6.ogg new file mode 100644 index 00000000000..22bcd82069b Binary files /dev/null and b/sound/items/cigs/cig_pack_rustle6.ogg differ diff --git a/sound/items/cigs/cig_pack_throw_drop1.ogg b/sound/items/cigs/cig_pack_throw_drop1.ogg new file mode 100644 index 00000000000..9738d79b62b Binary files /dev/null and b/sound/items/cigs/cig_pack_throw_drop1.ogg differ