Fix global variable leakage.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1229 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Print the total number of spells in the spellbook.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1230 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Iterate through flyout spells when scanning spellbooks.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1231 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Return a more sensible value in GetStealable if no such auras are found.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1232 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix spurious "nil" in debugging message output.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1233 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Move debugging statement to less verbose location.

RemoveAurasOnGUID() is used in multiple places, sometimes just for
clean-up, but we only care about when they are removed if it's for an
inactive unit.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1234 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix aura tick information for re-applied auras.

Use the correct snapshot when estimating tick length and tick times of a
periodic aura.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1235 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Verify that a spell has associated SpellInfo before using it.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1236 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Move spellcast state from OvaleState into OvaleFuture.

The following methods from OvaleState are now mix-in methods for the state
machine:

    OvaleState:ApplySpell()    --> state:ApplySpell()
    OvaleState:StartNewFrame() --> state:Initialize()
    OvaleState:Reset()         --> state:Reset()

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1237 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Workaround for ticket 290 - Dream of Cenarius Second Charge Rip.

When a buff expires simultaneous with a spellcast, a debuff applied by
that spellcast may not snapshot the effects of the expired buff.

Tag an expired buff as "consumed" if the aura ended early and the ending
cast time of the previous spellcast is within 0.3s of the expiration time
of the aura.  Treat an aura as still "active" if it was consumed and we
are checking within 0.3s of when it has expired.  This allows an aura that
provides a damage multiplier to still be added into the snapshot for any
applied auras.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1238 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Move all aura-related methods into OvaleAura and its state machine.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1239 d5049fe3-3747-40f7-a4b5-f36d6801af5f
G/C auras in the state machine for each new frame.

There aren't that many to G/C from frame to frame and it keeps the state
aura table under control.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1240 d5049fe3-3747-40f7-a4b5-f36d6801af5f