Creates separate timers for swings and casts, but maintains a mutual...

...lockout of 1 second. If a post cast delay is longer than that, you can swing a weapon while waiting for your spell to go off CD instead of being inactive. Also, if you are casting a harmful targeted spell, but your spell is currently on cooldown, you instead try to attack with your current weapon. This means that holding down the splash hotkey will alternately cast the splash spell and swing at the enemy.

The point of this is:
1) A quality of life improvement.
2) Making splash spells more viable, since they now replace one auto attack, instead of two.
3) Allowing post cast delays to be used for spell lockouts, instead of completely rendering a player inactive for the time of the post cast delay. This means we can now balance spells over cast delays properly. i.e. we could give Karahol a 20 second post cast delay, forcing the player to swing only without being able to cast. Generally, the framework is easier to work with.