ok here is my idea for a !!sock!! trap
Make a wooden floodgate and build it into position and connect it with fire safe mechanisms to lever 1.
Make two single tile raising drawbridges to either side of the floodgate, connected to lever two and three.
(additional drawbridges and levers are possiable for more !!shots!!)
at some distance above each the draw bridges you have a hatch connected to a lever, and the hatches are dump zones.
use whatever method you want to produce the !!floodgate!!, then pull lever 1, hiding the floodgate and it's fire.
load the drawbridges by dumping whatever objects you want to use as !!missiles!! booze barrels, socks, wooden items, whatever.
then pulling the hatch levers to drop the materials onto the drawbridges. The items are all forbidden as a function of being dumped for safety, we do not want !!dwarves!! carrying !!socks!! back into the fort. The hatch system of reloading is also a safety measure
in case the hidden fire sets things on fire early. Note booze barrels dannot be dumped, the barrell will be delivered empty,an alternate method is needed for booze barrels.
operation: open the hatches to load the draw bridges, close the hatches, and start dumping the next set of ammo.
Raise the floodgate to set the items on !!fire!!, raise a bridge to fling burning items all over the place, including up to 3 z levels high for the flying invaders. optional: leave the drawbridges up to block a 3 wide corridor while the invaders mill about getting burned.
Timing on this is about a 100 step delay once the levers are pulled, so you may need other methods of holding the invaders in the firetrap corridor.
I had a wooden artefact floodgate that caught on fire, it took me 5 !!mechanics!! to reconnect it with a firesafe mechanism, but once I had done so, raising the floodgate would start a shrubbery fire and I'd watch as the goblin invasions die in flames.