Changeset - b061e1d419ba
[Not reviewed]
Merge Preview 1 preview
0 2 0
silverwing - 7 years ago 2017-07-27 14:52:52

Merge with default
2 files changed with 130 insertions and 4 deletions:
0 comments (0 inline, 0 general)
atlantis_navjiarr.lua
Show inline comments
 
--[[
 
Файл содержит локации навьярских поселений для главы Атлантида. 
 
]]
 

	
 
--[[
 
Дипатреанотр
 
]]
 

	
 
dyp_temple_guard = room {
 
    nam = "ctt_dyp_temple_guard";
 
    dsc = function(s)
 
        if (dyp_temple_guard_dlg.state == 0) then
 
            return [[У ворот стоят два навьяра, вооруженные копьями. При вашем приближении они начинают нервничать -- переглянувшись, они перехватывают копья, готовясь при необходимости прогнать вас. По плавникам одного из них бегут цветные полосы: темно-фиолетовая, зеленая, оранжевая -- шире чем остальные, серая, ярко-розовая, желтая -- снова широкая, салатовая, снова широкая желтая и, наконец, широкая бледно-оранжевая. После небольшой паузы, полосы появляются снова. ]];
 
        else
 
            return [[У ворот стоят два навьяра, вооруженные копьями. Они никак не реагируют на вас. ]];
 
        end;
 
    end;
 
    dlg = "dyp_temple_guard_dlg";
 
};
 

	
 
dyp_temple_guard_dlg = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Страж храма";
 
    entered = function(s)
 
        if (s.state == 0) then
 
            return [[Стражники загораживают вам проход. По плавникам одного из них бегут цветные полосы. ]];
 
        else
 
            back();
 
            return [[Стражник не реагирует на вас. ]];
 
        end;
 
    end;
 
    phr = {
 
        --TODO заменить название токена
 
        {tag="test", false, "[Передать <токен>]", [[Стражи, согласно ритуалу, молча открывают ворота, пропуская вас внутрь. ]], code [[ dyp_temple_guard_dlg.state = 1; back(); ]]};
 
        {always=true, "[использовать кодировщик]I'rr Vee'nn"};
 
    };
 
};
 

	
 
dyp_temple_carving_look = room {
 
    nam = "Храм Дипатреанотра, вход";
 
    pic ="images/iyh_navjiarr_map.png"; 
 
    dsc = [[Над входом в храм вырезана схема, состоящая из нескольких концентрических кругов. ]];
 
    obj = {
 
        vway("continue", "{Продолжить}", "dyp_temple_entrance");
 
    };
 
};
 

	
 
dyp_temple_carving = obj {
 
    nam = "dyp_temple_carving";
 
    dsc = [[Над входом в храм вырезано {изображение} состоящее из нескольких кругов и еще каких-то символов. Часть изображения стерлась от времени, однако остальная часть все еще читаема. ]];
 
    act = function(s)
 
        walkin("dyp_temple_carving_look");
 
    end;
 
};
 

	
 
dyp_temple_entrance = room {
 
    nam = "Храм Дипатреанотра, вход";
 
    dsc = [[Перед вами находится вырезанный в скале вход в навьярский храм. Массивные каменные ступени ведут к громадным двустворчатым дверям, украшенных полустершимися орнаментами. Некогда яркие краски потускнели -- осторожные навьяры не решаются их обновить. ^Скала продолжается на восток и на юго-запад от храма. Вдалеке на севере видны длинные, вытянувшиеся на несколько метров вверх водоросли. К западу заметен обелиск из камней. ]];
 
    underwater = true;
 
    entered = function(s)
 
        --char_learr:accompany(false);
 
        --char_radcliffe:accompany(false);
 
        --char_wright:accompany(false);
 
        --char_anna:accompany(false);
 
            
 
        --if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
        --    return [[
 
        --        Вы слышите по радио голос Леарр: "Ты-Дрейк один-пойдешь. Другим нельзя-в-храм-войти".
 
        --    ]];
 
        --elseif ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
        --    return [[
 
        --        Вы слышите по радио голос Анны: "Дрейк, тебе придется идти одному - испытание можно пройти лишь в одиночку. Удачи".
 
        --    ]];
 
        --end;
 
    end;
 
    obj = {
 
        "dyp_temple_guard";
 
        "dyp_temple_carving";
 
    };
 
    way = {
 
        kh_vroom("В храм", function(s)
 
            pr('Охранники не колеблясь убьют вас, если вы попытаетесь войти. ');
 
            return false;
 
            --ctt_dyp_temple_l1.px = 1;
 
            --ctt_dyp_temple_l1.py = 0;
 
            --return "ctt_dyp_temple_l1";
 
        end):disable();
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
 
};
 

	
 
dyp_temple_east = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь у подножья скалы, протянувшейся на многие километры на восток от вас. На западе она сворачивает к югу. ]];
 
};
 

	
 
dyp_temple_south_west = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь у подножья скалы. К юго востоку скала сворачивает на юг и тянется на многие километры. К северо-востоку вы видите храм Дипатреанотра. ]];
 
};
 

	
 
dyp_temple_south_far = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь у подножья скалы, протянувшейся на многие километры на юг. На севере скала сворачивает к востоку. ]];
 
};
 

	
 
dyp_temple_north_west = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Перед вами возвышается массивный каменный обелиск. Некогда он был украшен резными орнаментами, но сейчас все они практически полностью стерлись. К юго-востоку от вас возвышается отвесная скала, протянувшаяся на многие километры с юга на восток. Вдалеке на западе вы видите каменные строения навьярского города -- Дипатреанотра. ]];
 
};
 

	
 
dyp_temple_north = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над высокими стеблями водорослей, едва заметно колышущимися в спокойной воде. ]];
 
};
 

	
 
dyp_temple_crevice_middle = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над неглубоким ущельем, протянувшимся с востока на запад. ]];
 
};
 

	
 
dyp_temple_crevice_east = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над неглубоким ущельем, протянувшимся с востока на запад. ]];
 
};
 

	
 
dyp_temple_crevice_far_east = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над неглубоким ущельем, протянувшимся с востока на запад. ]];
 
};
 

	
 
dyp_temple_crevice_west = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над неглубоким ущельем, протянувшимся с востока на запад. ]];
 
};
 

	
 
dyp_temple_crevice_far_west = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Левиафан застыл над неглубоким ущельем, протянувшимся с востока на запад. ]];
 
};
 

	
 
dyp_temple_warning = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Перед вами возвышается массивный каменный обелиск. Большая часть изображенного на нем стерлась. ]];
 
};
 

	
 
dyp_temple_cliff_1 = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь к югу от высокой скалы, протянувшейся с востока на запад. ]]
 
};
 

	
 
dyp_temple_cliff_2 = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь к югу от высокой скалы, протянувшейся с востока на запад. ]]
 
};
 

	
 
dyp_temple_cliff_3 = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь к югу от высокой скалы, протянувшейся с востока на запад. ]]
 
};
 

	
 
dyp_temple_cliff_4 = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь к югу от высокой скалы, протянувшейся с востока на запад. ]]
 
};
 

	
 
dyp_temple_cliff_5 = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Вы находитесь к югу от высокой скалы, протянувшейся с востока на запад. ]]
 
};
 

	
 
dyp_temple_whale = room {
 
    nam = "Океан";
 
    no_exit = [[Нет смысла покидать Левиафан здесь. ]];
 
    view = [[Рядом с вами покоится скелет громадного кита. Древние кости занесены илом, однако все еще прекрасно видны с большого расстояния. ]];
 
};
 

	
 
dyp_temple_navigation = dlg {
 
    nam = "Штурвал Левиафана";
 
    entered = function(s)
 
        
 
    end;
 
    phr = {
 
        {tag="dyp_temple_entrance"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_east");
 
            psub("dyp_temple_east");
 
        end};
 
        {always=true, "[На северо-восток, к зарослям]", function()
 
            move(submarine_leviathan, "dyp_temple_north");
 
            psub("dyp_temple_north");
 
        end};
 
        {always=true, "[На северо-запад, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_north_west");
 
            psub("dyp_temple_north_west");
 
        end};
 
        {always=true, "[На юго-запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_south_west");
 
            psub("dyp_temple_south_west");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_east"};
 
        {always=true, "[На запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_entrance");
 
            psub("dyp_temple_entrance");
 
        end};
 
        {always=true, "[На север, к зарослям]", function()
 
            move(submarine_leviathan, "dyp_temple_north");
 
            psub("dyp_temple_north");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_south_west"};
 
        {always=true, "[На северо-восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_entrance");
 
            psub("dyp_temple_entrance");
 
        end};
 
        {always=true, "[На юг, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_south_far");
 
            psub("dyp_temple_south_far");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_south_far"};
 
        {always=true, "[На север, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_south_west");
 
            psub("dyp_temple_south_west");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_north_west"};
 
        {always=true, "[На юго-восток, к храму]", function()
 
            move(submarine_leviathan, "dyp_temple_entrance");
 
            psub("dyp_temple_entrance");
 
        end};
 
        {always=true, "[На запад, в Дипатреанотр]", function()
 
            move(submarine_leviathan, "dyp_city_east");
 
            psub("dyp_city_east");
 
            --TODO enter the city
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_north"};
 
        {always=true, "[На юго-запад, к храму]", function()
 
            move(submarine_leviathan, "dyp_temple_entrance");
 
            psub("dyp_temple_entrance");
 
        end};
 
        {always=true, "[На юг, к скале]", function()
 
            move(submarine_leviathan, "dyp_temple_east");
 
            psub("dyp_temple_east");
 
        end};
 
        {always=true, "[На север, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_middle");
 
            psub("dyp_temple_crevice_middle");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_crevice_middle"};
 
        {always=true, "[На юг, к зарослям]", function()
 
            move(submarine_leviathan, "dyp_temple_north");
 
            psub("dyp_temple_north");
 
        end};
 
        {always=true, "[На восток, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_east");
 
            psub("dyp_temple_crevice_east");
 
        end};
 
        {always=true, "[На север, к скале]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_4");
 
            psub("dyp_temple_cliff_4");
 
        end};
 
        {always=true, "[На запад, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_west");
 
            psub("dyp_temple_crevice_west");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_crevice_east"};
 
        {always=true, "[На юго-запад, к зарослям]", function()
 
            move(submarine_leviathan, "dyp_temple_north");
 
            psub("dyp_temple_north");
 
        end};
 
        {always=true, "[На восток, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_far_east");
 
            psub("dyp_temple_crevice_far_east");
 
        end};
 
        {always=true, "[На северо-восток, к костям]", function()
 
            move(submarine_leviathan, "dyp_temple_whale");
 
            psub("dyp_temple_whale");
 
        end};
 
        {always=true, "[На север, к скале]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_5");
 
            psub("dyp_temple_cliff_5");
 
        end};
 
        {always=true, "[На запад, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_middle");
 
            psub("dyp_temple_crevice_middle");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_crevice_far_east"};
 
        {always=true, "[На север, к костям]", function()
 
            move(submarine_leviathan, "dyp_temple_whale");
 
            psub("dyp_temple_whale");
 
        end};
 
        {always=true, "[На запад, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_east");
 
            psub("dyp_temple_crevice_east");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_crevice_west"};
 
        {always=true, "[На север, к скале]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_3");
 
            psub("dyp_temple_cliff_3");
 
        end};
 
        {always=true, "[На восток, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_middle");
 
            psub("dyp_temple_crevice_middle");
 
        end};
 
        {always=true, "[На юго-восток, к зарослям]", function()
 
            move(submarine_leviathan, "dyp_temple_north");
 
            psub("dyp_temple_north");
 
        end};
 
        {always=true, "[На запад, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_far_west");
 
            psub("dyp_temple_crevice_far_west");
 
        end};
 
        {always=true, "[На северо-запад, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_warning");
 
            psub("dyp_temple_warning");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_crevice_far_west"};
 
        {always=true, "[На север, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_warning");
 
            psub("dyp_temple_warning");
 
        end};
 
        {always=true, "[На восток, вдоль ущелья]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_west");
 
            psub("dyp_temple_crevice_west");
 
        end};
 
        {always=true, "[На юг, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_north_west");
 
            psub("dyp_temple_north_west");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_warning"};
 
        {always=true, "[На север, к скале]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_2");
 
            psub("dyp_temple_cliff_2");
 
        end};
 
        {always=true, "[На юг, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_far_west");
 
            psub("dyp_temple_crevice_far_west");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_cliff_1"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_2");
 
            psub("dyp_temple_cliff_2");
 
        end};
 
        {always=true, "[На юго-восток, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_warning");
 
            psub("dyp_temple_warning");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_cliff_2"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_3");
 
            psub("dyp_temple_cliff_3");
 
        end};
 
        {always=true, "[На юг, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_warning");
 
            psub("dyp_temple_warning");
 
        end};
 
        {always=true, "[На запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_1");
 
            psub("dyp_temple_cliff_1");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_cliff_3"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_4");
 
            psub("dyp_temple_cliff_4");
 
        end};
 
        {always=true, "[На юг, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_west");
 
            psub("dyp_temple_crevice_west");
 
        end};
 
        {always=true, "[На юго-запад, к обелиску]", function()
 
            move(submarine_leviathan, "dyp_temple_warning");
 
            psub("dyp_temple_warning");
 
        end};
 
        {always=true, "[На запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_2");
 
            psub("dyp_temple_cliff_2");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_cliff_4"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_5");
 
            psub("dyp_temple_cliff_5");
 
        end};
 
        {always=true, "[На юг, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_middle");
 
            psub("dyp_temple_crevice_middle");
 
        end};
 
        {always=true, "[На запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_3");
 
            psub("dyp_temple_cliff_3");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_cliff_5"};
 
        {always=true, "[На восток, вдоль скалы]", function()
 
            temple_found = true;
 
            move(submarine_leviathan, "iyh_far_from_entrance_foot");
 
            walk("iyh_far_from_entrance");
 
            --TODO катсцена при первом прибытии
 
        end};
 
        {always=true, "[На юго-восток, к костям]", function()
 
            move(submarine_leviathan, "dyp_temple_whale");
 
            psub("dyp_temple_whale");
 
        end};
 
        {always=true, "[На юг, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_east");
 
            psub("dyp_temple_crevice_east");
 
        end};
 
        {always=true, "[На запад, вдоль скалы]", function()
 
            move(submarine_leviathan, "dyp_temple_cliff_4");
 
            psub("dyp_temple_cliff_4");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
        
 
        {tag="dyp_temple_whale"};
 
        {always=true, "[На север, к храму]", function()
 
            temple_found = true;
 
            move(submarine_leviathan, "iyh_far_from_entrance_foot");
 
            walk("iyh_far_from_entrance");
 
            --TODO катсцена при первом прибытии
 
        end};
 
        {always=true, "[На юг, к ущелью]", function()
 
            move(submarine_leviathan, "dyp_temple_crevice_far_east");
 
            psub("dyp_temple_crevice_far_east");
 
        end};
 
        {always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {always=true, "[Отправиться в другое место]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
    };
 
};
 

	
 
--[[
 
Ираафаанотр
 
]]
 

	
 
--[[
 
Ираафаанотр.Город
 
]]
 

	
 
iraa_near_city_west = room {
 
    nam = "iraa_near_city_west";
 
    disp = [[Ираафаанотр, у города]];
 
    dsc = [[Ровное илистое плато простирается вокруг насколько хватает взгляда. Вы находитесь на западной окраине Ираафаанотра -- небольшого навьярского поселения. Невысокие каменные здания, раскиданные в кажущемся беспорядке служат жилищем для многих из них. В центре городка возвышается каменный обелиск, с нанесенными на него изображениями. ]];
 
    view = [[Ровное илистое плато простирается вокруг насколько хватает взгляда. Вы находитесь на западной окраине Ираафаанотра -- небольшого навьярского поселения. Невысокие каменные здания, раскиданные в кажущемся беспорядке служат жилищем для многих из них. В центре городка возвышается каменный обелиск, с нанесенными на него изображениями. ]];
 
    obj = {
 
        "iraa_city_west_guard"
 
    };
 
    way = {
 
        kh_vroom("В левиафан", "leviathan_airlock");
 
        kh_vroom("На восток, к центру Ираафаанотра", "iraa_city_west");
 
    };
 
};
 

	
 
iraa_city_west = room {
 
    nam = "iraa_city_west";
 
    disp = "Ираафаанотр, улица";
 
    dsc = [[Широкая мощеная улица, пересекающая город с востока на запад. К северу вы видите обширные поля, обрабатываемые десятками рук и дающие пищу жителям селения. К востоку вы видите каменный обелиск, возвышающийся над центральной площадью Ираафаанотра. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_near_city_west");
 
        kh_vroom("На восток, к центру Ираафаанотра", "iraa_city_center");
 
    };
 
};
 

	
 
iraa_city_center = room {
 
    nam = "iraa_city_center";
 
    disp = "Ираафаанотр, центральная площадь";
 
    dsc = [[Центральная площадь Ираафаанотра практически пуста. Лишь несколько зевак с интересом разглядывает вас, осторожно выглядывая из дверей библиотеки -- крупного здания, расположенного к северу от вас. Напротив библиотеки расположен дом вождя, не уступающий размерами библиотеке. ]];
 
    obj = {
 
        "iraa_obelisk";
 
    };
 
    way = {
 
        kh_vroom("На запад", "iraa_city_west");
 
        kh_vroom("На восток", "iraa_city_east");
 
        kh_vroom("В библиотеку", "iraa_city_library");
 
        kh_vroom("В дом вождя", "iraa_city_chief_house");
 
    };
 
};
 

	
 
iraa_obelisk = obj {
 
    nam = "iraa_obelisk";
 
    dsc = [[В центре площади стоит большой каменный {обелиск}, с нанесенными на него символами. ]];
 
    act = function(s)
 
        iraaphaanotrr_temple_found = true;
 
        return [[На обелиске, традиционно для навьяров, начертано название города и вырезана карта, указывающая путь к храму. ]];
 
    end;
 
};
 

	
 
iraa_city_east = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "iraa_city_east";
 
    disp = "Ираафаанотр, улица";
 
    dsc = [[Широкая мощеная улица, пересекающая город с востока на запад. К северу вы видите обширные поля, обрабатываемые десятками рук и дающие пищу жителям селения. К западу вы видите каменный обелиск, возвышающийся над центральной площадью Ираафаанотра. ]];
 
    entered = function(s)
 
        if (state == 0 and char_learr.follow) then
 
            path("На юг, к саду"):enable();
 
            if language_known then
 
                return [[Здесь Леарр неожиданно останавливается. Она смотрит на юг, а по ее головным плавникам бегут цветные полосы -- она говорит, что здесь, за домом вождя есть небольшой сад, а сразу за ним находится ее дом. Она просит вас пойти туда вместе с ней. ]];
 
            else
 
                return [[Здесь Леарр неожиданно останавливается. Она смотрит на юг, а по ее головным плавникам бегут цветные полосы. Вы не понимаете, что она пытается вам сказать, но она хватает вас за руку и пытается вести за собой на юг. ]];
 
            end;
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("На восток", "iraa_near_city_east");
 
        kh_vroom("На юг, к саду", "iraa_garden"):disable();
 
        kh_vroom("На запад, к центру Ираафаанотра", "iraa_city_center");
 
    };
 
};
 

	
 
iraa_garden = room {
 
    nam = "iraa_garden";
 
    disp = "Ираафаанотр, сад";
 
    dsc = [[Небольшой сад, расположенный за домом вождя. ]];
 
    way = {
 
        kh_vroom("На север, к главной улице", "iraa_near_city_east");
 
        kh_vroom("На юг, к дому Леарр", "iraa_learr_house_near");
 
    };
 
};
 

	
 
iraa_learr_house_near = room {
 
    nam = "iraa_learr_house_near";
 
    disp = "Ираафаанотр, у дома Леарр";
 
};
 

	
 
iraa_near_city_east = room {
 
    nam = "iraa_near_city_east";
 
    disp = [[Ираафаанотр, у города]];
 
    dsc = [[Ровное илистое плато простирается вокруг насколько хватает взгляда. Вы находитесь на восточной окраине Ираафаанотра -- небольшого навьярского поселения. Невысокие каменные здания, раскиданные в кажущемся беспорядке служат жилищем для многих из них. В центре городка возвышается каменный обелиск, с нанесенными на него изображениями. ]];
 
    obj = {
 
        "iraa_city_east_guard";
 
    };
 
    way = {
 
        kh_vroom("К центру Ираафаанотра", "iraa_city_east");
 
    };
 
};
 

	
 
iraa_city_west_guard = npc {
 
    nam = "iraa_city_west_guard";
 
    dsc = [[По обе стороны дороги стоят двое навьярских {стражникиов}. ]];
 
    phrases = function(s)
 
        if (language_known) then
 
            if (atl_rep_iraa >= 0) then
 
                return {
 
                    "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы -- они просят вас говорить с вождем. ",
 
                    "По головным плавникам стражников бегут цветные полосы -- они приветствуют вас"
 
                };
 
            else
 
                return {
 
                    "Стражники указывают вам на дом вождя. По их головным плавникам бегут цветные полосы -- они просят вас говорить с вождем. "
 
                };
 
            end;
 
        else
 
            return {
 
                "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы, но вы не понимаете, что они значат. "
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_city_east_guard = npc {
 
    nam = "iraa_city_east_guard";
 
    dsc = [[По обе стороны дороги стоят двое навьярских {стражникиов}. ]];
 
    phrases = function(s)
 
        if (language_known) then
 
            if (atl_rep_iraa >= 0) then
 
                return {
 
                    "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы -- они просят вас говорить с вождем. ",
 
                    "По головным плавникам стражников бегут цветные полосы -- они приветствуют вас"
 
                };
 
            else
 
                return {
 
                    "Стражники указывают вам на дом вождя. По их головным плавникам бегут цветные полосы -- они просят вас говорить с вождем. "
 
                };
 
            end;
 
        else
 
            return {
 
                "Стражники указывают вам на дом вождя. По головным плавникам стражников бегут цветные полосы, но вы не понимаете, что они значат. "
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_city_chief_house = room {
 
    nam = "iraa_chief_house";
 
    dsc = [[Приемная дома вождя представляет собой огромый зал. Несколько массивных колонн, не слишком искусно сделанных, поддерживают тяжелую каменную крышу здания. В дальнем конце зала установлен каменный трон. Перед троном установлен громадный, каменный же стол, вокруг которого расставлено множество стульев. ]];
 
    way = {
 
        kh_vroom("На площадь", "iraa_city_center");
 
    };
 
    obj = {
 
        "iraa_chief"
 
    };
 
};
 

	
 
iraa_chief = npc {
 
    nam = "iraa_chief";
 
    dsc = [[{Вождь Ираафаанотра} сидит на троне, внимательно наблюдая за вами своими серыми глазами. Руки его неподвижно лежат на подлокотниках. Серебристая чешуя, слегка синеватая потускнела за долгие годы жизни. Одет он в плотный облегающий костюм из водорослей, не стесняющий движения, как принято у всех, даже самых высокопоставленных навьяров. ]];
 
    dlg = "iraa_chief_dlg";
 
};
 

	
 
iraa_chief_dlg = dlg {
 
    var {
 
        ask_temple = false;
 
    };
 
    nam = "iraa_chief_dlg";
 
    disp = "Вождь Ираафаанотра";
 
    entered = function(s)
 
        if (language_known) then
 
            psub("greet");
 
            if (s.ask_temple) then
 
                s.ask_temple = false;
 
                pon("temple");
 
            end;
 
            return [[Вы подходите к каменному столу, чтобы предстать перед вождем Ираафаанотра -- немолодым уже навьяром. Длинные руки, покрытые тусклой серебристой чешуей, с едва заметным синеватым отливом, покоятся на подлокотниках трона. Не поднимаясь, он начинает говорить. По головным плавникам вождя бегут цветные полосы -- вождь прииглашает вас сесть напротив него и открыть цель вашего визита. В скафандре у вас с трудом получается это сделать, но вы не решаетесь оскорбить вождя и остаться стоять перед ним. ]];
 
        else
 
            psub("no_speech");
 
            return [[]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="no_speech"};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="greet"};
 
        {"[Кодировщик]Приветствую. Мы ищем фрагмент карты пути к Лсэрианотру, который находится у вас. ", [[Вождь задумчиво смотрит на вас. Через некоторое время он отвечает: "У нас нет ничего подобного. Я не знаю, о чем вы говорите". ]], code [[psub("more_info");]]};
 
        {tag="temple", false, "[Кодировщик]Мы просим разрешения посетить храм Ираафаанотра. ", [[Вождь отрицательно качает головой: "Это исключено, хевьяр. "]]};
 
        {"[Кодировщик]Мы ищем Венаэданотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Кодировщик]Мы ищем Нлейисланотр. Вы знаете где это?", [[Вождь кивает: "Далеко отсюда. Спросите у Ритларра. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="more_info"};
 
        {"[Кодировщик]Один из фрагментов карты должен быть у вас[Передать табличку, найденную в храме]. ", [[Вождь отвечает: "Я не знаю ни о чем подобном. вам стоит спросить у Ритларра в библиотеке. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
    };
 
};
 

	
 
iraa_city_library = room {
 
    nam = "iraa_city_library";
 
    dsc = [[Огромный зал библиотеки Ираафаанотра практичски пусто. ]];
 
    obj = {
 
        "iraa_rytlarr",
 
        "iraa_shelves"
 
    };
 
};
 

	
 
iraa_shelves = obj {
 
    nam = "iraa_shelves";
 
    dsc = [[Вдоль стен стоят многочисленные {стеллажи} с древними и новыми записями. Большинство из них сделаны на металлических табличках и явно очень стары. Вперемешку с ними стоят и каменные -- более современные, и даже сделанные на водорослях -- те, что еще не успели переписать на что-то более долговечное. ]];
 
    act = [[Вам потребуются десятилетия, чтобы изучить все, находящиеся здесь записи. ]];
 
};
 

	
 
iraa_rytlarr = npc {
 
    nam = "iraa_rytlarr";
 
    dsc = [[По залу неспешно расхаживает молодой {навьяр}. Зеленые глаза внимательно рассматривают полки. Зеленовато-серая чешуя поблескивает на свету. Время от времени он останавливается возле одной из полок, чтобы перенести те или иные записи с места на место]];
 
    dlg = "iraa_rytlarr_dlg";
 
};
 

	
 
iraa_rytlarr_dlg = dlg {
 
    nam = "iraa_rytlarr_dlg";
 
    disp = [[Ритларр]];
 
    entered = function(s)
 
        if (language_known) then
 
            psub("generic");
 
            return [[Навьяр обращается к вам: "Ритларр приветствует тебя, хевьяр". ]];
 
        else
 
            psub("no_speech");
 
            return [[По головным плавникам навьяра бегут цветные полосы, но вы не понимаете, что он пытается сказать вам. ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="no_speech"};
 
        {"[Уйти]", code [[ back(); ]]};
 
        {tag="generic"};
 
        {"[Кодировщик]Я ищу часть карты, ведущей в Лсэрианотр.", [[Навьяр некоторое время стоит, задумавшись. Потом он начинает ходить от полки к полке. Наконец, он сообщает: "Я не уверен, что она у нас есть. Но если вы уверены -- она должна быть в храме. Спросите у вождя. Быть может он позволит вам войти внутрь по такому случаю". ]], code [[ iraa_chief_dlg.ask_temple = true; ]]};
 
        {"[Кодировщик]Ты знаешь, где находится Венаэданотр?", [[Навьяр кивает: "Мы знаем путь туда". Он ведет вас к одной из полок в дальнем конце зала. Ритларр достает одну из металлических пластин и протягивает вам со словами: "Вернете, когда сделаете копию у себя". ]], code [[ ]]};
 
        {"[Кодировщик]Ты знаешь, где находится Нлейисланотр?", [[Навьяр отрицательно качает головой: "У нас нет карты пути к этому месту. Быть может, путь знают в Дипатреанотре. "]]};
 
        {"[Уйти]", code [[ back(); ]]};
 
    };
 
};
 

	
 
--[[
 
Ираафаанотр.Храм
 
]]
 

	
 
iraa_temple_entrance = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Храм Ираафаанотра, вход";
 
    underwater = true;
 
    dsc = [[Перед вами возвышаются массивные двустворчатые ворота храма, вытесанные из камня. Над ними вы видите тщательно поддерживаемую в порядке карту, указывающую путь к Ираафаанотру. Скала тянется с севера на юг насколько хватает глаз. ]];
 
    view = [[Через иллюминаторы видны массивные ворота вытесанного в скале храма. Над входом расположен символ храма -- карта пути к самому Ираафаанотру отсюда. ]];
 
    entered = function(s)
 
        if (char_anna.follow and s.state == 0) then
 
            pr [[В динамике скафандра вы слышите голос Анны Рэдклифф: "Этот символ - ни что иное, как карта, указывающая путь к городу. В отличие от самого города, здесь я не вижу указаний ни на одно место, кроме храма и Ираафаанотра". ]];
 
        end;
 
        s.state = 1;
 
    end;
 
    obj = {
 
        "iraa_temple_guardians";
 
    };
 
    way = {
 
        kh_vroom("Войти", function(s)
 
            return [[Стражники не пропустят вас. ]];
 
        end);
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_north_1");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_south");
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
 
};
 

	
 
iraa_temple_guardians = npc {
 
    nam = "iraa_temple_guardians";
 
    dsc = [[У входа в храм стоят двое {стражников} -- обычный дозор. ]];
 
    phrases = function(s)
 
        if language_known then
 
            return {
 
                "В вашем присутствии стражники заметно нервничают. ";
 
                "Стражники осторожно переглядываются. ";
 
                "По головным плавникам одного из стражников бегут цветные полосы: \"Уходите, вам здесь не место\". ";
 
            };
 
        else
 
            return {
 
                "В вашем присутствии стражники заметно нервничают. ";
 
                "Стражники осторожно переглядываются. ";
 
                "По головным плавникам одного из стражников бегут цветные полосы, но вы не понимаете, что он хочет вам сказать. ";
 
            };
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_south = room {
 
    nam = "iraa_temple_south";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на севере вы видите Левиафан -- вашу субмарину и вход в храм Ираафаанотра, охраняемый двумя вооруженными навьярами. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_entrance");
 
    };
 
};
 

	
 
iraa_temple_north_1 = room {
 
    nam = "iraa_temple_north_1";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на юге вы видите Левиафан -- вашу субмарину и вход в храм Ираафаанотра, охраняемый двумя вооруженными навьярами. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_north_2");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_entrance");
 
    };
 
};
 

	
 
iraa_temple_north_2 = room {
 
    nam = "iraa_temple_north_2";
 
    disp = "У скалы";
 
    dsc = [[На востоке от вас возвышаетеся скала, протянувшаяся на многие километры с севера на юг. Вдалеке на юге вы едва различаете Левиафан -- вашу субмарину. ]];
 
    way = {
 
        kh_vroom("Вдоль скалы на север", "iraa_temple_north_3");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_north_1");
 
    };
 
};
 

	
 
iraa_temple_north_3 = room {
 
    nam = "iraa_temple_north_3";
 
    disp = "У входа в ущелье";
 
    dsc = [[К востоку от вас возвышается скала, протянувшаяся на многие километры ссевера на юг. Рядом с вами в скале имеется узкое ущелье -- настолько незаметное, что проплывай вы мимо на Левиафане, вы не обратили бы на него никакого внимания. ]];
 
    way = {
 
        kh_vroom("В ущелье", "iraa_temple_ravine_1");
 
        kh_vroom("Вдоль скалы на юг", "iraa_temple_north_2");
 
    };
 
    entered = function(s)
 
        lifeoff(iraa_temple_shark);
 
    end;
 
};
 

	
 
iraa_temple_shark = room {
 
    var {
 
        alive = true;
 
        position = 1;
 
        wait = 0;
 
    };
 
    cycle = {2,6,7,8,9,4.3};
 
    nam = "iraa_temple_shark";
 
    life = function(s)
 
        s.wait = s.wait + 1;
 
        if (s.wait < 3) then
 
            return;
 
        end;
 
        s.wait = 0;
 
        s.position = s.position + 1;
 
        if (s.position > #s.cycle) then
 
            s.position = 1;
 
        end;
 
        if s.position == here().index then
 
            walk("game_over_eaten_by_shark");
 
        end;
 
    end;
 
    canshoot = true;
 
    onshoot = function(s)
 
        s.alive = false;
 
        lifeoff(s);
 
        s:disable();
 
        return [[Пронзенная метким выстрелом гарпуна, акула умирает. ]];
 
    end;
 
    dsc = function(s)
 
        if s.alive then
 
            if here().index == 1 then
 
                if s.cycle[s.position] == 2 then
 
                    return [[На востоке от вас вы видите {акулу}, она движется на север. ]];
 
                end;
 
            if here().index == 5 then
 
            elseif here().index == 5 then
 
                if s.cycle[s.position] == 4 then
 
                    return [[На западе от вас вы видите {акулу}, она движется на запад. ]];
 
                end;
 
            if here().index == 10 then
 
            elseif here().index == 10 then
 
                if s.cycle[s.position] == 7 then
 
                    return [[На юге от вас вы видите {акулу}, она движется на восток. ]];
 
                end;
 
            elseif here().index == 2 then
 
                if s.cycle[s.position] == 3 then
 
                    return [[С востока к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 6 then
 
                    return [[К северу от вас вы видите {акулу}. Она не видит вас и продолжает движение от вас. ]];
 
                end;
 
            elseif here().index == 6 then
 
                if s.cycle[s.position] == 2 then
 
                    return [[С юга к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 7 then
 
                    return [[К северу от вас вы видите {акулу}. Она не видит вас и продолжает движение от вас. ]];
 
                end;
 
            elseif here().index == 7 then
 
                if s.cycle[s.position] == 6 then
 
                    return [[С юга к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 8 then
 
                    return [[На востоке вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 8 then
 
                if s.cycle[s.position] == 7 then
 
                    return [[С запада к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 9 then
 
                    return [[На востоке вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 9 then
 
                if s.cycle[s.position] == 8 then
 
                    return [[С запада к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 4 then
 
                    return [[На юге вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 4 then
 
                if s.cycle[s.position] == 9 then
 
                    return [[С севера к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 3 then
 
                    return [[На западе вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            elseif here().index == 3 then
 
                if s.cycle[s.position] == 4 then
 
                    return [[С востока к вам приближается {акула}. ]];
 
                elseif s.cycle[s.position] == 2 then
 
                    return [[На западе вы видите {акулу}, удаляющуюся от вас. ]];
 
                end;
 
            end;
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_ravine_1 = room {
 
    index = 1;
 
    nam = "iraa_temple_ravine_1";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_north_3");
 
        kh_vroom("На восток", "iraa_temple_ravine_2");
 
    };
 
    entered = function(s)
 
        if iraa_temple_shark.alive then
 
            lifeon(iraa_temple_shark);
 
        end;
 
    end;
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_2 = room {
 
    index = 2;
 
    nam = "iraa_temple_ravine_2";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_1");
 
        kh_vroom("На север", "iraa_temple_ravine_6");
 
        kh_vroom("На восток", "iraa_temple_ravine_3");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_3 = room {
 
    index = 3;
 
    nam = "iraa_temple_ravine_3";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_2");
 
        kh_vroom("На восток", "iraa_temple_ravine_4");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_4 = room {
 
    index = 4;
 
    nam = "iraa_temple_ravine_4";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_3");
 
        kh_vroom("На север", "iraa_temple_ravine_9");
 
        kh_vroom("На восток", "iraa_temple_ravine_5");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_5 = room {
 
    index = 5;
 
    nam = "iraa_temple_ravine_5";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_4");
 
        kh_vroom("В трещину", "iraa_temple_crevice");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
    entered = function(s)
 
        lifeoff(iraa_temple_guardian);
 
    end;
 
};
 

	
 
iraa_temple_ravine_6 = room {
 
    index = 6;
 
    nam = "iraa_temple_ravine_6";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На юг", "iraa_temple_ravine_2");
 
        kh_vroom("На север", "iraa_temple_ravine_7");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_7 = room {
 
    index = 7;
 
    nam = "iraa_temple_ravine_7";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На юг", "iraa_temple_ravine_6");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На север", "iraa_temple_ravine_10");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_8 = room {
 
    index = 8;
 
    nam = "iraa_temple_ravine_8";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_7");
 
        kh_vroom("На север", "iraa_temple_ravine_10");
 
        kh_vroom("На восток", "iraa_temple_ravine_9");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_9 = room {
 
    index = 9;
 
    nam = "iraa_temple_ravine_9";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На запад", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_4");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_10 = room {
 
    index = 10;
 
    nam = "iraa_temple_ravine_10";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На север", "iraa_temple_ravine_11");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_7");
 
    };
 
    obj = {
 
        "iraa_temple_shark"
 
    };
 
};
 

	
 
iraa_temple_ravine_11 = room {
 
    nam = "iraa_temple_ravine_11";
 
    disp = "Ущелье";
 
    dsc = [[Глубокое узкое ущелье. Стены его почти отвесные и очен неровные, но вы бы не рискнули пытаться карабкаться по ним -- порода очень мягкая и может легко обрушиться под вшим весом. ]];
 
    way = {
 
        kh_vroom("На север", "iraa_temple_ravine_11");
 
        kh_vroom("На восток", "iraa_temple_ravine_8");
 
        kh_vroom("На юг", "iraa_temple_ravine_7");
 
    };
 
};
 

	
 
iraa_temple_crack = room {
 
    index = 7;
 
    nam = "iraa_temple_crack";
 
    disp = "Трещина в скале";
 
    dsc = [[Небольшая узкая трещина в скале. Вы с огромным трудом перемещаетесь внутри. С одной стороны вы видите ущелье, ерез которое вы проникли сюда. С другой стороны -- какой-то хорошо освещенный коридор. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_6");
 
        kh_vroom("В ущелье", "iraa_temple_ravine_5");
 
    };
 
    entered = function(s)
 
        lifeon(iraa_temple_guardian);
 
    end;
 
};
 

	
 
iraa_temple_guardian = room {
 
    var {
 
        position = 1;
 
        direction = 1;
 
        wait = 0;
 
    };
 
    nam = "iraa_temple_guardian";
 
    dsc = function(s)
 
        
 
    end;
 
    life = function(s)
 
        s.wait = s.wait + 1;
 
        if (s.wait < 3) then
 
            return;
 
        end;
 
        s.wait = 0;
 
        if (s.direction == 1) then
 
            if (s.position < 3) then
 
                s.position = s.position + 1;
 
                if (here().index >= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 2;
 
            end;
 
        elseif (s.direction == 2) then
 
            if (s.position < 6) then
 
                s.position = s.position + 1;
 
                if (here().index >= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 2;
 
            end;
 
        elseif (s.direction == -2) then
 
            if (s.position > 3) then
 
                s.position = s.position - 1;
 
                if (here().index <= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = -1;
 
            end;
 
        elseif (s.direction == -1) then
 
            if (s.position > 1) then
 
                s.position = s.position - 1;
 
                if (here().index <= s.position) then
 
                    pr [[Вы слышите шаги приближащегося стражника. ]];
 
                else
 
                    pr [[Вы слышите шаги удаляющегося стражника. ]];
 
                end;
 
            else
 
                s.direction = 1;
 
            end;
 
        end;
 
        if here().index > 6 or here().index < 1 then
 
            return;
 
        end;
 
        if s.direction == 1 and here().index < 4 and here().index >= s.position or 
 
           s.direction == 2 and here().index >= s.position or
 
           s.direction == -2 and here().index > 2 and here().index <= s.position or 
 
           s.direction == -1 and here().index <= s.position then
 
            walk("game_over_caught_iraa");
 
        end;
 
    end;
 
    dsc = function(s)
 
        if s.direction == 1 then
 
            
 
        elseif s.direction == 2 then
 
        elseif s.direction == -2 then
 
        elseif s.direction == -1 then
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_corridor_6 = room {
 
    index = 6;
 
    nam = "iraa_temple_corridor_6";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в самом конце коридора в храме Ираафаанотра. Вокруг -- ровные камееные стены. В одной из них вы видите глубокую, трещину, через которую вы с трудом протиснулись сюда. Еще в одной из стен вы видите небольшой дверной проем, за которым скрывается маленькая комнатка. ]];
 
    way = {
 
        kh_vroom("В трещину", "iraa_temple_crack");
 
        kh_vroom("В комнату", "iraa_temple_room_0");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_5");
 
    };
 
};
 

	
 
iraa_temple_corridor_5 = room {
 
    index = 5;
 
    nam = "iraa_temple_corridor_5";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. В одной из ровных каменных стен, расположенных по сторонам от вас, имеется небольшой дверной проем, за которым скрывается маленькая комнатка. ]];
 
    way = {
 
        kh_vroom("В комнату", "iraa_temple_room_2");
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_6");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_4");
 
    };
 
};
 

	
 
iraa_temple_corridor_4 = room {
 
    index = 4;
 
    nam = "iraa_temple_corridor_4";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]];
 
    way = {
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_5");
 
        kh_vroom("По коридору, на юг", "iraa_temple_corridor_3");
 
    };
 
};
 

	
 
iraa_temple_corridor_3 = room {
 
    index = 3;
 
    nam = "iraa_temple_corridor_3";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Здесь коридор сворачивает под прямым углом к северу. В конце коридора на западе вы видите массивную каменную дверь, которая сейчас открыта. На севере коридор заканчивается тупиком. К востоку от вас массивная каменная дверь, но она заперта. ]];
 
    way = {
 
        kh_vroom("По коридору, на север", "iraa_temple_corridor_4");
 
        kh_vroom("В комнату", "iraa_temple_room_5");
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_2");
 
    };
 
};
 

	
 
iraa_temple_corridor_2 = room {
 
    index = 2;
 
    nam = "iraa_temple_corridor_2";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. ]];
 
    way = {
 
        kh_vroom("По коридору, на восток", "iraa_temple_corridor_3");
 
        kh_vroom("В комнату в северной стене", "iraa_temple_room_3");
 
        kh_vroom("В комнату в южной стене", "iraa_temple_room_6");
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_1");
 
    };
 
};
 

	
 
iraa_temple_corridor_1 = room {
 
    index = 1;
 
    nam = "iraa_temple_corridor_1";
 
    disp = "Храм Ираафаанотра, коридор";
 
    dsc = [[Вы стоите в коридоре в храме Ираафаанотра. Вокруг -- ровные каменные стены. Прямо перед вами находится дверь, ведущая в основное помещение храма. Отсюда вы видите, что в нем никого нет. ]];
 
    way = {
 
        kh_vroom("По коридору, на запад", "iraa_temple_corridor_2");
 
        kh_vroom("В комнату в северной стене", "iraa_temple_room_7");
 
        kh_vroom("В комнату в южной стене", "iraa_temple_room_1");
 
        kh_vroom("В главный зал", "iraa_temple_main_3");
 
    };
 
};
 

	
 
iraa_temple_main_3 = room {
 
    nam = "iraa_temple_main_3";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в конце главного зала храма Ираафаанотра. В стенах проделаны многочисленые ниши, в которых покоятся священные реликвии навьяров. Массивная каменная дверь ведет в задние помещения. ]];
 
    way = {
 
        kh_vroom("в дверь", "iraa_temple_corridor_1");
 
        kh_vroom("К центру зала", "iraa_temple_main_2");
 
    };
 
};
 

	
 
iraa_temple_main_2 = room {
 
    nam = "iraa_temple_main_2";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в центре главного зала храма Ираафаанотра. Рядом с вами находится пустой пьедестал, на котором должна покоиться важнейшая реликвия храма, однако сейчас она отсутствует. Слева и справа от вас находятся залы, именуемые залами Ответа и Вопроса. ]];
 
    way = {
 
        kh_vroom("В конец зала", "iraa_temple_main_3");
 
        kh_vroom("В зал Вопроса", "iraa_temple_qhall");
 
        kh_vroom("В зал Ответа", "iraa_temple_ahall");
 
        kh_vroom("К главному входу", "iraa_temple_main_1");
 
    };
 
    obj = {
 
        "iraa_temple_lever_4"
 
    };
 
};
 

	
 
iraa_temple_main_1 = room {
 
    nam = "iraa_temple_main_1";
 
    disp = "Храм Ираафаанотра, главный зал";
 
    dsc = [[Вы находитесь в главном зале храма Ираафаанотра. В многочисленных нишах в стенах покоятся древние реликвии. Перед вами возвышаются массивные ворота храма, за которыми наверняка стоит обычная стража -- двое вооруженных навьяров. ]];
 
    way = {
 
        kh_vroom("В ворота", function(s)
 
            pr("Не стоит делать этого. Стража вас схватит. ");
 
            return false;
 
        end);
 
        kh_vroom("К центру зала", "iraa_temple_main_2");
 
    };
 
};
 

	
 
iraa_temple_question = obj {
 
    nam = "iraa_temple_question";
 
    dsc = [[На стене напротив входа нанесены какие-то {письмена}. Видно, что навьяры раз за разом тщательно обновляют их, сохраняя их в первозданном виде. ]];
 
    act = [[Письмена гласят: "Ищи число". ]];
 
};
 

	
 
iraa_temple_qhall = room {
 
    nam = "iraa_temple_qhall";
 
    disp = "Храм Ираафаанотра, Зал Вопроса";
 
    dsc = [[Небольшой боковой зал. ]];
 
    way = {
 
        kh_vroom("В главный зал", "iraa_temple_main_2");
 
    };
 
    obj = {
 
        "iraa_temple_question";
 
    };
 
};
 

	
 
iraa_temple_answer = obj {
 
    nam = "iraa_temple_answer";
 
    dsc = [[Вы видите вырезанное в стене изображение {спрута}. ]];
 
    act = [[Традиционное для навьяров схематичное изображение спрута. Вам бросается в глаза наличие у существа шестнадцати щупалец. ]];
 
};
 

	
 
iraa_temple_ahall = room {
 
    nam = "iraa_temple_ahall";
 
    disp = "Храм Ираафаанотра, Зал Ответа";
 
    dsc = [[Небольшой боковой зал. ]];
 
    way = {
 
        kh_vroom("В главный зал", "iraa_temple_main_2");
 
    };
 
    obj = {
 
        "iraa_temple_answer";
 
    };
 
};
 

	
 
iraa_temple_room_0 = room {
 
    var {
 
        state = false;
 
    };
 
    nam = "iraa_temple_room_0";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_6");
 
        kh_vroom("В скрытый проход", "iraa_temple_hidden_stairs");
 
    };
 
    obj = {
 
        "iraa_temple_lever_0"
 
    };
 
    open = function(s)
 
        s.state = true;
 
        path("В скрытый проход", s):enable();
 
        if here() == s then
 
            pr("Вы видите, как одна из стен раздвигается, открывая скрытый проход куда-то в глубь скалы. ");
 
        else
 
            pr("Вы слышите где-то поблизости скрежет каменных плит. ");
 
        end;
 
    end;
 
    close = function(s)
 
        if s.state then
 
            s.state = false;
 
            path("В скрытый проход", s):disable();
 
            if here() == s then
 
                pr("Вы видите, как одна из стен cдвигается, вновь закрывая потайной проход. ");
 
            else
 
                pr("Вы слышите где-то поблизости скрежет каменных плит. ");
 
            end;
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_room_1 = room {
 
    nam = "iraa_temple_room_1";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_1");
 
    };
 
    obj = {
 
        "iraa_temple_lever_1"
 
    };
 
};
 

	
 
iraa_temple_room_2 = room {
 
    nam = "iraa_temple_room_2";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_5");
 
    };
 
    obj = {
 
        "iraa_temple_lever_2"
 
    };
 
};
 

	
 
iraa_temple_room_3 = room {
 
    nam = "iraa_temple_room_3";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_2");
 
    };
 
    obj = {
 
        "iraa_temple_lever_3"
 
    };
 
};
 

	
 
iraa_temple_room_5 = room {
 
    nam = "iraa_temple_room_5";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_3");
 
    };
 
    obj = {
 
        "iraa_temple_lever_5"
 
    };
 
};
 

	
 
iraa_temple_room_6 = room {
 
    nam = "iraa_temple_room_6";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_2");
 
    };
 
};
 

	
 
iraa_temple_room_7 = room {
 
    nam = "iraa_temple_room_7";
 
    disp = "Храм Ираафаанотра, комната";
 
    dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
 
    way = {
 
        kh_vroom("В коридор", "iraa_temple_corridor_1");
 
    };
 
};
 

	
 
iraa_temple_switch = obj {
 
    nam = "iraa_temple_switch";
 
    var {
 
        state = {false,false,false,false,false,false};
 
    };
 
    switch = function(s, index)
 
        if index < 7 and index > 0 then
 
            s.state[index] = not s.state[index];
 
        end;
 
        if not state[1] and not state[2] and state[3] and not state[4] and state[5] and not state[6] then
 
            -- A valid state
 
            iraa_temple_room_0:open();
 
        else
 
            -- An invalid state
 
            iraa_temple_room_0:close();
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_lever_0 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой фиолетового цвета]];
 
    act = function(s)
 
        iraa_temple_switch(1);
 
    end;
 
};
 

	
 
iraa_temple_lever_1 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой синего цвета]];
 
    act = function(s)
 
        iraa_temple_switch(2);
 
    end;
 
};
 

	
 
iraa_temple_lever_2 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой зеленого цвета]];
 
    act = function(s)
 
        iraa_temple_switch(3);
 
    end;
 
};
 

	
 
iraa_temple_lever_3 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой желтого цвета]];
 
    act = function(s)
 
        iraa_temple_switch(4);
 
    end;
 
};
 

	
 
iraa_temple_lever_4 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Под пьедесталом расположен едва заметный {рычаг} с отметкой оранжевого цвета]];
 
    act = function(s)
 
        iraa_temple_switch(5);
 
    end;
 
};
 

	
 
iraa_temple_lever_5 = obj {
 
    nam = "iraa_temple_lever_0";
 
    dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой красного цвета]];
 
    act = function(s)
 
        iraa_temple_switch(6);
 
    end;
 
};
 

	
 
iraa_temple_hidden_stairs = darkroom {
 
    nam = "iraa_temple_hidden_stairs";
 
    dsc_dark = [[]];
 
    dsc_halflit = [[]];
 
    way = {
 
        kh_vroom("Наверх", "iraa_temple_room_0", 1);
 
        kh_vroom("Вниз", "iraa_temple_room_0", 1);
 
    };
 
};
 

	
 
iraa_temple_button_ctr = function(nam, index)
 
    return obj {
 
        nam = nam;
 
        dsc = function(s)
 
            local im = "images/dyp_bg.png";
 
            for i = 1, #iraa_temple_hidden_hall.buttons[index] do
 
                im = im .. ";images/dyp_" .. tostring(iraa_temple_hidden_hall.buttons[index][i]) .. ".png";
 
            end;
 
            if (iraa_temple_hidden_hall.pressed_buttons[index]) then
 
                return "{Рычаг с символами " .. img(im) .."} включен.^";
 
            else
 
                return "{Рычаг с символами " .. img(im) .."} выключен.^";
 
            end;
 
        end;
 
        act = function(s)
 
            iraa_temple_hidden_hall:check(index);
 
            return [[
 
                Вы переключаете рычаг и узор на полу комнаты меняется
 
            ]];
 
        end;
 
    };
 
end;
 

	
 
iraa_temple_hidden_hall = room {
 
    var {
 
        active_parts = {false, false, false, false, false, false, false, false, false, false, false, false};
 
        pressed_buttons = {false, false, false, false, false, false, false, false};
 
        solved = false;
 
    };
 
    buttons = {
 
        {1, 5, 9, 11, 12};
 
        {1, 2, 3, 4};
 
        {4, 8, 10, 11, 12};
 
        {2, 4, 5, 6};
 
        {1, 5, 7, 9, 10, 11, 12};
 
        {2, 6, 9, 10, 12};
 
        {1, 3, 7, 8};
 
        {3, 7, 9, 10, 11};
 
    };
 
    pic = function(s)
 
        local pic = 'images/dyp_bg.png';
 
        local cnt = 0;
 
        for i = 1, #s.active_parts do
 
            if (s.active_parts[i]) then
 
                cnt = cnt + 1;
 
                pic = pic .. ";images/dyp_" .. tostring(i) .. ".png";
 
            end;
 
        end;
 
        if (cnt > 0) then
 
            return pic;
 
        else
 
            return nil;
 
        end;
 
    end;
 
    nam = "Храм Ираафаанотра, потайной зал";
 
    dsc = [[Большой круглый плохо освещенный зал. В центре зала расположено восемь рычагов, рядом с которыми нанесены какие-то символы. ]];
 
    obj = {
 
        iraa_temple_button_ctr("iraa_temple_b1", 1);
 
        iraa_temple_button_ctr("iraa_temple_b2", 2);
 
        iraa_temple_button_ctr("iraa_temple_b3", 3);
 
        iraa_temple_button_ctr("iraa_temple_b4", 4);
 
        iraa_temple_button_ctr("iraa_temple_b5", 5);
 
        iraa_temple_button_ctr("iraa_temple_b6", 6);
 
        iraa_temple_button_ctr("iraa_temple_b7", 7);
 
        iraa_temple_button_ctr("iraa_temple_b8", 8);
 
    };
 
    way = {
 
        kh_vroom("Наверх", "iraa_temple_hidden_stairs"):disable();
 
        kh_vroom("Вниз", "iraa_temple_hidden_storage"):disable();
 
    };
 
    check = function(s, index)
 
        s.pressed_buttons[index] = not s.pressed_buttons[index];
 
        
 
        for i = 1, #s.active_parts do
 
            s.active_parts[i] = false;
 
        end;
 
        
 
        for i = 1, #s.pressed_buttons do
 
            if (s.pressed_buttons[i]) then
 
                for j = 1, #s.buttons[i] do
 
                    s.active_parts[s.buttons[i][j]] = not s.active_parts[s.buttons[i][j]];
 
                end;
 
            end;
 
        end;
 
        
 
        s.solved = true;
 
        for i = 1, #s.active_parts do
 
            if (not s.active_parts[i]) then
 
                s.solved = false;
 
                break;
 
            end;
 
        end;
 
        
 
        if (s.solved) then
 
            path("Наверх"):enable();
 
            path("Вниз"):enable();
 
        end;
 
    end;
 
};
 

	
 
iraa_temple_hidden_storage = room {
 
    nam = "iraa_temple_hidden_storage";
 
    disp = [[Храм Ираафаанотра, хранилище]];
 
    dsc = [[Стены этой небольшой комнаты излучают слабый свет. ]];
 
    obj = {
 
        "iraa_temple_hidden_pedestal"
 
    };
 
};
 

	
 
iraa_temple_hidden_pedestal = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = "iraa_temple_hidden_pedestal";
 
    dsc = function(s)
 
        if s.state == 0:
 
        if s.state == 0 then
 
            return [[В центре установлен металлический пьедестал, на котором лежит металлическая {табличка}. ]];
 
        else
 
            return [[В центре установлен металлический {пьедестал}. ]];
 
        end;
 
    end;
 
    act = function(s)
 
        if s.state == 0:
 
        if s.state == 0 then
 
            item_lse_map.state = item_lse_map.state + 1;
 
            return [[Вы забираете металлическую табличку себе. ]];
 
        else
 
            return [[Вьедестал пуст. ]];
 
        end;
 
    end;
 
};
game_over.lua
Show inline comments
 
game_over_caught_iraa = game_over("game_over_caught_iraa", [[Стражник замечает вас и поднимает тревогу. Теперь, даже если вам удастся одолеть его и добыть фрагмент карты, вы ничего не сможете сделать -- на Атлантиде вас немедленно посадят под арест, а навьяры тепеь точно нестанут вам помогать. ]]);
 
 
game_over_banished_lfc = game_over("game_over_banished_lfc", [[Как только вы оказываетесь в межсекционном коридоре, вас окружают стражники Атлантиды. Они просят вас проследовать за ними и вы понимаете, что сопротивление бесполезно. Вас проводят в кабинет Винсента Даркстара. Когда стражники выходят, начальник службы безопасности поднимается из-за стола и начинает вас отчитывать:"Господин Дрейк. Вы крайне разочаровали меня. Мало того! Вы поставили под угрозу дальнейшую работу станции", -- впервые вы слышите, как Даркстар практически срывается на крик -- до этого он всегда говорил спокойно и уверенно, -- "Отныне, вы лишены всяческих привилегий и при первой возможности будете депортированы". Когда вы выходите из кабинета, охранники сопроваждают вас в вашу каюту и запирают там. Несколько месяцев вы проводите взаперти. Уильям и Адриан Блэк так и не вернулись из своей экспедиции.^Вскоре вас в запертой каюте Левиафана, мало отличающейся от каюты на станции, высылают на поверхность. Вас высаживают возле одного из небольшихэ прибрежных городков соединенных штатов, откуда вы без проблем доберетесь куда угодно. Однако, путь на Атлантиду потерян для вас навсегда.  ]]);
 
 
game_over_lse_prison_fight = game_over("game_over_lse_prison", [[Стражники с легкостью останавливают вашу попытку побега. Вы возвращаетесь в камеры и теперь вам уже не на что надеяться. ]]);
 
 
game_over_lse_prison = game_over("game_over_lse_prison", [[Фаэтларр рванулся к двери, расчитывая проскользнуть незаметно. К сожалению, дверь оказалась запертой и навьяру не оставалось ничего, кроме как попытаться убрать стражника, пока тот не позвал на помощь. К сожалению, Фаэтларр оказался недостаточно быстр. Дверь открылась и в помещение вбежали сразу несколько стражников. Фаэтларру не оставалось ничего, кроме как сдаться. Его запирают рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_lse_guards = game_over("game_over_lse_guards", [[Охранник поднимает тревогу. Вы не успеваете ничего сделать и оказываетесь схвачены. ]]);
 
 
game_over_phaetlarr_caught = game_over("game_over_phaetlarr_caught", [[Едва увидев Фаэтларра, стражники бросаются к нему, не давая никаких шансов на спасение. Через некоторое время, он оказывается в тюрьме, рядом с остальными членами экипажа. Вы понимаете, что теперь все действительно кончено. Вы проиграли. ]]);
 
 
game_over_phaetlarr_wrong_wire = game_over("game_over_phaetlarr_wrong_wire", [[Едва Фаэтларр обрезает провод, как свет в доке меняет цвет на красный, а со всех сторон доносятся громкие звуки сирены. Стражники среагировали моментально. Меткий бросок копья протыкает навьяра. Даже если он выжил, шансов спасти остальной экипаж у него не остается. ]]);
 
 
game_over_za_temple = game_over("game_over_za_temple", [[Развернув субмарину вы подставили винт под удары ваших противников. Несколько попаданий в винт выводят его из строя и Левиафан оказывается обездвижен. Теперь вы совершенно беззащитны перед атаками противника. ]]);
 
 
game_over_kraken = game_over("game_over_kraken", [[От сильных ударов корпус субмарины начал расходиться по швам. В помещения хлынула вода. Озверевший кракен продолжает хлестать Левиафан своими щупальцами. Наконец, чудовище хватает подлодку и отправляется вместе с ней в бездну. К этому времени на борту уже не осталось никого живого, кроме, быть может, навьяров. ]]);
 
 
game_over_za_fight = game_over("game_over_za_fight", [[Стражники навьяров - опасные противники. Очередной удар копья проделывает дыру в вашем скафандре и он наполняется водой. Вскоре вы задыхаетесь. ]]);
 
 
game_over_za_learr = game_over("game_over_za_learr", [[Леарр пытается оттолкнуть вас от штурвала и остановить Левиафан. Вы делаете резкий поворот и субмарина кренится на бок. Леарр, не удержавшись на ногах, падает. Навьярка кричит в бессильной ярости, когда вы пролетаете над воротами Нлейисланотра. Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Еще через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_za_anna = game_over("game_over_za_learr", [[Вы берете курс к центру города, а вокруг вас начинают появляться целые отряды вооруженных навьяров. Восседая на белых акулах, всадники несутся наперерез Левиафану. Поначалу, копья отскакивают от металлической обшивки субмарины, не насося ей ущерба, а выстрелы из звуковой пушки выкашивают огромные прорехи в рядах противника. Однако, вскоре, несколько копий попадает в уязвимые места: на приборной панели загораются тревожные лампочки, сообщающие о поломках. Вы слышите едва различимый среди шума двигателей голос Анны: "Это была плохая идея". Через мгновение винт останавливается. Вы чувствуете запах дыма, заполняющий помещение. Вы пытаетесь использовать звуковую пушку, однако она не работает. Вы пытаетесь запустить торпеды, но мощный взрыв сотрясает подлодку - отверстия торпедных аппаратов были заблокированы и торпеды взорвались находясь еще внутри Левиафана. Свет гаснет, а отсеки начинает заполнять вода. Вы наглухо задраиваете люк рубки, но вас это уже не спасет. ]]);
 
 
game_over_eaten_by_octopus = game_over("game_over_eaten_by_octopus", [[Гигантский спрут мгновенно опутывает вас своими щупальцами. Вы не можете вырваться из стальной хватки чудовища. Металл скафандра скрипит, не выдерживая давления и вы понимаете, что ваши дни сочтены. ]]);
 
 
game_over_eaten_by_shark = room {
 
    nam = "game_over_eaten_by_shark";
 
    disp = "Игра окончена";
 
    hideinv = true;
 
    dsc = [[Вы не успеваете заметить, как акула разгрызает ваш скафандр острыми зубами. Через несколько мгновений вы умираете. ]];
 
};
 
 
game_over_caught = room {
 
	nam = "game_over_caught";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники склада обнаруживают вас. В мгновение вы оказываетесь схвачены. Ни в полиции ни в суде никому нет никакого дела до причин вашей попытки проникновения на склад. Ближайшие несколько лет вы проведете в тюрьме. ]];
 
};
 
 
game_over_banished = room {
 
	nam = "game_over_banished";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Охранники сопровождают вас до Левиафана. Без помощи Атлантиды, вы не сможете найти отца. Ваши поиски окончены. ]];
 
};
 
 
game_over_powerless = room {
 
	nam = "game_over_powerless";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Электрооборудование Левиафана выходит из строя и вы теряете всякую возможность управлять субмариной. Разъяренный скат продолжает атаковать субмарину, то испуская электрические разряды, то нанося удары хвостовым шипом. Через некоторое время обшивка не выдерживает и рубка Левиафана заполняется водой. ]];
 
};
 
 
game_over_shockfish = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Когда скат возвращается и обнаруживает вас, он мгновенно убивает вас, сперва проткнув хвостовым шипом и после чего выпустив мощный электрический разряд. ]];
 
};
 
 
game_over_shockfish_2 = room {
 
	nam = "game_over_shockfish";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Вы входите в главный зал храма и не замечаете, как сзади вас скат плавно опускается и протыкает вас своим шипом. Мощный электрически разряд довершает дело и ваше тело падает на пол древнего святилища. ]];
 
};
 
 
game_over_sunk = room {
 
	nam = "game_over_sunk";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный удар хвостового шипа пробивает обшивку Левиафана насквозь. Вода быстро заполняет отсеки субмарины и у вас не остается никаких шансов спастись. ]];
 
};
 
 
game_over_shot = room {
 
	nam = "game_over_shot";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Блэк вскидывает пистолет и стреляет в вашу сторону. Вы чувствуете боль в груди. В глазах мутнеет и вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_awakening = room {
 
	nam = "game_over_awakening";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Пробуждение Наэтвьирра завершено. Вы зря старались. ]];
 
};
 
 
game_over_pylon = room {
 
	nam = "game_over_pylon";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Мощный луч света, исходящий из пилона, испепеляет вас. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_naethvjirr = room {
 
	nam = "game_over_naethvjirr";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Очередная атака Наэтвьирра оказывается для вас фатальной. Вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_final_battle = game_over("game_over_final_battle", [[Вы падаете на холодный металлический пол зала. Наэтвьирр вскоре пробудится, но вам уже все равно. ]]);
 
 
game_over_shot_fb = room {
 
	nam = "game_over_shot_fb";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Застреленный Адрианом Блэком, вы бессильно падаете на пол. Вскоре Наэтвьирр пробудится окончательно, но вас это уже не волнует. ]];
 
};
 
 
game_over_victory =room {
 
	nam = "game_over_victory";
 
	disp = "Вы победили";
 
	hideinv = true;
 
	dsc = [[Как только последний генератор затихает, свет начинает медленно тускнеть. Вы слышите, как по всему городу экстренно открываются двери и понимаете, что у вас есть всего несколько минут прежде чем вода хлынет и в этот зал. Вы в спешке приводите в сознание ваших напарников и одеваете скафандр. ]];
 
};
 
 
game_over_ignis = room {
 
	nam = "Игра окончена";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[У вас кружится голова от нестерпимого жара. Не в силах стоять, вы опускаетесь на горячий пол. С каждым вдохом вы чувствуете едкий дым, проникающий в ваши легкие. Леарр подбегает к вам, чтобы помочь. Вы пытаетесь подняться, но падаете снова и теряете сознание. ]];
 
};
 
 
game_over_trap = room {
 
	nam = "Игра окончена";
 
	disp = "Игра окончена";
 
	hideinv = true;
 
	dsc = [[Вы делаете шаг  и не успеваете понять, как пол под вами проваливается и вы падаете в пропасть. ]];
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)