I’m sure there is some clumsy pokeball-esque way to make this work in the code, like the way blob canisters work, in a way.
So you use restraints on the dog, to turn it into an item, then use the captured dog item in a crafting recipe with an assembled carrier item that can be dissembled to retrieve the carrier and produce a friendly dog. The pet carrier if it gets damaged, produces a similarly damaged pet once released. Run the pet carrier item a couple times with your car, you get a dented/smashed dog when you activate it. Maybe it’s a nano-bot bionic pet carrier mandated by the bizarre government before the cataclysm that restores it’s health, gives it vaccinations and whatnot?
NPCs could work the same way, ‘you Activate your Scorchtech Nanobot-Healing Handcuffs’, 'You gentlly guide your Travis Tuttle into your Scorchtech Nanobot-Healing Handcuffs!, ‘You pick up your Captured Travis Tuttle!’ ‘You strain under the weight!!’ then place them like an item on a seat or trunk, and then ‘You disassemble your Captured Travis Tuttle!’ and they go about their business wildly spraying bullets from their UZI at squirrels and at full health, thanks to Scorchtech healing technology!
Maybe a captured NPC could be used in recipes like more accurate vehicle turrets?