BubbleLoot provides an automated mechanism to perform loot handling within PUG/guild environments. It automates the listing of loot to the raid, handles bids via whisper or raid, displays the results of the winning bid (by whichever bidding algorithm chosen) and master loot assigns the item to the winner. The master looter doesn't need to do anything for loot to be performed other than open up the loot window.
When the user opens up a loot window as a master looter, it activates and scans for any qualifying loot (ie. epic) that isn't in it's ignore filter (eg. gems, emblems, etc). It then iterates over the qualifying items doing an automated bidding process. It does the following:
(a.) RW Post bids on <item>. You have <x> seconds.
(b.) It supports bids as either "main", "off" or "pvp"
(c.) Bids can be accepted as either/or "raid" or "whisper"
(d.) It performs the /roll and whispers the person back with the result
(e.) It can optionally post the results of "whispers" to the raid
(f.) Once the time elapses, it uses an algorithm to determine who wins
- currently only one algorithm is supported (main>off>pvp)
- and it supports a fairness system (person with less loot gets priority)
- if enabled, it uses DKP to determine the winner of main bids
(g.) A summary of all bids and the winner is posted to RW (if enabled)
(h.) The item is automatically master looted to the winner (currently disabled in beta)
(i.) It moves on to the next item.
* Better DKP support
* Provide a GUI frontend
* Support different loot assignment algorithms
Motivation For Writing
This was written by the author as a means of learning the Ace3 programming API and I'm very happy to get criticism on how to improve this. The current release is very much a beta version only. It does the job but is still crusty around the edges. I'll be working on rounding off any rough edges I can spot in my own tests and am happy to receive bug reports.
At this point, I'm mainly interested in feedback from other developers on my code/library usage/etc. And if I'm doing something particularly dumb, please tell me.