I've had this idea for a couple days. An auto-reloading animal dropper.
First, let me show the basic set up via a crappy Microsoft Paint picture, and then i'll explain how it works.
Now, let's start off with the tower where the dogs are chained. Have female dogs chained on the top of that tower, with male dogs kept somewhere safe to spore-breed with the females up there. Whenever any puppies are born, they'll get washed off the tower by the water. Obviously the water is to be kept at a level so it's enough to knock the dogs off, but not enough to slowly suffocate the mothers with repeated drowning. Since the mothers will be chained, they shouldn't* be knocked off the tower, it's just the puppies that will.
There's two ways to go about this. Have the drop from the tower to the water be a long one if you want to employ corpses, or a short one if you want to employ living ammunition. Either way, living or dead, the puppies will then be swept away to where the retractable bridge is. Once you've accumulated enough canine ammunition, wait until the enemies are over the floor grates down below which mark where the puppies will go, and open the bridge. They will suddenly find themselves with puppies smashing into their heads and water knocking them down. If said puppies are still alive they can potentially fight against those enemies as well, causing further damage.
All the while, the water's draining through the floor grates and making its way back up to the main loop up top, thus avoiding any needless wastefulness. Simply wait for the dropper to be reloaded with more puppies and it can be used again.
This can of course also be used with other animals, preferably strong ones like alligators and such if you go with the "living ammunition" route. If using the corpses instead, you can just use cats or something.
*Correct me if i'm wrong in that regard, because if i am then this whole idea's pretty much null.