------------------------------------------------------------------------
r1473 | jlam | 2014-05-19 16:43:53 +0000 (Mon, 19 May 2014) | 1 line
Changed paths:
   A /tags/5.4.15 (from /trunk:1472)

Tagging as 5.4.15 release.
------------------------------------------------------------------------
r1472 | jlam | 2014-05-19 16:41:36 +0000 (Mon, 19 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_deathknight.lua

Death Knight: Improve Blood script when using Runic Empowerment.

Don't suggest ERW or DRW unless we've reached emergency Death Strike
conditions.  We want to hold those cooldowns on reserve.
------------------------------------------------------------------------
r1471 | jlam | 2014-05-19 16:41:29 +0000 (Mon, 19 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Reactivate runes in the simulator for ERW and DRW+4pT16 tanking bonus.
------------------------------------------------------------------------
r1470 | jlam | 2014-05-19 16:41:23 +0000 (Mon, 19 May 2014) | 6 lines
Changed paths:
   M /trunk/OvaleFuture.lua

A spellcast has already started if startCast <= now.

The opposite of that is startCast > now -- fix the inequality.  This fixes
ticket 364 where the rune cost of Army of the Dead was being applied in
the simulator after the resources for the spell were already consumed in
the game.
------------------------------------------------------------------------
r1469 | jlam | 2014-05-19 16:41:16 +0000 (Mon, 19 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleRunes.lua

Fix wrong order of arguments in ConsumeRune() signature.

Also add some additional debugging information.
------------------------------------------------------------------------
r1468 | jlam | 2014-05-19 16:41:09 +0000 (Mon, 19 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_deathknight.lua

Death Knight: Don't pool for Rune Strike when glyphing Outbreak.

Most of the time, the pooling won't be necessary.  Just rely on the player
to be smart enough to recognize a situation where he would need to pool
some runic power to cast Outbreak.
------------------------------------------------------------------------
r1467 | jlam | 2014-05-19 16:41:03 +0000 (Mon, 19 May 2014) | 3 lines
Changed paths:
   M /trunk/scripts/ovale_deathknight.lua

Death Knight: Remove reference to undefined function.

This fixes ticket 362 by @LunaEclipse and fixes unholy death knights.
------------------------------------------------------------------------
r1466 | jlam | 2014-05-19 16:40:56 +0000 (Mon, 19 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleEquipement.lua

Reformat item set database to be easier to maintain.

Each row now represensts one item set.
------------------------------------------------------------------------
r1464 | jlam | 2014-05-16 21:54:42 +0000 (Fri, 16 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_druid.lua

Druid: Add "Weakened Armor" option for whether to apply the target debuff.

Some classes apply the debuff automatically as part of their damage
rotation so it's not worth it for a feral to do it.  The "weakened armor"
option is on by default, but can be turned off as needed.
------------------------------------------------------------------------
r1463 | jlam | 2014-05-16 21:54:34 +0000 (Fri, 16 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_deathknight.lua

Death Knight: Only show Death Pact if a ghoul is present.
------------------------------------------------------------------------
r1462 | jlam | 2014-05-16 21:54:27 +0000 (Fri, 16 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_deathknight_spells.lua

Death Knight: Correct the cost of Frost Strike for Frost DKs.
------------------------------------------------------------------------
r1461 | jlam | 2014-05-16 21:54:20 +0000 (Fri, 16 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_deathknight.lua
   M /trunk/scripts/ovale_deathknight_spells.lua

Death Knight: Add Blood tanking script for MoP 5.4.
------------------------------------------------------------------------
r1460 | jlam | 2014-05-16 21:54:12 +0000 (Fri, 16 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Add TODO item to handle reactivating runes in the simulator.
------------------------------------------------------------------------
r1459 | jlam | 2014-05-16 21:54:05 +0000 (Fri, 16 May 2014) | 4 lines
Changed paths:
   M /trunk/OvalePower.lua
   M /trunk/OvaleRunes.lua

Channeled spells cost resources at the start of the channel.

Update the resources in the simulator at the appropriate time based on
whether the spellcast is channeled or not.
------------------------------------------------------------------------
r1458 | jlam | 2014-05-16 21:53:57 +0000 (Fri, 16 May 2014) | 1 line
Changed paths:
   M /trunk/README.md

Fix typos in project description.
------------------------------------------------------------------------
r1456 | jlam | 2014-05-15 23:19:27 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_monk.lua

Monk: Simplify Brewmaster CD conditions slightly.
------------------------------------------------------------------------
r1455 | jlam | 2014-05-15 23:19:19 +0000 (Thu, 15 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleCooldown.lua

Update cooldown state on all spellcast events.

Blizzard gives spells a "GCD" cooldown while they're being cast before the
real cooldown kicks in afterwards.  Update the cooldown state on all
spellcast events to catch this "GCD" cooldown.
------------------------------------------------------------------------
r1454 | jlam | 2014-05-15 23:19:11 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_deathknight.lua
   M /trunk/scripts/ovale_deathknight_spells.lua

Death Knight: Update Frost and Unholy scripts to MoP 5.4.7.
------------------------------------------------------------------------
r1453 | jlam | 2014-05-15 23:19:03 +0000 (Thu, 15 May 2014) | 7 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/conditions/BuffCountOnAny.lua
   M /trunk/conditions/BuffRemainsOnAny.lua
   M /trunk/conditions/BuffStacksOnAny.lua

Add parameter "excludeTarget" to conditions that scan over all targets.

BuffCountOnAny, BuffRemainsOnAny, and BuffStacksOnAny now accept a new
parameter "excludeTarget" (0 or 1) that signals whether to exclude the
current target from the scan.  This allows for checking when DoTs are
expiring on other targets and need to be spread from the current target
again.
------------------------------------------------------------------------
r1452 | jlam | 2014-05-15 23:18:55 +0000 (Thu, 15 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvaleRunes.lua
   M /trunk/conditions/RuneCount.lua
   M /trunk/conditions/Runes.lua

Fix GetRunesCooldown() calculation.

Also remove the death condition from all rune conditions.
------------------------------------------------------------------------
r1451 | jlam | 2014-05-15 23:18:47 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleBestAction.lua

Add new parameter "buff_runes_none" for buffs that remove rune costs.
------------------------------------------------------------------------
r1450 | jlam | 2014-05-15 23:18:38 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_items.lua

Add Cataclysm strength potion used by some scripts.
------------------------------------------------------------------------
r1449 | jlam | 2014-05-15 23:18:31 +0000 (Thu, 15 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_mage.lua
   M /trunk/scripts/ovale_shaman.lua

Translate "cooldown.spell.remains=0" as "not SpellCooldown(spell) > 0".

This avoids an equality comparison, which allows for a time span to be
computed for the condition.
------------------------------------------------------------------------
r1448 | jlam | 2014-05-15 23:18:23 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua

Rudimentary translation of SimulationCraft's rune conditions.
------------------------------------------------------------------------
r1447 | jlam | 2014-05-15 23:18:15 +0000 (Thu, 15 May 2014) | 5 lines
Changed paths:
   M /trunk/conditions/RuneCount.lua

Rename RuneCount() to Rune() and reimplement RuneCount() to just count.

Rune() will return fractional numbers to indicate how far along a rune is
to regenerating.  RuneCount() will always return a whole number for the
actual count of active runes of the given type.
------------------------------------------------------------------------
r1446 | jlam | 2014-05-15 23:18:06 +0000 (Thu, 15 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleRunes.lua

Script conditions use death=0 or death=1, not death=none or death=any.

Support using either notation to specify the death rune condition.
------------------------------------------------------------------------
r1445 | jlam | 2014-05-15 23:17:59 +0000 (Thu, 15 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleRunes.lua

Activate runes as the proper type in the simulator.

Some specializations cause death runes to reactivate in place of consumed
runes, which needed to be modeled in the simulator.
------------------------------------------------------------------------
r1444 | jlam | 2014-05-15 23:17:51 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Add parameter to state:RuneCount() to get rune count at a given time.
------------------------------------------------------------------------
r1443 | jlam | 2014-05-15 23:17:44 +0000 (Thu, 15 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleRunes.lua

Dynamically calculate whether a rune is active.

This avoids having to update the "active" flag on a rune in the simulator.
------------------------------------------------------------------------
r1442 | jlam | 2014-05-15 23:17:36 +0000 (Thu, 15 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleCompile.lua

Fix compiler operator precedence bugs.
------------------------------------------------------------------------
r1440 | jlam | 2014-05-14 00:37:46 +0000 (Wed, 14 May 2014) | 3 lines
Changed paths:
   M /trunk/scripts/ovale_warlock.lua

Add DestructionSingleTargetShortCdActions() to short-cd icon.

Fixes ticket 361 by @napgravy.
------------------------------------------------------------------------
r1439 | jlam | 2014-05-14 00:37:38 +0000 (Wed, 14 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Suppress compiler.pl warning.
------------------------------------------------------------------------
r1438 | jlam | 2014-05-14 00:37:30 +0000 (Wed, 14 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleOptions.lua

Lua coding best practices adds trailing commas table members.
------------------------------------------------------------------------
r1437 | jlam | 2014-05-14 00:37:22 +0000 (Wed, 14 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua

Add a header and a simple one-icon rotation display for generated scripts.

These generated scripts are now functional directly within Ovale.
However, they will generally need more work to split up the functions into
the usual "shortcd/main/aoe/cd" icons for default scripts.
------------------------------------------------------------------------
r1436 | jlam | 2014-05-14 00:37:14 +0000 (Wed, 14 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleBestAction.lua

Check that an item meets usability requirements by calling IsUsableItem().

This fixes ticket 314 where Ovale was still suggesting using Synapse
Springs on gloves even after Engineering was dropped as a profession.
------------------------------------------------------------------------
r1435 | jlam | 2014-05-14 00:37:06 +0000 (Wed, 14 May 2014) | 4 lines
Changed paths:
   M /trunk/Ovale.lua
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleEquipement.lua
   M /trunk/OvaleSpellBook.lua
   M /trunk/OvaleStance.lua

Let modules flag themselves as ready for other modules to use.

Check that certain modules are ready before allowing compiling the script.
This fixes ticket 359.
------------------------------------------------------------------------
r1434 | jlam | 2014-05-14 00:36:58 +0000 (Wed, 14 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSpellBook.lua

Fix call to UpdateSpell() method that broke updating pet spells.
------------------------------------------------------------------------
r1433 | jlam | 2014-05-14 00:36:49 +0000 (Wed, 14 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleCompile.lua

Track the total number of times a script has been compiled.
------------------------------------------------------------------------
r1431 | jlam | 2014-05-12 16:08:51 +0000 (Mon, 12 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_hunter.lua
   M /trunk/scripts/ovale_hunter_spells.lua

Hunter: Only suggest Kill Command if the pet can attack.
------------------------------------------------------------------------
r1430 | jlam | 2014-05-12 16:08:44 +0000 (Mon, 12 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_mage.lua

Mage: Don't be so zealous about Rune of Power or Evocation pre-pull.

Only suggest planting a new Rune of Power or casting Evocation if 10s or
more have elapsed since putting up the buff.
------------------------------------------------------------------------
r1429 | jlam | 2014-05-12 16:08:37 +0000 (Mon, 12 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/wiljo_mage.lua

Mage: Remove incorrect target on Spell() in Wiljo script.
------------------------------------------------------------------------
r1428 | jlam | 2014-05-12 16:08:30 +0000 (Mon, 12 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleFrame.lua
   M /trunk/OvaleIcone.lua

Rename some variables and re-document in English to ease my development.
------------------------------------------------------------------------
r1427 | jlam | 2014-05-12 16:08:23 +0000 (Mon, 12 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleFuture.lua

Match changes in OvaleCooldown for parameter name "buff_no_cd".
------------------------------------------------------------------------
r1426 | jlam | 2014-05-12 16:08:16 +0000 (Mon, 12 May 2014) | 17 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleFuture.lua

Add additional phase of tracking to spellcasts: "after hit".

ApplySpellAfterHit() is called after the three previous phases:

    ApplySpellStartCast
    ApplySpellAfterCast
    ApplySpellOnHit
    ApplySpellAfterHit

Apply spell auras to the target during ApplySpellAfterHit().  Only remove
a spellcast from the spells-in-flight after it has applied any auras to
the target, which can take a bit of time due to server event lag.  The
simulator will continue to apply spells until it sees their aura effects
appear on the target in reality.

Remove the previous workaround for aura lag added to OvaleAura in r1411
and r1413.
------------------------------------------------------------------------
r1425 | jlam | 2014-05-12 16:08:09 +0000 (Mon, 12 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleFrame.lua

Use lazy evaluation to reduce the number of times the script is compiled.
------------------------------------------------------------------------
r1423 | jlam | 2014-05-11 08:10:56 +0000 (Sun, 11 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_mage.lua

Mage: Fix Evocation when using Invocation talent in Frost specialization.

This fix causes the script to avoid suggesting Evocation until Invoker's
Energy is close to expiration if Icy Veins is on cooldown.
------------------------------------------------------------------------
r1422 | jlam | 2014-05-11 08:10:49 +0000 (Sun, 11 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleBanditsGuile.lua
   M /trunk/scripts/ovale_rogue_spells.lua

Improve Bandit's Guile tracking in rogue scripts.
------------------------------------------------------------------------
r1421 | jlam | 2014-05-11 08:10:42 +0000 (Sun, 11 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleOptions.lua

Localize "Appearance" properly in the interface options.
------------------------------------------------------------------------
r1420 | jlam | 2014-05-11 08:10:36 +0000 (Sun, 11 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleOptions.lua

Change the default appearance of Ovale.

Make the icons smaller by default and make the text size larger for
keyboard shortcuts for readability.
------------------------------------------------------------------------
r1419 | jlam | 2014-05-11 08:10:29 +0000 (Sun, 11 May 2014) | 12 lines
Changed paths:
   M /trunk/OvaleCooldown.lua
   M /trunk/conditions/SpellChargeCooldown.lua
   M /trunk/conditions/SpellCharges.lua
   M /trunk/conditions/SpellCooldown.lua
   M /trunk/scripts/ovale_hunter_spells.lua
   M /trunk/scripts/ovale_monk_spells.lua
   M /trunk/scripts/ovale_warlock_spells.lua

Teach OvaleCooldown about spell charges.

Lazily update the cooldown information of spells based on the age of the
cooldown state, which is flagged to be updated when a spell's charges or
cooldowns is changed or if a spell is successfully cast.

Add a GetSpellCharges() method to the state machine to act like the
Blizzard API function of the same name.

Fixes ticket 357.

Age cooldown state properly.
------------------------------------------------------------------------
r1418 | jlam | 2014-05-11 08:10:22 +0000 (Sun, 11 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_hunter_spells.lua

Hunter: Fix cooldowns of traps and Black Arrow for survival hunters.
------------------------------------------------------------------------
r1417 | jlam | 2014-05-11 08:10:15 +0000 (Sun, 11 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_hunter.lua
   M /trunk/scripts/ovale_hunter_spells.lua

Hunter: Move traps to a separate icon from AoE rotation.

A trap might not be good to drop because mobs are moving.  Also show Ice
Trap for Survival Hunters since they can get a Lock and Load proc from it.
------------------------------------------------------------------------
r1416 | jlam | 2014-05-11 08:10:09 +0000 (Sun, 11 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_hunter.lua

Hunter: Improve Survival AoE rotation by removing Serpent Sting.

The AoE rotation is now to pool focus for Multi-Shot while casting the
talented abilities on cooldown.
------------------------------------------------------------------------
r1415 | jlam | 2014-05-11 08:10:02 +0000 (Sun, 11 May 2014) | 7 lines
Changed paths:
   M /trunk/OvaleActionBar.lua

Fix ticket 352 - Improve showing of keybindings.

Update keybindings shown on the icon based on stance.  Also update
keybindings for spell/item shown in a macro based on what will be cast if
it is used.

Original diff by @chipzzke with extension to macro items by @jlam.
------------------------------------------------------------------------
r1413 | jlam | 2014-05-08 20:55:50 +0000 (Thu, 08 May 2014) | 9 lines
Changed paths:
   M /trunk/OvaleAura.lua

Add better workaround for aura lag.

"Aura lag" (more properly "event lag") is what happens when you cast a
spell and there is some delay before the spell's effects are applied by
the game server and recognized by the client.

Deal with aura lag by persisting auras in the simulator that are applied
by a spell by at least the aura lag time, even if the spell has finished
casting and hit its target already.
------------------------------------------------------------------------
r1411 | jlam | 2014-05-08 17:27:54 +0000 (Thu, 08 May 2014) | 9 lines
Changed paths:
   M /trunk/OvaleAura.lua

Workaround for aura lag.

This is ultimately a problem in OvaleFuture where a spell may have
finished casting and landed on the target, but any target auras applied by
the spell haven't yet been applied on the target due to aura lag.

Need to find a way to still apply spell effects on a spell that has landed
on its target but not yet applied auras.  Perhaps split out another level
of ApplySpell() due to aura lag.
------------------------------------------------------------------------
r1410 | jlam | 2014-05-08 17:27:47 +0000 (Thu, 08 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_paladin_spells.lua

Fix ticket 356 to show Fist of Justice to interrupt.

The IsSpellInRange() API function always returns nil for Fist of Justice,
even if talented into the ability.  Remove the range check for Fist of
Justice as a workaround.
------------------------------------------------------------------------
r1409 | jlam | 2014-05-08 17:27:40 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_warlock.lua
   M /trunk/scripts/ovale_warlock_spells.lua

Warlock: Add useful actions to optional left/right icons.
------------------------------------------------------------------------
r1408 | jlam | 2014-05-08 17:27:32 +0000 (Thu, 08 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleIcone.lua
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_hunter_spells.lua
   M /trunk/scripts/ovale_paladin.lua
   M /trunk/scripts/ovale_rogue.lua
   M /trunk/scripts/ovale_warlock_spells.lua

Allow actions to set their own help text via help=Text parameter.

This allows Texture() actions to have a useful help text.  The text must
have no spaces as that is not yet supported by the compiler.
------------------------------------------------------------------------
r1407 | jlam | 2014-05-08 17:27:24 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_warlock.lua
   M /trunk/scripts/ovale_warlock_spells.lua

Warlock: Update Destruction script to 5.4.7.
------------------------------------------------------------------------
r1406 | jlam | 2014-05-08 17:27:17 +0000 (Thu, 08 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/conditions/BuffCountOnAny.lua
   M /trunk/conditions/BuffRemainsOnAny.lua
   A /trunk/conditions/BuffStacksOnAny.lua (from /trunk/conditions/BuffRemainsOnAny.lua:1405)
   M /trunk/conditions/files.xml

Add BuffStacksOnAny() condition for total stacks across all units.

This can be used to track the number of stacks on an aura that can only
be placed on a single target at a time.
------------------------------------------------------------------------
r1405 | jlam | 2014-05-08 17:27:09 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_warlock.lua
   M /trunk/scripts/ovale_warlock_spells.lua

Warlock: Update Affliction script to 5.4.7.
------------------------------------------------------------------------
r1404 | jlam | 2014-05-08 17:27:00 +0000 (Thu, 08 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/files.xml
   A /trunk/scripts/ovale_deathknight.lua
   A /trunk/scripts/ovale_deathknight_spells.lua
   A /trunk/scripts/ovale_warlock.lua
   A /trunk/scripts/ovale_warlock_spells.lua
   A /trunk/scripts/ovale_warrior.lua
   A /trunk/scripts/ovale_warrior_spells.lua

Import old MoP 5.2 scripts for warrior, warlock and death knight.

These are for completeness until proper MoP 5.4.7 scripts can be created
for warriors, warlocks and death knights.
------------------------------------------------------------------------
r1403 | jlam | 2014-05-08 17:26:53 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Fix DebugRunes() methods after it moved to the state machine.
------------------------------------------------------------------------
r1402 | jlam | 2014-05-08 17:26:46 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Rename function for clarity.
------------------------------------------------------------------------
r1401 | jlam | 2014-05-08 17:26:39 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Slight generalization of code to allow for odd rune counts.
------------------------------------------------------------------------
r1400 | jlam | 2014-05-08 17:26:32 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Fix variable name in state:RuneCount() that caused "death" to be ignored.
------------------------------------------------------------------------
r1399 | jlam | 2014-05-08 17:26:25 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Document return values for state:RuneCount().
------------------------------------------------------------------------
r1398 | jlam | 2014-05-08 17:26:18 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleRunes.lua

Fix order in which rune slots are checked for death runes.
------------------------------------------------------------------------
r1397 | jlam | 2014-05-08 17:26:11 +0000 (Thu, 08 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleBestAction.lua

Fix the time the a spell is ready if it requires runes that are on CD.

state:GetRunesCooldown() returns the number of seconds before all of the
rune conditions are met, so the actual time that the spell is ready is at
state.currentTime + state:GetRunesCooldown().
------------------------------------------------------------------------
r1396 | jlam | 2014-05-08 17:26:04 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_hunter.lua

Hunter: Pool focus to improve Black Arrow uptime for Survival spec.
------------------------------------------------------------------------
r1395 | jlam | 2014-05-08 17:25:57 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_priest.lua

Fix wrong comment left over from copy and paste.
------------------------------------------------------------------------
r1394 | jlam | 2014-05-08 17:25:49 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_priest.lua
   M /trunk/scripts/ovale_priest_spells.lua

Priest: Mind Flay (Insanity) is only available with the right talent.
------------------------------------------------------------------------
r1393 | jlam | 2014-05-08 17:25:42 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_rogue.lua

The GCD() and SpellCritChance() conditions do not take a spell ID.
------------------------------------------------------------------------
r1392 | jlam | 2014-05-08 17:25:35 +0000 (Thu, 08 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleCondition.lua

Split out comparator names into a public table for conditions to access.
------------------------------------------------------------------------
r1390 | jlam | 2014-05-06 14:22:01 +0000 (Tue, 06 May 2014) | 7 lines
Changed paths:
   M /trunk/conditions/TickTime.lua

Make TickTime() return the tick length of a new DoT if one isn't present.

This matches SimC semantics where if a DoT is present, then "tick_time" is
the actual tick length of the DoT, but if the DoT is not present, then it
is the tick length of a new DoT with a current stat snapshot.

This fixes mage scripts not suggesting mage bombs.
------------------------------------------------------------------------
r1389 | jlam | 2014-05-06 14:21:54 +0000 (Tue, 06 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_shaman.lua
   M /trunk/scripts/ovale_shaman_spells.lua

Shaman: Use presence of glyph to choose whether to suggest Totemic Recall.

If you're using the glyph, assume that you want to see Totemic Recall for
mana recapture.  If not, then it's not worth the GCD to recapture the mana
from spent totems.
------------------------------------------------------------------------
r1388 | jlam | 2014-05-06 14:21:47 +0000 (Tue, 06 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_priest.lua

Support SimC's max_cycle_targets=N expression for multi-dotting.
------------------------------------------------------------------------
r1386 | jlam | 2014-05-05 18:04:02 +0000 (Mon, 05 May 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_monk_spells.lua

Monk: Fix chi cost of Tiger Palm for Windwalker monks.

Also be more restrictive in SpellInfo statements so that the script
compiles and runs more quickly.
------------------------------------------------------------------------
r1385 | jlam | 2014-05-05 18:03:56 +0000 (Mon, 05 May 2014) | 7 lines
Changed paths:
   M /trunk/scripts/ovale_druid.lua

Druid: Improve restoration druid script.

- Use wider windows for refreshing buffs to help with uptime.
- Remove fillers from the rotation so it's easier to see what's coming up.
- Suggest Wild Mushroom: Bloom only when the mushroom is fully charged.
- Don't show Genesis on short CD icon.
- Cast Mark of the Wild if needed.
------------------------------------------------------------------------
r1384 | jlam | 2014-05-05 18:03:49 +0000 (Mon, 05 May 2014) | 6 lines
Changed paths:
   M /trunk/OvaleAura.lua

Default to checking for active auras in simulator after the current cast.

Treat an aura in the simulator as active by default if it exists at
the end of the current spellcast, or the current time if no spell is
currently being cast.  This allows auras that are applied by the spell
being cast to show as active.
------------------------------------------------------------------------
r1383 | jlam | 2014-05-05 18:03:42 +0000 (Mon, 05 May 2014) | 6 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/conditions/BuffAmount.lua
   M /trunk/conditions/BuffComboPoints.lua
   M /trunk/conditions/BuffCountOnAny.lua
   M /trunk/conditions/BuffDamageMultiplier.lua
   M /trunk/conditions/BuffDuration.lua
   M /trunk/conditions/BuffExpires.lua
   M /trunk/conditions/BuffRemains.lua
   M /trunk/conditions/BuffRemainsOnAny.lua
   M /trunk/conditions/BuffSnapshot.lua
   M /trunk/conditions/BuffStacks.lua
   M /trunk/conditions/NextTick.lua
   M /trunk/conditions/StaggerRemains.lua
   M /trunk/conditions/Ticks.lua
   M /trunk/conditions/TicksRemain.lua

Treat all auras as existing from gain time to ending time.

Due to DoT refresh mechanics, the gain time of an aura may be before the
start time of the aura (when it starts ticking again).  Treat all auras as
existing from the gain time to expiration time.  A refreshed aura still
exists when it is gained, even though it starts ticking later.
------------------------------------------------------------------------
r1382 | jlam | 2014-05-05 18:03:35 +0000 (Mon, 05 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleFuture.lua

Properly detect the end of an instant-cast spell cast on yourself.

Treat friendly spells cast on a target of yourself the same as a spellcast
that procs a buff on the player -- we track the buff appearing on the
player and remove the spell from the in-flight spell queue.
------------------------------------------------------------------------
r1381 | jlam | 2014-05-05 18:03:28 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleAura.lua

Trace aura state reset in OvaleAura for debugging.
------------------------------------------------------------------------
r1380 | jlam | 2014-05-05 18:03:21 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   M /trunk/.docmeta

Use proper syntax in .docmeta to generate documentation.
------------------------------------------------------------------------
r1379 | jlam | 2014-05-05 18:03:14 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   A /trunk/conditions/WildMushroomIsCharged.lua
   M /trunk/conditions/files.xml

Add WildMushroomIsCharged() to test if healing mushroom is charged.
------------------------------------------------------------------------
r1378 | jlam | 2014-05-05 18:03:08 +0000 (Mon, 05 May 2014) | 4 lines
Changed paths:
   A /trunk/conditions/BuffRemainsOnAny.lua
   M /trunk/conditions/files.xml

Add BuffRemainsOnAny() condition.

BuffRemainsOnAny() returns the number of seconds before the given aura
expires across all targets.
------------------------------------------------------------------------
r1377 | jlam | 2014-05-05 18:03:01 +0000 (Mon, 05 May 2014) | 6 lines
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/conditions/BuffCountOnAny.lua

Extend BuffCount() condition to allow requiring a minimum stack.

The syntax is BuffCount(id stacks=N) where N is the minimum stack size for
the aura to count toward the running total.

This allows one to get the count of Lifebloom x3 stacks across the raid.
------------------------------------------------------------------------
r1376 | jlam | 2014-05-05 18:02:54 +0000 (Mon, 05 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   D /trunk/conditions/BuffCount.lua
   A /trunk/conditions/BuffCountOnAny.lua (from /trunk/conditions/BuffCount.lua:1375)
   M /trunk/conditions/files.xml
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_monk.lua
   M /trunk/scripts/ovale_paladin.lua
   M /trunk/scripts/ovale_shaman.lua

Rename BuffCount() condition to BuffCountOnAny().

This name makes it more explicit that the check is across all targets
instead of one target.
------------------------------------------------------------------------
r1375 | jlam | 2014-05-05 18:02:47 +0000 (Mon, 05 May 2014) | 3 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua

Druid: Omen of Clarity is different for ferals and resto druids.

Also fix the AOE checkbox for resto druids.
------------------------------------------------------------------------
r1374 | jlam | 2014-05-05 18:02:41 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_paladin_spells.lua

Paladin: WoG/EF costs no holy power if Bastion of Power is up.
------------------------------------------------------------------------
r1373 | jlam | 2014-05-05 18:02:34 +0000 (Mon, 05 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_mage.lua
   M /trunk/scripts/ovale_monk.lua
   M /trunk/scripts/ovale_paladin.lua
   M /trunk/scripts/ovale_priest.lua
   M /trunk/scripts/ovale_rogue.lua
   M /trunk/scripts/ovale_shaman.lua

Remove or fix the help for small icons to the sides of the main icon.

Most of them were inaccurately labeled with "help=cd" which gave an
incorrect hover tooltip suggesting that they were abilities that should be
held for high damage phases.
------------------------------------------------------------------------
r1372 | jlam | 2014-05-05 18:02:27 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_paladin.lua

Paladin: Use specialization names instead of numbers for readability.
------------------------------------------------------------------------
r1371 | jlam | 2014-05-05 18:02:20 +0000 (Mon, 05 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_paladin.lua
   M /trunk/scripts/ovale_rogue.lua

Fix AOE checkbox in protection paladin and combat rogue scripts.
------------------------------------------------------------------------
r1370 | jlam | 2014-05-05 18:02:13 +0000 (Mon, 05 May 2014) | 7 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvaleFrame.lua
   M /trunk/OvaleIcone.lua

Fix and extend the tooltips shown when hovering over an icon.

SVN revision r1117 -- that implemented a true timespan implementation --
broke the tooltip that showed the name of the spell being shown when
hovering over an icon.  Fix the tooltip to show the name of the spell
again and extend the facility to allow for showing item or macro names in
the future.
------------------------------------------------------------------------
r1368 | jlam | 2014-05-03 23:18:07 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua

Druid: Add Guardian and Restoration scripts.
------------------------------------------------------------------------
r1367 | jlam | 2014-05-03 23:17:58 +0000 (Sat, 03 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleAura.lua

Fix bug that caused state auras to always be at least 1 stack.

This bug was hidden before the change to garbage-collect only the state
auras that were reflected in the real auras.
------------------------------------------------------------------------
r1366 | jlam | 2014-05-03 23:17:50 +0000 (Sat, 03 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleCompile.lua

Activate SpellAddTargetBuff() declaration for completeness.

All of the other player/target and buff/debuff combinations are already
working.  Support for this was added in a previous commit but not
activated.
------------------------------------------------------------------------
r1365 | jlam | 2014-05-03 23:17:42 +0000 (Sat, 03 May 2014) | 10 lines
Changed paths:
   M /trunk/OvaleCompile.lua

Allow for expressing "if glyph NOT active" or for other parameters.

SpellInfo parameter glyph=id currently means that the declaration is true
only if the given glyph is active.  This change allows for the opposite
meahing by using glyph=!id to mean that the declaration is true only if
the given glyph is NOT active.

Other parameters that allow for the key=!value syntax include:

    glyph, mastery, if_stance, if_spell, talent
------------------------------------------------------------------------
r1363 | jlam | 2014-05-03 00:26:50 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/.docmeta

Generate documentation for files in the conditions directory.
------------------------------------------------------------------------
r1362 | jlam | 2014-05-03 00:26:41 +0000 (Sat, 03 May 2014) | 5 lines
Changed paths:
   M /trunk/README.md

Update project description to note Ovale is a rotation helper addon.

Also remove listing of locations for custom scripts. There is only the
Ovale forums referenced earlier; Nerien's Ovale Scripts is merged into the
Ovale distribution.
------------------------------------------------------------------------
r1361 | jlam | 2014-05-03 00:26:31 +0000 (Sat, 03 May 2014) | 5 lines
Changed paths:
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua
   M /trunk/scripts/ovale_hunter.lua
   M /trunk/scripts/ovale_hunter_spells.lua
   M /trunk/scripts/ovale_mage.lua
   M /trunk/scripts/ovale_mage_spells.lua
   M /trunk/scripts/ovale_monk.lua
   M /trunk/scripts/ovale_monk_spells.lua
   M /trunk/scripts/ovale_paladin.lua
   M /trunk/scripts/ovale_paladin_spells.lua
   M /trunk/scripts/ovale_priest.lua
   M /trunk/scripts/ovale_priest_spells.lua
   M /trunk/scripts/ovale_rogue.lua
   M /trunk/scripts/ovale_rogue_spells.lua
   M /trunk/scripts/ovale_shaman.lua
   M /trunk/scripts/ovale_shaman_spells.lua

Remove the "last updated" comment from default scripts.

The default scripts can just be tracked by the Ovale release number.
Leave the "last updated" comment in imported 3rd party scripts to note the
time that the script was last updated by the outisde 3rd party.
------------------------------------------------------------------------
r1360 | jlam | 2014-05-03 00:26:23 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/files.xml
   A /trunk/scripts/ovale_rogue.lua
   A /trunk/scripts/ovale_rogue_spells.lua

Rogue: Add default scripts for Assassination, Combat, and Subtlety.
------------------------------------------------------------------------
r1359 | jlam | 2014-05-03 00:26:15 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleBestAction.lua

Add debugging message for when a spell is delayed waiting for power.
------------------------------------------------------------------------
r1358 | jlam | 2014-05-03 00:26:08 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleBanditsGuile.lua

Fix tracking of Bandit's Guile stacks before Insight buff appears.
------------------------------------------------------------------------
r1357 | jlam | 2014-05-03 00:25:59 +0000 (Sat, 03 May 2014) | 5 lines
Changed paths:
   M /trunk/conditions/BuffAmount.lua
   M /trunk/conditions/BuffComboPoints.lua
   M /trunk/conditions/BuffDamageMultiplier.lua
   M /trunk/conditions/BuffDuration.lua
   M /trunk/conditions/BuffSnapshot.lua
   M /trunk/conditions/BuffStacks.lua
   M /trunk/conditions/TickTime.lua

Another change to buff conditions for constant values.

Enforce the buff start and ending times for valid domains, and default to
zero when outside of the domain.  This more closely matches the semantics
that people expect with constant values.
------------------------------------------------------------------------
r1356 | jlam | 2014-05-03 00:25:51 +0000 (Sat, 03 May 2014) | 5 lines
Changed paths:
   M /trunk/OvaleFuture.lua

Record the correct number of CPs used in a spellcast.

The sanity-check condition wasn't right because it assumed that you must
have at least one CP to cast any finisher; instead, it should honor any
"min_combo" paraemter listed in SpellInfo().
------------------------------------------------------------------------
r1355 | jlam | 2014-05-03 00:25:43 +0000 (Sat, 03 May 2014) | 4 lines
Changed paths:
   M /trunk/OvalePower.lua

Support more power reduction buffs.

Instead of just "_half" and "_none" for 50% and 100% reduction, also
support "_less15" and "_less75" for 15% and 75% reduction as well.
------------------------------------------------------------------------
r1354 | jlam | 2014-05-03 00:25:35 +0000 (Sat, 03 May 2014) | 18 lines
Changed paths:
   M /trunk/OvaleAura.lua

Preserve auras applied by already-cast instant-cast spells between updates.

This fixes the problem where an instant-cast spell cast in the simulator
applies a debuff on the target which is added to the state machine, then
instantly removed before being added to the true aura database.  For
example, a subtlety rogue's Hemorrhage applies a DoT on the target, but
there is a small lag betwen the spell hitting the target and the DoT being
applied.  When the user casts the spell, OvaleFuture queues it up to the
cast in the simulator, which applies a DoT to the target in the simulator.
However, the simulator's state is reset on every update, so the debuff was
being lost until it appeared on the actual target.  During that brief lag,
Ovale thinks Hemorrhage still needs to be cast to apply the DoT.

Instead of dumping the entire state aura database for each update, just
remove state auras that are older than the corresponding auras in the true
aura database.  This preserves debuffs applied in the simulator that are
the result of instant-cast spells until they appear in the true aura
database.
------------------------------------------------------------------------
r1353 | jlam | 2014-05-03 00:25:28 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_hunter.lua

Hunter: Improve AoE rotations by removing checks for number of enemies.
------------------------------------------------------------------------
r1352 | jlam | 2014-05-03 00:25:19 +0000 (Sat, 03 May 2014) | 4 lines
Changed paths:
   M /trunk/OvaleCooldown.lua

If "gcd=N" is specified in SpellInfo, then use that value directly.

This allows for special GCD values that are less than the base or even 1s
GCD of some classes.
------------------------------------------------------------------------
r1351 | jlam | 2014-05-03 00:25:11 +0000 (Sat, 03 May 2014) | 1 line
Changed paths:
   M /trunk/OvaleCooldown.lua

Hunters also have a 1s GCD.
------------------------------------------------------------------------
r1349 | jlam | 2014-04-30 18:35:27 +0000 (Wed, 30 Apr 2014) | 3 lines
Changed paths:
   M /trunk/scripts/ovale_items.lua

Fix spell IDs for trinket proc buffs.

This corrects the lists for intellect, strength and crit rating.
------------------------------------------------------------------------
r1348 | jlam | 2014-04-30 18:35:20 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/files.xml
   M /trunk/scripts/ovale_mage_spells.lua
   A /trunk/scripts/wiljo_mage.lua

Mage: Add Wiljo's frost mage script.
------------------------------------------------------------------------
r1347 | jlam | 2014-04-30 18:35:13 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/files.xml
   A /trunk/scripts/ovale_mage.lua
   A /trunk/scripts/ovale_mage_spells.lua

Mage: Add default scripts for Arcane, Fire, and Frost specializations.
------------------------------------------------------------------------
r1346 | jlam | 2014-04-30 18:35:06 +0000 (Wed, 30 Apr 2014) | 4 lines
Changed paths:
   M /trunk/conditions/Damage.lua

Be more accurate when computing CritDamage().

Factor in the increased crit effect from any meta gems and also the effect
of the MoP amplification trinkets.
------------------------------------------------------------------------
r1345 | jlam | 2014-04-30 18:34:59 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleEquipement.lua

Track the equipped meta gem in OvaleEquipement.
------------------------------------------------------------------------
r1344 | jlam | 2014-04-30 18:34:52 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_priest.lua

Priest: Move Mindbender/Shadowfiend to long DPS CD icon.
------------------------------------------------------------------------
r1343 | jlam | 2014-04-30 18:34:45 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/leafkiller_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua
   M /trunk/scripts/ovale_hunter_spells.lua
   M /trunk/scripts/ovale_paladin_spells.lua
   M /trunk/scripts/ovale_priest_spells.lua

Properly annotate auras that stack.
------------------------------------------------------------------------
r1342 | jlam | 2014-04-30 18:34:38 +0000 (Wed, 30 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_monk_spells.lua

Fix workaround for Glyph of Touch of Death removing Chi cost.
------------------------------------------------------------------------
r1340 | jlam | 2014-04-27 04:40:03 +0000 (Sun, 27 Apr 2014) | 4 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/scripts/leafkiller_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua
   M /trunk/scripts/ovale_monk_spells.lua
   M /trunk/scripts/ovale_priest_spells.lua

Rename SpellInfo parameter "canStopChannelling" to "channel".

Also remove unnecessary duration=N and tick=N parameters from channeled
spells as they have no meaning there.
------------------------------------------------------------------------
r1339 | jlam | 2014-04-27 04:39:56 +0000 (Sun, 27 Apr 2014) | 5 lines
Changed paths:
   M /trunk/Ovale.toc
   A /trunk/OvaleShadowWordDeath.lua
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/files.xml
   A /trunk/scripts/ovale_priest.lua
   A /trunk/scripts/ovale_priest_spells.lua

Priest: Add shadow script based on SimC profile.

Implement a hidden buff for SimC's shadow_word_death_reset_cooldown that
is added whenever the priest casts Shadow Word: Death and fails to kill
the target.
------------------------------------------------------------------------
r1338 | jlam | 2014-04-27 04:39:47 +0000 (Sun, 27 Apr 2014) | 3 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_hunter.lua

Hunter: Move some short CD actions into the short CD icon.

Also put a guard on Kill Command to require that a pet be present.
------------------------------------------------------------------------
r1337 | jlam | 2014-04-27 04:39:39 +0000 (Sun, 27 Apr 2014) | 11 lines
Changed paths:
   M /trunk/conditions/BuffAmount.lua
   M /trunk/conditions/BuffComboPoints.lua
   M /trunk/conditions/BuffDamageMultiplier.lua
   M /trunk/conditions/BuffDuration.lua
   M /trunk/conditions/BuffRemains.lua
   M /trunk/conditions/BuffSnapshot.lua
   M /trunk/conditions/BuffStacks.lua
   M /trunk/conditions/TickTime.lua
   M /trunk/conditions/TicksRemain.lua

Another fix for buff conditions.

Back out r1321 and partially re-implement r1252 by giving the results of
those conditions a time span that starts when the buff starts and lasting
to infinity.

This fixes uses of buff conditions for buffs that are applied in the
future, e.g., a spell applies a DoT at end of spellcast and something
like:

    if target.DebuffRemains(dot) < 3 Spell(spell_that_applies_dot)
------------------------------------------------------------------------
r1336 | jlam | 2014-04-27 04:39:31 +0000 (Sun, 27 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleBanditsGuile.lua
   M /trunk/OvaleSteadyFocus.lua

Code cleanup for clarity.
------------------------------------------------------------------------
r1334 | jlam | 2014-04-25 20:57:42 +0000 (Fri, 25 Apr 2014) | 4 lines
Changed paths:
   M /trunk/scripts/ovale_druid.lua

Druid: Improve balance script precombat actions.

Move Wild Mushroom precombat actions to the Moving icon so as not to
obscure the actual first cast of the main rotation.
------------------------------------------------------------------------
r1333 | jlam | 2014-04-25 20:57:34 +0000 (Fri, 25 Apr 2014) | 4 lines
Changed paths:
   M /trunk/scripts/files.xml
   A /trunk/scripts/leafkiller_druid.lua

Add Leafkiller feral/guardian druid script from Nerien's Ovale Scripts.

The script's new home is with the default Ovale distribution and the other
addon is to be deprecated.
------------------------------------------------------------------------
r1332 | jlam | 2014-04-25 20:57:27 +0000 (Fri, 25 Apr 2014) | 11 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvalePower.lua
   M /trunk/conditions/TimeToPowerFor.lua
   M /trunk/scripts/ovale_druid.lua

Factor in power regen time for spell "readiness".

- Add a new state method TimeToPower() for the number of seconds before
  the given resource required is available for a spell.

- If the time to pool resources is longer than the time needed for a spell
  to come off cooldown, then add that additional time to the spell's
  cooldown duration.

These changes allow for "wait Spell(mangle_cat)" to have a time span for
the energy pooling.
------------------------------------------------------------------------
r1331 | jlam | 2014-04-25 20:57:19 +0000 (Fri, 25 Apr 2014) | 5 lines
Changed paths:
   M /trunk/OvalePower.lua

Make "runicpower" a secondary power type for Death Knights.

The primary resource for which DKs wait on are runes.  If there is not
enough runic power to cast a spell, DKs don't wait passively for runic
power to pool, but rather spend runes to generate more runic power.
------------------------------------------------------------------------
r1330 | jlam | 2014-04-25 20:57:12 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvalePower.lua

Add OvalePower.PRIMARY_POWER as a list of power types to wait on.
------------------------------------------------------------------------
r1329 | jlam | 2014-04-25 20:57:05 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_druid_spells.lua

Druid: Note that Healing Touch procs DoC for ferals.
------------------------------------------------------------------------
r1328 | jlam | 2014-04-25 20:56:57 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_druid.lua
   M /trunk/scripts/ovale_druid_spells.lua

Druid: Fix feral script by implementing functions to compute damage.
------------------------------------------------------------------------
r1327 | jlam | 2014-04-25 20:56:50 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/conditions/Damage.lua
   M /trunk/conditions/LastEstimatedDamage.lua

Allow for SpellInfo() overrides for Damage() and LastEstimatedDamage().
------------------------------------------------------------------------
r1326 | jlam | 2014-04-25 20:56:42 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleCompile.lua
   M /trunk/OvaleCondition.lua
   M /trunk/conditions/Damage.lua

Re-add correct implementation of damage=Func SpellInfo parameter.
------------------------------------------------------------------------
r1325 | jlam | 2014-04-25 20:56:34 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua

Don't rely on implicit default target=target in translated script.
------------------------------------------------------------------------
r1324 | jlam | 2014-04-25 20:56:27 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_druid.lua

SimC "action.<action>.tick_damage" should translate to a debuff property.
------------------------------------------------------------------------
r1323 | jlam | 2014-04-25 20:56:19 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   M /trunk/scripts/ovale_hunter.lua
   M /trunk/scripts/ovale_hunter_spells.lua

Hunter: Focus Fire should remove Frenzy stacks from the player.
------------------------------------------------------------------------
r1322 | jlam | 2014-04-25 20:56:12 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_monk.lua

Monk: Don't show potions in the main or AoE icons.
------------------------------------------------------------------------
r1321 | jlam | 2014-04-25 20:56:04 +0000 (Fri, 25 Apr 2014) | 7 lines
Changed paths:
   M /trunk/conditions/BuffAmount.lua
   M /trunk/conditions/BuffComboPoints.lua
   M /trunk/conditions/BuffDamageMultiplier.lua
   M /trunk/conditions/BuffDuration.lua
   M /trunk/conditions/BuffRemains.lua
   M /trunk/conditions/BuffSnapshot.lua
   M /trunk/conditions/BuffStacks.lua
   M /trunk/conditions/RuneOfPowerRemains.lua
   M /trunk/conditions/TickTime.lua
   M /trunk/conditions/TicksRemain.lua

Fix buff conditions by checking that an aura is active.

Active auras have their properties returned with a time span of (0, inf)
and inactive auras fall through to the default value of zero.

This partly backs out r1252 and re-implements using broader time spans to
avoid problems with comparisons.
------------------------------------------------------------------------
r1320 | jlam | 2014-04-25 20:55:56 +0000 (Fri, 25 Apr 2014) | 10 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   A /trunk/conditions/RuneOfPowerRemains.lua
   M /trunk/conditions/files.xml

Implement RuneOfPowerRemains() condition.

This translates SimC's "buff.rune_of_power.remains" by returning the
remaining time of the most recently-placed Rune of Power if the player is
currently standing within a Rune of Power.

The assumption here is that the player is standing in the most
recently-placed Rune of Power.

This fixes ticket #341.
------------------------------------------------------------------------
r1319 | jlam | 2014-04-25 20:55:49 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/scripts/ovale_shaman.lua

Fix comments to shaman script.
------------------------------------------------------------------------
r1318 | jlam | 2014-04-25 20:55:42 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleFrame.lua

Fix ticket 337: Value elements may not have a params field.
------------------------------------------------------------------------
r1317 | jlam | 2014-04-25 20:55:34 +0000 (Fri, 25 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleTimeSpan.lua

Fix intersecting time spans to avoid point sets.
------------------------------------------------------------------------
r1315 | jlam | 2014-04-21 05:03:43 +0000 (Mon, 21 Apr 2014) | 6 lines
Changed paths:
   M /trunk/Ovale.toc
   D /trunk/class/DeathKnight.lua
   D /trunk/class/Druid.lua
   D /trunk/class/Hunter.lua
   D /trunk/class/Mage.lua
   D /trunk/class/Monk.lua
   D /trunk/class/Paladin.lua
   D /trunk/class/Priest.lua
   D /trunk/class/Rogue.lua
   D /trunk/class/Shaman.lua
   D /trunk/class/Warlock.lua
   D /trunk/class/Warrior.lua
   D /trunk/class/files.xml
   A /trunk/scripts/files.xml
   A /trunk/scripts/ovale_druid.lua
   A /trunk/scripts/ovale_druid_spells.lua
   A /trunk/scripts/ovale_hunter.lua
   A /trunk/scripts/ovale_hunter_spells.lua
   A /trunk/scripts/ovale_items.lua
   A /trunk/scripts/ovale_monk.lua
   A /trunk/scripts/ovale_monk_spells.lua
   A /trunk/scripts/ovale_paladin.lua
   A /trunk/scripts/ovale_paladin_spells.lua
   A /trunk/scripts/ovale_racials.lua
   A /trunk/scripts/ovale_shaman.lua
   A /trunk/scripts/ovale_shaman_spells.lua

New Ovale scripts for 5.4.7 based on SimC profiles.

Separate common parts into "#include"-style scripts and have the main
scripts just be the logic.

Add new default scripts for druids, hunters, monks, paladins and shamans.
------------------------------------------------------------------------
r1314 | jlam | 2014-04-21 05:03:35 +0000 (Mon, 21 Apr 2014) | 4 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua
   A /trunk/generate.lua

Add Lua program to generate Ovale scripts from SimC profiles.

This program reads the hard-coded directory containing SimC profiles and
outputs the scripts to a "profiles" subdirectory in the current directory.
------------------------------------------------------------------------
r1313 | jlam | 2014-04-21 05:03:28 +0000 (Mon, 21 Apr 2014) | 4 lines
Changed paths:
   M /trunk/OvaleSimulationCraft.lua

Add class/spec-specific exceptions to symbol names for SimC translator.

Also make use of functions defined by standard script fragments when
translating SimC action lists.
------------------------------------------------------------------------
r1312 | jlam | 2014-04-21 05:03:21 +0000 (Mon, 21 Apr 2014) | 8 lines
Changed paths:
   M /trunk/Ovale.toc
   A /trunk/OvaleLexer.lua
   A /trunk/OvaleSimulationCraft.lua
   M /trunk/compiler.pl

Implement SimulationCraft profile translator module.

This does a fairly straightforward translation from SimC action lists into
the equivalent Ovale script language.  It does an incomplete job -- it
only generates functions from the equivalently-named action lists in a
SimC profile, which need hand-editing and inclusion into Ovale icons.

Lexer implemented using coroutines taken from Penlight Lua library.
------------------------------------------------------------------------
r1311 | jlam | 2014-04-21 05:03:15 +0000 (Mon, 21 Apr 2014) | 4 lines
Changed paths:
   M /trunk/OvaleCompile.lua

Remove support for CanStopChannelling(...) statement.

The syntax for it no longer matches the canStopChannelling parameter
of SpellInfo(...).
------------------------------------------------------------------------
r1310 | jlam | 2014-04-21 05:03:08 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleCompile.lua

Don't warn about unknown spell for SpellCooldown(sharedCd).
------------------------------------------------------------------------
r1309 | jlam | 2014-04-21 05:03:01 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/conditions/BuffCount.lua

Fix BuffCount() when the buff never expires.
------------------------------------------------------------------------
r1308 | jlam | 2014-04-21 05:02:55 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   A /trunk/conditions/WildMushroomCount.lua
   M /trunk/conditions/files.xml

Add WildMushroomCount() condition.
------------------------------------------------------------------------
r1307 | jlam | 2014-04-21 05:02:48 +0000 (Mon, 21 Apr 2014) | 5 lines
Changed paths:
   M /trunk/OvaleSteadyFocus.lua

Properly handle hunter attacks removing the pre-Steady Focus buff.

Some spells don't do any damage on hit and must be tracked in other ways,
e.g., checking for a debuff applied that does the actual damage, or
otherwise, just checking for successful spellcast.
------------------------------------------------------------------------
r1306 | jlam | 2014-04-21 05:02:41 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleAura.lua
   M /trunk/OvaleBanditsGuile.lua
   M /trunk/OvaleSteadyFocus.lua

Allow for tracking hidden auras that are managed outside of OvaleAura.
------------------------------------------------------------------------
r1305 | jlam | 2014-04-21 05:02:35 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleBanditsGuile.lua

Fix detection of SS/RS in Bandit's Guile module.
------------------------------------------------------------------------
r1304 | jlam | 2014-04-21 05:02:28 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/Ovale.toc
   A /trunk/OvaleSteadyFocus.lua

Add module to track Steady Focus for marksmanship hunters.
------------------------------------------------------------------------
r1303 | jlam | 2014-04-21 05:02:21 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleEclipse.lua

Be more efficient in registering for Eclipse events only in balance spec.
------------------------------------------------------------------------
r1302 | jlam | 2014-04-21 05:02:14 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleState.lua

Sanity-check a table variable before using it.
------------------------------------------------------------------------
r1301 | jlam | 2014-04-21 05:02:07 +0000 (Mon, 21 Apr 2014) | 18 lines
Changed paths:
   M /trunk/OvaleBestAction.lua
   M /trunk/OvaleComboPoints.lua
   M /trunk/OvaleFuture.lua
   M /trunk/OvalePower.lua

Add new power-type parameters to be used in SpellInfo().

- Make the "buff no cost" and "buff half cost" parameters power-specific.

  The new parameters are now:

    buff_<powerType>_none, e.g., "buff_chi_none", "buff_focus_none", etc.
    buff_<powerType>_half, e.g., "buff_energy_half", etc.

- Add "min_<powerType>" parameter for minimum resource requirements.

- Add "max_<powerType>" parameter for maximum resource requirements.

  For example, a holy power "finisher" denoted by holy=0 can be capped at
  using a maximum of 3 holy power.

- Teach state:PowerCost() to properly return the cost of a "finisher"
  spell that consumes all (or some variable portion) of the resource.
------------------------------------------------------------------------
r1300 | jlam | 2014-04-21 05:02:00 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/conditions/PowerCost.lua

Re-implement <power>Cost() conditions in clearer way.
------------------------------------------------------------------------
r1299 | jlam | 2014-04-21 05:01:53 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   A /trunk/conditions/IsDead.lua
   M /trunk/conditions/files.xml

Implement unit.IsDead() script condition.
------------------------------------------------------------------------
r1298 | jlam | 2014-04-21 05:01:46 +0000 (Mon, 21 Apr 2014) | 9 lines
Changed paths:
   M /trunk/OvaleActionBar.lua

Fix bug in r1206 in the way that slot <--> action mappings are managed.

The spell/item/macro to slot ID mapping wasn't correctly being added due
to an improper condition.  Now add the mapping if it either doesn't
already exist or if the new slot ID is lower than the existing one (in the
case where a spell is present multiple times on the action bar).

This fixes the return values of the :GetForSpell(), :GetForMacro(), and
:GetForIem() methods to return something other than nil.
------------------------------------------------------------------------
r1297 | jlam | 2014-04-21 05:01:39 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleSpellBook.lua

Return proper IsUsableSpell() value if the name differs from GetSpellInfo.
------------------------------------------------------------------------
r1296 | jlam | 2014-04-21 05:01:32 +0000 (Mon, 21 Apr 2014) | 6 lines
Changed paths:
   M /trunk/OvaleSpellBook.lua

Change OvaleSpellBook:IsUsableSpell() to allow checking unlearned spells.

Not every spell that is cast is in the spellbook, e.g., spells due to
procs.  Also, fudge the output slightly by checking value of
IsSpellOverlayed() in case the ID of the spell being checked has changed
due to a proc.
------------------------------------------------------------------------
r1295 | jlam | 2014-04-21 05:01:25 +0000 (Mon, 21 Apr 2014) | 1 line
Changed paths:
   M /trunk/OvaleStance.lua

Fix stance update if talent causes new stance to overwrite an old name.
------------------------------------------------------------------------
