Changeset - 41d579206a5d
[Not reviewed]
default
0 1 0
Silverwing - 6 years ago 2018-09-29 19:06:40

chapter 2: venaedanotrr in progress
1 file changed with 9 insertions and 3 deletions:
0 comments (0 inline, 0 general)
journey_venaedanotrr.lua
Show inline comments
 
@@ -214,331 +214,337 @@ ven_char_librarian_dlg = dlg {
 
        {"[Помахать рукой перед глазами навьяра]", [[Навьяр не меняет ни позы ни направления взгляда. По его плавникам бегут цветные полосы: "Я вас вижу. Говорите". ]], code [[ psub("intro_c"); ]]};
 

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

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

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

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

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

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

	
 
ven_cartographers_guild = room {
 
    nam = 'ven_cartographers_guild';
 
    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; ven_ravine_known = true; ]]};
 
        {"[Кодировщик]До новых встреч", always=True, [[По плавникам Неаверра бегут цветные полосы: "Ты возвращайся". ]]};
 
    };
 
}
 

	
 
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; ven_ravine_known = true; ]]};
 
        {"[Кодировщик]До новых встреч", always=True, [[По плавникам Арнрьярра бегут цветные полосы: "Ты возвращайся". ]]};
 
    };
 
}
 

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

	
 
ven_ravine_entrance = room {
 
    nam = 'Ущелье, вход';
 
    dsc = [[Вы находитесь на небольшой открытой площадке в одном из концов ущелья. Со всех сторон над вами нависают скалы. Перед вами расщелина резко сужается до нескольких метров. Левиафан не сможет проплыть там, но вы сможете пройти. ]];
 
    way = {
 
        kh_vroom('В Левиафан', 'leviathan_airlock');
 
        kh_vroom('Глубже в ущелье', 'ven_ravine_1');
 
    }
 
}
 

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

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

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

	
 
ven_ravine_2 = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Ущелье';
 
    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);
 
                put();
 
                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 = 'Ущелье';
 
    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
 
                    pr [[Леарр останавливается рядом с лежащими навьярами. ]];
 
                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.follow = 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.follow = false; back(); ]]};
 
        {'[Передатчик]Левиафан, прием. Я отправляю Леарр к вам. Отправьте кого-нибудь на встречу.', [[В динамиках вы слышите голос Уолтера Рэдклиффа: "Левиафан на связи. Вас понял, Дрейк. Левиафан, конец связи."]], code [[psub('leviathan');]]};
 
        {tag='leviathan'};
 
        {'[Кодировщик]Возвращайся на Левиафан. Я пойду дальше. Тебя встретит человек с Левиафана.', [[Леарр уходит. ]], code [[ven_learr_met = true; ven_learr_sent_away = true; char_learr.follow = false; back();]]};
 
    };
 
}
 

	
 
ven_ravine_4 = room {
 
    nam = 'Ущелье';
 
    dsc = [[Здесь ущелье заканчивается. В скале слева вы видите массивную металлическую дверь. ]];
 
    obj = {
 
        'ven_ravine_gratings',
 
        'ven_phanearr_unconscious'
 
    };
 
    way = {
 
        kh_vroom('Назад', 'ven_ravine_3');
 
        kh_vroom('В дверь', function(s)
 
            pr [[Вы не знаете, как открыть эту дверь. ]];
 
            return false;
 
        end);
 
    };
 
}
 

	
 
ven_ravine_gratings = obj {
 
    nam = 'ven_ravine_gratings';
 
    dsc = [[В дно ущелья вмонтировано несколько {решеток}, через которые просачивается темнозеленая жидкость, медленно растворяющаяся в окружающей воде. ]];
 
}
 

	
 
ven_phanearr_unconscious = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'ven_phanearr_unconscious';
 
    disp = 'Навьяр';
 
    dsc = [[Рядом с дверью неподвижно лежит {навьяр}.]];
 
    act = function(s)
 
        if s.state == 0 then
 
            s.state = 1;
 
            return [[Присмотревшись, вы понимаете, что навьяр еще жив. ]];
 
        else
 
            if have(ven_item_learr_unconscious) then
 
                return [[Вы не сможете унести двоих навьяров. Вам придется вернуться за ним позже. ]];
 
            else
 
            remove(ven_phanearr_unconscious, here());
 
            put(ven_phanearr_unconscious, pl);
 
            return [[Вы поднимаете неподвижного навьяра на руки. ]];
 
        end;
 
    end;
 
    end;
 
    inv = [[Навьяр без сознания. Он едва дышит. ]];
 
}
 

	
 
ven_item_learr_ill = obj {
 
    nam = 'ven_item_learr_ill';
 
ven_item_learr_unconscious = obj {
 
    nam = 'ven_item_learr_unconscious';
 
    disp = 'Леарр';
 
    dsc = [[Прямо посередине ущелья лежит {Леарр}. Она без сознания. ]];
 
    tak = function(s)
 
        if have(ven_phanearr_unconscious, pl) then
 
            pr [[Вы не сможете унести двоих навьяров. Вам придется вернуться за Леарр позже. ]];
 
            return false;
 
        end;
 
        return [[Вы поднимаете Леарр на руки. ]];
 
    end;
 
    inv = [[Леарр без сознания. Она едва дышит. ]];
 
}
 
\ No newline at end of file
0 comments (0 inline, 0 general)