diff --git a/game/engine/generator/map/Static.lua b/game/engine/generator/map/Static.lua index e92bac430d15905b35d2ff8f5ebde056f09b0adf..8e04f927672f57d19986eadd92fd8f510797e0a7 100644 --- a/game/engine/generator/map/Static.lua +++ b/game/engine/generator/map/Static.lua @@ -52,10 +52,10 @@ function _M:loadMap(file) defineTile = function(char, grid, obj, actor, trap, status, spot) t[char] = {grid=grid, object=obj, actor=actor, trap=trap, status=status, define_spot=spot} end, - quickEntity = function(char, e, status) + quickEntity = function(char, e, status, spot) if type(e) == "table" then local e = self.zone.grid_class.new(e) - t[char] = {grid=e, status=status} + t[char] = {grid=e, status=status, define_spot=spot} else t[char] = t[e] end diff --git a/game/modules/tome/data/maps/towns/angolwen.lua b/game/modules/tome/data/maps/towns/angolwen.lua index f566ab352d026c017363ddff866c6327eeb30dca..8c98010ad7c756c46c5d21d8e772ce6065361354 100644 --- a/game/modules/tome/data/maps/towns/angolwen.lua +++ b/game/modules/tome/data/maps/towns/angolwen.lua @@ -18,7 +18,7 @@ -- darkgod@te4.org quickEntity('^', {name='blue mountains', display='^', color=colors.LIGHT_BLUE, image="terrain/mountain.png", block_move=true, block_sight=true}) -quickEntity('<', {show_tooltip=true, name='portal to the wilds', display='<', color=colors.WHITE, change_level=1, change_zone=game.player.last_wilderness}) +quickEntity('<', {show_tooltip=true, name='portal to the wilds', display='<', color=colors.WHITE, change_level=1, change_zone=game.player.last_wilderness}, nil, {type="portal", subtype="back"}) quickEntity('T', {name='tree', display='#', color=colors.LIGHT_GREEN, block_move=true, block_sight=true, image="terrain/grass.png", add_displays = {mod.class.Grid.new{image="terrain/tree_alpha2.png"}}}) quickEntity('o', {name='fountain', display='~', color=colors.BLUE, block_move=true, image="terrain/river.png", add_displays = mod.class.Grid:makeWater(true)}) quickEntity(' ', {name='grass', display='.', color=colors.LIGHT_GREEN, image="terrain/grass.png"}) diff --git a/game/modules/tome/data/zones/town-angolwen/zone.lua b/game/modules/tome/data/zones/town-angolwen/zone.lua index 727f537bba45255ceca33b4b97adcac0db7fa3c7..0b0be5f70537f75865a59d8ed91470e445e66c27 100644 --- a/game/modules/tome/data/zones/town-angolwen/zone.lua +++ b/game/modules/tome/data/zones/town-angolwen/zone.lua @@ -40,5 +40,10 @@ return { class = "engine.generator.object.Random", nb_object = {0, 0}, }, - } + }, + on_enter = function(lev, old_lev, zone) + -- Update the stairs + local spot = game.level:pickSpot{type="portal", subtype="back"} + if spot then game.level.map(spot.x, spot.y, engine.Map.TERRAIN).change_zone = game.player.last_wilderness end + end, }