diff --git a/game/engine/ButtonList.lua b/game/engine/ButtonList.lua
index 5916746356cff4839925a1b25764c355f171486e..7af678c90552f91a41920887daca65906af2399f 100644
--- a/game/engine/ButtonList.lua
+++ b/game/engine/ButtonList.lua
@@ -18,6 +18,7 @@ function _M:init(list, x, y, w, h, font, separator)
 	self.list = list
 	if not font then self.font = core.display.newFont("/data/font/VeraBd.ttf", 16) end
 	self.surface = core.display.newSurface(w, h)
+	self.texture = self.surface:glTexture()
 	self.surface:erase()
 
 	self.selected = 0
@@ -100,6 +101,7 @@ end
 function _M:display()
 	if not self.changed then return self.surface end
 
+	self.surface:erase()
 	for i, b in ipairs(self.list) do
 		if i == self.selected then
 			self.surface:merge(b.ssel, 0, (i - 1) * (b.h + self.separator))
@@ -111,13 +113,17 @@ function _M:display()
 	return self.surface
 end
 
+function _M:toScreen(x,y)
+	self.surface:toScreenWithTexture(self.texture,x,y)
+end
+
 function _M:makeButton(name, font, w, h, sel)
 	font = font or self.font
 	local s = core.display.newSurface(w, h)
 	if sel then
-		s:erase(143, 155, 85)
+		s:erase(143, 155, 85, 200)
 	end
-	s:alpha(255)
+	s:erase(0,0,0,200)
 
 	s:merge(tiles:get(nil, 0,0,0, 0,0,0, "border_7"..(sel and "_sel" or "")..".png"), 0, 0)
 	s:merge(tiles:get(nil, 0,0,0, 0,0,0, "border_9"..(sel and "_sel" or "")..".png"), w - 8, 0)
diff --git a/game/engine/Dialog.lua b/game/engine/Dialog.lua
index 777671e595cd4042fc719b364162c5b4a2cd1c55..12106501f23628e1a51d2eae2a8e83205bf2266f 100644
--- a/game/engine/Dialog.lua
+++ b/game/engine/Dialog.lua
@@ -68,7 +68,7 @@ function _M:display()
 end
 
 function _M:toScreen(x,y)
-   self.surface:toScreenWithTexture(self.texture,x,y)
+	self.surface:toScreenWithTexture(self.texture,x,y)
 end
 
 function _M:drawDialog(s)
diff --git a/game/engine/Entity.lua b/game/engine/Entity.lua
index 7a7c27fe29c914dfdc64c4002aa282e8aef16fa7..f7ac209c18f7f6f3ba6095c4c37f2c3857a6eacb 100644
--- a/game/engine/Entity.lua
+++ b/game/engine/Entity.lua
@@ -103,6 +103,11 @@ function _M:resolve(t)
 			self:resolve(e)
 		end
 	end
+
+	-- Finish resolving stuff
+	if t == self then
+		if self.resolveLevel then self:resolveLevel() end
+	end
 end
 
 --- Check for an entity's property
diff --git a/game/engine/generator/map/Static.lua b/game/engine/generator/map/Static.lua
index 6a69f5d649728fe95ddc4d1ce58d03a9f9d72c0d..6258ada1d1cc56b881c8b4f0d9783b309f573ab9 100644
--- a/game/engine/generator/map/Static.lua
+++ b/game/engine/generator/map/Static.lua
@@ -39,6 +39,9 @@ function _M:loadMap(file)
 		end
 	end
 
+	m.startx = ret.startx or math.floor(m.w / 2)
+	m.starty = ret.starty or math.floor(m.h / 2)
+
 	self.gen_map = m
 	self.tiles = t
 end
@@ -65,6 +68,5 @@ function _M:generate()
 --		self.map(i-1, j-1, Map.ACTOR, self.gen_map[i][j].actor)
 	end end
 
-	-- Always starts at 1, 1
-	return 1, 1
+	return self.gen_map.startx, self.gen_map.starty
 end
diff --git a/game/engine/interface/ActorLevel.lua b/game/engine/interface/ActorLevel.lua
index f62e051e30a0dbf9b2b5a3a8efa57a7945c5f039..39914387135556ea01068ff4cb25e84f19ade720 100644
--- a/game/engine/interface/ActorLevel.lua
+++ b/game/engine/interface/ActorLevel.lua
@@ -17,16 +17,24 @@ end
 
 function _M:init(t)
 	if t.level_range then
-		self.level = t.level_range[1]
+		self.level = 1
+		self.start_level = t.level_range[1]
 		self.max_level = t.level_range[2]
 	else
-		self.level = t.level or 1
+		self.level = 1
+		self.start_level = t.level or 1
 	end
 	self.exp = t.exp or 0
 	self.exp_mod = t.exp_mod or 1
 	self.exp_worth = t.exp_worth or 1
 end
 
+--- Resolves the correct level
+-- called by self:resolve()
+function _M:resolveLevel()
+	self:forceLevelup(self.start_level)
+end
+
 --- Defines the experience chart used
 -- Static!
 -- @param chart etiher a table of format "[level] = exp_needed" or a function that takes one parameter, a level, and returns the experience needed to reach it.
@@ -72,6 +80,7 @@ end
 
 --- Forces an actor to levelup to "lev"
 function _M:forceLevelup(lev)
+print("force level", self.level, lev)
 	while self.level < lev do
 		-- At max level, if any
 		if self.max_level and self.level >= self.max_level then break end
diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index bd6d197f9ab1cec16e628d828160b3f77819f66d..c35e7ff1422a665cc7819f0cf7d0cf312372e905 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -43,6 +43,12 @@ function _M:init(t)
 
 	self.fatigue = 0
 
+	self.unused_stats = self.unused_stats or 0
+	self.unused_talents =  self.unused_talents or 0
+	self.unused_talents_types = self.unused_talents_types or 0
+
+	t.life_rating = t.life_rating or 10
+
 	-- Default melee barehanded damage
 	self.combat = { dam=1, atk=1, apr=0, dammod={str=1} }
 
@@ -50,14 +56,10 @@ function _M:init(t)
 	engine.interface.ActorInventory.init(self, t)
 	engine.interface.ActorTemporaryEffects.init(self, t)
 	engine.interface.ActorLife.init(self, t)
-	engine.interface.ActorLevel.init(self, t)
 	engine.interface.ActorStats.init(self, t)
 	engine.interface.ActorTalents.init(self, t)
 	engine.interface.ActorResource.init(self, t)
-
-	self.unused_stats = self.unused_stats or 0
-	self.unused_talents =  self.unused_talents or 0
-	self.unused_talents_types = self.unused_talents_types or 0
+	engine.interface.ActorLevel.init(self, t)
 end
 
 function _M:act()
@@ -127,7 +129,11 @@ function _M:levelup()
 	end
 
 	-- Gain life and resources
-	self.max_life = self.max_life + 10
+	local rating = self.life_rating
+	if not self.fixed_rating then
+		rating = rng.range(math.floor(self.life_rating * 0.5), math.floor(self.life_rating * 1.5))
+	end
+	self.max_life = self.max_life + rating
 		+ (self:knowTalent(self.T_IMPROVED_HEALTH_I) and 1 or 0)
 		+ (self:knowTalent(self.T_IMPROVED_HEALTH_II) and 1 or 0)
 		+ (self:knowTalent(self.T_IMPROVED_HEALTH_III) and 1 or 0)
diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index 9fab649556154b2de5cfc63f0139d75ad7fb111d..d7ae87c3bb61276a04b58378dd40522169049166 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -75,7 +75,7 @@ function _M:newGame()
 	self.player = Player.new{name=self.player_name}
 
 	local birth = Birther.new(self.player, {"base", "race", "subrace", "sex", "class", "subclass" }, function()
-		self.player.wild_x, self.player.wild_y = 10, 10
+		self.player.wild_x, self.player.wild_y = 38, 15
 		self:changeLevel(1)
 
 		local ds = LevelupStatsDialog.new(self.player)
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index be171e6944e0e2a3832b657fabacd01dea60d4fc..6c9e84bb343c3814099edeafe1bd58a358f99125 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -34,6 +34,8 @@ function _M:init(t)
 	self.mana_regen = 1
 	self.stamina_regen = 1
 	self.life_regen = 0.5
+	self.life_rating = 10
+	self.fixed_rating = true
 
 	self.max_life=85
 	self.max_mana=85
diff --git a/game/modules/tome/data/autolevel_schemes.lua b/game/modules/tome/data/autolevel_schemes.lua
index 6da042a9b82cf3e9bcbfc5400231ccddb5af1a60..93f48391c202f090316ebae1f2a62b9d11ff23e4 100644
--- a/game/modules/tome/data/autolevel_schemes.lua
+++ b/game/modules/tome/data/autolevel_schemes.lua
@@ -10,11 +10,11 @@ local function learnStats(self, statorder)
 end
 
 Autolevel:registerScheme{ name = "warrior", levelup = function(self)
-	-- 2 STR for 1 CON
-	learnStats(self, { self.STAT_STR, self.STAT_STR, self.STAT_CON })
+	-- 2 STR for 1 DEX
+	learnStats(self, { self.STAT_STR, self.STAT_STR, self.STAT_DEX })
 end}
 
 Autolevel:registerScheme{ name = "caster", levelup = function(self)
-	-- 2 STR for 1 CON
+	-- 2 MAG for 1 WIL
 	learnStats(self, { self.STAT_MAG, self.STAT_MAG, self.STAT_WIL })
 end}
diff --git a/game/modules/tome/data/maps/towns/bree.lua b/game/modules/tome/data/maps/towns/bree.lua
new file mode 100644
index 0000000000000000000000000000000000000000..b5ebbcf9d5ad873d6eea6a7a792339f770c05cb0
--- /dev/null
+++ b/game/modules/tome/data/maps/towns/bree.lua
@@ -0,0 +1,73 @@
+quickEntity(' ', {name='forest', display='#', color=colors.GREEN, block_move=true, block_sight=true})
+
+startx = 131
+starty = 33
+
+return {
+[[                                                                                                                  VV              --                                                                  ]],
+[[                                                                                                                   VV              --                                                                 ]],
+[[                                                                                                                     V              --                                                                ]],
+[[                                                                                                                      VV            --                                                                ]],
+[[                                                                                                                        VVV          --                                                               ]],
+[[                                                                                                                           VV        --                                                               ]],
+[[OOOOO                                                                                                                       V         --                                                              ]],
+[[    OOOO                                                                                                                     V        --                                                              ]],
+[[----   OOOOO                                                                                                                  VVV      ---                             VV                             ]],
+[[-------    OOOOOO                                                                                                                V      --                            VVVV                            ]],
+[[-----------     OO                                                                                                               V      --                           VVWWVVV                          ]],
+[[---------------  OO                                                                                                               VVV    --                        VVVWWWWWVVV                        ]],
+[[----------------  OOO                                                                                                               VVV   --                      VVWWWWWWWWWVV                       ]],
+[[------------------  OO                                                                                                                VVVVVVV                    VVWWWWWWWWWWWV                       ]],
+[[-------------------- OOOOO                                                                                                                 --VVVV   VVVVV        VVWWWWWWWWWWWVV                      ]],
+[[###------------------    OO                                                            ,,,,,,,,,,,,,,,,,,                                   --  VVVVV   VV    VVVVVVVWWWWWWWVVV                       ]],
+[[CCC####------------------ OOO                                                     ,,,,,CCCCCCCCCCCCCCCCCC,,,,,,,,,                           --          VVVVVV     VVVVWWVVV                         ]],
+[[TTTCCCC###---------------,, OO                                                 ,,,CCCCCCTTTTTTTTTTTTTTTTCCCCCCCCCC,,,,                        --                       VVVV                           ]],
+[[---TTTTCCC###---------,,,--  OO                                              ,,CCCCTTTTTT--------------TTTTTTTTTTCCCCC,,,,,                  ^--                                                      ]],
+[[-------TTTCCC##-----,,------  O                                            ,,CCCTTTT&.................----------TTTTTCCCCCC,,              ^^^ --                                                     ]],
+[[----------TTTCC##,,,--------  OO                                          ,CCCTTT....--ssssssss-..---..........-----TTTTTTCCC,,,          ^^    --                                                    ]],
+[[-------------TC,,###-    ---   OO                                        ,CCTTT...-----SSSSSSSS--.----------,,....&------TTTCCCC,,       ^^     --                                                    ]],
+[[--------------,TTCCC###    --   OOO                                    ,,CCTT...-,,,,--ssssssss-..-sssssssssss,---......---TTTTCCT,,    ^^       --                                                   ]],
+[[----------  ,,,--TTTCCC    --     OO                                 ,,CCCTT..-------,,##9#####-.--sssssssssss-,-------...----TTCCTT,  ^^^        --                                                  ]],
+[[---------  ,, ,,----TTTCC          O                                ,CCC  T..--sssSsss,,,,------.--StSStSSSStS--,------.-....--TTCCTT,^^^          --                                                 ]],
+[[-------   ,,   ,                   OO                              ,CCTTT...---ssstSSS---,,,----.--sssssssssss---,---...----..--TTCCT^^^^ ^^        --                                                ]],
+[[-------- ,,   ,,                    OO                            ,CCTT...-----sssssss--,,-,,---.--sssssssssss---,-...-------..--TTC^^^   ^         ----                                              ]],
+[[--------     {,                      OO                           ,CTT..---,,,,###6###,,,---,,--.--###########----.&----------..--T^^^^   ^       ---  --                                             ]],
+[[----------                            OOO                         ,CT..,,,,----,,,,,,,,------,,-.--###b###e###-....,---sssss---.--T^^   ^         --    --                                            ]],
+[[-----------                             OO                       ,CCT.,sssssss----,-----------,,.-----.-----....-,--,,-StSSS---&-T^^^   ^        --      -----                                        ]],
+[[--------------                           OO                     ,CCTT.-StStSSS---,-----ssssss--..-----.--....--,,,,,,-,sssss---.-T^^^      ^      --         --             ,,&                       ]],
+[[------------                              OOOOO                 ,CTT-.-sssssss---,-----SSSSSS--.------.-..--,,,-ssss--,#####---.-T^^    ^         --          -----        ,,                         ]],
+[[---------                                     OO               ,CCT-.&-##5####----,----ssssss-..&.......--XXXX,-ssss--,------...-^^^  ^ ^^  ^    ---             ----    ,,,                          ]],
+[[-- ----                                        OOOOOOOO        ,C  OOOO--OOOOO----,----#c##4#-.---.,----,-UUUU,-SSSS--,-----..---^^   ^   ^     ---                 -----,             OOOOOOOOOOOOOOO]],
+[[--  ----                                              OOOOOOO  ,CT-OssOOOO---OOOOOOOOO--OOOO--.-T-.-sss--,XXXX,-ssss---,---..--T^^              --                      --           OOO              ]],
+[[--  -----                                                   OOOOOOOOSt.---------XXXX-OOOO--OOOO---.-StS--,#0##,-ssss---,---.---^^     ^  ^      --                       ---      OOOO                ]],
+[[ -     ---   -----                                           ,,CT--.ss.-sssss---XXXX,---------OOOO.-sss---,,,,,-####--,---..-T^^   ^ ^          --                         ---   OO                   ]],
+[[     ----     ----                                           ,,CT--.##.-SStSS---####,------------OO-#>#-ssssss-,,,---,----.--T^^   ^           -,-                           OOOOO                    ]],
+[[   -------      ----                                         ,,CTT-....-sssss--,,,,,,----------F--OO-,--SSSSSt-ss-,-,---...-T^^  ^ ^           -,                         OOOO                        ]],
+[[     -------   ------                                        ,,CCTT---..#2###-,sssss,-SSSSSSSS-----OO,--ssssss-tS--,.&...---^^ ^^     ^^^     -,                   OOOOOOOO                           ]],
+[[    -----        -----                                        ,,CCT----..,,,,,-StSSS,-ssssssss------OOO-#1##a#-ss....-----T^^        ^^      -,-               OOOOO                                  ]],
+[[       ----  --------                                         ,,CCTT----.&----,sssss,-##7#####--------OO,.,,.,-##.----TTTT^^     ^  ^^       -,            OOOOO                                      ]],
+[[      ---------------                                         ,,,CCTTTT--..---,##3##-,--,&,---------..&OOOOOOOOOOOTTTTTCC^^^   ^^  ^^        ,-          OOO                                          ]],
+[[         --------                                              ,,,CCCC  --..........,-,,---,--.......-------TTTTTOCCCCC,,^^^^^^^^^^^        -.-      OOOOO                                            ]],
+[[       ----------                                              ,, ,,CCCTT----------.....-......-------TTTTTTTCCCCO,,,,,     ^^^^^^^         -.-      O                                                ]],
+[[         -------                                               ,,   ,,CCTTTTTTTTTT-----...------TTTTTTTCCCCCC,,,,OOO                       -.-    OOOO                                                ]],
+[[           ----                                                ,,,    ,CCCCCCCCCCTTTTT-----TTTTTTCCCCCC,,,,,,      OOO                    OOOOOOOOO                                                   ]],
+[[       ^^   ----                                                ,,     ,,,,,,,,,,CCCCCTTTTTTCCCCC,,,,,,              OO                 OOO--                                                         ]],
+[[     ^^^^^                                                      ,,,              ,,,,,CCCCCC,,,,,                     OOOO             OOO--                                                          ]],
+[[   ^^^^^^^^^                                                     ,,                   ,,,,,,                             OOOOOOO     OOO---                                                           ]],
+[[   ^^^^^^^^^                                                     ,,                                                            OOOOOOO----                                                            ]],
+[[  ^^^^^^^^^^^^^^^                                                ,,,                                                            ..------                                                              ]],
+[[    ^^^^^^^^^^^^^^                                                ,,,                     ......                             ....-----                                                                ]],
+[[    ^^^^^^^^^^^^^^^                                                ,,,          ...........    ............       ............-------,,,,                                                             ]],
+[[ ^^^^^^^^^^^^^^^^^                                                  ,,        ...                         .........--------------       ,,,,,,,    ,,,,,,,,,                                          ]],
+[[     ^^^^^^^^^^^^^                                                 ,,         .                                                               ,,,,,,       ,,,,,,,,,                                  ]],
+[[   ^^^^^^^^^^^^^^                                                   ,,      ...                                                                                    ,,,,,        ------    ---         ]],
+[[     ^^^^^^^^^^^^^^^                                                 ,,     .                                                                                          ,,,,,,,,-------   -----        ]],
+[[     ^^^^^^^^^^^^^^                                                   ,    ..                                                                                                  ----------------       ]],
+[[  ^^^^^^^^^^^^^^^^                                                    ,,  ..                                                                                                ------------------        ]],
+[[    ^^^^^^^^^^^^^^^                                                    , ..                                                                                                 ----------------&         ]],
+[[  ^^^^^^^^^^^^^^^^                                                     ,,.                                                                                                  ---    ----   ----        ]],
+[[   ^^^^^^^^^^^^^                                                        ,.                                                                                                   -      --     --         ]],
+[[   ^^^^^^^^^^^^^^                                                        .                                                                                                                            ]],
+[[     ^^^^^^^^^^^^^^                                                      .                                                                                                                            ]],
+[[                                                                                                                                                                                                      ]],
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/maps/wilderness/main.lua b/game/modules/tome/data/maps/wilderness/main.lua
index 5f3a848b5bb0dee7416a9bc474fcda2c5ee669a8..5a6a7dcd84ce2b4592686241ed82ca1fcc5126d0 100644
--- a/game/modules/tome/data/maps/wilderness/main.lua
+++ b/game/modules/tome/data/maps/wilderness/main.lua
@@ -1,6 +1,20 @@
+defineTile('1', 'TOWN_BREE')
+defineTile('a', 'DUN_ANCIENT_RUINS')
+
 quickEntity('B', {name='blue mountains', display='^', color=colors.LIGHT_BLUE, block_move=true})
+quickEntity('M', {name='misty mountains', display='^', color=colors.UMBER, block_move=true})
+quickEntity('G', {name='grey mountains', display='^', color=colors.SLATE, block_move=true})
+quickEntity('T', {name='deep forest', display='#', color=colors.GREEN, block_move=true})
+quickEntity('t', {name='forest', display='#', color=colors.LIGHT_GREEN, block_move=true})
+quickEntity('I', {name='iron mountains', display='^', color=colors.SLATE, block_move=true})
 quickEntity('=', {name='the great sea', display='~', color=colors.BLUE, block_move=true})
 quickEntity('.', {name='plains', display='.', color=colors.LIGHT_GREEN})
+quickEntity('g', {name='Forodwaith, the cold lands', display='.', color=colors.LIGHT_BLUE})
+quickEntity('w', {name='ash', display='.', color=colors.WHITE})
+quickEntity('h', {name='low hills', display='^', color=colors.GREEN})
+quickEntity(' ', {name='sea of Rhun', display='~', color=colors.BLUE, block_move=true})
+quickEntity('_', {name='river', display='~', color={r=0, g=80, b=255}, block_move=true})
+quickEntity('~', {name='Anduin river', display='~', color={r=0, g=30, b=255}, block_move=true})
 
 return {
 [[========q=qqqqqqqqqgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg]],
@@ -8,56 +22,56 @@ return {
 [[==========qq=q=qqqqgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg]],
 [[==============qqq=qqggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg]],
 [[===============q=q=q=gwwwwgggwwwwwgggggggggwwwwwwwwwwggggwwwwwwwwwwwwwggggwwwwwwwwggggwwwwwwwwwgggg]],
-[[====================qwwwwwwwwwwwwwwwwggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwggwwwwwwwwwwwwwwwwwwwwwwEEEE]],
-[[======================wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.EEEEEEEE]],
-[[========================wwwwwwww...wwwwwwwwww..........wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.EEEEEEEEEEE]],
-[[========================..www....wwwwwwww................wwwwGGGGwwwwwwww......wwwww.EEEEEEEEEEEEEE]],
-[[==========.......======.........hhhh..................GGGGGGGwwwDwwww.........wwww.EjEEEEjEEEEEEjEE]],
-[[========......BB..===.........hhhhhhhh..&&&&&...&..GGGGGGGGGGGGG.................jEEEjEjEEjEjjEEEEj]],
-[[=======......BB..===............hhhh.......&&&&&&GG.._._...........................jjjjjjjjjjjjjjjj]],
-[[======...._.BB._..._............................M....._._TTT................II........jjjjjjjjjjjjj]],
-[[=======.._..BB.._.._..hhhh................&....&MM~~~~.TT_TTTT..........I.....III........jjjjjj^^^^]],
-[[======.._...BB..._._..hhh.......hhhhhh.....&&&&._MM..~.TTT_T_TT..^l......IIIIII..............jjj^^^]],
+[[====================qwwwwwwwwwwwwwwwwggggggggwwwwwwwwwwwwwwwwwwwwwwwwwwggwwwwwwwwwwwwwwwwwwwwwwTTTT]],
+[[======================wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.TTTTTTTT]],
+[[========================wwwwwwww...wwwwwwwwww..........wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.TTTTTTTTTTT]],
+[[========================..www....wwwwwwww................wwwwGGGGwwwwwwww......wwwww.TTTTTTTTTTTTTT]],
+[[==========.......======.........hhhh..................GGGGGGGwwwDwwww.........wwww.TtTTTTtTTTTTTtTT]],
+[[========......BB..===.........hhhhhhhh..&&&&&...&..GGGGGGGGGGGGG.................tTTTtTtTTtTttTTTTt]],
+[[=======......BB..===............hhhh.......&&&&&&GG.._._...........................tttttttttttttttt]],
+[[======...._.BB._..._............................M....._._TTT................II........ttttttttttttt]],
+[[=======.._..BB.._.._..hhhh................&....&MM~~~~.TT_TTTT..........I.....III........tttttt^^^^]],
+[[======.._...BB..._._..hhh.......hhhhhh.....&&&&._MM..~.TTT_T_TT..^l......IIIIII..............ttt^^^]],
 [[=====.._..TBBB...._._..h.=....hhh|hh..........__.MM__~.TTTT_h_TT.l8........_.....................^^]],
 [[===...._....BB....._..hh.=_....h.|..........__...MM..~.TTTTTT_TT.=........_........................]],
-[[====.._...BBBB...._....hhhh__....|........._.....MM..~.TTTTTT____a........_........................]],
-[[=====.._..TTBB..._........._.....|h......._.ff...MM..~6TTTTT&&&T._........._.......................]],
-[[====...__..TBBB._......hh.._.....|.hh...._.f^^^._MM..~..TTT&G&&&T._........._......................]],
+[[====.._...BBBB...._....hhhh__....|.....a..._.....MM..~.TTTTTT____........._........................]],
+[[=====.._..TTBB..._........._.....|h......._.tt...MM..~6TTTTT&&&T._........._.......................]],
+[[====...__..TBBB._......hh.._.....|.hh...._.t^^^._MM..~..TTT&G&&&T._........._......................]],
 [[=====..._.....__......hho+-_.2---x1hh-------_L...MM---------------_........_.......................]],
 [[======..==..=__....h....h|.._.hh.|ih....._..^^^._M...~..TTTTTTTTTT._........_......................]],
-[[=============.....hhh....|.._.OOO|h......_.._.._MMM...~..TTTTTTTTT.._........_....................j]],
-[[======........BB...h.....|..._OOO|hh...._.._...MM.....~..TTTTTTTT...._......_....................jj]],
-[[=====.........BB.........[---_.O.|.h...._._..MMMMM.s._~..TTTTTTTT....._......_..................jjj]],
-[[=====.........BB............._[--|....._.._..MMMM___s.~~.TTTTTTTT......_.._._..................jjjj]],
-[[======........BB....B......._....|....._._...MMMM.....~~.TTTTT.T........._.._.................jfjjj]],
-[[=======.....TBBB..BBBB....._.....|....._....MMMMM....~~...TTTT.............._...............jffjjjj]],
-[[==========..TBBBT........._......|...._.....MMMM.....~~...TTTT..............._...._.......fjfjjfjjj]],
-[[==========..TTTBBTBB....._.......|ss__.....hMMMM....~~....TTTTTTT............._.__._ ...ffffffjjjjj]],
-[[==========...TTBTT......_........___ss_....MMMMM....~~..TTTTTTTTTT............._....  ...f  fffjjjj]],
-[[==========.....T.T....._........_.....______MM___...~~.TTTTTTTTTT...................        ffjjjjj]],
-[[===========.=........._........_...........MMMM_!.!~~..TT&TTTTTTT..................         fjfjjjj]],
-[[================....__........_..jjj......MMMM._!4!~~..TTTTTTTTT...................         ...jjjj]],
-[[=================.==E........_....jj.....ffMMM..!!!~.....TTTTT..................^^.        ......jj]],
-[[===================EE........._.........ffMMM.......~~.........................^^^^.       .......j]],
-[[===================E==......._..........ffMMMttttt._..~~~~;;....................^^^.  ...  .......j]],
-[[===================E==......_...........f&MMMMtttt_s_.....~;;..................^^^^^. ... ........j]],
-[[=====================......_.jjj........f&MMMtttttt..__s~~;;...................^^^^^^.............j]],
-[[=====================.....=_.jj.........&&MMMttttt.....~...........................^^.............j]],
-[[======================...==..jjj........&&_&&&.._.......~~........................................j]],
-[[=======================.===..............^_^....._........~.......................................j]],
-[[===========================..............._........_.....~........................................j]],
-[[==========================.jj......._._.._........_....h=hh...SSS.................................j]],
-[[==========================.jj._.._j_...__.........._..h===h.SSSS.................................jj]],
-[[==========================..__.__._._._..&&&b....._....h=hh..SS.A.A.............................jjj]],
-[[============================....._..._.__.&&&......_....~~.....AAkAAA..A..AA..A..A..AA...A.....jjjj]],
-[[===========================.............._&&&^^....._....~~s...DDvvAAAAAAAAAAAAAAAAAAAAAAAAAAAAJjjj]],
-[[===========================.......^.&.^^&&&&&&&......__.~~sss...DDVVVVVVVAVVVAVAA_"""_""""""..AAAjj]],
-[[===========================.....^^.&.&_&^&.&^&_&&&9...._..~~ss..DDVVUVVVVVVVVVVA_"""""_""""""...AAj]],
+[[=============.....hhh....|.._.ttt|h......_.._.._MMM...~..TTTTTTTTT.._........_....................t]],
+[[======........BB...h.....|..._ttt|hh...._.._...MM.....~..TTTTTTTT...._......_....................tt]],
+[[=====.........BB.........[---_.t.|.h...._._..MMMMM.s._~..TTTTTTTT....._......_..................ttt]],
+[[=====.........BB............._[--|....._.._..MMMM___s.~~.TTTTTTTT......_.._._..................tttt]],
+[[======........BB....B......._....|....._._...MMMM.....~~.TTTTT.T........._.._.................ttttt]],
+[[=======.....TBBB..BBBB....._.....|....._....MMMMM....~~...TTTT.............._...............ttttttt]],
+[[==========..TBBBT........._......|...._.....MMMM.....~~...TTTT..............._...._.......ttttttttt]],
+[[==========..TTTBBTBB....._.......|ss__.....hMMMM....~~....TTTTTTT............._.__._ ...ttttttttttt]],
+[[==========...TTBTT......_........___ss_....MMMMM....~~..TTTTTTTTTT............._....  ...t  ttttttt]],
+[[==========.....T.T....._........_.....______MM___...~~.TTTTTTTTTT...................        ttttttt]],
+[[===========.=........._........_...........MMMM_!.!~~..TT&TTTTTTT..................         ttttttt]],
+[[================....__........_..ttt......MMMM._!4!~~..TTTTTTTTT...................         ...tttt]],
+[[=================.==t........_....tt.....ttMMM..!!!~.....TTTTT..................^^.        ......tt]],
+[[===================tt........._.........ttMMM.......~~.........................^^^^.       .......t]],
+[[===================t==......._..........ttMMMttttt._..~~~~~~....................^^^.  ...  .......t]],
+[[===================t==......_...........t&MMMMtttt_s_.....~~~..................^^^^^. ... ........t]],
+[[=====================......_.ttt........t&MMMtttttt..__s~~~~...................^^^^^^.............t]],
+[[=====================.....=_.tt.........&&MMMttttt.....~...........................^^.............t]],
+[[======================...==..ttt........&&_&&&.._.......~~........................................t]],
+[[=======================.===..............^_^....._........~.......................................t]],
+[[===========================..............._........_.....~........................................t]],
+[[==========================.tt......._._.._........_....h=hh...SSS.................................t]],
+[[==========================.tt._.._t_...__.........._..h===h.SSSS.................................tt]],
+[[==========================..__.__._._._..&&&b....._....h=hh..SS.A.A.............................ttt]],
+[[============================....._..._.__.&&&......_....~~.....AAkAAA..A..AA..A..A..AA...A.....tttt]],
+[[===========================.............._&&&^^....._....~~s...DDvvAAAAAAAAAAAAAAAAAAAAAAAAAAAAJttt]],
+[[===========================.......^.&.^^&&&&&&&......__.~~sss...DDVVVVVVVAVVVAVAA_"""_""""""..AAAtt]],
+[[===========================.....^^.&.&_&^&.&^&_&&&9...._..~~ss..DDVVUVVVVVVVVVVA_"""""_""""""...AAt]],
 [[===========================....^....__^^...^^^._^&&........~~.c.DDVVUUVVVVVVVAA_"""""""_"""".....AA]],
 [[===========================..^^^_.._.......^^._.^^&&&........~~.DDVVVVVVVVVVAA""_""""""_"""""""....]],
-[[============================.^f_.__._........_&^^^.&&&&&......e.DDVAAVAAAVVV"""""_""""_""""""".....]],
-[[============================.f^_..._....hh.._&&&^^.._&&&&.&...~.DDD""A"A""""""""=="""_""""""""""...]],
-[[============================.f^._.hhhhhhhh...__...._^&^&&&&&.~..DD""""""""""""======_"""""""""""AAA]],
+[[============================.^t_.__._........_&^^^.&&&&&......e.DDVAAVAAAVVV"""""_""""_""""""".....]],
+[[============================.t^_..._....hh.._&&&^^.._&&&&.&...~.DDD""A"A""""""""=="""_""""""""""...]],
+[[============================.t^._.hhhhhhhh...__...._^&^&&&&&.~..DD""""""""""""======_"""""""""""AAA]],
 [[===========================.^^._...h.h........._.._.^&^^._^3.~..DD"""_"_"""""=====""""""""""""AAAdd]],
 [[==========================..^^.._.....===.=====_._&^...._...^.~.DD"__"_"__======"""""AA""""AAAAdddd]],
 [[==========================.h...._...===========_&&^...._._...~~.DD_""""""""""""_""A"AAAAAAAAddddddd]],
diff --git a/game/modules/tome/data/zones/ancient_ruins/npcs.lua b/game/modules/tome/data/zones/ancient_ruins/npcs.lua
index 1f08f9be673e2102aecde1d879d4ad4da58b78d9..0815638bf43f3b16ba2b984b4875f085633dca39 100644
--- a/game/modules/tome/data/zones/ancient_ruins/npcs.lua
+++ b/game/modules/tome/data/zones/ancient_ruins/npcs.lua
@@ -6,15 +6,16 @@ newEntity{
 	rarity = 4,
 	autolevel = "warrior",
 	ai = "simple",
-	max_life = 20,
+	max_life = 100,
+	life_rating = 10,
 	max_mana = 1000,
 	max_stamina = 1000,
 	energy = { mod=0.5 },
 	has_blood = true,
-	stats = { str=15, dex=8, mag=12, },
+	stats = { str=15, dex=8, mag=12, con=14 },
 	combat = { dam=8, atk=10, apr=2, def=4, armor=6},
 }
-
+--[[
 newEntity{
 	group = "dragon",
 	name = "baby dragon",
@@ -31,18 +32,18 @@ newEntity{
 	has_blood = {nb=3, color={50,255,120}},
 	combat = { dam=5, atk=6, def=2, apr=1, armor=2},
 }
-
+]]
 newEntity{
 	group = "icky things",
 	name = "white icky",
 	display = "i", color=colors.YELLOW,
-	level_range = {3, 7}, exp_worth = 100,
+	level_range = {1, 7}, exp_worth = 100,
 	rarity = 1,
 	autolevel = "warrior",
 	ai = "simple",
 	max_life = resolvers.rngavg(10,20),
-	max_mana = 1000,
-	max_stamina = 1000,
+	max_mana = resolvers.rngavg(10,20),
+	max_stamina = resolvers.rngavg(10,20),
 	energy = { mod=0.3 },
 	has_blood = {nb=3, color={50,255,120}},
 	combat = { dam=5, atk=6, def=2, apr=1, armor=2},
diff --git a/game/modules/tome/data/zones/town_bree/grids.lua b/game/modules/tome/data/zones/town_bree/grids.lua
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/game/modules/tome/data/zones/town_bree/npcs.lua b/game/modules/tome/data/zones/town_bree/npcs.lua
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/game/modules/tome/data/zones/town_bree/objects.lua b/game/modules/tome/data/zones/town_bree/objects.lua
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/game/modules/tome/data/zones/town_bree/zone.lua b/game/modules/tome/data/zones/town_bree/zone.lua
new file mode 100644
index 0000000000000000000000000000000000000000..39be882003f5940e90e8f91d78409b83bafebae9
--- /dev/null
+++ b/game/modules/tome/data/zones/town_bree/zone.lua
@@ -0,0 +1,14 @@
+return {
+	name = "Bree",
+	level_range = {1, 1},
+	max_level = 1,
+	width = 196, height = 66,
+	all_remembered = true,
+	all_lited = true,
+	generator =  {
+		map = {
+			class = "engine.generator.map.Static",
+			map = "towns/bree",
+		},
+	}
+}
diff --git a/game/modules/tome/data/zones/wilderness/grids.lua b/game/modules/tome/data/zones/wilderness/grids.lua
index 430b5b3862c54061b15e6f029903c613bd98b0cc..23f3d31d3065f57f8472a5b0c620a7d8e7846f62 100644
--- a/game/modules/tome/data/zones/wilderness/grids.lua
+++ b/game/modules/tome/data/zones/wilderness/grids.lua
@@ -1,3 +1,11 @@
+newEntity{
+	define_as = "TOWN_BREE",
+	name = "the small town of Bree",
+	display = '*', color_r=255, color_g=255, color_b=255,
+	change_level = 1,
+	change_zone = "town_bree",
+}
+
 newEntity{
 	define_as = "DUN_ANCIENT_RUINS",
 	name = "entrance to ancient ruins",
@@ -5,17 +13,3 @@ newEntity{
 	change_level = 1,
 	change_zone = "ancient_ruins",
 }
-
-newEntity{
-	define_as = "FLOOR",
-	name = "floor",
-	display = '.', color_r=255, color_g=255, color_b=255,
-}
-
-newEntity{
-	define_as = "WALL",
-	name = "wall",
-	display = '#', color_r=255, color_g=255, color_b=255,
-	block_move = true,
-	block_sight = true,
-}
diff --git a/game/special/mainmenu/class/Game.lua b/game/special/mainmenu/class/Game.lua
index 9a521a52695ae44a0620e9bbc21f85cd876495cf..d36159b4ef42f083bc86006c71fa3b13fb7aa599 100644
--- a/game/special/mainmenu/class/Game.lua
+++ b/game/special/mainmenu/class/Game.lua
@@ -24,7 +24,7 @@ function _M:run()
 end
 
 function _M:display()
-	self.step:display():toScreen(self.step.display_x, self.step.display_y)
+	self.step:toScreen(self.step.display_x, self.step.display_y)
 
 	engine.Game.display(self)
 end