diff --git a/game/modules/tome/data/maps/wilderness/main.lua b/game/modules/tome/data/maps/wilderness/main.lua
index 16dc0b3a4823151ed4dc9028e4a0844ae322bf73..34704b291632116f205063f4f2fc240b23eeb566 100644
--- a/game/modules/tome/data/maps/wilderness/main.lua
+++ b/game/modules/tome/data/maps/wilderness/main.lua
@@ -21,6 +21,7 @@ quickEntity('B', {name="Passageway into the Trollshaws", 	display='>', color={r=
 quickEntity('C', {name="A gate into a maze", 			display='>', color={r=0, g=255, b=255}, change_level=1, change_zone="maze"})
 quickEntity('D', {name="A path into the Old Forest", 		display='>', color={r=0, g=255, b=155}, change_level=1, change_zone="old-forest"})
 quickEntity('E', {name="A mysterious hole in the beach", 	display='>', color={r=200, g=255, b=55}, change_level=1, change_zone="sandworm-lair"})
+quickEntity('F', {name="The entry to the old tower of Tol Falas",display='>', color={r=0, g=255, b=255}, change_level=1, change_zone="tol-falas"})
 
 return {
 [[========q=qqqqqqqqqgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg]],
@@ -80,7 +81,7 @@ return {
 [[============================.t^._.hhhhhhhh...__...._^&^&&&&&.~..dd""""""""""""======_"""""""""""aaa]],
 [[===========================.^^._...h.h........._.._.^&^^._^3.~..dd"""_"_"""""=====""""""""""""aaadd]],
 [[==========================..^^.._.....===.=====_._&^...._...^.~.dd"__"_"__======"""""aa""""aaaadddd]],
-[[==========================.h...._...===========_&&^...._._...~~.dd_""""""""""""_""a"aaaaaaaaddddddd]],
+[[==========================.h...._...=====F=====_&&^...._._...~~.dd_""""""""""""_""a"aaaaaaaaddddddd]],
 [[========================.hhh=...=_.==========&^^^^.._._..._.~~..ddd""ddd""d"""dd_ddaadddddddddddddd]],
 [[======================....=====.==============^.^._=._.....~~...ddddddddddddddddddddddddddddddddddd]],
 [[==============================================.^^^==....~~~~....................ddddddddddddddddddd]],
diff --git a/game/modules/tome/data/zones/tol-falas/grids.lua b/game/modules/tome/data/zones/tol-falas/grids.lua
new file mode 100644
index 0000000000000000000000000000000000000000..bc1ca76f543260a51f0280590cab61eeed6ddf42
--- /dev/null
+++ b/game/modules/tome/data/zones/tol-falas/grids.lua
@@ -0,0 +1 @@
+load("/data/general/grids/basic.lua")
diff --git a/game/modules/tome/data/zones/tol-falas/npcs.lua b/game/modules/tome/data/zones/tol-falas/npcs.lua
new file mode 100644
index 0000000000000000000000000000000000000000..54e3da8472a2a979d9d3244c4fa6fbcb18eb43be
--- /dev/null
+++ b/game/modules/tome/data/zones/tol-falas/npcs.lua
@@ -0,0 +1,32 @@
+load("/data/general/npcs/rodent.lua")
+load("/data/general/npcs/vermin.lua")
+load("/data/general/npcs/molds.lua")
+load("/data/general/npcs/skeleton.lua")
+load("/data/general/npcs/snake.lua")
+
+local Talents = require("engine.interface.ActorTalents")
+
+-- The boss of Amon Sul, no "rarity" field means it will not be randomly generated
+newEntity{ define_as = "SHADE_OF_ANGMAR",
+	type = "undead", subtype = "skeleton", unique = true,
+	name = "The Shade of Angmar",
+	display = "s", color=colors.VIOLET,
+	desc = [[This skeleton looks nasty. There is red flames in its empty eye sockets. It wield a nasty sword and towers toward you, throwing spells.]],
+	level_range = {7, 10}, exp_worth = 2,
+	max_life = 150, life_rating = 15, fixed_rating = true,
+	max_mana = 85,
+	max_stamina = 85,
+	stats = { str=16, dex=12, cun=14, mag=25, con=16 },
+
+	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
+	equipment = resolvers.equip{ {type="weapon", subtype="stagg", defined="STAFF_ANGMAR"}, {type="armor", subtype="light"}, },
+	drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
+
+	talents = resolvers.talents{
+		[Talents.T_MANA_POOL]=1, [Talents.T_MANATHRUST]=4, [Talents.T_FREEZE]=4, [Talents.T_TIDAL_WAVE]=2,
+		[Talents.T_STAMINA_POOL]=1, [Talents.T_SWORD_MASTERY]=3, [Talents.T_STUNNING_BLOW]=1,
+	},
+
+	autolevel = "warriormage",
+	ai = "dumb_talented_simple", ai_state = { talent_in=4, },
+}
diff --git a/game/modules/tome/data/zones/tol-falas/objects.lua b/game/modules/tome/data/zones/tol-falas/objects.lua
new file mode 100644
index 0000000000000000000000000000000000000000..cd1f9347928f61e098a8e7a41b3966fa79dfac80
--- /dev/null
+++ b/game/modules/tome/data/zones/tol-falas/objects.lua
@@ -0,0 +1,21 @@
+load("/data/general/objects/objects.lua")
+
+-- Artifact, droped (and used!) by the Shade of Angmar
+newEntity{ base = "BASE_STAFF",
+	define_as = "STAFF_ANGMAR", rarity=false,
+	name = "Angmar's Fall", unique=true,
+	desc = [[Made from the bones of of many creatures this staff glows with power. You can feel its evilness as you touch it.]],
+	require = { stat = { mag=25 }, },
+	cost = 5,
+	combat = {
+		dam = 10,
+		apr = 0,
+		physcrit = 1.5,
+		dammod = {mag=1.1},
+	},
+	wielder = {
+		see_invisible = 2,
+		combat_spellpower = 15,
+		combat_spellcrit = 8,
+	},
+}
diff --git a/game/modules/tome/data/zones/tol-falas/traps.lua b/game/modules/tome/data/zones/tol-falas/traps.lua
new file mode 100644
index 0000000000000000000000000000000000000000..61e5f0daf639c9f18947c9f2431c5ccdc17720fc
--- /dev/null
+++ b/game/modules/tome/data/zones/tol-falas/traps.lua
@@ -0,0 +1 @@
+load("/data/general/traps/elemental.lua")
diff --git a/game/modules/tome/data/zones/tol-falas/zone.lua b/game/modules/tome/data/zones/tol-falas/zone.lua
new file mode 100644
index 0000000000000000000000000000000000000000..9a1d92d42327bf42fc57e562e4811e12701ef08f
--- /dev/null
+++ b/game/modules/tome/data/zones/tol-falas/zone.lua
@@ -0,0 +1,46 @@
+return {
+	name = "Tol Falas",
+	level_range = {14, 25},
+	level_scheme = "player",
+	max_level = 9,
+	width = 50, height = 50,
+--	all_remembered = true,
+--	all_lited = true,
+	persistant = true,
+	generator =  {
+		map = {
+			class = "engine.generator.map.Roomer",
+			nb_rooms = 10,
+			rooms = {"simple", "pilar"},
+			lite_room_chance = 100,
+			['.'] = "FLOOR",
+			['#'] = "WALL",
+			up = "UP",
+			down = "DOWN",
+			door = "DOOR",
+		},
+		actor = {
+			class = "engine.generator.actor.Random",
+			nb_npc = {20, 30},
+			adjust_level = {-1, 2},
+			guardian = "SHADE_OF_ANGMAR",
+		},
+		object = {
+			class = "engine.generator.object.Random",
+			nb_object = {6, 9},
+			filters = { {ego_chance = 20} }
+		},
+		trap = {
+			class = "engine.generator.trap.Random",
+			nb_trap = {6, 9},
+		},
+	},
+	levels =
+	{
+		[1] = {
+			generator = { map = {
+				up = "UP_WILDERNESS",
+			}, },
+		},
+	},
+}