diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index 6427744eb7dd8003e378f13817ee8d911fbabfdf..7da4f75e1f2ff0da6e7ee127fdf26783f03230a2 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -80,12 +80,12 @@ function _M:init()
 end
 
 function _M:run()
+	self.calendar = Calendar.new("/data/calendar_allied.lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
 	self.flash = LogFlasher.new(0, 0, self.w, 20, nil, nil, nil, {255,255,255}, {0,0,0})
 	self.logdisplay = LogDisplay.new(0, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, nil, nil, nil, {255,255,255}, "/data/gfx/ui/message-log.png")
 	self.player_display = PlayerDisplay.new(0, 230, 200, self.h * 0.8 - 230, {30,30,0})
 	self.hotkeys_display = HotkeysDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png")
 	self.npcs_display = ActorsSeenDisplay.new(nil, self.w * 0.5 + 30, self.h * 0.8 + 7, self.w * 0.5 - 30, self.h * 0.2 - 7, "/data/gfx/ui/talents-list.png")
-	self.calendar = Calendar.new("/data/calendar_allied.lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
 	self.tooltip = Tooltip.new(nil, nil, {255,255,255}, {30,30,30,230})
 	self.tooltip2 = Tooltip.new(nil, nil, {255,255,255}, {30,30,30,230})
 	self.flyers = FlyingText.new()
@@ -126,6 +126,7 @@ function _M:run()
 
 	if self.level then self:setupDisplayMode(false, "postinit") end
 	if self.level and self.level.data.day_night then self.state:dayNightCycle() end
+	if self.level and self.player then self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11) end
 end
 
 --- Checks if the current character is "tainted" by cheating
@@ -175,6 +176,7 @@ function _M:newGame()
 
 	self.creating_player = true
 	local birth; birth = Birther.new("Character Creation: "..self.player.name.." ("..nb_unlocks.."/"..max_unlocks.." unlocked birth options)", self.player, {"base", "difficulty", "world", "race", "subrace", "sex", "class", "subclass" }, function()
+		self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
 		self.player:check("make_tile")
 		self.player.make_tile = nil
 
@@ -184,8 +186,18 @@ function _M:newGame()
 		save:close()
 
 		self.player:check("before_starting_zone")
-		self.player.wild_x, self.player.wild_y = self.player.default_wilderness[1], self.player.default_wilderness[2]
+
+		-- Configure & create the worldmap
 		self.player.last_wilderness = self.player.default_wilderness[3] or "wilderness"
+		self.player.wild_x, self.player.wild_y = 1, 1
+		self:changeLevel(1, self.player.last_wilderness)
+		self.player.wild_x, self.player.wild_y = self.player.default_wilderness[1], self.player.default_wilderness[2]
+		if type(self.player.wild_x) == "string" and type(self.player.wild_y) == "string" then
+			local spot = self.level:pickSpot{type=self.player.wild_x, subtype=self.player.wild_y} or {x=1,y=1}
+			self.player.wild_x, self.player.wild_y = spot.x, spot.y
+		end
+
+		-- Generate
 		if self.player.__game_difficulty then self:setupDifficulty(self.player.__game_difficulty) end
 		self:changeLevel(self.player.starting_level or 1, self.player.starting_zone, nil, self.player.starting_level_force_down)
 		print("[PLAYER BIRTH] resolve...")
@@ -239,6 +251,7 @@ function _M:newGame()
 			self.party = qb
 			self.player = nil
 			self.party:setPlayer(1, true)
+			self.calendar = Calendar.new("/data/calendar_"..(self.player.calendar or "allied")..".lua", "Today is the %s %s of the %s year of the Age of Ascendancy of Maj'Eyal.\nThe time is %02d:%02d.", 122, 167, 11)
 			Map:setViewerFaction(self.player.faction)
 			if self.player.__game_difficulty then self:setupDifficulty(self.player.__game_difficulty) end
 
diff --git a/game/modules/tome/data/achievements/quests.lua b/game/modules/tome/data/achievements/quests.lua
index 94a1adf8f525edaf0ec2c354131064a57c3a5677..612994ad0782c16dbe2c77031306a8072e01ab54 100644
--- a/game/modules/tome/data/achievements/quests.lua
+++ b/game/modules/tome/data/achievements/quests.lua
@@ -157,3 +157,7 @@ newAchievement{
 	name = "Home sweet home", id = "SHERTUL_FORTRESS",
 	desc = [[Dispatched the Weirdling Beast and taken possession of Yiilkgur, the Sher'Tul Fortress for your own usage.]],
 }
+newAchievement{
+	name = "Squadmate", id = "NORGAN_SAVED",
+	desc = [[Escaped from Reknor alive with your squadmate Norgan.]],
+}
diff --git a/game/modules/tome/data/birth/races/construct.lua b/game/modules/tome/data/birth/races/construct.lua
index 6f745601cc4f8aef0f08c3aa0dcd5ff4c0ef34cc..d4faa4720fc6a1ba104151aa11f5411faaea9ac1 100644
--- a/game/modules/tome/data/birth/races/construct.lua
+++ b/game/modules/tome/data/birth/races/construct.lua
@@ -79,7 +79,7 @@ newBirthDescriptor
 	copy = {
 		resolvers.generic(function(e) e.descriptor.class = "Golem" e.descriptor.subclass = "Golem" end),
 		resolvers.genericlast(function(e) e.faction = "undead" end),
-		default_wilderness = {28, 13},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "ruins-kor-pul",
 		starting_quest = "start-allied",
 		blood_color = colors.GREY,
diff --git a/game/modules/tome/data/birth/races/dwarf.lua b/game/modules/tome/data/birth/races/dwarf.lua
index b7161c2c244636be2af0ed166885eda196d032ab..40a65ee10298860968f911a8bb81dcc31dec3378 100644
--- a/game/modules/tome/data/birth/races/dwarf.lua
+++ b/game/modules/tome/data/birth/races/dwarf.lua
@@ -38,7 +38,8 @@ newBirthDescriptor{
 	copy = {
 		faction = "iron-throne",
 		type = "humanoid", subtype="dwarf",
-		default_wilderness = {28, 13},
+		calendar = "dwarf",
+		default_wilderness = {"playerpop", "dwarf"},
 		starting_zone = "reknor-escape",
 		starting_quest = "start-dwarf",
 		starting_intro = "dwarf",
diff --git a/game/modules/tome/data/birth/races/elf.lua b/game/modules/tome/data/birth/races/elf.lua
index 3a383eb4881469bbbd11b0ad30a34f662ec5b11b..132ed9d553277705de8719d572d3d9737acbfb75 100644
--- a/game/modules/tome/data/birth/races/elf.lua
+++ b/game/modules/tome/data/birth/races/elf.lua
@@ -44,7 +44,6 @@ newBirthDescriptor{
 	},
 	copy = {
 		type = "humanoid", subtype="elf",
-		default_wilderness = {28, 13},
 		starting_zone = "trollmire",
 		starting_quest = "start-allied",
 		resolvers.inventory{ id=true, {defined="ORB_SCRYING"} },
@@ -73,7 +72,7 @@ newBirthDescriptor
 	experience = 1.3,
 	talents = { [ActorTalents.T_SHALOREN_SPEED]=1 },
 	copy = {
-		default_wilderness = {17, 42},
+		default_wilderness = {"playerpop", "shaloren"},
 		starting_zone = "scintillating-caves",
 		starting_quest = "start-shaloren",
 		faction = "shalore",
@@ -108,6 +107,7 @@ newBirthDescriptor
 		faction = "thalore",
 		starting_intro = "thalore",
 		life_rating = 11,
+		default_wilderness = {"playerpop", "allied"},
 		resolvers.inscription("INFUSION:_REGENERATION", {cooldown=10, dur=5, heal=60}),
 		resolvers.inscription("INFUSION:_WILD", {cooldown=12, what={poison=true}, dur=4, power=14}),
 	},
diff --git a/game/modules/tome/data/birth/races/halfling.lua b/game/modules/tome/data/birth/races/halfling.lua
index c9a780f9cfd89ee09d2f13ef021472799caf5b80..bc41ed81bf84466735a787a5691afc2bad72c2f4 100644
--- a/game/modules/tome/data/birth/races/halfling.lua
+++ b/game/modules/tome/data/birth/races/halfling.lua
@@ -44,7 +44,7 @@ newBirthDescriptor{
 	copy = {
 		faction = "allied-kingdoms",
 		type = "humanoid", subtype="halfling",
-		default_wilderness = {28, 13},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "trollmire",
 		starting_quest = "start-allied",
 		starting_intro = "halfling",
diff --git a/game/modules/tome/data/birth/races/human.lua b/game/modules/tome/data/birth/races/human.lua
index 6cbfaf88c00a71c458fa06ad626e50f0beee333b..963dd28f606cd2702d232106088ca24407f7bc25 100644
--- a/game/modules/tome/data/birth/races/human.lua
+++ b/game/modules/tome/data/birth/races/human.lua
@@ -79,7 +79,7 @@ newBirthDescriptor
 	},
 	copy = {
 		life_rating = 11,
-		default_wilderness = {28, 13},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "trollmire",
 		starting_quest = "start-allied",
 		starting_intro = "higher",
@@ -103,7 +103,7 @@ newBirthDescriptor
 	copy = {
 		unused_talents_types = 1,
 		life_rating = 10,
-		default_wilderness = {28, 13},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "trollmire",
 		starting_quest = "start-allied",
 		starting_intro = "cornac",
diff --git a/game/modules/tome/data/birth/races/orc.lua b/game/modules/tome/data/birth/races/orc.lua
index baea9644162afe3e62ac001163fa9ddb8f4f6eaf..9fc4739bf3e1978a68bf69278f69fc9ce288ebac 100644
--- a/game/modules/tome/data/birth/races/orc.lua
+++ b/game/modules/tome/data/birth/races/orc.lua
@@ -52,7 +52,7 @@ newBirthDescriptor{
 	copy = {
 		faction = "orc-pride",
 		type = "humanoid", subtype="orc",
-		default_wilderness = {10, 39, "wilderness"},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "wilderness",
 		starting_quest = "start-dunadan",
 		starting_intro = "orc",
diff --git a/game/modules/tome/data/birth/races/troll.lua b/game/modules/tome/data/birth/races/troll.lua
index 516042e1661a3419a1e976120575e842852ca0bb..e69c5cadf2c6907c4029d4223b39e6e9a4611a0d 100644
--- a/game/modules/tome/data/birth/races/troll.lua
+++ b/game/modules/tome/data/birth/races/troll.lua
@@ -46,7 +46,7 @@ newBirthDescriptor{
 	copy = {
 		faction = "orc-pride",
 		type = "humanoid", subtype="troll",
-		default_wilderness = {26, 7, "wilderness"},
+		default_wilderness = {"playerpop", "allied"},
 		starting_zone = "trollmire",
 		starting_quest = "start-dunadan",
 		starting_intro = "dwarf",
diff --git a/game/modules/tome/data/birth/races/undead.lua b/game/modules/tome/data/birth/races/undead.lua
index 82acdaaa884efb3a2a802aaf1fffcc84349a7904..17beacf8f0219a4f7e39a112cf44fc393c9c462b 100644
--- a/game/modules/tome/data/birth/races/undead.lua
+++ b/game/modules/tome/data/birth/races/undead.lua
@@ -48,7 +48,6 @@ newBirthDescriptor{
 	copy = {
 		-- Force undead faction to undead
 		resolvers.genericlast(function(e) e.faction = "undead" end),
-		default_wilderness = {39, 38},
 		starting_zone = "blighted-ruins",
 		starting_level = 8, starting_level_force_down = true,
 		starting_quest = "start-undead",
@@ -97,6 +96,7 @@ newBirthDescriptor
 	},
 	copy = {
 		type = "undead", subtype="ghoul",
+		default_wilderness = {"playerpop", "low-undead"},
 		starting_intro = "ghoul",
 		life_rating=14,
 		poison_immune = 0.8,
@@ -143,6 +143,7 @@ newBirthDescriptor
 	},
 	copy = {
 		type = "undead", subtype="skeleton",
+		default_wilderness = {"playerpop", "low-undead"},
 		starting_intro = "skeleton",
 		life_rating=12,
 		poison_immune = 1,
diff --git a/game/modules/tome/data/birth/races/yeek.lua b/game/modules/tome/data/birth/races/yeek.lua
index 8c8830e638882f7ccf0aa4f300be25871077b01e..ea0d5e5e2c1d13945cadb30a407400b5412f2dfb 100644
--- a/game/modules/tome/data/birth/races/yeek.lua
+++ b/game/modules/tome/data/birth/races/yeek.lua
@@ -41,7 +41,7 @@ newBirthDescriptor{
 		faction = "the-way",
 		type = "humanoid", subtype="yeek",
 		size_category = 2,
-		default_wilderness = {28, 49},
+		default_wilderness = {"playerpop", "yeek"},
 		starting_zone = "wilderness",
 		starting_quest = "start-yeek",
 		starting_intro = "yeek",
diff --git a/game/modules/tome/data/calendar_dwarf.lua b/game/modules/tome/data/calendar_dwarf.lua
new file mode 100644
index 0000000000000000000000000000000000000000..b7591b0dec7f047ea25719b6df4baf71cbc09c55
--- /dev/null
+++ b/game/modules/tome/data/calendar_dwarf.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
+
+return {
+	{ 31, "Iron", },
+	{ 45, "Steel", },
+	{ 30, "Gold", },
+	{ 45, "Stralite", },
+	{ 31, "Voratun", },
+	{ 3, "Acuisition", },
+	{ 45, "Profit", },
+	{ 30, "Wealth", },
+	{ 45, "Dearth", },
+	{ 30, "Loss", },
+	{ 30, "Shortage", },
+}
diff --git a/game/modules/tome/data/chats/norgan-saved.lua b/game/modules/tome/data/chats/norgan-saved.lua
new file mode 100644
index 0000000000000000000000000000000000000000..302a91f1491bae27147a4c351926a76888cf43a4
--- /dev/null
+++ b/game/modules/tome/data/chats/norgan-saved.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
+
+newChat{ id="welcome",
+	text = [[Thank you @playername@ we both survived for the wealth of the Empire. I will bring them the news and then rest.
+I do not think I want to see death so closely for some time now.
+Farewell.]],
+	answers = {
+		{"For the Empite! Take care.", action=function(npc, player)
+			npc:disappear()
+			world:gainAchievement("NORGAN_SAVED", player)
+		end},
+	}
+}
+
+return "welcome"
diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua
index b40de107e3f18ac29a6d57e65dd5cffc5fd7ee88..7ed1dd8d4e4f17d54a80db98471e732339940f3d 100644
--- a/game/modules/tome/data/damage_types.lua
+++ b/game/modules/tome/data/damage_types.lua
@@ -701,7 +701,7 @@ newDamageType{
 	projector = function(src, x, y, type, dam)
 		local realdam = DamageType:get(DamageType.FIRE).projector(src, x, y, DamageType.FIRE, dam)
 		local target = game.level.map(x, y, Map.ACTOR)
-		if target and src:attr("cleansing_flames") then
+		if target and src:attr("cleansing_flames") and rng.percent(src:attr("cleansing_flames")) then
 			local effs = {}
 			local status = (src:reactionToward(target) >= 0) and "detrimental" or "beneficial"
 			for eff_id, p in pairs(target.tmp) do
diff --git a/game/modules/tome/data/maps/towns/iron-council.lua b/game/modules/tome/data/maps/towns/iron-council.lua
index ad6425b8d56bed4a5785b2330a76b1b2cf9bb180..41d964f80f529f715610de16ed7ee804d587ef84 100644
--- a/game/modules/tome/data/maps/towns/iron-council.lua
+++ b/game/modules/tome/data/maps/towns/iron-council.lua
@@ -17,6 +17,11 @@
 -- Nicolas Casalini "DarkGod"
 -- darkgod@te4.org
 
+startx = 34
+starty = 3
+endx = 6
+endy = 43
+
 -- defineTile section
 defineTile("D", "DEEP_BELLOW")
 defineTile("#", "HARDWALL")
diff --git a/game/modules/tome/data/maps/wilderness/eyal.lua b/game/modules/tome/data/maps/wilderness/eyal.lua
index 2534b0cbddcf429734d6f980ba499b5cf0131010..468ce1119cb3b06fab2a6412d679fe79c46400f6 100644
--- a/game/modules/tome/data/maps/wilderness/eyal.lua
+++ b/game/modules/tome/data/maps/wilderness/eyal.lua
@@ -98,6 +98,13 @@ else
 	quickEntity('zigur', ')')
 end
 
+-- Iron Council is only known to dwarves
+if game.player:knowTalent(game.player.T_DWARVEN_RESILIENCE) then
+	quickEntity('iron-council', {always_remember = true, show_tooltip=true, name="Iron Council (Town)", desc="Heart of the dwarven Empire", display='*', color={r=255, g=255, b=255}, back_color=colors.DARK_GREEN, image="terrain/town1.png", notice = true, change_level=1, change_zone="town-iron-council"})
+else
+	quickEntity('iron-council', '#')
+end
+
 -- Load encounters for this map
 prepareEntitiesList("maj_eyal_encounters", "mod.class.Encounter", "/data/general/encounters/maj-eyal.lua")
 prepareEntitiesList("maj_eyal_encounters_npcs", "mod.class.WorldNPC", "/data/general/encounters/maj-eyal-npcs.lua")
@@ -168,6 +175,11 @@ addSpot({32, 23}, "zone-pop", "shertul-fortress")
 addSpot({37, 32}, "zone-pop", "halfling-ruins")
 addSpot({31, 47}, "zone-pop", "rel-tunnel")
 addSpot({60, 9}, "zone-pop", "tempest-peak")
+addSpot({28, 13}, "playerpop", "allied")
+addSpot({70, 23}, "playerpop", "dwarf")
+addSpot({17, 42}, "playerpop", "shaloren")
+addSpot({27, 49}, "playerpop", "yeek")
+addSpot({39, 38}, "playerpop", "low-undead")
 
 -- addZone section
 addZone({5, 1, 82, 43}, "zonename", "Maj'Eyal")
@@ -215,7 +227,7 @@ return {
 {[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[v]],[[T]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[.]],[[!]],[[^]],[[^]],[[!]],[[.]],[[.]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[!]],[[!]],[[!]],[[!]],[[-]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[-]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[^]],[[(]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[w]],[[w]],[[!]],[[w]],[[w]],[[w]],[[w]],[[!]],[[.]],[[~]],[[~]],[[~]],},
 {[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[|]],[[T]],[[T]],[[!]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[v]],[[v]],[[v]],[[v]],[[.]],[[.]],[[!]],[[!]],[[!]],[[^]],[[^]],[[!]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[-]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[-]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[!]],[[!]],[[!]],[[-]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[.]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[^]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],},
 {[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[!]],[[!]],[[^]],[[^]],[[maze]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[v]],[[v]],[[v]],[[.]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[-]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[-]],[[.]],[[#]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[!]],[[!]],[[-]],[[-]],[[.]],[[.]],[[-]],[[-]],[[-]],[[-]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
-{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[old-forest]],[[v]],[[v]],[[v]],[[v]],[[!]],[[v]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[-]],[[.]],[[!]],[[#]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[.]],[[-]],[[-]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
+{[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[old-forest]],[[v]],[[v]],[[v]],[[v]],[[!]],[[v]],[[v]],[[v]],[[v]],[[!]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[.]],[[-]],[[.]],[[!]],[[iron-council]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[.]],[[-]],[[-]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[!]],[[^]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],[[~]],},
 {[[~]],[[~]],[[~]],[[~]],[[sandworm]],[[|]],[[|]],[[.]],[[T]],[[T]],[[^]],[[^]],[[angolwen]],[[^]],[[angolwen-teleport]],[[!]],[[.]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[.]],[[v]],[[v]],[[v]],[[*]],[[*]],[[-]],[[-]],[[v]],[[v]],[[v]],[[!]],[[!]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[-]],[[.]],[[!]],[[!]],[[#]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[-]],[[-]],[[!]],[[!]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[!]],[[!]],[[.]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[!]],[[!]],[[.]],[[.]],[[~]],[[~]],[[~]],},
 {[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[.]],[[T]],[[^]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[v]],[[v]],[[v]],[[*]],[[*]],[[v]],[[-]],[[-]],[[v]],[[v]],[[!]],[[!]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[T]],[[T]],[[.]],[[.]],[[-]],[[.]],[[.]],[[!]],[[#]],[[#]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[.]],[[-]],[[!]],[[!]],[[!]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[(]],[[(]],[[(]],[[(]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[!]],[[w]],[[w]],[[w]],[[.]],[[~]],[[~]],[[~]],},
 {[[~]],[[~]],[[~]],[[~]],[[|]],[[|]],[[|]],[[.]],[[.]],[[T]],[[T]],[[^]],[[^]],[[^]],[[!]],[[!]],[[.]],[[.]],[[.]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[westreach-lake]],[[.]],[[.]],[[.]],[[v]],[[v]],[[*]],[[*]],[[v]],[[v]],[[-]],[[-]],[[v]],[[v]],[[v]],[[^]],[[^]],[[^]],[[!]],[[.]],[[.]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[)]],[[.]],[[.]],[[T]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[T]],[[T]],[[T]],[[.]],[[irondeep-lake]],[[irondeep-lake]],[[.]],[[!]],[[!]],[[!]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[~]],[[.]],[[.]],[[.]],[[.]],[[-]],[[!]],[[!]],[[T]],[[T]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[!]],[[(]],[[T]],[[T]],[[.]],[[.]],[[.]],[[.]],[[.]],[[.]],[[!]],[[w]],[[w]],[[w]],[[w]],[[.]],[[.]],[[~]],[[~]],[[~]],},
diff --git a/game/modules/tome/data/quests/deep-bellow.lua b/game/modules/tome/data/quests/deep-bellow.lua
new file mode 100644
index 0000000000000000000000000000000000000000..40a2d18de2dd1daa803b061959221fcc0310d521
--- /dev/null
+++ b/game/modules/tome/data/quests/deep-bellow.lua
@@ -0,0 +1,34 @@
+-- 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
+
+name = "From bellow, it devours"
+desc = function(self, who)
+	local desc = {}
+	desc[#desc+1] = "Your escape from Reknor got your heart pounding and your desire for wealth and power increased tenfolds."
+	desc[#desc+1] = "Maybe it is time for you to start an adventurer's career. Deep down the Iron Throne mountains lies the Deep Bellow."
+	desc[#desc+1] = "It has been long sealed away but still, from time to time adventurers go there looking for wealth."
+	desc[#desc+1] = "None that you know of has come back yet, but you did survive Reknor. You are great."
+	return table.concat(desc, "\n")
+end
+
+on_status_change = function(self, who, status, sub)
+	if self:isCompleted() then
+		who:setQuestStatus(self.id, engine.Quest.DONE)
+	end
+end
diff --git a/game/modules/tome/data/quests/start-dwarf.lua b/game/modules/tome/data/quests/start-dwarf.lua
new file mode 100644
index 0000000000000000000000000000000000000000..b0b489a371fc36d0ef15918838654a68fb2f75d3
--- /dev/null
+++ b/game/modules/tome/data/quests/start-dwarf.lua
@@ -0,0 +1,51 @@
+-- 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
+
+name = "Reknor is lost!"
+desc = function(self, who)
+	local desc = {}
+	desc[#desc+1] = "You were part of a group of dwarves sent to investigate the situation of the kingdom of Reknor."
+	desc[#desc+1] = "When you arrived there you found nothing but orcs, well organized and very powerful."
+	desc[#desc+1] = "Most of your team was killed there and now you and Norgan (the sole survivor besides you) must hurry to go back to the Iron Council to bring the news."
+	desc[#desc+1] = "Let nothing stop you."
+	if self:isCompleted("norgan-survived") then
+		desc[#desc+1] = "Both Norgan and you made it home."
+	end
+	return table.concat(desc, "\n")
+end
+
+on_status_change = function(self, who, status, sub)
+	if self:isCompleted() then
+		who:setQuestStatus(self.id, engine.Quest.DONE)
+		who:grantQuest("deep-bellow")
+		who:grantQuest("starter-zones")
+	end
+end
+
+on_grant = function(self, who)
+	local x, y = util.findFreeGrid(game.player.x, game.player.y, 20, true, {[engine.Map.ACTOR]=true})
+	local norgan = game.zone:makeEntityByName(game.level, "actor", "NORGAN")
+	game.zone:addEntity(game.level, norgan, "actor", x, y)
+
+	game.party:addMember(norgan, {
+		control="order", type="squadmate", title="Norgan",
+		orders = {leash=true, follow=true}, -- behavior=true},
+	})
+	norgan.ai_state.tactic_follow_leader = true
+end
diff --git a/game/modules/tome/data/zones/reknor-escape/grids.lua b/game/modules/tome/data/zones/reknor-escape/grids.lua
new file mode 100644
index 0000000000000000000000000000000000000000..7da9005e8968dc1ca17ceea5d237dc8a6fa806a4
--- /dev/null
+++ b/game/modules/tome/data/zones/reknor-escape/grids.lua
@@ -0,0 +1,20 @@
+-- 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
+
+load("/data/general/grids/basic.lua")
diff --git a/game/modules/tome/data/zones/reknor-escape/npcs.lua b/game/modules/tome/data/zones/reknor-escape/npcs.lua
new file mode 100644
index 0000000000000000000000000000000000000000..741129f961073da28ac7d7145c3b0b9549b311a8
--- /dev/null
+++ b/game/modules/tome/data/zones/reknor-escape/npcs.lua
@@ -0,0 +1,110 @@
+-- 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
+
+load("/data/general/npcs/rodent.lua", rarity(0))
+load("/data/general/npcs/vermin.lua", rarity(2))
+load("/data/general/npcs/molds.lua", rarity(1))
+load("/data/general/npcs/skeleton.lua", rarity(0))
+load("/data/general/npcs/snake.lua", rarity(2))
+
+load("/data/general/npcs/all.lua", rarity(4, 35))
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{ define_as = "BROTOQ",
+	allow_infinite_dungeon = true,
+	type = "undead", subtype = "skeleton", unique = true,
+	name = "The Shade",
+	display = "s", color=colors.VIOLET,
+	shader = "unique_glow",
+	desc = [[This skeleton looks nasty. There are red flames in its empty eye sockets. It wields a nasty sword and strides toward you, throwing spells.]],
+	level_range = {7, nil}, exp_worth = 2,
+	max_life = 150, life_rating = 15, fixed_rating = true,
+	max_mana = 85,
+	max_stamina = 85,
+	rank = 4,
+	size_category = 3,
+	undead = 1,
+	infravision = 20,
+	stats = { str=16, dex=12, cun=14, mag=25, con=16 },
+	instakill_immune = 1,
+	blind_immune = 1,
+	bleed_immune = 1,
+	move_others=true,
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
+	equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_KOR", random_art_replace={chance=75}, autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
+	drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
+
+	resolvers.talents{
+		[Talents.T_MANATHRUST]=4, [Talents.T_FREEZE]=4, [Talents.T_TIDAL_WAVE]=2,
+		[Talents.T_WEAPONS_MASTERY]=3,
+	},
+	resolvers.inscriptions(1, {"shielding rune", "phase door rune"}),
+	resolvers.inscriptions(1, {"manasurge rune"}),
+	inc_damage = {all=-20},
+
+	autolevel = "warriormage",
+	ai = "tactical", ai_state = { talent_in=3, ai_move="move_astar", },
+
+	on_die = function(self, who)
+		game.state:activateBackupGuardian("KOR_FURY", 5, 35, ".. yes I tell you! The old ruins of Kor'Pul are still haunted!")
+		game.player:resolveSource():grantQuest("start-allied")
+		game.player:resolveSource():setQuestStatus("start-allied", engine.Quest.COMPLETED, "kor-pul")
+	end,
+}
+
+-- Your ally
+newEntity{ define_as = "NORGAN",
+	type = "humanoid", subtype = "dwarf", unique = true,
+	name = "Norgan",
+	display = "@", color=colors.UMBER,
+	faction = "iron-throne",
+	desc = [[Norgan and you are the sole survivors of the Reknor expedition, your duty is to make sure the news come back to the Iron Council.]],
+	level_range = {1, 1},
+	max_life = 120, life_rating = 12, fixed_rating = true,
+	rank = 3,
+	stats = { str=19, dex=10, cun=12, mag=8, con=16, wil=13 },
+	move_others=true,
+	never_anger = true,
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, LITE=1 },
+	equipment = resolvers.equip{
+		{type="weapon", subtype="greatmaul", name="iron greatmaul", autoreq=true},
+		{type="armor", subtype="heavy", name="iron mail armour", autoreq=true},
+		{type="lite", subtype="lite", name="brass lantern"},
+	},
+
+	resolvers.talents{
+		[Talents.T_DWARF_RESILIENCE]=1,
+		[Talents.T_HEAVY_ARMOUR_TRAINING]=1,
+		[Talents.T_STUNNING_BLOW]=2,
+		[Talents.T_WEAPON_COMBAT]=2,
+		[Talents.T_WEAPONS_MASTERY]=2,
+	},
+	resolvers.inscriptions(1, {"regeneration infusion"}),
+
+	autolevel = "zerker",
+	ai = "tactical", ai_state = { talent_in=1, ai_move="move_astar", },
+	ai_tactic = resolvers.tactic"melee",
+
+	on_die = function(self, who)
+		game.player:resolveSource():setQuestStatus("start-dwarf", engine.Quest.COMPLETED, "norgan-dead")
+	end,
+}
diff --git a/game/modules/tome/data/zones/reknor-escape/objects.lua b/game/modules/tome/data/zones/reknor-escape/objects.lua
new file mode 100644
index 0000000000000000000000000000000000000000..4e7b8c6c6405bb629806f2279b08ee9e45700cf7
--- /dev/null
+++ b/game/modules/tome/data/zones/reknor-escape/objects.lua
@@ -0,0 +1,20 @@
+-- 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
+
+load("/data/general/objects/objects.lua")
diff --git a/game/modules/tome/data/zones/reknor-escape/traps.lua b/game/modules/tome/data/zones/reknor-escape/traps.lua
new file mode 100644
index 0000000000000000000000000000000000000000..f8f844f583d30b1999a9bf7a520221cdebdfa557
--- /dev/null
+++ b/game/modules/tome/data/zones/reknor-escape/traps.lua
@@ -0,0 +1,20 @@
+-- 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
+
+load("/data/general/traps/elemental.lua")
diff --git a/game/modules/tome/data/zones/reknor-escape/zone.lua b/game/modules/tome/data/zones/reknor-escape/zone.lua
new file mode 100644
index 0000000000000000000000000000000000000000..7c739855de842ef48091ce41b759174ed7b55354
--- /dev/null
+++ b/game/modules/tome/data/zones/reknor-escape/zone.lua
@@ -0,0 +1,102 @@
+-- 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
+
+return {
+	name = "Escape from Reknor",
+	level_range = {1, 5},
+	level_scheme = "player",
+	max_level = 5,
+	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,
+--	all_remembered = true,
+--	all_lited = true,
+	persistent = "zone",
+	ambient_music = "Swashing the buck.ogg",
+	generator =  {
+		map = {
+			class = "engine.generator.map.TileSet",
+			tileset = {"7x7/base", "7x7/tunnel",},
+			['.'] = "FLOOR",
+			['#'] = "WALL",
+			['+'] = "DOOR",
+			["'"] = "DOOR",
+			up = "UP",
+			down = "DOWN",
+			force_down = true,
+		},
+		actor = {
+			class = "engine.generator.actor.Random",
+			nb_npc = {50, 60},
+			filters = { {max_ood=2}, },
+			nb_spots = 2, on_spot_chance = 35,
+		},
+		object = {
+			class = "engine.generator.object.Random",
+			nb_object = {6, 9},
+			nb_spots = 2, on_spot_chance = 80,
+		},
+		trap = {
+			class = "engine.generator.trap.Random",
+			nb_trap = {6, 9},
+		},
+	},
+	levels =
+	{
+		[1] = {
+			generator = { map = {
+				up = "UP_WILDERNESS",
+			}, },
+		},
+	},
+
+	on_enter = function(lev, old_lev, new_zone)
+		if lev == 2 then
+			game.player:forceLevelup(2)
+			local norgan = game.party:findMember{type="squadmate"}
+			if norgan then norgan:forceLevelup(2) end
+		end
+		if lev == 4 then
+			game.player:forceLevelup(3)
+			local norgan = game.party:findMember{type="squadmate"}
+			if norgan then norgan:forceLevelup(3) end
+		end
+	end,
+
+	on_turn = function(self)
+		if not game.level.turn_counter then return end
+		game.level.turn_counter = game.level.turn_counter - 1
+		game.player.changed = true
+		if game.level.turn_counter < 0 then
+			game.level.turn_counter = nil
+			game.player:hasQuest("master-jeweler"):ritual_end()
+		end
+	end,
+	on_leave = function(lev, old_lev, newzone)
+		if not newzone then return end
+
+		local norgan = game.party:findMember{type="squadmate"}
+		if norgan then game.player:setQuestStatus("start-dwarf", engine.Quest.COMPLETED, "norgan") end
+		game.player:setQuestStatus("start-dwarf", engine.Quest.COMPLETED)
+		if norgan then
+			local chat = require("engine.Chat").new("norgan-saved", norgan, game.player)
+			chat:invoke()
+		end
+	end,
+}
diff --git a/game/modules/tome/data/zones/town-iron-council/grids.lua b/game/modules/tome/data/zones/town-iron-council/grids.lua
new file mode 100644
index 0000000000000000000000000000000000000000..1cfa068e90d54558d52045cb1f256bab2409743d
--- /dev/null
+++ b/game/modules/tome/data/zones/town-iron-council/grids.lua
@@ -0,0 +1,46 @@
+-- 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
+
+load("/data/general/grids/basic.lua")
+load("/data/general/grids/underground.lua")
+
+for i = 1, 20 do
+newEntity{
+	define_as = "CRYSTAL_WALL"..(i > 1 and i or ""),
+	type = "wall", subtype = "underground",
+	name = "crystals",
+	image = "terrain/oldstone_floor.png",
+	add_displays = class:makeCrystals("terrain/crystal_alpha"),
+	display = '#', color=colors.LIGHT_BLUE, back_color=colors.UMBER,
+	always_remember = true,
+	can_pass = {pass_wall=1},
+	does_block_move = true,
+	block_sight = true,
+	dig = "CRYSTAL_FLOOR",
+}
+end
+
+newEntity{ base = "DOWN", define_as = "ESCAPE_REKNOR", change_zone="reknor-escape" }
+newEntity{ base = "DOWN", define_as = "DEEP_BELLOW", change_zone="deep-bellow" }
+
+newEntity{ define_as = "STATUE",
+	display = '@', image="terrain/oldstone_floor.png", add_displays = {mod.class.Grid.new{image="terrain/statue1.png"}},
+	does_block_move = true,
+	block_sight = true,
+}
diff --git a/game/modules/tome/data/zones/town-iron-council/npcs.lua b/game/modules/tome/data/zones/town-iron-council/npcs.lua
new file mode 100644
index 0000000000000000000000000000000000000000..8995e719f66918efda60c1ce44bd8af42a275773
--- /dev/null
+++ b/game/modules/tome/data/zones/town-iron-council/npcs.lua
@@ -0,0 +1,73 @@
+-- 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
+
+load("/data/general/npcs/gwelgoroth.lua", function(e) if e.rarity then e.derth_rarity, e.rarity = e.rarity, nil end end)
+
+local Talents = require("engine.interface.ActorTalents")
+
+newEntity{
+	define_as = "BASE_NPC_ELVALA_TOWN",
+	type = "humanoid", subtype = "elf",
+	display = "p", color=colors.WHITE,
+	faction = "shalore",
+	anger_emote = "Catch @himher@!",
+
+	combat = { dam=resolvers.rngavg(1,2), atk=2, apr=0, dammod={str=0.4} },
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, QUIVER=1 },
+	lite = 3,
+
+	life_rating = 10,
+	rank = 2,
+	size_category = 3,
+
+	open_door = true,
+
+	resolvers.inscriptions(1, "rune"),
+
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { ai_move="move_dmap", talent_in=3, },
+	energy = { mod=1 },
+	stats = { str=12, dex=8, mag=6, con=10 },
+}
+
+newEntity{ base = "BASE_NPC_ELVALA_TOWN",
+	name = "elvala guard", color=colors.LIGHT_UMBER,
+	desc = [[A stern-looking guard, he will not let you disturb the town.]],
+	level_range = {1, nil}, exp_worth = 1,
+	rarity = 3,
+	max_life = resolvers.rngavg(70,80),
+	resolvers.equip{
+		{type="weapon", subtype="longsword", autoreq=true},
+		{type="armor", subtype="shield", autoreq=true},
+	},
+	combat_armor = 2, combat_def = 0,
+	resolvers.talents{ [Talents.T_RUSH]=1, [Talents.T_PERFECT_STRIKE]=1, },
+}
+
+newEntity{ base = "BASE_NPC_ELVALA_TOWN",
+	name = "shalore rune master", color=colors.RED,
+	desc = [[A tall elf, his skin covered in runes.]],
+	level_range = {1, nil}, exp_worth = 1,
+	rarity = 3,
+	max_life = resolvers.rngavg(50,60),
+	ai_state = { talent_in=1, },
+	autolevel = "caster",
+	resolvers.inscriptions(3, {"heat beam rune", "frozen spear rune", "acid wave rune", "lightning rune"}),
+}
diff --git a/game/modules/tome/data/zones/town-iron-council/objects.lua b/game/modules/tome/data/zones/town-iron-council/objects.lua
new file mode 100644
index 0000000000000000000000000000000000000000..4e7b8c6c6405bb629806f2279b08ee9e45700cf7
--- /dev/null
+++ b/game/modules/tome/data/zones/town-iron-council/objects.lua
@@ -0,0 +1,20 @@
+-- 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
+
+load("/data/general/objects/objects.lua")
diff --git a/game/modules/tome/data/zones/town-iron-council/traps.lua b/game/modules/tome/data/zones/town-iron-council/traps.lua
new file mode 100644
index 0000000000000000000000000000000000000000..39d3369e9a311954c8b25ff9828e5246889d1dcf
--- /dev/null
+++ b/game/modules/tome/data/zones/town-iron-council/traps.lua
@@ -0,0 +1,44 @@
+-- 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
+
+load("/data/general/traps/store.lua")
+
+newEntity{ base = "BASE_STORE", define_as = "ARMOR_STORE",
+	name="Armoury",
+	display='2', color=colors.UMBER,
+	resolvers.store("ARMOR", "iron-throne"),
+}
+
+newEntity{ base = "BASE_STORE", define_as = "WEAPON_STORE",
+	name="Weapon Store",
+	display='3', color=colors.UMBER,
+	resolvers.store("WEAPON", "iron-throne"),
+}
+
+newEntity{ base = "BASE_STORE", define_as = "RUNIC_STORE",
+	name="Runemaster",
+	display='5', color=colors.RED,
+	resolvers.store("SCROLL", "iron-throne"),
+}
+
+newEntity{ base = "BASE_STORE", define_as = "GEM_STORE",
+	name="Jewelry",
+	display='9', color=colors.LIGHT_RED,
+	resolvers.store("GEMSTORE", "iron-throne"),
+}
diff --git a/game/modules/tome/data/zones/town-iron-council/zone.lua b/game/modules/tome/data/zones/town-iron-council/zone.lua
new file mode 100644
index 0000000000000000000000000000000000000000..d452aaa899b0aaa32e5a0c535f77a847c12d8fbf
--- /dev/null
+++ b/game/modules/tome/data/zones/town-iron-council/zone.lua
@@ -0,0 +1,47 @@
+-- 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
+
+return {
+	name = "Iron Council",
+	level_range = {1, 15},
+	level_scheme = "player",
+	actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
+	update_base_level_on_enter = true,
+	max_level = 1,
+	width = 196, height = 80,
+	decay = {300, 800, only={object=true}, no_respawn=true},
+	persistent = "zone",
+	all_remembered = true,
+	all_lited = true,
+	ambient_music = "Virtue lost.ogg",
+	generator =  {
+		map = {
+			class = "engine.generator.map.Static",
+			map = "towns/iron-council",
+		},
+		actor = {
+			class = "engine.generator.actor.Random",
+			nb_npc = {10, 10},
+		},
+		object = {
+			class = "engine.generator.object.Random",
+			nb_object = {0, 0},
+		},
+	},
+}
diff --git a/tiled-maps/eyal2.tmx b/tiled-maps/eyal2.tmx
index 44ef05d285ef47744abdb4c715810db45a390096..adb07f7951909e14c67acbe92c82c4b61482c8ce 100644
--- a/tiled-maps/eyal2.tmx
+++ b/tiled-maps/eyal2.tmx
@@ -267,10 +267,15 @@
     <property name="display" value="rhaloren-camp"/>
    </properties>
   </tile>
+  <tile id="24">
+   <properties>
+    <property name="display" value="iron-council"/>
+   </properties>
+  </tile>
  </tileset>
  <layer name="Terrain" width="170" height="100">
   <data encoding="base64" compression="zlib">
-   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
+   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
   </data>
  </layer>
  <objectgroup name="addSpot#pops" width="170" height="100">
@@ -556,6 +561,36 @@
     <property name="type" value="&quot;zone-pop&quot;"/>
    </properties>
   </object>
+  <object name="Start: Allied" x="899" y="419" width="26" height="24">
+   <properties>
+    <property name="subtype" value="&quot;allied&quot;"/>
+    <property name="type" value="&quot;playerpop&quot;"/>
+   </properties>
+  </object>
+  <object name="Start: Dwarves" x="2243" y="740" width="26" height="24">
+   <properties>
+    <property name="subtype" value="&quot;dwarf&quot;"/>
+    <property name="type" value="&quot;playerpop&quot;"/>
+   </properties>
+  </object>
+  <object name="Start: Shaloren" x="547" y="1347" width="26" height="24">
+   <properties>
+    <property name="subtype" value="&quot;shaloren&quot;"/>
+    <property name="type" value="&quot;playerpop&quot;"/>
+   </properties>
+  </object>
+  <object name="Start: Yeek" x="866" y="1571" width="26" height="24">
+   <properties>
+    <property name="subtype" value="&quot;yeek&quot;"/>
+    <property name="type" value="&quot;playerpop&quot;"/>
+   </properties>
+  </object>
+  <object name="Start: Low Undeads" x="1250" y="1219" width="26" height="24">
+   <properties>
+    <property name="subtype" value="&quot;low-undead&quot;"/>
+    <property name="type" value="&quot;playerpop&quot;"/>
+   </properties>
+  </object>
  </objectgroup>
  <objectgroup name="addZone#zonenames" width="170" height="100" visible="0">
   <object name="Maj'Eyal" x="171" y="56" width="2478" height="1344">