Combination weapons

A combination weapon is a close-quarters gun hybrid combining the features of both a firearm and an edged melee weapon.[1] Examples of gun hybrids include knife/pistols and pistol/sword combinations.

History

According to the book Weaponry: An Illustrated History, by Chuck Wills, between the late 16th century and the advances in repeating firearms in the mid 19th century, blades or clubs were often fitted onto guns, because only one shot could be fired from the gun. Without an alternative weapon attachment, they became useless at close range. Some of the first included the German axe-pistol, made in the central European region of Silesia. This weapon combined a flintlock pistol with a battleaxe. Later, a pistol-sword combination formed in the mid 18th century, which was apparently used mainly by marines and naval officers in boarding engagements at sea. Additionally, Dumonthier & Sons produced several knife pistol combinations. Pocket knives with zip guns inside were made by Unwin & Rodgers, and an Indian gunsmith fitted a percussion cap gun to a mace in the 19th century. Even some shields were fitted with barrels, sometimes designed to look like a spike, and other times placed in cleverly concealed holes.

gollark: How do you know your password is the right one?
gollark: I should assign unique IDs to the other sandbox escape bugs.
gollark: My "fix" is this:```lua--[["Fix" for bug PS#E9DCC81BSummary: `pcall(getfenv, -1)` seemingly returned the environment outside the sandbox.Based on some testing, this seems like some bizarre optimization-type feature gone wrong.It seems that something is simplifying `pcall(getfenv)` to just directly calling `getfenv` and ignoring the environment... as well as, *somehow*, `function() return getfenv() end` and such.The initial attempt at making this work did `return (fn(...))` instead of `return fn(...)` in an attempt to make it not do this, but of course that somehow broke horribly. I don't know what's going on at this point.This is probably a bit of a performance hit, and more problematically liable to go away if this is actually some bizarre interpreter feature and the fix gets optimized away.Unfortunately I don't have any better ideas. Also, I haven't tried this with xpcall, but it's probably possible, so I'm attempting to fix that too.]]local real_pcall = pcallfunction _G.pcall(fn, ...) return real_pcall(function(...) local ret = {fn(...)} return unpack(ret) end, ...)end local real_xpcall = xpcallfunction _G.xpcall(fn, handler) return real_xpcall(function() local ret = {fn()} return unpack(ret) end, handler)end```which appears to work at least?
gollark: Fixed, but I don't really know how or why.
gollark: ... should I create a bug report?

References

  1. Richard Holmes,Weapon: A Visual History of Arms and Armour,ISBN 9781405363297,p.158.

See also


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.