Files @ 4257fce27f1c
Branch filter:

Location: games/Awakening/journey_zayslanotrr_temple.lua

Silverwing
247
za_temple_entrance_foot = room {
    nam = "Храм Заисланотра, вход";
    handwheel_room = "za_temple_entrance_foot";
    underwater = true;
    no_exit = [[
        Нет смысла покидать Левиафан здесь. 
    ]];
    view = [[
        Через иллюминаторы вы видите вдалеке главный вход в храм Заисланотра. Над вырезанными в каменной толще массивными воротами видны узоры, нанесенные светящейся краской. У входа стоят несколько стражников, вооруженных копьями. Рядом с ними кружат их верные ездовые акулы, а чуть поодаль вы видите двух скатов, готовых рвануться в бой.
    ]];
};

za_temple_entrance = dlg {
    nam = "Левиафан, рубка";
    var {
        state = 0;
    };
    entered = function(s)
        if (s.state == 0) then
            s.state = 1;
            return [[
                Через иллюминаторы вы видите вдалеке главный вход в храм Заисланотра. Над вырезанными в каменной толще массивными воротами видны узоры, нанесенные светящейся краской. У входа стоят несколько стражников, вооруженных копьями. Рядом с ними кружат их верные ездовые акулы, а чуть поодаль вы видите двух скатов, готовых рвануться в бой. ^
                В рубку поднимается Фаэтларр и окидывает взглядом скалу перед вами. Медленно подойдя к иллюминатору он произносит: "Другой-вход в-храм-такой-есть. Он меньше-охраняться-должен. Ты смотри правее. У нас так построено, значит и у них так". 
            ]];
        else
            return [[
                Через иллюминаторы вы видите вдалеке главный вход в храм Заисланотра. Над вырезанными в каменной толще массивными воротами видны узоры, нанесенные светящейся краской. У входа стоят несколько стражников, вооруженных копьями. Рядом с ними кружат их верные ездовые акулы, а чуть поодаль вы видите двух скатов, готовых рвануться в бой. 
            ]];
        end;
    end;
    phr = {
        {"[Двигаться налево вдоль скалы]", [[ 
            Вы двигаетесь довольно долго, но когда становится очевидно, что там ничего нет, вы возвращаетесь на исходную позицию. 
        ]]};
        {"[Двигаться направо вдоль скалы]", [[
            Фаэтларр оказался прав. Совсем скоро вы замечаете узкий проход в скале. Если второй вход в храм существует, то он здесь. 
        ]], code = [[ walk("za_temple_back_entrance");]]};
        {"[Отправиться в другое место]", code = [[ walk("leviathan_wheelhouse"); ]]};
        {"[Отойти от штурвала]", code = [[ walk("leviathan_wheelhouse");]]};
    };
};

za_temple_back_entrance_foot = room {
    nam = "Храм Заисланотра, задний вход";
    dsc = [[
        Вы стоите перед расщелиной в скале, освещенной мощным лучом прожектора вашей субмарины. 
    ]];
    underwater = true;
    view = [[
        Через иллюминаторы вы видите расщелину в скале, освещенную мощным лучом прожектора Левиафана. 
    ]];
    way = {
        kh_vroom("В Левиафан", function(s)
            if (not have(item_navjiarr_chart_z)) then
                return leviathan_airlock;
            else
                return "za_leviathan_fight";
            end;
        end);
        kh_vroom("В ущелье", "za_ravine_1");
    };
};

za_temple_back_entrance = dlg {
    nam = "Левиафан, рубка";
    entered = [[
        Через иллюминаторы вы видите расщелину в скале, освещенную мощным лучом прожектора. 
    ]];
    phr = {
        {"[Вернуться к главному входу]", code = [[ walk("za_temple_entrance"); ]]};
        {"[Отправиться в другое место]", code = [[ walk("leviathan_wheelhouse"); ]]};
        {"[Отойти от штурвала]", code = [[ walk("leviathan_wheelhouse");]]};
    };
};

za_ravine_1 = room {
    nam = "za_ravine_1";
    disp = "Ущелье";
    dsc = [[
        Вы находитесь в узком темном ущелье. Вы с трудом можете передвигаться по нему не задевая стен. Впереди ущелье разветвляется. Левое ответвление достаточно широкое, чтобы вы могли спокойно пройти. Правое настолько узкое, что вы с трудом сможете протиснуться в него. 
    ]];
    way = {
        kh_vroom("Выйти из ущелья", "za_temple_back_entrance_foot");
        kh_vroom("Налево", "za_ravine_2");
        kh_vroom("Направо", "za_ravine_3");
    };
};

za_ravine_2 = room {
    nam = "za_ravine_2";
    disp = "Ущелье, вход в храм";
    dsc = [[
        В конце ущелья вы видите массивую металлическую дверь. 
    ]];
    way = {
        kh_vroom("Назад", "za_ravine_1");
        kh_vroom("В храм", function(s)
            if (za_panel.state == 1) then
                return "za_temple_chamber";
            else
                pr [[
                    Дверь заперта и вы не знаете как ее открыть. 
                ]];
                return false;
            end;
        end);
    };
};

za_ravine_3 = room {
    nam = "za_ravine_3";
    disp = "Ущелье";
    dsc = [[
        Вы находитесь в конце одного из ответвлений ущелья. Здесь так тесно, что вы не можете даже развернуться. 
    ]];
    obj = {
        "za_panel"
    };
    way = {
        kh_vroom("Назад", "za_ravine_1");
    };
};

za_panel = obj {
    var {
        state = 0;
    };
    nam = "za_panel";
    dsc = [[
        В скале вы видите небольшую каменную {панель}. 
    ]];
    act = function(s)
        if (s.state == 0) then
            s.state = 1;
            return [[
                Вы нажимаете панель и слышите из глубин ущелья скрежет открывающейся двери.
            ]];
        else
            return [[
                Вам здесь больше нечего делать. 
            ]];
        end;
    end;
};

za_temple_chamber = room {
    var {
        state = 0;
    };
    nam = "za_temple_chamber";
    disp = "Храм Заисланотра, главный зал";
    dsc = [[
        Вы находитесь в главном помещении древнего храма. Металлические стены зала освещены сиянием люминесцентных водорослей на потолке и на полу. 
    ]];
    entered = function(s)
        if (s.state == 0) then
            s.state = 1;
            return [[
                Дверь позади вас закрывается и вы оказываетесь заперты в помещении. 
            ]];
        end;
    end;
    obj = {
        "za_pedestal",
        "item_deep_key"
    };
    way = {
        kh_vroom("Выйти", function(s)
            if (have(item_navjiarr_chart_z)) then
                return "za_ravine_2";
            else
                return "Дверь заперта";
            end;
        end);
    };
};

za_temple_lower_level1 = room {
    nam = "za_temple_lower_level1";
    disp = "Храм Заисланотра, нижний этаж, спуск";
    dsc = [[
        Вы находитесь в узком коридоре, ярко освещенном люминесцентными водорослями. Коридор плавно уходит вниз, в недра скалы. 
    ]];
    way = {
        kh_vroom("Наверх", "za_temple_chamber");
        kh_vroom("Дальше по коридору", "za_temple_lower_level2");
    };
};

za_temple_lower_level2 = room {
    nam = "za_temple_lower_level2";
    disp = "Храм Заисланотра, нижний этаж";
    dsc = [[
        Вы находитесь в узком коридоре, ярко освещенном люминесцентными водорослями. 
    ]];
    way = {
        kh_vroom("Назад", "za_temple_lower_level1");
        kh_vroom("Дальше по коридору", "za_temple_lower_level3");
    };
};

za_temple_lower_level3 = room {
    nam = "za_temple_lower_level3";
    disp = "Храм Заисланотра, нижний этаж, тупик";
    dsc = [[
        Вы находитесь в узком коридоре, ярко освещенном люминесцентными водорослями. В конце коридора находится массивная металлическая дверь. 
    ]];
    way = {
        kh_vroom("Назад", "za_temple_lower_level2");
        kh_vroom("В дверь", "za_temple_lower_hall");
    };
};

za_temple_room1 = room {
    nam = "za_temple_room1";
    disp = "Храм Заисланотра, нижний этаж, комната";
    dsc = [[
        Вы находитесь в небольшой комнате. Так же, как и другие помещения храма, пол и потолок ее покрыты светящимися водорослями. 
    ]];
    obj = {
        "za_temple_room1_walls", 
        "za_temple_room1_niche", 
    };
};

za_temple_room2 = room {
    nam = "za_temple_room2";
    disp = "Храм Заисланотра, нижний этаж, комната";
    dsc = [[
        Вы находитесь в небольшой комнате. Так же, как и другие помещения храма, пол и потолок ее покрыты светящимися водорослями. 
    ]];
    obj = {
        "za_temple_room2_niche"
    };
};

za_temple_room1_walls = obj {
    nam = "za_temple_room1_walls";
    dsc = [[
        На стенах комнаты нанесены навьярские {записи}.
    ]];
    act = [[
        Записи гласят, что где-то в этом храме должен быть ключ от древнего храма, где сокрыт некий "тайный предмет". 
    ]];
};

za_temple_room1_niche = obj {
    nam = "za_temple_room1_niche";
    dsc = [[
        В одной из стен вы видите небольшую {выемку}. 
    ]];
    act = function(s)
        if (seen(za_temple_room2_niche, za_temple_room2)) then
            return [[
                Вам здесь больше нечего делать. 
            ]];
        else
            za_temple_room2_niche:enable();
            return [[
                Внутри выемки вы нажимаете на что-то и слышите скрежет камня в соседней комнате. 
            ]];
        end;
    end;
};

za_temple_room2_niche = obj {
    var {
        state = 0;
    };
    nam = "za_temple_room2_niche";
    dsc = function(s)
        if (s.state == 0) then
            return [[
                В одной из стен вы видите небольшую выемку, в которой лежит {табличка}. 
            ]];
        else
            return [[
                В одной из стен вы видите небольшую {выемку}. 
            ]];
        end;
    end;
    act = function(s)
        if (s.state == 0) then
            s.state = 1;
            return [[
                Табличка оказывается фрагментом карты. Вы забираете ее, чтобы на Левиафане совместить с имеющимися у вас частями. 
            ]];
        else
            return [[
                Здесь больше нет ничего интересного. 
            ]];
        end;
    end;
};

za_temple_room2_niche:disable();

za_temple_lower_hall = room {
    nam = "za_temple_lower_hall";
    disp = "Храм Заисланотра, нижний этаж, главный зал";
    dsc = [[
        Вы находитесь в просторном зале на нижнем этаже храма Заисланотра. 
    ]];
    obj = {
        "za_temple_hall_walls";
        "za_hall_pedestal";
        "item_navjiarr_chart_z";
    };
    way = {
        kh_vroom("В коридор", "za_temple_lower_level3");
    };
};

za_temple_hall_walls = obj {
    nam = "za_temple_hall_walls";
    dsc = [[
        На стенах зала нанесены навьярские {записи}.
    ]];
    act = [[
        
    ]];
};

za_pedestal = obj {
    nam = "za_pedestal";
    dsc = [[
        В центре зала установлен небольшой пьедестал.
    ]];
};

za_hall_pedestal = obj {
    nam = "za_hall_pedestal";
    dsc = [[
        В центре зала установлен небольшой пьедестал.
    ]];
};

za_leviathan_fight = dlg {
    var {
        state = 0;
    };
    nam = "za_leviathan_fight";
    disp = "Левиафан, рубка";
    entered = function(s)
        pr [[
            Еще забираясь в люк, вы замечаете, как со стороны главного входа храма к вам движется вооруженный отряд навьяров. Вы быстро снимаете скафандр и отправляетесь в рубку. Фаэтларр уже стоит у иллюминатора и внимательно наблюдает за происходящим. Повернувшись к вам, навьяр говорит: "Ваш-корабль быстрее их-воинов. Мы легко-уйдем".
        ]];
        if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
            pr [[
                Леарр, стоящая рядом соглашается с ним: "Я им-вредить-не-хочу. Если мы просто-уйти-можем, то мы просто-уйдем".
            ]];
        end;
        pr [[
            Встав за штурвал, вы оцениваете ситуацию: со стороны главного входа к вам приближаются несколько всадников на акулах и три ската. вслед за ними плывут около десятка воинов вооруженных копьями. Просто уйти вы не сможете - пока Левиафан будет разворачиваться, враги догонят вас. 
        ]];
    end;
    phr = {
        {tag="torpedo", "[Выпустить торпеду]", function(s)
            rel_learr = rel_learr - 1;
            rel_phaetlarr = rel_phaetlarr - 1;
            
            pr [[
                Мощный взрыв раскидывает ошарашенных навьяров. Вода окрашивается кровью и ваш путь оказывается свободен. Фаэтларр в ужасе прильнул к степклу иллюминатора. По его плавникам бегут цветные полосы: "Что ты наделал?"
            ]];
            if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
                pr [[
                    Леарр не говоря ни слова покидает рубку. 
                ]];
            end;
        end, code [[ poff("sonic"); za_leviathan_fight.state = 2; ]]};
        {tag="sonic", "[Выстрелить из звуковой пушки]", [[
            Несколько выстрелов из звуковой пушки успешно дезориентируют противника. Теперь у вас есть достаточно времени, чтобы уйти. 
        ]], code [[ za_leviathan_fight.state = 1; ]]};
        {tag="away", "[Развернуть субмарину]", code = function(s)
            if (za_leviathan_fight.state == 0) then
                walk("game_over_za_temple_escape");
            elseif (za_leviathan_fight.state == 1) then
                walk("za_temple_escape_sonic");
            else
                walk("za_temple_escape_torpedo");
            end;
        end};
    };
};

za_temple_escape_sonic = cutscene("za_temple_escape_sonic", "Левиафан, рубка", [[
    Пользуясь смятением в рядах противника, вы разворачиваете субмарину и быстро набираете скорость. 
]], "leviathan_wheelhouse");

za_temple_escape_torpedo = cutscene("za_temple_escape_sonic", "Левиафан, рубка", [[
    Вы разворачиваете субмарину и покидаете место бойни. Немногие выжившие противники в ужасе бегут. 
]], "leviathan_wheelhouse");