Preserve auras applied by already-cast instant-cast spells between updates.
Preserve auras applied by already-cast instant-cast spells between updates.
This fixes the problem where an instant-cast spell cast in the simulator
applies a debuff on the target which is added to the state machine, then
instantly removed before being added to the true aura database. For
example, a subtlety rogue's Hemorrhage applies a DoT on the target, but
there is a small lag betwen the spell hitting the target and the DoT being
applied. When the user casts the spell, OvaleFuture queues it up to the
cast in the simulator, which applies a DoT to the target in the simulator.
However, the simulator's state is reset on every update, so the debuff was
being lost until it appeared on the actual target. During that brief lag,
Ovale thinks Hemorrhage still needs to be cast to apply the DoT.
Instead of dumping the entire state aura database for each update, just
remove state auras that are older than the corresponding auras in the true
aura database. This preserves debuffs applied in the simulator that are
the result of instant-cast spells until they appear in the true aura
database.
git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1354 d5049fe3-3747-40f7-a4b5-f36d6801af5f