Would not work, the only way to do this would be to trigger all the items in your map, and take these in relation, for example a simple sword would need to be triggered, so that it adds 2 damage through a ability to your unit (you get the sword, sword has no effect, then through a trigger you add 2 damage, it stacks, so no worry for multiple swords), the downside is you need to detect when all the items are dropped or sold, so you would need to remove the added abilities, you could certainly use a spellbook for all those abilities which have a icon shown, would you add them, and simply disable the spell book.
Now, each trigger fired adds a number related to the bonus to the variable of your hero, for example a sword, you get it, 2 damage added, so to your heroes variable "Item added Damage" is a 2 added.
And you need of course to calculate every 2 or 1 second the current damage of your hero, formula would look like this: Current Attack Damage(max) = Basic Damage + ( dice 1 x dice 2) + "main attribute" (difficult to detect, maybe the highest attribute?) + Item added Damage.
But this would only calculate the max damage, and not the min damage.
Min damage would be (not entirely sure) Current Attack Damage(min) = Basic Damage + main attribute + Item added Damage.
PROBLEM: You cannot detect the damage done by 100% beside through damage taken. Because of the random between Max - Min. The Damage is randomly choosen.