From c3609474f4809f6a4a0952359f37c5cc62dbaab9 Mon Sep 17 00:00:00 2001 From: DarkGod <darkgod@net-core.org> Date: Fri, 20 Nov 2015 18:16:29 +0100 Subject: [PATCH] support attack_recurse combat property --- game/modules/tome/class/interface/Combat.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index feb914d226..b2246046db 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 -- GitLab