Ovale Spell Priority

Change log

------------------------------------------------------------------------
r949 | jlam | 2013-07-07 04:45:32 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   A /tags/5.3.3 (from /trunk:948)

Tagging as 5.3.3 release.
------------------------------------------------------------------------
r948 | jlam | 2013-07-07 04:43:58 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleData.lua

Fix ticket 249 - Nature's Vigil is a 10% buff instead of 20%.
------------------------------------------------------------------------
r947 | jlam | 2013-07-07 04:43:51 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleSwing.lua

Simplify check for whether player is dual-wielding.
------------------------------------------------------------------------
r946 | jlam | 2013-07-07 04:43:44 +0000 (Sun, 07 Jul 2013) | 7 lines
Changed paths:
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleData.lua

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
------------------------------------------------------------------------
r945 | jlam | 2013-07-07 04:43:37 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvalePaperDoll.lua

Snapshot weapon damage as a player stat.
------------------------------------------------------------------------
r944 | jlam | 2013-07-07 04:43:29 +0000 (Sun, 07 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePaperDoll.lua
   M /trunk/OvaleState.lua

Snapshot a DoT's damage multiplier when it is applied or refreshed.
------------------------------------------------------------------------
r943 | jlam | 2013-07-07 04:43:22 +0000 (Sun, 07 Jul 2013) | 21 lines
Changed paths:
   M /trunk/OvaleCondition.lua

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.
------------------------------------------------------------------------
r942 | jlam | 2013-07-07 04:43:15 +0000 (Sun, 07 Jul 2013) | 8 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleState.lua

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).
------------------------------------------------------------------------
r941 | jlam | 2013-07-07 04:43:08 +0000 (Sun, 07 Jul 2013) | 33 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePaperDoll.lua
   M /trunk/OvaleState.lua

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
------------------------------------------------------------------------
r940 | jlam | 2013-07-07 04:43:01 +0000 (Sun, 07 Jul 2013) | 5 lines
Changed paths:
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePaperDoll.lua

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).
------------------------------------------------------------------------
r939 | jlam | 2013-07-07 04:42:54 +0000 (Sun, 07 Jul 2013) | 12 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleState.lua

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.
------------------------------------------------------------------------
r938 | jlam | 2013-07-07 04:42:46 +0000 (Sun, 07 Jul 2013) | 14 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleState.lua

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
------------------------------------------------------------------------
r936 | jlam | 2013-07-05 07:02:49 +0000 (Fri, 05 Jul 2013) | 14 lines
Changed paths:
   M /trunk/OvaleState.lua

Catch up with Eclipse changes in MoP.

- Eclipse energy is added at the end of the spellcast, not when the spell
  lands on its target.

- Similarly, the Eclipse buff state procs shortly after the final
  spellcast is complete, not after the final spell lands on its target.

- Handle spells like Starsurge that add energy in whatever direction we're
  already moving by allowing a new SpellInfo parameter "eclipsedir=1" to
  flag these types of spells.

- Handle Euphoria, which doubles the amount of Eclipse energy generated by
  spells when not in an Eclipse state.
------------------------------------------------------------------------
r935 | jlam | 2013-07-05 07:02:40 +0000 (Fri, 05 Jul 2013) | 6 lines
Changed paths:
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleCondition.lua

Allow SpellInfo to specify a function to compute Damage().

A SpellInfo() declaration can include a "damage=FunctionName" parameter,
where FunctionName is an Ovale script function defined using AddFunction
that is used directly by the Damage() script condition to compute the
estimated damage of a spell.
------------------------------------------------------------------------
r934 | jlam | 2013-07-05 07:02:33 +0000 (Fri, 05 Jul 2013) | 17 lines
Changed paths:
   M /trunk/OvaleCompile.lua

Add list=<name> parameter to SpellInfo to add/create to the spell list.

This is an alternative way to create a spell list via SpellInfo as opposed
to listing them all directly in SpellList, i.e, these are equivalent:

    Define(buff1 12345)
      SpellInfo(buff1 list=trinket_proc_intellect)
    Define(buff2 54321)
      SpellInfo(buff2 list=trinket_proc_intellect)

and

    Define(buff1 12345)
    Define(buff2 54321)
    SpellList(trinket_proc_intellect buff1 buff2)

This makes it easier to incrementally append to a spell list definition.
------------------------------------------------------------------------
r932 | jlam | 2013-06-10 21:35:21 +0000 (Mon, 10 Jun 2013) | 1 line
Changed paths:
   M /trunk/OvaleFuture.lua

UNIT_SPELLCAST_SENT returns the spell name, not spell ID.
------------------------------------------------------------------------
r931 | jlam | 2013-06-10 21:34:58 +0000 (Mon, 10 Jun 2013) | 4 lines
Changed paths:
   M /trunk/OvaleState.lua

Fix rest of stacking damage buffs error.

Back out remainder of r814 that was causing errors with stacking damage
buffs.
------------------------------------------------------------------------
r930 | jlam | 2013-06-10 21:34:22 +0000 (Mon, 10 Jun 2013) | 7 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleData.lua
   M /trunk/OvaleState.lua

Change internal implementation of spell lists.

Move internal representation of spell lists from lists whose values are
the spell IDs to tables indexed by spell IDs with a default value of
"true".  This makes it easier to do the most common operation, which is to
check whether a given spell ID is in the spell list -- we can now do a
simple table lookup instead of walking the list.
------------------------------------------------------------------------
r929 | sidoine | 2013-06-02 14:44:59 +0000 (Sun, 02 Jun 2013) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua

Added CritChance and LastSpellCritChance conditions, needed by new SimulationCraft imports
------------------------------------------------------------------------

Facts

Uploaded on
Jul 07, 2013
Game version
  • 5.3.0
Filename
Ovale-5.3.3.zip
Size
278.2 KiB
MD5
cad79380423d9280a192eb358509cf1a
Type
Release
Status
Normal
Downloads
2,407

Authors