diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -52,13 +52,23 @@ leviathan_airlock = darkroom { dsc_halflit = "Вы находитесь в шлюзовом отсеке Левиафана. В слабом свете лампы вы с трудом различаете очертания дверей и предметов. "; dsc_dark = "Вы находитесь в шлюзовом отсеке Левиафана. В темноте вы не можете ничего различить. "; way = { - kh_vroom("В кают-компанию", "leviathan_wardroom", 1); + kh_vroom("В кают-компанию", function(s) + if (have(item_suit)) then + remove(item_suit, pl); + end; + return "leviathan_wardroom"; + end, 1); kh_vroom("Наружу", function() local val = EngineUtils.getValue(where(submarine_leviathan).no_exit); if (val) then pr(val); return false; else + if (where(submarine_leviathan).underwater) then + put(item_suit, pl); + elseif (have(item_suit)) then + remove(item_suit, pl); + end; return where(submarine_leviathan); end; end, 2); @@ -778,7 +788,7 @@ leviathan_dlg = dlg { end; end;]] leviathan_dlg:poff("atlantis", "old_temple", "iraaphaanotrr", "iraaphaanotrr_temple", "dypatreanotrr", "dypatreanotrr_temple"); - if (atlantis_found and where(submarine_leviathan) ~= atlantis_dock) then + if (atlantis_found and where(submarine_leviathan) ~= atl_aqua_leviathan_dock) then leviathan_dlg:pon("atlantis"); end; if (temple_found and where(submarine_leviathan) ~= iyh_far_from_entrance_foot) then @@ -806,7 +816,7 @@ leviathan_dlg = dlg { {tag="atlantis", always = "true", "Атлантида", function() return "Вы прибыли в Атлантиду"; end, function() - move(submarine_leviathan, "atlantis_dock"); + move(submarine_leviathan, "atl_aqua_leviathan_dock"); leviathan_dlg:update_options(); end}, {tag="old_temple", always = "true", "Старый храм", function()