From: Sender <84488598+SignalSender@users.noreply.github.com> Date: Thu, 25 Sep 2025 19:55:02 +0000 (-0400) Subject: Random Instrument Collection (#40532) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=0a0bcbe164a1140b2ce4b4a41d5c9c90e5f1e295;p=space-station-14.git Random Instrument Collection (#40532) * 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> --- diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml index 7a8deb3151..9e109e6c02 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml @@ -58,6 +58,16 @@ 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: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index 997b3d91b4..d035876ba5 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -245,6 +245,31 @@ - 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 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml index 0d38015c40..f6b80f6704 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml @@ -38,6 +38,92 @@ - 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 diff --git a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml index 02eaf3cc7d..46af54f86f 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/Instruments/instrument_keyed.yml @@ -32,13 +32,20 @@ - 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