oRA3

157 - Auto Loot method behavior has become too aggresive

What steps will reproduce the problem?
0. Enable the oRA3 option "Set the loot method automatically when joining a group" and set it to Master Loot for Raid group
1. Invite someone and create a raid group, or get promoted to lead
2. Note that oRA3 correctly sets the loot method
3. Now manually change the loot method back to group (/group)
4. Invite another player to the raid (or remove one)
5. oRA3 once again changes the loot method, overriding my manual setting, even though all that has changed is a group member joined or left

What is the expected output? What do you see instead?
Old behavior of oRA3 would only apply the loot method when you FIRST become group leader, essentially altering the Blizzard default but allowing you to manually change it to something else for the current raid without interference.

I frequently lead guild raids where I usually want it on ML, but occasionally I lead a PuG group where I want to set Group Loot and not have oRA3 fighting me every time some PuG joins or leaves group. Currently I have to open the oRA3 options and disable the auto loot option for the duration of that raid, but then I forget to re-enable it later, ultimately defeating the point of this feature IMHO.

What version of the product are you using?
r739 release

Do you have an error log of what happened?

Please provide any additional information below.
Would really like the old behavior where it only adjusts the loot method when I first create the group and/or become lead (or in the case of Flex, when the instance group is first created with me as lead). One solution may be to just add a boolean flag to only adjust the loot method at most once per group (ie apply loot method when I first become lead and then not again until i leave group and join a new one), thus allowing manual overrides of loot method to remain unhindered.

User When Change
funkydude Feb 16, 2014 at 20:12 UTC Changed status from New to Fixed
oscarucb Jan 14, 2014 at 21:37 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 2 comments
  • Avatar of funkydude funkydude Feb 05, 2014 at 18:58 UTC - 0 likes

    Thanks for the patch. I decided to semi-revert and tweak a previous commit instead which hopefully solves this.

  • Avatar of oscarucb oscarucb Feb 05, 2014 at 11:55 UTC - 0 likes

    Here is a patch that fixes the problem, as suggested above:

    Loot.lua    (revision 739)
    @@ -147,6 +147,7 @@
                            local current = GetLootMethod()
                            if current and current == method then return end
                            SetLootMethod(method, master, threshold)
    +                       self.setloot = true
                            if method == "master" or method == "group" then
                                    self:ScheduleTimer(SetLootThreshold, 2, threshold)
                            end
    @@ -157,7 +158,16 @@
            end
    
            function module:SetLoot()
    -               if db.enable and not self.timer and IsInGroup() then
    +               local inflex = select(3,GetInstanceInfo()) == 14
    +               local inraid = IsInRaid()
    +               -- ticket #157: ensure we only set loot once per group (during one session), to avoid overwriting manually-set loot
    +               if not IsInGroup() or (inflex and not self.inflex) or (inraid ~= self.inraid) then 
    +                       -- reset when we leave group, enter a flex, or change group type
    +                       self.setloot = nil
    +               end
    +               self.inflex = inflex
    +               self.inraid = IsInRaid()
    +               if db.enable and not self.timer and IsInGroup() and not self.setloot then
                            -- Delay loot setting, hopefully fixes #154.
                            self.timer = self:ScheduleTimer(updateLoot, 2, self)
                    end
    
  • 2 comments

Facts

Last updated
Feb 16, 2014
Reported
Jan 14, 2014
Status
Fixed - Developer made requested changes. QA should verify.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees