]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Random Instrument Collection (#40532)
authorSender <84488598+SignalSender@users.noreply.github.com>
Thu, 25 Sep 2025 19:55:02 +0000 (15:55 -0400)
committerGitHub <noreply@github.com>
Thu, 25 Sep 2025 19:55:02 +0000 (12:55 -0700)
* added random instrument crate + tables

* added limit to SS + added new SS with no limit

* Push

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Resources/Prototypes/Catalog/Cargo/cargo_fun.yml
Resources/Prototypes/Catalog/Fills/Crates/fun.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml
Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml

index 7a8deb31519f92980913b8f5d5209a4c3da23d34..9e109e6c0241d5cb2fdc0e6d82b927c5c516cef7 100644 (file)
   category: cargoproduct-category-name-fun
   group: market
 
+- type: cargoProduct
+  id: FunInstrumentsRandom
+  icon:
+    sprite: Objects/Fun/Instruments/h_synthesizer.rsi
+    state: supersynth
+  product: CrateFunInstrumentsRandom
+  cost: 2500
+  category: cargoproduct-category-name-fun
+  group: market
+
 - type: cargoProduct
   id: FunArtSupplies
   icon:
index 997b3d91b459e36a034ffe2732467baeaef054eb..d035876ba5053a5bfaf98e85a81e2ede985ef3ce 100644 (file)
       - id: MusicalLungInstrument
       - id: ReverseCymbalsInstrument
 
+- type: entity
+  id: CrateFunInstrumentsRandom
+  parent: CrateGenericSteel
+  name: random instrument collection
+  description: A box containing several randomly curated instruments, hand picked by Centcomm's top musicians!
+  components:
+  - type: EntityTableContainerFill
+    containers:
+      entity_storage: !type:AllSelector
+        children:
+        - !type:NestedSelector
+          tableId: VarietyInstrumentTable
+        - !type:NestedSelector
+          tableId: BrassInstrumentTable
+        - !type:NestedSelector
+          tableId: StringInstrumentTable
+        - !type:NestedSelector
+          tableId: WoodwindInstrumentTable
+        - !type:NestedSelector
+          tableId: KeyedPercussionInstrumentTable
+        - !type:NestedSelector
+          tableId: SpecialInstrumentTable
+        - !type:NestedSelector
+          tableId: SpecialInstrumentTable
+      
 - type: entity
   id: CrateFunArtSupplies
   parent: CrateGenericSteel
index 0d38015c40f750237d3a808ce20621dc9fe72028..f6b80f6704dc3969d59b25aa6c4862662e060b39 100644 (file)
       - id: MusicBoxInstrument
       - id: ViolaInstrument
 
+- type: entityTable
+  id: VarietyInstrumentTable
+  table: !type:GroupSelector
+    children:
+    - id: SynthesizerInstrument
+    - id: AcousticGuitarInstrument
+    - id: TrumpetInstrument
+    - id: AccordionInstrument
+    - id: HarmonicaInstrument
+    - id: RecorderInstrument
+    - id: GlockenspielInstrument
+
+- type: entityTable
+  id: BrassInstrumentTable
+  table: !type:GroupSelector
+    children:
+    - id: TrumpetInstrument
+    - id: TromboneInstrument
+    - id: FrenchHornInstrument
+    - id: EuphoniumInstrument
+    - id: TubaInstrument
+
+- type: entityTable
+  id: StringInstrumentTable
+  table: !type:GroupSelector
+    children:
+      - id: AcousticGuitarInstrument
+      - id: ElectricGuitarInstrument
+      - id: BassGuitarInstrument
+      - id: RockGuitarInstrument
+      - id: BanjoInstrument
+      - id: ViolinInstrument
+      - id: CelloInstrument
+      - id: ViolaInstrument
+      - id: HarpInstrument
+
+- type: entityTable
+  id: WoodwindInstrumentTable
+  table: !type:GroupSelector
+    children:
+      - id: RecorderInstrument
+      - id: BagpipeInstrument
+      - id: ClarinetInstrument
+      - id: FluteInstrument
+      - id: HarmonicaInstrument
+      - id: SaxophoneInstrument
+      - id: OcarinaInstrument
+      - id: PanFluteInstrument
+
+- type: entityTable
+  id: KeyedPercussionInstrumentTable
+  table: !type:GroupSelector
+    children:
+      - id: SynthesizerInstrument
+      - id: AccordionInstrument
+      - id: KalimbaInstrument
+      - id: WoodblockInstrument
+      - id: GlockenspielInstrument
+      - id: VibraphoneInstrument
+
+- type: entityTable
+  id: SpecialInstrumentTable
+  table: !type:GroupSelector
+    children:
+    - !type:GroupSelector
+      weight: 1
+      children:
+      - id: BikeHornInstrument
+      - id: MusicBoxInstrument
+      - id: SeashellInstrument
+      - id: XylophoneInstrument
+      - id: GunpetInstrument
+      - id: MicrophoneInstrument
+      - id: HelicopterInstrument
+      - id: BirdToyInstrument
+      - id: MusicalLungInstrument
+      - id: ReverseCymbalsInstrument
+    - !type:GroupSelector
+      weight: 0.1
+      children:
+      - id: DawInstrument
+    - !type:GroupSelector
+      weight: 0.05
+      children:
+      - id: SuperSynthesizerInstrument
+
 - type: entity
   id: RandomInstruments
   name: random instruments spawner
index 02eaf3cc7d15624ed007ad00325a8c48770b309d..46af54f86fd2bfcff1672bc8360e8028ea2837a8 100644 (file)
   - 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: SuperSynthesizerInstrument
+  id: SuperSynthesizerNoLimitInstrument
+  suffix: NoLimits
+  components:
+  - type: Instrument
+    respectMidiLimits: false
+
 - type: entity
   parent: BaseKeyedInstrument
   id: AccordionInstrument