diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index fe247989a6e0065f6632821ad74a4fda7c7dcffb..bf3d4bc561e37a27f159c7f51ad4463d29b465f8 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -1639,7 +1639,8 @@ function _M:placeRandomLoreObjectScale(base, nb, level)
 	local dist = ({
 		[5] = { {1}, {2,3}, {4,5} }, -- 5 => 3
 		korpul = { {1,2}, {3,4} }, -- 5 => 3
-		[7] = { {1}, {2,3}, {4}, {5, 6}, {7} }, -- 7 => 5
+		maze = { {1,2,3,4},{5,6,7} }, -- 5 => 3
+		[7] = { {1,2}, {3,4}, {5,6}, {7} }, -- 7 => 4
 	})[nb][level]
 	if not dist then return end
 	for _, i in ipairs(dist) do self:placeRandomLoreObject(base..i) end
diff --git a/game/modules/tome/data/birth/races/construct.lua b/game/modules/tome/data/birth/races/construct.lua
index cee3bc680bafbdf4b48e9be6be5d9045684115f4..3548cb8ba6bd2f5c11ae9f9ac56db6224b6e08d9 100644
--- a/game/modules/tome/data/birth/races/construct.lua
+++ b/game/modules/tome/data/birth/races/construct.lua
@@ -37,7 +37,7 @@ newBirthDescriptor{
 			["Runic Golem"] = "allow",
 		},
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 newBirthDescriptor
diff --git a/game/modules/tome/data/birth/races/dwarf.lua b/game/modules/tome/data/birth/races/dwarf.lua
index 6d069788043f9cd3a6e79362d3f3e182013da09f..3a243ba8e26bec9d045b36f79a97dd6f97bc3bd2 100644
--- a/game/modules/tome/data/birth/races/dwarf.lua
+++ b/game/modules/tome/data/birth/races/dwarf.lua
@@ -49,7 +49,7 @@ newBirthDescriptor{
 		resolvers.inventory{ id=true, {defined="ORB_SCRYING"} },
 		resolvers.generic(function(e) e.hotkey[10] = {"inventory", "Orb of Scrying"} end),
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 ---------------------------------------------------------
diff --git a/game/modules/tome/data/birth/races/elf.lua b/game/modules/tome/data/birth/races/elf.lua
index d6a1d55bbcaa6f1b1c29d93da5c1ae90beddd986..96504ed24fa57ff0341738c181d5f2e11d3f4480 100644
--- a/game/modules/tome/data/birth/races/elf.lua
+++ b/game/modules/tome/data/birth/races/elf.lua
@@ -91,7 +91,7 @@ newBirthDescriptor
 		resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10}),
 	},
 	experience = 1.35,
-	random_escort_possibilities = { {"scintillating-caves", 2, 3}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"scintillating-caves", 2, 3}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 newBirthDescriptor
diff --git a/game/modules/tome/data/birth/races/halfling.lua b/game/modules/tome/data/birth/races/halfling.lua
index 2efda7e6c5fce833eae02367df51c7028b1b865f..17b9b22d27e25f1491db27a81861b46b86c04b02 100644
--- a/game/modules/tome/data/birth/races/halfling.lua
+++ b/game/modules/tome/data/birth/races/halfling.lua
@@ -54,7 +54,7 @@ newBirthDescriptor{
 		resolvers.inventory{ id=true, {defined="ORB_SCRYING"} },
 		resolvers.generic(function(e) e.hotkey[10] = {"inventory", "Orb of Scrying"} end),
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 ---------------------------------------------------------
diff --git a/game/modules/tome/data/birth/races/human.lua b/game/modules/tome/data/birth/races/human.lua
index 75be75ee009f3e389c8e007907e39a42046f63a7..1a753cc7785bc2f95beb499d059ed5988d6b99bf 100644
--- a/game/modules/tome/data/birth/races/human.lua
+++ b/game/modules/tome/data/birth/races/human.lua
@@ -55,7 +55,7 @@ newBirthDescriptor{
 		resolvers.inventory{ id=true, {defined="ORB_SCRYING"} },
 		resolvers.generic(function(e) e.hotkey[10] = {"inventory", "Orb of Scrying"} end),
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 ---------------------------------------------------------
diff --git a/game/modules/tome/data/birth/races/undead.lua b/game/modules/tome/data/birth/races/undead.lua
index 1cccbec587cb208055d2c8c3b8d8b8b383e1cbe6..7d3b9c7414122c2030612686a6ecf9fe56f3ea32 100644
--- a/game/modules/tome/data/birth/races/undead.lua
+++ b/game/modules/tome/data/birth/races/undead.lua
@@ -64,7 +64,7 @@ newBirthDescriptor{
 		resolvers.inscription("RUNE:_SHIELDING", {cooldown=14, dur=5, power=100}),
 		resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10}),
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 newBirthDescriptor
diff --git a/game/modules/tome/data/birth/races/yeek.lua b/game/modules/tome/data/birth/races/yeek.lua
index 7d1db7b1a7e524088c714590f8cc74cbff65afdd..0884e839c41a90694007989450542bf5ce60359c 100644
--- a/game/modules/tome/data/birth/races/yeek.lua
+++ b/game/modules/tome/data/birth/races/yeek.lua
@@ -51,7 +51,7 @@ newBirthDescriptor{
 		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
 		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={physical=true}, dur=4, power=14}),
 	},
-	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 5}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
+	random_escort_possibilities = { {"trollmire", 2, 3}, {"ruins-kor-pul", 1, 2}, {"daikara", 1, 3}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, },
 }
 
 ---------------------------------------------------------
diff --git a/game/modules/tome/data/chats/temporal-rift-end.lua b/game/modules/tome/data/chats/temporal-rift-end.lua
index 330c407b6824d4c526940a672b70206d5caf0bfe..09ab6c684ca75a760b43dcc608de500862f6f278 100644
--- a/game/modules/tome/data/chats/temporal-rift-end.lua
+++ b/game/modules/tome/data/chats/temporal-rift-end.lua
@@ -36,7 +36,7 @@ I cannot stay. I still have much to do. But take this-- it should help you.
 			game:setAllowedBuild("chronomancer_temporal_warden", true)
 
 			local g = game.zone:makeEntityByName(game.level, "terrain", "RIFT")
-			g.change_level = 4
+			g.change_level = 3
 			g.change_zone = "daikara"
 			game.zone:addEntity(game.level, g, "terrain", player.x, player.y)
 		end},
diff --git a/game/modules/tome/data/zones/ardhungol/zone.lua b/game/modules/tome/data/zones/ardhungol/zone.lua
index 5a6ee4e93f40a51626aa063a17a00aa19356a25e..c94ce60addbf44e3bd93d58fc8f7ea158a39a539 100644
--- a/game/modules/tome/data/zones/ardhungol/zone.lua
+++ b/game/modules/tome/data/zones/ardhungol/zone.lua
@@ -21,7 +21,7 @@ return {
 	name = "Ardhungol",
 	level_range = {25, 32},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 3,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
 	width = 70, height = 70,
diff --git a/game/modules/tome/data/zones/daikara/zone.lua b/game/modules/tome/data/zones/daikara/zone.lua
index 1f062b971620ef0c67e5431fef293ab22f9f38da..ed5f1676e2797f5b3727502f58adef2d335e0de9 100644
--- a/game/modules/tome/data/zones/daikara/zone.lua
+++ b/game/modules/tome/data/zones/daikara/zone.lua
@@ -21,7 +21,7 @@ return {
 	name = "Daikara",
 	level_range = {7, 16},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 4,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
 	width = 50, height = 50,
@@ -76,7 +76,7 @@ return {
 
 		-- Temporal rift on level 4
 		local p = game.party:findMember{main=true}
-		if level.level == 4 then
+		if level.level == 3 then
 			if p.descriptor.subclass == "Temporal Warden" then
 				local x, y = util.findFreeGrid(level.default_up.x, level.default_up.y, 10, true, {[engine.Map.ACTOR]=true})
 				if x and y then
diff --git a/game/modules/tome/data/zones/eruan/zone.lua b/game/modules/tome/data/zones/eruan/zone.lua
index 6c54314faa4cc4807b50ce345feccdf3f330809f..c639a2ab6acffebdc388d92bac69caf2904a24be 100644
--- a/game/modules/tome/data/zones/eruan/zone.lua
+++ b/game/modules/tome/data/zones/eruan/zone.lua
@@ -21,7 +21,7 @@ return {
 	name = "Erúan",
 	level_range = {30, 45},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 4,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
 	width = 50, height = 50,
@@ -74,7 +74,7 @@ return {
 				up = "SAND_UP_WILDERNESS",
 			}, },
 		},
-		[5] = {
+		[4] = {
 			generator = { map = {
 				class = "engine.generator.map.Static",
 				map = "zones/eruan-last",
diff --git a/game/modules/tome/data/zones/lake-nur/grids.lua b/game/modules/tome/data/zones/lake-nur/grids.lua
index b79aad6fc5f5d4d2019330919411e91d9302c451..0c62f21e5bb7c32cc4e930a8e3f042863e6de823 100644
--- a/game/modules/tome/data/zones/lake-nur/grids.lua
+++ b/game/modules/tome/data/zones/lake-nur/grids.lua
@@ -28,7 +28,7 @@ newEntity{
 	display = '<', color_r=255, color_g=255, color_b=0,
 	notice = true,
 	always_remember = true,
-	change_level = 5, change_zone = "old-forest", force_down = true,
+	change_level = 4, change_zone = "old-forest", force_down = true,
 }
 
 newEntity{
diff --git a/game/modules/tome/data/zones/maze/zone.lua b/game/modules/tome/data/zones/maze/zone.lua
index 5e12ccdee97ddba64034e5c17887d04df48e0048..9074716f8a0563a052fb8205467489a9e16c52bb 100644
--- a/game/modules/tome/data/zones/maze/zone.lua
+++ b/game/modules/tome/data/zones/maze/zone.lua
@@ -21,10 +21,10 @@ return {
 	name = "The Maze",
 	level_range = {7, 16},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 2,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
-	width = 40, height = 40,
+	width = 80, height = 80,
 --	all_remembered = true,
 --	all_lited = true,
 	persistent = "zone",
@@ -41,17 +41,17 @@ return {
 		},
 		actor = {
 			class = "engine.generator.actor.Random",
-			nb_npc = {20, 30},
+			nb_npc = {50, 60},
 			guardian = "MINOTAUR_MAZE",
 			guardian_alert = true,
 		},
 		object = {
 			class = "engine.generator.object.Random",
-			nb_object = {4, 6},
+			nb_object = {10, 14},
 		},
 		trap = {
 			class = "engine.generator.trap.Random",
-			nb_trap = {9, 15},
+			nb_trap = {20, 25},
 		},
 	},
 	levels =
@@ -61,20 +61,23 @@ return {
 				up = "UP_WILDERNESS",
 			}, },
 		},
-		[5] = {
+		[2] = {
+			width = 20, height = 20,
 			generator = { map = {
 				force_last_stair = true,
 				down = "QUICK_EXIT",
+			}, actor = {
+				nb_npc = {10, 12},
 			}, },
 		},
 	},
 
 	post_process = function(level)
 		-- Place a lore note on each level
-		game:placeRandomLoreObjectScale("NOTE", 7, level.level)
+		game:placeRandomLoreObjectScale("NOTE", "maze", level.level)
 
 		local p = game.party:findMember{main=true}
-		if level.level == 4 and p:knowTalent(p.T_TRAP_MASTERY) then
+		if level.level == 1 and p:knowTalent(p.T_TRAP_MASTERY) then
 			local l = game.zone:makeEntityByName(level, "object", "NOTE_LEARN_TRAP")
 			if not l then return end
 			for i = -1, 1 do for j = -1, 1 do
diff --git a/game/modules/tome/data/zones/old-forest/zone.lua b/game/modules/tome/data/zones/old-forest/zone.lua
index 251dc1cbf7fbf747c99449b07bf7dc928d0cb317..03707eed66b79de53cea7e75a10bf7398305fdaf 100644
--- a/game/modules/tome/data/zones/old-forest/zone.lua
+++ b/game/modules/tome/data/zones/old-forest/zone.lua
@@ -21,7 +21,7 @@ return {
 	name = "Old Forest",
 	level_range = {7, 16},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 4,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
 	width = 50, height = 50,
@@ -37,7 +37,7 @@ return {
 	generator =  {
 		map = {
 			class = "engine.generator.map.Roomer",
-			nb_rooms = 10,
+			nb_rooms = 11,
 			edge_entrances = {4,6},
 			rooms = {"forest_clearing", {"lesser_vault",8}},
 			rooms_config = {forest_clearing={pit_chance=5, filters={{type="insect", subtype="ant"}, {type="insect"}, {type="animal", subtype="snake"}, {type="animal", subtype="canine"}}}},
@@ -71,7 +71,7 @@ return {
 				up = "GRASS_UP_WILDERNESS",
 			}, },
 		},
-		[5] = {
+		[4] = {
 			generator =  { map = {
 				edge_entrances = {4,2},
 				down = "LAKE_NUR",
diff --git a/game/modules/tome/data/zones/orc-breeding-pit/zone.lua b/game/modules/tome/data/zones/orc-breeding-pit/zone.lua
index 8d7a94c406dca3c61ae650d070cf67fdf1269d64..70089eba5f7444e9121c83feb38f2e2f31f102d6 100644
--- a/game/modules/tome/data/zones/orc-breeding-pit/zone.lua
+++ b/game/modules/tome/data/zones/orc-breeding-pit/zone.lua
@@ -74,5 +74,8 @@ return {
 				nb_npc = {0, 0},
 			}, },
 		},
+		[3] = { width = 25, height = 25, generator = {map = {min_floor=300}} },
+		[4] = { width = 20, height = 20, generator = {map = {min_floor=200}} },
+		[5] = { width = 15, height = 15, generator = {map = {min_floor=120}} },
 	},
 }
diff --git a/game/modules/tome/data/zones/sandworm-lair/zone.lua b/game/modules/tome/data/zones/sandworm-lair/zone.lua
index 63a4f8acb0a2467a07423f2331e3bd780871f3a8..c11f88d007edc5a1b113f61d2b83a5e71b8c8651 100644
--- a/game/modules/tome/data/zones/sandworm-lair/zone.lua
+++ b/game/modules/tome/data/zones/sandworm-lair/zone.lua
@@ -21,7 +21,7 @@ return {
 	name = "Sandworm lair",
 	level_range = {7, 16},
 	level_scheme = "player",
-	max_level = 5,
+	max_level = 4,
 	decay = {300, 800},
 	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
 	width = 50, height = 50,