There is a bug related to the off-hand penalty of stone warden and the damage of Shield of Light when using steam saw. (If you are not interested in details, please just read what in red.)
First, let's see the definition of shield:
special_combat = { talented="shield", accuracy_effect="staff", damrange = 1.2, no_offhand_penalty=true }
Now let's see how steam saw is defined:
combat = { talented = "steamsaw", accuracy_effect="axe", damtype=DamageType.PHYSICALBLEED, damrange = 1.5, physspeed = 1, sound = {"actions/saw", pitch=1, vol=1}, sound_miss = {"actions/saw", pitch=1, vol=1}, use_resources={steam = 1}},
The difference is obvious. Shield is not defined with "combat", while steam saw is not defined with "special_combat".
Then let's see why stone warden has off-hand penalty when using shield:
local offmult = self:getOffHandMult(o.combat, mult) --change this to "local offmult = self:getOffHandMult(o.combat or o.special_combat, mult)" local combat = self:getObjectCombat(o, "offhand") if o.special_combat and o.subtype == "shield" and self:knowTalent(self.T_STONESHIELD) then combat = o.special_combat end
Since shield has no combat property, the variable offmult will never be updated.
Similarly let's see how the shield of light works:
self:attackTargetWith(target, shield.special_combat, DamageType.LIGHT, t.getShieldDamage(self, t)) --change this to "self:attackTargetWith(target, shield.special_combat or shield.combat, DamageType.LIGHT, t.getShieldDamage(self, t))"
So, as you can see, when using steam saw that has no special_combat, the damage would become negligible.
Could you please integrate those modifications in this great addon?
|