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)