Remove some unused methods
Improve weapon attack logic to better handle picks, probes, and h2h
Store the current weapon group name
Move NPC state update handling into a separate method
Remove some unnecessary debug messages
Avoid trying to play animations without any animation sources
Rename the follow-up upper character state enum
Fix the completion amount for 0-length anims
Handle marksmen weapon attack sequences
Handle spell-casting animation sequences
Play the appropriate casting animation sound
Handle controllers in the NPC's bound object parts
Add beginnings of melee hits
Use the attack strength as determined by how long the attack was held
Don't play casting animations for enchantments
Use time values for the aniamtion's start, stop, and loop points

This seems to be closer to the expected behavior. This more cleanly handles 0-
length animations, especially where the start marker comes after the stop
marker while still being on the same time key.
Say something from the "hit" dialog topic when losing health
Play a swish sound when attacking
Handle the "land" soundgen type
Set up the weapon state in the CharacterController constructor