diff --git a/game/modules/tome/data/chats/eidolon-plane.lua b/game/modules/tome/data/chats/eidolon-plane.lua index 4bc5d5977a9d928b75b80bcb17285c51d9d12d79..5cd781803539286365d7cf70271d9429a3c14e3d 100644 --- a/game/modules/tome/data/chats/eidolon-plane.lua +++ b/game/modules/tome/data/chats/eidolon-plane.lua @@ -26,7 +26,8 @@ But do not abuse my help. I am not your servant, and someday I might just let yo As for your probable many questions, they will stay unanswered. I may help, but I am not here to explain why.]], answers = { {"Thank you. I will rest for a while."}, - {"Thank you. I am ready to go back!", action=function() game.level.data.eidolon_exit() end}, + {"Thank you. I am ready to go back!", action=function() game.level.data.eidolon_exit(false) end}, + {"Thank you, but I fear I will not survive anyway, can you send me back somewhere else please?", action=function() game.level.data.eidolon_exit(true) end}, } } diff --git a/game/modules/tome/data/zones/eidolon-plane/zone.lua b/game/modules/tome/data/zones/eidolon-plane/zone.lua index b810f1d88847738322c737b14ed1a654c5d3d294..af16cf665d01d531f932f6926318d9035e0cc9c6 100644 --- a/game/modules/tome/data/zones/eidolon-plane/zone.lua +++ b/game/modules/tome/data/zones/eidolon-plane/zone.lua @@ -75,7 +75,7 @@ return { who:addObject(who.INVEN_INVEN, o) end, - eidolon_exit = function() + eidolon_exit = function(to_worldmap) game:onTickEnd(function() local oldzone = game.zone local oldlevel = game.level @@ -119,6 +119,10 @@ return { act.last_act_turn = math.floor(game.turn / (game.zone.wilderness and 1000 or 10)) end + if to_worldmap then + game:changeLevel(1, game.player.last_wilderness or "wilderness") + end + game.logPlayer(game.player, "#LIGHT_RED#You are sent back to the material plane!") game.player:updateMainShader() end)