diff --git a/atlantis_dyp.lua b/atlantis_dyp.lua --- a/atlantis_dyp.lua +++ b/atlantis_dyp.lua @@ -33,9 +33,10 @@ dyp_center = room { "dyp_obelisk"; }; entered = function(s) + dyp_obelisk_puzzle.where_from = 'dyp_center'; if atl_rep_dyp < 0 then dypatreanotrr_night_found = true; - return [[Ва встречают враждебные взгляды вооруженных навьяров. ]]; + return [[Вас встречают враждебные взгляды вооруженных навьяров. ]]; end; end; way = { @@ -148,10 +149,12 @@ dyp_obelisk_puzzle = room { 12,13,14,15 }; set = false; + where_from = nil; }; win = ""; nam = "Дипатреанотр, центр"; underwater = true; + not_follow = true; entered = function(s) if not s.set then s.set = true; @@ -231,7 +234,7 @@ dyp_obelisk_puzzle = room { else p [[Одна из каменных плит рядом с обелиском отодвигается. В образовавшейся выемке вы видите небольшой светящийся красным светом камень. Вы забираете камень себе. ]]; put(dyp_item_stone_red, pl); - walk(dyp_center); + walk(s.where_from); end; end; check_win = function(s) @@ -243,7 +246,9 @@ dyp_obelisk_puzzle = room { return true; end; way = { - kh_vroom("Отойти", "dyp_center"); + kh_vroom("Отойти", function(s) + return dyp_obelisk_puzzle.where_from; + end); }; }; diff --git a/atlantis_dyp_night.lua b/atlantis_dyp_night.lua --- a/atlantis_dyp_night.lua +++ b/atlantis_dyp_night.lua @@ -24,6 +24,7 @@ dyp_night_center = room { underwater = true; disp = 'Дипатреанотр, центр'; entered = function(s) + dyp_obelisk_puzzle.where_from = 'dyp_night_center'; if s.state == 0 then s.state = 1; pr [[С трудом пробираясь в темноте среди хаотично наставленных каменных домиков, вы добираетесь до центра города. ]]; @@ -35,7 +36,6 @@ dyp_night_center = room { 'dyp_obelisk'; }; way = { - kh_vroom('В Левиафан', 'leviathan_airlock'); kh_vroom('К библиотеке', 'dyp_night_library_entrance'); kh_vroom('К дому вождя', 'dyp_night_chief_house_entrance'); kh_vroom('на юг', 'dyp_night_south'); diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -890,7 +890,7 @@ leviathan_dlg = dlg { if (dypatreanotrr_found and where(submarine_leviathan) ~= dyp_center) then leviathan_dlg:pon("dypatreanotrr"); end; - if (dypatreanotrr_night_found and where(submarine_leviathan) ~= dyp_night_center) then + if (dypatreanotrr_night_found and where(submarine_leviathan) ~= dyp_night_south) then leviathan_dlg:pon("dypatreanotrr_night"); end; if (iraaphaanotrr_temple_found and where(submarine_leviathan) ~= ctt_iraa_near_temple) then @@ -968,7 +968,7 @@ leviathan_dlg = dlg { if raybox_task then raybox_task_finished = true; end; - move(submarine_leviathan, "dyp_night_center"); + move(submarine_leviathan, "dyp_night_south"); leviathan_dlg:update_options(); walk(dyp_entry); end},