Get an Epic Experience with Premium

Hekili

Combat Login to Add Favorites
  • 4 Likes
  • World of Warcraft
  • 8,074 Monthly Downloads
  • Supports: 6.0.3
  • 22,904 Total Downloads
  • Updated 11/26/2014
  • Created 11/18/2013
  • 26 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 2.12
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.

------------------------------------------------------------------------
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.
------------------------------------------------------------------------
r104 | kapulani | 2014-11-11 23:06:46 +0000 (Tue, 11 Nov 2014) | 4 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Options.lua

 - Fixed a broken default import string.
 - Improved error handling for bad import strings.
 - Added a sanity check at login to detect previously imported bad import strings and eliminate them.
 - Added '/hekili recover' command in case the addon doesn't recover from error state due to bad import strings.
------------------------------------------------------------------------
r103 | kapulani | 2014-11-11 08:00:53 +0000 (Tue, 11 Nov 2014) | 2 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua

 - Updated Enhancement action lists to use Magma Totem w/ multi-targets if primary target is within range.
 - Improved error handling, visibility for some conditionals.
------------------------------------------------------------------------
r102 | kapulani | 2014-11-11 02:10:51 +0000 (Tue, 11 Nov 2014) | 8 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/UI.lua

 - Added version numbers to default strings to help identify when you're running with outdated default displays/action lists.
 - Updated all default Shaman displays, action lists.
 - Debug mode cleaned up a little bit, shouldn't confuse the garbage collector any longer.
 - Cleaned up ProcessHooks() so we only enter data into the queue when an action is chosen.
 - Added Reload Missing, Reload All buttons to the options interface for both action lists and displays.
 - Reload button will tell you if the default displays/action lists are newer than your existing lists.
 - Fixed to show the proper number of buttons when changing the Icons Shown setting.
 - Added 'cooldown_up' criterion that effectively checks 'cooldown.action.remains == 0' (same as 'cooldown_react').
------------------------------------------------------------------------
r101 | kapulani | 2014-11-06 07:49:05 +0000 (Thu, 06 Nov 2014) | 1 line
Changed paths:
   M /trunk/Core.lua
   M /trunk/State.lua

 - Improve consistency for feigning a single stack of buffs where UnitBuff/Debuff returns a count of 0 (i.e., so Ascendance works).
------------------------------------------------------------------------
r100 | kapulani | 2014-11-06 06:54:42 +0000 (Thu, 06 Nov 2014) | 1 line
Changed paths:
   M /trunk/State.lua

 - Fixed typo in debuffs metatable that caused the addon to forget which dot/debuff it is dealing with.
------------------------------------------------------------------------
r99 | kapulani | 2014-11-05 17:32:01 +0000 (Wed, 05 Nov 2014) | 2 lines
Changed paths:
   M /trunk/embeds.xml

embeds.xml
 - Include the right LibRangeCheck-2.0.lua in the right folder.
------------------------------------------------------------------------
r98 | kapulani | 2014-11-05 08:23:25 +0000 (Wed, 05 Nov 2014) | 44 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Hekili.lua
   M /trunk/MultilineEditor.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/Targets.lua
   M /trunk/UI.lua
   M /trunk/Utils.lua
   M /trunk/embeds.xml

*** This is another alpha bugfix commit -- I highly suggest you do *not* download this unless you're specifically interested in alpha testing. ***

State.lua Core.lua
 - We will recycle our tables instead of suddenly eating ~300KB per second for no good reason.  Debug mode is still leaky because I want to go to bed.

.pkgmeta, embeds.xml
 - Dump LibCompress since we don't actually use it.

Core.lua
 - Hide displays if you login to a class that doesn't have a supported module.
 - Strip filename/line numbers from conditional script errors.
 - Correct "Hookrities" -> "Hooks" and never trust Replace in Files again.
 - Ensure that broken scripts are interpreted as false rather than true.
 - Make the ProcessHooks, UpdateDisplays, and Audit functions (Targets.lua resilient so they can be called with C_Timer and function w/o arguments.  For ProcessHooks, we will save our wrapping function rather than making a fresh one every cycle.
 - ResetState() will now wipe expired data from the existing tables, rather than grabbing fresh tables faster than the garbage collector can figure out what to do.
 - ProcessHooks() will recycle its tables as well.

Events.lua
 - Cache the localized specialization name and its equivalent key to reduce overhead for spec checks later on.

Hekili.lua
 - Include LibRangeCheck-2.0 here.
 - Use local string.format rather than local strformat = string.format for readability.

MultilineEditor.lua
 - Add syntax error text to the tooltip for testing purposes.

Options.lua
 - When creating a new display, create its C_Timer caller if it doesn't already exist.
 - Preliminary support for version-stamping of displays, action lists, etc.

State.lua
 - Modify all storage metatables to get fresh game data if ResetState() wiped out its stored data.
 - Use cached SpecializationKey for spec comparisons.

Targets.lua
 - Unnecessary futzing with the Audit() function.

UI.lua
 - Make ProcessDisplayX callers if they don't exist.
 - Clean up some function names.

Utils.lua
 - Reorganize a bit.
------------------------------------------------------------------------
r97 | kapulani | 2014-10-31 19:37:18 +0000 (Fri, 31 Oct 2014) | 18 lines
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/Classes/Warrior.lua
   M /trunk/Constants.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/embeds.xml

Still part of a wave of alpha commits.  I wouldn't download this yet, if I were you.
 - Fix for renaming actions and hooks through the UI; entries in the left-hand list were not updating properly.
 - The SimulationCraft importer will now convert "resource" to "resource.current" automatically (and tell you that it did it).
 - The SimulationCraft importer will now convert "buff.X.react" to "buff.X.up" when no stack comparison is being made (and tell you that it did it).  buff.X.react will return the same value as buff.X.stack
 - Fixed buff.X.stack_pct to return an actual percentage instead of 100 or 0.
 - Added syntax for checking whether a target is within a certain range (i.e., for telling if you can Heroic Leap to them, or throw a Keg at them, etc.):
    o target.withinX (ex: target.within10 will try to tell you if the target is within 10 yards of you.
    o target.outsideY (ex: target.outside8 will try to tell you if the target is 8 or more yards from you.
    o target.rangeAtoB (ex: target.range8to25 will try to tell you if the target is between 8 and 25 yards from you.
 - Added target.health supported values are target.health.current target.health.max target.health.pct (for now).

Future Warrior stuff:
 - Add LibRangeCheck-2.0 to the packager, will help with stuff like Heroic Leap for Warriors.
 - Fix abilities that generate rage in Classes/Warrior.lua
 - Create support for SetDistance(), so that when charging or leaping, we can tell the engine that (we think) you're close to the enemy now.
 - Insert entry for combo_points in resource_t (there's no "SPELL_POWER_COMBO_POINTS" global var, apparently).
 - Reset target minimum and maximum range in ResetState().
 - Rage gains in Advance() will now check to see if you actually have a weapon equipped.
------------------------------------------------------------------------
r96 | kapulani | 2014-10-29 21:27:48 +0000 (Wed, 29 Oct 2014) | 1 line
Changed paths:
   M /trunk/.pkgmeta
   M /trunk/Hekili.toc

 - Properly include LibCompress as an external.
------------------------------------------------------------------------
r95 | kapulani | 2014-10-29 21:17:38 +0000 (Wed, 29 Oct 2014) | 1 line
Changed paths:
   M /trunk
   M /trunk/Hekili.toc
   D /trunk/Libs

 - Test commit for external Libs.  This will probably break *something*.  You do not want to download this alpha.
------------------------------------------------------------------------
r94 | kapulani | 2014-10-29 09:51:02 +0000 (Wed, 29 Oct 2014) | 1 line
Changed paths:
   M /trunk/.pkgmeta

 - Another attempt at getting .pkgmeta to work.
------------------------------------------------------------------------
r93 | kapulani | 2014-10-29 09:47:06 +0000 (Wed, 29 Oct 2014) | 1 line
Changed paths:
   M /trunk/.pkgmeta
   D /trunk/Libs/EditboxWidget.bak
   D /trunk/Libs/HekiliCustomEditor.lua

 - Trying again to get .pkgmeta to do its job.
------------------------------------------------------------------------
r92 | kapulani | 2014-10-29 09:26:20 +0000 (Wed, 29 Oct 2014) | 16 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes/Warrior.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/UI.lua

Fixes:
 - Update IsKnown() to check special cases for Ascendance in Elemental vs. Enhancement.
 - Cache UnitClass() upon entering world to reduce overhead for class checking.
 - Fixed logic order so that minion tracking works properly in CLEU.
 - Fixed print(nil) issue when importing a bad or complicated SimulationCraft action list.
 - Fixed '/hekili times' using outdated name for ProcessHooks() test.
 - Added ConsumeStack() to State.lua for abilities that consume single stacks of a buff.
 - Added target.moving to the game state.  Will probably use it to rule-out Earthquake during enemy movement.
 - Maybe, just /maybe/ get the packager to pay attention to .pkgmeta.

Preliminary support features for Warriors:
 - Classes/Warrior.lua
 - Capture swing timers in Events.lua for predicting future rage gains.
 - Added rage generation support to Advance() in Core.lua
 - Scan tooltips better for weapon speeds to predict rage gains.
 - Detect weapon swings in CLEU; we can even check for offhand and multistrike!
------------------------------------------------------------------------
r91 | kapulani | 2014-10-27 20:16:32 +0000 (Mon, 27 Oct 2014) | 1 line
Changed paths:
   M /trunk/Options.lua

 - Trim all scripts, rather than just the action scripts.
------------------------------------------------------------------------
r90 | kapulani | 2014-10-27 19:59:35 +0000 (Mon, 27 Oct 2014) | 4 lines
Changed paths:
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Options.lua
   M /trunk/State.lua

 - Allow AbilityElements() and AuraElements() to update spell IDs to make changing them a little less clunky.
 - Lightning Bolt cast time for Elemental is 2.0 seconds, not 2.5.
 - Fix string.trim issue causing scripts not to update when edited.
 - Clean up GCD times, cast times, execute times a bit.  May need revisiting.
------------------------------------------------------------------------
r89 | kapulani | 2014-10-27 10:01:32 +0000 (Mon, 27 Oct 2014) | 1 line
Changed paths:
   M /trunk/Options.lua

 - Fixed "Reload Defaults" creating duplicating default displays that already exist.
------------------------------------------------------------------------
r88 | kapulani | 2014-10-27 09:58:02 +0000 (Mon, 27 Oct 2014) | 17 lines
Changed paths:
   D /trunk/Actions.lua
   M /trunk/Classes/Shaman.lua
   M /trunk/Classes.lua
   M /trunk/Core.lua
   M /trunk/Events.lua
   M /trunk/Hekili.toc
   D /trunk/Libs/ForAllIndentsAndPurposes
   M /trunk/Options.lua
   M /trunk/State.lua
   M /trunk/Targets.lua
   M /trunk/UI.lua

 - The options table has been overhauled to highlight more commonly used settings and move more confusing/complex features back a bit.  Additionally, "priority queues" are now referenced as "hooks" since they are simply a feature to hook an action list to a display.  This may reduce confusion between "priority queues" vs. "action lists."

 - Added ability to restore deleted default displays and overwrite changes to modified displays.  (Action lists will be next!)

 - Check for cooldowns by spell ID to resolve name conflicts in deDE.  Wind Shear and Windstrike have the same localized name in German, causing errors when checking for spell info by name.

 - Added T16 caster for Elemental Shamans.

 - Each display's priority queues are triggered on their own timers, so that users with many displays don't hit the "script ran too long" time limit.  Hopefully.

 - Action lists can now be disabled on a list-by-list basis, rather than just when hooked.

 - More efforts to make the right things visible at the right time.

 - Libs/ForAllIndentsAndPurposes removed since we're using the updated and customized version in Formatting.lua

 - Removed Actions.lua
------------------------------------------------------------------------
r87 | kapulani | 2014-10-20 18:58:01 +0000 (Mon, 20 Oct 2014) | 1 line
Changed paths:
   M /trunk/Core.lua

 - Try firing ProcessActionLists() and UpdateDisplays() on separate timers to reduce CPU usage per cycle.
------------------------------------------------------------------------

Comments

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 »

Curse $5,000 Dreamhack CS:GO Skin Giveaway

Enter Now!