]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
cleanup instruments yml (#32262)
authorlzk <124214523+lzk228@users.noreply.github.com>
Fri, 25 Apr 2025 05:54:49 +0000 (07:54 +0200)
committerGitHub <noreply@github.com>
Fri, 25 Apr 2025 05:54:49 +0000 (22:54 -0700)
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Resources/Prototypes/Entities/Objects/Fun/Instruments/base_instruments.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_brass.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_misc.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_percussion.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_string.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml

index b9135ab8d754ee6de0099ba74ed627cdd83b5d05..d6bd2e949afd65e170fe237249f85382d6039ab8 100644 (file)
@@ -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 (file)
index 0000000..02eaf3c
--- /dev/null
@@ -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
index 260490ccad548ae9a084fcc8c1d1a0e01caaa9a5..ec07fe028711160d6edd67c4d670d644fdb4cd94 100644 (file)
@@ -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.
       "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.
     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.
     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.
     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
index 243a816a47811e6db6cee516f84b81271ae07169..ac6f25c08b42efbdabf0a5c86fc3b87adc1e635e 100644 (file)
@@ -24,7 +24,7 @@
   - type: Instrument
     program: 122
   - type: Item
-    size: Normal
+    size: Small
 
 - type: entity
   parent: BaseHandheldInstrument
     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:
     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
 
   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:
index 7ad65e52b24df1cccd589dd861b8007da4143403..75277e5c4e07d83421bce0ce3dd5df889afdfaad 100644 (file)
@@ -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.
     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
       "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.
     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?
     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
index f1ba8faf96aafe4e5e92ebd30072c253e2213e68..157dd567317df78458c16674774c5ba3578a77da 100644 (file)
@@ -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!
       "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.
       "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!
       "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.
       "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
         Blunt: 15
 
 - type: entity
-  parent: BaseHandheldInstrument
+  parent: BaseStringInstrument
   id: GuitarlessFretsInstrument
   name: guitarless frets
   description: Who even needs a body?
     program: 120
   - type: Sprite
     sprite: Objects/Fun/Instruments/guitarlessfrets.rsi
-    state: icon
 
 - type: entity
-  parent: BaseHandheldInstrument
+  parent: BaseStringInstrumentClothing
   id: BanjoInstrument
   name: banjo
   components:
     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.
       "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.
     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.
     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
index e99f825d483dd1e7accf9cadd890901d9d55de39..2f894cdaf2e3b8a829a22e412dda73122395c721 100644 (file)
@@ -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.
       "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
             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:
     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
     - neck
   - type: ActivatableUI
     inHandsOnly: false  
-  - type: Tag
-    tags:
-    - WoodwindInstrument
 
 - type: entity
-  parent: BaseHandheldInstrument
+  parent: BaseWoodwindInstrument
   id: ClarinetInstrument
   name: clarinet
   description: Skweedward tintacklays.
     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.
     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!
     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.
     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.
     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.
     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