Func AnalyseStatItem($_GUID,$_List_StatNameToCheck,$_List_StatValueToCheck,$_Family_Name)
Local $_Stat_Name_List = StringSplit($_List_StatNameToCheck, "|")
Local $_Stat_Value_List = StringSplit($_List_StatValueToCheck, "|")
Local $_Nb_Stat_Ok = 0
Local $_Stat_Err = 0
Local $_Or_Check = 0
Local $_Stat_Name = ""
Local $_Stat_Value = 0
For $i = 1 to $_Stat_Name_List[0]
$_Or_Check = 0
Local $_Sub_Stat_Name_List = StringSplit($_Stat_Name_List[$i], "-")
Local $_Sub_Stat_Value_List = StringSplit($_Stat_Value_List[$i], "-")
For $j = 1 to $_Sub_Stat_Name_List[0]
$_Stat_Name = $_Sub_Stat_Name_List[$j]
$_Stat_Value = $_Sub_Stat_Value_List[$j]
if $_Stat_Name = "Strength" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Strength_Item)
_logAdvanced(" ==> Strength=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "Vitality" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Vitality_Item)
_logAdvanced(" ==> Vitality=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "Intelligence" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Intelligence_Item)
_logAdvanced(" ==> Intelligence=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "Dexterity" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Dexterity_Item)
_logAdvanced(" ==> Dexterity=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "ResistAll" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Resistance_All)
_logAdvanced(" ==> ResistAll=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "GF" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Gold_Find) * 100,1)
_logAdvanced(" ==> GF=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "MF" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Magic_Find) * 100,1)
_logAdvanced(" ==> MF=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "HealthBonus" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Hitpoints_Max_Percent_Bonus_Item) * 100,1)
_logAdvanced(" ==> HealthBonus=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "AttackSpeedBonus" then
if $_Family_Name <> "Weapon" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Attacks_Per_Second_Percent) * 100,1)
_logAdvanced(" ==> AttackSpeedBonus=" & $_Stat & " for " & $_Stat_Value & " asked")
else
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Attacks_Per_Second_Item_Percent) * 100,1)
_logAdvanced(" ==> AttackSpeedBonus=" & $_Stat & " for " & $_Stat_Value & " asked")
endif
elseif $_Stat_Name = "AttackSpeedTotal" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Attacks_Per_Second_Item_Total)
_logAdvanced(" ==> AttackSpeedTotal=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "ArmorBonus" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Armor_Bonus_Item)
_logAdvanced(" ==> ArmorBonus=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "ArmorTotal" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Armor_Item_Total)
_logAdvanced(" ==> ArmorTotal=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "CritChance" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Crit_Percent_Bonus_Capped) * 100,1)
_logAdvanced(" ==> CritChance=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "CritDamage" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Crit_Damage_Percent)* 100,1)
_logAdvanced(" ==> CritDamage=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "Socket" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Sockets)
_logAdvanced(" ==> Socket=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "Indestructible" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Item_Indestructible)
_logAdvanced(" ==> Indestructible=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "BlockChance" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Block_Chance_Item) * 100,1)
_logAdvanced(" ==> BlockChance=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "BlockBonus" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Block_Chance_Bonus_Item) * 100,1)
_logAdvanced(" ==> BlockBonus=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "BlockTotal" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Block_Chance_Item_Total) * 100,1)
_logAdvanced(" ==> BlockTotal=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "RegenBySecond" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Hitpoints_Regen_Per_Second)
_logAdvanced(" ==> RegenBySecond=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "RegenByHit" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Hitpoints_On_Hit)
_logAdvanced(" ==> RegenByHit=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "RegenByKill" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Hitpoints_On_Kill)
_logAdvanced(" ==> RegenByKill=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "DamageMin" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Damage_Weapon_Min_Total_All)
_logAdvanced(" ==> DamageMin=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "DamageMax" then
$_Stat = IterateActorAtribs($_GUID, $Atrib_Damage_Weapon_Max_Total_All)
_logAdvanced(" ==> DamageMax=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "DamageAve" then
$_Stat = round(IterateActorAtribs($_GUID, $Atrib_Damage_Weapon_Average_Total_All),2)
_logAdvanced(" ==> DamageAve=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "DPS" then
$_Stat = round(round(IterateActorAtribs($_GUID, $Atrib_Attacks_Per_Second_Item_Total),2)*round(IterateActorAtribs($_GUID, $Atrib_Damage_Weapon_Average_Total_All),2),1)
_logAdvanced(" ==> DPS=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "StealHealth" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Steal_Health_Percent)* 100,1)
_logAdvanced(" ==> StealHealth=" & $_Stat & " for " & $_Stat_Value & " asked")
elseif $_Stat_Name = "MoveSpeed" then
$_Stat = Round(IterateActorAtribs($_GUID, $Atrib_Movement_Scalar)* 100,1)
_logAdvanced(" ==> MoveSpeed=" & $_Stat & " for " & $_Stat_Value & " asked")
else
$_Stat_Err = 1
endif
if $_Stat_Err = 0 then
if $_Stat <> "" and $_Stat >= $_Stat_Value then
$_Or_Check = 1
endif
else
exitLoop 2
endif
if $j < $_Sub_Stat_Name_List[0] then
_logAdvanced(" ==> OR <==")
endif
next
if $_Or_Check = 1 then
$_Nb_Stat_Ok += 1
endif
next
_logAdvanced("--------------------------->")
if $_Stat_Err = 0 then
if $_Nb_Stat_Ok = $_Stat_Name_List[0] then
return True
else
return False
endif
else
return false
endif
EndFunc ;==>AnalyseStatItem