diff --git a/game/modules/tome/data/talents/gifts/summon-augmentation.lua b/game/modules/tome/data/talents/gifts/summon-augmentation.lua
index b2cd1ada7267d103b84ff2f2465a688e16717d6a..2171c171476f071bc678fd39f40a51c7ca660552 100644
--- a/game/modules/tome/data/talents/gifts/summon-augmentation.lua
+++ b/game/modules/tome/data/talents/gifts/summon-augmentation.lua
@@ -67,14 +67,14 @@ newTalent{
 		end
 	end,
 --]]
-	explodeDamage = function(self,t) return self:combatTalentMindDamage(t, 30, 250) end,
-	explodeBleed = function(self,t) return self:combatTalentMindDamage(t, 30, 350) end,
-	explodeBurn = function(self,t) return self:combatTalentMindDamage(t, 30, 300) end,
-	explodeFire = function(self,t) return self:combatTalentMindDamage(t, 10, 70) end,
-	knockbackDamage = function(self,t) return self:combatTalentMindDamage(t, 30, 150) end,
-	knockbackDist = function(self,t) return 4 end,
+	explodeDamage = function(self,t) return self:combatTalentMindDamage(t, 100, 400) end,
+	explodeSecondary = function(self,t) return self:combatTalentMindDamage(t, 30, 300) end,
+	explodeBleed = function(self,t) return self:combatTalentMindDamage(t, 50, 500) end,
+	explodeFire = function(self,t) return self:combatTalentMindDamage(t, 30, 120) end,
+	jellySlow = function(self,t) return self:combatTalentLimit(t,0.60,0.15,0.35) end,
+	minotaurConfuse = function(self,t) return self:combatTalentLimit(t, 50, 15, 35) end,
 	shellShielding = function(self,t) return self:combatTalentMindDamage(t, 10, 35) end,
-	explodePin = function(self,t) return 3 end,
+	spiderKnockback = function(self,t) return 1+math.floor(self:getTalentLevel(t)) end,
 	action = function(self, t)
 		local tg = {type="hit", range=self:getTalentRange(t), talent=t, first_target="friend"}
 		local tx, ty, target = self:getTarget(tg)
@@ -105,19 +105,19 @@ newTalent{
 	info = function(self, t)
 		local radius = self:getTalentRadius(t)
 		return ([[Destroys one of your summons, making it detonate in radius of %d.
-		- Ritch Flamespitter: Explodes into a fireball dealing %d damage
+		- Ritch Flamespitter: Explodes into a fireball dealing %d damage, flameshocking damaged foes
 		- Hydra: Explodes into a ball of %d lightning, acid or poison damage, chosen at random
 		- Rimebark: Explodes into an iceball dealing %d ice damage, possibly freezing damaged foes
 		- Fire Drake: Explodes into a cloud of lingering fire, dealing %d damage per turn
-		- War Hound: Explodes into a ball dealing %d physical damage
-		- Jelly: Explodes into a ball of slowing slime, dealing %d nature damage and slowing foes by 15%%
-		- Minotaur: Explodes into a sharp ball, cutting all creatures for %0.1f bleeding damage per turn for 6 turns
-		- Stone Golem: Knocks back all creatures %d tiles and deals %d physical damage
+		- War Hound: Explodes into a sharp ball, cutting all creatures for %0.1f bleeding damage per turn for 6 turns
+		- Jelly: Explodes into a ball of slowing slime, dealing %d nature damage and slowing foes by %0.1f%%
+		- Minotaur: Confuses foes at %d%% power for 5 turns
+		- Stone Golem: Explodes into a ball dealing %d physical damage
 		- Turtle: Grants a small shell shield to all friendly creatures, granting %d%% all resist
-		- Spider: Pins all foes around for %d turns
+		- Spider: Knocks back all foes %d tiles
 		In addition, a random summon will come off cooldown.
 		Hostile effects will not hit you or your other summons.
-		The effects improve with your mindpower, and can crit.]]):format(radius, t.explodeBurn(self,t), t.explodeDamage(self,t), t.explodeBurn(self,t), t.explodeFire(self,t), t.explodeDamage(self, t), t.explodeDamage(self,t), t.explodeBleed(self,t) / 6, t.knockbackDist(self,t), t.knockbackDamage(self,t), t.shellShielding(self,t), t.explodePin(self,t))
+		The effects improve with your mindpower, and can crit.]]):format(radius, t.explodeSecondary(self,t), t.explodeDamage(self,t), t.explodeSecondary(self,t), t.explodeFire(self,t), t.explodeBleed(self,t) / 6, t.explodeSecondary(self,t), t.jellySlow(self,t) * 100, t.minotaurConfuse(self,t), t.explodeDamage(self,t), t.shellShielding(self,t), t.spiderKnockback(self,t))
 	end,
 }
 
diff --git a/game/modules/tome/data/talents/gifts/summon-distance.lua b/game/modules/tome/data/talents/gifts/summon-distance.lua
index b039e29158eda6d0daaa119d63a8acfe8469bcd2..0a769e1833396bd45178dc89ece08d3bed6a4a4f 100644
--- a/game/modules/tome/data/talents/gifts/summon-distance.lua
+++ b/game/modules/tome/data/talents/gifts/summon-distance.lua
@@ -404,8 +404,8 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeBurn = self:callTalent(self.T_DETONATE,"explodeBurn")
-		self:project(tg, m.x, m.y, DamageType.FIREBURN, self:mindCrit(explodeBurn))
+		local explodeDamage = self:callTalent(self.T_DETONATE,"explodeSecondary")
+		self:project(tg, m.x, m.y, DamageType.FLAMESHOCK, self:mindCrit(explodeDamage))
 		game.level.map:particleEmitter(m.x, m.y, tg.radius, "ball_fire", {radius=tg.radius})
 	end,
 	on_arrival = function(self, t, m)
@@ -519,7 +519,7 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeDamage = self:callTalent(self.T_RESILIENCE,"explodeDamage")
+		local explodeDamage = self:callTalent(self.T_DETONATE,"explodeDamage")
 		self:project(tg, m.x, m.y, rng.table{DamageType.LIGHTNING,DamageType.ACID,DamageType.POISON}, self:mindCrit(explodeDamage), {type="flame"})
 	end,
 	on_arrival = function(self, t, m)
@@ -641,7 +641,7 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeDamage = self:callTalent(self.T_RESILIENCE,"explodeBurn")
+		local explodeDamage = self:callTalent(self.T_DETONATE,"explodeSecondary")
 		self:project(tg, m.x, m.y, DamageType.ICE, self:mindCrit(explodeDamage), {type="freeze"})
 	end,
 	on_arrival = function(self, t, m)
diff --git a/game/modules/tome/data/talents/gifts/summon-melee.lua b/game/modules/tome/data/talents/gifts/summon-melee.lua
index 8257c10387e3b81d2efd2a1a7cb12941387e0126..7ceb3dc9ee4fad5f0ef45965a58cb87e88338a86 100644
--- a/game/modules/tome/data/talents/gifts/summon-melee.lua
+++ b/game/modules/tome/data/talents/gifts/summon-melee.lua
@@ -97,8 +97,8 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeDamage = self:callTalent(self.T_DETONATE,"explodeDamage")
-		self:project(tg, m.x, m.y, DamageType.PHYSICAL, self:mindCrit(explodeDamage), {type="flame"})
+		local explodeBleed = self:callTalent(self.T_DETONATE, "explodeBleed")
+		self:project(tg, m.x, m.y, DamageType.BLEED, self:mindCrit(explodeBleed), {type="flame"})
 	end,
 	on_arrival = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
@@ -205,8 +205,9 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeDamage = self:callTalent(self.T_DETONATE, "explodeDamage")
-		self:project(tg, m.x, m.y, DamageType.SLIME, self:mindCrit(explodeDamage), {type="flame"})
+		local explodeDamage = self:callTalent(self.T_DETONATE, "explodeSecondary")
+		local jellySlow = self:callTalent(self.T_DETONATE, "jellySlow")
+		self:project(tg, m.x, m.y, DamageType.SLIME, {dam=self:mindCrit(explodeDamage), power=jellySlow}, {type="flame"})
 	end,
 	on_arrival = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
@@ -324,8 +325,8 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local explodeBleed = self:callTalent(self.T_DETONATE, "explodeBleed")
-		self:project(tg, m.x, m.y, DamageType.BLEED, self:mindCrit(explodeBleed), {type="flame"})
+		local confusePower = self:callTalent(self.T_DETONATE,"minotaurConfuse")
+		self:project(tg, m.x, m.y, DamageType.TEMP_EFFECT, {foes=true, eff=self.EFF_CONFUSED, check_immune="confusion", dur=5, p={minotaurConfuse}}, {type="flame"})
 	end,
 	on_arrival = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
@@ -437,9 +438,8 @@ newTalent{
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		local distance = self:callTalent(self.T_DETONATE, "knockbackDist")
-		local knockbackDamage = self:callTalent(self.T_DETONATE, "knockbackDamage")
-		self:project(tg, m.x, m.y, DamageType.PHYSKNOCKBACK, {dam=self:mindCrit(knockbackDamage), dist=dist}, {type="flame"})
+		local explodeDamage = self:callTalent(self.T_DETONATE,"explodeDamage")
+		self:project(tg, m.x, m.y, DamageType.PHYSICAL, self:mindCrit(explodeDamage), {type="flame"})
 	end,
 	on_arrival = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
diff --git a/game/modules/tome/data/talents/gifts/summon-utility.lua b/game/modules/tome/data/talents/gifts/summon-utility.lua
index 464e9445184d86d431635b885bdf7a03d07af4c6..3a6024b8c82d39f237ee4f7e340f4a4bc1e7ecab 100644
--- a/game/modules/tome/data/talents/gifts/summon-utility.lua
+++ b/game/modules/tome/data/talents/gifts/summon-utility.lua
@@ -235,15 +235,9 @@ newTalent{
 	end,
 	on_pre_use_ai = aiSummonPreUse,
 	on_detonate = function(self, t, m)
-		local explodePin = self:callTalent(self.T_DETONATE,"explodePin")
-		local tg = {type="ball", range=self:getTalentRange(t), friendlyfire=false, radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}
-		self:project(tg, m.x, m.y, function(px, py)
-			local target = game.level.map(px, py, Map.ACTOR)
-			if not target or self:reactionToward(target) >= 0 then return end
-			if target:canBe("pin") then
-				target:setEffect(target.EFF_PINNED, explodePin, {apply_power=self:mindCrit(self:combatMindpower())})
-			end
-		end, nil, {type="flame"})
+		local knockbackDist = self:callTalent(self.T_DETONATE,"spiderKnockback")
+		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), friendlyfire=false, talent=t, x=m.x, y=m.y}
+		self:project(tg, m.x, m.y, DamageType.FEARKNOCKBACK, {dist=knockbackDist, x=m.x, y=m.y}, {type="acid"})
 	end,
 	on_arrival = function(self, t, m)
 		local tg = {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t, x=m.x, y=m.y}