Extend tracking of auras cast by others to track all auras.

The assumption is that it's not possible for one caster to put more than
one aura of a given ID on a target, which should be true.

Change GetMyAuraOnAnyTarget to GetAuraOnAnyTarget, which allows for
specifying whether to check for only "my" auras or auras cast by anyone.
With the associated change to extend aura tracking above, the following
script conditions should provide more accurate answers:

    BuffCount, DebuffCount
    OtherBuffExpires, OtherDebuffExpires
    OtherBuffPresent, OtherDebuffPresent
    OtherBuffRemains, OtherDebuffRemains

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@938 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Don't cheat and stash an extra "Magic/Disease/etc." aura.

Remove the workaround that stashed an extra aura whose spellId was the
debuff type of the aura.  This was to allow for implicit spell lists named
"Magic", "Poison", "Disease", and "Curse" that could be used where other
spell list names are used.

We now just check all of the auras on the target to see if there is one of
the named debuff type on the target.

As part of the cleanup, rename some "spellId" variable names to "auraID"
to reduce namespace collision.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@939 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add OvalePaperDoll:SnapshotStats() method that snapshots player stats.

Change the internal representation of player stats by storing them in a
table whose members are the stat names, e.g., agility.  The table's
contents are directly copied into the table provided to SnapshotStats(t).

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@940 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Snapshot player stats when a spell is cast and when DoTs are applied.

The most recent successfully landed cast of a spell is saved in a table
indexed by target and spell ID, and contains all of the information for
that spellcast, including cast time and also a snapshot of the player
stats.

Player stats are snapshotted both at the start of a cast and when it is
sent to the server so that OvaleState can approximately know the player's
stats at the end an active spellcast.

Player stats are also snapshotted when a DoT is applied or refreshed.

Introduce a new generalized public method OvaleFuture:GetLastSpellInfo()
that returns information about the last successfully landed spell.  Remove
the following superseded methods:

	GetLastAttackPower
	GetLastComboPoints
	GetLastCritChance
	GetLastDamageMultiplier
	GetLastSpellpower

Change the following conditions to take a target since spellcast
information is also tracked by target:

	LastSpellAttackPower
	LastSpellComboPoints
	LastSpellCritChance
	LastSpellDamageMultiplier
	LastSpellEstimatedDamage
	LastSpellMastery
	LastSpellSpellpower

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@941 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Adapt GetAura() to store results in a table passed to the method.

This affects the GetAura method in OvaleAura, OvaleState and
OvaleCondition.

This change allows for efficient lookup of any of the properties of the
aura found by GetAura if needed, while preserving the base information in
the return values for GetAura (start, ending, count, gain).

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@942 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add new script conditions.

The following two conditions allow for inspection of the player's current
stats:

    MeleeCritChance
    RangedCritChance

The following script conditions allow for examining the player's stats at
the time the given DoT was applied on the target.

    DebuffAttackPower
    DebuffSpellpower
    DebuffMeleeCritChance
    DebuffRangedCritChance
    DebuffSpellCritChance
    DebuffSpellHaste
    DebuffMastery

This information can be used to determine whether or not to overwrite an
existing DoT on the target.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@943 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Snapshot a DoT's damage multiplier when it is applied or refreshed.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@944 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Snapshot weapon damage as a player stat.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@945 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add WeaponDamage(hand) script condition and use MH/OH damage in formulas.

The Damage() and LastSpellEstimatedDamage() script conditions now include
MH/OH weapon damage in their calculations as simple linear terms:

    bonusmainhand * MH_WEAPON_DAMAGE
    bonusoffhand * OH_WEAPON_DAMAGE

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@946 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Simplify check for whether player is dual-wielding.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@947 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix ticket 249 - Nature's Vigil is a 10% buff instead of 20%.

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