Get an Epic Experience with Premium

Hekili

Combat Login to Add Favorites
  • 6 Likes
  • World of Warcraft
  • 17,119 Monthly Downloads
  • Supports: 6.0.3
  • 36,087 Total Downloads
  • Updated 12/14/2014
  • Created 11/18/2013
  • 30 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 2.16.2
or

About Hekili

Version 2.10

Hekili v2.10 is out and available on Curse Client. If you're having issues or errors after updating, type /hekili recover to reload your action lists and displays. There have been updates!

Features

The major features added to the addon since version 1.0 are:

  • Class support. The addon currently has built in settings for Shamans (Enhancement and Elemental) as well as Paladins (Retribution).
  • Extensive in-game customization. Modify any of the built-in displays or action lists, or make brand new ones. Use SimulationCraft-like or Lua syntax to determine if an ability should be shown.
  • Set keybinds to toggle your cooldowns, interrupts, hardcasts, or mode -- single target, cleave, or AOE. These toggles will dynamically show or hide action lists or abilities that don't meet your current criteria.
  • Use a keybind to pause the addon. A debugging mode is also available to show detailed tooltips when paused, to see exactly why a particular icon is shown at a particular time.
  • Ongoing optimization of the main engine. Instead of constantly updating every potentially useful bit of information, the addon now calculates each bit of information on demand.

Upgrading

Bear in mind, your settings from the 5.x version of this addon will not work with 6.0. The new version will reset any profile that wasn't created with Hekili v2.

Developer

Feel free to contact me directly if you have any issues. Private messages work well. Submitting a ticket is good as well. I do NOT get notifications if you comment on this page, unfortunately.

You can reach me on the MMO-Champion forums as Hekili, or on Twitter as @Hekili808.

------------------------------------------------------------------------
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.
------------------------------------------------------------------------
r132 | kapulani | 2014-12-14 09:28:37 +0000 (Sun, 14 Dec 2014) | 7 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Paladin.lua
   M /trunk/Core.lua
   M /trunk/State.lua

Monk.lua Add support for stagger.amount and stagger.tick if you want to use that to decide to use Purifying Brew, etc.

Paladin.lua We'll try trusting the Blizzard API as to whether Hammer of Wrath is usable (to support execute vs. Ko'ragh's shield).

Core.lua Reset debuff values (v1, v2, v3) in ResetState().

State.lua Collect v1, v2, v3 when getting debuff information, mostly to support BM Monk Stagger (but debuff.flame_shock.v1 is available, whether it is useful or not).
------------------------------------------------------------------------
r131 | kapulani | 2014-12-12 22:25:42 +0000 (Fri, 12 Dec 2014) | 7 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   A /trunk/Textures/MONK.PNG
   A /trunk/Textures/MONK.blp

Shaman.lua Fix bad import of SimulationCraft action lists; was preventing Flame Shock from being applied (thus preventing Lava Burst).

Options.lua SimulationCraft importer will make adjustments on a line-by-line basis.

State.lua Fix for 'buff.liquid_magma.X' -- special case using Liquid Magma's CD to fake a buff.

Added MONK.blp texture.
------------------------------------------------------------------------
r129 | kapulani | 2014-12-11 04:05:22 +0000 (Thu, 11 Dec 2014) | 4 lines
Changed paths:
   M /trunk/Core.lua
   M /trunk/State.lua

Monks:
 - Test implementation of 'resource.actual' and 'resource.current' -- basically, so that testing criteria when a delay is involved will get the right values for energy (or focus).
 - Example -- you have 20 energy, and 10 energy/sec regen, then Keg Smash is available in 2 seconds (40 energy -- assuming it is otherwise off CD).  This makes it so that the prediction engine know that you'll actually have 40 energy at that time, in case any conditionals need to know it.
 - Fix for Debuff( unit, aura, 0 ) / RemoveDebuff( unit, aura ) -- was previously trying to eliminate from the buff table rather than the debuff table.  This will make Purifying Brew work properly.
------------------------------------------------------------------------
r128 | kapulani | 2014-12-10 21:34:59 +0000 (Wed, 10 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Shaman.lua

Shaman.lua action lists to match recent SimulationCraft updates (no double-dipping from Ancestral Swiftness + MW4).
------------------------------------------------------------------------
r127 | kapulani | 2014-12-10 08:30:37 +0000 (Wed, 10 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Paladin.lua

Paladin.lua for Seraphim, since the Blizz API lies about whether you know talented spells or not.
------------------------------------------------------------------------
r126 | kapulani | 2014-12-10 02:36:06 +0000 (Wed, 10 Dec 2014) | 22 lines
Changed paths:
   M /trunk/Classes/Monk.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua

Monk.lua Add debuff for Chi Explosion.
   Pretend we don't know Blackout Kick if Chi Explosion is talented.
   Make Blackout Kick restore 2 chi if Serenity is up.  (Need to test Serenity+Combo Breaker combination.)
   Jab costs 45 energy in Tiger stance.
   Refund 3 Chi for Touch of Death + Serenity.
   Refund 2 Chi for Breath of Fire + Serenity.
   Refund 3 Chi for Enveloping Mist + Serenity (hypothetically).
   Refund 3 Chi for Fists of Fury + Serenity, though we shouldn't FoF during Serenity.
   Refund 2 Chi for Guard + Serenity.
   Refund 1 Chi for Purifying Brew + Serenity.
   Refund 2 Chi for Rising Sun Kick + Serenity.
   Refund 2 Chi for Uplift + Serenity (hypothetically).
   Chi Explosion:  Require 1 Chi to cast, spend additional chi if available.
   Chi Explosion:  Refund 2 Chi for Combo Breaker: Chi Explosion.

Shaman.lua Update Elemental action lists based on SimulationCraft updates (needs further testing).

Core.lua WaitTime() will bake in an 0.25s for energy-based abilities we are waiting on.  May revert.

Options.lua ImportSimulationCraftActionList() will leave 'cooldown_react' alone but catch 'buff.X.react' as needed.

State.lua set_bonus.tier17_2pc will return true/false rather than 1/0.  Need to check action lists for this.
------------------------------------------------------------------------
r125 | kapulani | 2014-12-06 20:23:49 +0000 (Sat, 06 Dec 2014) | 3 lines
Changed paths:
   M /trunk/Classes/Monk.lua

STILL ALPHA!

Fix erroneous import in WW AOE action list.
------------------------------------------------------------------------
r124 | kapulani | 2014-12-06 09:35:43 +0000 (Sat, 06 Dec 2014) | 14 lines
Changed paths:
   A /trunk/Classes/Monk.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Hekili.toc
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/Targets.lua

Alpha commit for Windwalker, Brewmaster Monk support.
Will not be flagged as release until more testing has been completed.

Notes:
Re-implemented 'fullscan' option for auras that share names (to make Tigereye/Evasive work properly).
Added Arcane Torrent to racials, since Monks and Paladins can be Blood Elves.
Tweak Core.lua to properly split things like chi.max-chi.current properly at the minus.
Listen to UNIT_COMBAT to track incoming_damage_X[s|ms].
Prevent the texture cache from memorizing Jab's texture, since it changes.
Basic support for abilities with charges added to cooldown table.
Fake a buff.spinning_crane_kick.remains GCD for Monks.
HasRequiredResources will always return true for energy/focus.  WaitTime() will calculate the time til ability is ready, whether due to cooldown or energy/focus starvation.
Fixed some more SimulationCraft imports (we can't use !0 == true like they can in C++).
Added RemoveStack() to consume partial stacks of a buff.
------------------------------------------------------------------------
r123 | kapulani | 2014-12-02 04:53:01 +0000 (Tue, 02 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Shaman.lua

Another fix for @Elemental, Cooldowns -- allow Ascendance w/in the first minute.
------------------------------------------------------------------------
r122 | kapulani | 2014-12-02 04:39:41 +0000 (Tue, 02 Dec 2014) | 1 line
Changed paths:
   M /trunk/Options.lua

When importing default displays/action lists, make sure they end up named properly even if I did something really stupid like pasted the import string for the AOE list into the Cooldowns default.
------------------------------------------------------------------------
r121 | kapulani | 2014-12-02 04:35:11 +0000 (Tue, 02 Dec 2014) | 1 line
Changed paths:
   M /trunk/Classes/Shaman.lua

Fix for improper default @Elemental, Cooldowns action list (was actually @Elemental, AOE).
------------------------------------------------------------------------
r120 | kapulani | 2014-12-01 09:16:58 +0000 (Mon, 01 Dec 2014) | 4 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua

Paladin.lua AddAura() for seraphim buff.

Shaman.lua Handler for lava_burst will predict gain of 1 stack of lightning_shield.
   Updates to some Elemental action lists.
------------------------------------------------------------------------
r119 | kapulani | 2014-11-30 06:48:23 +0000 (Sun, 30 Nov 2014) | 2 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes/Warrior.lua
   M /trunk/Constants.lua

Paladin.lua Workaround for holy_prism and lights_hammer, as IsSpellKnown() returns false when checking their spell IDs.

------------------------------------------------------------------------
r118 | kapulani | 2014-11-29 20:13:56 +0000 (Sat, 29 Nov 2014) | 5 lines
Changed paths:
   M /trunk/Constants.lua
   M /trunk/Events.lua

BUGFIX: Use non-localized strings for specialization keys ( spec.elemental vs. spec[ x ]

Constants.lua Added table of fixed strings for all specializations.

Events.lua Use new table of specialization keys when talents are changed.
------------------------------------------------------------------------
r117 | kapulani | 2014-11-26 19:18:37 +0000 (Wed, 26 Nov 2014) | 2 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/State.lua

Shaman.lua Update @Elemental, AOE.
State.lua Tweak logic for "ticking" abilities that are not actually dots.
------------------------------------------------------------------------
r116 | kapulani | 2014-11-26 10:47:30 +0000 (Wed, 26 Nov 2014) | 13 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/State.lua

Alpha!  Alpha!  Will need to test tomorrow before flagging as release.

Classes.lua Reset "cast_start" to 0 when an predicted ability is handled in RunHandler().

Shaman.lua Create 'enhanced_chain_lightning' alias for 'improved_chain_lightning' buff since SimC seems to have it both ways.
   Lava Burst's cooldown is 0 if Lava Surge procced after the player *really* started casting Lava Burst.
   Lava Burst's handler will only remove Lava Surge if the Lava Surge buff was up before Lava Burst was cast.

Core.lua Added cast_start handling to ResetState().

State.lua ticking will return false for any ability that doesn't have a dot by the same name.
   I'm not sure why @Elemental, AOE checks "!ticking" for Earthquake.
   Track the applied time for buffs/debuffs.
------------------------------------------------------------------------
r115 | kapulani | 2014-11-26 08:50:54 +0000 (Wed, 26 Nov 2014) | 1 line
Changed paths:
   M /trunk/Options.lua

Options.lua Make sure criteria gets re-cached when actions/hooks are moved around.
------------------------------------------------------------------------
r114 | kapulani | 2014-11-26 03:13:37 +0000 (Wed, 26 Nov 2014) | 12 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/State.lua

Classes.lua When projecting the start of combat, only start the timer if a hostile action is used.
   This will help keeping abilities with a check vs. time (i.e., Heroism/Bloodlust) from bouncing around in the queue.

Paladin.lua Flagged damaging abilities as 'hostile' to fake a combat start.

Shaman.lua Flagged damaging abilities as 'hostile' to fake a combat start.

Core.lua Set false_start to 0 when resetting the predicted game state.

State.lua Don't store the start of a cooldown in SetCooldown(), we don't need it for anything (yet?).
   mt_state.time will return 0 if we're not in combat and no predicted action has caused a false start.
   Otherwise, it will return time in combat if we have a real number, or a faked combat time if a hostile action was recommended.
------------------------------------------------------------------------
r113 | kapulani | 2014-11-26 01:16:58 +0000 (Wed, 26 Nov 2014) | 6 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua

Classes.lua More support for ID swaps when necessary.

Shaman.lua Holy oversight, Batman!
   I'd missed haste modifiers when changing scripting system for Shaman abilities.
   Haste now (again) affects cast times for CL, EB, Healing Rain, Healing Surge, and LB for Enhancement.
   Haste now (again) affects cast times for CL, EB, EQ, Healing Rain, Healing Surge, LvB, and LB for Elemental.
------------------------------------------------------------------------
r112 | kapulani | 2014-11-25 23:23:28 +0000 (Tue, 25 Nov 2014) | 5 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes.lua

Classes.lua AddAbility() now takes variable arguments to accept multiple keys.
   This enabled the addon to deal (partially) with abilities whose ID can change based on glyphs, etc.
   Abilities still need a ModifyAbility( '<name>', 'id', function ( x ) ... end ) to return the right ID under the right circumstances.

Paladin.lua Exorcism now defaults to ID 879, but converts to 122032 when Glyph of Mass Exorcism is enabled.
------------------------------------------------------------------------
r111 | kapulani | 2014-11-25 21:41:51 +0000 (Tue, 25 Nov 2014) | 9 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Core.lua

Paladin.lua Divine Storm costs 0 HP w/ Divine Purpose up.
   Divine Storm removes Divine Purpose when cast.
   Final Verdict costs 0 HP w/ Divine Purpose up.
   Final Verdict removes Divine Purpose when cast.
   Templar's Verdict costs 0 HP w/ Divine Purpose up.
   Templar's Verdict removes Divine Purpose when cast.

Core.lua HasRequiredResources() will pass the state table to action.spend() to check buffs, etc.
   UpdateResources() will pass the state table to action.spend() to check buffs, etc.
------------------------------------------------------------------------
r110 | kapulani | 2014-11-25 01:09:41 +0000 (Tue, 25 Nov 2014) | 2 lines
Changed paths:
   M /trunk/Options.lua

Options.lua Update version stamper to 2.11.
This is really just a big nudge for the Curse packager.
------------------------------------------------------------------------
r109 | kapulani | 2014-11-25 00:49:06 +0000 (Tue, 25 Nov 2014) | 14 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Core.lua
   M /trunk/State.lua

Paladin.lua
   Added tier17 set.
   Added t17 2pc functionality to Exorcism and Hammer of Wrath.

Shaman.lua
   Fixes for Earthquake, Frost Shock, and Lava Burst using outdated modifier system.
   This should resolve an issue where the addon simply won't work for you.
   Fixes for spell costs, hidden passive Primal Wisdom was not accounted for.

Core.lua
   Implemented and fixed metatables for health and resources, they weren't working.

State.lua
   Implemented target.health such that we could, if we so desired, predict health loss/gain.
------------------------------------------------------------------------
r108 | kapulani | 2014-11-23 20:57:09 +0000 (Sun, 23 Nov 2014) | 35 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/Targets.lua

Classes.lua
   Added support for checking the raid buff tray (i.e., buff.str_agi_int.up is now functional).

Classes/Paladin.lua
   Added Execution Sentence aura, Empowered Seal buffs.
   Blessing of Kings/Might now also show that they are buffing Stats/Mastery.
   Judgment will now apply the appropriate buff based on your seal.
   Updated default @Retribution, Buffs action list to recommend Seal of Truth pre-combat.
   Rebuke is off GCD.

Classes/Shaman.lua
   Updated default @Enhancement, AOE action list to recommend LB if glyph of CL is active and there are < 3 targets.

Core.lua
   Strip names from our raid buff wrappers in ResetState, remove caster info.
   Update IsUsable() to accept ability.usable as number (spellID) or function.

Events.lua
   Fixed TTD calculations, they were bad.
   Will now track TTD for any of your tracked enemies, though we only get UNIT_HEALTH updates about named (i.e., 'target') units.
   Some preliminary work was done to work around this TTD limitation, but the effort/CPU time is not worth the limited benefit.

Options.lua
   Next release will be labeled 2.10.
   Refresh cached criteria if a display is enabled/disabled.

State.lua
   Added support for seals (seal.truth is boolean) which are stances.
   Buffs now have a 'caster' value and buff.XX.mine will return true if caster is 'player'.
   time_to_die uses new TTD tables.
   buff.XX.name is pulled from the Auras table for normal buffs, GetRaidBuffTrayAuraInfo() for raid buffs.
   
Targets.lua
   Eliminate() will now remove a TTD table as well.
   Audit() will remove a TTD table for a target who no longer exists.
------------------------------------------------------------------------
r107 | kapulani | 2014-11-21 07:33:26 +0000 (Fri, 21 Nov 2014) | 30 lines
Changed paths:
   M /trunk/Classes/Paladin.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes/Warrior.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Hekili.toc
   M /trunk/State.lua

This is a very alpha update that adds Retribution Paladin support.  Lots of testing is needed!  May cause issues with Shaman module as well.

Classes.lua
   Removed a lot of unnecessary loadstring() calls when dynamic functions were not needed.
   Made AddAbility() a bit more readable by taking table input instead of dynamic entries.

Classes/Paladin.lua
   Updated Paladin module to work with current Hekili engine.

Classes/Shaman.lua
   Clean up formatting.

Classes/Warrior.lua
   Some basic changes to support Warrior at a later date... Won't work yet.

Core.lua
   Reset the 'seal' table as needed by the Paladin module.
   Bugfix for resources that don't regenerate.
   HasRequiredResources() updated to use new 'spend' model (rather than weird cost tables).
   UpdateResources() now uses spend, gain (although I'm actually putting resource gains in the handlers).

Events.lua
   Made spec.X less labor-intensive per cycle.
   UpdateGear() will cycle itself every 3 seconds until an initial gear profile can be made.

State.lua
   Added Stance() for changing seals, stances.
   Added Gain() for abilities that generate resources.
   Added Spend() for abilities that can use add'l resources.
   Added metatable for State.spec checks.
------------------------------------------------------------------------
r106 | kapulani | 2014-11-18 00:57:56 +0000 (Tue, 18 Nov 2014) | 5 lines
Changed paths:
   M /trunk/Core.lua
   M /trunk/Options.lua

Core.lua
 - Improve cooldown info on icon #1, hopefully to prevent issue reported by Jonexe.

Options.lua
 - Rebuild UI in the event of a /hekili recover.
------------------------------------------------------------------------
r105 | kapulani | 2014-11-12 05:31:02 +0000 (Wed, 12 Nov 2014) | 2 lines
Changed paths:
   M /trunk/Core.lua
   M /trunk/Options.lua

 - Update Release tagger.
 - Fix cooldown display for offGCD abilities in first queue slot.
------------------------------------------------------------------------

Comments

  • #45

    Amazing add-on!  Was a huge help in getting me comfortable with the Ele Shammy rotation as validation that I was progressing through the priorities in the proper order.  I look forward to having this on my Ret soon...can't say enough positive things about this one!

  • #44

    Great addon, thanks to Hekili Team Members!!

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Plantronics GameCom Commander Headset Giveaway!