diff --git a/game/modules/tome/data/talents/celestial/glyphs.lua b/game/modules/tome/data/talents/celestial/glyphs.lua
index 31a49ba43f2d863f1beb046d0a5b45487e85e659..2d834184905897a461300d793fbcb4df8d94ba1e 100644
--- a/game/modules/tome/data/talents/celestial/glyphs.lua
+++ b/game/modules/tome/data/talents/celestial/glyphs.lua
@@ -99,7 +99,7 @@ para_glyph = Trap.new{
 		return false
 	end,
 	triggered = function(self, x, y, who)
-		if dam > 0 then
+		if self.dam then
 			self:project({type="hit", x=x,y=y}, x, y, engine.DamageType.LIGHT, self.dam, {type="light"})
 		end
 		if who:canBe("blind") then
@@ -152,10 +152,10 @@ fatigue_glyph = Trap.new{
 		return false
 	end,
 	triggered = function(self, x, y, who)
-		if dam > 0 then
+		if self.dam then
 			self:project({type="hit", x=x,y=y}, x, y, engine.DamageType.DARKNESS, self.dam, {type="light"})
 		end
-		who:setEffect(who.EFF_STARLIGHT_FATIGUE, self.fatigueDur, {dam=fatigueDam, src=self})
+		who:setEffect(who.EFF_STARLIGHT_FATIGUE, self.fatigueDur, {dam=self.fatigueDam, src=self})
 		game.level.map:particleEmitter(x, y, 0, "shadow_flash", {radius=0, x=x, y=y})
 --divine glyphs buff
 		if self.summoner:knowTalent(self.summoner.T_DIVINE_GLYPHS) then
@@ -195,7 +195,6 @@ explosion_glyph = Trap.new{
 	faction = self.faction,
 	dam = dam,
 	dist=dist,
---	agdam = agdam,
 	desc = function(self)
 		return ([[Explodes, knocking back and dealing %d light and %d darkness damage.]]):format(engine.interface.ActorTalents.damDesc(self, engine.DamageType.LIGHT, self.dam/2), engine.interface.ActorTalents.damDesc(self, engine.DamageType.DARKNESS, self.dam/2))
 	end,
@@ -204,15 +203,15 @@ explosion_glyph = Trap.new{
 		return false
 	end,
 	triggered = function(self, x, y, who)
-		if dam > 0 then
-			self:project({type="hit", x=x,y=y}, x, y, engine.DamageType.LIGHT, self.dam/2, {type="light"})
+		if self.dam then
 			self:project({type="hit", x=x,y=y}, x, y, engine.DamageType.LIGHT, self.dam/2, {type="light"})
+			self:project({type="hit", x=x,y=y}, x, y, engine.DamageType.DARKNESS, self.dam/2, {type="light"})
 		end
 		if who.canBe("knockback") then
 			local ox, oy = self.x, self.y
 			local dir = util.getDir(who.x, who.y, who.old_x, who.old_y)
 			self.x, self.y = util.coordAddDir(self.x, self.y, dir)
-			who:knockback(self.x, self.y, dist)
+			who:knockback(self.x, self.y, self.dist)
 			self.x, self.y = ox, oy
 		end
 --divine glyphs buff
@@ -330,7 +329,7 @@ newTalent{
 	getTriggerDam = function(self, t) return self:combatTalentSpellDamage(t, 20, 200) end,
 	info = function(self, t)
 		local dam = t.getTriggerDam(self, t)
-		return ([[Your glyphs are imbued with celestial fury; they last %d turns longer and when they trigger they will unleash this fury, dealing damage.
+		return ([[Your glyphs are imbued with celestial fury; they last %d turns longer and when triggered they will deal damage.
 		Glyph of Sunlight: Deals %d light damage.
 		Glyph of Starlight: Deals %d darkness damage.
 		Glyph of Twilight: Deals %d light and %d darkness damage.]]):format(t.getPersistentDuration(self, t), damDesc(self, DamageType.LIGHT, dam), damDesc(self, DamageType.DARKNESS, dam), damDesc(self, DamageType.LIGHT, dam/2), damDesc(self, DamageType.DARKNESS, dam/2))
diff --git a/game/modules/tome/data/timed_effects/magical.lua b/game/modules/tome/data/timed_effects/magical.lua
index 26aa84af95d0b464f3023b5f682b01cfcc2ab131..707d6825633570bda14c7785d154615bd215799e 100644
--- a/game/modules/tome/data/timed_effects/magical.lua
+++ b/game/modules/tome/data/timed_effects/magical.lua
@@ -1402,7 +1402,7 @@ newEffect{
 		self:effectTemporaryValue(eff, "damage_affinity", {[DamageType.LIGHT]=power, [DamageType.DARKNESS]=power})
 		self:effectTemporaryValue(eff, "resists", {[DamageType.LIGHT]=power, [DamageType.DARKNESS]=power})
 	end,
-	on_merge = function(self, eff)
+	on_merge = function(self, old_eff, new_eff)
 		old_eff.glyphstacks = old_eff.glyphstacks + 1
 		old_eff.dur = new_eff.dur
 		return old_eff
@@ -1413,20 +1413,12 @@ newEffect{
 	name = "STARLIGHT_FATIGUE", image = "talents/glyph_of_fatigue.png",
 	desc = "Fatiguing Starlight",
 	long_desc = function(self, eff)
-		return ("Inflicted with a fatiguing starlight, taking %d darkness damage and increasing the cooldown of a cooling-down talent by 1 whenever they act"):format(eff.src:damDesc("DARKNESS", eff.dam))
+		return ("Inflicted with a fatiguing starlight, taking %d darkness damage and increasing the cooldown of a cooling-down talent by 1 whenever they act"):format(eff.src.summoner:damDesc(DamageType.DARKNESS, eff.dam))
 	end,
 	type = "magical",
 	subtype = {darkness = true},
 	status = "detrimental",
 	paramters = {},
-	activate = function(self, t)
-		if core.shader.active() then
-			eff.particles = self:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=0.1, a=0.6, radius=0.8, img="darkest_light"}))
-		end
-	end,
-	deactivate = function(self, t)
-		if eff.particles then self:removeParticles(eff.particles) end
-	end,
 	callbackOnActEnd = function(self, t)
 		DamageType:get(DamageType.DARKNESS).projector(eff.src, self.x, self.y, DamageType.DARKNESS, eff.dam)
 		local tids = {}
@@ -1459,7 +1451,7 @@ newEffect{
 	name = "DARKLIGHT", image = "talents/darkest_light.png",
 	desc = "Shrouded in Darklight",
 	long_desc = function(self, eff)
-		return ("%d%% of the targets damage is being split between light and darkness and they are taking %d light and %d darkness damage each turn."):format(eff.conversion * 100, eff.src:damDesc("LIGHT", eff.dotDam), eff.src:damDesc("DARKNESS", eff.dotDam))
+		return ("%d%% of the targets damage is being split between light and darkness and they are taking %d light and %d darkness damage each turn."):format(eff.conversion * 100, eff.src:damDesc(DamageType.LIGHT, eff.dotDam), eff.src:damDesc(DamageType.DARKNESS, eff.dotDam))
 	end,
 	type = "magical",
 	subtype = {light=true, darkness=true},