From b483bfd968024cb05ca65563319b1f1a40ff0d2d Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 26 Sep 2020 16:22:03 +0200 Subject: [PATCH] [MIRROR] Adds sound selection to certain instruments (#996) * Adds sound selection to certain instruments (#53690) This gives instruments a selection of fitting instrument sounds, since we have a bunch that have been exclusive to the synth piano until now. For example, the harmonica can pick between the hardcoded and synthetized versions. It might also add a new special and rare instrument * Adds sound selection to certain instruments Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com> --- .../instruments/instrument_data/fun.dm | 6 ++++ code/modules/instruments/items.dm | 27 +++++++++++++----- code/modules/instruments/stationary.dm | 2 +- code/modules/vending/games.dm | 3 +- icons/obj/musician.dmi | Bin 23120 -> 23693 bytes 5 files changed, 29 insertions(+), 9 deletions(-) diff --git a/code/modules/instruments/instrument_data/fun.dm b/code/modules/instruments/instrument_data/fun.dm index 5a9b1292c42..790abe46473 100644 --- a/code/modules/instruments/instrument_data/fun.dm +++ b/code/modules/instruments/instrument_data/fun.dm @@ -17,3 +17,9 @@ name = "Chime" id = "chime" real_samples = list("79"='sound/machines/chime.ogg') + +/datum/instrument/fun/mothscream + name = "Moth Scream" + id = "mothscream" + real_samples = list("60"='sound/voice/moth/scream_moth.ogg') + admin_only = TRUE diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 3df64d024e4..d44441ae5ca 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -134,7 +134,7 @@ attack_verb_continuous = list("plays metal on", "serenades", "crashes", "smashes") attack_verb_simple = list("play metal on", "serenade", "crash", "smash") hitsound = 'sound/weapons/stringsmash.ogg' - allowed_instrument_ids = "guitar" + allowed_instrument_ids = list("guitar","csteelgt","cnylongt", "ccleangt", "cmutedgt") /obj/item/instrument/eguitar name = "electric guitar" @@ -151,21 +151,21 @@ name = "glockenspiel" desc = "Smooth metal bars perfect for any marching band." icon_state = "glockenspiel" - allowed_instrument_ids = "glockenspiel" + allowed_instrument_ids = list("glockenspiel","crvibr", "sgmmbox", "r3celeste") inhand_icon_state = "glockenspiel" /obj/item/instrument/accordion name = "accordion" desc = "Pun-Pun not included." icon_state = "accordion" - allowed_instrument_ids = "accordion" + allowed_instrument_ids = list("crack", "crtango", "accordion") inhand_icon_state = "accordion" /obj/item/instrument/trumpet name = "trumpet" desc = "To announce the arrival of the king!" icon_state = "trumpet" - allowed_instrument_ids = "trombone" + allowed_instrument_ids = "crtrumpet" inhand_icon_state = "trumpet" /obj/item/instrument/trumpet/spectral @@ -213,7 +213,7 @@ name = "trombone" desc = "How can any pool table ever hope to compete?" icon_state = "trombone" - allowed_instrument_ids = "trombone" + allowed_instrument_ids = list("crtrombone", "crbrass", "trombone") inhand_icon_state = "trombone" /obj/item/instrument/trombone/spectral @@ -245,7 +245,7 @@ name = "harmonica" desc = "For when you get a bad case of the space blues." icon_state = "harmonica" - allowed_instrument_ids = "harmonica" + allowed_instrument_ids = list("crharmony", "harmonica") inhand_icon_state = "harmonica" slot_flags = ITEM_SLOT_MASK force = 5 @@ -272,7 +272,7 @@ inhand_icon_state = "bike_horn" lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/horns_righthand.dmi' - allowed_instrument_ids = "bikehorn" + allowed_instrument_ids = list("bikehorn", "honk") attack_verb_continuous = list("beautifully honks") attack_verb_simple = list("beautifully honk") w_class = WEIGHT_CLASS_TINY @@ -308,3 +308,16 @@ var/atom/A = V instruments[initial(A.name)] = A return instruments + +/obj/item/instrument/musicalmoth + name = "musical moth" + desc = "Despite its popularity, this controversial musical toy was eventually banned due to its unethically sampled sounds of moths screaming in agony." + icon_state = "mothsician" + allowed_instrument_ids = "mothscream" + attack_verb_continuous = list("flutters", "flaps") + attack_verb_simple = list("flutter", "flap") + w_class = WEIGHT_CLASS_TINY + force = 0 + hitsound = 'sound/voice/moth/scream_moth.ogg' + custom_price = 237 + custom_premium_price = 237 diff --git a/code/modules/instruments/stationary.dm b/code/modules/instruments/stationary.dm index f236927c38e..009e02494e7 100644 --- a/code/modules/instruments/stationary.dm +++ b/code/modules/instruments/stationary.dm @@ -3,7 +3,7 @@ desc = "Something broke, contact coderbus." interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT | INTERACT_ATOM_REQUIRES_DEXTERITY var/can_play_unanchored = FALSE - var/list/allowed_instrument_ids + var/list/allowed_instrument_ids = list("r3grand","r3harpsi","crharpsi","crgrand1","crbright1", "crichugan", "crihamgan","piano") var/datum/song/song /obj/structure/musician/Initialize(mapload) diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index dbe85c65448..5cb5ee50858 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -21,7 +21,8 @@ /obj/item/skillchip/light_remover=2, /obj/item/skillchip/useless_adapter=5) contraband = list(/obj/item/dice/fudge = 9, - /obj/item/clothing/shoes/wheelys/skishoes=4) + /obj/item/clothing/shoes/wheelys/skishoes=4, + /obj/item/instrument/musicalmoth=1) premium = list(/obj/item/melee/skateboard/pro = 3, /obj/item/clothing/shoes/wheelys/rollerskates= 3, /obj/item/melee/skateboard/hoverboard = 1) diff --git a/icons/obj/musician.dmi b/icons/obj/musician.dmi index 7112453da618a3159da785c2b98f104d462152f8..c3e0f21f05aaa0474f60888b6667f589401ab694 100644 GIT binary patch delta 4012 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 N002ovPDHLkV1iY6-&_Cy