diff --git a/Resources/Prototypes/CharacterItemGroups/musicianInstrumentsGroups.yml b/Resources/Prototypes/CharacterItemGroups/musicianInstrumentsGroups.yml new file mode 100644 index 00000000000..ccad399e74d --- /dev/null +++ b/Resources/Prototypes/CharacterItemGroups/musicianInstrumentsGroups.yml @@ -0,0 +1,31 @@ +- type: characterItemGroup + id: LoadoutMusicianInstruments + maxItems: 3 + items: + - type: loadout + id: LoadoutItemSynthesizerInstrumentMusician + - type: loadout + id: LoadoutItemMicrophoneInstrumentMusician + - type: loadout + id: LoadoutItemKalimbaInstrumentMusician + - type: loadout + id: LoadoutItemTrumpetInstrumentMusician + - type: loadout + id: LoadoutItemElectricGuitarInstrumentMusician + - type: loadout + id: LoadoutItemBassGuitarInstrumentMusician + - type: loadout + id: LoadoutItemRockGuitarInstrumentMusician + - type: loadout + id: LoadoutItemAcousticGuitarInstrumentMusician + - type: loadout + id: LoadoutItemViolinInstrumentMusician + - type: loadout + id: LoadoutItemHarmonicaInstrumentMusician + - type: loadout + id: LoadoutItemAccordionInstrumentMusician + - type: loadout + id: LoadoutItemFluteInstrumentMusician + - type: loadout + id: LoadoutItemOcarinaInstrumentMusician + diff --git a/Resources/Prototypes/CharacterItemGroups/serviceGroups.yml b/Resources/Prototypes/CharacterItemGroups/serviceGroups.yml new file mode 100644 index 00000000000..305375930cb --- /dev/null +++ b/Resources/Prototypes/CharacterItemGroups/serviceGroups.yml @@ -0,0 +1,80 @@ +- type: characterItemGroup + id: LoadoutUniformsService + items: + - type: loadout + id: LoadoutServiceClownOutfitJester + - type: loadout + id: LoadoutServiceClownOutfitJesterAlt + - type: loadout + id: LoadoutServiceBartenderUniformPurple + - type: loadout + id: LoadoutServiceBotanistUniformOveralls + - type: loadout + id: LoadoutServiceLawyerUniformBlueSuit + - type: loadout + id: LoadoutServiceLawyerUniformBlueSkirt + - type: loadout + id: LoadoutServiceLawyerUniformRedSuit + - type: loadout + id: LoadoutServiceLawyerUniformRedSkirt + - type: loadout + id: LoadoutServiceLawyerUniformPurpleSuit + - type: loadout + id: LoadoutServiceLawyerUniformPurpleSkirt + - type: loadout + id: LoadoutServiceLawyerUniformGoodSuit + - type: loadout + id: LoadoutServiceLawyerUniformGoodSkirt + - type: loadout + id: LoadoutServiceReporterUniformJournalist + - type: loadout + id: LoadoutServiceReporterUniformDetectivesuit + - type: loadout + id: LoadoutServiceReporterUniformDetectiveskirt + +- type: characterItemGroup + id: LoadoutOuterService + items: + - type: loadout + id: LoadoutServiceClownOuterWinter + - type: loadout + id: LoadoutServiceClownOuterClownPriest + - type: loadout + id: LoadoutServiceMimeOuterWinter + +- type: characterItemGroup + id: LoadoutNeckService + items: + - type: loadout + id: LoadoutServiceClownBedsheetClown + - type: loadout + id: LoadoutServiceMimeBedsheetMime + +- type: characterItemGroup + id: LoadoutMaskService + items: + - type: loadout + id: LoadoutServiceClownMaskSexy + - type: loadout + id: LoadoutServiceMimeMaskSad + - type: loadout + id: LoadoutServiceMimeMaskScared + - type: loadout + id: LoadoutServiceMimeMaskSexy + +- type: characterItemGroup + id: LoadoutShoesService + items: + - type: loadout + id: LoadoutServiceClownBootsWinter + - type: loadout + id: LoadoutServiceMimeShoesBootsWinter + +- type: characterItemGroup + id: LoadoutEquipmentService + items: + - type: loadout + id: LoadoutServiceClownCowToolboxFilled + + + diff --git a/Resources/Prototypes/Loadouts/Categories/categories.yml b/Resources/Prototypes/Loadouts/Categories/categories.yml index 03198ba2a6f..78ae8f5e5af 100644 --- a/Resources/Prototypes/Loadouts/Categories/categories.yml +++ b/Resources/Prototypes/Loadouts/Categories/categories.yml @@ -31,6 +31,7 @@ - JobsCommand - JobsMedical - JobsSecurity + - JobsService - type: loadoutCategory id: JobsAUncategorized @@ -80,6 +81,9 @@ - type: loadoutCategory id: JobsSecurity +- type: loadoutCategory + id: JobsService + - type: loadoutCategory id: Mask root: true diff --git a/Resources/Prototypes/Loadouts/Jobs/service.yml b/Resources/Prototypes/Loadouts/Jobs/service.yml index 815138e393a..65dbf8d1c9f 100644 --- a/Resources/Prototypes/Loadouts/Jobs/service.yml +++ b/Resources/Prototypes/Loadouts/Jobs/service.yml @@ -1,10 +1,12 @@ # Clown - type: loadout id: LoadoutServiceClownOutfitJester - category: JobsAUncategorized - cost: 3 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Clown @@ -15,10 +17,12 @@ - type: loadout id: LoadoutServiceClownOutfitJesterAlt - category: JobsAUncategorized - cost: 3 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Clown @@ -29,10 +33,12 @@ - type: loadout id: LoadoutServiceClownOuterWinter - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 1 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutOuterService - !type:CharacterJobRequirement jobs: - Clown @@ -41,10 +47,12 @@ - type: loadout id: LoadoutServiceClownOuterClownPriest - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutOuterService - !type:CharacterJobRequirement jobs: - Clown @@ -53,10 +61,12 @@ - type: loadout id: LoadoutServiceClownBootsWinter - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutShoesService - !type:CharacterJobRequirement jobs: - Clown @@ -65,10 +75,12 @@ - type: loadout id: LoadoutServiceClownMaskSexy - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMaskService - !type:CharacterJobRequirement jobs: - Clown @@ -77,21 +89,28 @@ - type: loadout id: LoadoutServiceClownBedsheetClown - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutNeckService - !type:CharacterJobRequirement jobs: - Clown items: - BedsheetClown +# For the most part we dont want people to take this item, so its used as an example of all the things +# you can do with requirements. Point someone to this thing if they ask "how tf do loadout requirements work?" + - type: loadout id: LoadoutServiceClownCowToolboxFilled - category: JobsAUncategorized - cost: 3 + category: JobsService + cost: 2 requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutEquipmentService - !type:CharacterLogicXorRequirement requirements: - !type:CharacterLogicAndRequirement @@ -121,7 +140,7 @@ - !type:CharacterSexRequirement sex: Male - !type:CharacterJobRequirement - inverted: true + inverted: true # This is the equivalent of !(condition) jobs: - Clown - !type:CharacterJobRequirement @@ -133,10 +152,12 @@ # Mime - type: loadout id: LoadoutServiceMimeOuterWinter - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 1 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutOuterService - !type:CharacterJobRequirement jobs: - Mime @@ -145,10 +166,12 @@ - type: loadout id: LoadoutServiceMimeMaskSad - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMaskService - !type:CharacterJobRequirement jobs: - Mime @@ -157,10 +180,12 @@ - type: loadout id: LoadoutServiceMimeMaskScared - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMaskService - !type:CharacterJobRequirement jobs: - Mime @@ -169,10 +194,12 @@ - type: loadout id: LoadoutServiceMimeMaskSexy - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMaskService - !type:CharacterJobRequirement jobs: - Mime @@ -181,10 +208,12 @@ - type: loadout id: LoadoutServiceMimeShoesBootsWinter - category: JobsAUncategorized - cost: 1 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutShoesService - !type:CharacterJobRequirement jobs: - Mime @@ -193,10 +222,12 @@ - type: loadout id: LoadoutServiceMimeBedsheetMime - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutNeckService - !type:CharacterJobRequirement jobs: - Mime @@ -206,10 +237,12 @@ # Bartender - type: loadout id: LoadoutServiceBartenderUniformPurple - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Bartender @@ -219,10 +252,12 @@ # Botanist - type: loadout id: LoadoutServiceBotanistUniformOveralls - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Botanist @@ -232,10 +267,12 @@ # Lawyer - type: loadout id: LoadoutServiceLawyerUniformBlueSuit - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -244,10 +281,12 @@ - type: loadout id: LoadoutServiceLawyerUniformBlueSkirt - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -256,10 +295,12 @@ - type: loadout id: LoadoutServiceLawyerUniformRedSuit - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -268,10 +309,12 @@ - type: loadout id: LoadoutServiceLawyerUniformRedSkirt - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -280,10 +323,12 @@ - type: loadout id: LoadoutServiceLawyerUniformPurpleSuit - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -292,10 +337,12 @@ - type: loadout id: LoadoutServiceLawyerUniformPurpleSkirt - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -304,10 +351,12 @@ - type: loadout id: LoadoutServiceLawyerUniformGoodSuit - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -316,10 +365,12 @@ - type: loadout id: LoadoutServiceLawyerUniformGoodSkirt - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Lawyer @@ -328,10 +379,12 @@ - type: loadout id: LoadoutServiceReporterUniformJournalist - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Reporter @@ -341,10 +394,12 @@ # Reporter - type: loadout id: LoadoutServiceReporterUniformDetectivesuit - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Reporter @@ -353,10 +408,12 @@ - type: loadout id: LoadoutServiceReporterUniformDetectiveskirt - category: JobsAUncategorized - cost: 2 + category: JobsService + cost: 0 exclusive: true requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutUniformsService - !type:CharacterJobRequirement jobs: - Reporter @@ -365,12 +422,170 @@ # Musician - type: loadout - id: LoadoutItemSynthesizerInstrument - category: JobsAUncategorized - cost: 8 + id: LoadoutItemSynthesizerInstrumentMusician + category: JobsService + cost: 2 requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments - !type:CharacterJobRequirement jobs: - Musician items: - SynthesizerInstrument + +- type: loadout + id: LoadoutItemMicrophoneInstrumentMusician + category: JobsService + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - MicrophoneInstrument + +- type: loadout + id: LoadoutItemKalimbaInstrumentMusician + category: Items + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - KalimbaInstrument + +- type: loadout + id: LoadoutItemTrumpetInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - TrumpetInstrument + +- type: loadout + id: LoadoutItemElectricGuitarInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - ElectricGuitarInstrument + +- type: loadout + id: LoadoutItemBassGuitarInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - BassGuitarInstrument + +- type: loadout + id: LoadoutItemRockGuitarInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - RockGuitarInstrument + +- type: loadout + id: LoadoutItemAcousticGuitarInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - AcousticGuitarInstrument + +- type: loadout + id: LoadoutItemViolinInstrumentMusician + category: Items + cost: 2 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - ViolinInstrument + +- type: loadout + id: LoadoutItemHarmonicaInstrumentMusician + category: Items + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - HarmonicaInstrument + +- type: loadout + id: LoadoutItemAccordionInstrumentMusician + category: Items + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - AccordionInstrument + +- type: loadout + id: LoadoutItemFluteInstrumentMusician + category: Items + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - FluteInstrument + +- type: loadout + id: LoadoutItemOcarinaInstrumentMusician + category: Items + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutMusicianInstruments + - !type:CharacterJobRequirement + jobs: + - Musician + items: + - OcarinaInstrument \ No newline at end of file diff --git a/Resources/Prototypes/Loadouts/items.yml b/Resources/Prototypes/Loadouts/items.yml index 97a3ed2fdc3..12fc1cdf85a 100644 --- a/Resources/Prototypes/Loadouts/items.yml +++ b/Resources/Prototypes/Loadouts/items.yml @@ -139,6 +139,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemKalimbaInstrument @@ -149,6 +153,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemTrumpetInstrument @@ -159,6 +167,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemElectricGuitar @@ -169,6 +181,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemBassGuitar @@ -179,6 +195,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemRockGuitar @@ -189,6 +209,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemAcousticGuitar @@ -199,6 +223,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemViolin @@ -209,6 +237,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemHarmonica @@ -219,6 +251,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemAccordion @@ -229,6 +265,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemFlute @@ -239,6 +279,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician - type: loadout id: LoadoutItemOcarina @@ -249,6 +293,10 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutInstrumentsAny + - !type:CharacterJobRequirement + inverted: true + jobs: + - Musician # Survival Kit - type: loadout