Changeset - 3c5694ca0145
[Not reviewed]
default
0 1 0
Silverwing - 6 years ago 2019-02-06 19:06:14

learr will not return to venaedanotrr ravine
1 file changed with 11 insertions and 0 deletions:
0 comments (0 inline, 0 general)
journey_venaedanotrr.lua
Show inline comments
 
@@ -735,384 +735,395 @@ ven_char_librarian_dlg = dlg {
 
        ven_quest_10_shown = false;
 
    };
 
    nam = 'ven_char_librarian_dlg';
 
    disp = "Хиарирр, библиотекарь";
 
    entered = function(s)
 
        if ven_quest_status == 1 and not s.ven_quest_1_shown then
 
            s.ven_quest_1_shown = true;
 
            pon('on_explorers');
 
        elseif ven_quest_status ~= 1 then
 
            poff('on_explorers');
 
        end;
 

	
 
        if ven_quest_status == 10 and not s.ven_quest_10_shown then
 
            s.ven_quest_10_shown = true;
 
            pon('on_outcast');
 
        elseif ven_quest_status ~= 10 then
 
            poff('on_outcast');
 
        end;
 

	
 
        if ven_char_librarian.state == 0 then
 
            ven_char_librarian.state = 1;
 
            psub('intro');
 
            return [[Навьяр не обращает на ваше присутствие никакого внимания. ]];
 
        else
 
            psub('generic');
 
            return [[Хиарирр не обращает на ваше присутствие никакого внимания. ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag='intro'};
 
        {"[Осторожно коснуться навьяра]", always=true, [[Навьяр отрывает взгляд от табличек и резко отскакивает от вас. Его зеленые глаза смотрят на вас. По плавникам бегут цветные полосы: "Не делайте так. Я вас и без этого вижу". ]], code [[ psub("intro_b"); ]]};
 
        {"[Помахать рукой перед глазами навьяра]", always=true, [[Навьяр не меняет ни позы ни направления взгляда. По его плавникам бегут цветные полосы: "Я вас вижу. Говорите". ]], code [[ psub("intro_c"); ]]};
 

	
 
        {tag='intro_b'};
 
        {"[Кодировщик]Прошу прощения. Где я могу найти библиотекаря?", always=true, [[Навьяр возвращается на прежнее место и глядя вам в глаза отвечает: "Я библиотекарь. Мое имя Хиарирр. Говорите".]], code [[ psub("generic"); ]]};
 

	
 
        {tag='intro_c'};
 
        {"[Кодировщик]Где я могу найти библиотекаря?", always=true, [[Навьяр, не двигаясь, отвечает: "Я библиотекарь. Мое имя Хиарирр. Говорите". ]], code [[ psub("generic"); ]]};
 

	
 
        {tag='generic'};
 
        {tag="on_outcast", false, "[Кодировщик]Вы видели вчера что-нибудь необычное у дома Хисорра?", [[Хиарирр рассказывает: "Вечером, я заметил движение в саду у Хисорра -- сам сад огорожен, туда посторонние проникнуть просто так не могут, так что сперва подумал, что лекарь просто собирает материал для лекарств. Поэтому я жутко удивился, когда навьяр -- это непременно был навьяр, резко выплыл на восток, от дома, а не вошел внутрь, как делает Хисорр. Время было позднее, я даже подумал, что ошибся". ]]};
 
        {tag="on_explorers", false, "[Кодировщик]Мы ищем пропавшую группу исследователей. Они отправились на северо-восток от города. Вы знаете, что они могли искать там?", [[Хиарирр отвечает, не отвлекаясь от основного занятия: "Спросите в гильдии исследователей -- они отправили отряд, они и знают, куда и с какой целью. Еще можете спросить картографов -- они лучше, чем кто-либо знают окрестности города". ]], code [[ ven_quest_status = 2; ]]};
 
        {always=true, "[Кодировщик]До новых встреч.", [[Хиарирр отвечает: "Ты возвращайся". ]], code [[ back(); ]]};
 
    };
 
};
 

	
 
ven_west_street = room {
 
    nam = 'ven_west_street';
 
    underwater = true;
 
    disp = 'Венаэданотр, западная улица';
 
    dsc = [[Широкая улица, протянувшаяся с юга на север в западной части Венаэданотра. По обе стороны ее расположились аккуратные каменные домики. ]];
 
    way = {
 
        kh_vroom('На восток, к центру', "ven_center");
 
        kh_vroom('На север', 'ven_west_street_north');
 
        kh_vroom('На юг', 'ven_west_street_south');
 
    };
 
};
 

	
 
ven_west_street_north = room {
 
    nam = 'ven_west_street_north';
 
    underwater = true;
 
    disp = 'Венаэданотр, западная улица, север';
 
    dsc = [[В конце улицы расположено одноэтажное здание гильдии исследователей. Орнаменты, украшающее здание осыпались и почти неразличимы. Ступени, ведущие ко входу истерты временем. Массивные двери, ведущие внутрь намертво застыли в открытом состоянии. ]];
 
    way = {
 
        kh_vroom('На юг', 'ven_west_street');
 
        kh_vroom('В гильдию', 'ven_explorers_guild')
 
    };
 
};
 

	
 
ven_west_street_south = room {
 
    nam = 'ven_west_street_south';
 
    underwater = true;
 
    disp = 'Венаэданотр, западная улица, юг';
 
    dsc = [[В конце улицы расположено здание гильдии картографов. Большое одноэтажное строение украшено множеством картографических символов. Очевидно, весь фасад здания представляет собой своего рода карту, на которой отражены ключевые места, расположенные в окрестностях города. ]];
 
    way = {
 
        kh_vroom('На север', 'ven_west_street');
 
        kh_vroom('В гильдию', 'ven_cartographers_guild')
 
    };
 
};
 

	
 
ven_explorers_guild = room {
 
    nam = 'ven_explorers_guild';
 
    underwater = true;
 
    disp = 'Венаэданотр, гильдия исследователей';
 
    dsc = [[В главном зале гильдии исследователей почти пусто. Лишь несколько навьяров обсуждают какие-то дела, стоя по углам. Колонны, поддерживающие потолок, покрыты светящимися водорослями. Несколько столов расположены в проходах межу ними. В дальнем конце зала расположено несколько дверей, ведущих в служебные помещения. ]];
 
    obj = {
 
        'ven_char_lead_explorer'
 
    };
 
    way = {
 
        kh_vroom('На улицу', 'ven_west_street_north');
 
    };
 
};
 

	
 
ven_cartographers_guild = room {
 
    nam = 'ven_cartographers_guild';
 
    underwater = true;
 
    disp = 'Венаэданотр, гильдия картографов';
 
    dsc = [[Главный зал гильдии какртографов напоминает своим устройством библиотеку - между массивных колонн установлены стеллажи, заполненные металлическими табличками с картами и описаниями. Среди стеллажей снуют навьяры, в поисках одним им ведомых сведений. Другие аккуратно перечерчивают старые карты на новые таблички, объединяя и дополняя содержащуюся в них информацию. ]];
 
    obj = {
 
        'ven_char_lead_cartographer'
 
    };
 
    way = {
 
        kh_vroom('На улицу', 'ven_west_street_south');
 
    };
 
};
 

	
 
ven_char_lead_explorer = npc {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'ven_char_lead_explorer';
 
    dsc = function(s)
 
        if s.state == 0 then
 
            return [[В центре зала висит высокий стройный {навьяр}. Серебристая чешуя поблескивает в ровном свете водорослей. Золотистые глаза сосредоточенно смотрят на вас. ]];
 
        else
 
            return [[В центре зала висит {Неаверр}. ]];
 
        end;
 
    end;
 
    dlg = 'ven_char_lead_explorer_dlg';
 
}
 

	
 
ven_char_lead_explorer_dlg = dlg {
 
    nam = 'ven_char_lead_explorer_dlg';
 
    disp = 'Неаверр, глава гильдии исследователей';
 
    entered = function(s)
 
        if ven_quest_status > 0 and ven_quest_status < 4 then
 
            pon('quest_where');
 
        end;
 
        psub("generic");
 
        if ven_char_lead_explorer.state == 0 then
 
            ven_char_lead_explorer.state = 1;
 
            return [[Навьяр медленно опускается на пол. По его головным плавникам бегут цветные полосы: "Приветствую вас, гости, в нашем городе. Мое имя Неаверр, я управляю этой гильдией. Вы говорите". ]];
 
        else
 
            return [[Неаверр медленно опускается на пол. По его головным плавникам бегут цветные полосы: "Вы говорите". ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="generic"};
 
        {tag="quest_where", false, "[Кодировщик]Мы ищем группу пропавших исследователей. Вы можете сказать, куда именно они отправились?", [[Неаверр отвечает: "К северо-востоку от города находится ущелье. Некогда, наши предки возводили там различные сооружения, но сейчас они стоят заброшенными. Время от времени отряды наших исследователей отправляются туда, но это становится все более и более опасным -- вдобавок к ловушкам, оставленным чтобы отвадить нежеланных гостей, старые постройки начинают разрушаться. Я расскажу вам, где находится это место". Неаверр объясняет вам, как добраться до ущелья. ]], code [[ven_quest_status = 4; venaedanotrr_ravine_found = true; ]]};
 
        {"[Кодировщик]До новых встреч.", always=true, [[По плавникам Неаверра бегут цветные полосы: "Ты возвращайся". ]], code [[walk("ven_explorers_guild"); ]]};
 
    };
 
}
 

	
 
ven_char_lead_cartographer = npc {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'ven_char_lead_cartographer';
 
    dsc = function(s)
 
        if s.state == 0 then
 
            return [[Над одним из столов в углу зала висит молодой {навьяр} с ярко-синей чешуей. На столе под ним лежит несколько стопок карт. Зеленые глаза бегают между ними, а руки, линия за линией, переносят их содержимое на чистые таблички. ]];
 
        else
 
            return [[{Арнрьярр} висит над столом в углу зала и перерисовывает старые карты. ]];
 
        end;
 
    end;
 
    dlg = 'ven_char_lead_cartographer_dlg';
 
}
 

	
 
ven_char_lead_cartographer_dlg = dlg {
 
    nam = 'ven_char_lead_cartographer_dlg';
 
    disp = 'Арнрьярр, глава гильдии картографов';
 
    entered = function(s)
 
        if ven_quest_status > 0 and ven_quest_status < 4 then
 
            pon('quest_where');
 
        end;
 
        if ven_char_lead_cartographer.state == 0 then
 
            return [[Навьяр поднимает взгляд на вас. По его плавникам бегут цветные полосы: "Добро пожаловать, гости. Я Арнрьярр -- я управляю гильдией картографов. Вы говорите". ]];
 
        else
 
            return [[Арнрьярр отрывает взгляд от карт и приветствует вас: "Вы говорите". ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="generic"};
 
        {tag="quest_where", false, "[Кодировщик]Мы ищем группу пропавших исследователей. Мы знаем то, что они отправились на северо-восток. Вы можете нам помочь?", [[Арнрьярр отвечает: "К северо-востоку от города находится ущелье. Исследователи часто отправляются туда небольшими группами в поисках ценностей -- некогда, наши предки жили в этом ущелье и многое осталось. Сейчас это место небезопасно, но жажда найти утраченные ценности сильнее страха". Арнрьярр показывает вам путь к ущелью. ]], code [[ven_quest_status = 4; venaedanotrr_ravine_found = true; ]]};
 
        {"[Кодировщик]До новых встреч.", always=true, [[По плавникам Арнрьярра бегут цветные полосы: "Ты возвращайся". ]], code [[ walk("ven_cartographers_guild"); ]]};
 
    };
 
}
 

	
 
ven_ravine_intro = lcutscene('ven_ravine_intro', 'Левиафан, рубка', [[Вы без труда находите искомое ущелье. Изломанный лабиринт расщелин, протянувшийся на многие километры слишком узок для Левиафана. Остается лишь надеяться, что вы сможете быстро напасть на след пропавших исследователей. Левиафан опускается на небольшой открытой площадке, окруженной со всех сторон скалами. Перед вами ущелье резко сужается, не давая Левиафану продолжить свой путь. Дальше придется идти пешком. ]], 'Вы прибыли в ущелье', leviathan_wheelhouse);
 

	
 
ven_ravine_entrance = room {
 
    nam = 'Ущелье, вход';
 
    underwater = true;
 
    enter = function(s)
 
        if have(ven_item_learr_unconscious) then
 
            walkin(ven_cutscene_learr_ill);
 
        elseif have(ven_item_phanearr_unconscious) then
 
            walkin(ven_cutscene_phanearr_returned);
 
        end;
 
    end;
 
    dsc = [[Вы находитесь на небольшой открытой площадке в одном из концов ущелья. Со всех сторон над вами нависают скалы. Перед вами расщелина резко сужается до нескольких метров. ]];
 
    view = [[Левиафан находится на небольшой открытой площадке в одном из концов ущелья. Со всех сторон над вами нависают скалы. Перед вами расщелина резко сужается до нескольких метров. Левиафан не сможет проплыть здесь. ]];
 
    enter = function(s)
 
        if ven_quest_status >= 5 and char_learr.follow then
 
            char_learr:accompany(false);
 
            return [[Леарр отказывается следовать за вами: "Это-место для-навьяров-опасно".]];
 
        end;
 
        if ven_quest_status >= 5 and char_phaetlarr.follow then
 
            -- just in case
 
            char_phaetlarr:accompany(false);
 
            return [[Фаэтларр отказывается следовать за вами: "Это-место для-навьяров-опасно".]];
 
        end;
 
    end;
 
    way = {
 
        kh_vroom('В Левиафан', function(s)
 
            if ven_quest_status < 5 then
 
                pr [[У вас еще есть дела здесь. ]];
 
                return false;
 
            else
 
                return 'leviathan_airlock';
 
            end;
 
        end);
 
        kh_vroom('Глубже в ущелье', 'ven_ravine_1');
 
    }
 
}
 

	
 
ven_ravine_1 = room {
 
    nam = 'Ущелье';
 
    underwater = true;
 
    dsc = [[Ширина ущелья здесь составляет не более трех-четырех метров. Скалы слева и справа от вас практически отвесные и вскарабкаться по ним почти невозможно. ]];
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_entrance');
 
        kh_vroom('В ответвление', 'ven_ravine_5');
 
        kh_vroom('Глубже в ущелье', 'ven_ravine_2');
 
    };
 
}
 

	
 
ven_ravine_5 = room {
 
    nam = 'Ущелье';
 
    underwater = true;
 
    dsc = [[Ширина этого ответвления не более метра. Вы с трудом протискиваетесь здесь. Ущелье продолжается дальше. ]];
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_1');
 
        kh_vroom('Глубже в ущелье', 'ven_ravine_6');
 
    };
 
}
 

	
 
ven_ravine_6 = room {
 
    nam = 'Ущелье';
 
    underwater = true;
 
    dsc = [[Здесь ущелье заканчивается тупиком. ]];
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_5');
 
    };
 
    obj = {
 
        'ven_item_searing_leaf'
 
    }
 
}
 

	
 
ven_ravine_2 = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Ущелье';
 
    underwater = true;
 
    dsc = [[Ширина ущелья здесь составляет не более трех-четырех метров. Скалы слева и справа от вас практически отвесные и вскарабкаться по ним почти невозможно. Вода здесь кажется немного мутной. ]];
 
    enter = function(s)
 
        if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and char_learr.follow then
 
            if s.state == 0 then
 
                s.state = 1;
 
                walkin('ven_ravine_learr_dlg_1');
 
            elseif ven_learr_ill_heavy then
 
                char_learr:accompany(false);
 
                for i = 1, #pl.party do
 
                    if pl.party[i] == 'learr' then
 
                        table.remove(pl.party, i);
 
                        break;
 
                    end;
 
                end;
 
                pn [[Леарр медленно опускается на дно, не в силах двигаться дальше. ]];
 
                remove(char_learr, where(char_learr));
 
                put(ven_item_learr_unconscious, s);
 
            end;
 
        end;
 
    end;
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_1');
 
        kh_vroom('Глубже в ущелье', 'ven_ravine_3');
 
    };
 
}
 

	
 
ven_ravine_3 = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Ущелье';
 
    underwater = true;
 
    dsc = [[Ущелье сужается до двух метров. Отвесные скалы слева и справа от вас тянутся вверх на сотни метров. Вода здесь необычно мутная. ]];
 
    entered = function(s)
 
        ven_learr_ill = true;
 
    end;
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_2');
 
        kh_vroom('Глубже в ущелье', function(s)
 
            if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and char_learr.follow then
 
                if ven_dead_navjiarr.state == 0 then
 
                    if s.state == 0 then
 
                        pr [[Леарр останавливается рядом с лежащими навьярами. ]];
 
                        s.state = 1;
 
                    else
 
                        pr [[Леарр жестом просит вас подойти. ]];
 
                    end;
 
                else
 
                    pr [[Леарр не пойдет с вами в этом направлении. ]];
 
                end;
 
                return false;
 
            else
 
                return 'ven_ravine_4';
 
            end;
 
        end);
 
    };
 
    obj = {
 
        'ven_dead_navjiarr';
 
    };
 
}
 

	
 
ven_ravine_learr_dlg_1 = dlg {
 
    nam = 'Леарр';
 
    entered = [[Леарр тяжело опускается на дно. Некоторое время она сидит так, жабры активно раздуваются -- ей, очевидно, тяжело дышать. Наконец, навьяресса приходит в себя. По ее плавникам бегут цветные полосы: "Все в порядке, идем". ]];
 
    phr = {
 
        {tag="generic"};
 
        {'[Кодировщик]Ты уверена, что можешь идти?', [[Леарр молча кивает.]]};
 
        {'[Кодировщик]Возвращайся на Левиафан.', [[Леарр отрицательно мотает головой со словами: "Я в порядке. Идем дальше"]], code [[psub('return');]]};
 
        {'[Кодировщик]Идем дальше.', [[Леарр молча кивает.]], code [[back();]]};
 
        {tag='return'};
 
        {'[Кодировщик]Я не могу рисковать своим экипажем. Возвращайся на Левиафан.', [[Леарр молча кивает и отправляется на Левиафан. ]], code [[
 
            ven_learr_sent_away = true;
 
            char_learr:accompany(false);
 
            back();
 
        ]]};
 
        {'[Кодировщик]Идем дальше.', [[Леарр молча кивает.]], code [[back();]]};
 
    };
 
}
 

	
 
ven_dead_navjiarr = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'ven_dead_navjiarr';
 
    dsc = [[На полу ущелья неподвижно лежат несколько {навьяров}. ]];
 
    act = function(s)
 
        s.state = 1;
 
        pr [[Несколько навьяров лежат на земле. Они мертвы. ]];
 
        if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and char_learr.follow then
 
            walkin('ven_ravine_learr_dlg_2');
 
        end;
 
    end
 
}
 

	
 
ven_ravine_learr_dlg_2 = dlg {
 
    nam = 'Леарр';
 
    entered = function(s)
 
        ven_learr_ill = true;
 
        ven_learr_ill_heavy = true;
 
        psub("generic");
 
        return [[Леарр опускается на землю рядом с одним из навьяров, чтобы рассмотреть его получше. Внезапно, она резко поворачивается к вам. По ее плавникам бегут цветные полосы: "Нам нужно уходить. Ирфирр убил их". ]];
 
    end;
 
    phr = {
 
        {tag='generic'};
 
        {'[Кодировщик]Ирфирр?', [[По головным плавникам Леарр бегут цветные полосы: "Ирфирр берет начало из камней. Если дышать им достаточно долго, то сперва чувствуешь усталость, а через некоторое время умираешь". ]]};
 
        {'[Кодировщик]Мы возвращаемся на Левиафан.', [[Леарр молча кивает. ]], code [[back();]]};
 
        {'[Кодировщик]Возвращайся на Левиафан. ', [[Леарр уходит. ]], code [[
 
            ven_learr_sent_away = true;
 
            char_learr:accompany(false);
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'learr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            remove(char_learr, where(char_learr));
 
            put(ven_item_learr_unconscious, ven_ravine_2);
 
            back();
 
        ]]};
 
        {'[Передатчик]Левиафан, прием. Я отправляю Леарр к вам. Отправьте кого-нибудь на встречу.', [[В динамиках вы слышите голос Уолтера Рэдклиффа: "Левиафан на связи. Вас понял, Дрейк. Левиафан, конец связи."]], code [[psub('leviathan');]]};
 
        {tag='leviathan'};
 
        {'[Кодировщик]Возвращайся на Левиафан. Я пойду дальше. Тебя встретит человек с Левиафана.', [[Леарр уходит. ]], code [[
 
            ven_learr_met = true;
 
            ven_learr_sent_away = true;
 
            char_learr:accompany(false);
 
            for i = 1, #pl.party do
 
                if pl.party[i] == 'learr' then
 
                    table.remove(pl.party, i);
 
                    break;
 
                end;
 
            end;
 
            remove(char_learr, where(char_learr));
 
            back();
 
        ]]};
 
    };
 
}
 

	
 
ven_ravine_4 = room {
 
    nam = 'Ущелье';
 
    underwater = true;
0 comments (0 inline, 0 general)