diff --git a/game/engines/default/engine/LogDisplay.lua b/game/engines/default/engine/LogDisplay.lua
index 6e19b2143d9eae2a34ae3ea017b0ae78881935b1..65f27e15c5ad0281e79e5455dda833e14a90ae9a 100644
--- a/game/engines/default/engine/LogDisplay.lua
+++ b/game/engines/default/engine/LogDisplay.lua
@@ -102,7 +102,7 @@ function _M:getLines(number)
 	if from > #self.log then from = #self.log end
 	local lines = { }
 	for i = from, 1, -1 do
-		lines[#lines+1] = tostring(self.log[i][1])
+		lines[#lines+1] = tostring(self.log[i])
 	end
 	return lines
 end
diff --git a/game/modules/tome/data/birth/classes/chronomancer.lua b/game/modules/tome/data/birth/classes/chronomancer.lua
index 07805600156d13e50f0e5908364535ad907c03e6..dab0af5b04ad2cb97644fdde487fadcf721b9c92 100644
--- a/game/modules/tome/data/birth/classes/chronomancer.lua
+++ b/game/modules/tome/data/birth/classes/chronomancer.lua
@@ -76,10 +76,6 @@ newBirthDescriptor{
 			{type="weapon", subtype="staff", name="elm staff", autoreq=true},
 			{type="armor", subtype="cloth", name="linen robe", autoreq=true},
 		},
-		resolvers.inventory{ id=true,
-			{type="potion", subtype="potion", name="potion of lesser mana", ego_chance=-1000},
-			{type="potion", subtype="potion", name="potion of lesser mana", ego_chance=-1000},
-		},
 	},
 	copy_add = {
 		life_rating = -4,
diff --git a/game/modules/tome/data/birth/classes/tutorial.lua b/game/modules/tome/data/birth/classes/tutorial.lua
index c0656afdc7ffc05a8d1308b72ca013f7d3c92c89..caf8df271e1b48d874118cd8702c581429c72e48 100644
--- a/game/modules/tome/data/birth/classes/tutorial.lua
+++ b/game/modules/tome/data/birth/classes/tutorial.lua
@@ -64,7 +64,6 @@ newBirthDescriptor{
 		resolvers.equip{ id=true,
 			{type="weapon", subtype="longsword", name="iron longsword", autoreq=true},
 			{type="armor", subtype="shield", name="iron shield", autoreq=true},
---			{type="armor", subtype="heavy", name="iron mail armour", autoreq=true}
 		},
 	},
 }
diff --git a/game/modules/tome/data/birth/descriptors.lua b/game/modules/tome/data/birth/descriptors.lua
index 6339dd325b3c710714fe2860e9e91ce79a315751..1685326ff9f83de7cba0cd8c4abbc49aad485e69 100644
--- a/game/modules/tome/data/birth/descriptors.lua
+++ b/game/modules/tome/data/birth/descriptors.lua
@@ -70,8 +70,6 @@ newBirthDescriptor{
 		resolvers.equip{ id=true,
 			{type="lite", subtype="lite", name="brass lantern"},
 		},
-		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
-		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 }
 
diff --git a/game/modules/tome/data/birth/races/dwarf.lua b/game/modules/tome/data/birth/races/dwarf.lua
index 0bb9225f24df0d07ce2f221a5ab46de60d6932ab..a4e44ff7b2603c850def2e1c8ab94d92b1b1c474 100644
--- a/game/modules/tome/data/birth/races/dwarf.lua
+++ b/game/modules/tome/data/birth/races/dwarf.lua
@@ -42,6 +42,8 @@ newBirthDescriptor{
 		starting_zone = "trollshaws",
 		starting_quest = "start-allied",
 		starting_intro = "dwarf",
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	random_escort_possibilities = { {"trollshaws", 2, 5}, {"ruins-kor-pul", 1, 4}, {"daikara", 1, 7}, {"old-forest", 1, 7}, {"tol-falas", 1, 8}, {"iron-throne", 1, 1}, },
 }
diff --git a/game/modules/tome/data/birth/races/elf.lua b/game/modules/tome/data/birth/races/elf.lua
index d43dd52dc059da4e9856193df098af4e3af32137..748c79420f135ef80aac3c43bc2feb515c5b1795 100644
--- a/game/modules/tome/data/birth/races/elf.lua
+++ b/game/modules/tome/data/birth/races/elf.lua
@@ -47,6 +47,8 @@ newBirthDescriptor{
 		default_wilderness = {28, 13},
 		starting_zone = "trollshaws",
 		starting_quest = "start-allied",
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	random_escort_possibilities = { {"trollshaws", 2, 5}, {"ruins-kor-pul", 1, 4}, {"daikara", 1, 7}, {"old-forest", 1, 7}, {"tol-falas", 1, 8}, {"iron-throne", 1, 1}, },
 }
diff --git a/game/modules/tome/data/birth/races/halfling.lua b/game/modules/tome/data/birth/races/halfling.lua
index 400328859bc8e7b588cb360c209e2489c23f5fd0..db61572e1273b236435952bb07d3ad855fc8d98b 100644
--- a/game/modules/tome/data/birth/races/halfling.lua
+++ b/game/modules/tome/data/birth/races/halfling.lua
@@ -48,6 +48,8 @@ newBirthDescriptor{
 		starting_zone = "trollshaws",
 		starting_quest = "start-allied",
 		starting_intro = "halfling",
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	random_escort_possibilities = { {"trollshaws", 2, 5}, {"ruins-kor-pul", 1, 4}, {"daikara", 1, 7}, {"old-forest", 1, 7}, {"tol-falas", 1, 8}, {"iron-throne", 1, 1}, },
 }
diff --git a/game/modules/tome/data/birth/races/human.lua b/game/modules/tome/data/birth/races/human.lua
index 6a1fc353182b543a14cb9cf48105359850e4164e..4cd248b7bf28fd5c2c762c2c27db7a04586441a7 100644
--- a/game/modules/tome/data/birth/races/human.lua
+++ b/game/modules/tome/data/birth/races/human.lua
@@ -47,6 +47,8 @@ newBirthDescriptor{
 	copy = {
 		faction = "allied-kingdoms",
 		type = "humanoid", subtype="human",
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	random_escort_possibilities = { {"trollshaws", 2, 5}, {"ruins-kor-pul", 1, 4}, {"daikara", 1, 7}, {"old-forest", 1, 7}, {"tol-falas", 1, 8}, {"iron-throne", 1, 1}, },
 }
diff --git a/game/modules/tome/data/birth/races/orc.lua b/game/modules/tome/data/birth/races/orc.lua
index 9307551ed734b80d8206a9f7cb3c39b58073d045..508e0f0c86444dbf00975fbbd758687d60cfacb1 100644
--- a/game/modules/tome/data/birth/races/orc.lua
+++ b/game/modules/tome/data/birth/races/orc.lua
@@ -57,6 +57,8 @@ newBirthDescriptor{
 		starting_quest = "start-dunadan",
 		starting_intro = "orc",
 		life_rating=12,
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	experience = 1.3,
 }
diff --git a/game/modules/tome/data/birth/races/troll.lua b/game/modules/tome/data/birth/races/troll.lua
index 9862731487eeb970953919abf598c2d29d8fa441..2526aace4a4ae12e1f52315dbdfc6ff4dfafd029 100644
--- a/game/modules/tome/data/birth/races/troll.lua
+++ b/game/modules/tome/data/birth/races/troll.lua
@@ -51,6 +51,8 @@ newBirthDescriptor{
 		starting_quest = "start-dunadan",
 		starting_intro = "dwarf",
 		life_rating=10,
+		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
+		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	experience = 1.1,
 }
diff --git a/game/modules/tome/data/birth/races/undead.lua b/game/modules/tome/data/birth/races/undead.lua
index ef7f673667c48bfb4e2970fa5a9db7532699af58..110441e80736194b513240d7a59b32beb42ef827 100644
--- a/game/modules/tome/data/birth/races/undead.lua
+++ b/game/modules/tome/data/birth/races/undead.lua
@@ -43,10 +43,6 @@ newBirthDescriptor{
 		},
 	},
 	copy = {
-		resolvers.inventory{ id=true,
-			{type="potion", subtype="potion", name="potion of cure disease", ego_chance=-1000},
-			{type="potion", subtype="potion", name="potion of cure disease", ego_chance=-1000},
-		},
 		-- Force undead faction to undead
 		resolvers.genericlast(function(e) e.faction = "undead" end),
 		default_wilderness = {39, 38},
@@ -54,6 +50,8 @@ newBirthDescriptor{
 		starting_level = 8, starting_level_force_down = true,
 		starting_quest = "start-undead",
 		undead = 1,
+		resolvers.inscription("RUNE:_SHIELDING", {cooldown=14, dur=5, power=100}),
+		resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=12, what={poison=true}, dur=4, power=20}),
 	},
 	random_escort_possibilities = { {"trollshaws", 2, 5}, {"ruins-kor-pul", 1, 4}, {"daikara", 1, 7}, {"old-forest", 1, 7}, {"tol-falas", 1, 8}, {"iron-throne", 1, 1}, },
 }
diff --git a/game/modules/tome/data/general/npcs/sandworm.lua b/game/modules/tome/data/general/npcs/sandworm.lua
index d9ee720e9a482bca3c495987aa48626dba12f342..c6c5f6da258db7161be67295d6f421a75e4419c0 100644
--- a/game/modules/tome/data/general/npcs/sandworm.lua
+++ b/game/modules/tome/data/general/npcs/sandworm.lua
@@ -37,7 +37,7 @@ newEntity{
 	size_category = 2,
 	blind_immune = 1,
 
-	drops = resolvers.drops{chance=20, nb=1, {type="potion"}, {type="scroll"} },
+	drops = resolvers.drops{chance=5, nb=1, {type="scroll"} },
 
 	autolevel = "warrior",
 	ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=3, },
diff --git a/game/modules/tome/data/general/objects/objects.lua b/game/modules/tome/data/general/objects/objects.lua
index 5b8dacdee95c0af6edf9e4929bad1d7b95368f4f..ccdc2ff49b6aea9135e97ecbe76adc2f47682163 100644
--- a/game/modules/tome/data/general/objects/objects.lua
+++ b/game/modules/tome/data/general/objects/objects.lua
@@ -28,7 +28,7 @@ loadIfNot("/data/general/objects/gem.lua")
 loadIfNot("/data/general/objects/lites.lua")
 
 -- Usable stuff
---loadIfNot("/data/general/objects/potions.lua")
+loadIfNot("/data/general/objects/potions.lua")
 loadIfNot("/data/general/objects/scrolls.lua")
 loadIfNot("/data/general/objects/wands.lua")
 
diff --git a/game/modules/tome/data/general/objects/potions.lua b/game/modules/tome/data/general/objects/potions.lua
new file mode 100644
index 0000000000000000000000000000000000000000..92d6023eedb0033e25becb22842ba909803c9ae9
--- /dev/null
+++ b/game/modules/tome/data/general/objects/potions.lua
@@ -0,0 +1,32 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009, 2010 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+newEntity{
+	define_as = "BASE_POTION",
+	slot = "INBELT", use_no_wear=true,
+	type = "potion", subtype="potion",
+	unided_name = "potion", id_by_type = true,
+	display = "!", color=colors.WHITE, image="object/potion-0x0.png",
+	use_sound = "actions/quaff",
+	encumber = 0.2,
+	stacking = true,
+	acid_destroy = {{10,1}, {20,2}, {40,5}, {60,10}, {120,20}},
+	desc = [[Magical potions can have wildly different effects, from healing to killing you, beware! Most of them function better with a high Magic score]],
+	egos = "/data/general/objects/egos/potions.lua", egos_chance = resolvers.mbonus(10, 5),
+}
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index a0859a31a2c6ed038426c320f45eaf4ed1c95200..5bc1fb6311a3cbe85ddef43f72f50201eec6e612 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -280,28 +280,6 @@ This star is the culmination of their craft. Light radiates from its ever shifti
 	},
 }
 
-newEntity{
-	unique = true,
-	type = "potion", subtype="potion",
-	name = "Ever-Refilling Potion of Healing",
-	unided_name = "strange potion",
-	level_range = {35, 40},
-	display = '!', color=colors.VIOLET, image="object/potion-0x3-violet.png",
-	encumber = 0.4,
-	rarity = 150,
-	desc = [[Bottle containing healing magic. But the more you drink from it, the more it refills!]],
-	cost = 80,
-
-	max_power = 100, power_regen = 1,
-	use_power = { name = "heal", power = 80,
-		use = function(self, who)
-			who:heal(150 + who:getMag())
-			game.logSeen(who, "%s quaffs an %s!", who.name:capitalize(), self:getName())
-			return nil, true
-		end
-	},
-}
-
 newEntity{
 	unique = true,
 	type = "potion", subtype="potion",
diff --git a/game/modules/tome/data/general/stores/basic.lua b/game/modules/tome/data/general/stores/basic.lua
index d5b9b10477610397404ce87416703ef69c3b3c8d..94ea8e577249a28e96ae6745cd31760116110b8b 100644
--- a/game/modules/tome/data/general/stores/basic.lua
+++ b/game/modules/tome/data/general/stores/basic.lua
@@ -29,8 +29,7 @@ newEntity{
 		min_fill = 40,
 		max_fill = 60,
 		filters = {
-			{type="potion", id=true},
-			{type="scroll", id=true},
+--			{type="scroll", id=true},
 		},
 --		fixed = {
 --		},
diff --git a/game/modules/tome/data/gfx/object/rune_green.png b/game/modules/tome/data/gfx/object/rune_green.png
index ccd38768d5eaeb0b432f329cba45cf94b39d8cac..6a93216d0ec44ef8da0a2e169e24ed6897bd0363 100644
Binary files a/game/modules/tome/data/gfx/object/rune_green.png and b/game/modules/tome/data/gfx/object/rune_green.png differ
diff --git a/game/modules/tome/data/maps/tutorial/tutorial1.lua b/game/modules/tome/data/maps/tutorial/tutorial1.lua
index de9563c35a407764d4d93126b83551a09d9b4cc3..eaad65f3352e5b93fa290bba2b0ae318df629740 100644
--- a/game/modules/tome/data/maps/tutorial/tutorial1.lua
+++ b/game/modules/tome/data/maps/tutorial/tutorial1.lua
@@ -29,7 +29,7 @@ defineTile("T", "GRASS", nil, "TUTORIAL_NPC_TROLL", nil)
 defineTile("L", "GRASS", nil, "TUTORIAL_NPC_LONE_WOLF", nil)
 defineTile("1", "GRASS", nil, nil, "TUTORIAL_MELEE")
 defineTile("|", "GRASS", {random_filter={name="elm arrow"}}, nil, nil)
-defineTile("2", "GRASS", {random_filter={name="potion of lesser healing"}}, nil, "TUTORIAL_OBJECTS")
+defineTile("2", "GRASS", {random_filter={name="regeneration infusion"}}, nil, "TUTORIAL_OBJECTS")
 defineTile("3", "GRASS", nil, nil, "TUTORIAL_TALENTS")
 defineTile("4", "GRASS", nil, nil, "TUTORIAL_LEVELUP")
 defineTile("~", "DEEP_WATER", nil, nil, nil)
@@ -40,9 +40,9 @@ defineTile("8", "GRASS", nil, nil, "TUTORIAL_RANGED")
 defineTile("9", "GRASS", nil, nil, "TUTORIAL_QUESTS")
 defineTile("j", "GRASS", nil, {random_filter={type="immovable", subtype="jelly", max_ood=2}}, nil)
 defineTile(" ", "DEEP_WATER", nil, {random_filter={type="immovable", subtype="jelly", max_ood=2}}, nil)
-defineTile("!", "GRASS", {random_filter={name="potion of lesser healing"}}, nil, nil)
+defineTile("!", "GRASS", {random_filter={name="healing infusion"}}, nil, nil)
 defineTile('"', "DEEP_WATER", nil, {random_filter={type="immovable", subtype="jelly", max_ood=2}}, nil)
-defineTile("#", "DEEP_WATER", {random_filter={name="potion of lesser healing"}}, nil, nil)
+defineTile("#", "DEEP_WATER", {random_filter={name="shielding rune"}}, nil, nil)
 
 return [[
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&~&&&&&&&&&&&&&&&&&
@@ -53,11 +53,11 @@ return [[
 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&~~~,,,&&&&&&&&
 &&&&&&&&&,,,,,&&&&&&&&&&&&&&&&&&~~&&~~~&&,,,&&&&&&
 &&&&&&&&,T,,,,,,,,,,,,&&&&&&&&&&~~~~~~~&&&&,&&&&&&
-&&&&&&&&!T,,,,,,,,,,,,,&&&&&&&&&~~~~~~&&&&&,&&&&&&
-&&&&&&&&!T,,T,,,,,,,,,,&&&&&&&&&~~~&~~&&&&&,&&&&&&
+&&&&&&&&,T,,,,,,,,,,,,,&&&&&&&&&~~~~~~&&&&&,&&&&&&
+&&&&&&&&,T,,T,,,,,,,,,,&&&&&&&&&~~~&~~&&&&&,&&&&&&
 &&&&&&&,,,,,T,,,,,,,,,,,&&&&&&&&&~~~~&&&s&,,&&&&&&
-&&&&&&&,!T,,T,,,,,,,,,,,,,,&&&&&,~&~~&&&,,,,&&&&&&
-&&&&&&&&!T,,,,,,,,,,,,,,,&,&&&,,,~~~~&&,,,,,!&&&&&
+&&&&&&&,,T,,T,,,,,,,,,,,,,,&&&&&,~&~~&&&,,,,&&&&&&
+&&&&&&&&,T,,,,,,,,,,,,,,,&,&&&,,,~~~~&&,,,,,!&&&&&
 &&&&&&&&,T,,,,,,,,,,,,,,&&,|)8,&&&~~&&&&,,,,,&&&&&
 &&&&&&&&,,,,,,,,,,,,,,,&&&&&&&&&&&&&&&&&,,,,,&&&&&
 &&&&&&&&&,,,,,,,,,,,,,&&&&&&&&&&,,,,,,,,7,,,&&&&&&
@@ -68,7 +68,7 @@ return [[
 &&&&&&&&&&&&&&&9&&&&&&&&&&&&&,&&&&&&&&&&&&&&&&&&&&
 &&&&&&&&&&&&&&,,&&&&&&&&&&&&,,&&&&&&&&&&&&&&&&&&&&
 &&&&&&&&&&&&&,,&&&&&&&&&&&&&,&&&&&&&&,,,,,,,&&&&&&
-&&&&&&&&&&&&&,&&&&&&&&&&&&&&!&&&&&&&,,j,,,,,,&&&&&
+&&&&&&&&&&&&&,&&&&&&&&&&&&&&,&&&&&&&,,j,,,,,,&&&&&
 &&&&&&&&&&&&&,&&&&&&&&&&&&&&,&&&&&&,,,2,,,,,,1,,,,
 &&&&&&&&&,,,,,,&&&&&&&&&&&&&,&&&,,,,,,j,,,,,&&&&&&
 &&&&&&&&,,,,,,,,&&&&&&&&&&&&,&&&,&&&,,,,,,,,&&&&&&
diff --git a/game/modules/tome/data/maps/vaults/forest-snake-pit.lua b/game/modules/tome/data/maps/vaults/forest-snake-pit.lua
index 18325d2e99bd627f97389bc3785384fde1a64b02..08549bedd9d1df3ec5f3edffc84321c14a9e7fb9 100644
--- a/game/modules/tome/data/maps/vaults/forest-snake-pit.lua
+++ b/game/modules/tome/data/maps/vaults/forest-snake-pit.lua
@@ -27,7 +27,7 @@ defineTile('#', "WALL")
 defineTile('X', "TREE")
 defineTile('x', "DOOR_VAULT")
 
-defineTile('s', "FLOOR", {random_filter={type="potion", ego_chance=25}}, {random_filter={name="rattlesnake"}})
+defineTile('s', "FLOOR", {random_filter={type="scroll", ego_chance=25}}, {random_filter={name="rattlesnake"}})
 
 return {
 [[,,,,,,,,,]],
diff --git a/game/modules/tome/data/maps/vaults/thief-hideout-dark.lua b/game/modules/tome/data/maps/vaults/thief-hideout-dark.lua
index 60a32cb9814a01635c641920ac14c1a8616776aa..3d7202b32f866039d088a33e4fc2fd513ce02789 100644
--- a/game/modules/tome/data/maps/vaults/thief-hideout-dark.lua
+++ b/game/modules/tome/data/maps/vaults/thief-hideout-dark.lua
@@ -31,7 +31,7 @@ defineTile('!', "DOOR_VAULT")
 defineTile('p', "FLOOR", nil, {random_filter={name="rogue", add_levels=3}})
 defineTile('P', "FLOOR", nil, {random_filter={name="bandit", add_levels=5}})
 
-defineTile('&', "FLOOR", {random_filter={type="potion"}})
+defineTile('&', "FLOOR", {random_filter={type="scroll"}})
 defineTile('$', "FLOOR", "MONEY_SMALL")
 defineTile('*', "FLOOR", {random_filter={type="gem"}})
 
diff --git a/game/modules/tome/data/maps/vaults/troll-hideout-dark.lua b/game/modules/tome/data/maps/vaults/troll-hideout-dark.lua
index 11fdc1be64e95d5bcfb77f9505db9bb97c7d0cad..4601ee371de5eb2d28ca661a77f1391b45d843ff 100644
--- a/game/modules/tome/data/maps/vaults/troll-hideout-dark.lua
+++ b/game/modules/tome/data/maps/vaults/troll-hideout-dark.lua
@@ -28,9 +28,9 @@ defineTile('#', "HARDWALL")
 defineTile('X', "TREE_DARK1")
 defineTile('+', "DOOR")
 
-defineTile('T', "FLOOR", {random_filter={type="potion", ego_chance=25}}, {random_filter={name="forest troll",add_levels=10}})
+defineTile('T', "FLOOR", {random_filter={type="scroll", ego_chance=25}}, {random_filter={name="forest troll",add_levels=10}})
 defineTile('t', "FLOOR", nil, {random_filter={name="forest troll"}})
-defineTile('$', "FLOOR", {random_filter={type="potion", ego_chance=25}}, nil)
+defineTile('$', "FLOOR", {random_filter={type="scroll", ego_chance=25}}, nil)
 
 return {
 [[,,,,,,,,,,,,,,,,,,,,,,]],
diff --git a/game/modules/tome/data/maps/vaults/troll-hideout.lua b/game/modules/tome/data/maps/vaults/troll-hideout.lua
index 52cc5fdef509702d11da009e382f140d1e626220..d29b002c4034db9584f8b118227e4f298111b4b1 100644
--- a/game/modules/tome/data/maps/vaults/troll-hideout.lua
+++ b/game/modules/tome/data/maps/vaults/troll-hideout.lua
@@ -28,9 +28,9 @@ defineTile('#', "HARDWALL")
 defineTile('X', "TREE")
 defineTile('+', "DOOR")
 
-defineTile('T', "FLOOR", {random_filter={type="potion", ego_chance=25}}, {random_filter={name="forest troll"}})
+defineTile('T', "FLOOR", {random_filter={type="scroll", ego_chance=25}}, {random_filter={name="forest troll"}})
 defineTile('t', "FLOOR", nil, {random_filter={name="forest troll"}})
-defineTile('$', "FLOOR", {random_filter={type="potion", ego_chance=25}}, nil)
+defineTile('$', "FLOOR", {random_filter={type="scroll", ego_chance=25}}, nil)
 
 return {
 [[,,,,,,,,,,,,,,,,,,,,,,]],
diff --git a/game/modules/tome/data/texts/tutorial/objects.lua b/game/modules/tome/data/texts/tutorial/objects.lua
index f7a1725d95633953921e6b09aaded48b11a76d39..1151d536bad8263266cb28646f8a4d97f2f87405 100644
--- a/game/modules/tome/data/texts/tutorial/objects.lua
+++ b/game/modules/tome/data/texts/tutorial/objects.lua
@@ -24,5 +24,9 @@ You can pickup items from the ground by pressing ',' or right clicking on yourse
 
 Your inventory is split in two zones: your equiped items and your backpack.
 
-Now pickup the potion you have found and move on to the west.
+Now pickup the infusion you have found. Infusions and Runes are special items that allow you to bind a power on your own body.
+Infusions come from the powers of nature while runes from the powers of magic.
+Simply the infusion from your inventory, it will inscribe your skin and allow you to regenerate your life at will.
+You can only have a finite number of inscriptions on your body, but they can easily be replaced.
+Then move on to the west.
 ]]
diff --git a/game/modules/tome/data/texts/tutorial/tactics1.lua b/game/modules/tome/data/texts/tutorial/tactics1.lua
index 43567022fcab68fd80605836a055f190484236fc..595bec8265acb89d715169bf627e3f8824695ca4 100644
--- a/game/modules/tome/data/texts/tutorial/tactics1.lua
+++ b/game/modules/tome/data/texts/tutorial/tactics1.lua
@@ -25,5 +25,6 @@ A basic tactic in ToME4 is to try to never get surrounded, do not hesitate to ba
 After the combat you will probably be low on health, you can rest for a while to regain lost health and ressources.
 Either press 'r' or right-click on yourself to rest. You will rest until fully restored or until a creature disturbs you.
 
-Now take a few steps backwards to only have to fight one snake at a time and you should survive. Remember to use your talents and maybe a potion of healing if need be.
+Now take a few steps backwards to only have to fight one snake at a time and you should survive.
+Remember to use your talents, infusions and runes to win the fight.
 ]]
diff --git a/game/modules/tome/data/zones/blighted-ruins/zone.lua b/game/modules/tome/data/zones/blighted-ruins/zone.lua
index b4bcaeec5963709517bfebf3059d4bb775c6ed58..b464056d232469b5a08db0c9cf34f46265278150 100644
--- a/game/modules/tome/data/zones/blighted-ruins/zone.lua
+++ b/game/modules/tome/data/zones/blighted-ruins/zone.lua
@@ -55,7 +55,6 @@ return {
 		object = {
 			class = "engine.generator.object.Random",
 			nb_object = {6, 9},
-			filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {max_ood=7}, {max_ood=7} }
 		},
 		trap = {
 			class = "engine.generator.trap.Random",
diff --git a/game/modules/tome/data/zones/eruan/zone.lua b/game/modules/tome/data/zones/eruan/zone.lua
index 578a0989127b72fb8d5866ac745f035b17f618fc..5e5313f8a86c3cf9556b420a0d1b2735666965b1 100644
--- a/game/modules/tome/data/zones/eruan/zone.lua
+++ b/game/modules/tome/data/zones/eruan/zone.lua
@@ -58,7 +58,6 @@ return {
 		object = {
 			class = "engine.generator.object.Random",
 			nb_object = {6, 9},
-			filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {}, {} }
 		},
 		trap = {
 			class = "engine.generator.trap.Random",
diff --git a/game/modules/tome/data/zones/maze/zone.lua b/game/modules/tome/data/zones/maze/zone.lua
index 9f3e12f0116c09a764879c025e182b3c4c49d9a4..890a0b43b638d89d24399751553f27c99d8c8c32 100644
--- a/game/modules/tome/data/zones/maze/zone.lua
+++ b/game/modules/tome/data/zones/maze/zone.lua
@@ -45,7 +45,6 @@ return {
 		object = {
 			class = "engine.generator.object.Random",
 			nb_object = {4, 6},
-			filters = { {type="potion" }, {type="potion" }, {type="potion" }, {type="scroll" }, {}, {} }
 		},
 		trap = {
 			class = "engine.generator.trap.Random",
diff --git a/game/modules/tome/dialogs/CharacterSheet.lua b/game/modules/tome/dialogs/CharacterSheet.lua
index 71575439cf0682292dd8c3f17e7d3ab907acd33c..f3815d42ec852410b4304778de9ee1d26f7b04ea 100644
--- a/game/modules/tome/dialogs/CharacterSheet.lua
+++ b/game/modules/tome/dialogs/CharacterSheet.lua
@@ -514,7 +514,7 @@ function _M:dump()
 	nl("  [Last Messages]")
 	nl()
 
-	nl(table.concat(game.logdisplay:getLines(40), "\n"):gsub("#.-#", "   "))
+	nl(table.concat(game.logdisplay:getLines(40), "\n"):removeColorCodes())
 
 	fff:close()