Quartz
Quartz is a modular approach to a casting bar addon. An overview of (hopefully most of) the modules:
*Player
The core of Quartz is lightweight implementation of a standard casting bar, with configurable size, text and icon positioning, and colors.
*Target/Focus
Implementation of target and focus casting bars in similar fashion to the player cast bar.
*Buffs
Display of target and focus buffs and debuffs as duration bars.
*Flight
Hooks into FlightMap or InFlight to display the current flight progress on your casting bar.
*Global Cooldown
Displays a tiny spark-bar to show your Global Cooldown near the cast bar. Helpful for those who'd rather not squint at their action bars to see when they can cast again.
*Interrupt
Changes the color and text of your casting bar to help show that your cast has been interrupted (and show who interrupted it).
*Latency
Displays the amount of time spent between cast send and start events, in the form of a bar at the end of your casting bar, with optional text that displays the actual duration of the lag. This helps in canceling casts when they will not actually be interrupted, especially for users with consistently high pings.
*Mirror
Shows the 'basic' timers such as breath and feign death, as well as some 'odd' ones such as party invite time, resurrect timeout, and arena game start, and a framework for injecting custom timers into the bars.
*Range
Recolors the casting bar when your cast target moves out of range mid-cast.
*Swing
Displays a swing timer for your melee weapon as well as hunter autoshot.
*Timer
Allows for creating custom timers displayed on the mirror bars.
*Tradeskill Merge
Merges multiple casts of the same tradeskill item into one big cast bar.
Use /quartz to bring up the configuration menu.
It's popping up many errors as of today 12 July 2023
I'm a hunter and what I want is to have a Timer bar when I cast Mend Pet that runs for 15 seconds. Can this be done with QUARTZ3 ?
Mend Pet is an instant cast.
Any chance we can get an option for texture to use the new Blizzard default that was shipped with Dragonflight? I would love to be able to use their new art style for cast bars with the other great functional features of Quartz.
Hi, Are you able to change the color of the "Ticks" while using channeled spells? Instead of being white/glow I want to change the color is that possible? Also what is "Spark Color" can seem to figure out what it is changing.
For people having issues with the cast bar not showing/black texture until toggling a setting each login... Try disabling the "AddonSkins" mod if you have it- that's what ended up fixing it for me.
In reply to Joker2kill: Thank you for this!
To further clarify: You don't need to disable the entire skins mod, just go into the options and uncheck Quartz.
In reply to Solastus75: NICE THANK YOU GUYS!
'Hide Default Blizzard' castbar works intermittently; there will be times where the Target castbar still shows, even if the setting is ticked.
The castbar is not working, the "cast progress" is not shown, only the time.
In reply to Mineotv: Can confirm. Having the same issue
In reply to Mineotv: same issue.
I've found out that simply by clicking the 'color' option and pressing 'okay' in the options it will fix itself, but this has to be done every single time you load a char or reload UI.
In reply to asaltycat: Yeah, changing any settings fixes it temporarily. but annoying as hell!
In reply to Mineotv: @nevcairiel any update coming to fix this?
Having a strange issue with 3.7.5. Upon login my castbar background seems to have a higher strata than the actual castbar and the bar just stays as the background alpha with text. Easily fixable for the entire session by changing the background alpha slider, but unusual that it's occurring in the first place.
In reply to Kinetyk89: ty so much. was having the same issue. messed with the slider and put it back to 100% and its working normal again. Haven't checked whether its fixed for good or will be broken again next log in
In reply to Tenzo1o1: I see this too on wotlk and at least it's an easy fix. Resets with every login though.
In reply to amatyr: yeah, damn. it does reset on login =\
If you are having issues, try out the alpha (3.7.4-1-g4ef3524). I'm using it now and have minimal issues.
LUA errors after 10.1 update breaks Quartz functionality:
2x Quartz/modules/Tradeskill.lua:90: Usage: RawHook([object], method, [handler], [hookSecure]): Attempt to hook secure function UNIT_SPELLCAST_START. Use `SecureHook' or add `true' to the argument list to override.
[string "=[C]"]: ?
[string "@Ace3/AceHook-3.0-9/AceHook-3.0.lua"]:164: in function <Ace3/AceHook-3.0/AceHook-3.0.lua:118>
[string "@Ace3/AceHook-3.0-9/AceHook-3.0.lua"]:321: in function `RawHook'
[string "@Quartz/modules/Tradeskill.lua"]:90: in function <Quartz/modules/Tradeskill.lua:89>
[string "=[C]"]: ?
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:536: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>
[string "=[C]"]: in function `LoadAddOn'
[string "@FrameXML/UIParent.lua"]:545: in function `UIParentLoadAddOn'
[string "@FrameXML/UIParent.lua"]:754: in function `MajorFactions_LoadUI'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:100: in function `SetUpMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:93: in function `RefreshMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:88: in function `RefreshOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:80: in function <...sionLandingPage/Blizzard_DragonflightLandingPage.lua:76>
[string "=[C]"]: ?
[string "=[C]"]: in function `CreateFrame'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:49: in function `CreateOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:63: in function `RefreshExpansionOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:35: in function <...pansionLandingPage/Blizzard_ExpansionLandingPage.lua:33>
Locals:
(*temporary) = "Usage: RawHook([object], method, [handler], [hookSecure]): Attempt to hook secure function UNIT_SPELLCAST_START. Use `SecureHook' or add `true' to the argument list to override."
2x Quartz/modules/Player.lua:125: Usage: RegisterEvent("eventname", "methodname"): 'methodname' - method 'UpdateChannelingTicks' not found on self.
[string "=[C]"]: ?
[string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:102: in function `RegisterEvent'
[string "@Quartz/modules/Player.lua"]:125: in function <Quartz/modules/Player.lua:123>
[string "=[C]"]: ?
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:536: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>
[string "=[C]"]: in function `LoadAddOn'
[string "@FrameXML/UIParent.lua"]:545: in function `UIParentLoadAddOn'
[string "@FrameXML/UIParent.lua"]:754: in function `MajorFactions_LoadUI'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:100: in function `SetUpMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:93: in function `RefreshMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:88: in function `RefreshOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:80: in function <...sionLandingPage/Blizzard_DragonflightLandingPage.lua:76>
[string "=[C]"]: ?
[string "=[C]"]: in function `CreateFrame'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:49: in function `CreateOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:63: in function `RefreshExpansionOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:35: in function <...pansionLandingPage/Blizzard_ExpansionLandingPage.lua:33>
Locals:
(*temporary) = "Usage: RegisterEvent("eventname", "methodname"): 'methodname' - method 'UpdateChannelingTicks' not found on self."
2x Quartz/modules/Player.lua:310: table index is nil
[string "@Quartz/modules/Player.lua"]:310: in main chunk
Locals:
Quartz3 = <table> {
SetDefaultModuleLibraries = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:363
SetModuleEnabled = <function> defined @Quartz/Quartz.lua:216
OnInitialize = <function> defined @Quartz/Quartz.lua:60
RegisterChatCommand = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:81
EnableModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:328
modules = <table> {
}
GetModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:206
IterateEmbeds = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:438
defaultModuleLibraries = <table> {
}
ToggleLock = <function> defined @Quartz/Quartz.lua:110
GetModuleEnabled = <function> defined @Quartz/Quartz.lua:212
UnregisterChatCommand = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:107
Printf = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:65
CastBarTemplate = <table> {
}
SetDefaultModulePrototype = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:405
name = "Quartz3"
IsEnabled = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:447
orderedModules = <table> {
}
Util = <table> {
}
DisableModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:346
GetArgs = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:140
Print = <function> defined @Ace3/AceConsole-3.0/AceConsole-3.0.lua:50
IsModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:464
CreateStatusBar = <function> defined @Quartz/QuartzStatusBar.lua:32
SetDefaultModuleState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:383
ShowUnlockDialog = <function> defined @Quartz/Quartz.lua:137
RegisterModuleOptions = <function> defined @Quartz/Config.lua:220
SetEnabledState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:420
defaultModuleState = true
enabledState = true
Lock = <function> defined @Quartz/Quartz.lua:127
Disable = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:310
CopySettings = <function> defined @Quartz/Quartz.lua:204
ChatCommand = <function> defined @Quartz/Config.lua:195
Unlock = <function> defined @Quartz/Quartz.lua:115
OnEnable = <function> defined @Quartz/Quartz.lua:67
IterateModules = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:433
Enable = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:290
NewModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:231
ApplySettings = <function> defined @Quartz/Quartz.lua:95
GetName = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:275
SetupOptions = <function> defined @Quartz/Config.lua:204
Merge = <function> defined @Quartz/Quartz.lua:228
}
L = <table> {
Set the color to turn the cast bar when taking a flight path = "Set the color to turn the cast bar when taking a flight path"
Top Left = "Top Left"
Time Text X Offset = "Time Text X Offset"
Text Position = "Text Position"
Move the CastBar to center of the screen along the specified axis = "Move the CastBar to center of the screen along the specified axis"
Hide Cast Time = "Hide Cast Time"
Fix bars to a specified duration = "Fix bars to a specified duration"
Alpha = "Alpha"
Change Border Style = "Change Border Style"
Set the color of the text for the bars = "Set the color of the text for the bars"
Embed mode will decrease it's lag estimates by this amount. Ideally, set it to the difference between your highest and lowest ping amounts. (ie, if your ping varies from 200ms to 400ms, set it to 0.2) = "Embed mode will decrease it's
Hmm, since 10.1 went live my cast bar only works with Quartz disabled. If I uncheck 'disable Blizzard cast bar' I can see the Blizz one but can't see my Quartz one at all.