No need to use GetLocale() -- the locale table is stored in Ovale.L

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@808 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix minor copy and paste error.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@809 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Minor change to make local addon variable name match the file name.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@810 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Teach compiler.pl how to properly inherit methods from parent classes.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@811 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Move debug method to dump unit auras to OvaleAura.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@812 d5049fe3-3747-40f7-a4b5-f36d6801af5f
OvaleAura's UpdateAuras() should never be called outside of the module.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@813 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add GetDamageMultiplier(spellId) method to OvaleState.

This method accounts for auras that are removed by spells that are still
in flight to their targets.  Use this method in place of the one from
OvaleAura in OvaleCondition since OvaleCondition should only reference the
current frame state.

Change the implementation in OvaleAura to not maintain the current damage
multiplier while scanning the auras and to try to account for stacking
auras.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@814 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Improve encapsulation of OvaleFuture and improve memory usage.

Make some unnecessarily public tables private and provide descriptive
accessor methods to access those tables.

Be slightly more memory-efficient in OvaleFuture by using a table pool
managed by OvalePool to avoid creating then throwing away small tables
each time the player casts a spell.

Also rename some variables in OvaleFuture to make it more clear what the
contents of those variables contain.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@815 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Convert OvaleBestAction:Compute() to use a lookup table.

This change converts the Compute() method of OvaleBestAction to use a
lookup table instead of cascading if-else statements for efficiency.  As a
side-effect, it is also easier to understand and maintain the code this
way.

Re-add node IDs to each node of the abstract syntax tree in OvaleCompile.
Node IDs are used in the debugging messages for OvaleBestAction.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@816 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Fix TimeToMaxEnergy() when max energy exceeds 100.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@817 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add rate-of-change to ``Health'', ``HealthMissing'', and ``HealthPercent''.

The rates are calculated from the current health and maximum health of the
specified unit and the estimated DPS against that unit.  This makes the
``Health'', ``HealthMissing'', and ``HealthPercent'' conditions return a
time interval that can be used by OvaleBestAction to compute sensible time
intervals, e.g., ``target.HealthPercent() <25'' has a time estimate
associated with it.

Change the private TimeToDie() method to return a triplet of:

    time to die, current health, maximum health

to support the new calculations.

Enhance the private TimeToDie() method to be more accurate within the
first few seconds of targeting a new mob.

Change the ``DeadIn'' condition to be an alias of the ``TimeToDie''
condition.

Change Life/LifeMissing/LifePercent to be aliases of
Health/HealthMissing/HealthPercent instead of vice versa, as the latter
are names that correspond to the SimulationCraft Action List grammar and
are more likely to be looked up.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@818 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Rename some methods in OvaleState to be more descriptive of their actions.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@819 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Only check across player-applied auras when checking auras on all targets.

OvaleAura only accurately tracks every aura applied by the player.  For
auras applied by anyone else, OvaleAura only saves the one with the latest
expiration time.  Rename the GetAuraOnAnyTarget methods to
GetMyAuraOnAnyTarget in both OvaleAura and OvaleState.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@820 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Remove unused code and miscellaneous cleanup in OvaleCondition.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@821 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Enhance GetAura methods to accept the name of a spell list.

This allows for doing things like:

    OvaleAura:GetAura("player", "melee_haste", "HELPFUL")
    OvaleState:GetAura("player", "melee_haste", "HELPFUL")

to get the first buff from the melee_haste spell list that is found on the
player.

As a side-effect of this change, the SpellInfo parameters that take a
buff spell ID, e.g., buffnocd, buff_combo, etc., can now take a spell list
name instead.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@822 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add a new method OvaleData.GetSpellName(spellId).

This returns the name associated with the given spell ID and guards
against nil spell IDs.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@823 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Code consistency: rename a variable to match coding conventions.

git-svn-id: svn+ssh://svn.curseforge.net/wow/ovale/mainline/trunk@824 d5049fe3-3747-40f7-a4b5-f36d6801af5f
Add missing embedded library AceTimer-3.0 used by OvaleEnemies.

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