ArcHUD3
Help wanted: I'm no longer playing, so please help with creating Pull Requests on GitHub. If you are an author or programmer and if you are interessted in taking over this project, please let me know.
ArcHUD displays smooth arcs around your character in the middle of the screen to inform you about the health and power (mana, rage, ...) of you, your pet, and your target. In addition, it shows casts, combo points, holy power, soul shards, and a couple of other things. It discretely fades when you are out of combat and at full health/power.
This is a continuation of ArcHUD2 which managed to survive various patches... until the Cataclysm. Thanks to Nenie, the original author of ArcHUD2, for supporting me with this new version.
Please report any bugs or feature requests via the ticket system.
These arcs are currently supported:
- Health and power (mana, rage, focus, energy, runic power) for player, pet, target, and focus target
- Player's secondary power (Holy Power, Soul Shards, Chi etc.)
- Casting/channelling progress for player, target, and focus target
- Fatigue/breath (mirror timer)
- Combo points (including unconsumed combo points on previous target, e.g. on dead corpses)
- Custom (de)buff arcs: Ever wanted to keep track of the stacks and/or remaining times of some specific (de)buffs such as Evangelism, Savage Roar, Beacon of Light, Weakened Soul, etc? Then just create your own custom (de)buff arc for it!
In addition, some additional target information is displayed:
- Current target (name, class, guild, 3D model)
- Current (de)buffs on target
- Target-of-target and target-of-target-of-target
Small warning: Using this addon apparently bears a high risk of getting addicted to it, as these user comments suggest. I received those after taking over the development of ArcHUD when the Cataclysm happened:
- "...nothing ever quite matched the smooth, clean simplicity of ArcHUD's graceful rings."
- "Great job!! I've used this addon for years! None of the other HUDs come close to the functionality and elegance of ArcHUD."
- "Thanks for the work on it so far, much more lightweight than IceHud!"
- "Was staring at the various icehud/metahud alternatives with discomfort and sadness right after the patch [4.0]."
- "Awesome! Thank you so much for that miracle!"
- "Thank you so much for continuing this fantastic addon."
- "...nothing could compare to ArcHUD..."
- "For a whole 4years I had this mod and I missed it so much in the passed few weeks. I tried other HUD mods but they were too in my face >.< . Best HUD mod IMO! Thanks for resurrecting an old friend :D"
- "Loving the new ArcHUD my favorite HUD by far :)"
- "I don't think I could play wow without this addon :)"
- "I've actually grown kind of dependent on it because I'll occasionally run out of Mana/ die without this."
- "Hey mate, just came to thank You again for taking over this beauty, awesome job!"
- "THAT addon! So long I have been searching for a replacement when the development stopped, thanks for bringing it back to live!"
So use it at your own risk ;)
Frequently Asked Questions
- How do I add a arc for a specific buff/debuff (remaining time & stacks)?
- Where is my Combo Point/Soul Shard Numeric Indicator?
By all means, if you got a working version, would really appreciate it :-)
At the moment getting a lot of errors from addon, more depending on different character class.
Hi,
This is the version i am currently using. It is supposed to be a temporary fix until we get an official release: ArcHUD3_v7.3.0_fix.zip
i will let it online for a while but please be aware that the link might be broken in the future.
I have also added a Demon Hunter Soul Fragments bar and the count to the combopoints display. This is based on the buff information and so should be about as accurate as the buff, since the buff is doing all the counting.
I have also noticed a bug in the orientation of the HP absorb (shields and such) positioning in the upper right hand quadrant which i think i have fixed. Feel free to download the code and use it until an official release comes along. And, of course, any feedback/ideas are wellcome.
Cheers and happy leveling.
Thanks a lot mate. No errors so far :-) Will see how it goes with all the alts.
Noticed one issue - with your version Fade Option isn't working as it should. It works on login, but first fight is enough to break it.
Both 'Fade OOC' and 'Fade Both' stop to work when engaging in combat and after it.
Worked fine when using original plugin.
EDIT: I mean, after combat opacity stays as I would still be in combat.
Also, strange, as I don't get that error on my main, but as soon as I logged my druid, 2 errors on target select and off, sound related:
Date: 2017-09-02 15:35:19
ID: 2
Error occured in: Global
Count: 2
Message: ..\AddOns\ArcHUD3\Core.lua line 627:
Usage: PlaySound(soundKitID, optional["SFX","Music","Ambience", "Dialog" or "Master"], [forceNoDuplicates, runFinishCallback])
Debug:
(tail call): ?
[C]: PlaySound()
ArcHUD3\Core.lua:627: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
[string "safecall Dispatcher[1]"]:4:
[string "safecall Dispatcher[1]"]:4
[C]: ?
[string "safecall Dispatcher[1]"]:13: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0.lua:120:
...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0.lua:119
[C]: CameraOrSelectOrMoveStop()
[string "CAMERAORSELECTORMOVE"]:4:
[string "CAMERAORSELECTORMOVE"]:1
AND
Date: 2017-09-02 15:35:25
ID: 3
Error occured in: Global
Count: 2
Message: ..\AddOns\ArcHUD3\Core.lua line 638:
Usage: PlaySound(soundKitID, optional["SFX","Music","Ambience", "Dialog" or "Master"], [forceNoDuplicates, runFinishCallback])
Debug:
(tail call): ?
[C]: PlaySound()
ArcHUD3\Core.lua:638: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
[string "safecall Dispatcher[1]"]:4:
[string "safecall Dispatcher[1]"]:4
[C]: ?
[string "safecall Dispatcher[1]"]:13: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0.lua:120:
...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0.lua:119
[C]: CameraOrSelectOrMoveStop()
[string "CAMERAORSELECTORMOVE"]:4:
[string "CAMERAORSELECTORMOVE"]:1
Ok, commented out all the PlaySound instructions. No errors. Cheers :-)
Hi,
indeed they changed the PlaySound() function i will need to look into it. i'm sure that adjusting for the 7.3.0 change should do the trick.
The fade issue has been bugging me for a while. For me it was every time i would die as i did not use the fade (disable both fade when full and fade when OOC. This issue could take a while for me to solve, maybe some1 more familiar with the fade code would take a look at it. ;)
Personally, i have not noticed any problems with the combopoints counter. i will try to pay more attention while playing a rogue or druid. Just to clear up were you playing the last official version or the one i posted ?
cheers and have a wonderful day.
Hey mate,
Have to admit that cause of fading issue in your version I had to switch back to original addon, as there's no issue there with fading (was just bugging me too much and I love that functionality).
After disabling sound related code I am only receiving 1 error on login now. Have to live with it until a fix (hopefully!).
Re: rogue issue - that would need to go as a reply to Oiram1987 message. Not playing my rogue that much to notice any issues there myself ;-p
Any chance for a 7.3 fix, please.
Date: 2017-08-30 12:20:03
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\ArcHUD3\Core.lua line 1004:
Usage: UnitClass("unit")
Debug:
[C]: UnitClass()
ArcHUD3\Core.lua:1004: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147:
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147
[string "safecall Dispatcher[3]"]:4:
[string "safecall Dispatcher[3]"]:4
[C]: ?
[string "safecall Dispatcher[3]"]:13: ?()
...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
...xternal\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua:120:
...xternal\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua:119
I've been using zperl frames for the last few days. I have been trying to get used to it but I just can't. I have been using ArcHUD/IceHUD for many years and I have become so used to it that other HUDs just don't feel right. I am looking forward to switching back to this elegant yet simple and clean mod. I had wondered for a while if the mod was abandoned and glad to see that its been updated to v3.
Just posted an update (4.2.2) with some fixes and a TOC bump. Thanks to samlachance for the combo points/soulshards fix.
Neither me nor nyyr (to my knowledge) is actively playing the game any more and can keep this addon up to date. Since samlachance provided me with a nice and easy fix to implement however I decided to make this update.
I just patched the bug that was causing the warlock soulshards to display as 0 after a relog or a reload. I sent the author a message but he hasn't logged on in a while.
Anyway, here's the code: https://github.com/samlachance/archud3
After I relog I have to completely reset archud to get it to track soul shards in the combo point area. Any ideas on how to fix this?
See above
Is there a way to set the Player's health and resource on the left and the target's health and resource on the right? I didn't see any in the setting...
Hey,
Got a question Added a new ring for an arcane mage's arcane charges.
Got it to work after a while but i still get way more separators than the default blizz interface, which is 4.
Could you maybe point me in the right direction as to where and how the separator count are calculated and/or set ?
UPDATE: nvm it was the combo points ring that displayed in the background... loool
Thanks.
Is there a way to remove the health and power text?
I love the eliptical bars, but I don't need the actual numbers for my current health and power.
Hi,
Was just fiddling around with the code on my side and, as far as i can figure, the easiest way to obtain the spec is :
local _, spec = GetSpecializationInfo(GetSpecialization())
where:
GetSpecialization() - will return the current active specID (1..3, 1..4 for druids, 1..2 for DH)
GetSpecializationInfo(specID) - its second return value of will return the spec name
After that, it should be as simple as putting an if condition like :
if (class ~= "MONK") or (class == "MONK" and spec == "Brewmaster") then return end"
At the start of the chi ring's OnModuleEnable function.
Thanks again for updating this great addon.
Cheers. :)
I seem to have found a pretty bizarre addon conflict. Whenever I have both World Quest Tracker and ArcHUD3 enabled, my FPS drops to crap whenever I talk to a flight master, and lasts as long as the flight map is up.
I have no idea what would cause this, or which addon is at fault. I still get the drop whenever it's only these two addons(and addon control panel) enabled.
I'll post this on World Quest Tracker's page as well, but if you(or anyone) has any idea what the problem may be that would be great.
Edit-
Didn't think to enable LUA errors, but it spits this out when I do.
Message: ...rface\AddOns\WorldQuestTracker\WorldQuestTracker.lua:1598: <unnamed>:SetPoint(): Couldn't find region named '(null)'
Time: 09/01/16 10:59:37
Count: 1365
Stack: [C]: in function `SetPoint'
...rface\AddOns\WorldQuestTracker\WorldQuestTracker.lua:1598: in function `CreateZoneWidget'
...rface\AddOns\WorldQuestTracker\WorldQuestTracker.lua:4980: in function `GetOrCreateTaxyPOI'
...rface\AddOns\WorldQuestTracker\WorldQuestTracker.lua:5080: in function <...rface\AddOns\WorldQuestTracker\WorldQuestTracker.lua:5075>
[C]: in function `SetPinPosition'
...ns\Blizzard_MapCanvas\MapCanvas_DataProviderBase.lua:220: in function `ApplyCurrentPosition'
...ns\Blizzard_MapCanvas\MapCanvas_DataProviderBase.lua:137: in function `SetPosition'
...rd_SharedMapDataProviders\WorldQuestDataProvider.lua:152: in function `AddWorldQuest'
...rd_SharedMapDataProviders\WorldQuestDataProvider.lua:61: in function `RefreshAllData'
...rd_SharedMapDataProviders\WorldQuestDataProvider.lua:33: in function <...rd_SharedMapDataProviders\WorldQuestDataProvider.lua:33>
Interface\SharedXML\C_TimerAugment.lua:16: in function <Interface\SharedXML\C_TimerAugment.lua:14>
Locals: (*temporary) = <unnamed> {
0 = <userdata>
}
(*temporary) = "top"
(*temporary) = <table> {
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:398
Enable = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:325
UnregisterAllEvents = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
EnableModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
GetModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:241
IterateEmbeds = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:473
defaultModuleLibraries = <table> {
}
options = <table> {
}
timer = 0
optionsTable = <table> {
}
defaultModuleState = true
SetDefaultModulePrototype = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:440
MIRROR_TIMER_START = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:119
name = "ArcHUD_MirrorTimer"
Initialize = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:34
IsEnabled = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:482
orderedModules = <table> {
}
localized = true
DisableModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:381
MIRROR_TIMER_STOP = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:179
timers = <table> {
}
Text = <table> {
}
f = ArcHUD_MirrorTimer_Ring {
}
RegisterMessage = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterMessage = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
isInitialized = true
unit = "player"
baseName = "ArcHUD3"
PLAYER_ENTERING_WORLD = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:208
MIRROR_TIMER_PAUSE = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:171
IsModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:248
db = <table> {
}
SetDefaultModuleState = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:418
OnModuleEnable = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:93
version = "1.0 (r103)"
SetEnabledState = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:455
disableEvents = <table> {
}
enabledState = true
defaults = <table> {
}
RegisterEvent = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterAllMessages = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
noAutoAlpha = true
OnModuleUpdate = <function> defined @Interface\AddOns\ArcHUD3\Rings\MirrorTimer.lua:47
NewModule =
Hello!
Excellent work so far! Is there a way to disable the Chi bar for the Brewmaster spec? Brewmasters no longer have or use Chi as a resource in Legion.
Thanks again!