Originally written by codecypherz.
Updates (with permission) by Clorifex of Garland Tools.
With special thanks to Hezkezl, ZeroSorrowsong, Erin Longhurst and Rogueadyn.