From 848e0dcbe736a3708cd3afccf61ec24c7c2b55c3 Mon Sep 17 00:00:00 2001 From: BarryNorfolk Date: Sat, 4 Oct 2025 22:57:14 +0200 Subject: [PATCH] Add new armour options for K9s (Laika) (#4172) * Add simple component for handling specialised clothing and armours * Add awful artwork for k9 armours * Update secdog template to include head and outer clothing gear * Add tags for K9Armour and K9 * Ensure Laika has the k9 tag * Add entity entries for K9 armour, update starting gear for Laika * Add lathe recipes for new K9 armour * Update secdog sprite by breaking tail out to separate layers * Update sprite drawing for Secdogs * Fix missing pixel in Laika's base sprite * Add jetpack sprites for secdog * Remove damage state visuals * Add layingdown component to laika * Update helmet sprites from HTMLSystem * Update hardsuit sprites from HTMLSystem * Fix prone on crit for secdogs * Add new damage visual layer for tails * Add static tail for Laika and hook it up to damage state visuals --- .../DamageStateVisualsComponent.cs | 1 + .../SpecialisedClothingComponent.cs | 24 ++++ .../SpecialisedClothingSystem.cs | 34 ++++++ .../Locale/en-US/_DV/clothing/specialized.ftl | 1 + .../Entities/Clothing/OuterClothing/k9.yml | 110 ++++++++++++++++++ .../_DV/Entities/Mobs/NPCs/animals.yml | 28 +++-- .../_DV/Entities/Mobs/NPCs/pets.yml | 1 + .../secdog_inventory_template.yml | 22 ++++ .../_DV/Recipes/Lathes/Packs/security.yml | 3 + .../_DV/Recipes/Lathes/clothing.yml | 10 ++ .../_DV/Recipes/Lathes/security.yml | 8 ++ Resources/Prototypes/_DV/Research/arsenal.yml | 2 + .../_DV/Roles/Jobs/Fun/misc_startinggear.yml | 1 + Resources/Prototypes/_DV/tags.yml | 6 + .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 860 bytes .../Tanks/Jetpacks/captain.rsi/meta.json | 8 +- .../mini.rsi/equipped-SUITSTORAGE-secdog.png | Bin 0 -> 776 bytes .../Objects/Tanks/Jetpacks/mini.rsi/meta.json | 8 +- .../void.rsi/equipped-SUITSTORAGE-secdog.png | Bin 0 -> 827 bytes .../Objects/Tanks/Jetpacks/void.rsi/meta.json | 8 +- .../Hardsuits/Combat/k9.rsi/icon-flash.png | Bin 0 -> 611 bytes .../Head/Hardsuits/Combat/k9.rsi/icon.png | Bin 0 -> 520 bytes .../Head/Hardsuits/Combat/k9.rsi/meta.json | 25 ++++ .../Combat/k9.rsi/off-equipped-HELMET.png | Bin 0 -> 1026 bytes .../Combat/k9.rsi/on-equipped-HELMET.png | Bin 0 -> 1276 bytes .../Combat/k9_riot.rsi/icon-flash.png | Bin 0 -> 556 bytes .../Hardsuits/Combat/k9_riot.rsi/icon.png | Bin 0 -> 486 bytes .../Hardsuits/Combat/k9_riot.rsi/meta.json | 25 ++++ .../k9_riot.rsi/off-equipped-HELMET.png | Bin 0 -> 895 bytes .../Combat/k9_riot.rsi/on-equipped-HELMET.png | Bin 0 -> 1146 bytes .../equipped-OUTERCLOTHING-secdog.png | Bin 0 -> 1083 bytes .../Armor/duravest.rsi/icon-secdog.png | Bin 0 -> 708 bytes .../Armor/duravest.rsi/meta.json | 9 +- .../Combat/k9.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1508 bytes .../Hardsuits/Combat/k9.rsi/icon.png | Bin 0 -> 583 bytes .../Hardsuits/Combat/k9.rsi/inhand-left.png | Bin 0 -> 666 bytes .../Hardsuits/Combat/k9.rsi/inhand-right.png | Bin 0 -> 662 bytes .../Hardsuits/Combat/k9.rsi/meta.json | 26 +++++ .../k9_riot.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1268 bytes .../Hardsuits/Combat/k9_riot.rsi/icon.png | Bin 0 -> 539 bytes .../Combat/k9_riot.rsi/inhand-left.png | Bin 0 -> 671 bytes .../Combat/k9_riot.rsi/inhand-right.png | Bin 0 -> 771 bytes .../Hardsuits/Combat/k9_riot.rsi/meta.json | 26 +++++ .../_DV/Mobs/Pets/secdog.rsi/base.png | Bin 0 -> 1786 bytes .../_DV/Mobs/Pets/secdog.rsi/meta.json | 56 ++++++++- .../Mobs/Pets/secdog.rsi/tail_animated.png | Bin 0 -> 5782 bytes .../_DV/Mobs/Pets/secdog.rsi/tail_static.png | Bin 0 -> 546 bytes .../black.rsi/equipped-SUITSTORAGE-secdog.png | Bin 0 -> 829 bytes .../Tanks/Jetpacks/black.rsi/meta.json | 6 +- .../blue.rsi/equipped-SUITSTORAGE-secdog.png | Bin 0 -> 859 bytes .../Objects/Tanks/Jetpacks/blue.rsi/meta.json | 6 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 826 bytes .../Tanks/Jetpacks/security.rsi/meta.json | 6 +- 53 files changed, 440 insertions(+), 20 deletions(-) create mode 100644 Content.Shared/_DV/Clothing/Components/SpecialisedClothingComponent.cs create mode 100644 Content.Shared/_DV/Clothing/EntitySystems/SpecialisedClothingSystem.cs create mode 100644 Resources/Locale/en-US/_DV/clothing/specialized.ftl create mode 100644 Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/k9.yml create mode 100644 Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/Jetpacks/mini.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/Jetpacks/void.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/icon-flash.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/icon.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/meta.json create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/off-equipped-HELMET.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/on-equipped-HELMET.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/icon-flash.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/icon.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/meta.json create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/off-equipped-HELMET.png create mode 100644 Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/on-equipped-HELMET.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/equipped-OUTERCLOTHING-secdog.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/icon-secdog.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/icon.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/inhand-left.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/inhand-right.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/meta.json create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/icon.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/inhand-left.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/inhand-right.png create mode 100644 Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/meta.json create mode 100644 Resources/Textures/_DV/Mobs/Pets/secdog.rsi/base.png create mode 100644 Resources/Textures/_DV/Mobs/Pets/secdog.rsi/tail_animated.png create mode 100644 Resources/Textures/_DV/Mobs/Pets/secdog.rsi/tail_static.png create mode 100644 Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/_DV/Objects/Tanks/Jetpacks/blue.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/_DV/Objects/Tanks/Jetpacks/security.rsi/equipped-SUITSTORAGE-secdog.png diff --git a/Content.Client/DamageState/DamageStateVisualsComponent.cs b/Content.Client/DamageState/DamageStateVisualsComponent.cs index 27a97018b5..f21e60e4c8 100644 --- a/Content.Client/DamageState/DamageStateVisualsComponent.cs +++ b/Content.Client/DamageState/DamageStateVisualsComponent.cs @@ -15,4 +15,5 @@ public enum DamageStateVisualLayers : byte Base, BaseUnshaded, BaseUnshadedAccessory, // DeltaV - Pet clothing + Tail, // DeltaV - Pet tails wagging } diff --git a/Content.Shared/_DV/Clothing/Components/SpecialisedClothingComponent.cs b/Content.Shared/_DV/Clothing/Components/SpecialisedClothingComponent.cs new file mode 100644 index 0000000000..d35a2592ce --- /dev/null +++ b/Content.Shared/_DV/Clothing/Components/SpecialisedClothingComponent.cs @@ -0,0 +1,24 @@ +using Content.Shared.Whitelist; + +namespace Content.Shared._DV.Clothing.Components; + +/// +/// Marks that this piece of clothing can only be worn by an entity +/// with a matching tag. +/// +[RegisterComponent] +public sealed partial class SpecialisedClothingComponent : Component +{ + /// + /// Valid tags which must exist on the entity attempting to wear + /// this piece of clothing. + /// + [DataField] + public EntityWhitelist Whitelist = new(); + + /// + /// The specific text to show, if any, for why this equipment cannot be worn. + /// + [DataField] + public LocId? FailureReason; +} diff --git a/Content.Shared/_DV/Clothing/EntitySystems/SpecialisedClothingSystem.cs b/Content.Shared/_DV/Clothing/EntitySystems/SpecialisedClothingSystem.cs new file mode 100644 index 0000000000..3eed849f69 --- /dev/null +++ b/Content.Shared/_DV/Clothing/EntitySystems/SpecialisedClothingSystem.cs @@ -0,0 +1,34 @@ +using Content.Shared._DV.Clothing.Components; +using Content.Shared.Inventory.Events; +using Content.Shared.Whitelist; + +namespace Content.Shared._DV.Clothing.EntitySystems; + +public sealed class SpecialisedClothingSystem : EntitySystem +{ + [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; + + private readonly LocId _defaultReason = "specialized-clothing-default-failure"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnBeingEquipped); + } + + /// + /// Handles when a piece of specialized equipment attempts to be equipped, blocking it + /// in the case where the equipee is an invalid user. + /// + /// Clothing being equipped. + /// Args for the event, notably the entity equipping the clothing. + private void OnBeingEquipped(Entity ent, ref BeingEquippedAttemptEvent args) + { + if (_whitelistSystem.IsWhitelistPass(ent.Comp.Whitelist, args.EquipTarget)) + return; + + args.Reason = ent.Comp.FailureReason ?? _defaultReason; + args.Cancel(); + } +} diff --git a/Resources/Locale/en-US/_DV/clothing/specialized.ftl b/Resources/Locale/en-US/_DV/clothing/specialized.ftl new file mode 100644 index 0000000000..b691fe219b --- /dev/null +++ b/Resources/Locale/en-US/_DV/clothing/specialized.ftl @@ -0,0 +1 @@ +specialized-clothing-default-failure = You can't quite fit into this diff --git a/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/k9.yml b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/k9.yml new file mode 100644 index 0000000000..cba7dfabd1 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/k9.yml @@ -0,0 +1,110 @@ +- type: entity + abstract: true + id: K9ClothingBase + components: + - type: SpecialisedClothing + whitelist: + tags: + - K9 + +# K9 Combat suit +- type: entity + parent: [ K9ClothingBase, ClothingOuterHardsuitBase ] + id: ClothingOuterHardsuitCombatK9 + name: k9 combat hardsuit + description: A canine-built combat suit designed to protect its against all manner of enemy combatants in low pressure environments. This one has station security markings. + components: + - type: Sprite + sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi + - type: Clothing + sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi + - type: PressureProtection + highPressureMultiplier: 0.50 + lowPressureMultiplier: 1000 + - type: ExplosionResistance + damageCoefficient: 0.50 + - type: Armor + modifiers: + coefficients: + Blunt: 0.60 + Slash: 0.60 + Piercing: 0.60 + Radiation: 0.75 + Caustic: 0.75 + Heat: 0.75 + - type: StaminaResistance + damageCoefficient: 0.3 + - type: ClothingSpeedModifier + walkModifier: 0.85 + sprintModifier: 0.85 + - type: ToggleableClothing + clothingPrototype: ClothingHeadHelmetHardsuitCombatK9 + - type: AllowSuitStorage + - type: Insulated + - type: Tag + tags: + - K9Armor + +- type: entity + parent: [ K9ClothingBase, ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] + id: ClothingHeadHelmetHardsuitCombatK9 + name: k9 combat hardsuit helmet + components: + - type: Sprite + sprite: _DV/Clothing/Head/Hardsuits/Combat/k9.rsi + - type: Clothing + sprite: _DV/Clothing/Head/Hardsuits/Combat/k9.rsi + - type: Tag + tags: + - K9Armor + +# K9 Riot suit +- type: entity + parent: ClothingOuterHardsuitCombatK9 + id: ClothingOuterHardsuitCombatRiotK9 + name: k9 riot hardsuit + description: A canine-built combat suit designed for crowd control against armed combatants in low pressure environments. + components: + - type: Sprite + sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi + - type: Clothing + sprite: _DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi + - type: Armor + modifiers: + coefficients: + Blunt: 0.65 + Slash: 0.65 + Piercing: 0.65 + Radiation: 0.80 + Caustic: 0.80 + Heat: 0.80 + - type: ToggleableClothing + clothingPrototype: ClothingOuterHardsuitCombatRiotK9Helmet + +- type: entity + parent: [ K9ClothingBase, ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] + id: ClothingOuterHardsuitCombatRiotK9Helmet + name: K9 riot helmet + components: + - type: Sprite + sprite: _DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi + - type: Clothing + sprite: _DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi + - type: Tag + tags: + - K9Armor + +# K9 Durathread + +- type: entity + parent: [ K9ClothingBase, ClothingOuterArmorDuraVest ] + id: ClothingOuterArmorDuraVestK9 + name: K9 durathread vest + description: A tight-fitting and sturdy armor vest for canines, reinforced with durathread weave to protect against sharp objects and blunt force trauma. + components: + - type: Sprite + sprite: _DV/Clothing/OuterClothing/Armor/duravest.rsi + states: icon-secdog + - type: Tag + tags: + - K9Armor diff --git a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/animals.yml index 128d89fecb..ff8aedae30 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/animals.yml @@ -91,7 +91,21 @@ sprite: _DV/Mobs/Pets/secdog.rsi layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: secdog + state: base + - map: [ "outerClothing" ] + - map: ["enum.DamageStateVisualLayers.Tail"] + state: tail_animated + - type: DamageStateVisuals + states: + Alive: + Base: base + Tail: tail_animated + Critical: + Base: base + Tail: tail_static + Dead: + Base: base + Tail: tail_static - type: HTN rootTask: task: SimpleHostileCompound @@ -141,14 +155,6 @@ interfaces: enum.StrippingUiKey.Key: type: StrippableBoundUserInterface - - type: DamageStateVisuals - states: - Alive: - Base: secdog - Critical: - Base: secdog_crit - Dead: - Base: secdog_dead - type: Butcherable spawned: - id: FoodMeat @@ -178,6 +184,10 @@ - type: Vocal sounds: Unsexed: MobDog + - type: LayingDown + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 - type: entity parent: MobMouse diff --git a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/pets.yml index aca4552e24..cac20a07f6 100644 --- a/Resources/Prototypes/_DV/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/_DV/Entities/Mobs/NPCs/pets.yml @@ -53,6 +53,7 @@ - CannotSuicide - VimPilot - DoorBumpOpener + - K9 - type: StealTarget stealGroup: AnimalSecurity # DeltaV - Adjusts because we have multiple possible sec animals - type: Temperature diff --git a/Resources/Prototypes/_DV/InventoryTemplates/secdog_inventory_template.yml b/Resources/Prototypes/_DV/InventoryTemplates/secdog_inventory_template.yml index 133fd50627..7d03d7386b 100644 --- a/Resources/Prototypes/_DV/InventoryTemplates/secdog_inventory_template.yml +++ b/Resources/Prototypes/_DV/InventoryTemplates/secdog_inventory_template.yml @@ -1,6 +1,17 @@ - type: inventoryTemplate id: secdog slots: + + - name: head + slotTexture: head + slotFlags: HEAD + uiWindowPos: 1,3 + strippingWindowPos: 1,0 + displayName: Head + whitelist: + tags: + - K9Armor + - name: mask slotTexture: mask slotFlags: MASK @@ -11,6 +22,17 @@ tags: - PetWearable + - name: outerClothing + slotTexture: suit + slotFlags: OUTERCLOTHING + stripTime: 6 + uiWindowPos: 1,1 + strippingWindowPos: 1,2 + displayName: Suit + whitelist: + tags: + - K9Armor + - name: suitstorage slotTexture: suit_storage slotFlags: SUITSTORAGE diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml index afd5598601..ada770ae02 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/security.yml @@ -6,6 +6,7 @@ - ClothingNeckShockCollar - ClothingOuterArmorPlateCarrier # plate carrier body armour - ClothingOuterArmorDuraVest # stabproof vest body armour + - ClothingOuterArmorDuraVestK9 # k9 stabproof vest body armour - ClothingOuterArmorReflective - HoloprojectorSecurity - RadioHandheldSecurity @@ -90,6 +91,8 @@ - ClothingOuterHardsuitJuggernautReverseEngineered - ClothingOuterHardsuitSyndieReverseEngineered - ClothingOuterHardsuitCombatOfficer + - ClothingOuterHardsuitCombatK9 # k9 combat suit + - ClothingOuterHardsuitCombatRiotK9 # k9 riot suit - type: latheRecipePack id: PrisonerSoftsuits diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/clothing.yml b/Resources/Prototypes/_DV/Recipes/Lathes/clothing.yml index 2bd0327217..edcb0b8b35 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/clothing.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/clothing.yml @@ -455,6 +455,16 @@ id: ClothingOuterHardsuitCombatOfficer result: ClothingOuterHardsuitCombatOfficer +- type: latheRecipe + parent: BaseHardsuitArmoredRecipe + id: ClothingOuterHardsuitCombatK9 + result: ClothingOuterHardsuitCombatK9 + +- type: latheRecipe + parent: BaseHardsuitArmoredRecipe + id: ClothingOuterHardsuitCombatRiotK9 + result: ClothingOuterHardsuitCombatRiotK9 + ## Logistics - type: latheRecipe parent: BaseHardsuitRecipe diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/security.yml b/Resources/Prototypes/_DV/Recipes/Lathes/security.yml index 2f9537b4ea..426c80e367 100644 --- a/Resources/Prototypes/_DV/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/_DV/Recipes/Lathes/security.yml @@ -187,6 +187,14 @@ Steel: 500 Plastic: 1000 +- type: latheRecipe + id: ClothingOuterArmorDuraVestK9 + result: ClothingOuterArmorDuraVestK9 + completetime: 10 + materials: + Steel: 500 + Plastic: 1000 + - type: latheRecipe id: ClothingOuterArmorReflective result: ClothingOuterArmorReflective diff --git a/Resources/Prototypes/_DV/Research/arsenal.yml b/Resources/Prototypes/_DV/Research/arsenal.yml index 2c550d0fb4..6a2b81d987 100644 --- a/Resources/Prototypes/_DV/Research/arsenal.yml +++ b/Resources/Prototypes/_DV/Research/arsenal.yml @@ -93,6 +93,8 @@ cost: 8000 recipeUnlocks: - ClothingOuterHardsuitCombatOfficer + - ClothingOuterHardsuitCombatK9 + - ClothingOuterHardsuitCombatRiotK9 - type: technology id: ExperimentalSalvageWeaponry diff --git a/Resources/Prototypes/_DV/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/_DV/Roles/Jobs/Fun/misc_startinggear.yml index a5d26b6ce2..f0878abd15 100644 --- a/Resources/Prototypes/_DV/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/_DV/Roles/Jobs/Fun/misc_startinggear.yml @@ -6,6 +6,7 @@ id: MobSecDogLaikaGear equipment: eyes: ClothingEyesGlassesSunglasses + outerClothing: ClothingOuterArmorDuraVestK9 #Oldstation Roles diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index bb9ed44635..c82f283792 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -180,6 +180,12 @@ - type: Tag id: Hoodie +- type: Tag + id: K9Armor # Limits what equipment K9 units can wear + +- type: Tag + id: K9 # Lets K9 units wear specialized clothing + - type: Tag id: AncientBookDamagedCommon diff --git a/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE-secdog.png b/Resources/Textures/Objects/Tanks/Jetpacks/captain.rsi/equipped-SUITSTORAGE-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..bf261ff7d663b33ca72aaba77dcf970a4d9ea87c GIT binary patch literal 860 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 F1OSiG%5?w$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/meta.json b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/meta.json new file mode 100644 index 0000000000..b747ee79a8 --- /dev/null +++ b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by HTMLSystem", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "off-equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/off-equipped-HELMET.png b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/off-equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2a9b457f080f5ea875e9097221cb49371d49df GIT binary patch literal 1026 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0prCY# zYeY$Kep*R+Vo@rCb81d;WwAnVNoh)EzCuWTe$K(=4{I10n2SAK978JRyq$I4J0wu# zxV@39>!TBY0ur5M*G!yvF*8fqvq_c1wL3#lNbgYUZn3ZNTe3BEj~r^W^UmjT_a4vT^1W*aY5O-*XI^) z3tG8&b98aF&5k|$n9mFBTe@9n$t2H82D`e7^Lu~u7gpAuIqSzHaO<~g?p@WoiaR~M ze8rES<*sC4h>4Tmzx>{(&F9z~IOH_=8$yga3zn6c9y@oAZ}-9tAq;CDc7#1GVGa3G{FwW1vkXICe|w0Lr`cqqzIeaa`_2C{w#2G68Y2~g!W8mxUgw5V-aIV z>q+$r4W7Sh$HnAX87Ps7m|b(bmc`=fupH`YH@p zj!b9#@vcaEo6{wEt_ne+NQExG7p|F?p0kMouDoetl)h7n{Fv?mUJE@0#~d)>y#rI7O;SghA== z`@FEIXBFiiYmXZdw1%Q&4Tkk80P#n@!fLiwSNQu_@2GA&C!!_ zMsPffmAQ2$PsogL;V*9lo;TU$vk0s$`Si(E7pQFA_WMT5_AmGny)cD=@3quy#g0%B zBle`Ze{S%$b{?O`$5MY|>rt;Lwup9(BZi9EpmdTZw_{VB`f7=3G7J+QuZcWfdgoT% z_IvO5vnr&VZE=#-yIR{fX-jzG#;&7Qv8#Un@qU#Z01k9`;A$|G{Z3dd(r}sY0sofi p2j{=3nH>+zrF^Loo@u_m3|c@o2M~k6rQpdR%G1@)Wt~$(69Azsw6FjG literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/on-equipped-HELMET.png b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9.rsi/on-equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8db17069dec1ecc09e6c09c64ec1fc7ec2b91a GIT binary patch literal 1276 zcmVYAX9X8WNB|8RBvx=!KdMT000DS zNklS~hRb*E$S zJePB3=Dg2u&Ya!heUfxtXD=&B0+0YC0JCc_RT6*%5G8=7<`cSINkP?u^#AZU~6Q_ zf1TMm3un6K$aiEX-u#C71%%Rn0>EYfnySWZ9%B3%^wiYr%K?qcJ*9kp<_Q3~kLT(7 zzJk_{anh_xOgnI_a=P4lnpGk9ap-*)dw|e#Kx1t5*O=yy8GvH9qp2!lNA@qy^VaX9 ztdzMz8_@p%Ak+I0fJZhZJQiO5MgoBKRUkGU2yIFWj$%X23prhGy)5_)*t`PbF%NM7 z5Kmz_paG#xaKTX=cL8QAZUB+mGXNk2A@bPkXddLpkOUwBNB|Om1YmXzrb+^k03-kj z!0Z}Kl>{IGNB|Om*)^Cd2|xmn0E`2$lgxn8c>^KC05mn9&?~B3@nr^Hkw-|R3<2P& zsn?IbcbMwRjQCpS5$*WF;YIHMGGj>R$q)cems_u{E~25Xh?6aaeA|7Wp%Fh9zUzz1 zz*o(+`k{srKI=Rh&La#CP8rgBFbsg>@FDC<3RM-hkooT8p+QUA%T26Z)B)N%2g28? zS`hEdpRWf1r^~H73Q7P-Pv3_nDahAnQ+WP-l>@d$Jhi>ybH$Pt0jJ!@^IVzuk|qCj zl9TuGMOTnDJ%y)FSAkFnBGC{G0gz@@Q0#WR)0158DFq-uZ;g*WUT>=dOihdep^Oi} zn}c^4PqlLGs-4+63jnPh<2VXR)&mf`8NkNIsW3Wx?^ZZaAwo_*azYC7bLz3n=k;|b&WSd5KmEPqmjtu$4Z$C@ATvr^V?m!QyI1bB1077 zm{6nvr^~Gu`a|Ojj^ZuXZAyXd#uWhTZS#%AZd9~|N4DQ1@3(6K2t}@hcneO{eO@NR z{tAnyxYME&b)OeWeho?h5`Y9?b`7RV0+0YC013eC8cdZ0u-5_n3pD8lt}*96a{vGU m4rN$LW=%~1DgXcg2mk;800000(o>TF0000NS%G}U;vjb? z#+xT~>Om@#J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f-TA0 z-GxD)!GJ-}DgX6Xpa^GyM`SSr1Gf+eGhVt|_XjA*UgGKN%KnmrN0`Z2WIvZ4(8dB! z7srr@!*8dY_hJeZIkw+ZytmQqyHc;-uVkeri$!^h*gFE+D_b_WZh7Mw)cD9Nzo9=Kez_8NTQJf`8PmUC~cGJ(}-KmmYK}@PjGuC?6adZ4W<1Hhr zwlM6`jJl`|_f(&JV%^@+Jf-D~U2|0D;Tm5i2c`oRnOtWU^Rssx>)8F}VZuYn533KX zxOz>n)8#@&*@k@^drPKO=@#jD{!BaR#a*!LtJZ@b r|Fy*`azAY9_#?yDe)!=Z?tKh5GHWk}{rw^fj1C4*S3j3^P6NS%G}U;vjb? z#+xT~>Om@#J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f-TA0 z-GxD)!GJ-}DgX6Xpa^GyM`SSr1Gf+eGhVt|_XjA*UgGKN%KnmrN0>>g;L4(RKpV9@ zT^vIq4!@nWKa0sx;Mo4lSIQsxtrF?%=qQ*I&K)MUQfE!gbP>&^vj9u588o}r&@dfb&GMej(&8-B5}^s<{Xf7%^LF!*D9&0n9dP5JEa_OGWVJ=_1- zCn$IM_2+B#>Ww7&OrGD1o9`mL!c$LQy!eSHk1Nad&!+mWEjFDSW6m5Ey0YqpSSw?W zyQnr-^C>w2PlI_rf~|~EZ}nz97k9PsPjX3Y_?XhAP(KCGXm_i6?bc&;0}g37)pe3H;a7 W^QQA~7b^k-lEKr}&t;ucLK6V52eeZF literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/meta.json b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/meta.json new file mode 100644 index 0000000000..b747ee79a8 --- /dev/null +++ b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by HTMLSystem", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "icon-flash" + }, + { + "name": "off-equipped-HELMET", + "directions": 4 + }, + { + "name": "on-equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/off-equipped-HELMET.png b/Resources/Textures/_DV/Clothing/Head/Hardsuits/Combat/k9_riot.rsi/off-equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..277be34af766fc4cecbcfde8b57a930f17e8922c GIT binary patch literal 895 zcmV-_1AzRAP)YAX9X8WNB|8RBvx=!KdMT0008; zNklss4jr_VQVNY{=u#{SR-u!EgE$n_NkO-c9UMA1c2m$v z1qX2ubSh{HN~KHDXd#3UqC*DhU9j29IfVCoN&ncp+~ZmL`%bz1?(Y45pS<_D%kSG4 z$1%rQeF8uL2msePIF$ep0EYxHbK$Z+aqZ*#zNGP9Wo!II0LCT)0IKCu#~=sAvXZUw z69M@A=>u1;-2k9otLWIs=r{oH-n`=6`AgOSc)kxnZfKZ|^`eeVP0!NYY5)+0p?v`L zT7`i@Psdu@5hJ7HRsrOLLOd|&;rTvM7~=UpxuId2TMd02g(0o&i0`E@b^v(3PrX)Q zWOSU|(6Ej*w;KBUq`$ynr2r_{Q5fo&%1gzq0D!*`mKOUteQJjjxjB9}SNQR>p9c?j ztQD`64+^nbZhNU-t0XEO5(4O+hDvFtUs9RlcPs7qsQ{>HsMcWG>6b<-hi;`EJMn{1 zJ}AV%u1yfIUOcpyp&HNBz@V3E`6UKmZiY%WH$U4-H3PDog07Y7T|g}ZQ%A9Qke49= zAOHk_01yDKb8spFAOHk_0C1gyQwab8AOHk_>l~a)00;m9UZr|IaS}t{X0c`ajGX-Gw?^V(Y#EU0z z^Dex7J*OdbYi)I&tJhcbx!w1GbRK|%lsN!1S!G>WT5KCA%)-Vd0;=T_fc|WPQrD<^ zsQYET46Fh$y+n_ePjY|Z7eGfrdmWqSs%4YAX9X8WNB|8RBvx=!KdMT000B) zNklTCP&*2ok|EoDX z=bYzxe!S;vp1;R148CW1BmfCO0&u$qS0w>R07(J})z=!Tl7Xf#(0${UC)M~$6)dkd z3mv?7_lxr{7hg)r0f=4R(9+fu4TVa0F#aDS;nBDzL-n;racO{^{4|D0lFL`*I zUnW~bGWmlQol##w0D#D&(YPjq<<&-9Y@jje{K*0+x!5rlZfz>$+Fwr@8lI-NcgPIa z)Ra+Hl1syZZCvaaqqV896mRozN=+`4KUmQjR#X*$oZO8J|J!edOLkQ=eAIY1|BAYOrS$ei9JvJi#qH6oY=ya5o&2ra z(KXEsE2_%m#A8H!eB_wTm%!&DTH1P|F(ZTHM?SJ;bBrHz_VRY-4pYy(oH@S=uV=yj z<}LaC#qH7jt=pH}Wpd(iO3g!xk3oN+$gnO$p}6HYdf)aZz+(9mm2UpD0ElHMuEDtF z=O6%U4T(xOcgin9{y>odU@c;9RtIprdHD3m6Zx#l%2rZ({tKlHAXr{)h?|a(xGAMm zfZIxI1=zU+-Bw!P0^%~T>RW6c@JcOTM;r(iI*8NP!xg7*6I)N`ih{gv88fiNEkeN46$XN5i^c+l0Mw!;;zit5j zK#^h2?~Qpf)_h>${c7-Ja^(UXZiDXYdrb(58XRaOwEvE|Z{j)Nvj@ON2(|;T&hLeF z<>Vh;PMnIFjp>?(uOL9=(I|lVTTxYWA90L0hd7_zGe}1P2;Ts}+0#Gq+wZRd;u>0P z+q$ptB8d1`4FKXH+`926I|_H2F{{1BI!+fOcOmQO{o&XHYU>X==0I`eJzyy-i`7=M z)J+gr^f;%+?~c6*T73kmI!F>-C{B709Q_s$jig)rN{>%Q@?%H>kN_kAw`*`!5`Y9C z0Z0ID*Wjuo014nb2k<}UKj@zvh(q}R000hUSV?A0O#mtY000O800000007cclK=n! M07*qoM6N<$f*oxG?EnA( literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/equipped-OUTERCLOTHING-secdog.png b/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/equipped-OUTERCLOTHING-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..4eab58a7a0207fef7b8cc0309f00acf4087d6bfb GIT binary patch literal 1083 zcmV-B1jPG^P)EX>4Tx04R}tkv&MmKpe$iQ)@*k4t5X`%ut=|q9Tr^ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`>3QNXu~_P2xrE-VBZ{g~zL0ZS z;k?CJt=3ulp8SQOg0_<3I?Yieu!JO15Fw+E3aYRWrBx%vM4I;F9{v%>pCXq`t_m1A z7Epr<$?=2#!S8O(;`Ef86p90Z7u)_A2ZFmmt6|&U$F|)%0sPOvmDcgsn!wyA>5YyS zIRXZ^fs5;oChq~4JHYUhE*X*|`DqHpBJh4j-;@W2Zh`(ax3~5_P9K0Qb+vp092^1@ zCCXm+cz0iSZ~vZY_xA%kE^?4C->?w?000JJOGiWirT~iocO@mkw*UYD32;bRa{vGf z5&!@T5&_cPe*6Fc00(qQO+^Rk1s@L_5xSld!2kdN8FWQhbVF}#ZDnqB07G(RVRU6= zAa`kWXdp*PO;A^X4i^9b0u)I^K~#9!?V7)C;y@6_KM<|)+HE2ZuiPODD-y*O_X?@f zTz^kTbuW1_0stP}>av;4Pk6`O>ykUUt0>=Lf?G0MK;>0AMhTto64qRo?5%BW0)7 z>vBF#69B++9s>ZC&C-9pS{$Xk@O-^XRJ}DIkf9cy zkFG1=IBvH7{r4E-A3t&Dy<@#vKy5eH=dlq*FnSp2Vi3|a!7fplzDycdRILm)K`=Dc z`Kzu$6NDx^U)g<32qAcm;9GZtsL3(b@d@g6a-`2Z2Qt*fOejkmHIYA$UumyOGT_`eiphd1YQXem(h6jFcCXq; zWKP}1pFIw9tu0nZ;4PlDO!4__zRHIngb>n1J^(BACmgjpviAT0002ovPDHLkV1ky9 B<{tn6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/icon-secdog.png b/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/icon-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..4794f99d33b0c48c7f52195d41b358b15dbf750b GIT binary patch literal 708 zcmV;#0z3VQP)EX>4Tx04R}tkv&MmKpe$iQ)@*k4t5X`%ut=|q9Tr^ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`>3QNXu~_P2xrE-VBZ{g~zL0ZS z;k?CJt=3ulp8SQOg0_<3I?Yieu!JO15Fw+E3aYRWrBx%vM4I;F9{v%>pCXq`t_m1A z7Epr<$?=2#!S8O(;`Ef86p90Z7u)_A2ZFmmt6|&U$F|)%0sPOvmDcgsn!wyA>5YyS zIRXZ^fs5;oChq~4JHYUhE*X*|`DqHpBJh4j-;@W2Zh`(ax3~5_P9K0Qb+vp092^1@ zCCXm+cz0iSZ~vZY_xA%kE^?4C->?w?000JJOGiWirT~iocO@mkw*UYD32;bRa{vGf z5&!@T5&_cPe*6Fc00(qQO+^Rk1s@M1G1)E{H2?qr8FWQhbVF}#ZDnqB07G(RVRU6= zAa`kWXdp*PO;A^X4i^9b0G&xhK~z}7?bA&P!Y~vB;AyeTn4fKn)#6TEl!7<$(uLwF zTx*&G)K!BZqA#Vp`IZlonLG$UL_|bHLWkx!N#?)g((v8B`3Uy~L96)xIPVNxT4h>n}>cycXmD0000^0B; literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/meta.json b/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/meta.json index decfcb7848..8a346f28ce 100644 --- a/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/meta.json +++ b/Resources/Textures/_DV/Clothing/OuterClothing/Armor/duravest.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC0-1.0", - "copyright": "Original work by TJohnson.", + "copyright": "Original work by TJohnson. Added secdog by BarryNorfolk.", "size": { "x": 32, "y": 32 @@ -10,10 +10,17 @@ { "name": "icon" }, + { + "name": "icon-secdog" + }, { "name": "equipped-OUTERCLOTHING", "directions": 4 }, + { + "name": "equipped-OUTERCLOTHING-secdog", + "directions": 4 + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..2c10db524e01a6b1d1024b69d0ac0318bd5003c6 GIT binary patch literal 1508 zcmVYAX9X8WNB|8RBvx=!KdMT000G5 zNkl_*EaN2J^&wp55Nb|Ya4nhAHe$tAf3q?1{Vt& zk!Z|lTVGoVIDOuG1t6Wt>Q5Gy0NC5vWPSB((x3lK!!?Hx90Qn~N$F=tyG@<6y6&c) zE-mYkXpC4q&cXgJf2^eVG`mZ3E`^rMQ7mY@+T8FCKsuAv&#wy9D#fO@U^v3WXtb*^ zw5y@`q&}4xGs0dS0>y&H$>}Be+?h83B>eVvHaWj45DX0(ZMEtx6Qfa{EG%)i`WwHz z-f0TAb}-<)!=ze^+<siDHb%6b16Q` zXTT?YVl2ms}~htw)XW4u9qTn57t`upyAe66|ay!5TUfOY`n9=of7Z2&{@Nj(%E zBp8lRs}vh1A}wDru2(C!j%VUd5&*@5X7pv2*d+J44nW<30c>w?lh2(6hT@a@;^HCz zGZ*#Y;KeHNbZJ>XIlUwluCG4T$}OSrpz$f!rV?Y0_5zLosFRFPRyQYOhx@KifT|=4 z;jOb~D4y*Dpm`sz0)To1c;&pgf2gnbR@a<7)A2?~)?%v&@L~_p%7%meU8DcxT*~qK zFLJyQ0*ub3U5o%cgV4$bweM~q*aiUguosyD$oG${HNgFeFrCTjcKVM*W9|d^FUtqu z1MmU(0D5ghPvryf0r&uX0KK-Mr}6>#0DJ&GfVMZ7kDOY`%bcK<+_I}J067T#;rkDG zww&eV#tP4tv)o+&&ZFTkjL&br+v@5#s$0F7U(mQ@nBAX z01ZF{hNQ(rUPZ!-`2`)|Xgtx7qEqvf>aiKnkVvUjicJvO0+1i6Qh`VoCK8PqRT|J; zrA8;EGg z&k0a2-EcWO2Vj{hH>b@eMx(}eE1Q}C$iz21k^nFYBFqm{=}TTfB!;;SV6jxU<8pS+ z$W5p=h*WzeG9{m3j?9(-;O*O#5R)+{V_vNbP}62^IT%l2!;kd1yHNr(%*OA(DrI`BcK*h01Yoqy=EJLguRxpG%bbdL)5wf z;GF;fENcLJ+yO1jTq6p*atx8N)TDn)%{FI0MJ|w(g}ch{CNpL zCPC=D`&0q6svWQdAWTF0000< KMNUMnLSTYY>#C^$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/icon.png b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..63789e61fb2ff45f3ee9be7b17423d6822f3cd2c GIT binary patch literal 583 zcmV-N0=WH&P)Z|n5{000SaNLh0L01FZT01FZU(%pXi00007 zbV*G`2k8h569p-zoMn>$00E0hL_t(o!|jw&Ytv8^$A6K6S=TkgTvNl=;$Rh5Wc69_ z$uHqY?4w_xPlG;hV^n2Kg*9|8xp7IeCPE=TCA3ztSF*SJgAj5~xc6|*|NKFt(P%Up zjYgx0+kTO&#Q%k%^7EUw@ABzwL^hAta%R1W>sX9VhDvAFR4(rx^?@^{w_tAVl({UO z;W`%GqduJ*FCScf+PH{EDwl`8M;u99$0AE-<>NXQaU=>ff7Zz6F$d4v zW$x>@Ys`9+?Z*oaL&=B9wNd#9Cf;|p>N}YA=3l!af6SSr3m#+(dcEG#m&JHI=1xwH zUE9rzT<0bM(_$c}RJsMrb1wwAzt>uM+d|N2G?a~K;{rw}Lqi5Zxe06S4+4@TLB#`< z3Mjnb_Z3|3j;aUzmk|{Lyf{BK04~l?jY5!Lg#B!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;$&tSly=am2YD^P^9z$3Dlfq`2Hgc&d0t@{HMWH0gbb!C6a!6U4takxD<18Czt zPZ!6Kid%1Q`Fb-s%CLP%Kin*lvC&&lDHd ziI`ShpX+&_Vd8p`vy>#gAThVjp z{d5>^+`P-r^*TD@^OSGd1yR>tSWQbmaQ5iSBbN%-^HmYdh_n zlvbT=dCU4@!VBe&+6;}U+Krz24&V1L`Nff>?XXCEf%B?6fd>KTS*}?hu-yiMxGY m74rgS#5M4pv}5|4E}ys5yYkQpi&MbJXYh3Ob6Mw<&;$TGY!!b1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/inhand-right.png b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..71e7b53c2d1c437fcce5ae47838b0580a6ece422 GIT binary patch literal 662 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;$&tSly=am2YD^P^9z$3Dlfq`2Hgc&d0t@{HMWH0gbb!C6a!6U4#xY*%IFVMzY zo-U3d6}R5r^7UqNlwkkxzm47SLeg{f8H?BvTPlmml zp*OoS%leDc!#=AGZ{HmHUmoT5t#Y1hdK#;ILkA4((-q(TC-T^&Z#?^#s@2XomvWqG ziSbPr+Yei+dKVl#m3a03otwvh-Zb1~Dg5p81LGe-eD53<%-a0n%a4Yr$JaV;vxM-i z-siRVlIVrkWeg0b`YFE3Ut;KgM^@_DYNF z>HPZKtt&#_-_h~TTsq;nm!kZRJ&!z=#=T^jGfzhHP~ov-t&fj<`Z9fH*!v^b6V~5$ zTwU4zdNnsQL)rIJ|85;KyCy4m`}%`-aW}(PhF7tft5o&+$l5Sn><%f zhXqK7MqJ4kov!mtVMJ9|uvr;UT?U{jw`<(h& iEBjIstZ=f1jC`q#ccn+WB0DhR89ZJ6T-G@yGywo+SshOR literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/meta.json b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/meta.json new file mode 100644 index 0000000000..6acfa34c62 --- /dev/null +++ b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by HTMLSystem", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..cebdc3d386b80ae1aa1d929650a057ffefbfc15a GIT binary patch literal 1268 zcmVYAX9X8WNB|8RBvx=!KdMT000DK zNklOgz~A0!;PkkK?VU!@ zPJf>sw-Q5044}MG^DjP~gp|nIvy{F41K+eP0DxoLK|60#3Se*lz;{Qt`0n&W&sNL| zjOE!>VHj6-8%@7hG6RRXIJS-9z`@7Xks1Iz{M^xP=(({xn>q~R>IZ<~z>)STmP`Q2 z_JUXd$oX$y`*3UbsK>Q*fvO*7LuI|1*LbS+NPU)`z!06J$U`0;Zt z)Msh_2E0#P{jv9e-A2;~fFD2SaP1B8;zcufc6fM%g+dWa^EUvHsq>_p!<7L@GXb#y z7*^RgtO@|&+8e?&3MiIL3?+S7tyB70f=85+J{>7511V9}9Np(M{e}`3w2A~0G02)Bv zHsmTAfCiueXaITJkgI3_8h{3%0c7$b%Gaqbkd`-Uewy5$OeO*l6CEU!e;0)kl&T<* z^I{g7L{>MPl&6dYP~NEd0D?R_&j$1SAAqr1{poQ_83gV;*GIp3u99b{sg?jB(xwmq zSpkGY0RBWlRK1>xmsvre386Y$A^ze0o1hNB*FKL3o|PrzqLif-niL-HqHZ36 zWb1I?;Q7l}!I-F`jT8Vmbb8zxdtsFDB|>9V0U+lo#AWu7&ElA;0HO*Vq)6QTc{^W| zoo-LbCPe3hp6LftK42V61GG> zICVC~Wup>65TF0000Z|n5{000SaNLh0L01FZT01FZU(%pXi00007 zbV*G`2k8h569pXbFQKpi00Cb~L_t(o!|jyaOTthX#-EKrQTQ>>F&H8wVc`%p@JjH? zzq_lTDiejk>08FF^P2}fu zd)N8qV--$Hq%gNF;UXeWU~XG*W;1xM1LJ}K0H#mRC|u?N0G{g{q^U>+1Rp1qB9q;% zflr3#@FHUuVYyOc0I=R_*t~nF*KhZ+cKZ>hXGxr&d;$Ray^a#Q2w$u>==4W?)5!?Q z6!CSt-fCFPtmD|Q(QNsAJ{SzJbY7J-F_>wZzFZL(s3O%8N!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;$&tSly=am2YD^P^9z$3Dlfq`2Hgc&d0t@{HMWH0gbb!C6a!6U4}x%Y#k#JYN|G*2 zS2HFb+_ltus+-jvHFbd(|9wAdsb7D+Gi`^xg9{84Mt)r#kgDTpn^}1>Dcy~i;m~8l zay!A5&(Enxsfj;$_fK)po_z;PY>vF!EK#|>WY*!wmy0cA`3+xu-?HSZ(QU@pPnjCu zA6z9h@#BH-8{+g_URjp8i7R~Adw6T&ERFE2iTV%MhD|(wWUcv&??=QPCg1)a7Gacq zBbQlXDHFqi+c||n8cCa@9vm*-y5#GdE&b0bb|tO4H1<2?@}BQCuQP_)ezMBbb7)NwbIf5>DPq)GvYBJn zlllf1J%`-?r&9%wSS=`w6Fx|6+am%9sYOl{!somJ65c wY}jwZwsaH6&n-;_jGow^_t#3)@z!bpX>FVdQ&MBb@03iYn8~^|S literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/inhand-right.png b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..439d0e71ddac64b83bafb103b8ba213449764439 GIT binary patch literal 771 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;$&tSly=am2YD^P^9z$3Dlfq`2Hgc&d0t@{HMWH0gbb!C6a!6U38xNb}PBL)U0 zcTX3`kcwMxXPwV_6d-bJzlXT%443L)M_6M`}gUP%k6@O*Ede5 zFI;uw_VpUSjk>45`#n@zuuMfL_b}u2aORatui`?l78HJDUzEkb@aDMsn`x;&C9?Hz zSB8YJtBC4;aK1J7ol$>DEIY%NsI^aP13%XXGP`VjBmDNFk+Z9|Yh}^Z>~+b`E3zK0 zuKT>8v9q!th@Lqzf1UM6SU*hg&G&OlA5RYU4`Z?WXFplA@#BdDU#~i7ZDPLWnk^@H zaGQ=wUi0UfFMmG(Dq3Gz(XzL8?S wwzoVkz4I?;Gy@gnH&?#pX}PJYA{)n0QP(7s$G+JGn93MDUHx3vIVCg!0I-Ki(f|Me literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/meta.json b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/meta.json new file mode 100644 index 0000000000..6acfa34c62 --- /dev/null +++ b/Resources/Textures/_DV/Clothing/OuterClothing/Hardsuits/Combat/k9_riot.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by HTMLSystem", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DV/Mobs/Pets/secdog.rsi/base.png b/Resources/Textures/_DV/Mobs/Pets/secdog.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..ffad4e28d498d56800f2901c9bd3586204d9aff2 GIT binary patch literal 1786 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 RRlgVXa9P91U%6@Pe*vZi2h9Kg literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Mobs/Pets/secdog.rsi/tail_static.png b/Resources/Textures/_DV/Mobs/Pets/secdog.rsi/tail_static.png new file mode 100644 index 0000000000000000000000000000000000000000..777092a046d18ef92a4fd874e02b2e34d2a550e4 GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;$&tSly=am2YD^P^9z$3Dlfq`2Hgc&d0t@{HMWH0gbb!C6a!6(ehe!+Rcb)b!D zo-U3d6}R5rQp`W(Aj1CPIO}!qEUxgQM?$8nZZ4j@!}EyUL6e(7?XlCOjC$XNKgf1) zdZ4{VciG8>`HL(s$pmZP+zopr0DbJ%%>V!Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/equipped-SUITSTORAGE-secdog.png b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/equipped-SUITSTORAGE-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..45233c740898215ec98e0ed787e5e410c3499f87 GIT binary patch literal 829 zcmV-D1H$}?P)Z|n5{000SaNLh0L01FZT01FZU(%pXi00007 zbV*G`2k8h34<|7q6}~M100MzYL_t(|+U?rUYuaEK2k>uN$LbF(Y_S_yn%ToHaksIH z8MxCRAjodRLQnn|LNERoURQP-fk9!X3F|JKx4pS62WL^b8E4-Gw;~MQoeWKDP1LD@ zJ|D;-@B79)@8hF_PXIy)A%qY@2qA=o*?GSG@I``&cro+$3a2Y#Uc`Lar2BZ zv^yR5V2mM~%_1esXtr8Yy>8$H^c@E&S)RBiCCl(j(yTIy0svr)fphMe_Z^IENj#N8ddeDNFrP_0&_RRv$ER0IIL ze)A54pC>4n%kJF!dL18+kEOX1kkd4AxgGZ9YX^@WrafbR9iv4k7K_3!F1y$BO~SRk zK~+`7xL)A;#-``ovMe0z$ClcSIoOX0%d)^ZcaQarP0u;!9JeA7sH!Tat^ie4g=v~n zKA*pGu``SydHb(ttX{9LyaG;s46t)AF}4Cm`w3hDrfEu}%>5n=VB0pf(`neYjiGZ2 z0N75aSNi2OdY2RNI5_7RI;XHK3yF9fmSv&SZo3t5-R1*%`sDG%67nmtMNw5%_%%ZP zVg~|rhd+F3cv{|BBMT}N00000NkvXX Hu0mjfFE3x_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/meta.json b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/meta.json index 937ca0f7f3..b432524cba 100644 --- a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/meta.json +++ b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/black.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/1592a112e3d33eec4a0704b518a138d5a976f455, modified by Radezolid for SUITSTORAGE", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/1592a112e3d33eec4a0704b518a138d5a976f455, modified by Radezolid for SUITSTORAGE, modified by BarryNorkfolk for SUITSTORAGE-secdog", "size": { "x": 32, "y": 32 @@ -59,6 +59,10 @@ "name": "equipped-SUITSTORAGE", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE-secdog", + "directions": 4 + }, { "name": "on-equipped-SUITSTORAGE", "directions": 4, diff --git a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/blue.rsi/equipped-SUITSTORAGE-secdog.png b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/blue.rsi/equipped-SUITSTORAGE-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..15c4c9f76ac73fac48c2f495dee74830edaee61c GIT binary patch literal 859 zcmV-h1ElZ|n5{000SaNLh0L01FZT01FZU(%pXi00007 zbV*G`2k8h34+%1`8|J$J00N&$L_t(|+U?rGOWRN!2k`GpcUWt&P?v2`G3YMCcbH>C zCXL`tDafuHEx6PE0k45E@UPg(f#R-XDD)=S($N*>knEXAicLK=?q`HsHVbpwi~iA+edos$V^aB5PwCKaU-*hqpE z*R9LAxDLrkTIRWR!|lZI=qT#jOSVg^zP-f4Jz4>!^K(2p)ljKcTVoe~Kkio#8VBYo z0)9VA;&yKu;02#@Ip*e8rJoBz2qA`0JxW$MfvA9{CN8PPwubtNT*Vc*`!X22VgC}EySRT2Y^F0i{RLV z<#c*_4^dTh%y#L{5a(QELRxFjt;u&YWEo?{b!aOA@%nA0Z!6)|NF622ITx}l%jQ`7h5mj6WJ*z>>w4cC zpzAuDQj~uRw99%e+ArXRt>}T|XZ|n5{000SaNLh0L01FZT01FZU(%pXi00007 zbV*G`2k8h35Hk>0sGVy700MqVL_t(|+U?rGZ_-d42k>uEBUDxmrf6iY0S`OW!%T=5 zFyY+DU%(Ro1pfr%pWvTh;{F23veUA}?J}FVOAlN|I>!!FVYKYEiP7g_DS=Je!UUS| z`y?F7d+@%$UtUAPD?kV#gb+dqA%u`P+pN`isa)opwHlA|eiXtaldGD>KW}df(~jS? z_@-&%*lZ&yN+=cA2V)0%10J(cP_oD?3O;RZMb40zr1*|)2hQo(HmaJ&XVHM+;yq@g zzO#$dRtxo=U3kn!Qj~CPw$U`riM}^-13I>iGs_E{b7px6YtppxiUI)em<^XXBV#Ue z;4yn-UR1ZEPRvLW4)*s0w^p;E3(ud;W(V}TU93Kmz+4xQG5~;!ejmBVnZX<}l|rxE zolOJc;H$0+QEpZGxgdlPLI@#*5JCtcgb+ghDfEB#Qn}2BPlVX{ccdS#;m_~Ozu%h; zU0783{CbfCK;o8w{?8ML51tOjp2*42gPhO?TrJ*T%rD-zh$i^O2jz;=gt3FFs`8Hg z>)QJ(@){iLWN_^=2X9~Z@ctv4TNB>B5&4JueWb*dvAKL1=?)CT7@I9Iu6V;Rgo2WV z%bbx{`YuMU0nD}d;q`)Yxy(U9$-*!UK~+^g)eewl85jLNnCs%j#sF}3BT^L^I>JuOZMS)=$b8o=qEvj5AFevMPF}y$=j-nTm$6qK;4VY_|s;2Qc zJ&3T7JaKElw4Y62$xYpW^B?Wl6mgR*OTPmMA%rZmzX+E-mtSt$*8l(j07*qoM6N<$ Ef`6oE0{{R3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/security.rsi/meta.json b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/security.rsi/meta.json index df10b7c1b8..c3efc752f0 100644 --- a/Resources/Textures/_DV/Objects/Tanks/Jetpacks/security.rsi/meta.json +++ b/Resources/Textures/_DV/Objects/Tanks/Jetpacks/security.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/1592a112e3d33eec4a0704b518a138d5a976f455, modified by Radezolid for SUITSTORAGE. Further modified by TJohnson.", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/1592a112e3d33eec4a0704b518a138d5a976f455, modified by Radezolid for SUITSTORAGE. Further modified by TJohnson, modified by BarryNorkfolk for SUITSTORAGE-secdog", "size": { "x": 32, "y": 32 @@ -59,6 +59,10 @@ "name": "equipped-SUITSTORAGE", "directions": 4 }, + { + "name": "equipped-SUITSTORAGE-secdog", + "directions": 4 + }, { "name": "on-equipped-SUITSTORAGE", "directions": 4,