diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -52,9 +52,15 @@ leviathan_airlock = darkroom { dsc_halflit = "Вы находитесь в шлюзовом отсеке Левиафана. В слабом свете лампы вы с трудом различаете очертания дверей и предметов. "; dsc_dark = "Вы находитесь в шлюзовом отсеке Левиафана. В темноте вы не можете ничего различить. "; way = { - kh_vroom("Кают-компания", "leviathan_wardroom", 1); + kh_vroom("В кают-компанию", "leviathan_wardroom", 1); kh_vroom("Наружу", function() - return where(submarine_leviathan); + local val = EngineUtils.getValue(where(submarine_leviathan).no_exit); + if (val) then + pr(val); + return false; + else + return where(submarine_leviathan); + end; end, 2); }; }; @@ -154,7 +160,7 @@ leviathan_corridor = darkroom { kh_vroom("В каюту №3", "leviathan_cabin_3", 1); kh_vroom("В каюту №4", "leviathan_cabin_4", 1); kh_vroom("В каюту №5", "leviathan_cabin_5", 1); - kh_vroom("Кают-компания", "leviathan_wardroom", 1); + kh_vroom("В кают-компанию", "leviathan_wardroom", 1); kh_vroom("В грузовой отсек", "leviathan_cargo_hold", 1); kh_vroom("В машинный отсек", "leviathan_engines", 1); kh_vroom("На нижнюю палубу", "leviathan_lower_deck", 1); @@ -463,7 +469,7 @@ leviathan_wheelhouse = darkroom { ]] .. (view); end; way = { - kh_vroom("В коридор", "leviathan_corridor", 2); + kh_vroom("В кают-компанию", "leviathan_wardroom", 2); }; obj = { 'leviathan_handwheel'; @@ -482,7 +488,12 @@ leviathan_handwheel = obj { act = function(s) if (atlantis_found and submarine_leviathan.air_level > 400000 and submarine_leviathan.circuit_breaks == 0 and submarine_leviathan.power_on) then --walkin("demo_end"); - walkin('leviathan_dlg'); + local dlg = EngineUtils.getValue(where(submarine_leviathan).handwheel_room); + if (dlg) then + walkin(dlg); + else + walkin('leviathan_dlg'); + end; elseif (not submarine_leviathan.power_on) then return [[ Без электричества _"Левиафан"_ не сдвинется с места.