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.
There seems to be some minor problem with profile saving and loading. Apparently, a profile is auto-created upon login a character. I do my config and tweaking and log off. Yet whenever I log a different character I'm unable to find any profile regarding the other char where I did the tweaking so I could just "load" those configs. Am I missing something?
The glowing aura around my character wasn't cutting it for me.
I have one request for the GCD module though. Would it be possible to implement the old GCD tracker (the one that required a specific spell, like "prospecting") as an optional alternative? As a Death Knight, the GCD bar won't show up for the next ability used when a rune set is on cooldown.
My own timers
Hi, QUARTZ is awsome addone!! I need to know one thing. How can i move frames of mi custom timers ? for example: i have this macro /qt Feral Spirit 45 ....timer shows up but i need to move him elsewhere.
I there any solution / advice ? thanks
1x Quartz-3.0.3.1\modules\Tradeskill.lua:88: 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.
AceHook-3.0-5 (AuctionLite):164: in function <...\AddOns\AuctionLite\Libs\AceHook-3.0\AceHook-3.0.lua:118>
AceHook-3.0-5 (AuctionLite):325: in function `RawHook'
Quartz-3.0.3.1\modules\Tradeskill.lua:88: in function <Quartz\modules\Tradeskill.lua:87>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (AuctionLite):539: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):551: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):629: in function <...ddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:316: in function `TimeManager_LoadUI':
Interface\FrameXML\UIParent.lua:517: in function <Interface\FrameXML\UIParent.lua:492>:
---
and
1x Quartz-3.0.3.1\modules\Latency.lua:67: 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.
AceHook-3.0-5 (AuctionLite):164: in function <...\AddOns\AuctionLite\Libs\AceHook-3.0\AceHook-3.0.lua:118>
AceHook-3.0-5 (AuctionLite):325: in function `RawHook'
Quartz-3.0.3.1\modules\Latency.lua:67: in function <Quartz\modules\Latency.lua:66>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (AuctionLite):539: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):551: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):629: in function <...ddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:316: in function `TimeManager_LoadUI':
Interface\FrameXML\UIParent.lua:517: in function <Interface\FrameXML\UIParent.lua:492>:
---
Edit** Changed code in Tradeskill.lua:88 to self:RawHook(Player, "UNIT_SPELLCAST_START", hooksecure) also changed code in Player.lua:203 cause Volly is not used anymore as a spell for hunters, i changed it too [GetSpellInfo(19434)] = 1, -- aimed shot but not sure if this one is really needed for quartz.
Forgot to mention that making these changes above produced no lua errors.
Speedy reply so very much appreciated, as with all of your hard work - as always, tremendous gratitude for it.
Cami
Few questions re: quartz and cataclysm
1) Settings don't get saved - reported by several users as well.
2) In profiles, quartz does not populate the "copy from" profile selection drop down.
3) and any word on a fully compatible version of quartz and procs?
Thanks - great addon btw will hate to see it broken come xpac
Any hint of what may be happening?
Time: 09/09/10 14:38:12
Count: 1
Stack: Interface\AddOns\Quartz\modules\Player.lua:203: in main chunk
Locals: Quartz3 =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:381
SetModuleEnabled = <function> defined @Interface\AddOns\Quartz\Quartz.lua:210
OnInitialize = <function> defined @Interface\AddOns\Quartz\Quartz.lua:57
RegisterChatCommand = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:85
EnableModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:346
modules =
}
GetModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:230
IterateEmbeds = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:456
defaultModuleLibraries =
}
ToggleLock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:107
GetModuleEnabled = <function> defined @Interface\AddOns\Quartz\Quartz.lua:206
UnregisterChatCommand = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:111
Printf = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:69
CastBarTemplate =
}
GetName = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:298
name = "Quartz3"
IsEnabled = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:465
Util =
}
DisableModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:364
GetArgs = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:144
Print = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:54
optFrames =
}
baseName = "Blizzard_DebugTools"
IsModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:482
db =
}
SetDefaultModuleState = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:401
ShowUnlockDialog = <function> defined @Interface\AddOns\Quartz\Quartz.lua:134
RegisterModuleOptions = <function> defined @Interface\AddOns\Quartz\Config.lua:212
SetEnabledState = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:438
defaultModuleState = true
enabledState = true
Lock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:124
Disable = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:328
CopySettings = <function> defined @Interface\AddOns\Quartz\Quartz.lua:198
ChatCommand = <function> defined @Interface\AddOns\Quartz\Config.lua:194
Unlock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:112
Enable = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:313
IterateModules = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
NewModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:255
ApplySettings = <function> defined @Interface\AddOns\Quartz\Quartz.lua:92
OnEnable = <function> defined @Interface\AddOns\Quartz\Quartz.lua:64
SetDefaultModulePrototype = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:423
SetupOptions = <function> defined @Interface\AddOns\Quartz\Config.lua:203
Merge = <function> defined @Interface\AddOns\Quartz\Quartz.lua:222
}
L =
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