[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>
This commit is contained in:
SkyratBot
2020-09-26 16:22:03 +02:00
committed by GitHub
parent f3f5ea78ca
commit b483bfd968
5 changed files with 29 additions and 9 deletions
@@ -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
+20 -7
View File
@@ -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
+1 -1
View File
@@ -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)