Maintenance for the week of December 30:
• PC/Mac: No maintenance – December 30

[REQUEST] Stand-alone execute addon

danno8
danno8
✭✭✭✭✭
✭✭✭✭✭
Currently I use WarlegendHUD for the visual execute cues and really like it. Unfortunately it looks like it is not going to be updated any longer (last update was mid April) and I also prefer the ggframes for the look of the resource/health bars, but there is no way to turn off the Warlegend bars and still get the execute.

So is there a standalone execute addon out there? I know FTC uses a "enemy low health" on screen notice but I really don't care for floaty text in ESO. Or can anyone figure out a way to edit some files in WarlegenHUD lua files to turn off eveything else but the execute function?
  • Cairenn
    Cairenn
    ✭✭✭
    SimpleCombatAlerts might do what you are looking for?
    Cairenn
    Co-founder & Administrator
    ESOUI
  • Garkin
    Garkin
    ✭✭✭
    There is no execute alert in SCA, it just shows block/interrupt/dodge and off balance. But if you are interested in this addon, this is updated version of SCA

    It is not hard to write simple execute alert:
    Copy&paste this code to the end of any .lua file of some addon you use:
    local function ExecuteAlert(eventCode, addonName)
       ---load this code after default UI is initialized
       if (addonName):find("^ZO_") then return end
       EVENT_MANAGER:UnregisterForEvent("Execute_Alert", EVENT_ADD_ON_LOADED) 
    
       local alertsTable = setmetatable({}, {__index = function() return 0 end})
       ZO_CenterScreenAnnounce_SetEventPriority(EVENT_POWER_UPDATE)
    
       local function OnPowerUpdate(eventCode, unitTag, _, powerType, powerValue, powerMax)
          if unitTag == "reticleover" and powerType == POWERTYPE_HEALTH and IsUnitAttackable("reticleover") and GetUnitReaction("reticleover") ~= UNIT_REACTION_NEUTRAL and not IsUnitDead('reticleover') then
             local unitName = GetUnitName("reticleover")
             --if target has 20% or less health
             if (powerValue / powerMax) <= 0.2 then
                local now = GetFrameTimeSeconds()
                local alertTime = alertsTable[unitName]
                --do not show alert for the target with the same name more than every 5 seconds
                if now - alertTime > 5 then
                   CENTER_SCREEN_ANNOUNCE:AddMessage(eventCode, CSA_EVENT_SMALL_TEXT, SOUNDS.MESSAGE_BROADCAST, ZO_ERROR_COLOR:Colorize("Execute!"))
                   alertsTable[unitName] = now
                end
             else
                alertsTable[unitName] = nil
             end
          end
       end
       EVENT_MANAGER:RegisterForEvent("Execute_Alert", EVENT_POWER_UPDATE, OnPowerUpdate) 
    end
    EVENT_MANAGER:RegisterForEvent("Execute_Alert", EVENT_ADD_ON_LOADED, ExecuteAlert)
    
    Garkin / EU / CSF guild
    My addons: SkyShards, LoreBooks, Dustman, Map Coordinates, No, thank you, ... (full list)
    I'm taking care of: Azurah - Interface Enhanced, Srendarr - Aura, Buff & Debuff Tracker and more
    My folder with updated/modified addons: DROPBOX
  • danno8
    danno8
    ✭✭✭✭✭
    ✭✭✭✭✭
    lol, easy when you know what you are doing. Of course that requires time to learn and the last programming I did was using Turbo Pascal some 20 years ago.

    Thanks for the info though!
Sign In or Register to comment.