From 2eeef256e56554be1d13213a6cc693229501c841 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Fri, 25 Apr 2025 07:54:49 +0200 Subject: [PATCH] cleanup instruments yml (#32262) Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- .../Fun/Instruments/base_instruments.yml | 1 + .../Fun/Instruments/instrument_keyed.yml | 67 ++++++++++ .../Fun/Instruments/instruments_brass.yml | 43 ++----- .../Fun/Instruments/instruments_misc.yml | 8 +- .../Instruments/instruments_percussion.yml | 95 +++----------- .../Fun/Instruments/instruments_string.yml | 121 ++++-------------- .../Fun/Instruments/instruments_wind.yml | 97 +++----------- 7 files changed, 140 insertions(+), 292 deletions(-) create mode 100644 Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml index b9135ab8d7..d6bd2e949a 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml @@ -5,6 +5,7 @@ description: That's an instrument. components: - type: Sprite + state: icon - type: Instrument - type: ActivatableUI inHandsOnly: true diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml new file mode 100644 index 0000000000..02eaf3cc7d --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml @@ -0,0 +1,67 @@ +- type: entity + parent: BaseHandheldInstrument + id: BaseKeyedInstrument + abstract: true + components: + - type: Tag + tags: + - KeyedInstrument + +- type: entity + parent: BaseKeyedInstrument + id: SynthesizerInstrument + name: synthesizer + components: + - type: Instrument + program: 62 + - type: SwappableInstrument + instrumentList: + "Electro": {62: 0} #i needed generic sounding synth presets, sue me + "Bubbles": {63: 0} + - type: Sprite + sprite: Objects/Fun/Instruments/h_synthesizer.rsi + - type: StaticPrice + price: 90 + +- type: entity + parent: BaseKeyedInstrument + id: SuperSynthesizerInstrument + name: super synthesizer + description: Blasting the ghetto with Touhou MIDIs since 2020. + components: + - type: Instrument + allowPercussion: true + allowProgramChange: true + respectMidiLimits: false + - type: Sprite + sprite: Objects/Fun/Instruments/h_synthesizer.rsi + state: supersynth + - type: Item + heldPrefix: super + +- type: entity + parent: BaseKeyedInstrument + id: AccordionInstrument + name: accordion + components: + - type: Instrument + program: 21 + - type: SwappableInstrument + instrumentList: + "Standard": {21: 0} + "Tango": {23: 0} + - type: Sprite + sprite: Objects/Fun/Instruments/accordion.rsi + +- type: entity + parent: BaseKeyedInstrument + id: KalimbaInstrument + name: kalimba + description: The power of a piano right at your thumbs. + components: + - type: Instrument + program: 108 + - type: Sprite + sprite: Objects/Fun/Instruments/kalimba.rsi + - type: Item + size: Small diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml index 260490ccad..ec07fe0287 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml @@ -1,5 +1,14 @@ - type: entity parent: BaseHandheldInstrument + id: BaseBrassInstrument + abstract: true + components: + - type: Tag + tags: + - BrassInstrument + +- type: entity + parent: BaseBrassInstrument id: TrumpetInstrument name: trumpet description: The favorite instrument of jazz musicians and egotistical middle schoolers. @@ -12,16 +21,9 @@ "Muted": {59: 0} - type: Sprite sprite: Objects/Fun/Instruments/trumpet.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/trumpet.rsi - - type: Tag - tags: - - BrassInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseBrassInstrument id: TromboneInstrument name: trombone description: Everyone's favorite sliding brass instrument. @@ -30,16 +32,9 @@ program: 57 - type: Sprite sprite: Objects/Fun/Instruments/trombone.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/trombone.rsi - - type: Tag - tags: - - BrassInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseBrassInstrument id: FrenchHornInstrument name: french horn description: The fact that holding it involves using your hand to muffle it may suggest something about its sound. @@ -48,16 +43,9 @@ program: 60 - type: Sprite sprite: Objects/Fun/Instruments/frenchhorn.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/frenchhorn.rsi - - type: Tag - tags: - - BrassInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseBrassInstrument id: EuphoniumInstrument name: euphonium description: A baby tuba? A Baritone? Whatever it is, it's a pretty cool mess of pipes. @@ -67,10 +55,3 @@ bank: 1 - type: Sprite sprite: Objects/Fun/Instruments/euphonium.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/euphonium.rsi - - type: Tag - tags: - - BrassInstrument diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml index 243a816a47..ac6f25c08b 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml @@ -24,7 +24,7 @@ - type: Instrument program: 122 - type: Item - size: Normal + size: Small - type: entity parent: BaseHandheldInstrument @@ -115,10 +115,8 @@ program: 127 - type: Sprite sprite: Objects/Fun/Instruments/gunpet.rsi - state: icon - type: Item size: Small - sprite: Objects/Fun/Instruments/gunpet.rsi storedRotation: -90 - type: Tag tags: @@ -136,16 +134,13 @@ bank: 1 - type: Sprite sprite: Objects/Fun/Instruments/bike_horn.rsi - state: icon - type: Tag tags: - BrassInstrument #Go figure. - type: Item - sprite: Objects/Fun/Instruments/bike_horn.rsi size: Small storedRotation: -90 - type: Clothing - sprite: Objects/Fun/Instruments/bike_horn.rsi slots: [Belt] quickEquip: false @@ -156,7 +151,6 @@ description: A direct line to the Honkmother. Seems to always go to voicemail. components: - type: Sprite - sprite: Objects/Fun/Instruments/otherinstruments.rsi state: banana_phone - type: EmitSoundOnLand sound: diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml index 7ad65e52b2..75277e5c4e 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml @@ -1,5 +1,14 @@ - type: entity parent: BaseHandheldInstrument + id: BasePercussionInstrument + abstract: true + components: + - type: Tag + tags: + - PercussionInstrument + +- type: entity + parent: BasePercussionInstrument id: GlockenspielInstrument name: glockenspiel components: @@ -7,16 +16,9 @@ program: 9 - type: Sprite sprite: Objects/Fun/Instruments/glockenspiel.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/glockenspiel.rsi - - type: Tag - tags: - - PercussionInstrument - type: entity - parent: BaseHandheldInstrument + parent: BasePercussionInstrument id: MusicBoxInstrument name: music box description: Playing this makes you feel safe from scary animatronics. @@ -25,10 +27,11 @@ program: 10 - type: Sprite sprite: Objects/Fun/Instruments/musicbox.rsi - state: icon + - type: Item + size: Small - type: entity - parent: BaseHandheldInstrument + parent: BasePercussionInstrument id: XylophoneInstrument name: xylophone description: Rainbow colored glockenspiel. @@ -38,9 +41,6 @@ - type: Sprite sprite: Objects/Fun/Instruments/structureinstruments.rsi state: xylophone - - type: Tag - tags: - - PercussionInstrument - type: entity parent: BaseHandheldInstrument @@ -57,53 +57,11 @@ "Kweh": {4: 1} - type: Sprite sprite: Objects/Fun/Instruments/microphone.rsi - state: icon - - type: Item - size: Small - sprite: Objects/Fun/Instruments/microphone.rsi - -- type: entity - parent: BaseHandheldInstrument - id: SynthesizerInstrument - name: synthesizer - components: - - type: Instrument - program: 62 - - type: SwappableInstrument - instrumentList: - "Electro": {62: 0} #i needed generic sounding synth presets, sue me - "Bubbles": {63: 0} - - type: Sprite - sprite: Objects/Fun/Instruments/h_synthesizer.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/h_synthesizer.rsi - - type: Tag - tags: - - KeyedInstrument - - type: StaticPrice - price: 90 - -- type: entity - parent: BaseHandheldInstrument - id: KalimbaInstrument - name: kalimba - description: The power of a piano right at your thumbs. - components: - - type: Instrument - program: 108 - - type: Sprite - sprite: Objects/Fun/Instruments/kalimba.rsi - state: icon - - type: Tag - tags: - - KeyedInstrument - type: Item size: Small - type: entity - parent: BaseHandheldInstrument + parent: BasePercussionInstrument id: WoodblockInstrument name: woodblock description: If you listen to this enough it'll start driving itself into your mind. @@ -112,13 +70,9 @@ program: 115 - type: Sprite sprite: Objects/Fun/Instruments/woodblock.rsi - state: icon - - type: Tag - tags: - - PercussionInstrument - type: entity - parent: BaseHandheldInstrument + parent: BasePercussionInstrument id: ReverseCymbalsInstrument name: reverse cymbals description: I think you have it the wrong way around? @@ -127,22 +81,3 @@ program: 119 - type: Sprite sprite: Objects/Fun/Instruments/reversecymbal.rsi - state: icon - -- type: entity - parent: BaseHandheldInstrument - id: SuperSynthesizerInstrument - name: super synthesizer - description: Blasting the ghetto with Touhou MIDIs since 2020. - components: - - type: Instrument - allowPercussion: true - allowProgramChange: true - respectMidiLimits: false - - type: Sprite - sprite: Objects/Fun/Instruments/h_synthesizer.rsi - state: supersynth - - type: Item - heldPrefix: super - size: Normal - sprite: Objects/Fun/Instruments/h_synthesizer.rsi diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml index f1ba8faf96..157dd56731 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml @@ -1,5 +1,25 @@ - type: entity parent: BaseHandheldInstrument + id: BaseStringInstrument + abstract: true + components: + - type: Tag + tags: + - StringInstrument + +- type: entity + parent: BaseStringInstrument + id: BaseStringInstrumentClothing + abstract: true + components: + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage + +- type: entity + parent: BaseStringInstrumentClothing id: ElectricGuitarInstrument name: electric guitar description: Now this makes you feel like a rock star! @@ -13,22 +33,9 @@ "Muted": {28: 0} - type: Sprite sprite: Objects/Fun/Instruments/eguitar.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/eguitar.rsi - - type: Clothing - quickEquip: false - slots: - - back - - suitStorage - sprite: Objects/Fun/Instruments/eguitar.rsi - - type: Tag - tags: - - StringInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrumentClothing id: BassGuitarInstrument name: bass guitar description: You feel really cool holding this. Shame you're the only one that thinks that. @@ -43,22 +50,9 @@ "Slap (XTra Funky)": {37: 0} - type: Sprite sprite: Objects/Fun/Instruments/bassguitar.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/bassguitar.rsi - - type: Clothing - quickEquip: false - slots: - - back - - suitStorage - sprite: Objects/Fun/Instruments/bassguitar.rsi - - type: Tag - tags: - - StringInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrumentClothing id: RockGuitarInstrument name: rock guitar description: What an axe! @@ -72,19 +66,6 @@ "Harmonics": {31: 0} - type: Sprite sprite: Objects/Fun/Instruments/rockguitar.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/rockguitar.rsi - - type: Clothing - quickEquip: false - slots: - - back - - suitStorage - sprite: Objects/Fun/Instruments/rockguitar.rsi - - type: Tag - tags: - - StringInstrument - type: MeleeWeapon wideAnimationRotation: 45 damage: @@ -99,7 +80,7 @@ Slash: 2 - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrumentClothing id: AcousticGuitarInstrument name: acoustic guitar description: Anyway, here's Wonderwall. @@ -112,19 +93,6 @@ "Steel": {25: 0} - type: Sprite sprite: Objects/Fun/Instruments/guitar.rsi - state: icon - - type: Tag - tags: - - StringInstrument - - type: Item - sprite: Objects/Fun/Instruments/guitar.rsi - size: Normal - - type: Clothing - quickEquip: false - slots: - - back - - suitStorage - sprite: Objects/Fun/Instruments/guitar.rsi - type: Wieldable - type: Damageable # Smash it! Does 20 damage a hit, but breaks after 1 hit. damageContainer: Inorganic @@ -159,7 +127,7 @@ Blunt: 15 - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrument id: GuitarlessFretsInstrument name: guitarless frets description: Who even needs a body? @@ -169,10 +137,9 @@ program: 120 - type: Sprite sprite: Objects/Fun/Instruments/guitarlessfrets.rsi - state: icon - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrumentClothing id: BanjoInstrument name: banjo components: @@ -180,22 +147,9 @@ program: 105 - type: Sprite sprite: Objects/Fun/Instruments/banjo.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/banjo.rsi - - type: Clothing - quickEquip: false - slots: - - back - - suitStorage - sprite: Objects/Fun/Instruments/banjo.rsi - - type: Tag - tags: - - StringInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrument id: ViolinInstrument name: violin description: The favorite of musical virtuosos and bluegrass bands. @@ -208,16 +162,9 @@ "Bluegrass": {110: 0} - type: Sprite sprite: Objects/Fun/Instruments/violin.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/violin.rsi - - type: Tag - tags: - - StringInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrument id: ViolaInstrument name: viola description: Like a violin, but worse. @@ -226,16 +173,9 @@ program: 41 - type: Sprite sprite: Objects/Fun/Instruments/viola.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/viola.rsi - - type: Tag - tags: - - StringInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseStringInstrument id: CelloInstrument name: cello description: The nerds call these violoncellos. @@ -244,12 +184,7 @@ program: 42 - type: Sprite sprite: Objects/Fun/Instruments/cello.rsi - state: icon - type: Item size: Large shape: - 0,0,1,3 - sprite: Objects/Fun/Instruments/cello.rsi - - type: Tag - tags: - - StringInstrument diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml index e99f825d48..2f894cdaf2 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml @@ -1,5 +1,14 @@ - type: entity parent: BaseHandheldInstrument + id: BaseWoodwindInstrument + abstract: true + components: + - type: Tag + tags: + - WoodwindInstrument + +- type: entity + parent: BaseWoodwindInstrument id: SaxophoneInstrument name: saxophone description: An instrument. You could probably grind this into raw jazz. @@ -14,13 +23,6 @@ "Baritone": {67: 0} - type: Sprite sprite: Objects/Fun/Instruments/saxophone.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/saxophone.rsi - - type: Tag - tags: - - WoodwindInstrument - type: Extractable grindableSolutionName: sax - type: SolutionContainerManager @@ -31,28 +33,7 @@ Quantity: 10 - type: entity - parent: BaseHandheldInstrument - id: AccordionInstrument - name: accordion - components: - - type: Instrument - program: 21 - - type: SwappableInstrument - instrumentList: - "Standard": {21: 0} - "Tango": {23: 0} - - type: Sprite - sprite: Objects/Fun/Instruments/accordion.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/accordion.rsi - - type: Tag - tags: - - KeyedInstrument - -- type: entity - parent: [BaseHandheldInstrument, Clothing] + parent: BaseWoodwindInstrument id: HarmonicaInstrument name: harmonica components: @@ -60,10 +41,8 @@ program: 22 - type: Sprite sprite: Objects/Fun/Instruments/harmonica.rsi - state: icon - type: Item size: Small - sprite: Objects/Fun/Instruments/harmonica.rsi storedRotation: -90 - type: Clothing quickEquip: false @@ -71,12 +50,9 @@ - neck - type: ActivatableUI inHandsOnly: false - - type: Tag - tags: - - WoodwindInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: ClarinetInstrument name: clarinet description: Skweedward tintacklays. @@ -85,16 +61,9 @@ program: 71 - type: Sprite sprite: Objects/Fun/Instruments/clarinet.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/clarinet.rsi - - type: Tag - tags: - - WoodwindInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: FluteInstrument name: flute description: Reaching new heights of being horrifyingly shrill. @@ -103,16 +72,9 @@ program: 73 - type: Sprite sprite: Objects/Fun/Instruments/flute.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/flute.rsi - - type: Tag - tags: - - WoodwindInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: RecorderInstrument name: recorder description: Comes in various colors of fashionable plastic! @@ -121,16 +83,9 @@ program: 74 - type: Sprite sprite: Objects/Fun/Instruments/recorder.rsi - state: icon - - type: Item - size: Normal - sprite: Objects/Fun/Instruments/recorder.rsi - - type: Tag - tags: - - WoodwindInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: PanFluteInstrument name: pan flute description: Perfect for luring ancient mythical beings to dance with you. @@ -139,17 +94,10 @@ program: 75 - type: Sprite sprite: Objects/Fun/Instruments/panflute.rsi - state: icon - - type: Item - size: Small - sprite: Objects/Fun/Instruments/panflute.rsi - - type: Tag - tags: - - WoodwindInstrument #if you change this to some cringe-ass zelda reference so help me god i will shoot you dead. - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: OcarinaInstrument name: ocarina description: Good for playing lullabies. @@ -158,17 +106,9 @@ program: 79 - type: Sprite sprite: Objects/Fun/Instruments/ocarina.rsi - state: icon - - type: Item - size: Small - sprite: Objects/Fun/Instruments/ocarina.rsi - storedRotation: -90 - - type: Tag - tags: - - WoodwindInstrument - type: entity - parent: BaseHandheldInstrument + parent: BaseWoodwindInstrument id: BagpipeInstrument name: bagpipe description: Pairs nicely with a kilt. @@ -177,10 +117,5 @@ program: 109 - type: Sprite sprite: Objects/Fun/Instruments/bagpipes.rsi - state: icon - type: Item size: Large - sprite: Objects/Fun/Instruments/bagpipes.rsi - - type: Tag - tags: - - WoodwindInstrument -- 2.51.2