diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index feb914d226452c9c0b4de5a1b99a933c99e3972b..b2246046db64dd7bbb5b9ba9d5ad9f0c886c8cb0 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -1068,6 +1068,22 @@ function _M:attackTargetWith(target, weapon, damtype, mult, force_dam) self:attr("silent_heal", -1) end + if self.__attacktargetwith_recursing or (weapon and weapon.attack_recurse) then + if self.__attacktargetwith_recursing then + self.__attacktargetwith_recursing = self.__attacktargetwith_recursing - 1 + else + self.__attacktargetwith_recursing = weapon.attack_recurse - 1 + end + + if self.__attacktargetwith_recursing > 0 then + local _, newhitted, newdam = self:attackTargetWith(target, weapon, damtype, mult, force_dam) + hitted = newhitted or hitted + dam = math.max(dam, newdam) + else + self.__attacktargetwith_recursing = nil + end + end + return self:combatSpeed(weapon), hitted, dam end