From 4a3fd54d539cb9f06248b40a0e83147dc8decddf Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Fri, 27 May 2011 08:11:19 +0000 Subject: [PATCH] Fixed the jewelry creation git-svn-id: http://svn.net-core.org/repos/t-engine4@3448 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engines/default/engine/dialogs/ShowInventory.lua | 5 +++-- game/modules/tome/class/Player.lua | 3 +++ game/modules/tome/data/zones/crypt-kryl-feijan/zone.lua | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/game/engines/default/engine/dialogs/ShowInventory.lua b/game/engines/default/engine/dialogs/ShowInventory.lua index 032aa5dff4..45da191392 100644 --- a/game/engines/default/engine/dialogs/ShowInventory.lua +++ b/game/engines/default/engine/dialogs/ShowInventory.lua @@ -71,11 +71,12 @@ function _M:select(item) end end function _M:use(item) + local dont_end = false if item and item.object then - self.action(item.object, item.item) + dont_end = self.action(item.object, item.item) end self:generateList() - --game:unregisterDialog(self) + if not dont_end then game:unregisterDialog(self) end end function _M:generateList() diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua index bdbd75952d..337451da88 100644 --- a/game/modules/tome/class/Player.lua +++ b/game/modules/tome/class/Player.lua @@ -728,6 +728,7 @@ function _M:playerDrop() local d d = self:showInventory(titleupdator(), inven, nil, function(o, item) self:doDrop(inven, item) d:updateTitle(titleupdator()) + return true end) end @@ -739,6 +740,7 @@ function _M:playerWear() end, function(o, item) self:doWear(inven, item, o) d:updateTitle(titleupdator()) + return true end) end @@ -747,6 +749,7 @@ function _M:playerTakeoff() local d d = self:showEquipment(titleupdator(), nil, function(o, inven, item) self:doTakeoff(inven, item, o) d:updateTitle(titleupdator()) + return true end) end diff --git a/game/modules/tome/data/zones/crypt-kryl-feijan/zone.lua b/game/modules/tome/data/zones/crypt-kryl-feijan/zone.lua index f3bf95235b..4dbfa610e0 100644 --- a/game/modules/tome/data/zones/crypt-kryl-feijan/zone.lua +++ b/game/modules/tome/data/zones/crypt-kryl-feijan/zone.lua @@ -104,7 +104,8 @@ return { return nil, nil, true end - if melinda and not melinda.dead and not game.player:isQuestStatus("kryl-feijan-escape", engine.Quest.FAILED) then + local g = game.level.map(game.player.x, game.player.y, engine.Map.TERRAIN) + if melinda and not melinda.dead and not game.player:isQuestStatus("kryl-feijan-escape", engine.Quest.FAILED) and g and g.change_level then game.player:setQuestStatus("kryl-feijan-escape", engine.Quest.DONE) world:gainAchievement("MELINDA_SAVED", game.player) end -- GitLab