Changeset - eca528be4e54
[Not reviewed]
default
0 1 0
Silverwing - 6 years ago 2019-01-04 19:44:41

phaetlarr will not participate in endgame dialog as he is left on the leviathan
1 file changed with 11 insertions and 123 deletions:
0 comments (0 inline, 0 general)
lse_alliance.lua
Show inline comments
 
lse_join_drake = cutscene('Лсэрианотр', 'Лсэрианотр', [[Уильям улыбается и довольно потирает руки. "Отлично, сын", -- произносит он, -- "Вместе мы заставим Наэтвьирра и Лсэрианотр раскрыть нам свои тайны". ]], 'lse_jack_on_join');
 

	
 
lse_jack_on_join = dlg {
 
    nam = 'Джек Райт';
 
    disp = 'Джек Райт';
 
    enter = function(s)
 
        if ArrayUtils.indexOf(pl.party, 'wright') == 0 then
 
            walk('lse_walter_on_join');
 
        end;
 

	
 
        if have("item_naethvjirr_key") or lse_key then
 
            pon('have_key');
 
        end;
 
    end;
 
    entered = [[Джек Райт спрашивает вас: "Дрейк, ты уверен в том, что ты делаешь? Уильям безумец, он готов пренебречь любой опасностью ради призрачной надежды". ]];
 
    phr = {
 
        {tag="have_key", false, "У нас есть ключ. Он позволит нам управлять Наэтвьирром. ", [[Джек кивает: "Хорошо, я верю тебе, Дрейк". ^]], code [[walk("lse_walter_on_join");]]};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", function(s)
 
            if rel_jack >= 0 then
 
                walk("lse_walter_on_join");
 
                return [[Джек кивает: "Хорошо, я верю тебе, Дрейк".^]];
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'wright' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                walk("lse_walter_on_join");
 
                return "Джек молча покидает зал. Никто его не останавливает.^";
 
            end;
 
        end};
 
        {"Если тебе что-то не нравится -- уходи. ", "Джек кивает и покидает зал. Никто его не останавливает. ^", code [[
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'wright' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            walk("lse_walter_on_join");
 
        ]]};
 
    }
 
}
 

	
 
lse_walter_on_join = dlg {
 
    var {
 
        state = 0
 
    };
 
    nam = 'Уолтер Рэдклифф';
 
    disp = 'Уолтер Рэдклифф';
 
    enter = function(s)
 
        if ArrayUtils.indexOf(pl.party, 'radcliffe') == 0 then
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end;
 

	
 
        if have("item_naethvjirr_key") or lse_key then
 
            pon('have_key');
 
        end;
 
    end;
 
    entered = [[Уолтер Рэдклифф говорит вам: "Нам не стоит спешить. Наэтвьирр ждал нас тысячелетия, еще пару лет, пока мы исследуем все возможные исходы он тоже подождет". ]];
 
    phr = {
 
        {tag="have_key", false, "У нас есть ключ. Он позволит нам управлять Наэтвьирром. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
                lse_walter_on_join.state = 1;
 
                pr "Уолтер молча смотрит на сестру.^";
 
                walk("lse_anna_on_join");
 
                return;
 
            end;
 
            pr [[Уолтер кивает: "Я бы предпочел провести более полное исследование, но пусть будет по твоему". ^]]
 
            walk("lse_phaetlarr_on_join");
 
            walk("lse_learr_on_join");
 
        end};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
                if rel_walter >= 0 then
 
                    lse_walter_on_join.state = 1;
 
                end;
 
                pr "Уолтер молча смотрит на сестру. ^";
 
                walk("lse_anna_on_join");
 
                return;
 
            end;
 
            if rel_walter >= 0 then
 
                pr [[ Уолтер кивает: "Я бы предпочел провести более полное исследование, но пусть будет по твоему". ^]];
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'radcliffe' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pr "Уолтер молча покидает зал. Никто его не останавливает. ^";
 
            end;
 
            walk("lse_phaetlarr_on_join");
 
            walk("lse_learr_on_join");
 
        end};
 
        {"Если тебе что-то не нравится -- уходи. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
                pr "Уолтер молча смотрит на сестру.";
 
                walk("lse_anna_on_join");
 
                return;
 
            end;
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'radcliffe' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            pr "Уолтер молча покидает зал. Никто его не останавливает.^";
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end};
 
    }
 
}
 

	
 
lse_anna_on_join = dlg {
 
    nam = 'Анна Рэдклифф';
 
    disp = 'Анна Рэдклифф';
 
    enter = function(s)
 
        if ArrayUtils.indexOf(pl.party, 'anna') == 0 then
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end;
 

	
 
        if have("item_naethvjirr_key") or lse_key then
 
            pon('have_key');
 
        end;
 
    end;
 
    entered = [[Анна Рэдклифф вопрошает: "Наэтвьирр даст нам многое. Но, в самом деле, стоит ли спешить?" ]];
 
    phr = {
 
        {tag='have_key', false, "У нас есть ключ. Он позволит нам управлять Наэтвьирром. ", function(s)
 
            if lse_walter_on_join.state == 1 then
 
                pr [[Анна кивает: "Пусть будет по-твоему". ^]];
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'radcliffe' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'anna' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pr [[Уолтер говорит вам: "Мы уходим". Анна не спорит. Они молча покидают зал. Никто их не останавливает. ^]];
 
            end;
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", function(s)
 
            if lse_walter_on_join.state == 1 and rel_anna >= 0 then
 
                pr [[Анна кивает: "Пусть будет по-твоему". ^]];
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'radcliffe' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'anna' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pr [[Уолтер говорит вам: "Мы уходим". Анна не спорит. Они молча покидают зал. Никто их не останавливает. ^]];
 
            end;
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end};
 
        {"Если тебе что-то не нравится -- уходи. ", function(s)
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'radcliffe' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'anna' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            pr [[Уолтер говорит вам: "Мы уходим". Анна не спорит. Они молча покидают зал. Никто их не останавливает. ^]];
 
            walk('lse_phaetlarr_on_join');
 
            walk('lse_learr_on_join');
 
        end};
 
    }
 
}
 

	
 
lse_phaetlarr_on_join = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Фаэтларр';
 
    disp = 'Фаэтларр';
 
    enter = function(s)
 
        if have("item_naethvjirr_key") or lse_key then
 
            pon('have_key');
 
        end;
 
    end;
 
    entered = [[Фаэтларр высказывает свое мнение: "Наэтвьирр опасен-быть-может. Его будить-нельзя". ]];
 
    phr = {
 
        {tag="have_key", false, "У нас есть ключ. Он позволит нам управлять Наэтвьирром. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
                lse_phaetlarr_on_join.state = 1;
 
                pr "Фаэтларр молча смотрит на Леарр. ^";
 
                walk("lse_learr_on_join");
 
                return;
 
            end;
 
            pr [[Фаэтларр молча кивает. ^]]
 
            walk("lse_join_drake_2");
 
        end};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
                if rel_phaetlarr >= 0 then
 
                    lse_phaetlarr_on_join.state = 1;
 
                end;
 
                pr "Фаэтларр молча смотрит на Леарр.^";
 
                walk("lse_learr_on_join");
 
                return;
 
            end;
 
            if rel_phaetlarr >= 0 then
 
                pr [[Фаэтларр молча кивает. ^]]
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'phaetlarr' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pr "Фаэтларр молча покидает зал. Никто его не останавливает. ^";
 
            end;
 
            walk("lse_join_drake_2");
 
        end};
 
        {"Если тебе что-то не нравится -- уходи. ", function(s)
 
            if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
                pr "Фаэтларр молча смотрит на Леарр. ^";
 
                walk("lse_learr_on_join");
 
                return;
 
            end;
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'phaetlarr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            pr "Фаэтларр молча покидает зал. Никто его не останавливает.^";
 
            walk("lse_join_drake_2");
 
        end};
 
    };
 
}
 

	
 
lse_learr_on_join = dlg {
 
    nam = 'Леарр';
 
    disp = 'Леарр';
 
    enter = function(s)
 
        if ArrayUtils.indexOf(pl.party, 'learr') == 0 then
 
            walk('lse_join_drake_2');
 
        end;
 

	
 
        if have("item_naethvjirr_key") or lse_key then
 
            pon('have_key');
 
        end;
 
    end;
 
    entered = [[Леарр бросает взгляд на Фаэтларра, после чего обращается к вам: "Я Наэтвьирра-опасаюсь. Он откроет-нам-тайны, но Древние-предания гласят, он-несет-навьяров-погибель".]];
 
    phr = {
 
        {tag='have_key', false, "У нас есть ключ. Он не даст Наэтвьирру навредить кому-бы то ни было. ", function(s)
 
            if lse_phaetlarr_on_join.state == 1 then
 
                pr [[Леарр молча кивает. ^]];
 
            else
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'learr' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'phaetlarr' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pr [[Фаэтларр разворачивается и уходит. Леарр выходит следом за ним. Никто их не останавливает. ^]];
 
            end;
 
            walk('lse_join_drake_2');
 
        end};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", function(s)
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'learr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'phaetlarr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            pr [[Леарр разворачивается и уходит. Фаэтларр выходит следом за ней. Никто их не останавливает. ^]];
 
            walk('lse_join_drake_2');
 
        end};
 
        {"Если тебе что-то не нравится -- уходи. ", function(s)
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'learr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'phaetlarr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            pr [[Леарр разворачивается и уходит. Фаэтларр выходит следом за ней. Никто их не останавливает. ^]];
 
            walk('lse_join_drake_2');
 
        end};
 
        {tag='have_key', false, "У нас есть ключ. Он не даст Наэтвьирру навредить кому-бы то ни было. ", [[Леарр молча кивает. ^]], code [[walk('lse_join_drake_2'); ]]};
 
        {"Мы не для того проделали этот путь, чтобы вернуться. Подумай о том, что может открыть нам Наэтвьирр. ", [[Леарр разворачивается и уходит. Фаэтларр выходит следом за ней. Никто их не останавливает. ^]], code [[ walk('lse_join_drake_2'); ]]};
 
        {"Если тебе что-то не нравится -- уходи. ", [[Леарр разворачивается и уходит. Фаэтларр выходит следом за ней. Никто их не останавливает. ^]], code [[ walk('lse_join_drake_2'); ]]};
 
    }
 
}
 

	
 
lse_join_drake_2 = cutscene('Лсэрианотр, зал Наэтвьирра', 'Лсэрианотр, зал Наэтвьирра', [[Уильям Дрейк провозглашает: "Все готово, Наэтвьирр вот-вот оживет". ]], 'lse_join_main_room');
 

	
 
lse_join_main_room = room {
 
    var {
 
        state = 5;
 
    };
 
    nosave = true;
 
    noautosave = true;
 
    nam = 'Лсэрианотр, зал Наэтвьирра';
 
    disp = 'Лсэрианотр, зал Наэтвьирра';
 
    dsc = [[Центральный зал ярко освещен исходящим из стен светом. По периметру зала установлены массивные металлические шкафы, издающие ровный низкий гул. По полу протянуты толстые провода, соединяющие их со статуей в центре зала. Металлическая статуя изображает навьяра, сидящего на троне. Рядом с троном стоят два пилона, высотой около метра. ]];
 
    entered = function(s)
 
        lifeon(s);
 
    end;
 
    left = function(s)
 
        lifeoff(s);
 
    end;
 
    life = function(s)
 
        if s.state == 0 then
 
            if lse_key then
 
                walk(lse_naethvjirr_drake_a);
 
            else
 
                walk(lse_naethvjirr_ask);
 
            end;
 
        else
 
            s.state = s.state - 1;
 
        end;
 
    end;
 
    obj = {
 
        'lse_a_drake';
 
        'lse_a_aedhyarr';
 
    }
 
}
 

	
 
lse_a_drake = obj {
 
    nam = "lse_a_drake";
 
    dsc = [[В дальнем конце комнаты, перед небольшим экраном стоит {Уильям Дрейк}. Он не обращает на вас внимания. ]];
 
    used = function(s, o)
 
        if o == item_naethvjirr_key then
 
            walk(lse_naethvjirr_drake_a);
 
            return [[Вы передаете найденный в древнем храме предмет Уильяму, чтобы он использовал его. ]];
 
        end;
 
    end;
 
    act = [[Уильям Дрейк сообщает: "Скоро все будет готово". ]];
 
};
 

	
 
lse_a_aedhyarr = obj {
 
    nam = "lse_a_aedhyarr";
 
    dsc = [[Рядом со статуей Наэтвьирра стоит {Аэдхиарр}, внимательно наблюдающий за действиями своего "властителя". ]];
 
    act = [[Аэдхиарр не отвлекаясь наблюдает за действиями Уильяма. ]];
 
};
 

	
 
lse_naethvjirr_ask = dlg {
 
    nam = 'Наэтвьирр';
 
    disp = 'Наэтвьирр';
 
    entered = function(s)
 
        if have(item_naethvjirr_key) then
 
            pon('use_key_self', 'use_key_william');
 
        end;
 
        return [[Глаза статуи, стоящей в центре зала зажигаются белым светом. Его рот открывается и он начинает говорить на непонятных вам языках. Наконец, он говорит на чистом английском: "Кто звал меня?"]];
 
    end;
 
    phr = {
 
        {tag="use_key_self", false, "[Отдать Наэтвьирру ключ]Я тебя звал.", code [[ walk(lse_naethvjirr_self); ]]};
 
        {tag="use_key_self", false, "[Передать ключ Уильяму]", code [[walk(lse_naethvjirr_drake_b); ]]};
 
        {"Я тебя звал.", [[Наэтвьирр замирает на некоторое время, после чего требует: "Подчиняйтесь мне". ]], code [[ psub("join_or_die"); ]]};
 
        {"[Позволить Уильяму говорить]", [[Наэтвьирр замирает на некоторое время, после чего требует: "Подчиняйтесь мне". ]], code [[ psub("join_or_die"); ]]};
 
        {tag="join_or_die"};
 
        {"Слушаю и повинуюсь.", code [[walk(lse_naethvjirr_wins);]]};
 
        {"Ни за что.", code [[ lse_ending_state=1; walk(lse_final_battle);]]};
 
    };
 
}
 

	
 
--[[
 
    Ending 1: Drake controls Naethvjirr
 
]]
 

	
 
lse_naethvjirr_drake_a = cutscene('Лсэрианотр, зал Наэтвьирра', 'Лсэрианотр, зал Наэтвьирра', [[Глаза статуи, стоящей в центре зала зажигаются белым светом. Его рот открывается и он начинает говорить на непонятных вам языках. Наконец, он говорит на чистом английском: "Кто звал меня?" ^Уильям поднимает перед собой металлическую пластину, взятую у вас, произнося: "Я твой хозяин, слушай меня". Наэтвьирр подходит у Уильяму и забирает предмет из его рук. Он кладет пластинку себе в рот и на некоторое время замирает после чего сообщает: "Принято". ]], 'lse_naethvjirr_drake_2');
 

	
 
lse_naethvjirr_drake_b = cutscene('Лсэрианотр, зал Наэтвьирра', 'Лсэрианотр, зал Наэтвьирра', [[Уильям поднимает перед собой металлическую пластину, взятую у вас, произнося: "Я твой хозяин, слушай меня". Наэтвьирр подходит у Уильяму и забирает предмет из его рук. Он кладет пластинку себе в рот и на некоторое время замирает после чего сообщает: "Принято". ]], 'lse_naethvjirr_drake_2');
 

	
 
lse_naethvjirr_drake_2 = cutscene('Пробуждение', 'Пробуждение', [[Наэтвьирр, как оказалось обладает невероятной силой. Уже спустя несколько дней, Лсэрианотр кишел механическими слугами вашего отца. Большая часть города была преобразована в гигантские заводы, на которых производились немыслимые доселе машины. Однажды, Уильям честно признался вам, что понятия не имеет для чего нужны некоторые из них. Вы пробовали расспросить об этом Наэтвьирра, но он не давал вам никаких комментариев, ссылаясь на то, что над ним властен только Уильям. ]], 'lse_naethvjirr_drake_3');
 

	
 
lse_naethvjirr_drake_3 = cutscene('Пробуждение', 'Пробуждение', [[За месяцы, пока вы изучали библиотеки Лсэрианотра, Уильям(или, если говорить открыто -- Наэтвьирр) объединил под своей рукой разрозненные по всем океанам Земли навьярские поселения. До вас, окруженных верными союзниками, во главе с Аэдхиарром, доносятся лишь незначительные слухи о существовании несогласных с главенством Наэтвьирра, однако, ваш отец свято уверен в правильности своих действий. ]], 'lse_naethvjirr_drake_4');
 

	
 
lse_naethvjirr_drake_4 = cutscene('Пробуждение', 'Пробуждение', [[Прошли годы. Ваш отец состарился и отошел от дел, передав вам контроль над Наэтвьирром. С самого начала вы не уверены, что навьярская машина подчиняется вам. Что бы вы ни просили его сделать, он оспаривал и в итоге вы вынуждены были согласиться с его вариантом. Нельзя сказать, что это так уж плохо. Навьяры достигли многого -- их научные достижения обеспечили значительное превосходство над людьми -- быстрые корабли позволяли перемещаться от города к городу за считанные часы. Мощные машины памяти позволили хранить все, придуманное или изученное каждым навьяром. А Наэтвьирр все чаще намекал, что пора бы навести порядок и на поверхности Земли. ]], 'lse_naethvjirr_drake_5');
 

	
 
lse_naethvjirr_drake_5 = cutscene('Пробуждение', 'Пробуждение', [[За прошедшие десятилетия вы полностью захватили все человеческие государства. Вначале было тяжело. Несмотря на ваше технологическое преимущество, люди не хотели признавать блага, которые вы им сулили. Наэтвьирр действовал мудро -- вместо демонстрации военной мощи, он предложил использовать хитрость. Среди людей распространялись блага, доступные ранее только навьярам, им рассказывалось, насколько хорошо живет подводная раса. Люди сделали все сами, лишь при небольшой поддержке войск Наэтвьирра. Когда он показывал и рассказывал вам это, вас не покидала мысль, что он считает людей, примитивными животными. Он позволил вам перебраться на поверхность, тем более даже оттуда теперь вы могли иметь доступ к навьярским библиотекам. Вы не оставили своих изысканий, и, вам казалось, что Наэтвьирру нравится это -- он постоянно подыскивал для вас новые задачи для решения и предоставлял вам все необходимое оборудование для экспериментов.]], 'lse_naethvjirr_drake_6');
 

	
 
lse_naethvjirr_drake_6 = game_over('Пробуждение', 'Пробуждение', [[Вы прожили долгую и плодовитую жизнь -- Наэтвьирр обеспечил вас и вашего отца неслыханным долголетием, но возможности его оказались не безграничны. Уже перед самой вашей смертью, Наэтвьирр позволил навьярам и людям увидеть огромный мир, ждущий за пределами нашей маленькой планеты. Вас не покидало ощущение, что древняя машина лишь использует вас всех для своих, неясных целей. Это мнение поддерживали и непрекращающиеся восстания как навьярских, так и людских городов, хотя казалось бы, и у тех и у других есть все, чего можно желать. Вы начинаете думать о том, было ли это влияние благотворным для вас. Вы видели, как Аэдхиарра заменил молодой навьяр. Глупый и неспособный к самостоятельным решениям, полностью покорный воле Наэтвьирра. Лсэрианотр давал ему все, и он даже не задумывался о том, как и откуда это получено. Что будет дельше? Время покажет. ]]);
 

	
 
--[[
 
    Ending 2: You control naethvjirr
 
 ]]
0 comments (0 inline, 0 general)