Latest version TurboHUD 17.11.20.0 (v7.6) STABLE for Diablo III 2.6.1.47919 (64 bit) seems to have changed how Perfection.Attribute.Code value is reported for "Increased Attack Speed" (IAS).
Previously its value was "Attacks_Per_Second_Percent" but now it seems to be "Attacks_Per_Second_Item_Percent" (which may better reflect how this attribute works and is in line with other similar attributes).
This is a breaking change to all plugins that rely Attribute.Code value has certain "known literal values" that are found during plugin development etc.
Latest release notes did not mention this (internal) change
The request: Please be more specific about changes that might affect plugin implementation or break them.
As I have a (unreleased) plugin that compares items by their perfections it would be nice to be informed if TH internal literal values are changed in such a way that can break plugin logic.
Currently I track following perfection attributes but there might be more relevant to other builds.
I just play DH Multishot (Grenades), Barb Whirlwind and Wiz Meteor. Necromancer builds discontinued ATM.
Code:
knownPerfections.Add("Dexterity_Item", "DEX");
knownPerfections.Add("Intelligence_Item", "INT");
knownPerfections.Add("Strength_Item", "STR");
knownPerfections.Add("Vitality_Item", "VIT");
knownPerfections.Add("Armor_Bonus_Item", "ARMOR");
knownPerfections.Add("Resistance_All", "RES");
knownPerfections.Add("Crit_Damage_Percent", "CHD");
knownPerfections.Add("Crit_Percent_Bonus_Capped", "CHC");
knownPerfections.Add("Power_Cooldown_Reduction_Percent_All", "CDR");
knownPerfections.Add("Resource_Cost_Reduction_Percent_All", "RCR");
knownPerfections.Add("Attacks_Per_Second_Percent", "IAS"); // TODO: Obsolete?
knownPerfections.Add("Attacks_Per_Second_Item_Percent", "IAS");
knownPerfections.Add("Damage_Min", "DMG");
knownPerfections.Add("Damage_Weapon_Min", "DMG");
knownPerfections.Add("Damage_Weapon_Percent_All", "DMG-%");
knownPerfections.Add("Splash_Damage_Effect_Percent", "A-DMG%");
knownPerfections.Add("Damage_Percent_Reduction_From_Elites", "E/DMG-");
knownPerfections.Add("Weapon_On_Hit_Freeze_Proc_Chance", "Freeze%");
knownPerfections.Add("On_Hit_Stun_Proc_Chance", "Stun%");
knownPerfections.Add("Hitpoints_Max_Percent_Bonus_Item", "Life%");
knownPerfections.Add("Movement_Scalar", "Move%");
knownPerfections.Add("Sockets", "Socket");
// Detection from perfection.Attribute.GetDescription: ELEMENTIAL DAMAGE:
knownPerfections.Add("Damage_Dealt_Percent_Bonus", "Elem:DMG+");
// Detection from perfection.Attribute.GetDescription: player class specific RESOURCE:
knownPerfections.Add("Resource_Max_Bonus", "Res:Max+");
knownPerfections.Add("Spending_Resource_Heals_Percent", "Res:Heal");
knownPerfections.Add("Resource_Regen_Per_Second", "Res:Regen");
knownPerfections.Add("Resource_On_Crit", "Res:Crit");
// Detection from perfection.SnoItemMod.Modifier: player class specific POWER:
knownPerfections.Add("Power_Damage_Percent_Bonus", "Pwr:DMG%");
BTW, if anybody has similar plugin that compares item perfection attributes of two items (same or not) please inform me.
I'm not able to memorize all attribute priorities by different builds so I'm developing to plugin to do it for me.
My final version should be able to be configure like this (item name, tag for UI and relevant perfections/attributes for this build):
Code:
// https://www.icy-veins.com/d3/corpse-lance-necromancer-trag-oul-variation
tag = "CorpseLance";
Add("Trag'Oul's Claws", tag, PRI_INT, VIT, CHD, CHC);
Add("Trag'Oul's Heart", tag, PRI_INT, VIT, ARMOR);
Add("Trag'Oul's Guise", tag, PRI_INT, VIT, CHC, SOCKET);
Add("Trag'Oul's Scales", tag, PRI_INT, VIT, SOCKET);
Add("Dayntee's Binding", tag, PRI_INT, VIT);
Add("Trag'Oul's Hide", tag, PRI_INT, VIT, ALL_RES, SOCKET);
Add("Trag'Oul's Stalwart Greaves", tag, PRI_INT, VIT);