From: Sparlight Date: Sat, 14 Jun 2025 16:09:05 +0000 (-0600) Subject: Add pet bag - wearable backpack for pets (#37440) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=937326460f8471692b9d61ee9f958a412b587c43;p=space-station-14.git Add pet bag - wearable backpack for pets (#37440) * Add pet bag * Trailing whitespace moment * make the linter happy * Fix trailing whitespace concern. * Fix Construction component oopsy-daisy * yml guideline moment * remove weird extra whitespace * make the maintainer happy * Adjusted bag visuals based on feedback * Allow the fox aghost admin to use pet bags --- diff --git a/Resources/Locale/en-US/recipes/tags.ftl b/Resources/Locale/en-US/recipes/tags.ftl index 74b58d9278..11722a6f5a 100644 --- a/Resources/Locale/en-US/recipes/tags.ftl +++ b/Resources/Locale/en-US/recipes/tags.ftl @@ -145,3 +145,6 @@ construction-graph-tag-fire-helmet = fire helmet # salvage construction-graph-tag-spationaut-hardsuit = spationaut hardsuit + +# clothing +construction-graph-tag-backpack = backpack diff --git a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml index e2d3c209ea..4d406e9508 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/backpacks.yml @@ -30,6 +30,10 @@ delay: 0.5 - type: ExplosionResistance damageCoefficient: 0.9 + - type: Tag + tags: + - WhitelistChameleon + - Backpack - type: entity parent: ClothingBackpack diff --git a/Resources/Prototypes/Entities/Clothing/Back/specific.yml b/Resources/Prototypes/Entities/Clothing/Back/specific.yml index 9ff6871b3c..ff06b93bbf 100644 --- a/Resources/Prototypes/Entities/Clothing/Back/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Back/specific.yml @@ -75,3 +75,26 @@ solution: tank - type: ExaminableSolution solution: tank + +- type: entity + parent: ClothingBackpack + id: ClothingBagPet + name: pet bag + description: A small bag designed for use by pets and small animals. + components: + - type: Sprite + sprite: Clothing/Back/Specific/petbag.rsi + - type: Storage + grid: + - 1,0,2,0 + - 0,1,2,3 + - 6,0,7,0 + - 6,1,8,3 + - type: Tag + tags: + - WhitelistChameleon + - CorgiWearable + - PetOnly + - type: Construction + graph: ClothingBagPet + node: bagPet diff --git a/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml index e3ac371ebd..88af532759 100644 --- a/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/arachnid_inventory_template.yml @@ -1,4 +1,4 @@ -- type: inventoryTemplate +- type: inventoryTemplate id: arachnid slots: - name: shoes @@ -81,6 +81,9 @@ uiWindowPos: 3,0 strippingWindowPos: 0,5 displayName: Back + blacklist: + tags: + - PetOnly - name: pocket4 slotTexture: web diff --git a/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml index 619aefddc3..b1e9253729 100644 --- a/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml @@ -1,4 +1,4 @@ -#human but no shoes +#human but no shoes - type: inventoryTemplate id: diona slots: @@ -115,3 +115,6 @@ uiWindowPos: 3,0 strippingWindowPos: 0,5 displayName: Back + blacklist: + tags: + - PetOnly diff --git a/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml index ff1447931f..ed7b4e0dc1 100644 --- a/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml @@ -1,4 +1,4 @@ -- type: inventoryTemplate +- type: inventoryTemplate id: human slots: - name: shoes @@ -121,3 +121,6 @@ uiWindowPos: 3,0 strippingWindowPos: 0,5 displayName: Back + blacklist: + tags: + - PetOnly diff --git a/Resources/Prototypes/InventoryTemplates/smartcorgi_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/smartcorgi_inventory_template.yml index 069637800a..a775b6373b 100644 --- a/Resources/Prototypes/InventoryTemplates/smartcorgi_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/smartcorgi_inventory_template.yml @@ -74,3 +74,15 @@ whitelist: tags: - CorgiWearable + - name: back + slotTexture: back + fullTextureName: template_small + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,5 + displayName: Back + whitelist: + tags: + - CorgiWearable diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/petbag.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/petbag.yml new file mode 100644 index 0000000000..61f43e5834 --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/petbag.yml @@ -0,0 +1,19 @@ +- type: constructionGraph + id: ClothingBagPet + start: start + graph: + - node: start + edges: + - to: bagPet + steps: + - tag: Backpack + name: construction-graph-tag-backpack + icon: + sprite: Clothing/Back/Backpacks/backpack.rsi + state: icon + doAfter: 1 + - material: Cable + amount: 10 + doAfter: 1 + - node: bagPet + entity: ClothingBagPet diff --git a/Resources/Prototypes/Recipes/Crafting/improvised.yml b/Resources/Prototypes/Recipes/Crafting/improvised.yml index dd4393b77c..d7e03c5257 100644 --- a/Resources/Prototypes/Recipes/Crafting/improvised.yml +++ b/Resources/Prototypes/Recipes/Crafting/improvised.yml @@ -173,3 +173,11 @@ targetNode: scraphelmet category: construction-category-clothing objectType: Item + +- type: construction + id: ClothingBagPet + graph: ClothingBagPet + startNode: start + targetNode: bagPet + category: construction-category-clothing + objectType: Item diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index ab2aebc490..c10eb51486 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -42,6 +42,9 @@ - type: Tag id: ATVKeys +- type: Tag + id: Backpack + - type: Tag id: Balloon @@ -1037,6 +1040,9 @@ - type: Tag id: PercussionInstrument +- type: Tag + id: PetOnly + - type: Tag id: PetWearable diff --git a/Resources/Textures/Clothing/Back/Specific/petbag.rsi/equipped-BACKPACK.png b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..7e5ad06cd2 Binary files /dev/null and b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/Clothing/Back/Specific/petbag.rsi/icon.png b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/icon.png new file mode 100644 index 0000000000..b0b2649334 Binary files /dev/null and b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/icon.png differ diff --git a/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-left.png b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-left.png new file mode 100644 index 0000000000..e554bb0205 Binary files /dev/null and b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-left.png differ diff --git a/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-right.png b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-right.png new file mode 100644 index 0000000000..25a0debc5d Binary files /dev/null and b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/inhand-right.png differ diff --git a/Resources/Textures/Clothing/Back/Specific/petbag.rsi/meta.json b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/meta.json new file mode 100644 index 0000000000..010e360eab --- /dev/null +++ b/Resources/Textures/Clothing/Back/Specific/petbag.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by Sparlight (GitHub) for SS14. icon modified by Samuka-C (Github) to make the straps less ugly.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}