PassLoot
What this mod does
This mod will allow you to automatically roll greed, need, pass, or if the setting is disabled, let you manually roll on loot based on customized loot rules.
By adding customized rules, you can do things like roll greed on all Bind on Equip items, except in Karazhan. You could also let it ignore all Bind on Pickup items, to let you manually roll on them.
Features
Automatic loot settings for each category:
- Need - This will roll need on the loot in this rule.
- DE - If an enchanter is present this will roll disenchant
- Greed - This will roll greed on the loot in this rule.
- Pass - This will automatically pass on the loot in this rule.
- If no loot method is selected, you will have to manually roll on the items.
- You may select multiple methods.
Loot rules can filter loot based on the following:
- Bind on status
- Can I Roll filter - Checks if you can roll differently
- Class / Spec - Checks if you are on a certain class / spec (does not check if the item is good for your spec)
- Equip slot
- Equipable - Only checks if you can actually equip the item. (does not check if the item is good for your spec)
- Group/Raid - Checks when in a group or raid - Use ZoneType for normal/heroic types.
- Guild Group - When the group has a percentage of guild mates.
- Inventory - Can check if you already own an item.
- Item Level (or formula based on current equipped level)
- Item Name (partial or exact)
- Item Price - Vendor value.
- Item Type and SubType
- Learned Item (recipes/mounts)
- Loot Won Counter/Comparison - How often you have won an item with the rule
- Player Name
- Quality
- Required Level (or formula based on current level)
- Uniqueness
- Usable Items - Checks for red text in tooltip - Good for recipes/mounts/pets.
- Zone
- Zone Type - Outside/Group/Raid - Raid Finder / Normal / Heroic
- Confirm BoP filter to accept BoP item popups
- Confirm DE filter to accept DE item popups (use care with this one)
Stat Matching
- Grab the PassLoot_ItemScales addon - Currently has support for Pawn.
- If you would like support for other addons let me know which ones.
Logic
- Rules are checked for a match in the order they appear.
- You may have more than one of the same type of filter.
- Each filter type must have at least one match.
- Items may not match any exception.
- If ( matched rule ) then ( roll ) else ( skip rule )
- Rolling is attempted in the following order: Need > DE > Greed > Pass. (Depending on what is selected)
Logic Example 1
- Quality -> Rare
- Quality -> Epic
- Binds on -> None
- Binds on -> Equip
- Binds on -> Use
This will match IF (Rare OR Epic) AND (None OR Equip OR Use)
Logic Example 2
- Item Type -> Armor
- Item Type -> Weapon
- Item Type -> Plate Armor (exception)
- Item Type -> 2H Maces (exception)
This will match IF (Armor OR Weapons) AND NOT (Plate OR 2H Mace)
Logic Example 3
- Quality -> Rare
- Quality -> Epic
- Binds on -> Pickup
- Usable -> Unsuable
- Zone Name -> Halls of Reflection (exception)
- Zone Name -> Pit of Saron (exception)
This will match IF (Rare OR Epic) AND (BoP) AND (Unusable) AND NOT (HoR OR PoS)
Roll Logic Examples
- -Need +DE +Greed -Pass = DE > Greed
- +Need -DE +Greed -Pass = Need > Greed
- +Need -DE -Greed +Pass = Need > Pass
- -Need +DE -Greed -Pass = DE > Manual roll
Basic Usage
- To open the configuration menu, type /passloot
- Use Add button to create a new rule (Rules are processed in the order they are listed)
- To remove a rule, select the rule and click the remove button
- To move a rule up and down in the list, select the rule and click the up/down buttons
- Once a rule has been selected, you can edit the description or change it's filters.
- To add a filter to the selected rule, select the filter you wish to add and click add.
- To remove a filter, select the filter in the Active Filters window and click remove. (You can also shift-right click the filter)
- To edit an active filter, select the filter in the Active Filters window and change it's properties. (You may have multiple filters of the same type to match)
- To test an item to see how PassLoot would roll, type /passloot test <shift-click an item>
Example 1 If you want to roll greed on all BoE items, except when on a raid in Karazhan, you can do the following:
-
Rule 1: (Greed)
- Zone -> Karazhan (Exception)
- Binds on -> Equip
(You can add more Bind On filters to the rule if you wish to add Bind on None or Bind on Use.)
Example 2 The only way to have it roll Need if condition X is met, and Greed if condition Y is met is to have 2 separate rules.
You wish to manually roll on all epic items, roll greed on all rare non-bop items items, and roll Disenchant on anything else (and greed if no disenchant option is available)
-
Rule 1: (nothing checked)
- Quality -> Epic
-
Rule 2: (Greed)
- Binds on -> Pickup (exception)
- Quality -> Rare
-
Rule3: (Greed + Disenchant)
- (no filters added)
Notes
-
Default settings
- Mod: On (If this setting is off, it won't do automatic pass/greed/need on anything)
- Quiet: disabled (If this setting is enabled, you won't see what it rolls on)
- All loot categories are disabled by default to let you manually roll on them.
- When rolling greed or need on BoP items, WoW will still ask you if you are sure you want to roll since it will bind on pickup. If you want to auto click yes on the BoP confirmations, add a Confirm BoP filter to the rule.
- The Loot Won Counters are only incremented when you win loot. It will remember what rule was matched and will increment that counter accordingly.
Translation
- Translation is done through the localization system on WoWAce.
With regard to filtering on the number in inventory, I think checking against how many are in your bags before raid would work. Occasionally I will have a mark from a prior raid.
Here's what would happen if we check items in bags before a raid:
- It would have to check each item against the current rules set up. This means there might be some extra lag joining a raid.
- Items that are currently soulbound, I have no way of checking if it was a BoE, or BoP type drop. If you have a rule to only greed on BoE items until you have say 5 of them, this could be problematic.
Here's what I am thinking of doing:
- Each rule will have a counter that will increment every time the rule is matched.
- This counter can be changed or reset manually for each rule.
- I might add an option to let it automatically reset the counters upon joining a raid/party.
very nice tool.
Little suggestion: i would like to see a raid/group parameter for item ?
To be more precise, for example:
Usually when I'm in raid I pass on every green BoE item (they are usually disenchanted for the team benefit) but i roll (greedy) on them when in group.
In SSC/TK we handle the Illidari Marks by rolling need until you get one then passing after that. These are frequently looted in combat, it seems like PassLoot might help with this. Can it roll on an item depending on the number in your inventory? I can't think of any other criteria that would help.
Hi,
there is an error in PassLoot.toc.
## X-Embeds: Ace3, LibBabble-Inventory-3.0
It has to look like this or the updaters won't work correctly.
Thanks!
Changed, thanks.
still dont work (for me).
i think the libaries arent loaded, or i even dont have them.
maybe not for german client usable?
Ack, Ok, was an externals problem. Directory wasn't named right. Never knew how frustrating some of this ace stuff can be to get everything just right.
It should be usable for german clients .. sort of.
- Translation of menu text, Unique, Bind on whatever are all in english, as no one has provided any german translations. (they will still work if you can read English)
- EquipSlot, ItemType, and ItemSubType are mostly translated and might work. - What I mean is: Libbabble-Inventory doesn't seem to have everything translated (not even all the enUS stuff is right)
For example:
Libbabble doesn't have names of the basic ItemTypes in different languages (Weapon, Armor)
Libbabble thinks Shields is named Shield - It should be Shields in English (plural), I don't know about other languages
Libbabble thinks Idols is Idol (should be plural)
Libbabble thinks Librams is Libram (should be plural)
Libbabble thinks Totems is Totem (should be plural)
Libbabble thinks Fishing Poles is Fishing Pole (should be plural)
Since GetItemInfo() returns EquipSlot, ItemType, and ItemSubType in the native localization, they need to be translated properly for them to work.
I am not sure where to find a good list of all these other than the Libbabble-Inventory library.
I made sure they work in English, but the other languages I can't help with.
Strange. I checked Babble-Inventory-2.2 and it does have the prulal forms, and as you said, LibBabble-Inventory-3.0 does not. As you have SVN access, update LibBabble (I would, but I don't have..), or if you don't want that, simply revert to the old one.
Ya, I thought about babble-2.2, but it has even less translations. No Container or it's subtypes, consumables, projectile, recipe, quest, and none of the gem subtypes.
I got permission to add to inventory-3.0, so I did the enUS stuff. However, other languages will need translations. Maybe others on wowace will translate them. Or, I have a list of the items added I can send anyone if they want to translate them.
1st the usual thanks for the mod, very useful.
Now the less good news: I use an autoupdater to keep my addons up to date (jWoWUpdater). It have the capability to strip all the libraries and have them loaded on-demand (aka, it moves them in the main addons folder). With this configuration PassLoot fails due to missing LibBabble-Inventory-3.0. However LibBabble-Inventory-3.0 is there and it's loaded.
Maybe it's a .toc issue, maybe... dunno.
However here is the error.
Cheers.
Date: 2008-03-01 11:07:41
ID: 7
Error occured in: Global
Count: 1
Message: ..\AddOns\PassLoot\Constants.lua line 2:
Cannot find a library instance of "LibBabble-Inventory-3.0".
I have the same issue. The actual issue is, that PassLoot's TOC file does not tell WoW to load the libraries before itself, it assumes running libraries embedded.
Fix is to edit the TOC file: there is a line starting as X-Embeds: (list of libraries). Duplicate the whole line and replace X-Embeds with OptionalDeps.
Odlaw, please add this little fix to the mod's TOC file, so I don't have to edit after updates :) Thank you!
Thanks, fixed on the svn. Will upload a zipped version here when I get a newer screenshot. :)
First time working with ace.
Is it possible to have PassLoot roll on items that don't bind at all (gems, recipes)? The only options I see for Bind are Any, Equip, and Pickup.
Hrm. Seems when I switched from tooltip scanning to other functions to get the information about an item, the Bind on whatever changed to check for bind on pickup vs bind on not pickup. ie - no bind, bind on equip, and bind on use all fall under BOE at the moment. I'll see about going back to tooltip scanning for binds.
Will PassLoot handle the cases like Badge of Justice that aren't actually rolled on, but still have a confirmation "Are you sure" message pop-up? Because that is certainly something I'd like to be able to do! Badges of Justice drop for all members, there is no reason one would not want to loot them.
Like you said, Badges arn't rolled on; PassLoot will not be able to roll on them. However, even if they were able to be rolled on, PassLoot would not click 'yes' in the confirmation box.
Nice mod, works pertty well. I'm having some trouble making it recognise the marks that drop in SSC and TK. I'm using a new profile with only one rule. In this rule I've added the item Mark of the Illidari and I've checked off the exact box. I have selected pass on this rule, however when the mark drops the roll window still pops up. If I add another rule for BOP items when I roll on them, that works properly and the roll window doesn't even show up but the Mark of the Illidari will also get rolled on.
Right now I'm just trying to get it to work with the Mark of the Illidari, any suggestions would be apreciated.
Thanks, Nas
Well, as I can't replicate the illidari marks easily, I went to stratholme and tried corruptor's scourgestones instead. They have two parts to the name, and drop on every boss. I tried with a second profile, with one rule. I've tried it with capitals, and lowercase just to make sure my case-insensitive change worked. It worked fine, and passed on them when they dropped.
A few things to make sure: When you typed in the name, did you press enter? It won't save the name if you just click done. If you click on the rule itself (not the name), it should refresh the names in the item list.
Oh, also, unchecking the exact checkbox tries to match the name based on a partial phrase. (keyword being phrase) For example: If you typed in 'Mark of Illidari', it won't try to match 'mark', 'of', and 'illidari' separately. It will try to match the phrase 'mark of illidari' and fail (as the name is 'Mark of the Illidari', not 'Mark of Illidari' If you typed in 'Illidari', it should match.
If you don't have anything selected, it will let you manually roll on the item if it matches the rule. Though you said you had it set to pass, so I'm not sure why it wouldn't pass.
edit: I got my raid leader to change to group loot for a raid. Used what you said you tried, and it seemed to work fine.
K, thx a lot fixing it now it works perfectly. Hope i wont loose even more dkp and make more people mad at me for accidentaly greeding everything.