diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua index 0c274503d0a32bc8bf14e0a1e8c00ade9ad849ba..6284ed34137b5d1a38be571472d9a9cecb27cd9b 100644 --- a/game/modules/tome/class/interface/Combat.lua +++ b/game/modules/tome/class/interface/Combat.lua @@ -571,7 +571,7 @@ function _M:attackTargetWith(target, weapon, damtype, mult, force_dam) dam = dam * mult print("[ATTACK] after mult", dam) - if target:hasEffect(target.EFF_COUNTERSTRIKE) then + if target:hasEffect(target.EFF_COUNTERSTRIKE) and not self:attr("ignore_counterstrike") then dam = target:callEffect(target.EFF_COUNTERSTRIKE, "onStrike", dam, self) print("[ATTACK] after counterstrike", dam) end @@ -1131,7 +1131,9 @@ function _M:attackTargetHitProcs(target, weapon, dam, apr, armor, damtype, mult, local t = target:getTalentFromId(target.T_SHARDS) target.turn_procs.shield_shards = true self.logCombat(target, self, "#Source# counter attacks #Target# with %s shield shards!", string.his_her(target)) + target:attr("ignore_counterstrike", 1) target:attackTarget(self, DamageType.NATURE, self:combatTalentWeaponDamage(t, 0.4, 1), true) + target:attr("ignore_counterstrike", -1) end -- post melee attack hooks/callbacks, not included: apr, armor, atk, def, evaded, repelled, old_target_life local hd = {"Combat:attackTargetWith", hitted=hitted, crit=crit, target=target, weapon=weapon, damtype=damtype, mult=mult, dam=dam} diff --git a/game/modules/tome/data/talents/gifts/earthen-power.lua b/game/modules/tome/data/talents/gifts/earthen-power.lua index 408f931459399abafbdd7b03dfdada031abcd40c..19200be1aa9c7c46dbe1615c6c71bdff2871faa2 100644 --- a/game/modules/tome/data/talents/gifts/earthen-power.lua +++ b/game/modules/tome/data/talents/gifts/earthen-power.lua @@ -88,7 +88,7 @@ newTalent{ info = function(self, t) return ([[Sharp shards of stone grow from your shields. When you are hit in melee, you will get a free attack against the attacker with the shards doing %d%% shield damage (as Nature). - This effect can only happen once per turn.]]): + This effect can only happen once per turn and is not affected by counterstrike.]]): tformat(self:combatTalentWeaponDamage(t, 0.4, 1) * 100) end, } diff --git a/game/modules/tome/data/talents/gifts/earthen-vines.lua b/game/modules/tome/data/talents/gifts/earthen-vines.lua index 9564886acd2fca79b79f4bfd027eef9463076e10..c3bda55461637c45e9f926bae0c5ca49af29b376 100644 --- a/game/modules/tome/data/talents/gifts/earthen-vines.lua +++ b/game/modules/tome/data/talents/gifts/earthen-vines.lua @@ -28,7 +28,7 @@ newTalent{ no_energy = true, tactical = { ATTACK = { PHYSICAL = 2 }, BUFF = 2, DISABLE = { pin = 2 } }, radius = function(self, t) return math.floor(self:combatTalentScale(t, 4.5, 6.5)) end, - getValues = function(self, t) return math.floor(self:combatTalentScale(t, 5, 9)), self:combatTalentStatDamage(t, "wil", 3, 50), self:knowTalent(self.T_ELDRITCH_VINES) and self:callTalent(self.T_ELDRITCH_VINES, "getDamage") or nil end, + getValues = function(self, t) return math.floor(self:combatTalentScale(t, 5, 9)), self:combatTalentStatDamage(t, "wil", 6, 80), self:knowTalent(self.T_ELDRITCH_VINES) and self:callTalent(self.T_ELDRITCH_VINES, "getDamage") or nil end, callbackOnActBase = function(self, t) local p = self:isTalentActive(t.id) local rad = self:getTalentRadius(t) @@ -82,7 +82,7 @@ newTalent{ points = 5, mode = "passive", -- called by "STONE_VINE" effect - getDamage = function(self, t) return self:combatTalentStatDamage(t, "wil", 3, 50) end, + getDamage = function(self, t) return self:combatTalentStatDamage(t, "wil", 6, 80) end, getEquilibrium = function(self, t) return self:combatTalentScale(t, 0.3, 1.25, "log", 0, 3) end, getMana = function(self, t) return self:combatTalentScale(t, 0.4, 1.67) end, info = function(self, t)