ezInterrupt

This project is abandoned.

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

Cast Alert Options

ezInterrupt is an addon designed to simplify the task of interrupting during boss encounters.

Features
• Shows an icon and plays a sound ("cast alert") when you can interrupt (only if your interrupt is not on cooldown and the cast is interruptible).
• Spell filtering allows you to suppress unwanted cast alerts (for Release Aberrations on Maloriak for example).
• Cast alerts are available for your target or focus (whichever you specify).
• Can announce your interrupts in a variety of ways (including whispering another player).
• The interrupt message is fully customizable.
• Zone settings allow you to control where the addon will be active (only in raids for example).
• All interrupts are supported.

Development
Feedback and comments are appreciated. Please report bugs or problems by creating a ticket. If you want to help translating the addon into another language, please use ezInterrupt's localization page.

Planned improvements: better support for interrupt rotations, slash commands, GUI improvements.

News
Revision 35 adds option to flash the screen on cast alert, adds missing Moth pet interrupt, fixes the "spell removed from blacklist/whitelist" message and adds two new sounds.
Revision 34 allows you to customize each of your interrupt abilities, adds support for Strangulate and Arcane Torrent.
Revision 26 adds code to handle cast alerts properly when auras that give immunity to interrupts are cast or fade (only in PvE). This might not work correctly yet.

Slash Commands
Currently there are no slash commands available. ezInterrupt's configuration options are located in Blizzard's addon options.

Known issues
• In untranslated non-english versions of WoW, cast alerts do not work correctly with pet interrupts because translated pet types are required for the code to work.
• A few spells, such as Al'Akir's Electrocute, are erroneously flagged as being interruptible when they are not. This is a problem with Blizzard's code. I recommend adding these spells to the blacklist.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Daylesan Daylesan Mar 14, 2011 at 21:34 UTC - 0 likes

    I narrowed the issue down. The WoW API function UnitIsEnemy returns 'nil' on the Needlerock Mystic instead of 'true'. Not sure if that is a bug on Blizzard's side or just me using the function incorrectly.

    So the addon thinks the Needlerock Mystic is not hostile.

    It's fixed in r22.

    Last edited Mar 15, 2011 by Daylesan
  • Avatar of Daylesan Daylesan Mar 14, 2011 at 20:31 UTC - 0 likes

    @angrysteel: thanks for the report. I'll look into it.

    As for pvp, the intention is that it works on all spell casts by hostile units, which includes hostile players. However pvp has not been in my focus, so testing has been limited to a duel or two (where everything worked fine). It could be that there's a problem when going up against a player from the other faction. Or you simply had arena/battleground unchecked in your zone settings (which is the default setting).

    It would help a lot if you could take a screenshot whenever you encounter something that's not working and attach it to a ticket here.

    Last edited Mar 14, 2011 by Daylesan
  • Avatar of angrysteel angrysteel Mar 14, 2011 at 20:17 UTC - 0 likes

    I believe it was on my rogue.

    r21 has no errors and everything is working fine (for the most part).

    There are some mobs (well spells) that dont trigger the interupt icon or sound.

    An example would be the Needlerock Mystic, in Deepholm at Needlerrock Slag.

    http://www.wowhead.com/spell=13860 is the spell they cast (Mind Blast), that isnt showing up.

    There was a small handful of other spells similar to the above that didnt work, but i wasnt sure if it was ezInterrupt or just me using an old version at the time.

    But for 95% of mobs, this works great. It also doesnt work on pvp characters, is this by design? Would a toggle be worth adding?

  • Avatar of Daylesan Daylesan Mar 12, 2011 at 08:23 UTC - 0 likes

    @angrysteel, you were getting that on a death knight, right?

    Edit: should be fixed in r21.

    Last edited Mar 12, 2011 by Daylesan
  • Avatar of angrysteel angrysteel Mar 11, 2011 at 22:56 UTC - 0 likes

    Getting the following Error with r20

    14x ezInterrupt-1.0\core.lua:467: bad argument #1 to 'pairs' (table expected, got nil)
    ezInterrupt-1.0\core.lua:467: in function <ezInterrupt\core.lua:466>
    <in C code>: in function `CastSpellByName'
    FrameXML\ChatFrame.lua:1040: in function `?':
    FrameXML\ChatFrame.lua:4196: in function <FrameXML\ChatFrame.lua:4162>:
    <in C code>: in function `ChatEdit_ParseText'
    FrameXML\ChatFrame.lua:3825: in function `ChatEdit_SendText':
    FrameXML\ChatFrame.lua:2560: in function <FrameXML\ChatFrame.lua:2553>:
    <in C code>: in function `RunMacroText'
    FrameXML\SecureTemplates.lua:379: in function `handler':
    FrameXML\SecureTemplates.lua:543: in function <FrameXML\SecureTemplates.lua:491>:
    
    Locals:
    self = <unnamed> {
     0 = <userdata>
    }
    event = "SPELL_UPDATE_COOLDOWN"
    ezInterrupt = <table> {
     SetDefaultModuleLibraries = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:383:
     Enable = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:315:
     RegisterChatCommand = <function> @ Ace3\AceConsole-3.0\AceConsole-3.0.lua:85:
     EnableModule = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:348:
     modules = <table> {}
     GetModule = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:231:
     IterateEmbeds = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:458:
     defaultModuleLibraries = <table> {}
     UpdateOutputChannel = <function> @ ezInterrupt\core.lua:600:
     UnregisterChatCommand = <function> @ Ace3\AceConsole-3.0\AceConsole-3.0.lua:111:
     Printf = <function> @ Ace3\AceConsole-3.0\AceConsole-3.0.lua:69:
     StopAlert = <function> @ ezInterrupt\core.lua:513:
     SetDefaultModulePrototype = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:425:
     optionsFrame = <unnamed> {}
     GetName = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:300:
     baseName = "ezInterrupt"
     name = "ezInterrupt"
     OnEnable = <function> @ ezInterrupt\core.lua:419:
     IsEnabled = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:467:
     orderedModules = <table> {}
     UpdateCombatLogParsing = <function> @ ezInterrupt\core.lua:612:
     DisableModule = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:366:
     PLAYER_ENTERING_WORLD = <function> @ ezInterrupt\core.lua:595:
     UpdateFilterList = <function> @ ezInterrupt\core.lua:574:
     CheckForCast = <function> @ ezInterrupt\core.lua:441:
     UNIT_SPELLCAST_CHANNEL_START = <function> @ ezInterrupt\core.lua:530:
     RegisterMessage = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118:
     GetArgs = <function> @ Ace3\AceConsole-3.0\AceConsole-3.0.lua:144:
     Print = <function> @ Ace3\AceConsole-3.0\AceConsole-3.0.lua:54:
     UNIT_SPELLCAST_START = <function> @ ezInterrupt\core.lua:524:
     UNIT_SPELLCAST_STOP = <function> @ ezInterrupt\core.lua:518:
     OnInitialize = <function> @ ezInterrupt\core.lua:343:
     IsSpellAllowed = <function> @ ezInterrupt\core.lua:491:
     IsModule = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:484:
     db = <table> {}
     SetDefaultModuleState = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:403:
     PLAYER_TARGET_CHANGED = <function> @ ezInterrupt\core.lua:536:
     showFilterListContents = <function> @ ezInterrupt\core.lua:430:
     SetEnabledState = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:440:
     OnDisable = <function> @ ezInterrupt\core.lua:426:
     enabledState = true
     COMBAT_LOG_EVENT_UNFILTERED = <function> @ ezInterrupt\core.lua:656:
     RegisterEvent = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118:
     UnregisterAllMessages = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:202:
     StartAlert = <function> @ ezInterrupt\core.lua:499:
     UnregisterAllEvents = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:202:
     SendMessage = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:87:
     IterateModules = <function> @ Ace3\AceAddon-3.0\AceAddon-3.0.lua:453:
     UnregisterMessage = <function> @ Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:181:
     NewModule = <function> def
    
  • Avatar of angrysteel angrysteel Feb 24, 2011 at 10:14 UTC - 0 likes

    Planned Features:

    • Visual alerts to complement the sound warning.

    Would this include something like a screen shake, or just a flashing screen? Hopefully both options ;p

    As far as hiding the cast bar while filtering is enabled, that is an amazing option for fights like Maloriak, when you are assigned to only interupt the storm, and dont want to interupt the adds.

    There is an addon that partially works (Deadened), but it currently only works with the blizzard cast bar, not Azcastbar, Quartz or any of the other popular castbar mods. But if you want to take a look at it, would give you an idea how much time / effort it would be to code.

  • Avatar of Daylesan Daylesan Feb 21, 2011 at 14:37 UTC - 0 likes

    @ZubrDP: the addon doesn't modify cast bars. Once the code for icon-based warnings is in, it should however be able to do the job just as well if you rely on its warnings instead of the castbar.

    In the future, I might consider adding the option to hide the cast bar while filtering is enabled though, depending on how much work it is.

    Last edited Feb 21, 2011 by Daylesan
  • Avatar of ZubrDP ZubrDP Feb 20, 2011 at 15:03 UTC - 0 likes

    This sounds awesome. Will blacklist mode allow one to completely eliminate the castbar for a certain ability, like the old Deadened addon?

Facts

Date created
Feb 16, 2011
Category
Last update
Jun 29, 2011
Development stage
Abandoned
License
Public Domain
Downloads
12,003
Recent files
  • B: r40 for 4.2 Jun 29, 2011
  • A: r39 for 4.1 Jun 29, 2011
  • B: r38 for 4.1 Apr 27, 2011
  • B: r37 for 4.0.6 Apr 11, 2011
  • A: r36 for 4.0.6 Apr 11, 2011

Authors

Relationships

Embedded library
Ace3
AceGUI-3.0-SharedMediaWidgets
LibSharedMedia-3.0