HeadCount2
HeadCount2
Re-Write of the original HeadCount. This rewrite is to move to Ace3 and WoW 4.0
HeadCount2 is a configurable World of Warcraft add-on that automatically tracks raid attendance, loot, and boss kills.
HeadCount2 answers the following questions:
- How long is a player active in a raid?
- How long is a player on standby for a raid?
- How long is a player offline during a given raid?
- What loot dropped during a raid and who received it?
- What boss kills occurred during a given raid and who was there for the kill?
Features
Raids
- Raid creation: Automatically creates a new raid as you join or start a raid.
- Raid finalization: Automatically ends an existing raid as you leave a raid.
- Raid management: The user can end raids, remove raids, or remove all raids on demand.
- Raid zone tracking: Zone name are automatically added to raids as you zone into a raid instance for the first time.
Player attendance
- Player tracking: Players are tracked based on their timed participation in the raid. Players can be tracked based on configurable raid groups for raid list activity (active raiding players) and wait list players (queue/standby players).
- Player removal: The user can remove tracked information for specific players on demand.
- Player history: View specific player history for a raid to see how and when a player moved from activity to standby to offline and back during a raid.
- No list tracking: Players can be tracked as non-raid list and non-standby players as needed. Players that go offline are automatically taken out of the raid and wait list groups for tracking purposes.
- Integrated wait list: Receive whispers from members outside of the raid group in order to track them.
Boss kills
- Boss kill tracking: Tracks the world bosses killed during the course of a raid and the raid list members present for the kill.
- Boss kill removal: The user can remove tracked boss kills on demand.
- Manual boss kill: The user can add a boss kill to the current raid at the current time with the current roster via the config UI
Loot
- Loot tracking: Tracks loot received during a raid based on configurable item level quality (default: Epic item level or higher)
- Loot removal: The user can remove specific pieces of loot on demand.
- Loot exclusion: The user can manage loot exclusion which will prevent certain pieces of loot from being tracked during a raid.
Export
- Export: Users can export current raid attendance and received loot information to one of a number of formats (CSV, XML, Text, EQdkp XML string, phpBB forum post, phpBB with ItemStats forum post).
Reporting
- Boss kill broadcast: The user can optionally broadcast when the raid kills a boss to a configurable chat channel.
- Loot broadcast: The user can optionally broadcast when a player receives a valid piece of loot to a configurable chat channel.
Performance
- Fault tolerance: If the mod owner quits WoW, restarts WoW, or reloads their UI during a raid and returns to the game, HeadCount2 will attempt to gracefully recover from the outage to continue tracking the active raid.
- Attendance delay: Configure how often HeadCount should manage attendance updates to increase or decrease performance and/or accuracy.
I know this isn't ready yet and may not be a Headcount2 issue but it was first listed first in the below error. I haven't done any testing with only it running and it only happens when I first join a raid group.
2x HeadCount2-1.0\RaidTracker.lua:796: attempt to index global 'messageHandler' (a nil value)
Prat-3.0-3.4.10 \services\chatsections.lua:59: in function <Prat-3.0\services\chatsections.lua:52>
Prat-3.0-3.4.10 \services\chatsections.lua:320: in function `SplitChatMessage'
Prat-3.0-3.4.10 \addon\addon.lua:588: in function <Prat-3.0\addon\addon.lua:564>
(tail call): ?:
BadBoy_Levels-2.75\BadBoy_Levels.lua:89: in function <BadBoy_Levels\BadBoy_Levels.lua:38>
Locals:
frame = ChatFrame3 {
0 = <userdata>
flashTimer = 0
isInitialized = 1
PageUp = <function> defined =[C]:-1
print = <function> @ Prat-3.0\services\print.lua:51:
tellTimer = 265602.824
ScrollDown = <function> defined =[C]:-1
mouseOutTime = 1.0510000474751
resizeButton = ChatFrame3ResizeButton {}
buttonFrame = ChatFrame3ButtonFrame {}
defaultLanguage = "Orcish"
buttonSide = "right"
oldAlpha = 1.000000059139
channelList = <table> {}
PageDown = <function> defined =[C]:-1
clickAnywhereButton = ChatFrame3ClickAnywhereButton {}
ScrollToBottom = <function> defined =[C]:-1
mouseInTime = 0
editBox = ChatFrame3EditBox {}
ScrollUp = <function> defined =[C]:-1
isLocked = 1
name = "Whisper"
ScrollToTop = <function> defined =[C]:-1
dbg = <function> @ Prat-3.0\services\print.lua:55:
zoneChannelList = <table> {}
AddMessage = <function> @ Ace3\AceHook-3.0\AceHook-3.0.lua:100:
messageTypeList = <table> {}
}
event = "CHAT_MSG_WHISPER"
arg1 = "thot i saw theflayedone come oneline iwas gonna freak out but it wasnt it had the in it and i was realoading my ui "
arg2 = "Exileratate"
arg3 = ""
arg4 = ""
arg5 = "Exileratate"
arg6 = ""
arg7 = 0
arg8 = 0
arg9 = ""
arg10 = 0
arg11 = 1324
arg12 = "0x0500000003C39A34"
arg13 = 0
arg14 = nil
arg15 = nil
filter = false
chatFilters = <table> {
1 = <function> @ BadBoy\BadBoy.lua:175:
2 = <function> @ BadBoy_Levels\BadBoy_Levels.lua:105:
3 = <function> @ DBM-Core\DBM-Core.lua:2225:
4 = <function> @ Gimplist\Gimplist.lua:455:
5 = <function> @ ZOMGBuffs\ZOMGBuffs.lua:4471:
6 = <function> @ GuildGreet\GuildGreet.lua:6045:
7 = <function> @ HeadCount2\RaidTracker.lua:794:
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
1 = <function> @ BadBoy\BadBoy.lua:175:
2 = <function> @ BadBoy_Levels\BadBoy_Levels.lua:105:
3 = <function> @ DBM-Core\DBM-Core.lua:2225:
4 = <function> @ Gimplist\Gimplist.lua:455:
5 = <function> @ ZOMGBuffs\ZOMGBuffs.lua:4471:
6 = <function> @ GuildGreet\GuildGreet.lua:6045:
7 = <function> @ HeadCount2\RaidTracker.lua:794:
}
(for control) = 7
_ = 7
filterFunc = <function> @ HeadCount2\RaidTracker.lua:794:
_G = <table> {
ContainerFrame5Item7 = ContainerFrame5Item7 {}
FriendsFrameFriendsScrollFrameButton16SummonButtonHotKey = FriendsFrameFriendsScrollFrameButton16SummonButtonHotKey {}
GetTrainerServiceTypeFilter = <function> defined =[C]:-1
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
ARKINV_Frame4ChangerWindowPurchaseInfoDetailMoneyFrameCopperButtonText = ARKINV_Frame4ChangerWindowPurchaseInfoDetailMoneyFrameCopperButtonText {}
NxIconNI38 = NxIconNI38 {}
MultiBarLeftButton7 = MultiBarLeftButton7 {}
AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture {}
MerchantItem7AltCurrencyFrameItem1Text = MerchantItem7AltCurrencyFrameItem1Text {}
BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
NxTeamHUD = NxTeamHUD {}
AudioOptionsVoicePanelMicrophoneVolumeThumb = AudioOptionsVoicePanelMicrophoneVolumeThumb {}
ERR_NOAMMO_S = "%s"
NxIconS43 = NxIconS43 {}
MoneyFrame_OnEvent = <function> @ Interface\FrameXML\MoneyFrame.lua:199:
CinematicFrameRaidBossEmoteFrame = CinematicFrameRaidBossEmoteFrame {}
InterfaceOptionsCombatTextPanelFCTDropDown_OnClick = <function> @ Interface\FrameXML\InterfaceOptionsPanels.lua:1433:
TradeSkillInputBoxLeft = TradeSkillInputBoxLeft {}
LFGTeleport = <function> defined =[C]:-1
GetMonitorAspectRatio = <function> defined =[C]:-1
ChannelMemberButton10Name = ChannelMemberButton10Name {}
Graphics_QualityText = Graphics_QualityText {}
TalentMicroButtonAlertSh
-it shouldnt need anything special to work in ruby sanctum.
its not ready for use yet, im just getting to redoing the option screen and still working out bugs.
I'm a dolt. How do we pull it up? I can't find a slash command, LDB, or mini-map button. But on the good side, it didn't throw any errors.
Hoping you add Ruby Sanctum too...
Can't wait for this to be in a usable state (mainly, being able to record raids + specify cost for items), right now we rely on the xml export for our website so losing the old headcount has been quite painful.
Some Caveats:
No way to import OLD HeadCount data, its all stored with Ace00 stuff. Out of the box im only ensuring raid detection hooks for ICC, others will track, but may or may not marks bosses properly. i.e. Naxx 4 Horsemen being marked as a single boss vs 4 individual bosses, I might add those in later, but at this point in the game with Cata just around the corner, I just dont see a need to track kills/attendance/dkp for very old instances that can be soloed or 5 man runs.
Unless a few 100 people calmour for it, im not gonna worry about it as im porting. Its gonna track based on the new raid model: All Raids have multiple sizes and difficulty and are sized as either 10 or 25 man. MC is even being changed to a 10 man instance (doubt there is a difficulty setting but you never know)
Yay!!!