diff --git a/game/modules/tome/class/interface/Combat.lua b/game/modules/tome/class/interface/Combat.lua
index 430157d8fd35e25cd6839055fe123893544fb44d..da444cc1658a397301665b35dd1d7e6377a7c177 100644
--- a/game/modules/tome/class/interface/Combat.lua
+++ b/game/modules/tome/class/interface/Combat.lua
@@ -1188,7 +1188,6 @@ function _M:spellCrit(dam, add_chance, crit_power_add)
 		game.logSeen(self, "#{bold}#%s's spell attains critical power!#{normal}#", self.name:capitalize())
 
 		if self:attr("mana_on_crit") then self:incMana(self:attr("mana_on_crit")) end
-
 		if self:attr("vim_on_crit") then self:incVim(self:attr("vim_on_crit")) end
 
 		if self:attr("spellsurge_on_crit") then
@@ -1228,8 +1227,8 @@ function _M:mindCrit(dam, add_chance, crit_power_add)
 		game.logSeen(self, "#{bold}#%s's mind surges with critical power!#{normal}#", self.name:capitalize())
 
 		if self:attr("hate_on_crit") then self:incHate(self:attr("hate_on_crit")) end
-		if self:attr("psi_on_crit") then self:incMana(self:attr("psi_on_crit")) end
-		if self:attr("equilibrium_on_crit") then self:incVim(self:attr("equilibrium_on_crit")) end
+		if self:attr("psi_on_crit") then self:incPsi(self:attr("psi_on_crit")) end
+		if self:attr("equilibrium_on_crit") then self:incEquilibrium(self:attr("equilibrium_on_crit")) end
 
 	end
 	return dam, crit
diff --git a/game/modules/tome/data/talents/psionic/augmented-mobility.lua b/game/modules/tome/data/talents/psionic/augmented-mobility.lua
index e09979c68e4ef016706788279a8a3ec657d07b18..f4bf41b8bd198401756d999a1078712b1bed09b4 100644
--- a/game/modules/tome/data/talents/psionic/augmented-mobility.lua
+++ b/game/modules/tome/data/talents/psionic/augmented-mobility.lua
@@ -159,8 +159,8 @@ newTalent{
 				if not self:hasEffect(self.EFF_KINSPIKE_SHIELD) and self:isTalentActive(self.T_KINETIC_SHIELD) then
 					self:forceUseTalent(self.T_KINETIC_SHIELD, {ignore_energy=true})
 				end
-				local dam = self:spellCrit(self:combatTalentMindDamage(t, 20, 600))
-				self:project(tg, x, y, DamageType.MINDKNOCKBACK, self:spellCrit(rng.avg(2*dam/3, dam, 3)))
+				local dam = self:mindCrit(self:combatTalentMindDamage(t, 20, 600))
+				self:project(tg, x, y, DamageType.MINDKNOCKBACK, self:mindCrit(rng.avg(2*dam/3, dam, 3)))
 				--local _ _, x, y = self:canProject(tg, x, y)
 				game.level.map:particleEmitter(self.x, self.y, tg.radius, "flamebeam", {tx=x-self.x, ty=y-self.y})
 				game:playSoundNear(self, "talents/lightning")
@@ -183,12 +183,12 @@ newTalent{
 			if not self:hasEffect(self.EFF_KINSPIKE_SHIELD) and self:isTalentActive(self.T_KINETIC_SHIELD) then
 				self:forceUseTalent(self.T_KINETIC_SHIELD, {ignore_energy=true})
 			end
-			local dam = self:spellCrit(self:combatTalentMindDamage(t, 20, 600))
+			local dam = self:mindCrit(self:combatTalentMindDamage(t, 20, 600))
 
 			for i = 1, self:getTalentRange(t) do
 				self:project(tg, x, y, DamageType.DIG, 1)
 			end
-			self:project(tg, x, y, DamageType.MINDKNOCKBACK, self:spellCrit(rng.avg(2*dam/3, dam, 3)))
+			self:project(tg, x, y, DamageType.MINDKNOCKBACK, self:mindCrit(rng.avg(2*dam/3, dam, 3)))
 			local _ _, x, y = self:canProject(tg, x, y)
 			game.level.map:particleEmitter(self.x, self.y, tg.radius, "flamebeam", {tx=x-self.x, ty=y-self.y})
 			game:playSoundNear(self, "talents/lightning")
diff --git a/game/modules/tome/data/talents/psionic/focus.lua b/game/modules/tome/data/talents/psionic/focus.lua
index cbce8cc066729182e6c4c4fc24891ec3c656e6a2..6c46e6d8eadc5640daa28f63b60fb5f90c7647b0 100644
--- a/game/modules/tome/data/talents/psionic/focus.lua
+++ b/game/modules/tome/data/talents/psionic/focus.lua
@@ -72,7 +72,7 @@ newTalent{
 		local tg = self:getTalentTarget(t)
 		local x, y = self:getTarget(tg)
 		if not x or not y then return nil end
-		self:project(tg, x, y, DamageType.PHYSICAL, self:spellCrit(rng.avg(0.8*dam, dam)), {type="flame"})
+		self:project(tg, x, y, DamageType.PHYSICAL, self:mindCrit(rng.avg(0.8*dam, dam)), {type="flame"})
 		if gem_level > 0 and not tg.dead and self:knowTalent(self.T_CONDUIT) and self:isTalentActive(self.T_CONDUIT) then
 			local c =  self:getTalentFromId(self.T_CONDUIT)
 			--c.do_combat(self, c, tg)
diff --git a/game/modules/tome/data/talents/psionic/voracity.lua b/game/modules/tome/data/talents/psionic/voracity.lua
index cea080f63cd0e2e39e39ef1aca503cec72e5d452..90c2f1ef5d8baa61146241e4038acb30f314127c 100644
--- a/game/modules/tome/data/talents/psionic/voracity.lua
+++ b/game/modules/tome/data/talents/psionic/voracity.lua
@@ -140,7 +140,7 @@ newTalent{
 		return self:combatStatTalentIntervalDamage(t, "combatMindpower", 6, 30)
 	end,
 	getDam = function(self, t)
-		return self:spellCrit(self:combatTalentMindDamage(t, 28, 270))
+		return self:mindCrit(self:combatTalentMindDamage(t, 28, 270))
 	end,
 	action = function(self, t)
 		local en = t.getLeech(self, t)