Bidder_BossAuction:
- Implemented Silent Bidding
- Bidding UI uses custom editbox instead of dewdrop
- Refactored code to make silent/open module modifications easier.
DKPmon_BossAuction:
- Implemented Silent Bidding
- Now automatically selects winner when round closes
- Prints item costs in raid
- Refactored code to make silent/open module modifications easier.
- Fixed AutoMasterLoot for real this time.
- Logs automatically start and end when on zone changes
Notes:
The new version of DKPmon_BossAuction is compatible with the older versions of Bidder_BossAuction. However, you need everyone to upgrade the bidder module for silent bidding to work.
Silent Bidding Overview:
First off, update your custom.lua and add the following sections:
-------------------------
-- Craft Material List --
-------------------------
-- Items in this list will pop up a reminder to master loot to the crafter when you anounce winners
custom.craftmats={"Nether Vortex","Heart of Darkness"}
-----------------------
-- Silent Bid Rounds --
-----------------------
-- The length and number of silent bid rounds. For Example,
-- {30,20,20} is three rounds, 30 seconds, 20 seconds, and 20 seconds
custom.silentrounds={30,20,20}
I forgot to mention it in the commit log, but now when you announce winners it checks for craft mats and reminds you not to master loot to the winner but the crafter. (I did this on a raid :\ )
Silent bidding goes like this:
Each item is on an independent set of timers. In this case round 1 is 30 seconds. If someone bids the item will go for another round, up to the number of rounds you have defined in custom.lua.
At the end of each round people can mouseover items to see the number of bids and the item cost for the last round.
People can change their bids as much as they want during a round, even lowering them.
At the end bidding is closed immediately. You don't have to click the close option in the actions menu. Also, the highest bid is now automatically selected as the winner. So all you have to do is announce. However, it doesn't check for ties or if people are bidding on more than one item. You have to attend to this, as usual.
People are then charged the next highest bidder plus one, or the minimum bid if they are the only bidder. If you don't select the top bidder for some reason (maybe they are ineligible for the item) you should remove their bid so the cost is calculated correctly.
Every time you announce it'll show the cost for the winner.
Javek, if I want to use your module just for the boss points and time based dkp awards, is that possible? I.e can I as raid leader install this module (telling the raiders NOT to install your module) and use these features together with DKPMons usual fixed dkp bidding system?
Or do all need to have you module installed and is it in that case possible to turn off the auctioning system (to use the standard fixed dkp bidding)?
Thanks in advance.
Unfortunately you'll have to get your hands dirty. A module in DKPmon is completely self-contained. You can't mix and match features.
You need to create your own module in order to do what you want.
If you're up for the task I would start with DKPmon_BossAuction and then splice in the GetItemCost() function in the fixed dkp system. I believe that's all that needs to be done.
As more and more people have become interested in DKPmon I've realized it would make more sense to break up the dkp systems into item cost & dkp award modules so that you can mix and match like you want. But until then you have to write your own module.
We used the new Silent Bidding system on our kills of Nightbane and Illhoof last night.
All of the new features are, I have to say, pretty dang awesome. Our officers were very excited about all of the improvements and as the person running the loot portion of our raid I must ask a question.
I was wondering if you think I should put the last bids and cost on the item itself using a more compact format. Right now the silent bidding text looks something like this:
"Round 1/3 next in 15 (Bid 22/233)"
Should I make it more compact and fit more information? Something like:
"Round 1/3 in 15 LB=3 LC=55"
So that would stand for Round 1 of 3, ending in 15, last bids: 3, last cost: 55.
Problem is it'll be a little confusing when you first see it.
Here's another alternative:
"Round 1/3 in 15 (Last 3:55)"
Although all of the last round bidding information is in the tooltips I think having it in the button may be better. I think I'll display your dkp near the top of the bidding frame somewhere as well.
Hey Javek, thanks so much for this module. It's identical to how my guild runs DKP so all I need to do is change Boss values :)
A couple of questions though. At the moment, the winning announcement says "XXX wins [itemyyy]". How would I go about modifying it so that it also announces how much the winning bid was?
Also is it possible to cancel a bid?
One last question, is it possible to prevent people from bidding into negatives?
When I was talking about cancelling a bid, I meant if someone using Bidder changed their mind and wanted to cancel their bid. Our test group couldn't find a way.
With the negatives, we were running bidding so that people bid on all items at once. One of our test bidders placed a bid on 2 items that individually were less than his total amount, but when added together well exceeded his DKP. When I awarded the items to him, his total just went into the negatives.
We were just wondering if there was a failsafe we could implement to prevent this from ocurring.
I'm using a piece of your code in an EPGP version for DKPmon and found an issue, I've also checked the current version of BossAuction and it appears to have the same issue.
When you've enabled most of the "autostart" features like logging, and timed points. The module breaks after a reloadUI event, it appears that the module is trying to restart itself BEFORE the DKPmon base is fully initialized. The problem seems to be with the CheckLeaderSetup() function.
After some further testing I'm pretty sure it's as simple as the function firing too soon, I put a 10 second delay in front of the CheckLeaderSetup() function and now it operates normally after a reloadUI event.
I've noticed that the auto timed points feature doesn't really work at all, nor does the master loot unless you're the raid leader and dkp leader.
Unfortunately, since I work full time and go to school I tend to work on addons in spurts. Eraslin wanted me to move the auto log starting feature into DKPmon. I figured I'd move the auto-master loot to DKPmon core as well. I'll try to start working on it next week.
Javek,
Feel free to take a look at DKPmon_DiscordEPGP (You may notice a lot of familiar code) The auto-timed feature seems to work pretty will as long as it doesn't try to fire before DKPmon is ready.
I started to try out the DKPMON and BossAuction mod.
And i can say i love it :-)
On question i have when it comes to timebased DKP.
How does the mod treat transportations time?
Example first we kill Gruul then the raid leader says meet up at maggy in 20 min. Do people still get DKP for that time and whats controls how much dkp they earn?
1. custom.lua
The idea behind the custom.lua file is that it can be passed around to your dkp managers and everyone will have the same dkp system settings. (Same boss/item/timed values) I could make a gui that lets you enter custom timed points, but ideally timed points are set by guild policy and you wouldn't be changing the values too often. The custom.lua file is a bit goofy in some ways and intimidating for some people to edit. Maybe in DKPmon 3.0 we'll have dkp point systems defined with a gui and sync'd between the dkp leaders. I suppose adding a custom timed points section wouldn't be too difficult though.
2. Timed points are basically just a single point award that's automatically created after so long. There are a few issues with it. I think I may make some changes this weekend and add the following.
* Ability to pause the timer
* Partial points when turning off/switching.
The first is pretty self-explanatory.
What I mean by 2nd is this:
Say I have the timer running for farmed content at 1 dkp every 30min. Then we get to new content, but the timer still has 15minutes left. If I switch it, we never get that 1 dkp. It really should award 0.5 dkp (in this case) when you turn it off or switch it to another timed dkp rate.
I'll try to add this features and fix a few other things this weekend.
I posted a question in the DKPMon thread before i found yours addon. I realized that the question belongs in this thread instead of the DPKmon thread. Since its your mods that makes the timebased DKP a possibility.
Hourly based DKP.
On farmbosses the raid should get x amount of dkp. On progress raiding bosses aka not yet downed the raid should get twice the amount. I Guess that the raidleader needs to switch profile DKP earning in the middle of the raid, Since no addon can possible be that inteleigent that i know which boss the raidleader decided to go to next :-)
Going to leave Stockade Slaughter House now and tonight we going to do a testraid in Naxx.
Both bidders and Raid leaders needs some practice :-)
Will keep you updated.
The 2 changes that you said you was going to look into seems promising :-)
I found something really anoying, and i cannot find a way to get over it..
When i Enable the timed reward, i dont want the window to pop every tick.. mostly becouse timed rewards are meant to be in short periods.. i use every 6 min 0.1 dkp.. so every 6 mins i have this anoying window poping on me.
Also i'd like to not have 876345 0.1 rewards, but just 1 timed award for.. 2.3 dkp, or so..
One thing im missing that my Guild uses is:
Raid Team gets 100% of the points asigned
Members get 80% of the points
Applicants get 60% of the points
No guild members get 0% of the points
is that posible? is it hard to make a plugin for this? becouse my knowledge of lua is not gona let me do it sadly, and its the only thing that its stoping all the guilds of my sever to use this.
It may be possible to do something closer to what you want, but there are a few issues.
A point award gives X points to Y players. Every time the dkp leader awards points they may want to verify that the correct people are selected and refresh the standby list. If someone is replaced in the raid they are not automatically selected in DKPmon's list, the dkp manager has to click "select all" under the raid list. This check is a good thing as it forces the dkp leader to verify the correct people are receiving dkp.
I could do something like you want but it can result in lots of little awards to individual people. Here's the general algorithm:
1. Create a table of timed points for every player
2. Add X dkp every Y min to everyone's entry in the table for every player selected using the DKPmon point award interface
3. At the end group players with the same timed point value
4. Award the different groups points
So everyone who was in the raid the entire time might get 7.6 dkp and someone that left would have a separate award of 5.2 dkp. The more people you had switching in the raid the more separate point awards there would be.
With this system you lose the prompt to check who's getting timed points. If you forget to check someone in the DKPmon window they won't be gaining timed points and you may not realize it until the end.
This is the basic workflow I'm imagining for the dkp leader.
1. During raid select different timed rates whenever they should change (farmed/new content)
2. Make sure to update the selected players when raid makeup changes
3. At end of raid click "Award timed points"
Now here there are two possibilities:
Lets pretend we have the following situation:
24 players all get 7.5 timed dkp
1 player was replaced (B replaced A)
Player A gets 4.5 dkp and Player B gets 3dkp as a result.
Option 1: Award the points automatically in the background.
You click a button, all the points are awarded as 3 point awards without any input from the dkp leader, maybe with some output to the console.
Option 2: Use the DKPmon Point Award window and step through the awards to verify them.
Click an "Award next timed points group" button
BossAuction would select the 24 players and add an award for 7.5 points. You would then have the opportunity to review who was being award the points and see the amount.
Click "Next Timed" again.
BossAuction would select player A and add 4.5dkp to the window. Again you would check everything and click award like you do for normal points.
Click "Next Timed" again.
BossAuction would select Player B and add 3 dkp to the window. You award the points and are done with timed dkp.
Is this what you're imagining? How much control do you want over timed points when they're awarded? Which of those last two options would you want, or to you have another idea?
i totaly lost you, maybe becouse english is not my main :(
Timed awards should be as simple as this..
they should'nt have to be handles the same time as manual/boss awards
Setup the dkp award over time..
1 to raid member, 1 to standby, in 2 separate values to allow customization
and thats it.. evety time the timer expire, award the dkp without poping the window, or asking for a confirmation.
this way yuo can award timed points every second if you like, it does'nt matter becouse you wont have the anoying window on you.
Of course you will have to refresh standby and raid members every time you award the dkp, if you log out, got DC or something, too bad, you get no dkp during that period.. thats why i want to asign small portions of dkp every min or so, and not 1 dkp per hour, and if someone is not online by that time you have to make wierd calculations, grace timers, nah.. not worth it.
BTW, i hardcoded the rank based % reduction, its just 4 lines of code, but i will love to see it actually in the code with some options saved on my wtf folder :)
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Bidder_BossAuction: r47674
DKPmon_BossAuction: r47675
Changelog:
Bidder_BossAuction:
- Implemented Silent Bidding
- Bidding UI uses custom editbox instead of dewdrop
- Refactored code to make silent/open module modifications easier.
DKPmon_BossAuction:
- Implemented Silent Bidding
- Now automatically selects winner when round closes
- Prints item costs in raid
- Refactored code to make silent/open module modifications easier.
- Fixed AutoMasterLoot for real this time.
- Logs automatically start and end when on zone changes
Notes:
The new version of DKPmon_BossAuction is compatible with the older versions of Bidder_BossAuction. However, you need everyone to upgrade the bidder module for silent bidding to work.
Silent Bidding Overview:
First off, update your custom.lua and add the following sections:
I forgot to mention it in the commit log, but now when you announce winners it checks for craft mats and reminds you not to master loot to the winner but the crafter. (I did this on a raid :\ )
Silent bidding goes like this:
Each item is on an independent set of timers. In this case round 1 is 30 seconds. If someone bids the item will go for another round, up to the number of rounds you have defined in custom.lua.
At the end of each round people can mouseover items to see the number of bids and the item cost for the last round.
People can change their bids as much as they want during a round, even lowering them.
At the end bidding is closed immediately. You don't have to click the close option in the actions menu. Also, the highest bid is now automatically selected as the winner. So all you have to do is announce. However, it doesn't check for ties or if people are bidding on more than one item. You have to attend to this, as usual.
People are then charged the next highest bidder plus one, or the minimum bid if they are the only bidder. If you don't select the top bidder for some reason (maybe they are ineligible for the item) you should remove their bid so the cost is calculated correctly.
Every time you announce it'll show the cost for the winner.
That's about it.
If you have any issues/bugs post them below.
-Javek
Unfortunately you'll have to get your hands dirty. A module in DKPmon is completely self-contained. You can't mix and match features.
You need to create your own module in order to do what you want.
If you're up for the task I would start with DKPmon_BossAuction and then splice in the GetItemCost() function in the fixed dkp system. I believe that's all that needs to be done.
As more and more people have become interested in DKPmon I've realized it would make more sense to break up the dkp systems into item cost & dkp award modules so that you can mix and match like you want. But until then you have to write your own module.
All of the new features are, I have to say, pretty dang awesome. Our officers were very excited about all of the improvements and as the person running the loot portion of our raid I must ask a question.
Will you have my guild's babies?
Thanks. :)
I was wondering if you think I should put the last bids and cost on the item itself using a more compact format. Right now the silent bidding text looks something like this:
"Round 1/3 next in 15 (Bid 22/233)"
Should I make it more compact and fit more information? Something like:
"Round 1/3 in 15 LB=3 LC=55"
So that would stand for Round 1 of 3, ending in 15, last bids: 3, last cost: 55.
Problem is it'll be a little confusing when you first see it.
Here's another alternative:
"Round 1/3 in 15 (Last 3:55)"
Although all of the last round bidding information is in the tooltips I think having it in the button may be better. I think I'll display your dkp near the top of the bidding frame somewhere as well.
Tell me what you think.
A couple of questions though. At the moment, the winning announcement says "XXX wins [itemyyy]". How would I go about modifying it so that it also announces how much the winning bid was?
Also is it possible to cancel a bid?
One last question, is it possible to prevent people from bidding into negatives?
Do you mean they bid a negative amount, or they bid the min bid and their total dkp goes negative?
When I was talking about cancelling a bid, I meant if someone using Bidder changed their mind and wanted to cancel their bid. Our test group couldn't find a way.
With the negatives, we were running bidding so that people bid on all items at once. One of our test bidders placed a bid on 2 items that individually were less than his total amount, but when added together well exceeded his DKP. When I awarded the items to him, his total just went into the negatives.
We were just wondering if there was a failsafe we could implement to prevent this from ocurring.
It will not warn you if two people tied for the top bid or like you said if someone doesn't have the dkp to pay for multiple items they won.
Some of these checks should belong in the DKPmon codebase, not in my module.
I'll try to add the ability to cancel bids next time I have a chance to code.
When you've enabled most of the "autostart" features like logging, and timed points. The module breaks after a reloadUI event, it appears that the module is trying to restart itself BEFORE the DKPmon base is fully initialized. The problem seems to be with the CheckLeaderSetup() function.
-Vlorn
-Vlorn
Unfortunately, since I work full time and go to school I tend to work on addons in spurts. Eraslin wanted me to move the auto log starting feature into DKPmon. I figured I'd move the auto-master loot to DKPmon core as well. I'll try to start working on it next week.
-Javek
Feel free to take a look at DKPmon_DiscordEPGP (You may notice a lot of familiar code) The auto-timed feature seems to work pretty will as long as it doesn't try to fire before DKPmon is ready.
-Vlorn
And i can say i love it :-)
On question i have when it comes to timebased DKP.
How does the mod treat transportations time?
Example first we kill Gruul then the raid leader says meet up at maggy in 20 min. Do people still get DKP for that time and whats controls how much dkp they earn?
Thats how the parts looks like in the custom.lua.
Is there any place you can add a default earning. When you not in a zone thats in the custom.lua?
BR
Rambart Kul-Tiras
The idea behind the custom.lua file is that it can be passed around to your dkp managers and everyone will have the same dkp system settings. (Same boss/item/timed values) I could make a gui that lets you enter custom timed points, but ideally timed points are set by guild policy and you wouldn't be changing the values too often. The custom.lua file is a bit goofy in some ways and intimidating for some people to edit. Maybe in DKPmon 3.0 we'll have dkp point systems defined with a gui and sync'd between the dkp leaders. I suppose adding a custom timed points section wouldn't be too difficult though.
2. Timed points are basically just a single point award that's automatically created after so long. There are a few issues with it. I think I may make some changes this weekend and add the following.
* Ability to pause the timer
* Partial points when turning off/switching.
The first is pretty self-explanatory.
What I mean by 2nd is this:
Say I have the timer running for farmed content at 1 dkp every 30min. Then we get to new content, but the timer still has 15minutes left. If I switch it, we never get that 1 dkp. It really should award 0.5 dkp (in this case) when you turn it off or switch it to another timed dkp rate.
I'll try to add this features and fix a few other things this weekend.
-Javek
I posted a question in the DKPMon thread before i found yours addon. I realized that the question belongs in this thread instead of the DPKmon thread. Since its your mods that makes the timebased DKP a possibility.
Going to leave Stockade Slaughter House now and tonight we going to do a testraid in Naxx.
Both bidders and Raid leaders needs some practice :-)
Will keep you updated.
The 2 changes that you said you was going to look into seems promising :-)
/Rambart
When i Enable the timed reward, i dont want the window to pop every tick.. mostly becouse timed rewards are meant to be in short periods.. i use every 6 min 0.1 dkp.. so every 6 mins i have this anoying window poping on me.
Also i'd like to not have 876345 0.1 rewards, but just 1 timed award for.. 2.3 dkp, or so..
One thing im missing that my Guild uses is:
Raid Team gets 100% of the points asigned
Members get 80% of the points
Applicants get 60% of the points
No guild members get 0% of the points
is that posible? is it hard to make a plugin for this? becouse my knowledge of lua is not gona let me do it sadly, and its the only thing that its stoping all the guilds of my sever to use this.
Tuks - "The Fallen" - Burning Blade -
It may be possible to do something closer to what you want, but there are a few issues.
A point award gives X points to Y players. Every time the dkp leader awards points they may want to verify that the correct people are selected and refresh the standby list. If someone is replaced in the raid they are not automatically selected in DKPmon's list, the dkp manager has to click "select all" under the raid list. This check is a good thing as it forces the dkp leader to verify the correct people are receiving dkp.
I could do something like you want but it can result in lots of little awards to individual people. Here's the general algorithm:
1. Create a table of timed points for every player
2. Add X dkp every Y min to everyone's entry in the table for every player selected using the DKPmon point award interface
3. At the end group players with the same timed point value
4. Award the different groups points
So everyone who was in the raid the entire time might get 7.6 dkp and someone that left would have a separate award of 5.2 dkp. The more people you had switching in the raid the more separate point awards there would be.
With this system you lose the prompt to check who's getting timed points. If you forget to check someone in the DKPmon window they won't be gaining timed points and you may not realize it until the end.
This is the basic workflow I'm imagining for the dkp leader.
1. During raid select different timed rates whenever they should change (farmed/new content)
2. Make sure to update the selected players when raid makeup changes
3. At end of raid click "Award timed points"
Now here there are two possibilities:
Lets pretend we have the following situation:
24 players all get 7.5 timed dkp
1 player was replaced (B replaced A)
Player A gets 4.5 dkp and Player B gets 3dkp as a result.
Option 1: Award the points automatically in the background.
You click a button, all the points are awarded as 3 point awards without any input from the dkp leader, maybe with some output to the console.
Option 2: Use the DKPmon Point Award window and step through the awards to verify them.
Click an "Award next timed points group" button
BossAuction would select the 24 players and add an award for 7.5 points. You would then have the opportunity to review who was being award the points and see the amount.
Click "Next Timed" again.
BossAuction would select player A and add 4.5dkp to the window. Again you would check everything and click award like you do for normal points.
Click "Next Timed" again.
BossAuction would select Player B and add 3 dkp to the window. You award the points and are done with timed dkp.
Is this what you're imagining? How much control do you want over timed points when they're awarded? Which of those last two options would you want, or to you have another idea?
-Javek
Timed awards should be as simple as this..
they should'nt have to be handles the same time as manual/boss awards
Setup the dkp award over time..
1 to raid member, 1 to standby, in 2 separate values to allow customization
and thats it.. evety time the timer expire, award the dkp without poping the window, or asking for a confirmation.
this way yuo can award timed points every second if you like, it does'nt matter becouse you wont have the anoying window on you.
Of course you will have to refresh standby and raid members every time you award the dkp, if you log out, got DC or something, too bad, you get no dkp during that period.. thats why i want to asign small portions of dkp every min or so, and not 1 dkp per hour, and if someone is not online by that time you have to make wierd calculations, grace timers, nah.. not worth it.
BTW, i hardcoded the rank based % reduction, its just 4 lines of code, but i will love to see it actually in the code with some options saved on my wtf folder :)