One-handed weapons, shields, and punches. I'll post something about blocks and binds a bit later, I needed to figure out shields first. We also need to talk about how to bring all this stuff into tile space.
I realized that the ready stance for a one-handed weapon is still ambiguous, unlike a multigrasped weapon -- we originally specified a one-handed ready position, but that doesn't give you an unambiguous orientation for the weapon. Having the hilt/haft always point straight back to the shoulder would be goofy, so we need to either have a separate pivot point for one-handed weapons, or reuse the multigrasp inactive pivot. The latter is simpler and I think it's sufficient.
We need a separate pivot for shields, though. While the weapon haft might point back toward your hip, the shield would point more toward your heart, or just below. So each limb has a shield pivot as well.
So, in summary, the body raws would define four special positions for each limb or tentacle or whatever, in addition to the limb's "shoulder joint" position and maximum extension:
- One-handed ready
- Multigrasp active ready (for when this grasp is the active one in multigrasp)
- Weapon pivot (for when this hand is the inactive one in multigrasp, and for when this hand is holding a one-handed weapon)
- Shield pivot (generally just below the heart, I think)
Alright, weapon positions are now totally unambiguous (I think) and our control scheme is still reasonably elegant. We can make shields unambiguous too.
As long as you describe shields as a 2D disc, this is pretty easy. All you need to describe such a disc is 1) its center (the grasp holding it), 2) its radius (defined directly or indirectly by item raws), and 3) its orientation (a vector perpendicular to the disc). We just handled orientation -- the shield always points away from the shield pivot. Rectangular shields introduce the problem of rotation around the shield's central axis, which our control scheme can't easily accomodate, so let's not try to model those.
Maneuvering a shield (for offensive attacks, at least) will be exactly like maneuvering a very short weapon -- slashes, thrusts, etc. still apply. Although fully extending your arm for a shield bash seems a little weird -- maybe shields could reduce maximum extension of the limb by 33% or something. Details, details.
Incidentally, punching people will also be exactly like maneuvering a very short weapon. "Thrust" to jab, "slash" for a haymaker, backhand, uppercut or hammer fist. Note that the pivot is irrelevant with a very short weapon -- the pivot is
not the center of the range-of-motion sphere, it just provides orientation for the weapon, and a fist doesn't need orientation per se. We can just treat it as a small sphere.
A side note on non-linear weapons: as long as the weapon's handle is still linear (which is true for whips and flails), our control scheme doesn't have to change, even if the weapon's tip is moving in all kinds of complicated ways. This is a good thing.