------------------------------------------------------------------------
r158 | kapulani | 2015-01-19 21:27:29 +0000 (Mon, 19 Jan 2015) | 1 line
Changed paths:
   M /trunk/Classes/Paladin.lua

Paladin.lua - link crusader_strike and hammer_of_the_righteous cooldowns.
------------------------------------------------------------------------
r157 | kapulani | 2015-01-18 22:47:28 +0000 (Sun, 18 Jan 2015) | 3 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua

Paladin.lua - Improve handler for divine_storm.

Shaman.lua - Another tweak to Enh: AOE for consistency w/ buff.unleashed_fury and glyph.chain_lightning w/ 2 targets.
------------------------------------------------------------------------
r156 | kapulani | 2015-01-18 01:13:10 +0000 (Sun, 18 Jan 2015) | 1 line
Changed paths:
   M /trunk/Classes/Shaman.lua

Shaman.lua - More Enh: AOE optimization for glyph.chain_lightning / buff.unleashed_fury optimization.
------------------------------------------------------------------------
r155 | kapulani | 2015-01-17 23:20:45 +0000 (Sat, 17 Jan 2015) | 3 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Options.lua

Shaman.lua - Update default Enh: AOE.

Options.lua - Switch Current Mode to Single Target if the Switch Type is changed and the Current Mode is no longer appropriate.
------------------------------------------------------------------------
r154 | kapulani | 2015-01-17 11:58:56 +0000 (Sat, 17 Jan 2015) | 2 lines
Changed paths:
   M /trunk/Core.lua

Core.lua - Hide displays when pet battling.
 - Displays set to 'Show with Target' will only display when the target is, you know, alive.
------------------------------------------------------------------------
r153 | kapulani | 2015-01-17 11:28:34 +0000 (Sat, 17 Jan 2015) | 16 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua

Paladin.lua - buff.divine_crusader will now reduce HoPo cost of divine_storm to 0.
 - divine_storm's handler() will remove buff.divine_crusader over buff.divine_purpose rather than wiping both.
 - Ret: Single Target and Ret: AOE will now wait up to 0.2s for hammer_of_wrath before recommending a lower priority action when a Paladin is talented for sanctified_wrath and buff.avenging_wrath is up.  If santified_wrath users are still getting judgment recommended during avenging_wrath, let me know and we can tweak this further.
 - The primary display for Retribution Paladins will only recommend buffs before combat begins (workaround for raid buff detection).
 - Prot now has a display and action lists.  They are extremely preliminary but are based off the 'standard survival' priority list from SimC (rather than 'max_dps' or 'max_survival').

Monk.lua - WW: Single Target and WW: AOE tweaked to match tiger_palm's refresh change (pandemic effect allows it to refresh to 36.66s).
 - WW: Single Target and WW: AOE tweaked to recommend using energizing_brew when serenity is talented and cooldowns are disabled.
 - Primary displays will only recommend raid buffs pre-combat.

Core.lua - Basic support for a 'Cooldown Clash' option; if non-zero, addon will only recommend an available, lower-priority ability if it is available at least this much earlier than the currently selected ability.

Options.lua - UI setting for Cooldown Clash under General Settings.
 - Re-flag undefaulted displays/action lists as default when manually reloaded.

State.lua - Remove orphaned debugging code from timeToReady().
------------------------------------------------------------------------
r152 | kapulani | 2015-01-16 18:38:11 +0000 (Fri, 16 Jan 2015) | 3 lines
Changed paths:
   M /trunk/Core.lua
   M /trunk/Hekili.lua
   M /trunk/Hekili.toc
   M /trunk/UI.lua

Hekili.toc - fix OptionalDeps line to properly include Masque, SpellFlash, SpellFlashCore.

Core.lua, UI.lua, Hekili.lua - be more aggressive when trying to use Masque to skin the addon.
------------------------------------------------------------------------
r151 | kapulani | 2015-01-12 06:57:05 +0000 (Mon, 12 Jan 2015) | 4 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/State.lua

Shaman.lua - Fix Ele: Primary display to show AOE action list at 3+ targets (was showing nothing with exactly 3 targets).
 - Update Ele: Single Target, Ele: Cleave, and Ele: AOE to check totem.fire.remains instead of specifically Searing/Magma/Fire Elemental.

State.lua - Hopefully fix raid buff detection.
------------------------------------------------------------------------
r150 | kapulani | 2015-01-12 01:58:01 +0000 (Mon, 12 Jan 2015) | 1 line
Changed paths:
   M /trunk/State.lua

State.lua - fix isKnown for fake abilities (like 'wait') -- caused action lists to die after the first 'Wait' event.
------------------------------------------------------------------------
r149 | kapulani | 2015-01-11 19:53:29 +0000 (Sun, 11 Jan 2015) | 1 line
Changed paths:
   M /trunk/State.lua

State.lua - Use rawget() in mt_default_debuff to avoid a possible error when unit is nil.
------------------------------------------------------------------------
r148 | kapulani | 2015-01-11 08:58:41 +0000 (Sun, 11 Jan 2015) | 12 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/State.lua

Classes.lua - Try to avoid nasty error when changing one's specialization (and having none).

Monk.lua - Give Mistweavers their own MW: Buffs action list because they use Legacy of the Emperor rather than White Tiger.
 - Actually load the newly renamed action lists into the MW: Primary display.

Paladin.lua - Basic support for Protection abilities, but not publishing displays/action lists at this time.

Core.lua - Fire specializationChanged() when the addon is enabled, just in case we were disabled when we logged in.
 - Add Chi Explosion to the pre-cached texture list, to hopefully avoid the occasional invisible textures we were seeing before.
 - If we don't know any ability, assume the delay is 999 instead of checking resources.

State.lua - Preliminary support for dynamically adding keywords/criteria from within a module.  (Example case is 'time_to_hpg' which is added by the Paladin 'module'.)
------------------------------------------------------------------------
r147 | kapulani | 2015-01-09 01:41:20 +0000 (Fri, 09 Jan 2015) | 5 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Options.lua
   M /trunk/State.lua

Monk.lua - Removed handler for Zen Meditation; there's no actual buff to apply.

Options.lua - Added "Getting Started" section to Welcome panel.

State.lua - action.X.ready will check the action's usable criteria.
------------------------------------------------------------------------
r146 | kapulani | 2015-01-08 19:09:30 +0000 (Thu, 08 Jan 2015) | 8 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes.lua
   M /trunk/Hekili.lua
   M /trunk/Options.lua
   M /trunk/State.lua

Classes.lua - When reloading defaults, the addon will respect any lists/displays that you have 'undefaulted' and refrain from creating a duplicate with the same name.

Monk.lua - Touch of Death's cooldown and resource cost is now affected by Glyph of Touch of Death.

Hekili.lua - Fixed an error in Hekili:Run() and argument counts.

Options.lua - Removed checks for '@' in entry names as the character is no longer used for marking default displays/lists.
 - Cleaned up logic for changing display/hook/list/action names (or making copies), to prevent using the same name for multiple entries of the same type.
------------------------------------------------------------------------
r145 | kapulani | 2015-01-08 17:19:50 +0000 (Thu, 08 Jan 2015) | 1 line
Changed paths:
   M /trunk/Classes/Monk.lua

Monk.lua - Don't trust IsUsableSpell() for Touch of Death.  Now checks for Death Note buff only.
------------------------------------------------------------------------
r144 | kapulani | 2015-01-08 09:02:08 +0000 (Thu, 08 Jan 2015) | 18 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/State.lua
   M /trunk/UI.lua

Classes.lua:  When a default display is updated, it will now keep most of your cosmetic settings.

Monk.lua:  Touch of Death is now considered usable when target's health is below 10%, Death Note is up, or the game says it is available.  Should prevent issue with popping Fortifying Brew and then Touch of Death is no longer recommended.
 - Legacy of the X abilities are now flagged as passive so the engine knows that it will not put you in combat.
 - WW: Single Target action list updated to reflect Fortifying Brew/Touch of Death changes.
 - WW: Primary display updated to resolve issue that the ST action list was displayed when active_enemies=1 while the AOE list tested my_enemies.  Both now check how many enemies you yourself have hit (my_enemies).

Paladin.lua:  Ret: Single Target and Ret: AOE updated to take better account of Holy Avenger, include Seraphim when CDs are not enabled.
 - Ret: Buffs criteria tweaked to hopefully workaround issue with raid-tray buffs failing to detect in LFR/raid settings.

Shaman.lua:  Enh: Single Target and Enh: AOE updated to be indifferent as to which fire totem you have up when deciding to cast Liquid Magma.

Core.lua:  When captions are set to Num Debuffs / Number of Targets, the counter will stay hidden if both stacks and targets are less than 2.
 - When captions are set to Buff Stacks / Number of Targets and buff stacks is 0, only the number of targets will be displayed.

Events.lua:  Preliminary code for 'Pixel Perfect' display has been committed.  The UI will double-check when it is resized and attempt to remain pixel perfect.  Only applies if UI Scale is used.

UI.lua:  When creating a button, the UI will attempt to use your UI scale setting to provide a pixel perfect, scaled button.
------------------------------------------------------------------------
r143 | kapulani | 2015-01-06 01:54:22 +0000 (Tue, 06 Jan 2015) | 1 line
Changed paths:
   M /trunk/Formatting.lua

Fix missing round declaration in Formatting.lua.
------------------------------------------------------------------------
r142 | kapulani | 2015-01-05 18:01:25 +0000 (Mon, 05 Jan 2015) | 3 lines
Changed paths:
   M /trunk/Classes/Paladin.lua

Paladin fixes: Fix spellID for divine_purpose.
 - Fix Ret: Interrupts to actually interrupt instead of showing buffs.
 - Replace Ret: AOE w/ current SimulationCraft (will not recommend HotR at 3 targets).
------------------------------------------------------------------------
r141 | kapulani | 2015-01-05 09:47:00 +0000 (Mon, 05 Jan 2015) | 10 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes/Warrior.lua
   M /trunk/Classes.lua
   M /trunk/Constants.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Formatting.lua
   M /trunk/Hekili.lua
   M /trunk/Hekili.toc
   M /trunk/MultilineEditor.lua
   M /trunk/Options.lua
   A /trunk/Scripts.lua
   M /trunk/State.lua
   M /trunk/Targets.lua
   M /trunk/UI.lua
   M /trunk/Utils.lua

Lots of code cleanups, to the point that it would be hard to laundry list them here.
THIS IS AN ALPHA VERSION, EXPECT BUGS.
- Added Welcome page to the /hekili UI.
- Default action lists and displays will be automatically updated when a new version of the addon is released.
- All action lists wiped and reloaded.  Names have been changed to improve readability.  Defaults are now displayed in blue.  In some cases, cleave action lists were removed, as the AOE lists perform better.
- Minimal SpellFlash support; will only appear if you have SpellFlash or SpellFlashCore installed.
- Displays now have a 'Force Minimum Targets' setting.  Action lists processed in the display will always assume there are at least this many targets available.  If few targets are available, the addon will pretend they are there and the number of targets will be displayed in red.  This is generally used for AOE displays, where the action lists would not function properly with fewer than X targets.
- The Mode Switch keybind can work either of two ways.  You can toggle between ST and autodetect or you can toggle between ST and AOE.  Basically, one setting trusts the addon's target detection, the other lets the user manually switch.
- Made strides toward modularizing each class, so that they can potentially be split off into module addons (this would make it easier to update one class' settings without waiting on updates for the other two supported classes).
- Various bugfixes and tweaks to the game state, including better support for ability charges and recharge times.
------------------------------------------------------------------------
r140 | kapulani | 2014-12-27 21:10:41 +0000 (Sat, 27 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Monk.lua

Monk.lua: power_strikes support.
------------------------------------------------------------------------
r139 | kapulani | 2014-12-27 20:58:04 +0000 (Sat, 27 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Monk.lua

Monk.lua: Fix for life_cocoon, renewing_mist, soothing_mist, ring_of_peace, and zen_sphere (was trying to apply buffs to target).
------------------------------------------------------------------------
r138 | kapulani | 2014-12-27 19:55:27 +0000 (Sat, 27 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Paladin.lua

Paladin.lua: Update Retribution, Cooldowns action list to use 'action.seraphim.ready' syntax.
------------------------------------------------------------------------
r137 | kapulani | 2014-12-27 19:54:21 +0000 (Sat, 27 Dec 2014) | 3 lines
Changed paths:
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua

State.lua: action.X.ready will check for resources and cooldown.

Options.lua: SimulationCraft action lists with 'sync=X' modifiers will be converted to action.X.ready conditionals.
------------------------------------------------------------------------
r136 | kapulani | 2014-12-26 16:59:58 +0000 (Fri, 26 Dec 2014) | 1 line
Changed paths:
   M /trunk/Utils.lua

Remove extra 'end' from Utils.lua -- and that's why you don't make last second changes while going blind from a migraine.
------------------------------------------------------------------------
r135 | kapulani | 2014-12-26 08:54:36 +0000 (Fri, 26 Dec 2014) | 1 line
Changed paths:
   M /trunk/Hekili.toc

Dummy push because the packager is napping again.
------------------------------------------------------------------------
r134 | kapulani | 2014-12-26 08:39:27 +0000 (Fri, 26 Dec 2014) | 100 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Constants.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Hekili.toc
   M /trunk/MultilineEditor.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/Targets.lua
   M /trunk/UI.lua
   M /trunk/Utils.lua

General Changes:
 - Shamans and Monks will find one of their unused class toggles occupied by toggles for Liquid Magma ('magma') and mitigation abilities ('mitigation') respectively.  You can bind a key if you want to turn these on/off.


Classes.lua: Stances are now stored on a per-spec basis, since the same stance (or seal) can have a different ID based on which spec you are currently in.  This also prevents "stance:1" collisions between Monk specs.

Monk.lua: GCD is 1.0 for Brewmasters and Windwalkers.
   Minimal support for Mistweavers in Crane Stance added.
   Track mana since Mistweavers use it.
   Track auras/correct aura IDs - cranes_zeal, chi_explosion, legacy_of_the_emperor, legacy_of_the_white_tiger, mana_tea_stacks, mana_tea_activated(?), tigereye_brew, vital_mists.
   Link stances to their proper specs.
   Block blackout_kick in wise_serpent stance.
   blackout_kick - generate vital_mists for Mistweavers, cranes_zeal for Mistweavers.
      Restore Chi if serenity is up.
   Block crackling_jade_lightning in wise_serpent stance.
   jab - use 3.5% mana if in Spirited Crane stance, 45 energy in fierce_tiger.
   surging_mist - costs 4.7% mana for Mistweavers, 30 energy for others.
      Reduce cast time by 20%/stack of vital_mists.
   tiger_palm - correct combo_breaker_bok to combo_breaker_tp.
      Restore Chi if serenity is up.
      Gain 1 stack of vital_mists if Mistweaver.
   guard - has 1 charge by default, 2 with improved_guard perk.
      Feign 1s cooldown for guard if there are 2 charges available.
   legacy_of_the_emperor - support for Mistweaver.
   legacy_of_the_white_tiger - buff str_agi_int and critical_strike as well.
   mana_tea - consume stacks.
   purifying_brew - block usage if no stagger is up.
   rising_sun_kick - support for pool_of_mists (3 charges for MW with talent).
   chi_brew - no cooldown if 2 charges are available.
      Buff elusive_brew_stacks (was elusive_brew).
      Buff mana_tea_stacks was mana_tea; duration is 120.
   chi_explosion is a melee ability.
      Hopefully handle variable chi expenditures better.
      Support for MW.
   Updates to all action lists, almost all displays (you should really reload everything).

Paladin.lua: Link stances to the proper specs.
   Feign 999 second CD for abilities that are not talented (action lists like to query cooldowns w/o checking for talents).
   final_verdict - consume divine_purpose.
   hammer_of_wrath - cooldown reduction from sanctified_wrath, not avenging_wrath.
   Updates to all action lists, displays (you should really reload everything).

Shaman.lua: Add unleashed_fury buff.
   Add alias for enhanced_chain_lightning perk (as 'improved_chain_lightning') since SimC uses both.
   Automatic usage of empty custom toggle for 'magma' switch (to turn off liquid_magma when you don't want it to wreck your CC).
   Add alias for frost_shock (as 'shock') since frost_shock's CD will always equal the others.
   liquid_magma - apply buff so we don't think it's okay to nuke the totem after.
   unleash_elements - buff unleashed_fury if you talented for it.
      - apply unleash_wind as well.
   Updates to all action lists and displays, you really should reload them all.

Constants.lua: add -1 == 'none' to specialization table.

Core.lua: Activate custom class toggles OnInitialize().
   Improve SimToLua() conversion, order of string operations changed.
   Apply parentheses to ! (not) operation for better fidelity.  Hopefully.
   CheckScript() now accepts a delay so that criteria are tested at the time we'd expect to execute them.
      - revisit this regarding cast times.
   ResetState() now resets the stored delay (for 'this_action') as we need it for energy/focus prediction.
   Advance() will now increase charges if we pass the recharge time.
   WaitTime() will add a 0.25 pad to abilities where we are waiting on resources.
   Capture resource type for a queued ability in ProcessHooks().
   Better GCD handling as well.
   Consume charges 'properly' as well.
   Actually check display scripts in CheckDisplayCriteria() instead of just everything else.

Events.lua: Store SpecializationKey when we get it in PLAYER_ENTERING_WORLD, ACTIVE_TALENT_GROUP_CHANGED.
   Store 'last_judgment_target' GUID for Paladins for double_jeopardy.
   Add handling for differentiating our own targets from our minion's targets.  This is important for Windwalker Monks, who may be hitting 3 enemies but they could be scattered far apart (so we wouldn't want to use spinning_crane_kick since we'll hit only 1 target and generate no Chi).  Can test 'active_direct_enemies' to see what you're actually hitting vs. 'active_enemies'.

Hekili.toc: Add OptionalDeps for Masque to improve reliability of skinning.

MultilineEditor.lua: Use our custom Round so we get the proper number of decimals.

Options.lua:  Correct usage of string.trim.
   Capture more exceptional cases in ImportSimulationCraftActionList() (especially issues w/ EOL.
   Convert 'moving=1' modifier into useful conditions.
   Convert 'sync=X' modifier into useful conditions.

State.lua: Buff() will be careful when adding stacks to an existing buff.
   Default value for delay is 0 (when delay is nil).
   Added 'group' criterion, true/false for being in a group.  (Used for assumptions about whether or not Brewmasters are going to receive heals).
   active_direct_enemies added for counting only targets you've hit (not your minions).
   If we've passed the recharge_time the first time we see an ability with charges, generate the charge and reset the recharge_time.
   Added 'last_judgment_target' fallback to 'unknown' if not set.
   Check specialization and seal/stance in mt_seals.
   If a custom toggle is nil, assume false.
   Added 'target.unit' to hold target's GUID.
   Handle ability charges.
   Account for resource regeneration and delays for energy, focus.
   Added 'action.X.ready_time' criterion to get the delay before an action is available.
   Store localized ability names for some ungodly reason.

Targets.lua: Differentiate my targets from things my minions have hit.  Once I hit something, it's mine.
   Revisit this because we may generate more table pollution than we'd like.

UI.lua: Use our custom Round() to ensure proper # of decimals in tooltips.
   Add spacing around mathematical operators to prevent stri...

Utils.lua: Use our own implementation of round() and make it available to the rest of the addon.
------------------------------------------------------------------------
r133 | kapulani | 2014-12-14 23:19:07 +0000 (Sun, 14 Dec 2014) | 3 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Core.lua

Monk.lua: Entries for maintaining Tiger Palm and Rising Sun Kick buffs/debuffs were incorrectly sequestered in the Windwalker Cooldowns action list.  They have been added to single-target and AOE.

Core.lua: Fix for target.health.X in ResetState().  Values will now be reset as appropriate.
------------------------------------------------------------------------
