Combat Login to Add Favorites
  • World of Warcraft
  • 16,945 Monthly Downloads
  • Supports: 7.1.5
  • 440,985 Total Downloads
  • Updated Mar 18, 2017
  • Created Nov 18, 2013
  • 220 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File:
Support development! **

About Hekili

Hello everyone! Version 7.1.0.x has been released for Legion. Please report any issues you experience via the CurseForge Ticket system. I do not receive notifications about comments posted below.

What is Hekili?

Hekili is a priority helper addon that can make recommendations several steps into the future. It works by collecting information about the game's current state, using a SimulationCraft-like action priority list (APL) to recommend the next ability to use, then modifying the game state and making the next prediction.


Currently Supported Classes:
Shaman:  Enhancement, Elemental

Paladin:  Retribution, Protection

Monk:  Windwalker, Brewmaster (with additional Monk module)


The action lists are visible in-game, accessible via /hekili > Action Lists. The default action lists tend to be imported directly from SimulationCraft, with a few custom tweaks to allow for special Class Settings to be integrated. (You can see the Class Settings through the /hekili interface as well.)

Action lists are presented when attached to a display. You can have an unlimited number of displays, though the addon comes pre-loaded with two displays. Through the /hekili interface, you can customize these defaults.

  • Specialization Primary - With the default settings loaded, the primary display will automatically present the next four recommended abilities with consideration for the number of enemies. This display reacts to the Current Mode option found in /hekili > Toggles. The default behavior reflects a Current Mode set to "Auto." If the Current Mode is set to "Single Target" then the primary display will show recommendations based on the assumption that there is only 1 target in range of your abilities.
  • Specialization AOE - With the default settings loaded, the AOE display will be hidden. This is because the Specialization Primary display automatically adjusts to Single Target vs. AOE when /hekili > Toggles > Current Mode is set to "Auto." The AOE display would be redundant under those circumstances. However, when the Current Mode is set to "Single Target", the Specialization Primary display will only show Single Target. This display then appears to provide you recommendations assuming there are 3 or more targets.

Alternate Customization


Enhancement Shaman, Primary Display, Current Mode: Auto

Above is the default Enhancement Primary display. The Current Mode is set to Auto, so this display will automatically adjust to the number of enemies that are detected by the addon.

Enhancement Shaman, AOE (top) and Primary (bottom) dsplays, Current Mode: Single

This shows both displays, because Current Mode is set to Single Target, forcing the Primary display to pretend there is only 1 target no matter how many are detected. Under those circumstances, the AOE display appears to give you these alternate recommendations.

Note on 'Current Mode' Setting

In the vast majority of cases, the Current Mode: Auto setting will be optimal. However, sometimes there are special mechanics in a fight that involve wanting to focus on one enemy at a time rather than maximizing DPS across multiple targets. In this case, it can be helpful to force both displays to be shown. You can set a keybinding to toggle this setting while in-combat. Bind a key for Mode Switch under /hekili > Toggles.

The Mode Switch is sensitive to two factors: the Switch Type and the Current Mode.

1. If Switch Type is "Auto", then pressing your Mode Switch key will toggle between Auto (using actual detected target counts) and Single Target.

2. If Switch Type is "Manual", then pressing your Mode Switch key will toggle between Single Target (forcing 1 target regardless of count) and AOE (forcing the addon to believe there is a minimum of 3 targets). This impacts your Specialization Primary displays only.

Other Customization

You are able to customize displays further. You can change the direction of your recommendation queues, modify its alignment, turn on Blizzard's overlay glow for the first recommendation icon in your display. You can specify that up to 10 icons are shown (more recommendations equals more processing power, though!), change the spacing, the zoom, the primary and queued icon sizes. You can specify the font and font sizes. You can specify that some additional information should appear on the base of the primary icon. You can use SpellFlash if you have that addon loaded as well.

You can use the Masque icon to apply a custom style to your displays.

You can specify visibility in PvE and PvP settings with custom alpha/transparency settings for each. You can specify special Conditions using the SimulationCraft-like syntax used in the Action Lists (this is how the Specialization AOE displays are scripted to see if your Current Mode is "Single Target").

Enhancement Primary, with customized settings to show 2 icons, with the second recommendation smaller than the first.

A display like the above can be created by going to /hekili > Displays > Specialization Primary > UI and Style and adjusting the following:

1. Set Icons Shown to 2.

2. Set Queued Icon Size to 30.

Enhancement Primary, 5 queued icons, with first recommendation at the bottom.

A display like the above can be created by going to /hekili > Displays > Specialization Primary > UI and Style and adjusting the following:

1. Set Icons Shown to 5.

2. Set Queue Direction to Up.

3. Set Queued Icon Size to 30.

Enhancement Primary, 1 recommendation.

A display like the above can be created by going to /hekili > Displays > Specialization Primary > UI and Style and adjusting the following:

1. Set Icons Shown to 1.

(Hey, that looks a lot like a single-icon priority helper WeakAura!)


1. There's nothing showing!

A. Did you use this addon before Legion? You may have old, incompatible data in your profile. Go to /hekili > Profiles and click Reset Profile to start from scratch. You may want to reload your UI at that point as well.

2. There's still nothing showing!

A. /hekili > General: Make sure Enabled is checked. If it's not checked, the addon may have detected an error and shut itself off. If that is the case, use an addon like BugSack/BugGrabber to collect any error messages and submit it via the ticket tracker (linked above). If the addon is enabled and nothing is showing, check your displays. /hekili > Displays > Specialization Primary and Specialization AOE: Make sure Enabled is checked. If your issue is with one of the default displays, you can reload the display with the Reload Display button at the bottom and see if it is restored.

commit 18efb2692f835c0438045b91098bdebb740d34ad
Author: Hekili <[email protected]>
Date:   Mon Feb 20 13:08:53 2017 -0500

    Masque Fixes

    + The addon should properly update Masque textures for modularized specs
    (Monks, Hunters).
    + If you disable Masque, the icon texture should return to the right

commit 7f17cd43524ddf6954995779f31aefd1723aeeec
Author: Hekili <[email protected]>
Date:   Mon Feb 20 11:51:50 2017 -0500

    Range-check and Judgment

    + Add 'range' value to abilities; when set, the range-coloring will use
    the specified spellID instead of the action spellID for range-checking.
    + Use range on Hand of Reckoning for Judgment since IsSpellInRange()
    returns bad data for Judgment.

commit 81464635ed47db3bc9bfde5269f01e434e8fff18
Author: Hekili <[email protected]>
Date:   Mon Feb 20 11:44:57 2017 -0500

    Fix Consecration buff 'uptime' calculation.

commit 8942edd1dcda679703965ab1557b8b5911ab139a
Author: Hekili <[email protected]>
Date:   Sun Feb 19 23:04:14 2017 -0500

    Elemental Fixes

    o Earthquake consumes Echoes of the Great Sundering.
    o Update APLs, Frost Shock was inadvertently used in place of Lightning
    Bolt in the Lightning Rod action list.

    o Use proper throttling so the addon updates as scheduled (unless an
    event occurs to trigger a faster update).

    + Add 'refreshable' attribute to buffs/debuffs/dots (used in Hunter
    + Cache 'timeToReady' calculations to reduce CPU usage.

commit 1f794d6301ca263fe592c1c2814d24fc3114af74
Author: Hekili <[email protected]>
Date:   Fri Feb 17 17:33:01 2017 -0500

    Stormbringer can stack to 2.

commit f408de897c96d0a92957167bb45958ca2ab6f76b
Author: Hekili <[email protected]>
Date:   Fri Feb 17 17:32:10 2017 -0500

    Revert "LibArtifactData-1.0"

    This reverts commit 929f6b1a90ae5feaf742fe216a71de709498dea7.

commit 8ac79b849b9ba208c0d2f8c577fcb4009095fa28
Author: Hekili <[email protected]>
Date:   Fri Feb 17 09:13:48 2017 -0500

    Resource Regen Fixes

    You should probably not gain resources at 10x their regeneration rate.

commit 944cd2db9548c14f56f996e6b47abdcd82477b12
Author: Hekili <[email protected]>
Date:   Fri Feb 17 08:25:04 2017 -0500

    FIX:  Energy Time to Max Calculation

commit eef19670d3833f5783ae5cf7bf68eabb813743f3
Author: Hekili <[email protected]>
Date:   Thu Feb 16 19:44:40 2017 -0500

    Shaman Fixes

    o More tweaking to Elemental APLs.
    o Default Elemental AOE display will assume a minimum of 2 targets,
    rather than 3.
    o Enhancement APL will use `true_active_enemies` value to determine
    whether to apply/refresh Crash Lightning buff (so that if you set to
    single-target mode for a fight like Mythic Botanist, it will still
    encourage you to activate Crash Lightning for the buff).

commit 929f6b1a90ae5feaf742fe216a71de709498dea7
Author: Hekili <[email protected]>
Date:   Thu Feb 16 19:29:40 2017 -0500


    o Going to try trusting LibArtifactData to stop leaving an empty
    artifact frame open...

commit 7a7300738496cb22565b55a3913be7f607cb89ba
Author: Hekili <[email protected]>
Date:   Thu Feb 16 19:20:42 2017 -0500

    FIXES:  WW Monk, Focus/Energy

    o Arcane Torrent flagged as offGCD, will not interfere with WW Hit
    o Focus/Energy modeling will be ignored if your class module doesn't
    have focus/energy models.
    o Go away, new target system, you're not happening yet.

commit 2fe6e7fc50a6808e03cb1bd047a47b1a416ea707
Author: Hekili <[email protected]>
Date:   Sun Feb 12 21:09:10 2017 -0500


    Shaman:  Fix `maelstrom` in Elemental APLs to use `maelstrom.current`.
    o Fix cycle_targets indicators in some Elemental APLs.
    - Retire broken SimC import APLs.

    o Time Scripts will round delays to the thousandth of a second.

    o Fix for resource meta-functions (they were not being used; I don't
    know that I use them anyway but now they'll work if I do).
    o Resource `time_to_max` expr will try to factor resource regeneration
    better (tick-based).
    o When advancing the clock, resources will be generated if the clock
    advances to the regeneration point (would previously only regenerate if
    the clock passes the regen tick).

    Targets:  Insert initial framework for tracking buffs/health of enemies
    live, this will be used to allow improved target-cycle recommendations.

    + roundUp function now uses math instead of string functions for
    efficiency's sake.

commit e2cdb4995e1a80b675d2c7196bd67939f1102f47
Author: Hekili <[email protected]>
Date:   Thu Feb 9 10:53:52 2017 -0500

    Improve imported action list version-tagging.

    Don't ask.

commit ece2be03b2176610328411971b83f9293ec5c6d5
Author: Hekili <[email protected]>
Date:   Tue Feb 7 22:50:07 2017 -0500

    Round TimeScripts up to the hundredth of a second.

commit ccfe3733e430b568bde8690ee95ca752568f676f
Author: Hekili <[email protected]>
Date:   Tue Feb 7 16:10:48 2017 -0500

    Assorted Timing Fixes

    + Registered more interrupts as interrupts; this enables them to ignore
    the GCD.  (Other offGCD abilities will wait for the GCD to prevent
    + More resource regen tuning (uses worst case timing for abilities that
    are waiting for resources).

commit 5d0dc5e7ed9831d53cefc6721dd7dccb39bdac66
Author: Hekili <[email protected]>
Date:   Tue Feb 7 13:25:39 2017 -0500

    Disable Recommendation Window

    - It's too CPU intensive.

commit c4713816d4658d6c48a15b6d77214e5bb6964e78
Author: Hekili <[email protected]>
Date:   Tue Feb 7 13:21:07 2017 -0500


    - Revert query_time to not factor latency.
    o more tweaking of resource regeneration
    + Recommendation Window is getting changed to Clash...

commit fe25e54ea55977fd139acc48e74b077ca4711a7c
Author: Hekili <[email protected]>
Date:   Tue Feb 7 09:51:01 2017 -0500

    More prediction stuff.

    Classes:  Keep a list of artifacts -- these are immune to the BG/arena
    disabling of set_bonuses.

    State:  Abilities can use a custom spend() function for cases where
    padding resources is needed.

commit 10dc56f5b879cf2a2309b2f06724cfa0969a0fc8
Author: Hekili <[email protected]>
Date:   Mon Feb 6 21:48:36 2017 -0500

    Fix energy prediction some more.

commit 1b88831a23578c0e3d1da8aa7cbf1bbdef7eeac4
Author: Hekili <[email protected]>
Date:   Mon Feb 6 19:22:21 2017 -0500

    More resource prediction updates.

    + Ticking resources will generate more consistent with their ticks when
    the clock advances.

commit 76379768baf7586ef5665ddd718e627b64ef10a3
Author: Hekili <[email protected]>
Date:   Mon Feb 6 18:54:57 2017 -0500

    Power forecasting adjustments.

    + The addon now keeps track of an average tick rate for energy/focus.
    When predicting how long it will take for an ability to have enough
    resources, the addon will project to the next tick.

commit 2017c86944c20b0eb6c726ca57b1917877fb2d8d
Author: Hekili <[email protected]>
Date:   Mon Feb 6 18:12:25 2017 -0500

    Remove extraneous /

commit 4d4bc82c1a9daa03b76577ebd704616c2d42ab8b
Author: Hekili <[email protected]>
Date:   Mon Feb 6 18:11:55 2017 -0500

    More resource prediction tuning...

commit b8d13a3488924e8a3d5cde81618cdfc398412bcf
Author: Hekili <[email protected]>
Date:   Mon Feb 6 18:03:58 2017 -0500

    More Fixes

    1.  Turn off Flicker Protection, getting reports of freezing.
    2.  Detect BGs/Arenas and turn off set-bonuses in those settings
    (equipped.X will fail except for Artifacts).
    3.  Track UNIT_POWER_FREQUENT ticks and round energy gains to the next

commit 97ddad64812f9feab90457cced7fcb2b260d3b13
Author: Hekili <[email protected]>
Date:   Mon Feb 6 11:31:28 2017 -0500


    + spendResources() comes *before* runHandler() so that the handler
    doesn't change the amount of resources to spend.  For instance,
    runHandler could remove Divine Purpose or The Fires of Justice, which
    would change the cost of Divine Storm or Templar's Verdict.
    + Tweak the flicker protection a little bit.

    + Slight cleanup to timeToReady().

commit c6b3fcf5d5a490d38c86735f6f70da5f580a92da
Author: Hekili <[email protected]>
Date:   Mon Feb 6 10:11:43 2017 -0500

    FIX:  Tiny error in flicker-protection code.

commit 2912bff1c292a8e7249be1e1841a64d2ae90a01e
Author: Hekili <[email protected]>
Date:   Mon Feb 6 01:01:55 2017 -0500

    Assorted Fixes, Improvements for Hunter Support

    Classes:  Block a 'pseudo-start' of combat for actions that are "in-air"
    and projected to land.
    + Add Netherwinds to the list of Bloodlust buffs.

    Core:  Initial implementation of "flicker protection."
    + Basically, if it sees that the addon's last several recommendations
    have flickered between the newest actions and something else, it just
    won't bother updating.  Will be iterating on this.

    Events:  Spells that have been cast and are projected to land will
    default to a 0.05 travel time.

    State:  'query_time' will now incorporate latency into its
    recommendation.  This will result in the addon making recommendations
    based on a slightly later game-state.
    + Holy Power is treated like a regenerating resource when Liadrin's Fury
    Unleashed is equipped and AW/Crusade is up.  THIS NEEDS TESTING.
    + Tried to improve ability "timeToReady" calculations for Survival
    Hunters when using Spitting Cobra.

commit e08f75682d33de3028b13802bc6cb9d9c5a6b9b1
Author: Hekili <[email protected]>
Date:   Wed Feb 1 22:25:59 2017 -0500

    Paladin:  Import updates for Retribution APLs.

commit fa58f4651b5456718e9c386bea65a447dd0e45fc
Author: Hekili <[email protected]>
Date:   Wed Feb 1 18:09:26 2017 -0500

    Elemental:  Recommend Stormkeeper more often in one of the Ele builds.

commit 4111653b17642a66a731119e01110b9f722f1948
Author: Hekili <[email protected]>
Date:   Wed Feb 1 17:53:19 2017 -0500

    Improve keybinding detection and labeling.

commit a4bf55dca02774bac6f4e0903106a7ce4bd636e0
Author: Hekili <[email protected]>
Date:   Sun Jan 29 20:26:30 2017 -0500

    Harder, Faster, Better, Stronger

    Events:  The addon will respond more quickly to events that impact
    ability recommendations.  This may require further tuning on a per-spec
    basis, to make sure all abilities with a travel time are flagged
    + The addon will now gather keybindings using the default API.  This
    *should* work for any bar mod, but I'm not going to test them

    Paladins:  You can now specify the maximum amount of Holy Power that
    you'll allow Wake of Ashes to waste.  The addon will not recommend Wake
    of Ashes if you have more than the specified amount of Holy Power (and
    have the Ashes to Ashes trait).

    Core:  The addon will do a better job of purging ancient profiles so it
    will, you know, work.
    + Display updates will occur more frequently (so Monk/Hunter timers will
    be less...lurchy?).
    + The addon will attempt to detect and display ability keybindings.

    Options:  Default Nameplate Detection Range increased to 8.
    + Recommendation Window added, allows you to specify that an ability has
    to be available for at least X seconds (by default, 0.1) in order to be
    recommend.  This *may* reduce some ability flicker.
    + Each display has its own independent settings for keybinds (show/don't
    show, upper/lowercase).
    o Renamed the "Blizzard Overlay" to "Overlay Glow" for slight clarity

    State:  Keep track of latency, may factor it into buff.X.up,
    buff.X.remains and similar criteria going forward.
    - Removed the 0.05s padding from timeToReady() for focus/energy based

commit 7197fb8ff0f6cb7c31c4e05047fd33bb3c7ec589
Author: Hekili <[email protected]>
Date:   Sat Jan 28 11:15:47 2017 -0500

    Tweaks and Fixes

    Classes:  Store item keys when storing gearsets.
    - Hunters gain 15 Focus from Arcane Torrent.

    Core and Scripts:  Removed old override and delay arguments from
    + Added 'recheck' as arg4 to checkScript.  recheck tells the addon to
    see if the same script passes after `recheck' seconds, ostensibly to
    confirm that the action will be recommended for at least that much time.
    o recheck will need further config option support through the UI, it is
    not yet used.

    State: Check GetSpellCharges() using spellID rather than spell name,
    mainly to fix Storm, Earth, and Fire but will surely impact other
    o Built in padding on energy/focus regen reduced to 0.05s from 0.1s.

commit 39a10f34f6839a9d28962246fbf3e6bce8d21b87
Author: Hekili <[email protected]>
Date:   Fri Jan 20 20:55:58 2017 -0500 work-in-progress

    Shaman:  Add Lava Surge buff for Elemental.  Add Lava Surge/Lava Burst

    Core:  Allow texture overrides.  Allow time offsets to show for Hunters.

    Scripts:  Allow basic duplicate checking to see if action criteria is
    met over a window period (not presently used).

    State:  Improve basic pet mechanics.
    + Fix an error with regard to unit IDs in debuffs.
    + Remove maelstrom hook from the state table.

commit e340209b759dfe64e73bc9760279b12902ddbfa3
Author: Hekili <[email protected]>
Date:   Thu Jan 12 22:43:19 2017 -0500

    Elemental Improvements

    + Flagged abilities that don't start combat as passive.
    + Iterated on Elemental APLs.  Combined the SimC and SEL and left the
    result in SEL lists.  Some spells were missing from the SEL lists.
    Should be an improvement.

    Core:  Prevent an error with setting delay text on Monk abilities that
    are not yet ready.

    Events:  Force an early refresh on UNIT_SPELLCAST_START to help caster
    modules (just Ele for now).

commit f38c119a4fe8a37a99d255be8ccb82e430daa735
Author: Hekili <[email protected]>
Date:   Wed Jan 11 22:04:01 2017 -0500

    Cleanups, fixes...

    Classes:  When initiating fake combat, start it just before a cast
    finishes because reasons.

    Shaman:  New Class Settings.
    + Aggressive Stormkeeper:  Used in handwritten Elemental playlists to
    recommend Stormkeeper closer to "on cooldown."
    + Predict Melee:  Used by the addon engine to decide whether to try to
    predict Maelstrom generated by your weapon swings.
    + Predict Fury of Air:  Used by the addon engine to decide whether to
    try to predict Maelstrom lost by Fury of Air.
    o Fix for Lava Burst generating 12 Maelstrom.
    o Moved MP swing generation and FoA expenditure prediction into
    Shaman.lua and added options to turn it on/off.
    + Wrote new APLs based off the guides at Storm, Earth, and Lava for
    Elemental Shamans.
    + Added some class settings for Elemental and Enhancement.
    o Corrected some MP generation stuff for Elementals.
    + Fix Totem Mastery to apply the invented 'totem_mastery' buff.
    + New default APLs, Enhancement APLs support more class settings.

    Core:  Set spell textures by spell ID rather than by spell name due to

    Options:  Add a bunch of options regarding target detection, fix some
    other stuff.

    Targets:  Make target detection work with new addon settings.

commit 585101b326c6b0c8aa0c9315a1ac70793fd84679
Author: Hekili <[email protected]>
Date:   Tue Jan 10 22:02:13 2017 -0500

    Paladin:  Fix spell ID for Crusade.

commit 2d87503b1703debf4f38e773f77818211ae07506
Author: Hekili <[email protected]>
Date:   Tue Jan 10 17:08:43 2017 -0500

    7.1.5:  Fix for false cooldown recovery bonuses applied when advancing the clock.

commit c058201b6f7cf464a120904c36b4d357a89dce93
Author: Hekili <[email protected]>
Date:   Tue Jan 10 13:30:43 2017 -0500

    Paladin: Fix judgment_override.

commit 333e37be7153458c8473b1854b43e066228b67bf
Author: Hekili <[email protected]>
Date:   Tue Jan 10 12:14:25 2017 -0500

    Second fix for 'casting' debuff on enemies who are casting (and removing it properly when interrupting).

commit 170dda70c3bb45a0b0ee19b39c4f315de3204e32
Author: Hekili <[email protected]>
Date:   Tue Jan 10 12:00:32 2017 -0500

    Fix for 'casting' debuff on enemies who are casting.

commit b28f7455cce7b913904c8e004f79b0815d68f68d
Author: Hekili <[email protected]>
Date:   Tue Jan 10 11:30:13 2017 -0500

    Make the addon actually, you know, load...

commit db22036fa1cf3388c30f52763ca1d220fccc6835
Author: Hekili <[email protected]>
Date:   Tue Jan 10 11:22:11 2017 -0500

    7.1.5 - Lock in PTR to live changes, fix broken version detection.

commit ce1203457218280b7fcc4dfd7c087eefc5564784
Author: Hekili <[email protected]>
Date:   Tue Jan 10 02:09:03 2017 -0500


    OK, lots and lots of stuff.  Basically, this is the big update that
    hopefully makes 7.1.5 work for Enhancement, Elemental (suuuper beta),
    Windwalker, Brewmaster, Retribution, and Protection.

    + Improved Totem Mastery detection, has its own buff now, can check the
    remaining time more effectively.
    + Moved fake buffs to ID -100 and lower.
    + Aftershock refunds 0.3 MP.
    - Removed "Prioritize Buffs" setting as its no longer relevant to the
    Enhancement APL.
    + Added "Fury of Air: Maelstrom Padding" setting so that you can keep
    yourself from overspending Maelstrom when you're keeping Fury of Air up.
    o Left the "Maelstrom: Boulderfist" setting but it's not actually used
    for the moment.
    - Removed/hid the "Maelstrom: Crash Lightning" setting since it's not
    relevant to the current APL.
    + Fixed Ascendance ID for Elemental.
    + Made Boulderfist benefit from Gathering of the Maelstrom.
    + Updated Earth Elemental CD and duration.
    + Earth Shock, Earthquake, Elemental Blast, Flame Shock, Frost Shock,
    Icefury, Lava Beam, etc. will spend a stack of Elemental Focus.
    + Frost Shock will spend a stack of Icefury.
    + Icefury will generate 24 MP.
    + Fury of Air will cost 3 MP.
    + Gave Lightning Bolt a VERY HIGH travel time to see if that stabilizes
    some MP forecasting.
    + LB + Power of the Maelstrom generates 14 MP.  Hopefully.  I'm hoping
    it's guaranteeing an Overload and not just giving 2x MP if you're lucky
    enough to Overload.  Needs testing.
    + Overcharge LB cooldown is 12 * haste.
    + Rockbiter gives 20 MP + Gathering of the Maelstrom bonus.
    + Rockbiter will actually apply Landslide now.
    + Storm Elemental CD/duration halved.
    + Totem Mastery is no longer usable if 15 seconds remain on its buffs
    (i.e., you're in-range of the totems and duration is still > 15s).
    + New default APLs.  Pray for Omarion.

    o Changed Blade of Wrath's talent ID???
    o Judgment's duration is 8 seconds.  Feign function disabled in favor of
    new travel-time prediction.
    o Liadrin's Fury Unleashed gives 1 HP every 4 sec (was 2.5 sec).
    + Try to model haste gains from Crusade when spending HP.
    o Divine Intervention reduces Divine Shield CD by 20%.
    o Execution Sentence costs 0 HP with Divine Purpose, otherwise TFoJ
    reduces by 1.
    o Execution Sentence removes DP first, then TFoJ.  Not both.
    - Greater Blessing of Might is gone.
    o Judgment has a travel time of 30 yd/sec.
    o Word of Glory spending accounts for Divine Purpose, TFoJ.
    o Modified WoG's heal.
    o New defaults displays/APLs.

    + Support new prev.#.ability syntax for new APLs.
    + Improve weapon swing projections at start of combat (improves
    Maelstrom projections).
    + Add 'casting' as a debuff since some APLs check for
    + Added 'run_action_list' which jumps to another action list and does
    not return to the caller.
    + Trimmed potion listing, made potion.usable() check if you have any
    potions to use.
    + Started with retireDefaults( .. ) which will eventually wipe old
    defaults instead of leaving them in your profile.

    o Indentation cleanup.
    o Cleanups for time/ready scripts, modifications to make cycle_targets
    work a bit better (and more automatically).
    o Delay text added for Monks since they may be waiting to use something
    that's usable based on energy regeneration.

    + Track casts on/off/regardless-of GCD status.
    + Watch Fury of Air ticks for Maelstrom projection purposes.

    + Made some "modifiers" more user-friendly, but the interface is shit.
    Will update again soon.
    + Improved the importer a lot, but still a long ways to go.

commit e80e03f4e88c495ecfb9f72cd85b30cc0e0cc43a
Author: Hekili <[email protected]>
Date:   Wed Dec 7 22:40:32 2016 -0500

    Reversions, Bugfixes

    o Potions belong on the 'potions' toggle rather than 'cooldowns'.

    o Revert cooldown.X.remains change due to issues.

    o Advance to the end of GCD after each cycle again, until a better
    solution is found.

commit 2cfd1e270ec6cc931b7d68a6da80add594d821c9
Author: Hekili <[email protected]>
Date:   Tue Dec 6 22:28:08 2016 -0500

    BETA:  Fixes to latest beta, Paladin, Shaman.

    o Fix toggle for Artifact Ability (under 'toggle' rather than

    o Fix Aftershock refunds to not cause an error.

    o Trying modification to target counts; if the addon has detected more
    enemies than nameplates have shown, trust the addon's detection.  We'll
    see how this goes.  (Should fix issues when Blizzard bugs out on hitbox
    sizes, i.e. EN Dragons).
    o Instead of advancing to the end of the GCD, trying cooldown.X.remains
    returning X's remaining CD or the remaining GCD, whichever is greater.
    Should apply only to offGCD abilities.  Makes the addon more friendly to
    weaving offGCD stuff like interrupts.

    o Fix an outstanding bug with the notification panel creating a dead
    spot for mouse interaction.

commit 501ab17c88b70ebb0f4db7b8ac5220fcff598080
Author: Hekili <[email protected]>
Date:   Tue Dec 6 13:44:26 2016 -0500

    Elemental: Fix Earthquake, Stormstrike, Windstrike

commit 35b7a8a5eaef5af8862d7b2094654b8738775674
Author: Hekili <[email protected]>
Date:   Tue Dec 6 13:28:05 2016 -0500

    Elemental Shaman Support, Legendaries, Bugfixes, Engine Improvements...

    CLASSES:  Add support for Xavaric's Magnum Opus shield buff.

    SHAMAN:  Add initial Elemental Shaman support.  May be missing some
    artifact and legendary mechanics.

    + Elemental Shaman:  *WARNING*  SimulationCraft importing does not work
    for the default APL at this time.  This will have to wait for an
    importer overhaul, since the current importer does not support
    + Elemental Shamans: nameplate targets will not be used because you
    cannot reliably detect the number of targets clustered at range.  This
    means targets won't be counted until you hit them.
    + Eye of the Twisting Nether: Added to many damaging abilities.  Can
    count your Twisting Nether buffs with twisting_nether.count (i.e., if
    you want to wait to pop a cooldown until you have all your buffs up).
    + Legendaries:  Implement mechanics from class/spec legendaries.  Not
    sure if Spiritual Journey will work right, yet.

    o Abilities that are channeled will run their handlers at the start of
    their cast rather than the end.
    + Added a delay counter on the upper left of primary icons.  This counts
    down to let you know that an ability may be ready, but the addon
    recommends waiting to use it.  This is useful for stuff like 'use Tiger
    Palm at 65 Energy' but you actually have only 40.  May need to make this
    'optional' or at least prettier.

    + Add preliminary support for tracking what spells are 'in the air',
    i.e., were cast but have not yet landed.  This will be used to improve
    recommendations following abilities that have a travel time and effects
    that fire when the spell hits (rather than when the spell was cast).

    o Attempt to prevent the artifact API bug, yet again.

    o Use [[ ]] for storing display/list default names so that `/hekili
    makedefaults' doesn't freak out with names that have apostrophes.
    o Add a new importer warning for APLs that can't be properly read.

    o storeValues() will always clear the table before exiting if there are
    no new elements to store.

    o spendCharges() will set a cooldown to 0 if you're left with at least 1
    o The calculated haste / spell_haste / melee_haste values will now use
    values from the state.stat table, which allows ability handlers that
    update haste values to impact project cast times/GCD times/etc.
    + Added 'refreshable' option that returns true if a debuff with the same
    name as the tested ability has less than 30% of the debuff's duration.
    This could use more finesse.
    + reset():  Wipe modified stat values and get fresh values during future
    - reset():  Use global_cooldown wherever class.gcd was previously used.
    o reset():  Don't advance to the end of the GCD any longer; may help
    with recommendations for stuff that was off-GCD.
    + advance():  Advance times will be rounded to the ceiling of the
    hundredth second (0.01).  1.505 becomes 1.51 as does 1.501.  This helps
    improve consistency of recommendations (reducing flicker) and also
    addresses an issue where abilities that would be recommended based on a
    calculated future time (i.e., reaching a cap or energy level) wouldn't
    actually pass the threshold by some infinitesimal margin so we were
    spending a charge before we gained it.
    + advance():  Add hook to allow class/spec modules to do extra stuff
    after advance() completes its work.  The first usage of this is to try
    to support Spiritual Journey's Feral Spirit cooldown reduction.
    + isReady():  Check timeToReady() for all actions that are being tested
    using Time Scripts.

    + When showing the values used in a diagnostic tooltip (Debug enabled
    and Paused), show each element in alphabetical order for easier reading
    + Add font strings for delays, keybindings (still not supported yet).
    Delay and KB is at 67% of prmary font size; should probably make these
    into options at a later date.

    o Moved orderedPairs here so I can use it the editor and tooltips or
    wherever else I might want.

commit b892fb5f9717d00f62ec5d26a00bb6c2cf20ab7e
Author: Hekili <[email protected]>
Date:   Wed Nov 30 10:47:09 2016 -0500

    Update Paladin default displays.

commit f979fccc52cc3ba802cb6826ed205ade13c6572c
Author: Hekili <[email protected]>
Date:   Wed Nov 30 10:46:41 2016 -0500

    Fix for Default Imports


    The default display export strings were incorrectly storing which action
    lists were attached to them.  This worked okay for most people who don't
    have custom or old action lists, but not for others.  This should fix
    the bug and default settings should properly be recovered at

commit d0d803553cc3111597ed4bcb53c5ce802ea7540f
Author: Hekili <[email protected]>
Date:   Wed Nov 30 00:26:58 2016 -0500

    New Specialization Support (Protection Paladin) and New Script Type!

    Initial support for Protection Paladins.  It's possible and even likely
    that some buff IDs are incorrect and some mechanics are not yet modeled
    correctly.  We'll see!

    *Protection Paladins*
    Protection stuff includes new Class Settings for toggling defensives
    on/off ('use_defensives' in scripts), set a health threshold for
    Hand/Light of the Protector self-heals (if met, 'use_self_heals' is
    true), set a damage threshold for how much incoming damage you must be
    receiving before Shield of the Righteous is recommended defensively (the
    default action list still avoids capping SotR charges).

    *New Script Type: Time*
    While the default SimC like scripts are sufficient in the vast majority
    of cases, sometimes it is more important to calculate *when* an action
    list entry should be ready rather than if it is ready now (or when the
    ability's cooldown/resources are available).

    Example:  You have 8 seconds remaining before Shield of the Righteous
    will reach 3 charges.  You want Shield of the Righteous to be used when
    you are capped on charges, so you aren't wasting charge time gained from

    SimC-like Conditions:


    This will be false UNTIL you've reached 3 charges.

    Time Script:


    This will find out how much remaining charge is required and multiply by
    recharge time (which should equal 8 seconds, based on the case we

    Using the Time Script will tell the addon to anticipate that Shield of
    the Righteous *will be* ready in 8 seconds, instead of the default
    behavior of saying "no, it's not ready yet" and then checking again
    after something else has been recommended.

    Time Scripts have access to additional values to help with
    decision-making:  'delay' is the time until the ability is off-cooldown
    or until you will have resources (based on resource regeneration) --
    whichever is greater.  'spend' is the amount of resources required to
    use the ability.  'spend_type' is the type of resources spent by the

    Time Scripts are heavily restricted -- you can't write full functions
    and you cannot access the global environment.  You can provide an
    equation that gives a numeric value, and use simple conditions like:

    holy_power.current>1 and 2 or 0

    ...which would equal 2 if you have more than one Holy Power, or 0 if you
    have 1 or fewer Holy Power.

    *Double Checking*
    If no ability's criteria is successful in your action lists, the addon
    will now advance by 1s and try again.  It will do this twice before
    giving up on providing you with a recommendation.

    - Recommending an offGCD ability will no longer trick the addon engine
    into thinking that the GCD was reset.

commit dac5f6c486ca6ff377bb06d647895e75b9093e8e
Author: Hekili <[email protected]>
Date:   Tue Nov 29 01:38:52 2016 -0500

    Additional support for Paladin abilities.

    Corrected 'repentence' to 'repentance'.
    Added many previously unsupported or unlisted abilities available to
    Retribution Paladins.
    Added hook in state.spend() to support Crusade gaining stacks from
    expending holy power.
    Added 'target.is_undead' and 'target.is_demon' -- used internally to
    apply Wake of Ashes stun.
    Added support for healing spells actually healing (so that if you
    recommend Flash of Light based on current health, your predicted health
    value changes and something else would get recommended next).

    Cleaned up some descriptions in the /hekili options UI.  Auto/Manual
    given more descriptive names.

    Fix stat.spell_power to actually give a useful value.

commit c2b3d260b60af8d1c04f707dc18348d2e2350fe2
Author: Hekili <[email protected]>
Date:   Mon Nov 28 19:23:11 2016 -0500

    Clear up some import confusion.

    Told GitHub to ignore some libraries that the Curse packager will

commit 3f24786b17d37f025652e7bcfd46b00b039f4c7d
Author: Hekili <[email protected]>
Date:   Mon Nov 28 19:12:04 2016 -0500

    Initial GitHub upload of Hekili for 7.1.0 (with some PTR support).

commit 39ae038d02fae9b088100c5749474c4bd5d33da2
Author: Hekili <[email protected]>
Date:   Mon Nov 28 18:57:36 2016 -0500

    :space_invader: Added .gitattributes & .gitignore files

commit cf46692a79904a78c9c597dfb65669605959dda6
Author: Hekili <[email protected]>
Date:   Mon Nov 28 18:56:24 2016 -0500

    Initial commit

  • 1
  • 2
  • 3
  • 4
  • 5
  • Next


  • To post a comment, please or register a new account.
Posts Quoted:
Clear All Quotes