Size() method returns the size/length of a queue.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@992 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add a wrapper for the Lua garbage collector using the Pool interface.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@993 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add Reset method to Pool modules that re-initializes to empty states.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@994 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Update player's spells/glyphs/talents when a spec-change is detected.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@995 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix tickets 245 & 281 by adding Aura of the Elements as a magic debuff.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@996 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Generalize TimeToEnergyFor to TimeToPowerFor and add more aliases.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@997 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Remove unneeded private function isDebuffInList().

We can check for a debuff named by a spell list directly using
OvaleState:GetAura() more efficiently since it uses the cached auras
instead of directly looping over the player's debuffs using the Blizzard
API function UnitDebuff().

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@998 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Make OvaleGUID:GetUnitId() prefer returning "primary" unit IDs.

These unit IDs are ones that receive UNIT_AURA events from the game
servers.  This makes the CLEU event handler not double-process any
primary unit IDs that may happen to also have "secondary" names, e.g.,
"mouseover".

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@999 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Clean up debugging output for OvaleAura module.

Remove the need to pass "event" as a function argument everywhere.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1000 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Minor changes to OvaleAura CLEU handler for readability.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1001 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Expose way to trace spellcasts by spell ID or spell name.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1002 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Refactor latency calculation into a separate OvaleLatency module.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1003 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add timestamps to PaperDoll event handlers for debugging.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1004 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Centralize stat descriptions so that they may be more easily localized.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1005 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Keep snapshots of player stats from the past 5 seconds.

A snapshot is taken each time one of the player's stats changes, with
changes that occur at the same time (based on GetTime()) collected into
the same snapshot.

OvalePaperDoll.stat is now a pointer to the head of the snapshot queue,
pointing to the most recent snapshot.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@1006 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Separate the base damage multiplier from the spell-specific one.

The "base damage multiplier" is the one on the character sheet and applies
to all attacks -- it is referenced as "baseDamageMultiplier" in the
player's stat snapshot.

The "spell-specific damage multiplier" for a spell is an extra damage
multiplier for that spell, excluding the base effects, that includes
effects from buffs, debuffs, and stances -- it is referenced as
"damageMultiplier" in the spellcast and aura information.

Move OvaleAura:GetDamageMultiplier into OvaleFuture and make it private
since OvaleFuture is the only one that uses it.

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