diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 9d53c1e2b4..b0c452268a 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -126,8 +126,11 @@ entity_storage: !type:AllSelector children: - id: BarberScissors - - id: ClothingOuterSuitMonkey - - id: ClothingHeadHatAnimalMonkey + # Begin DEN: Costume bundles + # - id: ClothingOuterSuitMonkey + # - id: ClothingHeadHatAnimalMonkey + - id: CostumeBundleMonkey + # End DEN - id: ClothingUniformJumpskirtJanimaid - id: ClothingUniformJumpskirtOldDress - id: ClothingHeadHatMagician @@ -151,11 +154,14 @@ - id: ClothingMaskMime - id: ClothingBeltSuspendersRed - id: ClothingBeltSuspendersBlack - - !type:AllSelector # Performer starter kit - children: - - id: ClothingUniformJumpskirtPerformer - - id: ClothingShoesBootsPerformer - - id: ClothingHeadPerformerWig + # Begin DEN: Costume bundles + # - !type:AllSelector # Performer starter kit + # children: + # - id: ClothingUniformJumpskirtPerformer + # - id: ClothingShoesBootsPerformer + # - id: ClothingHeadPerformerWig + - id: CostumeBundlePerformer + # End DEN - type: entity parent: CrateGenericSteel diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml index 7e7bb37162..fe6d0d37ce 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml @@ -1,53 +1,95 @@ +# DEN: Autodrobe's inventory is sorted into three sections: +# "Performer" job clothing (clown/mime), costume bundles, and miscellaneous accessories. + - type: vendingMachineInventory id: AutoDrobeInventory startingInventory: - ClothingHeadHatJester: 1 - ClothingUniformJumpsuitJester: 1 - ClothingHeadHatJesterAlt: 1 - ClothingUniformJumpsuitJesterAlt: 1 - ClothingShoesJester: 2 + ## DEN comment - Section 1 - Performer job clothing + # BEGIN Den: Costume bundles + # ClothingHeadHatJester: 1 + # ClothingUniformJumpsuitJester: 1 + # ClothingHeadHatJesterAlt: 1 + # ClothingUniformJumpsuitJesterAlt: 1 + # ClothingShoesJester: 2 + CostumeBundleJester: 1 + # END Den + ClothingHeadHatBeretFrench: 2 # Den: Moved to performer section + ClothingMaskSadMime: 1 # Den: Moved to performer section + ClothingMaskScaredMime: 1 # Den: Moved to performer section ClothingOuterWinterClown: 1 ClothingOuterWinterMime: 1 ClothingOuterWinterMusician: 1 + ClothingOuterClownPriest: 1 # Den: Moved to performer section + + # DEN comment - Section 2 - Costume bundles + # DEN start: Costume bundles + CostumeBundleCardborg: 2 + CostumeBundleChicken: 2 + CostumeBundleGladiator: 2 + CostumeBundleJudge: 2 + CostumeBundleMonkey: 2 + CostumeBundleRedRaccoon: 2 + CostumeBundleSanta: 2 + CostumeBundleShrineMaiden: 2 + CostumeBundleSkub: 2 + CostumeBundleWitch: 2 + CostumeBundleYakuza: 2 + # DEN end + + # DEN comment - Section 3 - Unbundled accessories ClothingMaskJoy: 2 - ClothingHeadHatCardborg: 2 - ClothingOuterCardborg: 2 + # BEGIN Den: Costume bundles + # ClothingHeadHatCardborg: 2 + # ClothingOuterCardborg: 2 + # END Den ClothingHeadHatSombrero: 2 ClothingOuterPonchoClassic: 2 - ClothingHeadHatPwig: 2 - ClothingOuterRobesJudge: 2 + # BEGIN Den: Costume bundles + # ClothingHeadHatPwig: 2 + # ClothingOuterRobesJudge: 2 + # END Den ClothingOuterPoncho: 2 - ClothingHeadHatSantahat: 2 - ClothingOuterSanta: 2 - ClothingHeadHatSkub: 2 - ClothingOuterSkub: 2 - ClothingHeadHatBeretFrench: 2 - ClothingOuterSuitChicken: 2 - ClothingHeadHatChickenhead: 2 - ClothingOuterSuitMonkey: 2 + # BEGIN Den: Costume bundles, etc. + # ClothingHeadHatSantahat: 2 + # ClothingOuterSanta: 2 + # ClothingHeadHatSkub: 2 + # ClothingOuterSkub: 2 + # ClothingHeadHatBeretFrench: 2 # Den: Move this up with performer items + # ClothingOuterSuitChicken: 2 + # ClothingHeadHatChickenhead: 2 + # ClothingOuterSuitMonkey: 2 + # END Den ClothingHeadHatPumpkin: 2 - ClothingHeadHatShrineMaidenWig: 2 - ClothingOuterSuitShrineMaiden: 2 - Gohei: 2 - ClothingOuterSuitWitchRobes: 2 - ClothingHeadHatWitch1: 2 - ClothingHeadHatRedRacoon: 2 - ClothingOuterRedRacoon: 2 + # BEGIN Den: Costume bundles + # ClothingHeadHatShrineMaidenWig: 2 + # ClothingOuterSuitShrineMaiden: 2 + # Gohei: 2 + # ClothingOuterSuitWitchRobes: 2 + # ClothingHeadHatWitch1: 2 + # ClothingHeadHatRedRacoon: 2 + # ClothingOuterRedRacoon: 2 + # END Den ClothingHeadPaperSack: 2 ClothingHeadPaperSackSmile: 2 ClothingEyesBlindfold: 1 ClothingHeadRastaHat: 2 - ClothingUniformJumpsuitDameDane: 2 - ClothingShoesDameDane: 2 - ClothingOuterDameDane: 2 - ClothingOuterClownPriest: 1 - ClothingMaskSadMime: 1 - ClothingMaskScaredMime: 1 + # BEGIN Den: Costume bundles, etc. + # ClothingUniformJumpsuitDameDane: 2 + # ClothingShoesDameDane: 2 + # ClothingOuterDameDane: 2 + # ClothingOuterClownPriest: 1 # Den: Move this up with performer items + # ClothingMaskSadMime: 1 # Den: Move this up with performer items + # ClothingMaskScaredMime: 1 # Den: Move this up with performer items + # END Den ClothingUniformJumpsuitKimono: 1 ClothingHeadHatCasa: 1 FoodPoppy: 1 - ClothingHeadHatGladiator: 1 - ClothingUniformJumpsuitGladiator: 1 + # BEGIN Den: Costume bundles + # ClothingHeadHatGladiator: 1 + # ClothingUniformJumpsuitGladiator: 1 + # END Den + # TODO DEN: Consider consolidating cowboy accessories into bundles. + # I'm not doing this right now b/c they're not "costumes" - just hats/boots. ClothingHeadHatCowboyBrown: 1 ClothingHeadHatCowboyBlack: 1 ClothingHeadHatCowboyWhite: 1 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml index 4561464d18..a9ace2adde 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml @@ -534,6 +534,9 @@ Quantity: 10 - ReagentId: Allicin Quantity: 5 + - type: Tag # DEN: Allow item to be inserted in costume bundles + tags: + - CostumeItem # Tastes like pain. - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Fun/weapons.yml b/Resources/Prototypes/Entities/Objects/Fun/weapons.yml index f9a6e874ac..0f2548b257 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/weapons.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/weapons.yml @@ -211,6 +211,9 @@ sprite: Objects/Weapons/Melee/cutlass.rsi shape: - 0,0,0,2 + - type: Tag # DEN: Allow item be inserted in costume bundles + tags: + - CostumeItem - type: entity parent: [ BaseItem, BaseToySword ] diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml index ff39bc7a57..d123774a81 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/gohei.yml @@ -15,3 +15,6 @@ - type: Item size: Small sprite: Objects/Weapons/Melee/gohei.rsi + - type: Tag # DEN: Allow item be inserted in costume bundles + tags: + - CostumeItem diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes.yml b/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes.yml new file mode 100644 index 0000000000..4983f342a3 --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes.yml @@ -0,0 +1,525 @@ +# === COSTUME BUNDLES === +# Used to group together multi-part outfits into a single storage item. Think, like, Spirit Halloween costumes. +# Convenient for vending machines, crate orders, loadouts, admeme spawning, et cetera. +# +# == TO MAKE A NEW COSTUME BUNDLE: == +# Make an entity that inherits from `BaseCostumeBundle`. Ideally, the ID of this entity should +# be along the lines of "CostumeBundle[CostumeName]". Check CostumeBundleCardborg for a simple example. +# Make sure to change the `name`` field to "[costume] costume bundle"! +# +# The sprite has four layers: +# - outfit: This is the clothing "inside" the bundle. I recommend color-picking from the most significant +# accessory in the bundle itself, such as an inner/outer clothing layer (if there is one). +# - wrapper-fill: Translucent plastic wrap. Always `#ffffff22`. +# - wrapper: Outline of the plastic wrap. Don't touch the color of this one. +# - label: The outer label part of the sprite. This is often `#dd6b17` as a fallback, especially for +# "generic" costumes, but this can be anything, like an accent color. It doesn't really matter. +# +# Then, modify the EntityTableContainerFill component to contain the parts of your costume. +# +# Note that costume bundles have a whitelist: entities with the Clothing component, and entities with the +# CostumeItem tag. If you're inserting prop items, make sure to add the CostumeItem tag if it's not wearable +# - for example, the pirate's foam cutlass, or the shrine maiden's gohei. +# ======================= + +- type: entity + abstract: true + parent: [BaseStorageItem, BaseBagOpenClose] + id: BaseCostumeBundle + name: costume bundle + description: A bag containing assorted costume parts. + components: + - type: Sprite + sprite: _DEN/Objects/Storage/costume_bundle.rsi + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#ffffff" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: Icon + sprite: _DEN/Objects/Storage/costume_bundle.rsi + state: icon + - type: Item + size: Large + storedRotation: 90 + heldPrefix: empty + # sprite: _DEN/Objects/Storage/costume_bundle.rsi + - type: Storage + maxItemSize: Normal + grid: + - 0,0,5,3 + whitelist: + tags: + - CostumeItem + components: + - Clothing + - type: StorageFillVisualizer + maxFillLevels: 3 + fillBaseName: outfit + - type: Appearance + - type: StaticPrice + price: 10 + +- type: entity + parent: BaseCostumeBundle + id: EmptyCostumeBundle + suffix: empty + description: A bag for storing assorted costume parts. + components: + - type: Sprite + sprite: _DEN/Objects/Storage/costume_bundle.rsi + layers: + - state: outfit-0 # starts with nothing + map: [ "enum.StorageFillLayers.Fill" ] + color: "#ffffff" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleAngel +# name: angel costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#f5b8c3" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#efec98" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadHalo +# - id: ClothingUniformJumpskirtAngelDress +# - id: ClothingHandsAngelGloves +# - id: ClothingShoesAngelSandals +# - id: ClothingNeckAngelWings +# - id: HandheldHarpInstrument + +# TODO: Port from prebase Den +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleBunnySuit +# name: bunny suit costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#48494e" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#dd6b17" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadHatBunny +# - id: ClothingCostumeBunnySuit + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleBurglar +# name: burglar costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#3e3735" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#dd6b17" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingMaskBurglar +# - id: ClothingUniformBurglarJumpsuit + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleCardborg + name: cardborg costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#70736c" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatCardborg + - id: ClothingOuterCardborg + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleChicken + name: chicken costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#ffc800" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatChickenhead + - id: ClothingOuterSuitChicken + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleDevil +# name: devil costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#4b3b56" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#d349c9" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadDevilHorns +# - id: ClothingHeadJesterEvilHat +# - id: ClothingNeckDevilWings +# - id: ClothingUniformJesterEvil +# - id: ClothingShoesJesterEvilJanglers +# - id: DevilPitchfork + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleGladiator + name: gladiator costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#e1b73d" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatGladiator + - id: ClothingUniformJumpsuitGladiator + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleJudge + name: judge costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#2e2e2e" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatPwig + - id: ClothingOuterRobesJudge + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleMonkey + name: monkey costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#914800" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatAnimalMonkey + - id: ClothingOuterSuitMonkey + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundlePirate + name: pirate costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#dfe1de" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatPirate + - id: ClothingHeadBandRed + - id: ClothingEyesEyepatch + - id: ClothingUniformJumpsuitPirate + - id: ClothingOuterCoatPirate + - id: ClothingShoesBootsLaceup + - id: FoamCutlass + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundlePerformer + name: performer costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#474f63" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#70cac4" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingUniformJumpskirtPerformer + - id: ClothingShoesBootsPerformer + - id: FoodMealMemoryleek + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleRedRaccoon + name: red raccoon costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#e48a1b" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatRedRacoon + - id: ClothingOuterRedRacoon + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleSafari + name: safari costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#d3bf86" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadSafari + - id: ClothingUniformJumpsuitSafari + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleSailor +# name: sailor costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#dedbec" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#dd6b17" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadSailorCap +# - id: ClothingNeckSailorAscot +# - id: ClothingUniformSailorSuit +# - id: ClothingShoesBootsLaceup + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleSanta + name: santa costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#d73827" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#f2c735" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatSantahat + - id: ClothingOuterSanta + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleShrineMaiden + name: shrine maiden costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#ff1f24" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatShrineMaidenWig + - id: ClothingOuterSuitShrineMaiden + - id: Gohei + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleSkub + name: skub costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#fcd4d4" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatSkub + - id: ClothingOuterSkub + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleWitch + name: witch costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#1b1b1b" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatWitch1 + - id: ClothingHeadHatWitch + - id: ClothingOuterSuitWitchRobes + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleYakuza + name: yakuza costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#ae2354" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#dd6b17" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingUniformJumpsuitDameDane + - id: ClothingOuterDameDane + - id: ClothingShoesDameDane diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes_job.yml b/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes_job.yml new file mode 100644 index 0000000000..eaa97f8f70 --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Storage/costumes_job.yml @@ -0,0 +1,101 @@ +# Costume bundles that represent uniforms for specific jobs - for example, "alt costumes" for clowns. +# ======================= + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleCircusClown +# name: circus clown costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#ffd85d" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#74ff33" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadHatCircusClown +# - id: ClothingMaskClownNose +# - id: ClothingNeckRuffle +# - id: ClothingUniformCircusClown +# - id: ClothingShoesCircus + +- type: entity + parent: BaseCostumeBundle + id: CostumeBundleJester + name: jester costume bundle + components: + - type: Sprite + layers: + - state: outfit-1 + map: [ "enum.StorageFillLayers.Fill" ] + color: "#dd1818" + - state: wrapper-fill + color: "#ffffff22" + - state: wrapper + - state: label + color: "#74ff33" + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: ClothingHeadHatJester + - id: ClothingHeadHatJesterAlt + - id: ClothingUniformJumpsuitJester + - id: ClothingUniformJumpsuitJesterAlt + - id: ClothingShoesJester + - id: ClothingShoesJester + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleMusicianLoungeSinger +# name: lounge singer costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#463c6a" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#6f56b8" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingUniformMusicianSingerDress +# - id: ClothingHandsMusicianSingerGloves +# - id: ClothingNeckFeatherBoa + +# TODO: Port from Impstation +# - type: entity +# parent: BaseCostumeBundle +# id: CostumeBundleMusicianMarching +# name: marching band costume bundle +# components: +# - type: Sprite +# layers: +# - state: outfit-1 +# map: [ "enum.StorageFillLayers.Fill" ] +# color: "#463c6a" +# - state: wrapper-fill +# color: "#ffffff22" +# - state: wrapper +# - state: label +# color: "#6f56b8" +# - type: EntityTableContainerFill +# containers: +# storagebase: !type:AllSelector +# children: +# - id: ClothingHeadHatMusicianShako +# - id: ClothingUniformJumpsuitMusicianMarchingBand diff --git a/Resources/Prototypes/_DEN/tags.yml b/Resources/Prototypes/_DEN/tags.yml index 21c486c91c..a468cc3e9c 100644 --- a/Resources/Prototypes/_DEN/tags.yml +++ b/Resources/Prototypes/_DEN/tags.yml @@ -1,5 +1,8 @@ # alphabetical order PLEASE # also document their purpose +- type: Tag + id: CostumeItem # Used for non-clothing items that should be allowed to fit in costume bundles. + - type: Tag id: TeddyRibbon # Ribbon slot for teddy bears diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/icon.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/icon.png new file mode 100644 index 0000000000..817614fcbf Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/icon.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/label.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/label.png new file mode 100644 index 0000000000..011b74a535 Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/label.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/meta.json b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/meta.json new file mode 100644 index 0000000000..adb58b29a4 --- /dev/null +++ b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Sprites by portfiend (GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "label" + }, + { + "name": "outfit-0" + }, + { + "name": "outfit-1" + }, + { + "name": "outfit-2" + }, + { + "name": "wrapper" + }, + { + "name": "wrapper-fill" + } + ] +} diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-0.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-0.png new file mode 100644 index 0000000000..4656e729c7 Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-0.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-1.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-1.png new file mode 100644 index 0000000000..3108e3c9cc Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-1.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-2.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-2.png new file mode 100644 index 0000000000..3108e3c9cc Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/outfit-2.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper-fill.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper-fill.png new file mode 100644 index 0000000000..4d266e7eb9 Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper-fill.png differ diff --git a/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper.png b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper.png new file mode 100644 index 0000000000..57282a8147 Binary files /dev/null and b/Resources/Textures/_DEN/Objects/Storage/costume_bundle.rsi/wrapper.png differ