From 62149f4b5d57307702b761a51bdeab66fe3312a7 Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Sun, 22 Dec 2019 18:33:33 +0100
Subject: [PATCH] plop

---
 game/modules/tome/class/Actor.lua            | 1 +
 game/modules/tome/class/interface/Combat.lua | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index ae2af2258e..3c8ebdb01f 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -5852,6 +5852,7 @@ local sustainCallbackCheck = {
 	callbackOnSummonDeath = "talents_on_summon_death",
 	callbackOnDie = "talents_on_die",
 	callbackOnKill = "talents_on_kill",
+	callbackOnCombatAttack = "talents_on_combat_attack",
 	callbackOMeleeAttackBonuses = "talents_on_melee_attack_bonus",
 	callbackOnMeleeAttack = "talents_on_melee_attack",
 	callbackOnMeleeHit = "talents_on_melee_hit",
diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua
index 7efdbee361..72d2b50d0c 100644
--- a/game/modules/tome/class/interface/Combat.lua
+++ b/game/modules/tome/class/interface/Combat.lua
@@ -1344,7 +1344,11 @@ function _M:combatAttack(weapon, ammo)
 	local stats
 	if self:attr("use_psi_combat") then stats = (self:getCun(100, true) - 10) * (0.6 + self:callTalent(self.T_RESONANT_FOCUS, "bonus")/100)
 	elseif weapon and weapon.wil_attack then stats = self:getWil(100, true) - 10
-	else stats = self:getDex(100, true) - 10
+	elseif weapon and weapon.mag_attack then stats = self:getMag(100, true) - 10
+	else
+		local ret = self:fireTalentCheck("callbackOnCombatAttack", weapon, ammo)
+		if ret then stats = ret
+		else stats = self:getDex(100, true) - 10 end
 	end
 	local d = self:combatAttackBase(weapon, ammo) + stats
 	if self:attr("dazed") then d = d / 2 end
-- 
GitLab