diff --git a/game/engines/default/engine/Map.lua b/game/engines/default/engine/Map.lua
index d2388c16d0bece090d311e11d69490e9bb10578c..44d0325cc35c94536503e840d733a1952fb931d9 100644
--- a/game/engines/default/engine/Map.lua
+++ b/game/engines/default/engine/Map.lua
@@ -966,12 +966,12 @@ function _M:addEffect(src, x, y, duration, damtype, dam, radius, dir, angle, ove
 
 	local e = {
 		src=src, x=x, y=y, duration=duration, damtype=damtype, dam=dam, radius=radius, dir=dir, angle=angle,
-		overlay=overlay.__CLASSNAME and overlay,
+		overlay=overlay and overlay.__CLASSNAME and overlay,
 		grids = grids,
 		update_fct=update_fct, selffire=selffire, friendlyfire=friendlyfire,
 	}
 
-	if not overlay.__CLASSNAME then
+	if overlay and not overlay.__CLASSNAME then
 		e.particles = {}
 		if overlay.only_one then
 			e.particles[#e.particles+1] = self:particleEmitter(x, y, 1, overlay.type, overlay.args)
diff --git a/game/modules/tome/data/gfx/particles/mucus.lua b/game/modules/tome/data/gfx/particles/mucus.lua
index f85b777f4a6c10e414573fb3327c71ae4c7455ca..d682ca79f7212a93ba5835a583f66a868b5d2bbc 100644
--- a/game/modules/tome/data/gfx/particles/mucus.lua
+++ b/game/modules/tome/data/gfx/particles/mucus.lua
@@ -17,30 +17,36 @@
 -- Nicolas Casalini "DarkGod"
 -- darkgod@te4.org
 
-base_size = 32
+base_size = 64
+
+local nb = 0
 
 return { generator = function()
 	local ad = rng.range(0, 360)
 	local a = math.rad(ad)
 	local dir = math.rad(ad)
-	local r = rng.range(0, 16)
+	local r = rng.range(0, 32)
 
 	return {
-		life = 10,
-		size = 3, sizev = 0.5, sizea = -0.1,
+		life = 100,
+		size = rng.range(24, 48), sizev = -0.05, sizea = 0,
 
 		x = r * math.cos(a), xv = 0, xa = 0,
 		y = r * math.sin(a), yv = 0, ya = 0,
 		dir = 0, dirv = 0, dira = 0,
 		vel = 0, velv = 0, vela = 0,
 
-		r = 0,   rv = 0, ra = 0,
-		g = rng.range(170, 210)/255,   gv = 0, ga = 0,
-		b = rng.range(20, 50)/255,   gv = 0, ga = 0,
-		a = rng.range(230, 225)/255,   av = 0, aa = 0,
+		r = 1,   rv = 0, ra = 0,
+		g = 1,   gv = 0, ga = 0,
+		b = 1,   gv = 0, ga = 0,
+		a = rng.float(0.01, 0.05),   av = 0.0152, aa = -0.0005,
 	}
 end, },
 function(self)
-	self.ps:emit(2)
+	if nb == 0 then self.ps:emit(1) end
+	nb = nb + 1
+	if nb >= 10 then
+		nb = 0
+	end
 end,
-20
+10, "particles_images/slime"..rng.range(1, 5)
\ No newline at end of file
diff --git a/game/modules/tome/data/gfx/particles_images/slime1.png b/game/modules/tome/data/gfx/particles_images/slime1.png
new file mode 100644
index 0000000000000000000000000000000000000000..eda2d92f647e523f0827d479b36703816fdcf734
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/slime1.png differ
diff --git a/game/modules/tome/data/gfx/particles_images/slime2.png b/game/modules/tome/data/gfx/particles_images/slime2.png
new file mode 100644
index 0000000000000000000000000000000000000000..4918e585fd4bb10b9a114cbfcd97584cea116f78
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/slime2.png differ
diff --git a/game/modules/tome/data/gfx/particles_images/slime3.png b/game/modules/tome/data/gfx/particles_images/slime3.png
new file mode 100644
index 0000000000000000000000000000000000000000..3193c0bec027f2598998f6886915da203c765a0c
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/slime3.png differ
diff --git a/game/modules/tome/data/gfx/particles_images/slime4.png b/game/modules/tome/data/gfx/particles_images/slime4.png
new file mode 100644
index 0000000000000000000000000000000000000000..48b7c9d8fe35ea677e31e659cbcbe8d6fbd7bd1f
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/slime4.png differ
diff --git a/game/modules/tome/data/gfx/particles_images/slime5.png b/game/modules/tome/data/gfx/particles_images/slime5.png
new file mode 100644
index 0000000000000000000000000000000000000000..d90a2b19db48f87622d29ac6394b15c1229bcd28
Binary files /dev/null and b/game/modules/tome/data/gfx/particles_images/slime5.png differ
diff --git a/game/modules/tome/data/talents/gifts/slime.lua b/game/modules/tome/data/talents/gifts/slime.lua
index bc3c33898cd09caccd25b6696055e8610948df75..376e2e5c25affb88737151413da32d50406c7ff9 100644
--- a/game/modules/tome/data/talents/gifts/slime.lua
+++ b/game/modules/tome/data/talents/gifts/slime.lua
@@ -87,7 +87,7 @@ newTalent{
 	points = 5,
 	mode = "sustained",
 	message = "The skin of @Source@ starts dripping acid.",
-	sustain_equilibrium = 3
+	sustain_equilibrium = 3,
 	cooldown = 30,
 	range = 1,
 	requires_target = false,