Ovale Spell Priority

Change log

------------------------------------------------------------------------
r1012 | jlam | 2013-08-14 21:14:33 +0000 (Wed, 14 Aug 2013) | 1 line
Changed paths:
   A /tags/5.3.9 (from /trunk:1011)

Tagging as 5.3.9 release.
------------------------------------------------------------------------
r1011 | jlam | 2013-08-14 21:13:34 +0000 (Wed, 14 Aug 2013) | 4 lines
Changed paths:
   M /trunk/OvalePaperDoll.lua

Treat snapshotTime as a field that needs to be copied for snapshots.

This fixes auras not gaining any snapshots when "aura" debugging is
enabled.
------------------------------------------------------------------------
r1010 | jlam | 2013-08-14 21:13:14 +0000 (Wed, 14 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleAura.lua

Add more debugging info for OvaleAura for when DoTs are detected.
------------------------------------------------------------------------
r1009 | jlam | 2013-08-14 21:12:50 +0000 (Wed, 14 Aug 2013) | 4 lines
Changed paths:
   M /trunk/OvaleOptions.lua
   M /trunk/OvalePaperDoll.lua

Add a "snapshot" debug toggle to only know when a new snapshot is taken.

Quiet down the debugging for PaperDoll a bit by removing some lines that
were needed solely for debugging the MH/OH damage computation.
------------------------------------------------------------------------
r1007 | jlam | 2013-08-10 18:40:50 +0000 (Sat, 10 Aug 2013) | 13 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePaperDoll.lua
   M /trunk/OvaleState.lua

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.
------------------------------------------------------------------------
r1006 | jlam | 2013-08-10 18:40:41 +0000 (Sat, 10 Aug 2013) | 8 lines
Changed paths:
   M /trunk/OvalePaperDoll.lua

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.
------------------------------------------------------------------------
r1005 | jlam | 2013-08-10 18:40:29 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvalePaperDoll.lua

Centralize stat descriptions so that they may be more easily localized.
------------------------------------------------------------------------
r1004 | jlam | 2013-08-10 18:40:20 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvalePaperDoll.lua

Add timestamps to PaperDoll event handlers for debugging.
------------------------------------------------------------------------
r1003 | jlam | 2013-08-10 18:40:11 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/Ovale.toc
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleDamageTaken.lua
   M /trunk/OvaleFuture.lua
   A /trunk/OvaleLatency.lua

Refactor latency calculation into a separate OvaleLatency module.
------------------------------------------------------------------------
r1002 | jlam | 2013-08-10 18:40:03 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleFuture.lua
   M /trunk/OvaleOptions.lua

Expose way to trace spellcasts by spell ID or spell name.
------------------------------------------------------------------------
r1001 | jlam | 2013-08-10 18:39:54 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleAura.lua

Minor changes to OvaleAura CLEU handler for readability.
------------------------------------------------------------------------
r1000 | jlam | 2013-08-10 18:39:42 +0000 (Sat, 10 Aug 2013) | 3 lines
Changed paths:
   M /trunk/OvaleAura.lua

Clean up debugging output for OvaleAura module.

Remove the need to pass "event" as a function argument everywhere.
------------------------------------------------------------------------
r999 | jlam | 2013-08-10 18:39:30 +0000 (Sat, 10 Aug 2013) | 6 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleGUID.lua

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".
------------------------------------------------------------------------
r998 | jlam | 2013-08-10 18:39:21 +0000 (Sat, 10 Aug 2013) | 6 lines
Changed paths:
   M /trunk/OvaleCondition.lua

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().
------------------------------------------------------------------------
r997 | jlam | 2013-08-10 18:39:12 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua

Generalize TimeToEnergyFor to TimeToPowerFor and add more aliases.
------------------------------------------------------------------------
r996 | jlam | 2013-08-10 18:39:04 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleData.lua

Fix tickets 245 & 281 by adding Aura of the Elements as a magic debuff.
------------------------------------------------------------------------
r995 | jlam | 2013-08-10 18:38:55 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleData.lua

Update player's spells/glyphs/talents when a spec-change is detected.
------------------------------------------------------------------------
r994 | jlam | 2013-08-10 18:38:46 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvalePool.lua
   M /trunk/OvalePoolGC.lua

Add Reset method to Pool modules that re-initializes to empty states.
------------------------------------------------------------------------
r993 | jlam | 2013-08-10 18:38:38 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/Ovale.toc
   A /trunk/OvalePoolGC.lua
   M /trunk/compiler.pl

Add a wrapper for the Lua garbage collector using the Pool interface.
------------------------------------------------------------------------
r992 | jlam | 2013-08-10 18:38:29 +0000 (Sat, 10 Aug 2013) | 1 line
Changed paths:
   M /trunk/OvaleQueue.lua

Size() method returns the size/length of a queue.
------------------------------------------------------------------------
r990 | jlam | 2013-07-20 08:46:45 +0000 (Sat, 20 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleBestAction.lua

Comment and add additional debugging information for "unless".
------------------------------------------------------------------------
r989 | jlam | 2013-07-20 08:46:38 +0000 (Sat, 20 Jul 2013) | 5 lines
Changed paths:
   M /trunk/OvaleBestAction.lua

Fix ticket 275 - Energy() comparisons

This was a bug in how a "not" node was evaluated -- it was missing the
case where the time interval to invert was {t: t > start}, which should
return {t: t < start}.
------------------------------------------------------------------------
r988 | jlam | 2013-07-20 08:46:32 +0000 (Sat, 20 Jul 2013) | 5 lines
Changed paths:
   M /trunk/OvalePaperDoll.lua

Fix ticket 274 - WeaponDamage() giving wrong results

Different pieces of information become available at different times
depending on the event order, so force computing the weapon damage for
each of those events so that the last one computes the correct values.
------------------------------------------------------------------------
r987 | jlam | 2013-07-20 08:46:25 +0000 (Sat, 20 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleOptions.lua
   M /trunk/OvalePaperDoll.lua

Add toggle for debugging OvalePaperDoll.
------------------------------------------------------------------------
r986 | jlam | 2013-07-20 08:46:18 +0000 (Sat, 20 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleFuture.lua

Fix copyright date information.
------------------------------------------------------------------------
r985 | jlam | 2013-07-20 08:46:11 +0000 (Sat, 20 Jul 2013) | 5 lines
Changed paths:
   M /trunk/OvaleCondition.lua

Fix ticket 88 - Threat does not work?

Default to checking threat against the current target and fix the
documentation to note that the Threat() condition can take a target
parameter.
------------------------------------------------------------------------
r984 | jlam | 2013-07-20 08:46:05 +0000 (Sat, 20 Jul 2013) | 4 lines
Changed paths:
   M /trunk/OvaleCondition.lua

Add new conditions PowerCost(spell) and TimeToEnergyFor(spell).

There is also an alias EnergyCost() for PowerCost() to make scripts for
ferals and rogues more readable.  This fixes ticket 273 by @ShmooDude.
------------------------------------------------------------------------
r983 | jlam | 2013-07-20 08:45:58 +0000 (Sat, 20 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua

Clarify how OvaleCondition.defaultTarget is used within Ovale.
------------------------------------------------------------------------
r981 | jlam | 2013-07-19 05:33:52 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleFuture.lua

Improve latency measurement by using the correct events for timestamps.
------------------------------------------------------------------------
r980 | jlam | 2013-07-19 05:33:45 +0000 (Fri, 19 Jul 2013) | 33 lines
Changed paths:
   M /trunk/Ovale.lua
   M /trunk/OvaleAura.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePaperDoll.lua
   M /trunk/OvaleState.lua

Major changes to OvaleFuture to properly handle spellcast event sequence.

* Fix long-standing bug regarding UNIT_SPELLCAST_* events.  The proper
  order order of events is actually:

    SENT > START > SUCCEEDED (cast-time spells)
    SENT > SUCCEEDED (instant-cast spells)

  Save the target, spell and lineID info from the SENT event to identify
  later events regarding the same spellcast.

* Save the most recent spellcast information in Ovale.lastSpellcast which
  includes a snapshot of the stats that are active for that spellcast.
  Copy this snapshot information into DoT auras applied by the spellcast.
  This assumes that the DoT being applied was caused by the most recent
  spellcast.

* Auras changes that are simultaneous with a spellcast actually occur
  slightly after the UNIT_SPELLCAST_SUCCEEDED event and before the CLEU
  SPELL_DAMAGE (or other spell result) event.  Capture new snapshots and
  adjust the spellcast snapshot information accordingly to ensure
  accuracy.

This should fix the following tickets:

* Ticket 260 where target.Debuff*() and Last*() script conditions don't
  always show the same player stats for the same spell.  Both now pull
  from the same source so they show the same information.

* Ticket 262 where the DebuffComboPoints() condition was always returning
  zero since previously OvaleAura didn't have access to combo point
  information.  The combo point information is now saved with the
  spellcast snapshot that is copied into the DoT aura.
------------------------------------------------------------------------
r979 | jlam | 2013-07-19 05:33:38 +0000 (Fri, 19 Jul 2013) | 11 lines
Changed paths:
   M /trunk/OvaleAura.lua

Raise events in OvaleAura when auras are added, refreshed or deleted.

The events are:

    Ovale_AuraAdded
    Ovale_AuraRefreshed
    Ovale_AuraDeleted

and the arguments for these events are:

    unit GUID, aura spell ID, caster GUID
------------------------------------------------------------------------
r978 | jlam | 2013-07-19 05:33:30 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/Ovale.lua
   M /trunk/OvaleActionBar.lua
   M /trunk/OvaleAura.lua
   M /trunk/OvaleBestAction.lua
   M /trunk/OvaleComboPoints.lua
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleDamageTaken.lua
   M /trunk/OvaleData.lua
   M /trunk/OvaleEnemies.lua
   M /trunk/OvaleEquipement.lua
   M /trunk/OvaleFrame.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvaleGUID.lua
   M /trunk/OvaleIcone.lua
   M /trunk/OvaleOptions.lua
   M /trunk/OvaleRecount.lua
   M /trunk/OvaleSkada.lua
   M /trunk/OvaleSpellDamage.lua
   M /trunk/OvaleState.lua
   M /trunk/OvaleSwing.lua

Update copyright information for correctness.
------------------------------------------------------------------------
r977 | jlam | 2013-07-19 05:33:24 +0000 (Fri, 19 Jul 2013) | 14 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvaleCompile.lua

Cache computed values of custom functions when evaluating the script.

* Split out parsing AddFunction statements into its own function.

* Functions declared using AddFunction compile into a new node type. The
  new node type "customfunction" has a single child node that points to
  the master node for the function.

* Give the script an age depending on how many times it has been
  evaluated. Cache the computed values of custom function so that
  subsequent calls to the same function within the same script pull from
  the cached values instead of re-computing from scratch.

This fixes ticket 271 in the right way.
------------------------------------------------------------------------
r976 | jlam | 2013-07-19 05:33:17 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/Ovale.toc
   M /trunk/OvaleData.lua
   M /trunk/OvaleOptions.lua
   M /trunk/OvaleState.lua

Push more debugging output out of OvaleOptions into the relevant modules.
------------------------------------------------------------------------
r975 | jlam | 2013-07-19 05:33:10 +0000 (Fri, 19 Jul 2013) | 6 lines
Changed paths:
   M /trunk/OvaleFrame.lua
   M /trunk/OvaleOptions.lua

Fix ticket 264 - update throttling functionality

Missed changes in r758 that broke the existing throttling code. This makes
the "update interval" option work again, defaulting to 0.1s == 100ms.

Expose option to set the update interval to throttle the refresh rate.
------------------------------------------------------------------------
r974 | jlam | 2013-07-19 05:33:03 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleOptions.lua

Remove unused "latency correction" option.
------------------------------------------------------------------------
r973 | jlam | 2013-07-19 05:32:57 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleOptions.lua

Organize the Ovale configuration panel into logical units.
------------------------------------------------------------------------
r972 | jlam | 2013-07-19 05:32:50 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua
   M /trunk/OvaleEquipement.lua
   M /trunk/OvalePaperDoll.lua

Change WeaponDamage() condition to return normalized weapon damage.
------------------------------------------------------------------------
r971 | jlam | 2013-07-19 05:32:43 +0000 (Fri, 19 Jul 2013) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua

Fix ticket 268 - LastEstimatedDamage not acounting for DamageMultiplier.
------------------------------------------------------------------------

Facts

Uploaded on
Aug 14, 2013
Game version
  • 5.3.0
Filename
Ovale-5.3.9.zip
Size
286.3 KiB
MD5
2e9aad190d52838a17f4f68d7b7230e5
Type
Release
Status
Normal
Downloads
14,419

Authors