What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Be careful, many weapon loot rules ignored!

Giles, can you share with us this "GilesItemCheck 1.0"?
 
Giles, can you share with us this "GilesItemCheck 1.0"?
This won't be useful to most people, I made it purely for myself to try to debug the problems with DB looting, and loot rule files.

Download the attached GilesItemCheck.cs file, make a folder within your plugins folder called "GilesItemCheck" and put this .cs file there. Load up DB. Now enable the plugin and it will add to your log-file every single item in your BACKPACK (not worn, not on floor, not in stash, JUST backpack items). It will do nothing else after this, and it's almost instant. Now untick the plugin. I always delete my log before enabling it so my logfile ONLY has the latest item lists in, so I don't have to scroll through a huge text log-file, but do it as you like!

Re-enable the plugin whenever you want to generate a new list of items. It outputs EVERY item stat that DB is reading from an item, and will look like this;
Code:
[14:25:11.758 N] [GilesItemCheck 1.0] Enabled!
[14:25:11.771 N] [GilesItemCheck 1.0] 
[14:25:11.771 N] [GilesItemCheck 1.0] ==================
[14:25:11.771 N] [GilesItemCheck 1.0] = Backpack Items =
[14:25:11.771 N] [GilesItemCheck 1.0] ==================
[14:25:11.772 V] [ItemRules] Matched Thief's Burden with rule: :PickUp
[14:25:11.774 V] [ItemRules] Matched Thief's Burden with rule: Salvage ilvl 61+ items:Salvage
[14:25:11.774 V] [ItemRules] Matched Thief's Burden with rule: Sell Leftovers:Sell
[14:25:11.774 N] [GilesItemCheck 1.0] Thief's Burden: PICKUP / SALVAGE / SELL
[14:25:11.774 N] [GilesItemCheck 1.0] == Name: Thief's Burden
[14:25:11.774 N] [GilesItemCheck 1.0] == InternalName: Amulet_norm_base_13-123
[14:25:11.774 N] [GilesItemCheck 1.0] == ItemBaseType: Weapon
[14:25:11.774 N] [GilesItemCheck 1.0] == ItemType: Mace
[14:25:11.774 N] [GilesItemCheck 1.0] == IsArmor: False
[14:25:11.774 N] [GilesItemCheck 1.0] == IsGem: False
[14:25:11.774 N] [GilesItemCheck 1.0] == IsMisc: False
[14:25:11.774 N] [GilesItemCheck 1.0] == Is2Square: True
[14:25:11.774 N] [GilesItemCheck 1.0] == Is2Handed: False
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Item: Zeta.Internals.Actors.ACDItem ([Amulet_norm_base_13-123] - Thief's Burden)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- AttackSpeedPercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Quality: Zeta.Internals.Actors.ItemQuality (Rare4)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Level: System.Int32 (63)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- RequiredLevel: System.Int32 (60)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- CritPercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- CritDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Intelligence: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Vitality: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Strength: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Dexterity: System.Single (130)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Armor: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ArmorBonus: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ArmorTotal: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Sockets: System.Int32 (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- MagicFind: System.Single (25)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- GoldFind: System.Single (34.98535)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- WeaponAttacksPerSecond: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- WeaponMinDamage: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- WeaponMaxDamage: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- WeaponDamagePerSecond: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- WeaponDamageType: Zeta.DamageType (None)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- MovementSpeed: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- HealthGlobeBonus: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- HealthPerSecond: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- LifePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- Thorns: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistAll: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistArcane: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistCold: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistFire: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistHoly: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistLightning: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistPhysical: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ResistPoison: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- DamageReductionPhysicalPercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ColdDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- FireDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- LightningDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- ArcaneDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- PoisonDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- HolyDamagePercent: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- MinDamage: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] ---- MaxDamage: System.Single (0)
[14:25:11.775 N] [GilesItemCheck 1.0] 
[14:25:11.777 V] [ItemRules] Matched Wayfarer Stride with rule: :PickUp
[14:25:11.782 V] [ItemRules] Matched Wayfarer Stride with rule: Salvage ilvl 61+ items:Salvage
[14:25:11.782 V] [ItemRules] Matched Wayfarer Stride with rule: Sell Leftovers:Sell
[14:25:11.782 N] [GilesItemCheck 1.0] Wayfarer Stride: PICKUP / SALVAGE / SELL
[14:25:11.782 N] [GilesItemCheck 1.0] == Name: Wayfarer Stride
[14:25:11.782 N] [GilesItemCheck 1.0] == InternalName: Boots_hell_base_04-143
[14:25:11.782 N] [GilesItemCheck 1.0] == ItemBaseType: Armor
[14:25:11.782 N] [GilesItemCheck 1.0] == ItemType: Boots
[14:25:11.782 N] [GilesItemCheck 1.0] == IsArmor: True
[14:25:11.782 N] [GilesItemCheck 1.0] == IsGem: False
[14:25:11.782 N] [GilesItemCheck 1.0] == IsMisc: False
[14:25:11.782 N] [GilesItemCheck 1.0] == Is2Square: True
[14:25:11.782 N] [GilesItemCheck 1.0] == Is2Handed: False
[14:25:11.782 N] [GilesItemCheck 1.0] ---- Item: Zeta.Internals.Actors.ACDItem ([Boots_hell_base_04-143] - Wayfarer Stride)
[14:25:11.782 N] [GilesItemCheck 1.0] ---- AttackSpeedPercent: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Quality: Zeta.Internals.Actors.ItemQuality (Rare6)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Level: System.Int32 (61)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- RequiredLevel: System.Int32 (60)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- CritPercent: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- CritDamagePercent: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Intelligence: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Vitality: System.Single (58)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Strength: System.Single (71)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Dexterity: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Armor: System.Single (250.8333)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- ArmorBonus: System.Single (0)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- ArmorTotal: System.Single (250)
[14:25:11.783 N] [GilesItemCheck 1.0] ---- Sockets: System.Int32 (0)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- MagicFind: System.Single (15.99121)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- GoldFind: System.Single (16.99219)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- WeaponAttacksPerSecond: System.Single (0)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- WeaponMinDamage: System.Single (0)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- WeaponMaxDamage: System.Single (0)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- WeaponDamagePerSecond: System.Single (0)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- WeaponDamageType: Zeta.DamageType (None)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- MovementSpeed: System.Single (11.99951)
[14:25:11.784 N] [GilesItemCheck 1.0] ---- HealthGlobeBonus: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- HealthPerSecond: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- LifePercent: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- Thorns: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistAll: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistArcane: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistCold: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistFire: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistHoly: System.Single (0)
[14:25:11.785 N] [GilesItemCheck 1.0] ---- ResistLightning: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- ResistPhysical: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- ResistPoison: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- DamageReductionPhysicalPercent: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- ColdDamagePercent: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- FireDamagePercent: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- LightningDamagePercent: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- ArcaneDamagePercent: System.Single (0)
[14:25:11.786 N] [GilesItemCheck 1.0] ---- PoisonDamagePercent: System.Single (0)
[14:25:11.787 N] [GilesItemCheck 1.0] ---- HolyDamagePercent: System.Single (0)
[14:25:11.787 N] [GilesItemCheck 1.0] ---- MinDamage: System.Single (0)
[14:25:11.787 N] [GilesItemCheck 1.0] ---- MaxDamage: System.Single (0)
[14:25:11.787 N] [GilesItemCheck 1.0] 
[14:25:11.787 N] [GilesItemCheck 1.0] *****************
[14:25:11.787 N] [GilesItemCheck 1.0]
First it lists any rules (from your currently loaded item rules) that matched the item. Then it lists all the details of the item - first some key stats like the internalname, itembasetype, itemtype, isarmor, isgem etc... then it lists all the actual stats DB holds for the item (the stat name, the datatype, and then in brackets the actual value of that stat). Check out some of your items with min/max damage, thorns, fire resist and you'll see they often (always) read 0 for an example of some of the issues.
 
Hi Giles,

thanks for your plugin.

I caught the bot NOT stashing an item it should. Even thou, it matched TWO KEEP rules and even matched against your plugin . . .

We must find out where is this problem with DB, that sometimes he skips some rules (mostly important the STASH ones)

This helm, did NOT get stashed, dunno why. Luckly i caught the miss and saved it. Now i am leaving it in my bag again, to see if DB misses the stash again . . .

http://i.imgur.com/M6hrl.jpg
View attachment 46970

Which matches to two KEEP rules (i lowered a bit the min-values u had in ur v2 to my tastings, so its not ur original v2):

Code:
   <ItemRule itemType="Helm" description="Helm_Intelligence_02">
    <StatRules>
     <Rule stat="Intelligence" minValue="220" quality="Rare4" />
     <Rule stat="Sockets" minValue="1" quality="Rare4" />
    </StatRules>
   </ItemRule>

AND

Code:
   <ItemRule itemType="Helm" description="Helm_Intelligence_07">
    <StatRules>
     <Rule stat="Intelligence" minValue="170" quality="Rare4" />
     <Rule stat="GoldFind" minValue="10" quality="Rare4" />
     <Rule stat="Sockets" minValue="1" quality="Rare4" />
    </StatRules>
   </ItemRule>


Code:
[14:36:01.770 N] [GilesItemCheck 1.0] 
[14:36:01.788 V] [ItemRules] Matched Crest Accolade with rule: :PickUp
[14:36:01.795 V] [ItemRules] Matched Crest Accolade with rule: Helm_Intelligence_02:Keep
[14:36:01.795 V] [ItemRules] Matched Crest Accolade with rule: Salvage ilvl 61+ items:Salvage
[14:36:01.795 V] [ItemRules] Matched Crest Accolade with rule: Sell Leftovers:Sell
[14:36:01.795 N] [GilesItemCheck 1.0] Crest Accolade: PICKUP / KEEP / SALVAGE / SELL
[14:36:01.795 N] [GilesItemCheck 1.0] 
[14:36:01.795 N] [GilesItemCheck 1.0] == Name: Crest Accolade
[14:36:01.795 N] [GilesItemCheck 1.0] == InternalName: Helm_hell_base_04-54
[14:36:01.795 N] [GilesItemCheck 1.0] == ItemBaseType: Armor
[14:36:01.795 N] [GilesItemCheck 1.0] == ItemType: Helm
[14:36:01.795 N] [GilesItemCheck 1.0] == IsArmor: True
[14:36:01.795 N] [GilesItemCheck 1.0] == IsGem: False
[14:36:01.795 N] [GilesItemCheck 1.0] == IsMisc: False
[14:36:01.795 N] [GilesItemCheck 1.0] == Is2Square: True
[14:36:01.795 N] [GilesItemCheck 1.0] == Is2Handed: False
[14:36:01.795 N] [GilesItemCheck 1.0] ---- Item: Zeta.Internals.Actors.ACDItem ([Helm_hell_base_04-54] - Crest Accolade)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- AttackSpeedPercent: System.Single (0)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Quality: Zeta.Internals.Actors.ItemQuality (Rare6)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Level: System.Int32 (61)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- RequiredLevel: System.Int32 (60)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- CritPercent: System.Single (0)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- CritDamagePercent: System.Single (0)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Intelligence: System.Single (225)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Vitality: System.Single (0)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Strength: System.Single (0)
[14:36:01.796 N] [GilesItemCheck 1.0] ---- Dexterity: System.Single (39)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- Armor: System.Single (358,5)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- ArmorBonus: System.Single (0)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- ArmorTotal: System.Single (358)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- Sockets: System.Int32 (1)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- MagicFind: System.Single (0)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- GoldFind: System.Single (17,99316)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- WeaponAttacksPerSecond: System.Single (0)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- WeaponMinDamage: System.Single (0)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- WeaponMaxDamage: System.Single (0)
[14:36:01.797 N] [GilesItemCheck 1.0] ---- WeaponDamagePerSecond: System.Single (0)
[14:36:01.799 N] [GilesItemCheck 1.0] ---- WeaponDamageType: Zeta.DamageType (None)
[14:36:01.799 N] [GilesItemCheck 1.0] ---- MovementSpeed: System.Single (0)
[14:36:01.799 N] [GilesItemCheck 1.0] ---- HealthGlobeBonus: System.Single (0)
[14:36:01.799 N] [GilesItemCheck 1.0] ---- HealthPerSecond: System.Single (98)
[14:36:01.800 N] [GilesItemCheck 1.0] ---- LifePercent: System.Single (0)
[14:36:01.800 N] [GilesItemCheck 1.0] ---- Thorns: System.Single (0)
[14:36:01.800 N] [GilesItemCheck 1.0] ---- ResistAll: System.Single (0)
[14:36:01.800 N] [GilesItemCheck 1.0] ---- ResistArcane: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistCold: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistFire: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistHoly: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistLightning: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistPhysical: System.Single (0)
[14:36:01.801 N] [GilesItemCheck 1.0] ---- ResistPoison: System.Single (0)
[14:36:01.802 N] [GilesItemCheck 1.0] ---- DamageReductionPhysicalPercent: System.Single (0)
[14:36:01.802 N] [GilesItemCheck 1.0] ---- ColdDamagePercent: System.Single (0)
[14:36:01.802 N] [GilesItemCheck 1.0] ---- FireDamagePercent: System.Single (0)
[14:36:01.802 N] [GilesItemCheck 1.0] ---- LightningDamagePercent: System.Single (0)
[14:36:01.803 N] [GilesItemCheck 1.0] ---- ArcaneDamagePercent: System.Single (0)
[14:36:01.803 N] [GilesItemCheck 1.0] ---- PoisonDamagePercent: System.Single (0)
[14:36:01.803 N] [GilesItemCheck 1.0] ---- HolyDamagePercent: System.Single (0)
[14:36:01.803 N] [GilesItemCheck 1.0] ---- MinDamage: System.Single (0)
[14:36:01.804 N] [GilesItemCheck 1.0] ---- MaxDamage: System.Single (0)
[14:36:01.804 N] [GilesItemCheck 1.0]

Going to watch closely to see if it misses it again . . .
 
I confirm that it happens, I've seen DB pick up white items and stash crap blues that didn't match any rules.

The lack of support for some kinds of items \ attributes also make it a pain sometimes to filter out the good stuff, either we pick crap up or we pass on great items.

This has to be reported and noted by the devs.

yeah i believe this needs to be fixed up asap after court things are fixed up.

pretty sad the amount of stuff left out.....almost on purpose?

i know nothing about code writing or bot writing tho so could be more of an issue than first thought.
 
Found more stats that DB is trying to read but always return a 0 - including the rather important attack speed stat (meaning filters looking for attack speed% will never match). Here are the stats (and DB's internal variable name for them) that are always showing as 0 for all items I've seen;

- Attack Speed ("AttackSpeedPercent").
- Damage Bonuses ("MinDamage", "MaxDamage") (eg from tooltip saying "+62-219 damage" or "+18 minimum damage")
- Reduce damage from melee attacks % (DamageReductionPhysicalPercent") (NB: May be the same/difference for reduce damage from range, and reduce damage from elites?)
- Thorns ("Thorns")
- Arcane Resist ("ResistArcane").
- Cold Resist ("ResistCold").
- Fire Resist ("ResistFire")
- Holy Resist ("ResistHoly")
- Lightning Resist ("ResistLightning")
- Physical Resist ("ResistPhysical")
- Poison Resist ("ResistPoison").
 
The issue with item "type" detection is that Blizzard stores the type in a 128 bit flag set. Considering 128bit isn't a supported integer type in .NET, I've had to some... workarounds. On top of that, there are all the different types of items, and for some reason they decided that "Mighty Belt" has its own flag, instead of "Mighty | Belt". Same goes with the mighty weapons (and other class-specific weapons it seems). They also mix and match flags sometimes. Some WD weapons (the Ceremonial weapons) have flags like "CeremonialWeapon" and then also "ClassSpecific | Dagger". I do apologize for missing some of these, but as you can tell there's a lot of different ways for an item type to be represented, and each item can have a different version of it.

Also, items that aren't handled by us "properly" get returned as "Misc" category. Think of it more as a default value than anything. I'll change that soon though.

I'll look into the Min/Max damage thing. I suspect that the attribute changed under the hood. Same goes for Attack Speed, thorns, etc. I'll have to re-check these in the next few days and hopefully get them working again. (Unfortunately, its not something like a string lookup, so its not something that can be totally patch-proofed)
 
The issue with item "type" detection is that Blizzard stores the type in a 128 bit flag set. Considering 128bit isn't a supported integer type in .NET, I've had to some... workarounds. On top of that, there are all the different types of items, and for some reason they decided that "Mighty Belt" has its own flag, instead of "Mighty | Belt". Same goes with the mighty weapons (and other class-specific weapons it seems). They also mix and match flags sometimes. Some WD weapons (the Ceremonial weapons) have flags like "CeremonialWeapon" and then also "ClassSpecific | Dagger". I do apologize for missing some of these, but as you can tell there's a lot of different ways for an item type to be represented, and each item can have a different version of it.

Also, items that aren't handled by us "properly" get returned as "Misc" category. Think of it more as a default value than anything. I'll change that soon though.

I'll look into the Min/Max damage thing. I suspect that the attribute changed under the hood. Same goes for Attack Speed, thorns, etc. I'll have to re-check these in the next few days and hopefully get them working again. (Unfortunately, its not something like a string lookup, so its not something that can be totally patch-proofed)

Ahhh, for type detection can you not go off the "internalname" stat DB reads? As this always seems to be correct even when DB gets the item name/baseitemtype/itemtype wrong? eg all spirit stones have an internalname that starts the same;
== InternalName: spiritStone_norm_base_03-96
== InternalName: spiritStone_norm_base_02-100
== InternalName: spiritStone_norm_base_04-102
== InternalName: spiritStone_norm_base_01-103

All rings;
== InternalName: Ring_22-28
== InternalName: Ring_21-119
== InternalName: Ring_21-120
== InternalName: Ring_21-128
== InternalName: Ring_21-144

Boots;
== InternalName: Boots_hell_base_04-150
== InternalName: Boots_hell_base_01-116

etc. etc. - I've never ever seen DB report the internalname incorrectly, and the internalname is a very "understandable" (never any weird names) way to decide what the itemtype and baseitemtype is.
 
Ahhh, for type detection can you not go off the "internalname" stat DB reads? As this always seems to be correct even when DB gets the item name/baseitemtype/itemtype wrong? eg all spirit stones have an internalname that starts the same;
== InternalName: spiritStone_norm_base_03-96
== InternalName: spiritStone_norm_base_02-100
== InternalName: spiritStone_norm_base_04-102
== InternalName: spiritStone_norm_base_01-103

All rings;
== InternalName: Ring_22-28
== InternalName: Ring_21-119
== InternalName: Ring_21-120
== InternalName: Ring_21-128
== InternalName: Ring_21-144

Boots;
== InternalName: Boots_hell_base_04-150
== InternalName: Boots_hell_base_01-116

etc. etc. - I've never ever seen DB report the internalname incorrectly, and the internalname is a very "understandable" (never any weird names) way to decide what the itemtype and baseitemtype is.

Internal names are not always accurate. There are a few armor pieces that start with "Staff" if I remember correctly.
 
Internal names are not always accurate. There are a few armor pieces that start with "Staff" if I remember correctly.

I'd be willing to track them down for you :P But what I mean by accurate is - DB is always reading that value correctly, whereas it's bugging out (fairly frequently) with reading itemtype/baseitemtype (especially when reading a lot of items in a row).

So as long as InternalName is always read correctly (it is) - then basing things off of that seems much safer, even if there are a few rare exceptions where the internalname is something like "Staff_xxx_yyy" for some boots (those exceptions can be found & added?). As it currently stands, it's just not reliable at all. I'd even be willing to spend a small fortune on the AH buying loads of items of different types, with different graphics, of different rarities, to try and find/compile a huge list of internalnames for you (and find any of the weird exceptions), but only if you think you can make DB work off of the internalnames instead of the currently buggy 128 bit flag method? :D
 
+1

was wondering why my 255% mf can't find me anything good for a week. looks like my investment in gf+mf gears went down the drain
 
Giles, with the latest .169 update, is this fixed somehow?
 
Giles, with the latest .169 update, is this fixed somehow?

Sadly not.

None of the missing items have been added (there is still no support for most class-specific items), and DB still randomly reads stats wrongly.

The changelog does mention stashing is improved - but think that just means it's not as laggy as a very laggy thing on a very laggy day like it used to be.
And it mentions ID'ing items fixed (think that refers to a bug that didn't auto-ID some items on the return-to-town-and-stash routine? Unsure).
 
My DB has been stashing the wierdest things. Like 400 DPS magic one handers when its set to 1000 and up magic one handers w/ certain attribute stats. i think its 150+ attribute stats. I come home restart my computer (windows not responding crap with DB) go into diablo 3 to find a bajillion crappy weapons and a bunch of salvaged materials. I havent gotten one good thing from my runs only thing it seemed to do correctly was stash legendary and set items.
 
Further to my post on various issues with DB looting (see here), I've tried to compile a list of absolute, definite issues for the DB team to focus on. These are things that are not affected by your routine, plugins or anything else, but are core to DB itself:

Note: See this post: http://www.thebuddyforum.com/demonb...any-weapon-loot-rules-ignored.html#post607881 for fuller analysis & detail on some of these issues.

* DB sometimes stashes the wrong item - even if ItemManager.EvaluateItem(item, ItemManager.RuleType.Keep) returns false, it can stash an item sometimes, and other times IGNORE a valid item.
-- May be down to DB randomly reading item.name, item.ItemBaseType, item.itemtype incorrectly at times.
* LifeOnHit is not supported.
* LifeSteal is not supported.
* PickupRadius is not supported.
* Following stats are supposed to be supported by DB, but DB doesn't read the values (thinks they are always at 0):
- Attack Speed ("AttackSpeedPercent").
- Thorns ("Thorns")
- Arcane Resist ("ResistArcane").
- Cold Resist ("ResistCold").
- Fire Resist ("ResistFire")
- Holy Resist ("ResistHoly")
- Lightning Resist ("ResistLightning")
- Physical Resist ("ResistPhysical")
- Poison Resist ("ResistPoison").
* Stats are sometimes incorrectly read as a decimal by DB. For example a Magic Find of 16 (listed in Diablo client tooltips), is sometimes read by DemonBuddy as being 15.99, so will not be filtered if you require 16 Magic Find.

I've added LifeOnHit, LifeSteal and PickUpRadius
All resists and Thorns has been fixed
AttackSpeedPercent fixed, It's now "Attack Speed Increased by X%"

"Stats are sometimes incorrectly read as a decimal by DB"
The game rounds it to the highest integer if an item has 9.8% MF it will round it to 10%
 
Last edited:
Could a work around be to search item name based on prefix and suffix? eg, if a items has
"Grim" + "something wand/sword/etc" + "of death"
"Vanquishing" + "something wand/sword/etc" + "of death"
& if the item is also ilvl63 then they are likely 1kdps+ weapons

I also notice almost no loot rules seem to keep rings/amulets etc.
 
I've added LifeOnHit, LifeSteal and PickUpRadius
All resists and Thorns has been fixed
AttackSpeedPercent fixed, It's now "Attack Speed Increased by X%"

Great news, looking forward to the next update :)

If "Total Block %" could be added with those new stats, would be very helpful, if not it can wait!

I forgot to remove mention of the rounding thing off the first post, I'll edit that now so the list is up-to-date with stuff we know is wrong/being worked on.
 
Back
Top