Changeset - ec336e394222
[Not reviewed]
default
0 3 0
Silverwing - 8 years ago 2016-11-21 05:19:55

lseryanotrr additions
3 files changed with 271 insertions and 7 deletions:
0 comments (0 inline, 0 general)
lseryanotrr_intro.lua
Show inline comments
 
global {
 
    lse_intro_with_learr = false;
 
    lse_intro_with_jack = false;
 
    lse_intro_with_walter = false;
 
    lse_intro_with_anna = false;
 
    lse_key = false;
 
};
 

	
 
lse_entered = cutscene("lse_entered", "Левиафан, рубка", [[
 
        Когда после бесконечной череды скал и ущелий перед Левиафаном наконец открылось громадное плато с выросшим по центру колоссальных размеров городом, полностью накрытым прозрачным куполом, защищающим древние строения от проникновения посторонних. Приближаясь вы начинаете замечать отдельные здания, выстроившиеся кольцами вокруг центральной башни-обелиска. Ослепительно-ярким светом горят на этом маяке цветные символы древнего навьярского языка. К сожалению, сейчас вы можете понять только часть их смысла, и она однозначно сообщает название места, куда вы попали: "Первый и главный город навьяров и хевьяров". Весь экипаж Левиафана собирается в рубке, не в силах оторвать взгляд от граниозного зрелища. 
 
    ]], "lse_entered2");
 
lse_entered2 = cutscene("lse_entered2", "Левиафан, рубка", function(s)
 
    if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
        if (rel_learr > 0) then
 
            pr [[
 
                Леарр застыла в изумлении и лишь по ее плавникам бегут цветные полосы, означающие "Мои-предки невероятное-это-построили. Я хочу, чтобы мы сейчас-так-могли". Она обращает свой взор к вам и совершенно искренне благодарит вас: "Ты-Дрейк, это-возможным-сделал. Пусть тепло-и-волны вечно-будут-с-тобой". ^
 
            ]];
 
        elseif (rel_learr < 0) then
 
            pr [[
 
                Леарр застыла в изумлении и лишь по ее плавникам бегут цветные полосы, означающие "Мои-предки невероятное-это-построили. Я хочу, чтобы мы сейчас-так-могли". Она обращает свой взор к вам и произносит: "Мы наш-путь-закончили-почти. Наконец-то мы своими-путями-разойдемся". ^
 
            ]];
 
        else
 
            pr [[
 
                Леарр застыла в изумлении и лишь по ее плавникам бегут цветные полосы, означающие "Мои-предки невероятное-это-построили. Я хочу, чтобы мы сейчас-так-могли". По мере вашего приближения она продолжает поглощать взглядом прекрасно сохранившиеся здания города. ^
 
            ]];
 
        end;
 
    end;
 
    if (ArrayUtils.indexOf(pl.party, 'phaetlarr') ~= 0) then
 
        if (rel_phaetlarr > 0) then
 
            pr [[
 
                Фаэтларр неподвижно встал рядом с вами. Не отрывая взгляда, он смотрит через иллюминаторы Левиафана на древний город своего народа. По его плавникам бегут цветные полосы: "Адриан-Блэк здесь, Дрейк. Ты-действуй".^
 
            ]];
 
        elseif (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
            pr [[
 
                Фаэтларр неподвижно встал рядом с Леарр. Не отрывая взгляда, он смотрит через иллюминаторы Левиафана на древний город своего народа. По его плавникам бегут цветные полосы: "Адриан-Блэк здесь. Я ему-за-все-отомщу". ^
 
            ]];
 
        else
 
            pr [[
 
                Фаэтларр неподжвижно стоит в углу рубки. Не отрывая взгляда, он смотрит через иллюминаторы Левиафана на древний город своего народа. По его плавникам бегут цветные полосы: "Адриан-Блэк здесь. Я ему-за-все-отомщу". ^
 
            ]];
 
        end;
 
    end;
 
    if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
        if (rel_jack > 0) then
 
            pr [[
 
                При виде купола и всего что находится под ним, Джек восклицает: "Невероятно, Дрейк! Ты только посмотри! Хотелось бы мне знать, как они сделали это. Это в тысячи раз больше нашей маленькой Атлантиды. И весь этот свет!" ^
 
            ]];
 
        elseif (rel_jack < 0) then
 
            pr [[
 
                При виде купола и всего что находится под ним, Джек восклицает: "Невероятно! Хотелось бы мне знать, как они сделали это. Это в тысячи раз больше нашей маленькой Атлантиды! Но наша цель здесь другая. Мы должны остановить найти Блэка и разузнать у него все". ^
 
            ]];
 
        else
 
            pr [[
 
                При виде купола и всего что находится под ним, Джек восклицает: "Невероятно! Хотелось бы мне знать, как они сделали это. Это в тысячи раз больше нашей маленькой Атлантиды!" ^
 
            ]];
 
        end;
 
    end;
 
    if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then
 
        if (rel_anna > 0) then
 
            pr [[
 
                Анна сосредоточенно перерисовывает древние символы себе в блокнот, делая какие-то пометки. Лишь на краткий миг она обернулась к вам, чтобы улыбнуться. ^
 
            ]];
 
        else
 
            pr [[
 
                Анна сосредоточенно перерисовывает древние символы себе в блокнот, делая какие-то пометки. Потом она смотрит на Уолтера, словно ища у него поддержки. Тот лишь молча кивает в ответ на взгляд сестры. ^
 
            ]];
 
        end;
 
    end;
 
    if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
        if (rel_walter > 0) then
 
            pr [[
 
                Какое-то время Уолтер неподвижно стоит рядом со своей сестрой. Затем он подходит к вам и сердечно пожимает вашу руку. ^
 
            ]];
 
        elseif (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
            pr [[
 
                Уолтер неподвижно стоит рядом со своей сестрой. Только изредка он бросает полный неприятия взгляд в вашу сторону. ^
 
            ]];
 
        elseif (rel_walter < 0) then
 
            pr [[
 
                Уолтер неподвижно стоит в углу комнаты. Он смотрит на вас с явной неприязнью. ^
 
            ]];
 
        else
 
            pr [[
 
                Уолтер неподвижно стоит в углу комнаты. Он изучающе смотрит на вас. ^
 
            ]];
 
        end;
 
    end;
 
    
 
end, "lse_entered3");
 

	
 
lse_entered3 = cutscene("lse_entered3", "Левиафан, рубка", [[
 
    Вашему удивлению нет предела, когда яркие зеленые огни указывают вам на открывающийся проем в стене Лсэрианотра - древний город словно приглашает вас внутрь. Не раздумывая, вы направляетесь туда. Части стены словно раздвигаются, пропуская вас внутрь. Вы аккуратно проплываете в открывшийся проход и оказываетесь в огромном хорошо освещенном помещении. Стены, пол и потолок его излучают мягкий белый свет. Но вас удивляет, что зал заполнен водой лишь наполовину и в верхней части вас уже ждет группа навьяров. Среди них выделяется один стоящий в центре. Вместо простого одеяния сшитого из водорослей, он одет в человеческие рубашку и брюки!
 
    Стена позади вас закрывается и вы оказываетесь отрезаны от внешнего мира. Вы дергаете один из рычагов на приборной панели и Левиафан поднимается наверх...
 
]], "leviathan_wheelhouse");
 

	
 
lse_on_enter_learr = dlg {
 
    nam = "lse_on_enter_learr";
 
    disp = "Левиафан, кают-компания";
 
    entered = function(s)
 
        if (rel_learr >= 0) then
 
            psub("good");
 
            return [[
 
                Леарр первая подходит к вам и говорит: "Я хочу-с-тобой-идти".
 
            ]];
 
        else
 
            psub("bad");
 
            return [[
 
                Леарр первая подходит к вам и говорит: "Я с-тобой-иду".
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="good"};
 
        {"Оставайся на Левиафане, я не хочу подвергать вас опасности", [[
 
            Леарр огорченно отступает: "Я понимаю и тебе-доверяю. Я здесь-подожду".
 
        ]], code [[ 
 
            if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
                walk("lse_on_enter_anna_walter");
 
            elseif (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
        {"Хорошо", [[
 
            Леарр радостно кивает и отправляется в шлюзовую камеру. 
 
        ]], code [[
 
            lse_intro_with_learr = true;
 
            if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
                walk("lse_on_enter_anna_walter");
 
            elseif (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
        {tag="bad"};
 
        {"Оставайся на Левиафане, я не хочу подвергать вас опасности", [[
 
            Леарр отрицательно качает головой: "Я за-себя-решу. Я иду". Не слушая вас, она направляется к шлюзовой камере. 
 
        ]], code [[
 
            lse_intro_with_learr = true;
 
            if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
                walk("lse_on_enter_anna_walter");
 
            elseif (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
        {"Хорошо", [[
 
            Леарр кивает и отправляется в шлюзовую камеру. 
 
        ]], code [[
 
            lse_intro_with_learr = true;
 
            if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then
 
                walk("lse_on_enter_anna_walter");
 
            elseif (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
    };
 
};
 

	
 
lse_on_enter_anna_walter = dlg {
 
    nam = "lse_on_enter_anna_walter";
 
    disp = "Левиафан, кают-компания";
 
    entered = function(s)
 
        if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then
 
            if (rel_anna < 0) then
 
                psub("bad_anna");
 
                return [[
 
                    Уолтер Рэдклифф входит в кают-компанию: "Мы с сестрой идем с тобой".
 
                ]];
 
            else
 
                psub("bad_no_anna");
 
                if (rel_walter < 0) then
 
                    return [[
 
                        Уолтер Рэдклифф входит в кают-компанию: "Мы с сестрой идем с тобой".
 
                    ]];
 
                else
 
                    psub("good_anna");
 
                    return [[
 
                        Уолтер Рэдклифф входит в кают-компанию: "Мы с сестрой хотим идти с тобой".
 
                    ]];
 
                end;
 
            end;
 
        else
 
            if (rel_walter < 0) then
 
                psub("bad");
 
                return [[
 
                    Уолтер Рэдклифф входит в кают-компанию: "Я иду с тобой".
 
                ]];
 
            else
 
                psub("good");
 
                return [[
 
                    Уолтер Рэдклифф входит в кают-компанию: "Я готов идти с тобой".
 
                ]];
 
@@ -298,193 +299,309 @@ lse_on_enter_anna_walter = dlg {
 
        ]]};
 
        {tag="good"};
 
        {"Тебе лучше остаться", [[
 
            Уолтер, немного подумав, кивает: "Хорошо".
 
        ]], code [[
 
            if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
        {"Хорошо", [[
 
            Уолтер также молча отправляется в шлюзовую камеру. 
 
        ]], code [[
 
            lse_intro_with_walter = true;
 
            if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
                walk("lse_on_enter_jack");
 
            else
 
                walk("lse_on_enter_phaetlarr");
 
            end;
 
        ]]};
 
    };
 
};
 

	
 
lse_on_enter_jack = dlg {
 
    nam = "lse_on_enter_jack";
 
    disp = "Левиафан, кают-компания";
 
    entered = function(s)
 
        if (rel_jack < 0) then
 
            psub("bad");
 
            return [[
 
                Джек Райт обращается к вам с просьбой: "Я пойду вместе с вами".
 
            ]];
 
        else
 
            psub("good");
 
            return [[
 
                Джек Райт обращается к вам с просьбой: "Я пойду вместе с вами. Хочу воочию увидеть Лсэрианотр".
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="bad"};
 
        {"Тебе лучше остаться здесь", [[
 
            Джек Райт выглядит сильно недвольным: "Не для того я отправлялся тобой, чтобы в конце ты просто взял и лишил меня возможности участовать в его окончании!"
 
        ]]};
 
        {"Хорошо", [[
 
            Джек Райт уходит в шлюзовую камеру, готовиться к выходу. 
 
        ]], code [[
 
            lse_intro_with_jack = true;
 
            walk("lse_on_enter_phaetlarr");
 
        ]]};
 
        {tag="good"};
 
        {"Тебе лучше остаться здесь", [[
 
            Джек Райт чешет подбородок в задумчивости: "Возможно ты прав. Я послушаю твоего совета".
 
        ]], code [[
 
            walk("lse_on_enter_phaetlarr");
 
        ]]};
 
        {"Хорошо", [[
 
            Джек Райт уходит в шлюзовую камеру, готовиться к выходу. 
 
        ]], code [[
 
            lse_intro_with_jack = true;
 
            walk("lse_on_enter_phaetlarr");
 
        ]]};
 
    };
 
};
 

	
 
lse_on_enter_phaetlarr = dlg {
 
    nam = "lse_on_enter_phaetlarr";
 
    disp = "Левиафан, кают-компания";
 
    entered = function(s)
 
        if (rel_phaetlarr < 0) then
 
            psub("bad");
 
            return [[
 
                Фаэтларр сообщает вам: "Я не пойду в лапы Блэку. Я остаюсь на Левиафане и подожду пока вы отвлечете Аэдхиарра".
 
            ]];
 
        else
 
            psub("good");
 
            return [[
 
                Фаэтларр сообщает вам: "Я остаюсь на Левиафане. Аэдхиарр не будет рад меня видеть и я достаточно доверяю тебе".
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="bad"};
 
        {"Я не думаю что это хороший план", [[
 
            Фаэтларр недовольно отвечает: "Я не спрашиваю, что ты думаешь! Я делаю как считаю нужным".
 
        ]]};
 
        {"Хорошо", [[
 
            Фаэтларр молча уходит в свою каюту.
 
        ]], code [[
 
            walk("lse_aedhyarr_intro");
 
        ]]};
 
        {tag="good"};
 
        {"Нам лучше держаться вместе", [[
 
            Фаэтларр отрицательно качает головой: "Тогда Блэк схватит нас всех сразу. Этого не нужно ни мне ни тебе. Один из нас должен прорваться и победить".
 
        ]]};
 
        {"Хорошо", [[
 
            Перед тем как уйти в свою каюту, Фаэтларр уверенно говорит вам: "У нас все получится".
 
        ]], code [[
 
            walk("lse_aedhyarr_intro");
 
        ]]};
 
    };
 
};
 

	
 
lse_aedhyarr_intro = dlg {
 
    nam = "lse_aedhyarr_intro";
 
    disp = "Лсэрианотр";
 
    entered = function(s)
 
        if (lse_intro_with_learr) then
 
            return [[
 
                Едва вы ступаете на твердую землю, как навьяр в человеческой одежде приветствует вас: "Аэдхиарр рад встрече-с-вами, вьяры. Властитель вас-видеть-хочет". 
 
            ]];
 
        elseif (lse_intro_with_jack or lse_intro_with_walter or lse_intro_with_anna) then
 
            return [[
 
                Едва вы ступаете на твердую землю, как навьяр в человеческой одежде приветствует вас: "Аэдхиарр рад встрече-с-вами, хевьяры. Властитель вас-видеть-хочет". 
 
            ]];
 
        else
 
            return [[
 
                Едва вы ступаете на твердую землю, как навьяр в человеческой одежде приветствует вас: "Аэдхиарр рад встрече-с-тобой, хевьяр. Властитель тебя-видеть-хочет". 
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {"Властитель?", [[
 
            "Среди хевьяров он известен под именем Адриан Блэк".
 
        ]]};
 
        {"Ты знаешь Уильяма Дрейка?", [[
 
            Аэдхиарр склоняет голову: "Он покинул нас в Заисланотре".
 
        ]]};
 
        {"Что ты знаешь об этом месте?", [[
 
            "Немногое. Древние машины хранят несчетное количество тайн, но вскоре они все откроются нам, когда властитель пробудит спящего мудреца".
 
        ]]};
 
        {"Что ты знаешь о Наэтвьирре?", [[
 
            "Спящий мудрец -- истинный хранитель этих тайн. Блэк говорит, что знает как разбудить его".
 
        ]]};
 
        {"Что если я откажусь идти?",  [[
 
            Аэдхиарр указывает на собравшихся вокруг навьяров: "Властитель будет недоволен. А мы не любим, когда кто-то огорчает властителя".
 
        ]]};
 
        {"Я готов идти", [[
 
            Аэдхиарр выводит вас из зала и вы оказываетесь в месте, которое могли бы назвать улицей - длинный коридор, слева и справа огражденный массивными металлическими стенами зданий, построенных вплотную друг к другу. 
 
        ]], code [[
 
            walk("lse_walk_intro");
 
        ]]};
 
    };
 
};
 

	
 
lse_walk_intro = cutscene("lse_walk_intro", "Лсэрианотр", function(s)
 
    pr [[
 
        Вы идете почти целый час. За это время вы успели увидеть значительную часть города. Как вы и предполагали - город выстроен тремя кольцами вокруг центрального обелиска. Проход между кольцами возможен лишь через врата, в остальных местах здания расположены так плотно друг к другу, что гораздо более похоже на одно колоссальное сооружение, чем на город с множеством отдельных домов. Высоко над вами возвышается купол города, над которым плещется бескрайний океан. Аэдхиарр не говорит ни слова в течение всего пути. ^
 
    ]];
 
    
 
    if (lse_intro_with_learr) then
 
        if (rel_learr < 0) then
 
            pr [[
 
                Леарр старается держаться подальше от вас. Она почти не обращает внимания на происходящее вокруг - ее взгляд сосредоточен на Аэдхиарре. ^
 
            ]];
 
        else
 
            pr [[
 
                Леарр почти не обращает внимания на происходящее вокруг - ее взгляд сосредоточен на Аэдхиарре. Лишь изредка она посматривает в вашу сторону, видимо ожидая ваших действий. ^
 
            ]];
 
        end;
 
    end;
 
    
 
    if (lse_intro_with_jack) then
 
        pr [[
 
            Джек полностью поглощен древним городом. Он с восхищением разглядывает металлическую дорогу, строения, врата, купол. ^
 
        ]];
 
    end;
 
    
 
    if (lse_intro_with_anna) then
 
        pr [[
 
            Анну, похоже, крайне заинтересовал центральный обелиск. За время пути она несколько раз пыталась заговорить с Аэдхиарром о нем, но тот молчал. ^
 
        ]];
 
    end;
 
    
 
    if (lse_intro_with_walter) then
 
        if (lse_intro_with_anna) then
 
            pr [[
 
                Уолтер молча идет рядом с сестрой. Кажется, его совершенно не интересует происходящее вокруг. ^
 
            ]];
 
        else
 
            if (rel_radcliffe < 0) then
 
                pr [[
 
                    Уолтер молча следует за вами. Кажется, его совершенно не интересует происходящее вокруг. ^
 
                ]];
 
            else
 
                pr [[
 
                    Уолтер молча следует за вами. Кажется, его совершенно не интересует происходящее вокруг. Лишь один раз он позволил себе небольшой комментарий: "Никогда не думал, что Блэк на такое способен. Запудрить мозги несчастным рыбням и прибрать к своим рукам целый город. Их город". ^
 
                ]];
 
            end;
 
        end;
 
    end;
 
end, "lse_black_intro");
 
\ No newline at end of file
 
end, "lse_black_intro");
 

	
 
lse_black_intro = dlg {
 
    nam = "lse_black_intro";
 
    disp = "Лсэрианотр, центральный зал";
 
    entered = function(s)
 
        pr [[
 
            Когда вы входите в центральный зал, ваш взгляд падает на статую навьяра, стоящую в центре комнаты. Вокруг статуи расположено четыре невысоких стеклянных пилона, а со всех сторон круглого зала к статуе в центре и к пилонам тянутся толстые провода. ^
 
            Адриан Блэк стоит в дальнем конце комнаты. ^
 
        ]];
 
        
 
        if (lse_intro_with_learr) then
 
            pr [[
 
                Леарр застыла в замешательстве и ждет развития событий. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_jack) then
 
            pr [[
 
                Джек окидывает взглядом комнату. На его лице явно читается интерес к расположенным в комнате вещам, однако, он не говорит ни слова. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_anna) then
 
            pr [[
 
                Анна что-то записывает в своем блокноте. 
 
            ]];
 
        end;
 
        
 
        if (lse_intro_with_walter) then
 
            pr [[
 
                Взгляд Уолтера устремлен в сторону Адриана Блэка. 
 
            ]];
 
        end;
 
        
 
        if (have("item_naethvjirr_key")) then
 
            pon("control");
 
        end;
 
        
 
        pr [[
 
            Аэдхиарр подходит к Блэку и сообщает ему: "Гости прибыли". Блэк оборачивается к вам: "Добро пожаловать. Мое имя - Адриан Блэк. Я веду здесь исследовательскую деятельность". 
 
        ]];
 
        
 
        if (lse_intro_with_walter) then
 
            pr [[
 
                Как только Блэк заканчивает, слово берет Уолтер Рэдклифф: "Думаю, мы знакомы. Где остальной экипаж Надежды?" Блэк спокойно отвечает: "К сожалению, сюда добрались не все. Я единственный остался из экипажа Надежды". Рэдклифф задает следующий вопрос: "Вы знаете навьяра по имени Фаэтларр?" Адриан пожимает плечами: "Я не знаю каждого из них по имени. Что с ним?" Уолтер продолжает свой допрос: "Мы встретили его в Заисланотре. Он говорит, что был на борту Надежды". В глазах Блэка на секунду мелькает страх, но потом он успокаивается: "А, припоминаю. К сожалению, у нас не получилось вернуться за ним после неудачной вылазки в храм Заисланотра. Скажите, он с вами?" Леарр прислушалась и нервно сжала кулаки, а Рэдклифф все так же спокойно ответил: "Нет, он вернулся в Венаэданотр". Леарр облегченно вздохнула, а Блэк лишь печально произнес: "Очень жаль. Я думал, он хочет увидеть наш триумф".
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {"Мое имя - Дэвид Дрейк", [[
 
            "Рад знакомству, Дэвид. Ты должно быть искал своего отца? Жаль, что так получилось. Последние несколько лет он стремился попасть сюда", - Блэк делает короткую паузу, после чего продолжает, - "Но не смог. Однако я собираюсь продолжить его дело".
 
        ]]};
 
        {"О каких исследованиях идет речь?", [[
 
            "Вас не удивляет то, что видели перед тем как попасть сюда, в этот зал? Начиная от древних храмов со светящимися экранами и заканчивая этим городом. Очевидно, что древние навьяры знали и умели гораздо больше теперешних. И, самое главное, гораздо больше нас. Но здесь, в этом зале, находится вершина их достижений. Тот, кого называют Наэтвьирром - спящим в глубинах".
 
        ]], code [[ psub("naethvjirr"); ]]};
 
        {"Вы хотите пробудить Наэтвьирра?", [[
 
            "Да".
 
        ]], code [[ psub("naethvjirr"); ]]};
 
        {tag="naethvjirr"};
 
        {"Вы понимаете, какой опасности вы подвергаете мир?", [[
 
            "Если мы все сделаем правильно, Наэтвьирр будет подвластен мне и не сможет сделать ничего без моего ведома. И мне не помешает ваша помощь".
 
        ]], code [[ psub("choise"); ]]};
 
        {tag="choise"};
 
        {tag="control", false, "[Показать ключ из древнего храма]Вы не сможете управлять Наэтвьирром без этого", [[
 
            В глазах Блэка мелькнуло любопытство: "Дайте его сюда, господин Дрейк". Вы не успеваете среагировать, как Аэдхиарр вырывает ключ из ваших рук. 
 
        ]], code [[ lse_key = true; ]]};
 
        {"Я готов помочь", function(s)
 
            walk("lse_help_black");
 
        end};
 
        {"Я не стану вам помогать", function(s)
 
            walk("lse_confront");
 
        end}
 
    };
 
};
 

	
 
lse_confront = cutscene("lse_confront_intro", "Лсэрианотр", function(s)
 
    if (have("item_naethvjirr_key")) then
 
        lse_key = true;
 
    end;
 
    if (lse_intro_with_learr or lse_intro_with_jack or lse_intro_with_walter or lse_intro_with_anna) then
 
        return [[
 
            Блэк недовольно поправляет галстук: "Не хотите по-хорошему - будет по-плохому". ^
 
            В помещение входят несколько вооруженнных стражников. "Обыщите их и отведите в тюрьму. Аэдхиарр, осмотри Левиафан", - приказывает Блэк и возвращается к своим делам. Навьяры делают свое дело тщательно - они забирают все, что было при вас. Сопротивляться бесполезно - их слишком много. Они уводят вас в тюремную камеру и запирают там. Ваших спутников схватили вместе с вами. Вы садитесь на пол и обхватываете голову руками с мыслью: "Все пропало. Это конец".
 
        ]];
 
    else
 
        return [[
 
            Блэк недовольно поправляет галстук: "Не хотите по-хорошему - будет по-плохому". ^
 
            В помещение входят несколько вооруженнных стражников. "Обыщите их и отведите в тюрьму. Аэдхиарр, осмотри Левиафан", - приказывает Блэк и возвращается к своим делам. Навьяры делают свое дело тщательно - они забирают все, что было при вас. Сопротивляться бесполезно - их слишком много. Они уводят вас в тюремную камеру и запирают там. Вы садитесь на пол и обхватываете голову руками с мыслью: "Все пропало. Это конец".
 
        ]];
 
    end;
 
end, "lse_phaetlarr_intro");
 

	
 
lse_phaetlarr_intro = cutscene("lse_phaetlarr_intro", "Левиафан, грузовой отсек", function(s)
 
    pr [[Когда последователи Блэка вошли в Левиафан, Фаэтларр был на складе. Услышав приближение врагов, навьяр спрятался за один из стеллажей в углу помещения. Через узкую щель между ящиками он легко мог видеть все, что делалось в отсеке. К счастью, стражники, не слишком хорошо знакомые с хевьярской техникой не уделили должного внимания комнате. Впрочем, Фаэтларр все равно почерпнул много нового из разговоров захватчиков: Дрейк схвачен]];
 
    
 
    if (#player_drake.party > 1) then
 
        pr [[ и, вместе с ним, скорее всего и весь остальной экипаж]];
 
    end;
 
    
 
    pr [[, а Левиафан и все материалы попали в руки Блэку. Через некоторое время, когда стражники осмотрели все, что посчитали нужным, они покинули субмарину и Левиафан остался пустым. Настало время действовать.
 
    ]];
 
end, "lse_switch");
 

	
 
lse_switch = room {
 
    nam = "lse_switch";
 
    disp = "limbo";
 
    entered = function()
 
        player_phaetlarr.where = "lse_leviathan_cargo_hold";
 
        pl = player_phaetlarr;
 
    end;
 
};
 

	
 
player_phaetlarr = player {
 
    nam = "player_phaetlarr";
 
    obj = {};
 
}
 
\ No newline at end of file
lseryanotrr_locations.lua
Show inline comments
 
lse_gate = room {
 
    nam = "lse_gate";
 
    disp = "Лсэрианотр, ворота";
 
    view = [[
 
lse_item_toolbox = obj {
 
    nam = "toolbox";
 
    disp = "Ящик с инструментами";
 
    dsc = [[
 
        У входа лежит {ящик с инструментами}, столь опрометчиво(или предусмотрительно?) оставленный Дэвидом.
 
    ]];
 
    tak = [[
 
        Фаэтларр забирает ящик с собой. 
 
    ]];
 
    inv = [[
 
        Ящик со всевозможными инструментами. Большую часть из них Фаэтларр видит впервые. 
 
    ]];
 
};
 

	
 
lse_leviathan_cargo_hold = room {
 
    nam = "lse_leviathan_cargo_hold";
 
    disp = "Левиафан, грузовой отсек";
 
    dsc = [[
 
        Фаэтларр находится в грузовом отсеке Левиафана, среди множества ящиков в котором так легко затеряться.
 
    ]];
 
    obj = {
 
        "player_phaetlarr",
 
        "lse_item_toolbox"
 
    };
 
    way = {
 
        kh_vroom("В коридор", "lse_leviathan_corridor");
 
    };
 
};
 
        
 
lse_leviathan_corridor = room {
 
    nam = "lse_leviathan_corridor";
 
    disp = "Левиафан, коридор";
 
    dsc = [[
 
        Фаэтларр находится в основном коридоре Левиафана. Длинный металлический коридор освещен ярким светом электрических ламп. По левому борту расположены двери кают. Одна из них была выделена Фаэтларру и навьяр на некоторое время задержал взгляд на ней - дверь ничем не отличалась от соседних, за исключением цифры "5", нарисованной на ней белой краской. 
 
    ]];
 
    way = {
 
        kh_vroom("В каюту капитана", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В каюту №1", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В каюту №2", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В каюту №3", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В каюту №4", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В каюту №5", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("В кают-компанию", "lse_leviathan_wardroom", 1);
 
        kh_vroom("В грузовой отсек", "lse_leviathan_cargo_hold", 1);
 
        kh_vroom("В машинный отсек", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
        kh_vroom("На нижнюю палубу", function(s)
 
            pr [[
 
                "Не стоит тратить на это время", - промелькнула мысль в голове Фаэтларра.
 
            ]];
 
            return false;
 
        end);
 
    };
 
};
 

	
 
lse_leviathan_wardroom = room {
 
    nam = "lse_leviathan_wardroom";
 
    disp = "Левиафан, кают-компания";
 
    dsc = [[
 
        Фаэтларр находится в кают-компании Левиафана. Это просторная комната, освещенная ярким светом электрических ламп. В центре кают-компании укреплен массивный металлический стол, вокруг которого стоят несколько стульев. 
 
    ]];
 
    way = {
 
        kh_vroom("В рубку", function(s)
 
            pr [["Там я ничего не смогу сделать", - промелькнула мысль в голове Фаэтларра. ]];
 
            return false;
 
        end);
 
        kh_vroom("В шлюз", "lse_leviathan_airlock");
 
        kh_vroom("В коридор", "lse_leviathan_corridor");
 
    };
 
    obj = {
 
        "lse_phone_wardroom";
 
    };
 
};
 

	
 
lse_phone_wardroom = obj {
 
    nam = "lse_phone_wardroom";
 
    disp = "Телефон";
 
    dsc = [[На столе, рядом с креслом Дрейка установлен {телефонный аппарат}. ^]];
 
    act = [[Фаэтларр не умеет этим пользоваться. ]];
 
};
 

	
 
lse_leviathan_airlock = room {
 
    nam = "lse_leviathan_airlock";
 
    disp = "Левиафан, шлюз";
 
    dsc = [[Фаэтларр находится в шлюзовом отсеке Левиафана. Люк не задраен. ]];
 
    way = {
 
        kh_vroom("В кают-компанию", "lse_leviathan_wardroom");
 
        kh_vroom("Наружу", "lse_leviathan_airlock_up");
 
    };
 
};
 

	
 
lse_leviathan_airlock_up = room {
 
    nam = "lse_leviathan_airlock_up";
 
    disp = "Левиафан, люк";
 
    dsc = function(s)
 
        return [[Фаэтларр выглядывает из люка Левиафана. Субмарина находится все там же - в доке, у ворот Лсэрианотра. ]];
 
    end;
 
    obj = {
 
        "lse_lev_guard"
 
    };
 
    way = {
 
        
 
    };
 
};
 

	
 
lse_lev_guard = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = "lse_lev_guard";
 
    dsc = function(s)
 
        if (s.state == 0) then
 
            return "У пирса рядом с Левиафаном стоит {группа стражников}";
 
        else
 
            return "Стражники отошли в дальний конец дока. Фаэтларр сможет незаметно пробежать мимо. ";
 
        end;
 
    end;
 
};
 
\ No newline at end of file
main.lua
Show inline comments
 
-- $Name: Пробуждение$
 
-- $Version: 1.0$
 
-- $Author: Khaelenmore Thaal$
 
 
instead_version "1.9.1"
 
require "para"
 
require "dash"
 
require "quotes"
 
require "hideinv"
 
require "kbd"
 
require "timer"
 
 
-- Код и ядро
 
dofile "utils.lua"
 
dofile "battlefield.lua";
 
-- Общее
 
dofile "items.lua"
 
dofile "party.lua"
 
dofile "game_over.lua";
 
-- Часть 1
 
dofile "london.lua"
 
dofile "wright.lua"
 
dofile "travel.lua"
 
dofile "dock2.lua"
 
dofile "warehouse18.lua"
 
dofile "warehouse32.lua"
 
-- Часть 2
 
dofile "leviathan.lua"
 
dofile "atlantis.lua"
 
dofile "atlantis_ignis.lua"
 
dofile "atlantis_dlg.lua"
 
dofile "atlantis_intro.lua"
 
dofile "atlantis_ignis_on_fire.lua"
 
dofile "atlantis_looking_for_clues.lua"
 
dofile "atlantis_from_the_ashes.lua"
 
dofile "atlantis_iyhehevjiarr.lua"
 
dofile "atlantis_catching_the_tail.lua"
 
-- Часть 3
 
dofile "journey_venaedanotrr.lua"
 
dofile "journey_zayslanotrr.lua"
 
dofile "journey_zayslanotrr_temple.lua"
 
dofile "journey_temple.lua"
 
-- Часть 4
 
dofile "lseryanotrr_intro.lua"
 
dofile "lseryanotrr_locations.lua"
 
--dofile "final_scene.lua";
 
--dofile "final_battle.lua";
 
--dofile "first_city_inner_rim.lua"
 
--dofile "first_city_middle_rim.lua"
 
--dofile "first_city_outer_rim.lua"
 
 
global {
 
	warehouse18_found = false;
 
	warehouse32_found = false;
 
	dock_found = false;
 
	leviathan_discovered = false;
 
	atlantis_found = false;
 
	temple_found = false;
 
	nearest_cities_found = false;
 
	iraaphaanotrr_temple_found = false;
 
	dypatreanotrr_temple_found = false;
 
    venaedanotrr_temple_found = false;
 
    zayslanotrr_temple_found = false;
 
    deep_temple_found = false;
 
    lseryanotrr_found = false;
 
	
 
	rel_phaetlarr = 0;
 
	rel_walter = 0;
 
	rel_learr = 0;
 
	rel_anna = 0;
 
	rel_jack = 0;
 
    
 
    dt_code = {};
 
    dt_buttons = {};
 
};
 
 
 
 
pl = player {
 
player_drake = player {
 
	nam = "player";
 
	disp = "Дэвид Дрейк";
 
    disp2 = "Дрейка";
 
    disp3 = "Дрейку";
 
	where = 'port';
 
	hp = 10;
 
	obj = {'item_umbrella', 'item_charts', 'item_note_1', 'item_money', 
 
	};
 
	-- party array. Should be empty on start
 
	party = {--[["learr", "radcliffe", "phaetlarr", "wright"]]};
 
	companion = nil;
 
	money = 200;
 
	pay = function(s, c)
 
		if (s.money >= c) then
 
			s.money = s.money - c;
 
			return true;
 
		else
 
			return false;
 
		end;
 
	end;
 
};
 
 
intro = room {
 
	nam = "intro";
 
	hideinv = true;
 
	disp = "Вступление";
 
	dsc = [[
 
		ВНИМАНИЕ: Это специальная предварительная версия игры. Ни один фрагмент игры не является финальным. ^^
 
		ВНИМАНИЕ: Данная версия игры не предназначена для какого-либо распространения, исключая прямую передачу файлов автором. Вышеуказанное ограничение на распространение данной версии игры аннулируется в момент выхода полной версии. ^^
 
		Действие игры происходит в конце 19-го века. Вы играете за Дэвида Дрейка - единственного сына богатого и уважаемого владельца транспортной компании "Вестхейвен Трансоушен". ^
 
		Несколько лет назад, когда Дэвиду было 10 лет, Уильям таинственным образом бесследно пропал. Полицейское расследование вскоре зашло в тупик и было прекращено. Через несколько месяцев компания, оставшаяся без своего владельца, обанкротилась, ее имущество распродается. ^
 
		После исчезновения отца Дэвид жил в Вашингтоне с бабушкой. Он пошел по стопам отца и выучился на инженера-кораблестроителя. Несколько дней назад в доме, где он жил, был обнаружен тайник, хранящий секретные документы отца - карты, указывающие по-видимому на какие-то тайники Уильяма и записка с адресом и именем.^
 
		Одержимый идеей узнать больше, Дэвид отправляется в Лондон...
 
	]];
 
	obj = {
 
		vway("Начать игру", "{Начать игру}", 'aurora_borealis');
 
	}
 
};
 
 
pl = player_drake;
 
 
game.nam = "Пробуждение";
 
game.dsc = [[
 
	Действие игры происходит в конце 19-го века. Вы играете за Дэвида Дрейка, сына владельца крупной транспортной компании "Вестхейвен Трансоушен". Несколько лет назад Уильям Дрейк, отец главного героя бесследно пропадает. Компания вскоре разваливается. Поиски ни к чему не приводят. Когда казалось бы уже все потеряно, в доме Дрейков находят тайник с документами Уильяма. Несколько схем строений, принадлежащих компании и клочок бумаги с адресом некоего Майкла Райта в Лондоне. Естественно, Дэвид как можно скорее отправляется в Великобританию...
 
	Вам предстоит отыскать подводную лодку, посетить подводную станцию, построенную Уильямом, встретить древнюю расу подводных жителей, поучаствовать в событиях, описанных древними легендами этой расы и узнать, что стало с Уильямом Дрейком.
 
]];
 
 
game_act_phrases = {
 
	"Вы не знаете, что с этим делать. ";
 
	"Вам нет смысла это трогать. ";
 
	"Вам это ничем не поможет. ";
 
	"Это бессмыссленно. ";
 
	"Незачем это трогать. ";
 
};
 
 
game_use_phrases = {
 
	"Вам это ничем не поможет. ";
 
	"Это бессмыссленно. ";
 
	"Вы не знаете, как это сделать. "
 
};
 
 
game.act = function(s)
 
	return game_act_phrases[rnd(#game_act_phrases)];
 
end;
 
 
game.use = function(s)
 
	return game_use_phrases[rnd(#game_use_phrases)];
 
end;
 
game.inv = "INV: Если вы видите это сообщение - это баг. ";
 
 
require "dbg"
 
 
function init()
 
	---modules init
 
	leviathan_init();
 
	warehouse18_init();
 
	warehouse32_init();
 
    
 
    local nums = {1,2,3,4,5,6};
 
    for i = 1, 4 do 
 
        local index = rnd(#nums);
 
        table.insert(dt_code, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
    nums = {1,2,3,4,5,6};
 
    for i = 1, 3 do 
 
        local index = rnd(#nums);
 
        table.insert(dt_buttons, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
	---game init
 
	pl.where = intro;
 
	---debug	
 
	--[[
 
	---IYH
 
	lifeon(char_learr);
 
	lifeon(char_wright);
 
	lifeon(char_radcliffe);
 
	lifeon(char_anna);
 
	lifeon(char_aikerjarr_lev);
 
	pl.party = {'learr', 'wright', 'radcliffe', 'anna'};
 
	atlantis_found = true;
 
	move(submarine_leviathan, "ctt_dyp_temple_entrance");
 
	--move(submarine_leviathan, "iyh_far_from_entrance_foot");
 
	pl.where = leviathan_wheelhouse;
 
	submarine_leviathan.battery = true; -- Состояние батареи 
 
	submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи
 
	submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи
 
	submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы
 
	submarine_leviathan.power_on = true; -- включена ли энергия
 
	submarine_leviathan.air_level = 432000; -- запас воздуха. Максимум - 5 дней(5 * 24 * 60 * 60 = 432000)
 
	submarine_leviathan.airpump = false;
 
	leviathan_airlock.has_light = true;
 
	leviathan_wardroom.has_light = true;
 
	leviathan_wheelhouse.has_light = true;
 
	leviathan_corridor.has_light = true;
 
	leviathan_cabin_1.has_light = true;
 
	leviathan_cabin_2.has_light = true;
 
	leviathan_cabin_3.has_light = true;
 
	leviathan_cabin_4.has_light = true;
 
	leviathan_cabin_5.has_light = true;
 
	leviathan_captains_cabin.has_light = true;
 
	leviathan_cargo_hold.has_light = true;
 
	leviathan_engines.has_light = true;
 
	leviathan_lower_deck.has_light = true;
 
	leviathan_life_support.has_light = true;
 
	atl_iyh_state = 7;
 
	--]]
 
	
 
	--- Chapter 1: Atlantis
 
	submarine_leviathan.battery = true; -- Состояние батареи 
 
	submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи
 
	submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи
 
	submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы
 
	submarine_leviathan.power_on = true; -- включена ли энергия
 
	submarine_leviathan.air_level = 432000; -- запас воздуха. Максимум - 5 дней(5 * 24 * 60 * 60 = 432000)
 
	submarine_leviathan.airpump = false;
 
	leviathan_airlock.has_light = true;
 
	leviathan_wardroom.has_light = true;
 
	leviathan_wheelhouse.has_light = true;
 
	leviathan_corridor.has_light = true;
 
	leviathan_cabin_1.has_light = true;
 
	leviathan_cabin_2.has_light = true;
 
	leviathan_cabin_3.has_light = true;
 
	leviathan_cabin_4.has_light = true;
 
	leviathan_cabin_5.has_light = true;
 
	leviathan_captains_cabin.has_light = true;
 
	leviathan_cargo_hold.has_light = true;
 
	leviathan_engines.has_light = true;
 
	leviathan_lower_deck.has_light = true;
 
	leviathan_life_support.has_light = true;
 
	
 
	pl.party = {'wright'};
 
	put(item_toolbox, pl);
 
	put(item_ducttape, pl);
 
	pl.where = "leviathan_airlock";
 
	atlantis_found = true;
 
	move(submarine_leviathan, "atl_aqua_leviathan_dock");
 
    submarine_leviathan:enable();   
 
    	   
 
    --ven_temple_l1.position = "66";   
 
    put(item_ven_tablet, pl);
 
    put(item_harpoon, pl);
 
    put(item_colt, pl);
 
    --ven_shark.position = "55";
 
	--pl.where = "za_plaetlarr_fight";
 
    pl.where = "lse_entered";
 
    pl.where = "lse_confront";
 
    move(submarine_leviathan, "za_temple_back_entrance_foot");
 
    char_anna.follow = true;
 
    --pl.where = "ven_chest_look";
 
    --move(ven_shark, "ven_temple_l1");
 
    
 
	--put(item_suit, pl);
 
	
 
	-- pl.where = warehouse_32;
 
	-- pl.where = w32_mgr;
 
	
 
	-- put(item_cogs, pl);
 
	-- put(item_pump_details, pl);
 
	-- put(item_electrodes, pl);
 
	--put(item_lamp, pl);
 
	-- pl.where = aurora_borealis;
 
	-- move(submarine_leviathan, first_city_entrance);
 
	-- move(submarine_leviathan, first_city_outer_east);
 
	-- walk(final_scene);
 
	-- walk(leviathan_wardroom);
 
	-- walk(leviathan_wardroom);
 
	-- put("char_learr", "leviathan_wardroom");
 
	-- put("char_phaetlarr", "leviathan_engines");
 
	-- put("char_radcliffe", "leviathan_engines");
 
	-- put("char_wright", "leviathan_wardroom");
 
	-- pl.where = leviathan_airlock;
 
	-- pl.where = hotel_street;
 
	-- pl.where = warehouse_32_entry;
 
	-- dock_found = true;
 
end;
 
\ No newline at end of file
0 comments (0 inline, 0 general)