Wolfpoints
Loosely based on the Shroud Loot System, Wolfpoints is a temporal dkp system that rewards players for the amount of time spent raiding, regardless of boss kills. Bids may be made by eligible ranks as a need or greed, if noone needs or greeds, the item goes to a roll. The full rules may be found here.
Crucially it doesn't rely on synchronicity between clients and uses the officer note as a kind of database, this means:
- Is more tolerant of a disconnect, by maintaining all the points in officernotes.
- Can & will resume an interrupted (disconnected) raid.
Installation
- Download latest zip file: http://www.pesartain.com/wowaddons/wolfpoints/wolfpoints-1.0beta.zip
- Delete any previous version of wolfpoints or wpdkp installed
- Extract to /World of Warcraft/Interface/AddOns/
The scripts used to generate wpdkp.lua for automatic transition using Wolfpoints from a space-separated list to officer notes may be found here http://www.pesartain.com/wowaddons/wolfpoints/scripts/ . It's been tested on only Linux, but should work with any full implementation of bash (cygwin, osx terminal) that also contains grep and sed.
Usage
- Open the gui using `/wp gui` or by clicking the ”?” at 9 o'clock on the minimap.
- Add members to your raid and click start when ready. The timer will increment every 5 minutes (unless in debug mode, see below).
- start :: starts the raid timers.
- stop :: stops the raid timers.
- save :: commits the session list to the officer notes, incrementing their WP and clearing the raid ID.
- Bidding functionality is accomplished through the following functions:
- /wp bid start [item link] :: prints some information and begins bidding.
- /wp bid show :: displays the current bids along with the current winner according to Wolfie.
- /wp bid end [item winner] :: reduces the winner's wolfpoints by the appropriate amount and closes bidding.
Options Menu
- Debug mode :: Function output into the chatframe, and raid timers are set to 10s instead of 5 min. (see below for more details) and the bidding functionality will output all items, not just > rare.
- Reset officer note :: Sets any badly formed notes to “0,0,0,None”, but ignores any that are already in this format. Non-destructive.
- Note check :: Iterates through the guild list (excluding casual/ofcalt) to look for badly formed officer notes (as above), and prints those out.
- Report :: Prints the selected table (guild, raid, session) to the selected channel (party, raid, guild, officer).
- Update WP :: takes the wolfpoints in the file wpdkp.lua and updates the guild list with them. Destructive.
Version history
Current version is 1.0 beta, although 2 critical issues still remain before the addon will actually function as it's intended to. While buggy, the aforementioned critical issues are the only incomplete portions. I take no responsibility if you screw up your interface (which is unlikely to occur).
- 20080301 - 1.0.1beta: wolfpoints; bug fix release & critical issues resolved.
- 20080209 - 1.0beta: wolfpoints; gui-based timing + bidding functionality.
- 20071210 - 0.9: wolfpoints; gui-based timing, no bidding functionality.
- 0.8: tdkp; gui testing (borrowed from EPGP)
- 20071011 - 0.7: wpdkp; first release integrating timing and bidding. Command line only.
- 0.6: wolfpoints; LibRock timers
- 0.5: wolfpoints; experimental custom timers
- 0.4: wolfpoints; bidding only, command line only
Snapshots in various stages of completion are available here http://www.pesartain.com/wowaddons/ as wolfpoints and wpdkp (there was some indecision on the naming … ).
ToDo list
- Port relevant prior release information
http://epic-projects.org/wp/phpBB2/viewtopic.php?t=654
http://epic-projects.org/wp/phpBB2/viewtopic.php?t=490
Multiply the points before Save, where raids are marked as 200% (points = points*2). A button + field is planned here.- Add pictures and better documentation
- Check synchronicity more thoroughly. List boundary cases and work from there.
- Provide an output (via a savedvariable file or similar) of the WP currently stored in the roster.
- Generate an online page→lua and lua→page (as above) converter, probably based on the scripts already written.
Known bugs
Minor/aesthetic
- No local save state for buttons and minimap icon rotation (it will reset to default states on reloading)
- No ASC/DESC sort mode on the columns.
- No ESC functionality to close the window
- The Current ID field of the main window does nothing.
- Wolfie can currently not ascertain a tie, so the actual numbers should be examined before closing bidding based solely on her recommendation.
Serious
- Exclusion of Casual and OfcAlt is done progmatically through the rank_number, so any changes of rank structure in game may break the addon. This will, hopefully, be customisable at a later stage.
- You cannot resume someone elses raid without manually editting the officer notes of those people who are locked to that raid.
Critical
- +8 points are not currently awarded if you signed up and were in the raid when it started. The implementation of this is based on the raid planner and while not too complex, is extra complexity where already the addon feels more like magic to me and less like actual code. An alternative solution is to provide tickboxes per-raid member for manual bonus. I'll look into the complexity of that (I hate working with XML).
- It's difficult to give people -10 points for not turning up after signing up, in a similar way that +8 are not awarded.
The possibility to add/subtract points through the wp interface without turning to the guild roster would be very helpful here and would probably solve both problems without too much heartache.
Technical information
On startup, it loads into debug mode. This has 2 effects:
- Lots of output into the chatframe. I mean, *HUGE* amounts. This is mostly useful for me; so if sending/uploading screenshots of errors, please include as much of that text as you can. It'll help me try and reproduce it. Any message prefixed with D_ won't be there ordinarily.
- The raid timers are set to 10s, instead of 5 minutes.
Unticking this box (see Options, above) makes it “raid ready”. The downside is that you lose the nice debug output.
Report is primarily intended as a verification procedure during debugging of the addon syncing - “what numbers do you have?” and so on. I'm sure you'll find other uses for it
Technically speaking, the Officer Note acts as a database that stores 4 fields per person: Wolfpoints, Ticks, Active, RaidID
Ticks: under normal circumstances these are 1/6th of a wolfpoint. Every 5 minutes these are written back during an active raid, so a worst case disconnect will only lose 5 minutes' worth of points. Active: Should this member currently accrue points – this field is used for resuming a raid and adds that person into the session table. RaidID: the name of the person who pushed “Start”, this is used to resume a raid.
Save uses the following formula to convert from ticks to points: points = floor(ticks / 6) So if you only have 5 ticks, then you get 0 points. As before, to make use of it you will require write-access to the officer notes.
It uses the LibRock libraries (unreleased, so prone to changes at this time), Babble-Class (depends AceLibrary depends AceLocal), so if you have them installed separately you shouldn't feel any significant load slowdown. More libraries than are needed may be located in lib/ at this time. This is a feature.
This is not true syncing, it only syncs the functions listed above. Only one person should really be looking at the addon in one raid anyway, but this should lock out any other copies of the addon being run by members within your raid, while tracking the points independantly (the slave addons use their own timers, the master doesn't forward the data it changes). The Report function is designed to be used to compare notes as to how well this works.
Thanks
Chief Tester has been Apneoa, the man deserves an entire crate of beer. With thanks to Yunie, Dnorrah, Wenlon and other drafted members!
(Not so) FAQ
* How do I close a bid (if no one bidded on it) for disenchanting?
The quick and dirty method for that is to bid ROLL for yourself after you've verbally closed bidding (so you know you won't have other ROLLs coming in) then just close bid from yourself ( /wp bid end <me> )
* What happens to the points if I DC?
If you leave the game for whatever reason, the timers all get killed. Unlike the old system, time intervals are stored in the Officer Note, and updated every 5 minutes. At worst you've lost 1/6th of a Wolfpoint.