Skip to content

Commit

Permalink
Musician Loadouts (DeltaV-Station#1108)
Browse files Browse the repository at this point in the history
# Description

Fixes DeltaV-Station#1103
This PR removes the default saxophone and acoustic guitar that the
Musician spawns with. Instead the Musician now has a selection of 3 free
picks of *almost* any instrument in the game. The only instruments not
included in his list are the Supersynth, DAW, and admeme items such as
the "Musical Lung" and "Fingerless Frets". There's a few instruments
leftover for the Clown that will be given to the clown in his own
separate PR.

To make sure the musicians can also take large instruments, this PR also
takes a feature from Frontier, that of "InstrumentFlatpacks", and adds
them to the musician loadouts. So Musicians can take for instance a
Minimoog flatpack if they so desire.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/8b79e960-440f-4f7e-9b9a-bc56d30c104a)

</p>
</details>

# Changelog

:cl:
- add: Musicians can now select for free, any 3 instruments in the game
with their loadout. This now includes things like Piano flatpacks. The
only instruments not included are the Sypersynth, DAW, and "Admeme
Instruments".
- remove: Musicians no longer spawn with a Saxophone and Acoustic guitar
by default. You pick which instruments you spawn with in your loadouts
now.
  • Loading branch information
VMSolidus authored Oct 20, 2024
1 parent b7dd765 commit e56f6a9
Show file tree
Hide file tree
Showing 10 changed files with 753 additions and 182 deletions.
1 change: 1 addition & 0 deletions Resources/Locale/en-US/loadouts/categories.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ loadout-category-JobsServiceBartender = Bartender
loadout-category-JobsServiceBotanist = Botanist
loadout-category-JobsServiceChef = Chef
loadout-category-JobsServiceJanitor = Janitor
loadout-category-JobsServiceMusician = Musician
loadout-category-Mask = Mask
loadout-category-Neck = Neck
loadout-category-Outer = Outer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,6 @@
noSpawn: true
parent: ClothingBackpack
id: ClothingBackpackMusicianFilled
components:
- type: StorageFill
contents:
- id: AcousticGuitarInstrument
- id: SaxophoneInstrument

- type: entity
noSpawn: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,36 @@
id: LoadoutMusicianInstruments
maxItems: 3
items:
# Brass
- type: loadout
id: LoadoutItemSynthesizerInstrumentMusician
id: LoadoutItemTrumpetInstrumentMusician
- type: loadout
id: LoadoutItemTromboneInstrumentMusician
- type: loadout
id: LoadoutItemFrenchHornInstrumentMusician
- type: loadout
id: LoadoutItemEuphoniumInstrumentMusician
# Misc
- type: loadout
id: LoadoutItemSeashellInstrumentMusician
- type: loadout
id: LoadoutItemBirdToyInstrumentMusician
# Percussion
- type: loadout
id: LoadoutItemGlockenspielInstrumentMusician
- type: loadout
id: LoadoutItemMusicBoxInstrumentMusician
- type: loadout
id: LoadoutItemXylophoneInstrumentMusician
- type: loadout
id: LoadoutItemMicrophoneInstrumentMusician
- type: loadout
id: LoadoutItemSynthesizerInstrumentMusician
- type: loadout
id: LoadoutItemKalimbaInstrumentMusician
- type: loadout
id: LoadoutItemTrumpetInstrumentMusician
id: LoadoutItemWoodblockInstrumentMusician
# String
- type: loadout
id: LoadoutItemElectricGuitarInstrumentMusician
- type: loadout
Expand All @@ -18,14 +40,55 @@
id: LoadoutItemRockGuitarInstrumentMusician
- type: loadout
id: LoadoutItemAcousticGuitarInstrumentMusician
- type: loadout
id: LoadoutItemBanjoInstrumentMusician
- type: loadout
id: LoadoutItemViolinInstrumentMusician
- type: loadout
id: LoadoutItemHarmonicaInstrumentMusician
id: LoadoutItemViolaInstrumentMusician
- type: loadout
id: LoadoutItemCelloInstrumentMusician
# Structure
- type: loadout
id: LoadoutItemPianoInstrumentMusician
- type: loadout
id: LoadoutItemUprightPianoInstrumentMusician
- type: loadout
id: LoadoutItemVibraphoneInstrumentMusician
- type: loadout
id: LoadoutItemMarimbaInstrumentMusician
- type: loadout
id: LoadoutItemChurchOrganInstrumentMusician
- type: loadout
id: LoadoutItemTubaInstrumentMusician
- type: loadout
id: LoadoutItemHarpInstrumentMusician
- type: loadout
id: LoadoutItemTimpaniInstrumentMusician
- type: loadout
id: LoadoutItemTaikoInstrumentMusician
- type: loadout
id: LoadoutItemContrabassInstrumentMusician
- type: loadout
id: LoadoutItemMinimoogInstrumentMusician
- type: loadout
id: LoadoutItemTomDrumsInstrumentMusician
# Wind
- type: loadout
id: LoadoutItemSaxophoneInstrumentMusician
- type: loadout
id: LoadoutItemAccordionInstrumentMusician
- type: loadout
id: LoadoutItemHarmonicaInstrumentMusician
- type: loadout
id: LoadoutItemClarinetInstrumentMusician
- type: loadout
id: LoadoutItemFluteInstrumentMusician
- type: loadout
id: LoadoutItemRecorderInstrumentMusician
- type: loadout
id: LoadoutItemPanFluteInstrumentMusician
- type: loadout
id: LoadoutItemOcarinaInstrumentMusician

- type: loadout
id: LoadoutItemBagpipeInstrumentMusician
121 changes: 121 additions & 0 deletions Resources/Prototypes/Entities/Objects/Devices/instrumentFlatpacks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
- type: entity
parent: BaseFlatpack
id: InstrumentFlatpack
name: instrument flatpack
description: A flatpack used for constructing something.
categories:
- hideSpawnMenu
components:
- type: Item
size: Normal
- type: Sprite
layers:
- state: service_music

- type: entity
parent: InstrumentFlatpack
id: PianoFlatpack
name: piano flatpack
description: A flatpack used for constructing a piano.
components:
- type: Flatpack
entity: PianoInstrument

- type: entity
parent: InstrumentFlatpack
id: UprightPianoFlatpack
name: upright piano flatpack
description: A flatpack used for constructing an upright piano.
components:
- type: Flatpack
entity: UprightPianoInstrument

- type: entity
parent: InstrumentFlatpack
id: VibraphoneFlatpack
name: vibraphone flatpack
description: A flatpack used for constructing a vibraphone.
components:
- type: Flatpack
entity: VibraphoneInstrument

- type: entity
parent: InstrumentFlatpack
id: MarimbaFlatpack
name: marimba flatpack
description: A flatpack used for constructing a marimba.
components:
- type: Flatpack
entity: MarimbaInstrument

- type: entity
parent: InstrumentFlatpack
id: ChurchOrganFlatpack
name: church organ flatpack
description: A flatpack used for constructing a church organ.
components:
- type: Flatpack
entity: ChurchOrganInstrument

- type: entity
parent: InstrumentFlatpack
id: TubaFlatpack
name: tuba flatpack
description: A flatpack used for constructing a tuba.
components:
- type: Flatpack
entity: TubaInstrument

- type: entity
parent: InstrumentFlatpack
id: HarpFlatpack
name: harp flatpack
description: A flatpack used for constructing a harp.
components:
- type: Flatpack
entity: HarpInstrument

- type: entity
parent: InstrumentFlatpack
id: TimpaniFlatpack
name: timpani flatpack
description: A flatpack used for constructing a timpani.
components:
- type: Flatpack
entity: TimpaniInstrument

- type: entity
parent: InstrumentFlatpack
id: TaikoFlatpack
name: taiko flatpack
description: A flatpack used for constructing a taiko.
components:
- type: Flatpack
entity: TaikoInstrument

- type: entity
parent: InstrumentFlatpack
id: ContrabassFlatpack
name: contrabass flatpack
description: A flatpack used for constructing a contrabass.
components:
- type: Flatpack
entity: ContrabassInstrument

- type: entity
parent: InstrumentFlatpack
id: MinimoogFlatpack
name: minimoog flatpack
description: A flatpack used for constructing a minimoog.
components:
- type: Flatpack
entity: MinimoogInstrument

- type: entity
parent: InstrumentFlatpack
id: TomDrumsFlatpack
name: tom drums flatpack
description: A flatpack used for constructing a tom drums set.
components:
- type: Flatpack
entity: TomDrumsInstrument
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
slots:
- neck
- type: ActivatableUI
inHandsOnly: false
inHandsOnly: false
- type: Tag
tags:
- WoodwindInstrument
Expand Down
4 changes: 4 additions & 0 deletions Resources/Prototypes/Loadouts/Categories/categories.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
- JobsServiceBotanist
- JobsServiceChef
- JobsServiceJanitor
- JobsServiceMusician

- type: loadoutCategory
id: JobsServiceUncategorized
Expand All @@ -84,6 +85,9 @@
- type: loadoutCategory
id: JobsServiceJanitor

- type: loadoutCategory
id: JobsServiceMusician

- type: loadoutCategory
id: Mask
root: true
Expand Down
Loading

0 comments on commit e56f6a9

Please sign in to comment.