diff --git a/game/engines/default/engine/interface/ActorTemporaryEffects.lua b/game/engines/default/engine/interface/ActorTemporaryEffects.lua
index 933896986968d889b5180641c9c46b9195f527bf..7c3d492ee73dcf7cdfe7702d27f419360ce27c27 100644
--- a/game/engines/default/engine/interface/ActorTemporaryEffects.lua
+++ b/game/engines/default/engine/interface/ActorTemporaryEffects.lua
@@ -91,10 +91,14 @@ function _M:setEffect(eff_id, dur, p, silent)
 	-- Beware, setting to 0 means removing
 	if dur <= 0 then return self:removeEffect(eff_id) end
 
+	for k, e in pairs(_M.tempeffect_def[eff_id].parameters) do
+		if not p[k] then p[k] = e end
+	end
+	p.dur = dur
+
 	-- If we already have it, we check if it knows how to "merge", or else we remove it and re-add it
 	if self:hasEffect(eff_id) then
 		if _M.tempeffect_def[eff_id].on_merge then
-			p.dur = dur
 			self.tmp[eff_id] = _M.tempeffect_def[eff_id].on_merge(self, self.tmp[eff_id], p)
 			self.changed = true
 			return
@@ -103,10 +107,6 @@ function _M:setEffect(eff_id, dur, p, silent)
 		end
 	end
 
-	for k, e in pairs(_M.tempeffect_def[eff_id].parameters) do
-		if not p[k] then p[k] = e end
-	end
-	p.dur = dur
 	self.tmp[eff_id] = p
 	if _M.tempeffect_def[eff_id].on_gain then
 		local ret, fly = _M.tempeffect_def[eff_id].on_gain(self, p)
diff --git a/game/modules/tome/data/general/npcs/jelly.lua b/game/modules/tome/data/general/npcs/jelly.lua
index a0cf36f9afa7ac89c60899e756ba181dc5830bf8..9344b10b8e526297b9a7f60f4d4ba276e16a152b 100644
--- a/game/modules/tome/data/general/npcs/jelly.lua
+++ b/game/modules/tome/data/general/npcs/jelly.lua
@@ -44,7 +44,7 @@ newEntity{
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "green jelly", color=colors.GREEN,
+	name = "green jelly", color=colors.GREEN, image="npc/jelly-green.png",
 	desc = "A strange green blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
@@ -53,7 +53,7 @@ newEntity{ base = "BASE_NPC_JELLY",
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "red jelly", color=colors.RED,
+	name = "red jelly", color=colors.RED, image="npc/jelly-red.png",
 	desc = "A strange red blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
@@ -62,7 +62,7 @@ newEntity{ base = "BASE_NPC_JELLY",
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "blue jelly", color=colors.BLUE,
+	name = "blue jelly", color=colors.BLUE, image="npc/jelly-blue.png",
 	desc = "A strange blue blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
@@ -71,7 +71,7 @@ newEntity{ base = "BASE_NPC_JELLY",
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "white jelly", color=colors.WHITE,
+	name = "white jelly", color=colors.WHITE, image="npc/jelly-white.png",
 	desc = "A strange white blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
@@ -80,7 +80,7 @@ newEntity{ base = "BASE_NPC_JELLY",
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "yellow jelly", color=colors.YELLOW,
+	name = "yellow jelly", color=colors.YELLOW, image="npc/jelly-yellow.png",
 	desc = "A strange yellow blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
@@ -89,7 +89,7 @@ newEntity{ base = "BASE_NPC_JELLY",
 }
 
 newEntity{ base = "BASE_NPC_JELLY",
-	name = "black jelly", color=colors.DARK_GREY,
+	name = "black jelly", color=colors.DARK_GREY, image="npc/jelly-darkgrey.png",
 	desc = "A strange black blob on the dungeon floor.",
 	level_range = {1, 25}, exp_worth = 1,
 	rarity = 1,
diff --git a/game/modules/tome/data/gfx/npc/jelly-blue.png b/game/modules/tome/data/gfx/npc/jelly-blue.png
new file mode 100644
index 0000000000000000000000000000000000000000..640a09e0b027169a690808a0bae7f62a161d450e
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-blue.png differ
diff --git a/game/modules/tome/data/gfx/npc/jelly-darkgrey.png b/game/modules/tome/data/gfx/npc/jelly-darkgrey.png
new file mode 100644
index 0000000000000000000000000000000000000000..01265e35901916ac539994f7796889988e8ca951
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-darkgrey.png differ
diff --git a/game/modules/tome/data/gfx/npc/jelly-green.png b/game/modules/tome/data/gfx/npc/jelly-green.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9cf6295b6f02f334b2f4e3ba0b387c454de552c
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-green.png differ
diff --git a/game/modules/tome/data/gfx/npc/jelly-red.png b/game/modules/tome/data/gfx/npc/jelly-red.png
new file mode 100644
index 0000000000000000000000000000000000000000..62c4357366e6c33a4a02717544470b953a131101
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-red.png differ
diff --git a/game/modules/tome/data/gfx/npc/jelly-white.png b/game/modules/tome/data/gfx/npc/jelly-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd21c9358dadb5da54e814567774e1b1dbcafee9
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-white.png differ
diff --git a/game/modules/tome/data/gfx/npc/jelly-yellow.png b/game/modules/tome/data/gfx/npc/jelly-yellow.png
new file mode 100644
index 0000000000000000000000000000000000000000..be9bf0c36b2d41ee5487263eb61fb89f231b7d5d
Binary files /dev/null and b/game/modules/tome/data/gfx/npc/jelly-yellow.png differ
diff --git a/premake4.lua b/premake4.lua
index 38a5b11d55f33a9c3b6a9d95b8c2f03c2272c698..b9a5825657fb8305dbca92af002026cd42dda4c8 100644
--- a/premake4.lua
+++ b/premake4.lua
@@ -7,6 +7,11 @@ newoption {
 		{ "jitx86",	"LuaJIT x86" }
 	}
 }
+newoption {
+	trigger     = "force32bits",
+	value       = "VM_Type",
+	description = "Forces compilation in 32bits mode, allowing to use the lua jit",
+}
 
 _OPTIONS.lua = _OPTIONS.lua or "default"
 
@@ -14,6 +19,7 @@ solution "TEngine"
 	configurations { "Debug", "Release" }
 	objdir "obj"
 	defines {"GLEW_STATIC"}
+	if _OPTIONS.force32bits then buildoptions{"-m32"} linkoptions{"-m32"} libdirs{"/usr/lib32"} end
 
 	includedirs {
 		"src",