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