Rewrite OvaleFuture to more accurately track player and pet spellcasts.
Rewrite OvaleFuture to more accurately track player and pet spellcasts.

Begin tracking spellcasts from the moment that the spellcast is queued in
the spell queue (UNIT_SPELLCAST_SENT) through successful spellcast
(UNIT_SPELLCAST_SUCCEEDED) and a finishing event (CLEU) to note whether
the spell hit or miss the target.

Be much more accurate about the target of spellcasts.  When a spell is
queued, a preliminary target is determined based on the name of the
target, focus, and mouseover units.  The target of the spellcast is fixed
up using CLEU events that reveal the GUID of the target of the spellcast.

Fix the simulator state upon reset to properly set the information for any
active spellcasts.

Remove tracing of particular spells in favor of more consistent debugging
statements to better show the flow of event processing.

ultijlam/ovale,Xeltor/ovale,eXhausted/Ovale,ultijlam/ovale,eXhausted/Ovale,ultijlam/ovale,eXhausted/Ovale