Major changes to OvaleFuture to properly handle spellcast event sequence.
Major changes to OvaleFuture to properly handle spellcast event sequence.
* Fix long-standing bug regarding UNIT_SPELLCAST_* events. The proper
order order of events is actually:
SENT > START > SUCCEEDED (cast-time spells)
SENT > SUCCEEDED (instant-cast spells)
Save the target, spell and lineID info from the SENT event to identify
later events regarding the same spellcast.
* Save the most recent spellcast information in Ovale.lastSpellcast, which
includes a snapshot of the stats that are active for that spellcast.
Copy this snapshot information into DoT auras applied by the spellcast.
This assumes that the DoT being applied was caused by the most recent
spellcast.
* Auras changes that are simultaneous with a spellcast actually occur
slightly after the UNIT_SPELLCAST_SUCCEEDED event and before the CLEU
SPELL_DAMAGE (or other spell result) event. Capture new snapshots and
adjust the spellcast snapshot information accordingly to ensure
accuracy.
This should fix the following tickets:
* Ticket 260 where target.Debuff*() and Last*() script conditions don't
always show the same player stats for the same spell. Both now pull
from the same source so they show the same information.
* Ticket 262 where the DebuffComboPoints() condition was always returning
zero since previously OvaleAura didn't have access to combo point
information. The combo point information is now saved with the
spellcast snapshot that is copied into the DoT aura.
git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@980 d5049fe3-3747-40f7-a4b5-f36d6801af5f