Changeset - 7804afa784a8
[Not reviewed]
default
0 4 0
Silverwing - 5 years ago 2018-12-22 13:25:47

Epilogue - ending
4 files changed with 105 insertions and 23 deletions:
0 comments (0 inline, 0 general)
battlefield.lua
Show inline comments
 
@@ -267,6 +267,18 @@ battlefield = function(tab)
 
        here():make_turn();
 
    end;
 

	
 
    if not tab.check_win then
 
        tab.check_win = function(s)
 
            for i = 1, #s.obj do
 
                if (s.obj[i].enemy and s.obj[i].hp > 0) then
 
                    return;
 
                end;
 
            end;
 

	
 
            walk(s.win);
 
        end;
 
    end;
 

	
 
    tab.make_turn = function(s)
 
        -- A bit peggish but works
 
        pl.x = s.plX;
 
@@ -287,13 +299,7 @@ battlefield = function(tab)
 

	
 
        s:check_walk();
 

	
 
        for i = 1, #s.obj do
 
            if (s.obj[i].enemy and s.obj[i].hp > 0) then
 
                return;
 
            end;
 
        end;
 

	
 
        walk(s.win);
 
        s:check_win();
 
    end;
 
    
 
    tab.getWalkDistance = _kh.bf_calcWalkDistance;
lse_alliance.lua
Show inline comments
 
@@ -361,7 +361,7 @@ lse_naethvjirr_ask = dlg {
 
        if have(item_naethvjirr_key) then
 
            pon('use_key_self', 'use_key_william');
 
        end;
 
        return [[лаза статуи, стоящей в центре зала зажигаются белым светом. Его рот открывается и он начинает говорить на непонятных вам языках. Наконец, он говорит на чистом английском: "Кто звал меня?"]];
 
        return [[Глаза статуи, стоящей в центре зала зажигаются белым светом. Его рот открывается и он начинает говорить на непонятных вам языках. Наконец, он говорит на чистом английском: "Кто звал меня?"]];
 
    end;
 
    phr = {
 
        {tag="use_key_self", false, "[Отдать Наэтвьирру ключ]Я тебя звал.", code [[ walk(lse_naethvjirr_self); ]]};
lse_confrontation.lua
Show inline comments
 
@@ -2049,7 +2049,7 @@ lse_inner_7_inside = room {
 

	
 
lse_center = room {
 
    nam = 'Лсэрианотр, зал Наэтвьирра';
 
    entered = function(s)
 
    enter = function(s)
 
        lse_ending_state = 2;
 
        walkin('lse_conf_center_intro');
 
    end;
lse_final_battle.lua
Show inline comments
 
@@ -2,7 +2,7 @@ lse_final_battle = battlefield {
 
    nam = "lse_final_battle";
 
    disp = "Лсэрианотр, центральный зал";
 
    lose = "game_over_final_battle";
 
    win = "game_over_victory";
 
    win = "final_battle_over";
 
    map = {
 
        {0,0,0,0,0,0,0},
 
        {0,0,0,0,0,0,0},
 
@@ -15,6 +15,19 @@ lse_final_battle = battlefield {
 
    dsc = [[Стены и пол древнего зала излучают яркий свет. Сверху над залом нависает прозрачный купол, сквозь который вы можете видеть океанскую толщу над вами. ]];
 
    plX = 4;
 
    plY = 7;
 
    check_win = function(s)
 
        if lse_ending_state == 2 then
 
            for i = 1, #s.obj do
 
                if (s.obj[i].enemy and s.obj[i].hp > 0) then
 
                    return;
 
                end;
 
            end;
 

	
 
            walk(s.win);
 
        elseif lse_ending_state == 1 and lse_naethvjirr.hp <= 0 then
 
            walk(s.win);
 
        end;
 
    end;
 
    make_turn = function(s)
 
        lse_generator_update();
 
    end;
 
@@ -78,7 +91,7 @@ lse_final_battle = battlefield {
 
        "lse_gen_08",
 
        "lse_gen_09",
 
        "lse_gen_10",
 
        "lse_black",
 
        "lse_drake",
 
        "lse_aedhyarr",
 
        "lse_pylon1",
 
        "lse_pylon2",
 
@@ -534,10 +547,10 @@ lse_naethvjirr = combatant {
 
    end;
 
};
 

	
 
lse_black = combatant {
 
    nam = "lse_black";
 
    disp2 = "Адриана Блэка";
 
    disp3 = "Адриану Блэку";
 
lse_drake = combatant {
 
    nam = "lse_drake";
 
    disp2 = "Уильяма Дрейка";
 
    disp3 = "Уильяму Дрейку";
 
    x = 4;
 
    y = 3;
 
    hp = 4;
 
@@ -545,7 +558,7 @@ lse_black = combatant {
 
    gun = 6;
 
    dsc = function(s)
 
        if s.hp > 0 then
 
            return [[{Адриан Блэк} готов к бою. ]];
 
            return [[{Уильям Дрейк} готов к бою. ]];
 
        else
 
            return false;
 
        end;
 
@@ -557,9 +570,9 @@ lse_black = combatant {
 
                -- shoot
 
                if (rnd(4) > dist - 2) then
 
                    pl.hp = pl.hp - 2;
 
                    p("Адриан Блэк стреляет в вас и попадает. ");
 
                    p("Уильям Дрейк стреляет в вас и попадает. ");
 
                else
 
                    p("Адриан Блэк стреляет в вас, но промахивается. ");
 
                    p("Уильям Дрейк стреляет в вас, но промахивается. ");
 
                end;
 
            else
 
                if (dist < 4) then
 
@@ -598,16 +611,16 @@ lse_black = combatant {
 
                    if (here():isPassable(x, y)) then
 
                        s.x = x;
 
                        s.y = y;
 
                        p("Адриан Блэк отступает. ");
 
                        p("Уильям Дрейк отступает. ");
 
                    else
 
                        p("Адриан Блэк ждет. ");
 
                        p("Уильям Дрейк ждет. ");
 
                    end;
 
                else
 
                    p("Адриан Блэк ждет. ");
 
                    p("Уильям Дрейк ждет. ");
 
                end;
 
            end;
 
        else 
 
            p("Адриан Блэк ждет. ");
 
            p("Уильям Дрейк ждет. ");
 
        end;
 
    end;
 
};
 
@@ -653,4 +666,67 @@ lse_aedhyarr = combatant {
 
            end;
 
        end;
 
end;
 
};
 
\ No newline at end of file
 
};
 

	
 
final_battle_over = room {
 
    nam = 'final_battle_over';
 
    enter = function(s)
 
        if lse_lse_ending_state == 1 then
 
            walkin('ending_naethvjirr_destroyed_a');
 
        else
 
            walkin('ending_naethvjirr_destroyed_b');
 
        end;
 
    end
 
}
 

	
 
ending_naethvjirr_destroyed_a = cutscene('Лсэрианотр, зал Наэтвьирра', 'Лсэрианотр, зал Наэтвьирра', function(s)
 
    pr [[Гул машин затихает. Наэтвьирр уничтожен. ]];
 
    if lse_drake.hp > 0 then
 
        pr [[Ошеломленный Уильям Дрейк произносит: "Не ждал я от тебя такого, сынок". Дрожащей рукой он подносит к виску револьвер и делает выстрел. ]];
 
    end;
 
    if lse_aedhyarr.hp > 0 then
 
        pr [[Аэдхиарр опускается на пол с криком: "Не стреляйте!"]];
 
    end;
 
    pr [[Некоторое время вы стоите посреди затихшего зала, размышляя о произошедшем. ]];
 
    if ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0 then
 
        pr [[Решительный голос Уолтера Рэдклиффа прерывает ваши мысли: "Нам нужно уходить". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'jack') ~= 0 then
 
        pr [[Мягкий голос Джека Райта прерывает ваши мысли: "Пойдем отсюда". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
        pr [[Легкое касание плеча прерывает ваши мысли. Леарр негромко произносит: "Дрейк, нам-возвращаться-пора". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'phaetlarr') ~= 0 then
 
        pr [[Решительный голос Фаэтларра прерывает ваши мысли: "Дрейк, мы возвращаемся". ]];
 
    end;
 
end, 'ending_naethvjirr_destroyed_2');
 

	
 
ending_naethvjirr_destroyed_b = cutscene('Лсэрианотр, зал Наэтвьирра', 'Лсэрианотр, зал Наэтвьирра', function(s)
 
    pr [[Гул машин затихает. Наэтвьирр уничтожен. Аэдхиарр мертв. Уильям убит вашей рукой. ]];
 
    pr [[Некоторое время вы стоите посреди затихшего зала, размышляя о произошедшем. ]];
 
    if ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0 then
 
        pr [[Решительный голос Уолтера Рэдклиффа прерывает ваши мысли: "Нам нужно уходить". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'jack') ~= 0 then
 
        pr [[Мягкий голос Джека Райта прерывает ваши мысли: "Пойдем отсюда". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
        pr [[Легкое касание плеча прерывает ваши мысли. Леарр негромко произносит: "Дрейк, нам-возвращаться-пора". ]];
 
    elseif ArrayUtils.indexOf(pl.party, 'phaetlarr') ~= 0 then
 
        pr [[Решительный голос Фаэтларра прерывает ваши мысли: "Дрейк, мы возвращаемся". ]];
 
    end;
 
end, 'ending_naethvjirr_destroyed_2');
 

	
 
ending_naethvjirr_2 = game_over('Пробуждение', 'Пробуждение', function(s)
 
    pr [[Лсэрианотр найден, Наэтвьирр уничтожен, экипаж Надежды мертв. ]];
 
    if atl_iyh_shockfish_dead and not atl_iyh_artifacts_on_atlantis then
 
        pr [[Вы оставляетсе Фаэтларра в Венаэданотре, после чего на всех парах мчитесь на Атлантиду. На месте, вы обнаруживаете, что станция заброшена. Из оставленных документов, вы узнаете, что из-за резкого ухудшения отношений с навьярами дальнейшие исследования стали осложнены. После нескольких нападений, Моро принял решение закрыть станцию. Вам не остается ничего, кроме как вернуться на поверхность вместе со всем экипажем. ^^Конец. ]];
 
    else
 
        pr [[Левиафан возвращается на Атлантиду так быстро, как это возможно. После того, как вы прибыли на станцию и рассказали о произошедшем, Екатерина Светлова начала собирать новую экспедицию в Лсэрианотр, взяв как людей, так и навьяров. Леарр, Фаэтларр и Ривеерр присоединились к экспедиции. ]];
 
        if (ArrayUtils.indexOf(pl.party, 'jack')) then
 
            pr [[Джек вместе с Майклом так же решили присоединиться к Светловой -- младший Райт своим рассказом очень заинтересовал отца навьярскими артефактами. ]];
 
        else
 
            pr [[С разрешения Моро, Майкл начал разрабатывать новую субмарину, которая позволит обеспечить регулярное сообщение между Лсэрианотром и Атлантидой. ]];
 
        end;
 
        if ArrayUtils.indexOf(pl.party, 'radcliffe') then
 
            pr [[Вслед за ними отправились и Рэдклиффы. Анне было интересно изучить Лсэрианотр, а Уолтер всюду следовал за своей сестрой. ]]
 
        end;
 
    end;
 
    return [[^^Конец. ]];
 
end);
 
\ No newline at end of file
0 comments (0 inline, 0 general)