greenxeyezz
Member
- Joined
- Jun 16, 2012
- Messages
- 289
- Reaction score
- 1
if i could give more rep i would WOW THANKS!
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.Giles, can you share with us this "GilesItemCheck 1.0"?
[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]
<ItemRule itemType="Helm" description="Helm_Intelligence_02">
<StatRules>
<Rule stat="Intelligence" minValue="220" quality="Rare4" />
<Rule stat="Sockets" minValue="1" quality="Rare4" />
</StatRules>
</ItemRule>
<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>
[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]
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.
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.
Internal names are not always accurate. There are a few armor pieces that start with "Staff" if I remember correctly.
Giles, with the latest .169 update, is this fixed somehow?
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%"