|Manages tracking of raid attendance, loot, and more.|
|Betas||Ace SVN Zip|
HeadCount is a World of Warcraft add-on that tracks raid attendance and loot. I (the author) had used CT_RaidTracker for a long time for tracking guild raid attendance and had recently gotten frustrated with the lack of accuracy and errors in usage, thus requiring me to do tracking by hand again which is a burden. HeadCount was created to provide a simpler way to automatically manage and track raid attendance based on player participation.
HeadCount does not automatically manage earning or spending of DKP. HeadCount will most likely not morph into a full-fledged DKP management add-on due to the slippery slope caused by disparate DKP systems used by the many WoW guilds in existence.
HeadCount 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 bosses were killed in a raid?
- Who was present for those boss kills?
- What loot was distributed during the raid?
- 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 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.
- Boss kill tracking: Tracks the 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.
- 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. (e.g. - Badge of Justice)
- Export: Users can export current raid attendance and received loot information to one of a number of formats (CSV, EQdkp XML string, phpBB forum post, phpBB with ItemStats forum post, XML).
- Boss kill broadcast: The user can optionally broadcast when the raid kills a boss to guild chat.
- Loot broadcast: The user can optionally broadcast when a player receives a valid piece of loot to guild chat.
- Fault tolerance: If the mod owner goes offline, restarts WoW, or reloads their UI during a raid and returns to the game, HeadCount 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.
HeadCount attendance tracking currently is based off the concept of three tracking lists.
Raid list - The list that contains the group of actively playing raid members. The raid list is configured by group numbers. By default, players in groups 1 through 5 (25-man raid) are tracked as raid list players. The raid list groups are configurable based on your raid attendance tracking requirements.
- 10-man raid - Select groups 1 and 2 as raid list groups.
- 25-man raid - Select groups 1-5 as raid list groups.
- 40-man raid - Select groups 1-8 as raid list groups.
Wait list - The list that contains the group of queued waitlist or standby raid members. The wait list is configured by group numbers. By default, players in groups 6 through 8 (25-man raid) are tracked as wait list players. The wait list groups are configurable based on your raid attendance tracking requirements.
No list - The virtual list that contains the group of raid members that are not to be tracked for activity as active raiders or as standby players. HeadCount also automatically places raid members in the "no list" if they go offline.
Total activity time can be configured by one or more combinations tracked activity time from the attendance lists (raid list, wait list, no list). The mod owner also can configure time display to synchronize with their appropriate time zone along with displaying time in a 12-hour or 24-hour format.
The mod owner can delete specific players from a raid or entire raids as a whole on demand. A delete all raids option is available if the mod owner wants to clean house as well.
HeadCount tracks the loot received by raid members during the course of an active raid. The mod owner can configure the lowest level of loot to track during a raid (default: Epic or higher).
Additionally, the mod owner can define loot to exclude from HeadCount tracking. A number of loot items are excluded by default:
- Nexus Crystal
- Void Crystal
- Badge of Justice
- Warp Slicer
- Infinity Blade
- Staff of Disintegration
- Phaseshift Bulwark
- Cosmic Infuser
- Netherstrand Longbow
- Nether Spike
- Bundle of Nether Spikes
The mod owner can also delete specific pieces of loot on demand.
HeadCount tracks boss kills and take a snapshot of the raid list players present during a boss kill. Currently, HeadCount generically tracks boss events for future maintainability.
HeadCount properly records the vast majority of boss kills. Heavily scripted encounters (ex. - Chess Event) or encounters where no boss actually dies (ex. - Majordomo Executus) may result in a non-tracked boss kill.
HeadCount provides a mechanism to gracefully recover when the mod owner loses connection, restarts WoW, or reloads his or her UI by providing an automated recovery method to continue the raid once the mod owner returns to the game and raid. This allows the mod owner to continue tracking an existing raid.
Similar to CT_RaidTracker, HeadCount does provide a simple way to export raid attendance and loot received for addition into a web-based EQdkp application. HeadCount will export an XML string that contains information about what players were tracked and what loot was distributed during the course of a raid.
Current export formats:
- Comma-separated values (CSV)
- CTRT Import for EQdkp
- phpBB format
- phpBB with ItemStats format
- Use the minimap button.
- Use the slash commands:
To add a piece of loot to the exclusion list (do not track this loot):
- Use the slash command:
/headcount exclude add [itemlink]
- Ex: /hc exclude add [Badge of Justice]
To remove a piece of loot from the exclusion list (track this loot):
- Use the slash command:
/headcount exclude remove [itemlink]
- Ex: /hc exclude remove [Crimson Spinel]
New Requests (Unsorted Ideas)
- Transmit feature, to send raid data from someone that logged the raid to the dkp manager. via closed addon channel. I could personally use this as constantly switching out the saved variable file is a little anoying. (Qwksilver - 8/12/08)
High priority (Features in active development)
- Automatic raid list/wait list group selection - Currently, to switch to a 10-man raid, the mod owner must manually switch groups 1 and 2 as raid list groups, and groups 3-8 as wait list groups. Similarly, to switch to a 40-man raid, the mod owner must manually switch groups 1-8 as raid list groups. It would be nice if when the raid zone was entered, the list groups are automatically switched based on the raid zone type (Karazhan vs. Zul'Gurub vs. Black Temple vs. Molten Core).
- Rollcall - Mod owner can start a timer to have players outside of the tracked raid whisper him or her to be added to the wait list. This could possibly also be made with wait list management functionality.
Medium priority (Features on the current roadmap)
- Broadcast channel configuration - Allow the user to configure an arbitrary channel to broadcast loot and boss kills in realm time. Currently, the broadcast is always sent to guild chat.
- DKP cost tracking - HeadCount will store the most-recent DKP cost for an item and list that item as the items default DKP cost.
- Improved error handling - Better type checking and polishing.
- Loot in player information frame - Display the loot a specific player has received for the selected raid in the player information frame (Grainger - 5/6/2008).
- Loot inclusion list - Allow users to add items to a loot inclusion list to record items below the configured minimum item quality (uaxli - 6/6/2008).
- Loot management popup delete button - Modify the loot management popup window to allow items to be deleted as they are looted (Qwksilver - 7/2/2008).
- Loot management popup OOC option - Modify the behavior of the loot management popup window to popup immediately or popup only if and when the user gets out of combat based on a configurable user option. (Boergen - 7/7/2008).
- Loot management popup shortcut buttons - Users often will want to mark a piece of loot as Banked, Offspec, or Disenchanted. It would be conveniently if these more used buttons were placed on the loot management popup frame in addition to the drop down menu for quicker, easier access (Adelea - 7/9/2008).
- Loot reporting - Allow users to manually report current loot information (loot, looter, loot source, and time) to an arbitrary chat channel (Musette - 6/21/2008).
- Manual boss kill addition - Allow a user to add a boss kill manually to a raid (vontuxen - 6/13/2008).
- Manual loot addition - Allow a user to add a piece of loot manually to a raid (Kringol - 6/19/2008).
- Player notes - Allow a note to be added to a player for any given raid. This note should be included in the various export formats as well (Snaka - 5/22/2008).
- Raid on zone - Create a configuration option to only start a raid if currently present in a raid instance or upon zoning into a raid instance (Grita - 4/28/2008).
- Total time percentage - Instead of showing total time in a raid in the raid members frame, show a percentage attendance value (Bondbabe - 5/22/2008).
Low priority (Features on the distant roadmap)
- AFK tracking - Track time a tracked player is AFK.
- Bidding - Allow user to initiate a bid auction for a loot item. Once the loot item is distributed, the item DKP cost (winning bid) is automatically assigned to the looter.
- Export management - Managing specific inclusion or exclusion of raid data (players, boss kills, loot, etc.) within any arbitrary export string (Germaine - 5/28/2008).
- Historical data - Create a UI frame to display historical data (total raids attended, all loot received per player from all raids, etc.)
- Log levels - Create log levels to increase or decrease severity of log message display.
- Loot sorting - Allow the user to sort the loot frame by activity time, player name, loot name, item level, etc (Grainger - 5/6/2008).
- Loot verification - If an item is currently unavailable or missing, its attributes can not be determined until the user manually queries for the item. If an item is determined to be unavailable, it would be nice if the addon could automatically query for the item rather than relying on manual methods.
- Party tracking - Allow the user to enable or disable tracking of party attendance and loot obtained while in a party group. (pqee - 4/21/2008)
- Player aliasing - Provide an interface to maintain synchronization between main characters and alts who are played by the same person.
- Raid merging - Currently, if the mod owner goes offline while in a raid, then relogs into the game and is still in a raid, HeadCount will gracefully recover from the downtime and continue raid tracking. However, in a similar scenario, if the mod owner returns to the game after being disconnected and is now not in a raid, the old raid will be finalized and become inactive. It would be nice if mod owners could manually merge raids if needed.
- Reduce dependency usage - Slowly reduce HeadCount dependencies on externals.
- Selective deletion - Allow the user to select one or more raids to delete at one time rather than one raid at a time or all raids as it stands now (Grita - 4/28/2008).
- Synchronization - Provide a synchronization feature to enhance data integrity between disparate clients that are attending the same raid.
- Trace masks - Create trace masks to display debug logging for specific HeadCount functionality.
- UI button labels - Create text labels for UI buttons either via labels or tabs
- UI configuration - Allow mod owners to customize the look and feel of HeadCount.
Wasteland (Canceled or out of scope features)
- Exclusion list user interface - Add a user interface to manage the loot exclusion lists. Blizzard provides a way to drag and drop items onto a user interface frame, but not item links. This limitation makes it extremely painful to develop a useful inclusion or exclusion user interface frame. Often, a user will add an item to the exclusion list which is not necessarily in his or her inventory. This currently makes creation of this feature prohibitive.
- Item level DKP - Automatically populate the DKP value of a distributed loot item with its item level number. This may get at some point, but it would be better to handle this more generically via the DKP cost tracking feature request.
- Fixed a defect where a nil zone reference occurs in XML export
- Added XML export (credit: cactusjackatu)
- Added configurable loot management popup window.
- Fixed defect relating to a nil reference when a player returns to a no list status.
- Added CSV export (credit: Piedtyper)
- Revised remove loot button tooltip.
- Added configurable attendance delay so users can get increased performance at the cost of attendance accuracy
- Initial run at cleaning up namespace issues.
- Added loot management feature to change looter.
- Added loot management feature to change loot source.
- Fixed defect where boss kill remove button tooltip was mislabeled
- Fixed defect where guild chat message was defaulting to Common causing problems for Horde players.
- Added menu item to help point users to loot exclusion management.
- Revised phpBB export to list raid times on separate lines from player
- Added phpBB with ItemStats export
- Added boss kill broadcasting to guild chat feature
- Added loot broadcasting to guild chat feature
- Revised exclusion list with defaults (Badge of Justice, Kael weapons, Nexus Crystal, Void Crystal). Users will have to readd/remove to rebuild their exclusion list.
- Fixed defect where aliased loot source was not being tracked correctly (Kalecgos / Sathrovarr the Corruptor, etc.)
- Added loot source tracking for EQdkp export
- Removed size tag references from phpBB export
- Fixed defect relating to loot version mismatch
- Added loot source tracking.
- Added player times to phpBB export string.
- Fixed defect for phpBB export zone nil reference
- Initial code cleanup/refactoring.
- Fixed defect where UI frame was sometimes not refreshing after a loot query.
- Added toggle for battleground tracking.
- Added phpBB export (Credit: impish | nogudnik)
- Added loot management (ability to set DKP cost per loot).
- Revised boss kill tracking for better accuracy.
- Made item icons slightly smaller in the raid loot UI frame.
- Loot icons or loot links can now be shift-clicked to link items in text chat.
- Added item level text to loot tooltip.
- Fixed a defect where an extra parameter was being passed to the raid tracker loot update.
- Fixed loot frame UI button hit coordinates.
- Added boss kill tracking.
- Raid export data string is now automatically selected for copying when export window loads.
- Updated license to Creative Commons license.
- Added DewdropLib-2.0 as library dependency.
- Fixed defect where the most recent raid could not be exported even if it was not active.
- Fixed defect where unavailable items were causing errors on icon mouseover and raid exporting.
- Fixed various UI position defects.
- Added time-based raid attendance tracking and management.
- Added raid loot tracking and management.
- Added loot exclusion management.
- Added raid export for CTRT plugin for EQdkp
- Occasionally, when battleground tracking is disabled and when a player leaves a battleground, the raid will record some battleground players. This is a limitation of the Blizzard WoW event API and cannot be fixed within HeadCount.
- Certain times, loot will be distributed from a boss and HeadCount will automatically determine the loot source to be a "Trash Mob" rather than the correct name of the boss. This will always happen on the last piece of loot distributed from a dead boss mob. When the last piece of loot is distributed from a mob, the looter will automatically lose target, which is what HeadCount uses to determine loot source. HeadCount gets around this by determining if any raid player is targeting a boss mob to determine the loot source more accurately, but this is not a bulletproof solution. This defect is a limitation of the WoW API as there is no current interface available to determine the source mob of a given piece of loot. The loot management window can be used in this situation to correctly set a given piece of loot the correct mob name.