From c83d60f17062b42a50b1973f09d41e670a4ae690 Mon Sep 17 00:00:00 2001 From: "Tad \"Taddy\" Johnson" <120885811+TadJohnson00@users.noreply.github.com> Date: Tue, 24 Oct 2023 02:25:53 +1000 Subject: [PATCH] Add Laika and security dogs (#190) * Fix warden hat not resprited haha funny * Add Laika and security dogs :3 Adds Laika and security dogs to the codebase * Final edit to capitalisation Should be all good to go * Manual revert attributions and license Floofers unbork what was bork. All happy now * Update animals.yml vulpakin -> vulpkanin Signed-off-by: Tad "Taddy" Johnson <120885811+TadJohnson00@users.noreply.github.com> --------- Signed-off-by: Tad "Taddy" Johnson <120885811+TadJohnson00@users.noreply.github.com> Co-authored-by: Debug <49997488+DebugOk@users.noreply.github.com> --- .../prototypes/catalog/cargo/cargo-armory.ftl | 2 +- .../catalog/cargo/cargo-livestock.ftl | 2 + .../catalog/fills/crates/livestock-crates.ftl | 2 + .../DeltaV/Catalog/Cargo/cargo_livestock.yml | 9 ++ .../DeltaV/Catalog/Fills/Crates/npc.yml | 8 ++ .../DeltaV/Entities/Mobs/NPCs/animals.yml | 111 ++++++++++++++++++ .../DeltaV/Entities/Mobs/NPCs/pets.yml | 30 +++++ .../secdog_inventory_template.yml | 45 +++++++ .../Roles/Jobs/Fun/misc_startinggear.yml | 8 ++ Resources/Prototypes/DeltaV/tags.yml | 3 + .../Entities/Clothing/Eyes/glasses.yml | 5 + .../Entities/Clothing/Head/hats.yml | 4 +- .../meson.rsi/equipped-EYES-secdog.png | Bin 0 -> 793 bytes .../Clothing/Eyes/Glasses/meson.rsi/meta.json | 6 +- .../secglasses.rsi/equipped-EYES-secdog.png | Bin 0 -> 649 bytes .../Eyes/Glasses/secglasses.rsi/meta.json | 6 +- .../sunglasses.rsi/equipped-EYES-secdog.png | Bin 0 -> 628 bytes .../Eyes/Glasses/sunglasses.rsi/meta.json | 6 +- .../Mask/breath.rsi/equipped-MASK-secdog.png | Bin 0 -> 932 bytes .../Clothing/Mask/breath.rsi/meta.json | 6 +- .../DeltaV/Mobs/Pets/secdog.rsi/meta.json | 74 ++++++++++++ .../DeltaV/Mobs/Pets/secdog.rsi/secdog.png | Bin 0 -> 6134 bytes .../Mobs/Pets/secdog.rsi/secdog_crit.png | Bin 0 -> 1305 bytes .../Mobs/Pets/secdog.rsi/secdog_dead.png | Bin 0 -> 1162 bytes .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Objects/Tanks/anesthetic.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Objects/Tanks/emergency.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Tanks/emergency_double.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Tanks/emergency_yellow.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Objects/Tanks/generic.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Objects/Tanks/oxygen.rsi/meta.json | 7 +- .../red.rsi/equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Textures/Objects/Tanks/red.rsi/meta.json | 7 +- .../equipped-SUITSTORAGE-secdog.png | Bin 0 -> 1108 bytes .../Objects/Tanks/yellow.rsi/meta.json | 7 +- 40 files changed, 368 insertions(+), 15 deletions(-) create mode 100644 Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-livestock.ftl create mode 100644 Resources/Locale/en-US/deltav/prototypes/catalog/fills/crates/livestock-crates.ftl create mode 100644 Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_livestock.yml create mode 100644 Resources/Prototypes/DeltaV/Catalog/Fills/Crates/npc.yml create mode 100644 Resources/Prototypes/DeltaV/InventoryTemplates/secdog_inventory_template.yml create mode 100644 Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/equipped-EYES-secdog.png create mode 100644 Resources/Textures/Clothing/Eyes/Glasses/secglasses.rsi/equipped-EYES-secdog.png create mode 100644 Resources/Textures/Clothing/Eyes/Glasses/sunglasses.rsi/equipped-EYES-secdog.png create mode 100644 Resources/Textures/Clothing/Mask/breath.rsi/equipped-MASK-secdog.png create mode 100644 Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/meta.json create mode 100644 Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog.png create mode 100644 Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_crit.png create mode 100644 Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_dead.png create mode 100644 Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/emergency.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/emergency_double.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/emergency_yellow.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/generic.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/oxygen.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/red.rsi/equipped-SUITSTORAGE-secdog.png create mode 100644 Resources/Textures/Objects/Tanks/yellow.rsi/equipped-SUITSTORAGE-secdog.png diff --git a/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-armory.ftl b/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-armory.ftl index 8a727ed7222..f3fcba063ca 100644 --- a/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-armory.ftl +++ b/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-armory.ftl @@ -1,5 +1,5 @@ ent-ArmoryGrand = { ent-CrateArmoryGrand } - .desc = { eng-CraeArmoryGrand.desc } + .desc = { ent-CrateArmoryGrand.desc } ent-ArmoryUniversal = { ent-CrateArmoryUniversal } .desc = { ent-CrateArmoryUniversal.desc } diff --git a/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-livestock.ftl b/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-livestock.ftl new file mode 100644 index 00000000000..9b47d8078c9 --- /dev/null +++ b/Resources/Locale/en-US/deltav/prototypes/catalog/cargo/cargo-livestock.ftl @@ -0,0 +1,2 @@ +ent-LivestockSecDog = { ent-CrateNPCSecDog } + .desc = { ent-CrateNPCSecDog.desc } diff --git a/Resources/Locale/en-US/deltav/prototypes/catalog/fills/crates/livestock-crates.ftl b/Resources/Locale/en-US/deltav/prototypes/catalog/fills/crates/livestock-crates.ftl new file mode 100644 index 00000000000..354d88f64c7 --- /dev/null +++ b/Resources/Locale/en-US/deltav/prototypes/catalog/fills/crates/livestock-crates.ftl @@ -0,0 +1,2 @@ +ent-CrateNPCSecDog = security dog shipment + .desc = Contains a single mixed-breed dog, trained for security applications. diff --git a/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_livestock.yml new file mode 100644 index 00000000000..c025efd4f6a --- /dev/null +++ b/Resources/Prototypes/DeltaV/Catalog/Cargo/cargo_livestock.yml @@ -0,0 +1,9 @@ +- type: cargoProduct + id: LivestockSecDog + icon: + sprite: DeltaV/Mobs/Pets/secdog.rsi + state: secdog + product: CrateNPCSecDog + cost: 3500 + category: Livestock + group: market diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/npc.yml new file mode 100644 index 00000000000..b628a03e7f4 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/npc.yml @@ -0,0 +1,8 @@ +- type: entity + id: CrateNPCSecDog + parent: CrateLivestock + components: + - type: StorageFill + contents: + - id: MobSecDog + amount: 1 diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/animals.yml index 57d16dfcb4b..15a30f4c02e 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/animals.yml @@ -48,6 +48,7 @@ successChance: 0.5 interactSuccessString: petting-success-soft-floofy interactFailureString: petting-failure-generic + interactSuccessSpawn: EffectHearts interactSuccessSound: path: /Audio/Animals/fox_squeak.ogg - type: Temperature @@ -60,6 +61,116 @@ gender: epicene - type: Bloodstream bloodMaxVolume: 100 + - type: MobPrice + price: 400 - type: Tag tags: - VimPilot + +- type: entity + name: security dog + parent: SimpleMobBase + id: MobSecDog + description: Funnily enough, this pig is actually a dog. + components: + - type: GhostRole + makeSentient: true + allowSpeech: true + allowMovement: true + name: "sentient security dog" + description: "Help out the security team by biting the baddies and barking at everything that moves." + - type: GhostTakeoverAvailable + - type: CombatMode + - type: MovementSpeedModifier + baseWalkSpeed : 3.5 + baseSprintSpeed : 5.0 + - type: NpcFactionMember + factions: + - PetsNT + - type: Sprite + drawdepth: Mobs + sprite: DeltaV/Mobs/Pets/secdog.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: secdog + - type: HTN + rootTask: + task: SimpleHostileCompound + - type: Physics + - type: Speech + speechVerb: Canine + speechSounds: Vulpkanin + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 120 # BIG DOG :3 + mask: + - MobMask + layer: + - MobLayer + - type: MobThresholds + thresholds: # BIG DOG. STRONG DOG + 0: Alive + 100: Critical + 300: Dead + - type: StaminaDamageOnHit + damage: 22 + - type: MeleeWeapon + hidden: true + soundHit: + path: /Audio/Effects/bite.ogg + angle: 0 + attackRate: 0.75 + damage: + types: + Slash: 10 + - type: SlowOnDamage + speedModifierThresholds: + 40: 0.70 + 80: 0.30 + - type: Appearance + - type: Inventory + speciesId: secdog + templateId: secdog + - type: InventorySlots + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: DamageStateVisuals + states: + Alive: + Base: secdog + Critical: + Base: secdog_crit + Dead: + Base: secdog_dead + - type: Butcherable + spawned: + - id: FoodMeat + amount: 2 + - type: ReplacementAccent + accent: dog + - type: InteractionPopup + successChance: 0.5 + interactSuccessString: petting-success-dog + interactFailureString: petting-failure-generic + interactSuccessSpawn: EffectHearts + interactSuccessSound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark2.ogg + - type: Grammar + attributes: + gender: epicene + - type: Bloodstream + bloodMaxVolume: 300 # BIG DOG. MUCH BLOOD :3 + - type: Puller + - type: MobPrice + price: 400 + - type: Tag + tags: + - DoorBumpOpener + - VimPilot diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml index 7cea36b14d3..5f947289994 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml @@ -18,3 +18,33 @@ tags: - CannotSuicide - VimPilot + +- type: entity + name: Laika + parent: MobSecDog + id: MobSecDogLaika + description: Much like her namesake, Laika is a specimen of indeterminate breed, fresh off the streets and ready to tussle. + components: + - type: GhostRole + makeSentient: true + allowSpeech: true + allowMovement: true + name: "Laika" + description: "Security's resident she-dog. Badger the officers for headpats and nip at the heels of violent offenders." + - type: GhostTakeoverAvailable + - type: InteractionPopup + successChance: 1 + - type: Butcherable + spawned: + - id: FoodMeat + amount: 2 + - type: Grammar + attributes: + proper: true + gender: female + - type: Loadout + prototypes: [ MobSecDogLaikaGear ] + - type: Tag + tags: + - CannotSuicide + - VimPilot diff --git a/Resources/Prototypes/DeltaV/InventoryTemplates/secdog_inventory_template.yml b/Resources/Prototypes/DeltaV/InventoryTemplates/secdog_inventory_template.yml new file mode 100644 index 00000000000..f53f586dfec --- /dev/null +++ b/Resources/Prototypes/DeltaV/InventoryTemplates/secdog_inventory_template.yml @@ -0,0 +1,45 @@ +- type: inventoryTemplate + id: secdog + slots: + - name: mask + slotTexture: mask + slotFlags: MASK + uiWindowPos: 1,1 + strippingWindowPos: 1,1 + displayName: Mask + whitelist: + tags: + - PetWearable + + - name: suitstorage + slotTexture: suit_storage + slotFlags: SUITSTORAGE + slotGroup: SecondHotbar + stripTime: 3 + uiWindowPos: 2,0 + strippingWindowPos: 2,5 + displayName: Suit Storage + whitelist: + components: + - GasTank + + - name: eyes + slotTexture: glasses + slotFlags: EYES + stripTime: 3 + uiWindowPos: 0,0 + strippingWindowPos: 0,0 + displayName: Eyes + whitelist: + tags: + - SecDogWearable + + - name: pocket1 + slotTexture: pocket + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 1.5 + uiWindowPos: 2,3 + strippingWindowPos: 1,4 + displayName: Vest + stripHidden: false diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml index cbce21ae691..72830e0d85b 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Fun/misc_startinggear.yml @@ -1,5 +1,13 @@ + #Misc outfit startingGear definitions. +# Laika sec glasses + +- type: startingGear + id: MobSecDogLaikaGear + equipment: + eyes: ClothingEyesGlassesSecurity + #Oldstation Roles - type: startingGear diff --git a/Resources/Prototypes/DeltaV/tags.yml b/Resources/Prototypes/DeltaV/tags.yml index 97acb1eaf67..94808423cf7 100644 --- a/Resources/Prototypes/DeltaV/tags.yml +++ b/Resources/Prototypes/DeltaV/tags.yml @@ -18,5 +18,8 @@ - type: Tag id: MagazinePistolSpecial # For the .38 special ammo and pistol +- type: Tag + id: SecDogWearable # allows Laika to wear meson goggles (and more later?) + - type: Tag id: SpeedLoaderSpecial diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml index 4663fa50df6..e21c90f1f3a 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/glasses.yml @@ -63,6 +63,9 @@ - type: Clothing sprite: Clothing/Eyes/Glasses/meson.rsi - type: EyeProtection + - type: Tag + tags: + - SecDogWearable # DeltaV - let Laika wear meson goggles - type: entity parent: ClothingEyesBase @@ -127,6 +130,7 @@ tags: - HamsterWearable - WhitelistChameleon + - SecDogWearable # DeltaV - let Laika wear sunglasses - type: entity parent: ClothingEyesBase @@ -145,6 +149,7 @@ tags: - HamsterWearable - WhitelistChameleon + - SecDogWearable # DeltaV - let Laika wear secglasses - type: GuideHelp guides: - Security diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index fb5cc393305..44f32ccd102 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -466,9 +466,9 @@ description: The responsibility weighs heavy, like a barbed crown. # DeltaV - changed description to remove THE LAW components: - type: Sprite - sprite: Clothing/Head/Hats/warden.rsi # DeltaV - resprite + sprite: DeltaV/Clothing/Head/Hats/warden.rsi # DeltaV - resprite - type: Clothing - sprite: Clothing/Head/Hats/warden.rsi # DeltaV - resprite + sprite: DeltaV/Clothing/Head/Hats/warden.rsi # DeltaV - resprite - type: entity parent: ClothingHeadBase diff --git a/Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/equipped-EYES-secdog.png b/Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/equipped-EYES-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2fe588c0563efff5f1ace014d0e6c3b15edc53 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV9d*Ob`Ho)PG(@xm{>Y-ueVd6 z#IgFUq#1#M0WQtWuFj4kF3A#4l6bQwTwQd1{ek||d%ZleFI-YEanY^i{mZ_UZ7r)~ z0E=Mm+ge@4?cY}{aG860=llNWbDlq)^Sr@!#?_*<+bmB$xhji%sGh!9JMOx6URA** z|8gJWudN?yTI!Eqw>1lWe=KzU|L=b-t%N*-nWJ}q*s@I8^du6fAwzf>)YGy|8g8`W?pDB?U6>&!!x$|GH=Q6#)kZMiv6Zj&%)zGagL27;}B9)|w9yD_^|U3jQEv z_cFkB|A&hg+M~PYAA{F?<6CE`k+b(>wjoF=Aa9U!fu*}xT= w(pSFCs^H?*JsMr>jP9Rf$iZfBUQ7bBAG1?2m*UNbzz}EfboFyt=akR{0Q|*U?EnA( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/meta.json b/Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/meta.json index 541bdfbedca..f07674580db 100644 --- a/Resources/Textures/Clothing/Eyes/Glasses/meson.rsi/meta.json +++ b/Resources/Textures/Clothing/Eyes/Glasses/meson.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/5a73e8f825ff279e82949b9329783a9e3070e2da", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/5a73e8f825ff279e82949b9329783a9e3070e2da. equipped-EYES-secdog modified from equipped-EYES by TJohnson.", "size": { "x": 32, "y": 32 @@ -14,6 +14,10 @@ "name": "equipped-EYES", "directions": 4 }, + { + "name": "equipped-EYES-secdog", + "directions": 4 + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Clothing/Eyes/Glasses/secglasses.rsi/equipped-EYES-secdog.png b/Resources/Textures/Clothing/Eyes/Glasses/secglasses.rsi/equipped-EYES-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..1f03e516dcbb709bb15cbaa7c846d478bb941fc2 GIT binary patch literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV9d*Ob`Ho)PG(@xm{>Y-ueVd6 z#IgFUq#1#M0WQtWuFj4kF3A#4l6bQwTwQd1{ek||d%ZleFI-YEanY^i{mZ_UZ7r)~ z0E=Mm+ge@4?cY}{aG860=llNWbDlq)^Sr@!#?_*<+bmB$xhji%sGh!9JMOx6URA** z|8gJWudN?yTI!Eqw>1lWe=KzU|L=b-t%N*-nWJ}q*s@I8^Y-ueVd6 z#IgFUq#1#M0WQtWuFj4kF3A#4l6bQwTwQd1{ek||d%ZleFI-YEanY^i{mZ_UZ7r)~ z0E=Mm+ge@4?cY}{aG860=llNWbDlq)^Sr@!#?_*<+bmB$xhji%sGh!9JMOx6URA** z|8gJWudN?yTI!Eqw>1lWe=KzU|L=b-t%N*-nWJ}q*s@I8^TxH&M<=^!a zS8}A!WPT!kbP8MvPDUK}5#}zdSI%8Cs@b>B+@=34?%(DA-@EmvbGv=a`>9ra+IG&> jBf6Xj%U~w$5xl_=q^VJmrYZd$=xzp2S3j3^P6Y-ueVd6 z#IgFUq#1#M0WQtWuFj4kF3A#4l6bQwTwQd1{ek||d%ZleFI-YEanY^i{mZ_UZ7r)~ z0E=Mm+ge@4?cY}{aG860=llNWbDlq)^Sr@!#?_*<+bmB$xhji%sGh!9JMOx6URA** z|8gJWudN?yTI!Eqw>1lWe=KzU|L=b-t%N*-nWJ}q*s@I8^$B+ufx3ld14>^b&@Lzmz z=2Qb|Ha2s&MUF~Gj{eZRbB9BIL1OXeUvv>&c59!`Os`W@gDhoV9GqHE!Kw zKXyO8ySMuLzdy75-fJFhVqj5VVB~OMU=nCxV41`bbLDm39N$Z|cW&R`b=#bCPlV1C zy-&$@<@b*#hcEddu=mdYt*I;zat&@wR(jv&{5{($)cxlkAL8mepzYMwXChz#gAV+e%IsY zr%%!^G7j#&wp7=Db*O#Zh3{&$7u2%$U!7iEAhSJ2>t|hm_tCX~e)b8O37O{<)z(R$1>uowCX4B{9T^|1QQ_(pG^YEqT_1AuwU3Qy)dgy0kV}`nCt9!Ss*SD6vsv+{{ zAlFRY38L3*w?@t6k6v>r=oqumuZ1gnWY>In#`9&v(dD`C*Hm1V3fesVVAqDt8nHLj zx;J0!35enpN#AT59=OX?Sp*c+$nIol4B@C@zHoQlA^#?W$H2&E@O1TaS?83{1OP3~ BrM&6_Pz9>)0vF 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 CZ<)sc literal 0 HcmV?d00001 diff --git a/Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_crit.png b/Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_crit.png new file mode 100644 index 0000000000000000000000000000000000000000..762f0fa302189fb6eb55017bcc75616e3d6ced81 GIT binary patch literal 1305 zcmV+!1?KvRP)aTScjrB07i&W~kDkg`yyiQo%0Op{-!mC3#I+AxXnaiWFDD#i8IJ zy7)EtALuH$DhPrih`71?wMdEgHH8*wU%0tH&U@$basv3%Iy3B^1YnpB&!m#lYJN@X zdq)sMR1=8G%(j-Yi#c>%KacQ<{ty?lx}WQ~1`4Xp0AD}xEVH;nJWrh7axB4n#3QUE z7l==YW1KEXd@FRt<2S)YkG}--TxJ3AiZLC2kN$i6e$yVa@x9FA1sUN|yQ< z)i`WqkU|m?6jZPY9S-8uP0FmZFVXNVqf8z~Zwpm$auiV_Z;aFmO;xFDq^tDksEXYG z=V@y*)86z@66k$(-Oov&Zy%`FT=)0Xb?aw9;03rgTmCZTH1|zPU84g`j~ zDL6Sw(WPHB_Q9zgdbTaXB__BB%RO}m~@unF#;KXEe=X9$Mcd<3H*#V0NK7f zRZS>;$n2*#GX>WVpQjB;64oKg9L~^!zeR3esryuFor^wMfM9Jp%VB80^ls1K)K4m-LEGw z&4NlWh_!{wTL$;-dxBm(xIr(U_^Ce}B(G4M1(75e_L~gKjh{gPe7Zkyg7%Ny)7+bn z%n?fS{Phvh&T-ovnjuOGU6JFBv;0uP4zYE%QT_#8vOAi-Oqe~ECQ()guFq&h<}pcqgLRGfi-hFPZ08Qt{X P00000NkvXXu0mjfj?rNQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_dead.png b/Resources/Textures/DeltaV/Mobs/Pets/secdog.rsi/secdog_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..5e670d2139edd5a1cf3962a4c8689adc493dc593 GIT binary patch literal 1162 zcmV;51afPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGrv}qTEi&j}+Q>IZ*C!J9T zionbP6z~-A6!_m22-QSPvA;&Mq*!Ja zZ*Tt25VKg^pUgQ3u&6a*C|HWo8*Q-qx79a*wtMe>Yv^zF*I8HT9S@AzNzBd|IMJBF z14PVn{|_$li7BFPBr@}JD((B!gpWiQbL-8tG0rs(*a&d;V9R-gf`dpee8bS2F#40? zOuoRW?Pc%>D$srAFfQGGWNxjicO=t}U`3_sR#t5=r=}OxItY0;5{@I_Zu^r#AyKN5 zOul;w8p#mV;Tm+GJ&unbQfj=A&8WWHm`adzK#Z;R7}a9=u@NA{j+;-^T*v5Z3|?-* zbs4>SI->fVs19#ZB-m$h7FqU%DD&$0&XsmGrjJ-!$`&NyI0BML8!%az#iCMNgM@7G zH()uFQpxF`n$F_+{cE_}a{&qCGt%N4MnvsilgJ4fD{KnriIKi8>>IkJhnSuDB4*(9 z)dAIK+m@ODa$+kuRy(OKDr1Sj$tKi^#f@>~7hPGR8dm~3VAs*s)#78Fy{agS^8!AU zCrJ63oV#nRt-{9gGCaQ5hXb)V-hP@#Xip5yvKgL#A-ED~?dqkZ}~ zI7g*u`A^Yt2^pLZ5~1(hq0J^`CVJ$1KxJ4gDk>bg*rj$G;eCl2Y6EhYOe#p^7gkRB zas4{!Nw=0sDXqSkS|P?3n{&%W-!Bv3B6*@FpJyQwjIk2qc+HUz5^_mxe_U%`#7pQY c@Glhj2?VlCIH|oGEdT%j07*qoM6N<$g0p8O5dZ)H literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-secdog.png b/Resources/Textures/Objects/Tanks/anesthetic.rsi/equipped-SUITSTORAGE-secdog.png new file mode 100644 index 0000000000000000000000000000000000000000..6868304980f712adbdd16048978fbcfa719408ce GIT binary patch literal 1108 zcmV-a1grarP)fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000fPDQCGYp+^1z? z3E?B*F+&b0e693&onI8E>-?eEh=k_Au6laYEgWxQEo0<_M}>X4Y)NaJN8QAe%rAwd z4$2(DBt!r|UgDHkCrgoWsd>rlZ{I}Cw@5)en*4Rj7~)8i5$~9&CFz=!ni4%JUzW1U z{db;bYHG6H-Qx%6vt_*xgKHP670dcQwyf$2IG*4#-}DzGr?LV0)kDGH2k|KQ0sIu=r$`LF0wh2JBtQZrKmsH{0wh2J{~>{uxYz7#-geh+q()`D z|L`$XO`)7eSuS}}c=*7*d(V;P;dfbEy{6QB`|?>n9e#~vJytmHAH8z73y)kp0RVy^ zPxkhd4HNKc80V6GMN-u+YxI3i9|w5rINtfj@SZN`SV+9wVGry8D(*8Gh+R-p}+l6c-Y^6 z8(7>!0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZ&ClJ^d!2j;4^^KWIESJlH zv1SSq!l_s+&eRJ${&5u8Gnm*NM)8H+$Ex$ziLiE zo8vf2TRNSVZnrz83v0MvsZ<2oyfIPRL;%>;@AqM(Ua!kwFwnu&8s1KWE5BbS$D{RS zPmt@~+XMANuI-&IUrIDgp|98L`RG|YXzxp_>*cXPoD$aQD)mK?m? zl2z}V!1*F^oy+BX>sB(%{@XH8vm{$2i1WI1>}guHpS3j;m~-oZb8a*>nDaTq25;Aiv<>!N?p>`x+pyWJ4@e+k z6b>apgKhC)VU77;O42a}XBYEmv3>&1(#Lyd4d7((GcuLWqs1CPWU8kS5+DH*AORAv aCh!*kgyTYeTv5;f0000