Changeset - 62388ae47422
[Not reviewed]
default
0 3 0
Silverwing - 6 years ago 2018-12-22 14:26:29

Chapter 1: Learr and jack intro changes
3 files changed with 12 insertions and 6 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -574,769 +574,769 @@ atl_terra_main_corridor = room {
 
    nam = "Атлантида, Терра, главный коридор";
 
    dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в мастерские. Вдоль стен стоят множество ящиков. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
    way = {
 
        kh_vroom("В мастерскую A", "atl_terra_workshop_a");
 
        kh_vroom("В мастерскую B", "atl_terra_workshop_b");
 
        kh_vroom("В мастерскую C", "atl_terra_workshop_c");
 
        kh_vroom("В мастерскую D", "atl_terra_workshop_d");
 
        kh_vroom("В секцию Солис", function()
 
            if (atl_fta_state == 1) then
 
                return "atl_fta_is_terra_solis";
 
            else
 
                pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
                return false;
 
            end;
 
        end);
 
kh_vroom("В секцию Доминус", "atl_intersection_terra_dom");
 
    };
 
    obj = {
 
        "atl_nih_tube_container";
 
        "atl_nih_boxes_terra";
 
    };
 
};
 
 
atl_terra_workshop_a = room {
 
    nam = "Атлантида, мастерская А";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        item_electric_lamp:disable(),
 
        "char_michael_wright"
 
    };
 
};
 
 
atl_terra_workshop_b = room {
 
    nam = "Атлантида, мастерская B";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "char_radcliffe_atlantis"
 
    };
 
};
 
 
atl_terra_workshop_c = room {
 
    nam = "Атлантида, мастерская C";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "char_leroy"
 
    };
 
};
 
 
atl_terra_workshop_d = room {
 
    nam = "Атлантида, мастерская D";
 
    dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        "item_dynamo";
 
    };   
 
};
 
 
atl_intersection_oculus_dom = room {
 
    nam = "Атлантида, межсекционный коридор";
 
    dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]];
 
    way = {
 
        kh_vroom("В секцию \"Окулус\"", "atl_oculus_main_corridor");
 
        kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_oculus");
 
    };
 
    obj = {
 
        "atl_illuminators",
 
        "atl_intersect_phone",
 
        "atl_intersect_suit"  
 
    };
 
};
 
 
atl_oculus_main_corridor = room {
 
    var {
 
        first_visit = true;
 
    };
 
    nam = "Атлантида, Окулус, главный коридор";
 
    dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в лаборатории. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]];
 
    enter = function(s)
 
        if (s.first_visit) then
 
            s.first_visit = false;
 
            walkin("atlantis_learr_intro");
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В лабораторию A", "atl_oculus_lab_a");
 
        kh_vroom("В лабораторию B", "atl_oculus_lab_b");
 
        kh_vroom("В лабораторию C", "atl_oculus_lab_c");
 
        kh_vroom("В библиотеку", "atl_oculus_library");
 
        kh_vroom("В секцию Аэрис", function()
 
            pr("Люк наглухо задраен. Вы не сможете его открыть. ");
 
            return false;
 
        end);
 
        kh_vroom("В секцию Доминус", "atl_intersection_oculus_dom");
 
    };
 
    obj = {
 
        "atl_nih_panel_oculus"
 
    };
 
};
 
 
atl_oculus_lab_a = room {
 
    nam = "Атлантида, Окулус, лаборатория A";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_svetlova"
 
    };
 
};
 
 
atl_oculus_lab_b = room {
 
    nam = "Атлантида, Окулус, лаборатория B";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_winterlight"
 
    };
 
};
 
 
atl_oculus_lab_c = room {
 
    nam = "Атлантида, Окулус, лаборатория C";
 
    dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_ryveerr",
 
        "char_anna_atlantis",
 
        "char_evans"
 
    };
 
};
 
 
atl_oculus_library = room {
 
    nam = "Атлантида, Окулус, библиотека";
 
    dsc = [[Рядом со входом в библиотеку расположен небольшой столик, на котором покоится каталог. Практически все пространство комнаты занято высокими стеллажами, заполненными книгами, журналами и документами. ]];
 
    way = {
 
        kh_vroom("В коридор", "atl_oculus_main_corridor");
 
    };
 
    obj = {
 
        "char_legrand"
 
    };
 
};
 
 
atl_dom_lift = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Атлантида, лифт";
 
    dsc = [[Герметичная кабина лифта, рассчитанная на 5-6 человек. ]];
 
    way = {
 
        kh_vroom("Выйти", function()
 
            if (atl_dom_lift.state == 0) then
 
                return "atl_dom_main_c";
 
            else
 
                return "atl_ignis_main_center";
 
            end;
 
        end);
 
    };
 
    obj = {
 
        "atl_lift_lever"
 
    };
 
};
 
 
atl_lift_lever = obj {
 
    nam = "Рычаг";
 
    dsc = [[На стене укреплен массивный {рычаг}, повернув который, вы приведете в движение механизм лифта. ]];
 
    act = function(s)
 
        if (atl_dom_lift.state == 1) then
 
            atl_dom_lift.state = 0;
 
            return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно опускающих кабину лифта. ]];
 
        else
 
            atl_dom_lift.state = 1;
 
            return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно поднимающих кабину лифта. ]];
 
        end;
 
    end;
 
};
 
 
--[[
 
Персонажи
 
]]
 
 
char_darkstar = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
    nam = "Винсент Даркстар";
 
    dsc = function(s)
 
        if (char_darkstar_dlg.state == 0) then
 
            return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        else
 
            return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        end;
 
    end;   
 
    dlg = "char_darkstar_dlg";
 
};
 
 
char_moreau = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
    nam = "Фредерик Моро";
 
    dsc = function(s)
 
        if (char_moreau_dlg.state == 0) then
 
            return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]];
 
        else
 
            return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]];
 
        end;
 
    end;   
 
    dlg = "char_moreau_dlg";
 
};
 
 
char_svetlova = npc {
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
    nam = "Екатерина Светлова";
 
    dsc = function(s)
 
        if (char_svetlova_dlg.state == 0) then   
 
            return [[За столом сидит {женщина} лет сорока-пяти. Золотистые волосы собраны в пучок на затылке. Она одета в простое синее платье. В правой руке она держит карандаш, которым периодически делает пометки в бумагах, лежащих на столе. Кажется, она не обращает на вас никакого внимания. ]];
 
        else
 
            return [[За столом сидит {Екатерина Светлова}. Периодически она делает какие-то пометки карандашом в бумагах, лежащих на столе. ]];
 
        end;
 
    end;
 
    dlg = "char_svetlova_dlg";
 
};
 
 
char_anna_atlantis = npc {
 
    nam = "Анна Рэдклифф";
 
    disp = "Анна Рэдклифф";
 
    dsc = function(s)
 
        if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
            if (char_anna_atlantis_dlg.state == 0) then
 
                return [[{Девушка} лет двадцати-пяти--тридцати внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            else
 
                return [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            end;         
 
        else
 
            if (char_anna_atlantis_dlg.state == 0) then      
 
                return [[{Девушка} лет тридцати внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            else
 
                return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            end;         
 
        end;
 
    end;
 
    dlg = "char_anna_atlantis_dlg";
 
};
 
 
char_learr_atlantis = npc {
 
    var {
 
        offended = false;
 
    };
 
    nam = "Леарр";
 
    dsc = function(s)
 
        if stead.deref(here()) == "atl_oculus_library" then
 
            return [[{Леарр} сидит за одним из столов, листая какую-то книгу. ]];
 
        elseif stead.deref(here()) == "atl_oculus_library" then
 
            return [[{Леарр} спокойно стоит рядом с Екатериной Светловой. ]];
 
        else
 
            if (stead.deref(where(char_jack_wright_atlantis)) == atl_ignis_hall_a) then
 
                return [[{Леарр} стоит перед иллюминатором и что-то рассказывает ]];
 
            else
 
                return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]];
 
            end;
 
        end;
 
    end;
 
    dlg = function(s)
 
        if stead.deref(where(s)) == atl_oculus_lab_a then
 
            return "char_svetlova_dlg";
 
        else
 
            return "char_learr_atlantis_dlg";
 
        end;
 
    end;
 
};
 
 
char_aikerjarr = npc {
 
    nam = "Аикерьярр";
 
    dsc = function(s)
 
        if (char_aikerjarr_dlg.state == 0) then
 
            return [[У одного из столов неподвижно стоит {навьяр}. ]];
 
        else
 
            return [[У одного из столов неподвижно стоит {Аикерьярр}. ]];
 
        end;      
 
    end;
 
    dlg = "char_aikerjarr_dlg";
 
};
 
 
char_ryveerr = npc {
 
    var {
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        atlantis_asked = 0;
 
        aikerjarr_asked = 0;
 
    };
 
    nam = "Ривеерр";
 
    dsc = function(s)
 
        if (char_ryveerr_dlg.state == 0) then
 
            return [[У одного из столов стоит {навьяр} и что-то рассказывает. ]];
 
        else
 
            return [[У одного из столов стоит {Ривеерр} и что-то рассказывает. ]];
 
        end;
 
    end;
 
    dlg = "char_ryveerr_dlg";
 
};
 
 
char_evans = npc {
 
    nam = "Кристиан Эванс";
 
    dsc = function(s)
 
        if (char_evans_dlg.state == 0) then
 
            return [[Там же стоит пожилой {мужчина} с блокнотом и делает какие-то записи. ]];
 
        else
 
            return [[Там же стоит {Кристиан Эванс} с блокнотом и делает какие-то записи. ]];
 
        end;
 
    end;
 
    dlg = "char_evans_dlg";
 
};
 
 
char_winterlight = npc {
 
    nam = "Сильвия Уинтерлайт";
 
    dsc = function(s)
 
        if (char_winterlight_dlg.state == 0) then
 
            return [[{Женщина} лет тридцати-пяти--сорока стоит, склонишись над картой. Длинные темные волосы спадают на плечи. Она одета в длинную черную юбку и серую блузку. Ее серые глаза внимательно изучают документ, лежащий перед ней. ]];
 
        else
 
            return [[{Сильвия Уинтерлайт} стоит возле одного из столов, рассматривая карту. ]];
 
        end;
 
    end;   
 
    dlg = "char_winterlight_dlg";
 
};
 
 
char_jack_wright_atlantis = npc {
 
    nam = "Джек Райт";
 
    dsc = function(s)
 
        if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
            return [[{Джеку Райт}, стоящему рядом. ]];
 
            return [[{Джеку Райту}, стоящему рядом. ]];
 
        else
 
            return [[{Джек Райт} лежит на койке, листая какую-то книгу. Рядом лежит блокнот, в котором он время от времени он делает пометки карандашом. ]];
 
        end;
 
    end;
 
    dlg = "char_jack_wright_atlantis_dlg";
 
};
 
 
char_michael_wright = npc {
 
    nam = "Майкл Райт";
 
    var {
 
        drake_asked = 0;
 
        black_asked = 0;
 
        darkstar_asked = 0;
 
        svetlova_asked = 0;
 
        moreau_asked = 0;
 
        wright_asked = 0;
 
        leroy_asked = 0;
 
        jones_asked = 0;
 
        goldman_asked = 0;
 
        atlantis_asked = 0;
 
        navjiarr_asked = 0;
 
        learr_asked = 0;
 
        ryveerr_asked = 0;
 
        aikerjarr_asked = 0;
 
        jack_asked = 0;
 
    };   
 
    dsc = function(s)
 
        return [[{Майкл Райт} просматривает какие-то чертежи. ]];
 
    end;
 
    dlg = "char_michael_wright_dlg";
 
};
 
 
char_legrand = npc {
 
    nam = "Мари Легран";
 
    dsc = function(s)
 
        if (char_legrand_dlg.state == 0) then
 
            return [[На стуле в углу сидит {женщина} лет сорока--сорока-пяти и листает какую-то книгу.]];
 
        else
 
            return [[На стуле в углу сидит {Мари Легран} и листает какую-то книгу. ]];
 
        end;   
 
    end;   
 
    dlg = "char_legrand_dlg";
 
};
 
 
char_radcliffe_atlantis = npc {
 
    nam = "Уолтер Рэдклифф";
 
    dsc = function(s)
 
        if (char_radcliffe_atlantis_dlg.state == 0) then
 
            return [[{Человек} лет сорока--сорока-пяти стоит, навалившись на стену. ]];
 
        else
 
            return [[{Уолтер Рэдклифф} стоит, навалившись на стену. ]];
 
        end;
 
    end;
 
    dlg = "char_radcliffe_atlantis_dlg";
 
};
 
 
char_page = npc {
 
    nam = "Фрэнсис Пейдж";
 
    dsc = function(s)
 
        if (char_page_dlg.state == 0) then
 
            return [[Пожилой {мужчина} в рабочей одежде осматривает Наутилус. ]];
 
        else
 
            return [[{Фрэнсис Пейдж} осматривает Наутилус. ]];
 
        end;   
 
    end;   
 
    dlg = "char_page_dlg";
 
};
 
 
char_leroy = npc {
 
    nam = "Мишель Леруа";
 
    dsc = function(s)
 
        if (char_leroy_dlg.state == 0) then
 
            return [[{Мужчина} лет пятидесяти работает над каким-то чертежом. ]];
 
        else
 
            return [[{Мишель Леруа} работает над каким-то чертежом. ]];
 
        end;
 
    end;   
 
    dlg = "char_leroy_dlg";
 
};
 
 
char_goldman = npc {
 
    nam = "Леонард Голдман";
 
    dsc = function(s)
 
        if (char_goldman_dlg.state == 0) then
 
            return [[На койке, закинув руки за голову, лежит светловолосый {мужчина} лет пятидесяти. ]];
 
        else
 
            return [[На койке, закинув руки за голову, лежит {Леонард Голдман}. ]];
 
        end;   
 
    end;   
 
    dlg = "char_goldman_dlg";
 
};
 
 
char_jones = npc {
 
    var {
 
        on_atlantis = 0;
 
    };
 
    nam = "Чарли Джонс";
 
    dsc = function(s)
 
        if (char_jones_dlg.state == 0) then
 
            return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        else
 
            return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        end;
 
    end;
 
    dlg = "char_jones_dlg";
 
};
 
 
atl_item_tube_spec = obj {
 
    nam = "atl_item_tube_spec";
 
    disp = "Документация по воздуховодам Атлантиды";
 
    inv = [[Внушительной толщины книжка описывает все особенности и случаи применения различных труб в качестве воздуховодов на станции. Пролистав ее, вы узнаете, что всего существует четыре типа соединения, маркируемые соответственно: RT, KT, NF и TQ. Полная маркировка трубы состоит из типа, длины, указываемой в дециметрах и диаметра, указываемого в миллиметрах. Например RT-17-7 означает трубку RT с длиной 17 дециметров и диаметром 7 миллиметров. Согласно документации, трубы каждого типа можно соединять только с трубами такого же типа, однако на последней странице вы замечаете карандашные пометки: ^При необходимости, можно заменять трубы одного типа на другой с учетом следующих правил: ^KT -> RT -- Диаметр на 1 меньше. ^NF -> KT -- Диаметр на 1 больше. ^TQ -> NF -- Диаметр на 2 больше. ^Другие замены недопустимы и могут вызвать поломки. ]];
 
};
 
 
atl_nih_tubes_gen = function(nam, dsc, tube_type, tube_len, tube_d)
 
    return obj {
 
        var {
 
            broken = false;
 
            fixed = false;
 
        };
 
        tube_type = tube_type;
 
        tube_len = tube_len;
 
        tube_d = tube_d;
 
        nam = nam;
 
        dsc = dsc;
 
        act = function(s)
 
            if (s.fixed) then
 
                return "Трубы в порядке. ";
 
            elseif (s.broken) then
 
                return "Трубы повреждены и воздух со слабым шипением вырывается из них. На трубе имеется маркировка: " .. tube_type .. "-" .. tube_len .. "-" .. tube_d;
 
            else
 
                return "Трубы в порядке. ";
 
            end;
 
        end;
 
        used = function(s, o)
 
            if s.broken and not s.fixed and o.is_tube and o.l == s.tube_len then
 
                print(s.tube_type, s.tube_d, o.t, o.d);
 
                local f = false;
 
                if o.t == s.tube_type and o.d == s.tube_d then
 
                    remove(o, pl);
 
                    s.fixed = true;
 
                    for i = 1, #nih_tubes_array do
 
                        f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed);
 
                    end;
 
                    if f then
 
                        atl_nih_state = 2;
 
                    end;
 
                    return "Вы заменяете поврежденный фрагмент трубы. ";
 
                elseif s.tube_type == "KT" and o.t == "RT" and o.d + 1 == s.tube_d then
 
                    remove(o, pl);
 
                    s.fixed = true;
 
                    for i = 1, #nih_tubes_array do
 
                        f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed);
 
                    end;
 
                    if f then
 
                        atl_nih_state = 2;
 
                    end;
 
                    return "Вы заменяете поврежденный фрагмент трубы. ";
 
                elseif s.tube_type == "NF" and o.t == "KT" and o.d - 1 == s.tube_d then
 
                    remove(o, pl);
 
                    s.fixed = true;
 
                    for i = 1, #nih_tubes_array do
 
                        f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed);
 
                    end;
 
                    if f then
 
                        atl_nih_state = 2;
 
                    end;
 
                    return "Вы заменяете поврежденный фрагмент трубы. ";
 
                elseif s.tube_type == "TQ" and o.t == "NF" and o.d - 2 == s.tube_d then
 
                    remove(o, pl);
 
                    s.fixed = true;
 
                    for i = 1, #nih_tubes_array do
 
                        f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed);
 
                    end;
 
                    if f then
 
                        atl_nih_state = 2;
 
                    end;
 
                    return "Вы заменяете поврежденный фрагмент трубы. ";
 
                end;
 
            end;
 
        end;
 
    };
 
end;
 
 
atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. ]], "RT", 12, 8);
 
 
atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "RT", 11, 9);
 
 
atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "RT", 15, 7);
 
 
atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "KT", 12, 6);
 
 
atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]], "NF", 13, 7);
 
 
atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_terra", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]], "NF", 15, 9);
 
 
atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "KT", 13, 7);
 
 
atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "NF", 9, 8);
 
 
atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "NF", 12, 6);
 
 
atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "KT", 11, 5);
 
 
atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "KT", 11, 7);
 
 
atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 11, 7);
 
 
atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 14, 4);
 
 
atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 10, 5);
 
 
atl_nih_panel_near_a = obscured_obj("atl_nih_panel_near_a", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_a", true);
 
 
atl_nih_panel_near_admin = obscured_obj("atl_nih_panel_near_admin", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_admin", true);
 
 
atl_nih_panel_near_luna = obscured_obj("atl_nih_panel_near_luna", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_luna", true);
 
 
atl_nih_panel_oculus = obscured_obj("atl_nih_panel_oculus", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_oculus", true);
 
 
atl_nih_boxes_near_oculus = obscured_obj("atl_nih_boxes_near_oculus", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_oculus", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_near_terra = obscured_obj("atl_nih_boxes_near_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_terra = obscured_obj("atl_nih_boxes_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_tube_container = obj {
 
    nam = "atl_nih_tube_container";
 
    dsc = [[Крышка одного из {ящиков} снята и вы видите внутри несколько труб. ]];
 
    act = function (s)
 
        walkin("atl_nih_tube_container_inv");
 
    end;
 
};
 
 
atl_nih_tube_container2 = obj {
 
    nam = "atl_nih_tube_container2";
 
    dsc = [[У одной из стен аккуратно сложены несколько {труб}. ]];
 
    act = function (s)
 
        walkin("atl_nih_tube_container2_inv");
 
    end;
 
};
 
 
tube = function(table)
 
    table.is_tube = true;
 
    table.dsc = "{" .. table.t .. "-" .. table.l .. "-" .. table.d .. "}^";
 
    table.inv = "Труба маркированная " .. table.t .. "-" .. table.l .. "-" .. table.d ;
 
    table.disp = "Труба " .. table.t .. "-" .. table.l .. "-" .. table.d ;
 
    table.tak = "Вы забираете трубу. ";
 
    return obj(table);
 
end;
 
 
tube_rt_12_8 = tube { nam = "tube_rt_12_8"; t = "RT"; l = 12; d = 8; };
 
tube_rt_11_9 = tube { nam = "tube_rt_11_9"; t = "RT"; l = 11; d = 9; };
 
tube_rt_15_7 = tube { nam = "tube_rt_15_7"; t = "RT"; l = 15; d = 7; };
 
tube_rt_12_5 = tube { nam = "tube_rt_12_5"; t = "RT"; l = 12; d = 5; };
 
tube_rt_13_6 = tube { nam = "tube_rt_13_6"; t = "RT"; l = 13; d = 6; };
 
tube_rt_11_4 = tube { nam = "tube_rt_11_4"; t = "RT"; l = 11; d = 4; };
 
tube_rt_11_6 = tube { nam = "tube_rt_11_6"; t = "RT"; l = 11; d = 6; };
 
tube_kt_13_8 = tube { nam = "tube_kt_13_8"; t = "KT"; l = 13; d = 8; };
 
tube_kt_15_10 = tube { nam = "tube_kt_15_10"; t = "KT"; l = 15; d = 10; };
 
tube_kt_9_9 = tube { nam = "tube_kt_9_9"; t = "KT"; l = 9; d = 9; };
 
tube_kt_12_7 = tube { nam = "tube_kt_12_7"; t = "KT"; l = 12; d = 7; };
 
tube_nf_16_7 = tube { nam = "tube_nf_16_7"; t = "NF"; l = 16; d = 7; };
 
tube_nf_11_7 = tube { nam = "tube_nf_11_7"; t = "NF"; l = 11; d = 7; };
 
tube_nf_12_9 = tube { nam = "tube_nf_12_9"; t = "NF"; l = 12; d = 9; };
 
tube_nf_15_7 = tube { nam = "tube_nf_15_7"; t = "NF"; l = 15; d = 7; };
 
tube_rt_12_6 = tube { nam = "tube_rt_12_6"; t = "RT"; l = 12; d = 6; };
 
tubes_terra = {
 
    tube_rt_12_8;
 
    tube_rt_11_9;
 
    tube_rt_15_7;
 
    tube_rt_12_5;
 
    tube_rt_13_6;
 
    tube_rt_11_4;
 
    tube_rt_11_6;
 
    tube_kt_13_8;
 
    tube_kt_15_10;
 
    tube_kt_9_9;
 
    tube_kt_12_7;
 
    tube_nf_16_7;
 
    tube_nf_11_7;
 
    tube_nf_12_9;
 
    tube_nf_15_7;
 
    tube_rt_12_6;
 
};
 
 
atl_nih_tube_container_inv = room {
 
    nam = "atl_nih_tube_container_inv";
 
    disp = "Атлантида, Терра, главный коридор";
 
    dsc = [[В ящике сложены трубы различных диаметров и размеров. Все трубы промаркированы:]];
 
    way = {
 
        kh_vroom("Отойти от ящика", "atl_terra_main_corridor");
 
    };
 
    obj = {
 
        
 
    };
 
};
 
 
tube_nf_14_6 = tube { nam = "tube_nf_14_6"; t = "NF"; l = 14; d = 6; };
 
tube_nf_10_7 = tube { nam = "tube_nf_10_7"; t = "NF"; l = 10; d = 7; };
 
tube_nf_11_9 = tube { nam = "tube_nf_11_9"; t = "NF"; l = 11; d = 9; };
 
tube_nf_14_7 = tube { nam = "tube_nf_14_7"; t = "NF"; l = 14; d = 7; };
 
tube_tq_14_6 = tube { nam = "tube_tq_14_6"; t = "TQ"; l = 14; d = 6; };
 
tube_tq_17_5 = tube { nam = "tube_tq_17_5"; t = "TQ"; l = 17; d = 5; };
 
tube_rt_12_7 = tube { nam = "tube_rt_12_7"; t = "RT"; l = 12; d = 7; };
 
tube_kt_13_9 = tube { nam = "tube_kt_13_9"; t = "KT"; l = 13; d = 9; };
 
 
tubes_aqua = {
 
    tube_nf_14_6;
 
    tube_nf_10_7;
 
    tube_nf_11_9;
 
    tube_nf_14_7;
 
    tube_tq_14_6;
 
    tube_tq_17_5;
 
    tube_rt_12_7;
 
    tube_kt_13_9;
 
};
 
 
atl_nih_tube_container2_inv = room {
 
    nam = "atl_nih_tube_container2_inv";
 
    disp = "Атлантида, Аква, склад B";
 
    dsc = [[У стены сложены трубы различных диаметров и размеров. Все трубы промаркированы:]];
 
    way = {
 
        kh_vroom("Отойти от ящика", "atl_aqua_warehouse_b");
 
    };
 
    obj = {
 
        
 
    };
 
};
 
 
atl_nih_tube_container:disable();
 
atl_nih_tube_container2:disable();
 
atl_nih_tubes_near_aqua:disable();
 
atl_nih_panel_near_a:disable();
 
atl_nih_panel_near_admin:disable();
 
atl_nih_panel_near_luna:disable();
 
atl_nih_boxes_near_oculus:disable();
 
atl_nih_boxes_near_terra:disable();
 
atl_nih_tubes_near_arctos:disable();
 
atl_nih_panel_oculus:disable();
 
atl_nih_boxes_terra:disable();
 
atl_nih_tubes_luna:disable();
 
atl_nih_tubes_arctos:disable();
 
atl_nih_tubes_aqua:disable();
 
atl_nih_tubes_aqua_a:disable();
 
atl_nih_tubes_aqua_b:disable();
 
 
nih_tubes_array = {
 
    atl_nih_tubes_near_aqua,
 
    atl_nih_panel_near_a,
 
    atl_nih_panel_near_admin,
 
    atl_nih_panel_near_luna,
 
    atl_nih_boxes_near_oculus,
 
    atl_nih_boxes_near_terra,
 
    atl_nih_tubes_near_arctos,
 
    atl_nih_panel_oculus,
 
    atl_nih_boxes_terra,
 
    atl_nih_tubes_luna,
 
    atl_nih_tubes_arctos,
 
    atl_nih_tubes_aqua,
 
    atl_nih_tubes_aqua_a,
 
    atl_nih_tubes_aqua_b,
 
};
 
 
nih_array = {
 
    atl_nih_tubes_near_aqua;
 
    atl_nih_tubes_near_a;
 
    atl_nih_tubes_near_admin;
 
    atl_nih_tubes_near_luna;
 
    atl_nih_tubes_near_oculus;
 
    atl_nih_tubes_near_terra;
 
    atl_nih_tubes_near_arctos;
 
    atl_nih_tubes_oculus;
 
    atl_nih_tubes_terra;
 
    atl_nih_tubes_luna;
 
    atl_nih_tubes_arctos;
 
    atl_nih_tubes_aqua;
 
    atl_nih_tubes_aqua_a;
 
    atl_nih_tubes_aqua_b;
 
    atl_nih_panel_near_a;
 
    atl_nih_panel_near_admin;
 
    atl_nih_panel_near_luna;
 
    atl_nih_panel_oculus;
 
    atl_nih_boxes_near_oculus;
atlantis_dlg.lua
Show inline comments
 
@@ -746,1096 +746,1102 @@ char_michael_wright_dlg = dlg {
 
            
 
            if (char_michael_wright.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end;
 
            if (char_michael_wright.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_michael_wright.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_michael_wright.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end;
 
        else
 
            if (char_michael_wright.drake_asked < 2) then pon("on_drake"); pon("more_questions"); end;
 
            if (char_michael_wright.black_asked < 2) then pon("on_black"); pon("more_questions"); end;
 
            if (char_michael_wright.darkstar_asked < 2) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_michael_wright.svetlova_asked < 2) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_michael_wright.moreau_asked < 2) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_michael_wright.wright_asked < 2) then pon("on_wright"); pon("more_questions"); end;
 
 
            if (char_michael_wright.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end;
 
            if (char_michael_wright.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_michael_wright.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_michael_wright.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end;
 
        end;
 
    end;
 
    
 
    enter = function(s)
 
        if dyp_quest_state == 1 and not s.dyp_quest then
 
            s.dyp_quest = true;
 
            pon('dyp_quest');
 
        end;
 
        poff('nih_fixed');
 
        if atl_nih_state == 2 or atl_nih_state == 1 then
 
            pon('nih_fixed');
 
        end;
 
        
 
        s:reset_more();
 
        
 
        if (atl_nih_state == 3 and atl_fta_state == 0) then
 
            atl_fta_state = 1;
 
            psub("fta_agree");
 
            return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. У меня есть для вас работа. Сейчас все наши бригады заняты, поэтому я прошу вас помочь с обслуживанием Солиса. Приходите туда и свяжитесь со мной по телефону, я дам вам инструкции". ]];
 
        elseif (atl_fta_state == 2) then
 
            atl_fta_state = 3;
 
            psub("fta_deb");
 
            return [[Майкл Райт протягивает вам руку: "Только благодаря вам, мы все еще здесь. Я с радостью сообщу Моро, что я за возвращение вам Левиафана". ]];
 
        else
 
            psub("generic");
 
            return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. Чем могу быть полезен?" ]];
 
        end;        
 
    end;
 
    phr = {
 
        {tag="fta_agree"};
 
        {"Хорошо, я сделаю, что смогу. ", [[Майкл Райт спрашивает: "Вы что-то еще хотели?" ]], code [[psub("generic"); ]]};
 
        {tag="fta_deb"};
 
        {"[Пожать руку] Только я все еще не знаю, куда мне следует плыть.", [[Майкл Райт кивает: "Мы сделаем все возможное, чтобы помочь вам. Светлова сказала мне, что вы помогаете ей в решении каких-то проблем с навьярами. По ее мнению, это может помочь вам в поисках". ]], code [[ psub('generic'); ]]};
 
        {"Просто верните мне Левиафан.", [[Майкл Райт с сожалением произносит: "Не все так просто. Нужно, чтобы согласие дали еще Моро, Даркстар и Светлова". ]], code [[ psub('generic'); ]]};
 
        {tag="ask_more"};
 
        {tag="on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.drake_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.drake_asked = 2;
 
                return [[Майкл Райт отвечает: "Я познакомился с вашим отцом во время нашей учебы в университете. Он никогда не относился серьезно к учебе, но уже тогда он умел собирать вокруг себя людей. Создание Вестхейвен Трансоушен было его идеей. Я помню, как мы с Моро первое время очень сомневались, стоит ли ввязываться в подобную авантюру. Дрейк активно развивал компанию, пока она существовала. Наверное, любой другой на месте Дрейка отправил бы меня лечиться, услышав мое предложение создать подводный корабль. Уильям тогда внимательно выслушал меня, задал пару вопросов и выделил деньги на проект". ]];
 
            end;
 
        end};
 
        {tag="on_jack", false, "Расскажите о своем сыне. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.jack_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.jack_asked = 2;
 
                if (atl_jack_in_party) then
 
                    return [[Майкл Райт отвечает: "Мой сын, Джек, остался на поверхности вместе с моей женой, Элис. Я оставил им дом и немаленькое состояние, в надежде, что они справятся сами. Жаль, что все так получилось. Элис умерла, а Джек потратил лучшие годы на безуспешные попытки найти меня. Спасибо, что взяли моего сына с собой". ]];
 
                else
 
                    psub("son");
 
                    return [[Майкл Райт отвечает: "Мой сын, Джек, остался на поверхности вместе с моей женой, Элис. Я оставил им дом и немаленькое состояние, так что надеюсь, что у них все хорошо". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.black_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.black_asked = 2;
 
                return [[Майкл райт отвечает: "Адриан -- университетский друг вашего отца. Он всегда уравновешивал Дрейка во многих отношениях. Там где Дрейк готов был пойти на риск, Блэк призывал к осторожности. Там где Дрейк соглашался на уступки, Блэк стоял до последнего. К слову, мою идею с субмариной Адриан не одобрил. К счастью, ваш отец все же позволил мне этим заняться". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о Винсенте Даркстаре ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.darkstar_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.darkstar_asked = 2;
 
                return [[Майкл Райт отвечает: "Я почти ничего о нем не знаю. Впрочем, не думаю, что кто-то на станции может сказать о нем что-то. Параноидальный тип. Я вообще не понимаю, как он согласился сюда пеерехать. Тогда он мне целый допрос устроил -- чуть ли не в каждую линию на чертеже тыкал и спрашивал для чего это нужно. Думаю, мне стоит гордиться, что Атлантида прошла его проверку". ]];
 
            end;
 
        end};
 
        {tag="on_svetlova", false, "Расскажите о Екатерине Светловой. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.svetlova_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.svetlova_asked = 2;
 
                return [[Майкл Райт отвечает: "Екатерина присоединилась к нам достаточно поздно -- уже после испытаний Надежды. Странно, что ей не пришла в голову идея построить Атлантиду. Впрочем, ее мало интересует техническая сторона вопроса -- она здесь чтобы изучать навьяров и не скрывает это". ]];
 
            end;
 
        end};
 
        {tag="on_moreau", false, "Расскажите о Фредерике Моро. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.moreau_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.moreau_asked = 2;
 
                return [[Майкл Райт отвечает: "Фредерик с нами с самого начала. Хотя его влияние может показаться незначительным -- многие на станции даже не слышали о нем, пока он не занял пост управляющего -- он все же делал важное дело. Благодаря ему мы смогли завершить многие проекты вовремя, ведь за все поставки материалов отвечал именно он. С управлением станцией он так же справляется неплохо, хотя здесь все гораздо проще, чем было на поверхности". ]];
 
            end;
 
        end};
 
        {tag="on_wright", false, "Расскажите о себе. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.wright_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.wright_asked = 2;
 
                if (atl_jack_in_party) then
 
                    return [[Майкл Райт отвечает: "Родился я в Лондоне. Окончил один из местных университетов, получив специальность инженера-кораблестроителя. Вместе с вашим отцом, Фредериком Моро и Адрианом Блэком мы основали Вестхейвен Трансоушен. Поначалу моя работа была далеко не идеальной -- мы купили несколько старых кораблей и привели их в порядок. Мы довольно быстро заработали хорошую репутацию. Дела шли на подъем и, наконец, у нас появились собственные верфи. К этому времени я уже имел глупость жениться. Я спроектировал несколько судов для компании. Лучшим была Огненная Стрела -- быстроходный комфортабельный пароход, вмещающий больше двух сотен пассажиров. Ну и наконец мы построили Надежду. Сказать, что мы удивилсь, когда встретили навьяров -- ничего не сказать. К сожалению, встреча не прошла бескровно -- наши люди просто вышли поговорить, показать себя. А эти рыбни закидали несчастных супругов Барнз копьями! Блэк тогда не дал мне пустить торпеду в этих уродов, и я до сих пор зол на него за это, хотя умом понимаю, что он был прав. Да и не было бы никакой Атлантиды, убей я тогда тех навьяров. Несколько месяцев мы обсуждали, что делать дальше. Потом мы с Сильвией придумали Атлантиду и переселились сюда, -- Райт вздыхает, -- В своем увлечении я позабыл обо всем. Я оставил свою жену, Элис, и сына, Джека, на поверхности. Если честно, я скорее жалею, что женился, чем что оставил их там. Это не делает мою ошибку меньше". ]];
 
                else
 
                    return [[Майкл Райт отвечает: "Родился я в Лондоне. Окончил один из местных университетов, получив специальность инженера-кораблестроителя. Вместе с вашим отцом, Фредериком Моро и Адрианом Блэком мы основали Вестхейвен Трансоушен. Поначалу моя работа была далеко не идеальной -- мы купили несколько старых кораблей и привели их в порядок. Мы довольно быстро заработали хорошую репутацию. Дела шли на подъем и, наконец, у нас появились собственные верфи. К этому времени я уже имел глупость жениться. Я спроектировал несколько судов для компании. Лучшим была Огненная Стрела -- быстроходный комфортабельный пароход, вмещающий больше двух сотен пассажиров. Ну и наконец мы построили Надежду. Сказать, что мы удивилсь, когда встретили навьяров -- ничего не сказать. К сожалению, встреча не прошла бескровно -- наши люди просто вышли поговорить, показать себя. А эти рыбни закидали несчастных супругов Барнз копьями! Блэк тогда не дал мне пустить торпеду в этих уродов, и я до сих пор зол на него за это, хотя умом понимаю, что он был прав. Да и не было бы никакой Атлантиды, убей я тогда тех навьяров. Несколько месяцев мы обсуждали, что делать дальше. Потом мы с Сильвией придумали Атлантиду и переселились сюда". ]];
 
                end;
 
            end;
 
        end};
 
        {tag="on_atlantis", false, "Расскажите об Атлантиде. ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.atlantis_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.atlantis_asked = 2;
 
                return [[Майкл Райт отвечает: "Идея построить постоянную подводную станцию пришла мне в голову через некоторое время после завершения Надежды. Думаю, что не встреть мы тогда навьяров, Дрейк не позволил бы мне заниматься этим. Но его явно заинтересовала возможность постоянного пребывания вблизи этих рыбней. Конечно, если бы не Сильвия, я никогда не смог бы сделать станцию автономной -- я долго думал, как обеспечить нас всем необходимым здесь: едой, электричеством, воздухом, инструментами. Еду и воздух мы получаем в секции Аэрис. Электричество получаем сжигая топливо нескольких видов: растения, выращиваемые в Аэрисе и уголь, выменянный у навьяров. С инструментами дела обстоят сложнее всего. Но тут нас снова выручают навьяры, с готовностью предлагая нам металл, который они не умеют обрабатывать". ]];
 
            end;
 
        end};
 
        {tag="on_navjiarr", false, "Что вы думаете о навьярах? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.navjiarr_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.navjiarr_asked = 2;
 
                return [[Майкл Райт отвечает: "Они меня мало волнуют. Хотя станция существует во многом благодаря сотрудничеству с ними, я предпочитаю поменьше общаться с ними. У меня все еще стоят перед глазами проткнутые коралловыми копьями тела Ребекки и Нила". ]];
 
            end;
 
        end};
 
        {tag="on_learr", false, "Что вы думаете о Леарр? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.learr_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.learr_asked = 2;
 
                return [[Майкл Райт отвечает: "Она часто бывает здесь. Рассматривает все, изучает. Это не может меня не радовать". ]];
 
            end;
 
        end};
 
        {tag="on_ryveerr", false, "Что вы думаете о Ривеерре? ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.ryveerr_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.ryveerr_asked = 2;
 
                return [[Майкл Райт отвечает: "Не думаю, что смогу много о нем сказать. Большую часть времени он проводит в Окулусе. Если вы хотите узнать о Ривеерре больше, советую поспрашивать там". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре ", function()
 
            if (atl_rep_wright < 0) then
 
                char_michael_wright.aikerjarr_asked = 1;
 
                return [[Майкл Райт отвечает: "Я не хочу об этом говорить". ]];
 
            else
 
                char_michael_wright.aikerjarr_asked = 2;
 
                return [[Майкл Райт отвечает: "Не думаю, что могу что-то о нем сказать. Я видел его один раз, при встрече и не могу сказать, что впечатление было благоприятным. Слишком заносчивый он". ]];
 
            end;
 
        end};
 
        {always=true, "Вернемся к делу.", [[Майкл Райт кивает: "Хорошо".]], code [[ char_michael_wright_dlg:reset_more(); pret(); ]]};
 
        {tag="generic"};
 
        {tag="mtr_solis_last", false, "Кто был в Солисе последним?", [[Райт достает записную книжку, пролистывает ее и сообщает: "Вчера обслуживанием Солиса должен был заниматься Чарли Джонс. Меня здесь не было, но вы можете уточнить у Уолтера Рэдклиффа".]], code [[ poff("mtr_on_replace"); atl_mtr_ask_radcliffe = true; ]]};
 
        {tag="mtr_on_replace", false, "Голдман говорит, что вчера его заменял Джонс. Вы можете это проверить?", [[Райт кивает и достает записную книжку. Пролистав ее он сообщает: "Да, действительно. Вчера обсулуживанием Солиса должен был заниматься Чарли Джонс. Меня здесь на было, но вы можете уточнить у Уолтера Рэдклиффа". ]], code [[ poff("mtr_solis_last"); atl_mtr_ask_radcliffe = true; ]]};
 
        {tag="mtr_on_leroy", false, "Что вы думаете о Мишеле Леруа? ", [[Майкл рассказывает: "Мишель -- хороший специалист. Он столь же сосредоточен и уверен в работе, сколь и в повседневной жизни". ]], code [[ char_michael_wright_dlg.leroy_asked = true; atl_mtr_leroy_known = true; ]]};
 
        {tag="mtr_on_jones", false, "Что вы думаете о Чарли Джонсе? ", [[Майкл рассказывает: "Чарли уже староват. Зачастую приходится искать ему менее тяжелую работу, но это компенсируется его незаурядным умом и отличным знанием устройства Атлантиды". ]], code [[ char_michael_wright_dlg.jones_asked = true; atl_mtr_jones_known = true; ]]};
 
        {tag="mtr_on_goldman", false, "Что вы думаете о Леонарде Голдмане? ", [[Майкл рассказывает: "Вас, наверное, удивляет, что такой неаккуратный и забывчивый человек как Леонард делает на станции, однако, смею вас заверить -- как специалист господин Голдман соврешенно незаменим. Когда дело касается обслуживания станции он ни разу не позволял себе оплошностей". ]], code [[ char_michael_wright_dlg.goldman_asked = true; atl_mtr_goldman_known = true; ]]};
 
        {tag="dyp_quest", false, "Вождь Дипатреанотра просил меня принести \"светящуюся капсулу\". Что мы можем ему предложить?", [[ Майкл Райт говорит: "Можете взять один из фонарей из того шкафа", -- Майкл показывает рукой на шкаф в другом конце мастерской, -- "И не забудьте захватить пару-тройку запасных батарей. Их можете взять там же". ]], code [[ item_electric_lamp:enable(); ]]};
 
        {tag="nih_fixed", false, "Я нашел утечку.", function(s)
 
            if atl_nih_state == 2 then
 
                atl_nih_state = 3; 
 
                disable_nih();
 
                atl_rep_wright = atl_rep_wright + 1;
 
                return [[Майкл Райт кивает: "Спасибо, Дрейк. Приборы показывают, что утечка устранена". ]]
 
            else
 
                return [[Майкл Райт отрицательно качает головой: "Что-то не так. Приборы показывают, что утечка все еще присутствует. Возможно, были повреждены несколько труб. Перепроверьте, пожалуйста". ]]
 
            end;
 
        end};
 
        {tag="sabotage", false, "Даркстар считает, что пожар начался из-за саботажа.", function(s)
 
            atl_rep_wright = atl_rep_wright - 1;
 
            local part1 = [[Майкл Райт недовольно ворчит: "Пожалуйста, не лезьте в это дело. За безопасность станции отвечает Винсент Даркстар и лучше будет, если он будет заниматься этим делом]];
 
            if (not atl_jack_in_party) then
 
                atl_rep_darkstar = atl_rep_darkstar - 1;
 
                return part1 .. [[Я доложу Даркстару о вашем неповиновении". ]];
 
            else 
 
                return part1 .. [[". ]];
 
            end;
 
        end};
 
        {tag="ignis_what", false, "Из-за чего начался пожар в Игнисе?", [[Майкл Райт отвечает: "Короткое замыкание. Рядом, к сожалению, никого не оказалось и потушить возгорание вовремя не удалось. Огонь быстро распространился по всей секции, ну а дальше вы все знаете". ]]};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Майкл Райт отвечает: "Задавайте, посмотрим чем смогу помочь".]], code [[ psub('ask_more'); ]]};
 
        {always=true, "Мне пора.", function(s)
 
            if (atl_nih_state == 0 and atl_jack_in_party) then
 
                atl_nih_state = 3;
 
            end;
 
            if (atl_nih_state == 0 and not atl_jack_in_party) then
 
                atl_nih_init();
 
                pr([["Кстати, у меня есть для вас небольшое задание. У нас где-то утечка воздуха. Ничего критичного, но у нас некому заняться этим. Вы могли бы прогуляться по станции и найти и исправить поломку. Проще всего будет просто заменить трубы на такие же. В случае возникновения проблем -- попросите у Мари в библиотеке документацию по воздуховодам, она даст вам все необходимое. Запасные вы найдете здесь или на складе в Акве. До встречи", -- Майкл Райт возвращается к своим делам. ]]);
 
                psub("bq");
 
            else
 
                pr([["До встречи", -- Майкл Райт возвращается к своим делам. ]]);
 
                back();
 
            end;
 
        end};
 
        {tag="bq"};
 
        {"Хорошо, я сделаю что смогу.", [["До встречи", -- Майкл Райт возвращается к своим делам. ]], code [[ back(); ]]};
 
        {tag="son"};
 
        {"Мать Джека умерла, а сам он прозябает в своем доме ничего не делая. ", [[Майкл Райт вздыхает: "Жаль, что все так вышло. Спасибо, что честно сказали мне. Наверное..."]], code[[pret();]]};
 
        {"Мать Джека умерла, но с ним все в порядке. Он все еще живет в вашем доме. ", [[Майкл Райт вздыхает: "Элис...". ]], code[[pret();]]};
 
        {"У них все хорошо. ", [[Майкл Райт кивает: "Рад это слышать". ]], code[[pret();]]}
 
    };
 
};
 
 
 
char_anna_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Анна Рэдклифф";
 
	disp = "Анна Рэдклифф";
 
    
 
    reset_more = function(s)
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "more_questions");
 
        if (rel_anna  < 0) then
 
            if (char_anna.anna_asked == 0) then
 
                pon("on_anna");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.walter_asked == 0) then
 
                pon("on_walter");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.atlantis_asked == 0) then
 
                pon("on_atlantis");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.drake_asked == 0) then
 
                pon("on_drake");
 
                pon("more_questions");
 
            end;
 
        else
 
            if (char_anna.anna_asked < 2) then
 
                pon("on_anna");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.walter_asked < 2) then
 
                pon("on_walter");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.atlantis_asked < 2) then
 
                pon("on_atlantis");
 
                pon("more_questions");
 
            end;
 
            if (char_anna.drake_asked < 2) then
 
                pon("on_drake");
 
                pon("more_questions");
 
            end;
 
        end;
 
    end;
 
    
 
	enter = function(s)
 
		s:reset_more();
 
	
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит девушка лет двадцати-пяти--тридцати. Каштановые волосы ниспадают на плечи. Зеленые глаза внимательно следят за движениями навьяра, с которым она разговаривает. Заметив вас, она просит навьяра подождать и обращается к вам: "Приветствую. Вы, должно быть, господин Дрейк? Мое имя Анна Рэдклифф". ]];
 
		else
 
			psub("generic");
 
			return [[Анна Рэдклифф разговаривает с навьяром, стоящим рядом. Заметив вас, она просит его подождать и обращается к вам: "Приветствую, вы что-то хотели?" ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Да, я Дэвид Дрейк. Рад знакомству. ", [[Анна Рэдклифф улыбается и спрашивает: "Вы что-то хотели?" ]], code = [[ psub('generic'); ]]};
 
        {tag="ask_more"};
 
        {tag="on_anna", "Расскажите о себе. ", function(s)
 
            if (rel_anna < 0) then
 
                char_anna.anna_asked = 1;
 
                return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]];
 
            else
 
                char_anna.anna_asked = 2;
 
                return [[Анна Рэдклифф грустно вздыхает: "Мне почти нечего рассказывать. Я с молодости живу здесь, на Атлантиде. Когда Уолтер сказал, что мы будем жить здесь, я сперва расстроилась -- тогда это казалось мне невероятно скучным -- жить вдалеке от цивилизации, среди людей, которые старше меня на двадцать с лишним лет. На самом деле все оказалось не столь плохо -- помимо навьяров, с которыми всегда интересно, я помогаю Екатерине и Сильвии с расшифровкой текстов или Мари в библиотеке". ]];
 
            end;
 
        end};
 
        {tag="on_walter", "Расскажите об Уолтере. ", function(s)
 
            if (rel_anna < 0) then
 
                char_anna.walter_asked = 1;
 
                return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]];
 
            else
 
                char_anna.walter_asked = 2;
 
                return [[Анна Рэдклифф отвечает: "Уолтер -- мой старший брат. Он заботится обо мне с тех пор, как мама с папой покинули нас. Хотя моя жизнь сильно изменилась, когда Уолтер забрал меня с собой на Атлантиду, я не жалею об этом". ]];
 
            end;
 
        end};
 
        {tag="on_atlantis", "Что вы думаете об Атлантиде?", function(s)
 
            if (rel_anna < 0) then
 
                char_anna.atlantis_asked = 1;
 
                return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]];
 
            else
 
                char_anna.atlantis_asked = 2;
 
                return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь столько времени. Первое время мне казалось, что мы вот-вот закончим и вернемся на поверхность,но намерения вашего отца сильно отличались от этого. Почти сразу после прибытия Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]];
 
            end;
 
        end};
 
        {tag="on_drake", "Расскажите об Уильяме Дрейке. ", function(s)
 
            if (rel_anna < 0) then
 
                char_anna.drake_asked = 1;
 
                return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]];
 
            else
 
                char_anna.drake_asked = 2;
 
                return [[Анна Рэдклифф отвечает: "Хотя Дрейк -- руководитель Атлантиды, он проводит больше времени здесь, в Окулусе, чем в своем кабинете в Доминусе. Сейчас он в экспедиции -- они с Блэком отправились на поиски отдаленных навьярских поселений". ]];
 
            end;
 
        end};
 
        {tag="on_black", "Расскажите об Адриане Блэке. ", function(s)
 
            if rel_anna < 0 then
 
                char_anna.black_asked = 1;
 
                return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]];
 
            else
 
                char_anna.black_asked = 2;
 
                return [[Анна Рэдклифф пожимает плечами: "Все вокруг говорят, что он хороший друг вашего отца, но мне почти не доводилось с ним общаться".]];
 
            end;
 
        end};
 
        {always=true, "Вернемся к делу.", [[Анна Рэдклифф кивает: "Хорошо".]], code [[ char_anna_atlantis_dlg:reset_more(); pret(); ]]};
 
		{tag="generic"};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Анна отвечает: "Да, я слушаю".]], code [[ psub('ask_more'); ]]};
 
		{always=true, "Я пойду.", [[Анна прощается с вами: "До встречи". ]], code [[ back(); ]]};
 
	};
 
};
 
 
--[[
 
    Learr
 
]]
 
atlantis_learr_intro = room {
 
    nam = "Атлантида, Окулус, Главный коридор";
 
    dsc = [[Вы выходите из межсекционного коридора в главный коридор секции _"Окулус"_ и сталкиваетесь лицом к лицу с неведомым существом. Стройное, покрытое блестящей серо-зеленой чешуей тело слегка покачивается. Рыбья голова с небольшими отростками-плавниками, тонкие ноги и руки с широкими перепонками между длинными пальцами покрыты такой же чешуей. Ярко-оранжевые глаза существа с интересом разглядывают вас. Во рту существа сверкают острые треугольные зубы. Одето оно в белую рубашку и ярко-синюю юбку до колен. На шее существа вы замечаете жабры. Отростки на голове существа принимают слабо уловимый сине-зеленый оттенок. ]];
 
    obj = {
 
        vway('continue', '{Продолжить}', 'atlantis_learr_first_dlg')
 
    };
 
};
 
 
atlantis_learr_first_dlg = dlg {
 
    nam = "Леарр";
 
    entered = [[Существо начинает говорить: "Я зздессь-рраньшше-не-видела васс". Голос звучит непривычно для вашего слуха -- гласные произносятся очень коротко, между некоторыми словами делаются резкие паузы, другие же сливаются практически в одно, шипящие и "р" произносятся удлиненно. ]];
 
    phr = {
 
        {"Кто ты?", [[Существо отвечает: "I'yhe'lea'yhe'na'vji'a'rr", -- вы отчетливо различаете короткие паузы между слогами. ]], code [[ pon('who_are_you'); ]]};
 
        {tag="who_are_you", false, "Я не понимаю, что ты говоришь.", [[Существо ненадолго застывает в замешательстве. Затем отвечает: "Я Lea'rr. Ты так-понимаешь?". ]], code [[psub('learr'); ]]};
 
        {"Аааа, монстр, помогите!!!", [[Существо скалит зубы. Плавники меняют цвет на ярко-фиолетовый. Оно рычит на вас: "Прропусти. Нет-врремени". ^Щелкнув зубами, _"Чудовище"_ уходит. ]], code [[
 
            put(char_learr_atlantis, atl_ignis_hall_a);
 
            char_learr_atlantis.offended = true;
 
            walk("atl_oculus_main_corridor");
 
        ]]};
 
        {tag="learr"};
 
        {"Рад знакомству. Я Дэвид Дрейк. ", [[Леарр переспрашивает: "Ты ззнаешшь Уильяма-Дррейка?" -- Вам кажется, вы чувствуете удивление, хотя интонации в словах существа вам совершенно чужды. ]], code [[ psub('drake') ]]};
 
        {"Что ты такое?", [[Леарр ненадолго задумывается и отвечает: "Мы себя-навьярами-называем. Мы недалеко-живем-в-нескольких-кругах-отсюда".]], code [[ pon('under_water'); ]]};
 
        {tag="under_water", false, "Под водой?", [[Леарр кивает. Через некоторое время отвечает: "Ты с-поверхности? Никогда-нас-не-видел, похоже". ]]};
 
        {tag="drake"};
 
        {"Да, я его сын. Ты знакома с ним?", [[оттенок головных плавников Леарр становится более ярким и смещается ближе к зеленому. Она отвечает: _"Да, я его-ззнаю. Уильям-Дррейк нашшу-иссторрию-иззучал. Он ссейчасс-исскать-уехал Lse'ry'anot'rr. Я что-вы-зздессь рада"_. ]], code [[ psub('follow_drake') ]]};
 
        {tag="follow_drake"};
 
        {"Я здесь из-за него. " , [[Леарр кивает: _"Я вам-как-смогу-помогу. Я в-Игниссе-буду, ессли вы говоррить-хотите"_. ^Леарр уходит, а вы остаетесь в одиночестве. ]], code [[ put(char_learr_atlantis, atl_ignis_hall_a); walk("atl_oculus_main_corridor"); ]]};
 
    };
 
};
 
 
char_learr_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Леарр";
 
	disp = "Леарр";
 
	enter = function(s)
 
        poff('iyh1', 'iyh2');
 
        if (atl_iyh_state == 1 and not atl_iyh_learr_spoken) then
 
            pon('iyh1');
 
        elseif (atl_iyh_state == 2 and ArrayUtils.indexOf(pl.party, 'learr') == 0) then
 
            pon('iyh2');
 
        end;
 
 
		if (s.state == 0) then
 
            if ArrayUtils.indexOf(pl.party, 'wright') ~= 0 and char_jack_wright_atlantis_dlg.state then
 
                pr [[Джек райт прощается с Леарр и покидает зал. ]];
 
                char_jack_wright_atlantis_dlg.state = 1;
 
                remove('char_jack_wright_atlantis', 'atl_ignis_hall_a');
 
            end;
 
			if (char_learr_atlantis.offended) then
 
				psub("offended");
 
				return [[Леарр поворачивается к вам, плавники ее становятся ярко-фиолетовыми. Она рычит: "Прриветсствую, монсстрр. Мы говоррить-будем?" ]];
 
				pr [[Леарр поворачивается к вам, плавники ее становятся ярко-фиолетовыми. Она рычит: "Прриветсствую, монсстрр. Мы говоррить-будем?" ]];
 
			else
 
				psub("friendly");
 
				return [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я прриветсствую тебя-he'vji'a'rr". ]];
 
				pr [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я прриветсствую тебя-he'vji'a'rr". ]];
 
			end;
 
		else
 
            if (rel_learr < 0) then
 
                if (char_learr.on_books == 0) then pon("on_books") end;
 
            else
 
                if (char_learr.on_books < 2) then pon("on_books") end;
 
            end;
 
            
 
			psub("generic");
 
			if (rel_learr > 0) then
 
				return [[Леарр поворачивается к вам, плавники ее принимают сине-зеленый оттенок, а она говорит: "Я рада-видеть тебя". ]];
 
			else
 
				return [[Леарр поворачивается к вам, плавники ее принимают едва заметный сине-зеленый оттенок, а она говорит: "Я приветствую тебя-he'vji'a'rr". ]];
 
			end;
 
		end;
 
	end;
 
	phr = {
 
		{tag='offended'};
 
		{"Монстр?", [[Леарр молча кивает. Оттенок головных плавников на мгновение сменяется на желтый, но затем снова становится фиолетовым: "Ты так-назвал меня. Мы будем-дальше-монстрами-называть друг-друга?" ]], code [[ psub('offended_yes_no') ]]};
 
		{tag='offended_yes_no'};
 
		{"Не думаю.", [[Леарр кивает, ее плавники медленно теряют цвет. Она говорит: "Я слушаю тебя. Ты говори". ]], code [[ 
 
            char_learr_atlantis_dlg.state = 1;
 
            walk('generic');
 
        ]]};
 
		{"От этого суть не изменится, чудище.", [[Леарр скалится, показывая блестящие острые зубки: "Ты убиррайся, пока я тебя не ссъела". ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('generic');
 
		]]};
 
		{tag='friendly'};
 
		{"He'vji'a'rr?", [[Леарр кивает: "Мы так-наззываем пришшедшших-сс-поверхноссти-васс". ]]};
 
		{"Я хотел кое-что спросить.", [["Ты говорри", -- просит Леарр. ]], code [[ 
 
			char_learr_atlantis_dlg.state = 1;
 
			walk('generic');
 
		]]};
 
		{tag="generic"};
 
		{tag="iyh1", false, "Расскажи о вашем конфликте с Дипатреанотром.", [[Леарр начинает рассказывать, активно жестикулируя: "Рреликвия нессколько-дней-наззад-изз-нашшего-хррама-прропала. Na'vji'a'yhe'dyp'atre'anot'rr вззяли нашшу-рреликвию! Они потом-в-наш-город-пришли и требовали-вернуть их-реликвию! Мы не-брали ее и это-сказали им!" -- Леарр недовольно топает и шипит, -- "Они нам-не-верят! Они украли нашу-вещь и не-верят нам!" ]], code [[ atl_iyh_learr_spoken = true; ]]};
 
        {tag="iyh2", false, "Я отправляюсь в храм Дипатреанотра. Мне не помешает твоя помощь.", [[Плавники Леарр принимают фиолетовый оттенок: "He'vji'a'rr нельзя туда!"]], code [[ psub("join_me"); ]]};
 
        {tag="books", false, "[Показать на книгу] Ты читаешь наши книги?", function(s)
 
            if (rel_learr < 0) then
 
                char_learr.on_books = 1;
 
                return [[Леарр неохотно отвечает: "Я иногда-читаю". Она явно не хочет говорить с вами об этом сейчас. ]];
 
            else
 
                char_learr.on_books = 2;
 
                psub("more_on_books");
 
                return [[Леарр отвечает: "Я иногда-читаю". Она опускает глаза на книгу, потом смотрит на вас. Немного подумав, она отвечает, как-бы нехотя: "Я не-умею-ваш-язык-читать. Я пытаюсь-учусь. Мари помогает". ]];
 
            end;
 
        end};
 
		{always=true, "Я пойду.", [[Плавники Леарр медленно теряют цвет и она прощается с вами: "Ты воззврращщайсся". ]], code [[back();]]};
 
        {tag="join_me"};
 
        {"Я не собираюсь входить внутрь, но мне нужно осмотреть его окрестности.", [[Цвет плавников Леарр меняется на оранжевый и затем на желтый. Она соглашается: "Я с-тобой-пойду. Я давно-в-Ираафаанотре-не-была". ]], code [[
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            table.insert(pl.party, 'learr');
 
            move(char_learr, char_learr.home);
 
            pret();
 
        ]]};
 
        {"Для этого ты мне и нужна.", [[Цвет плавников Леарр меняет цвет на синий. Она соглашается: "Я согласна. Я с-тобой-пойду". ]], code [[
 
            remove("char_learr_atlantis", where("char_learr_atlantis"));
 
            table.insert(pl.party, 'learr');
 
            move(char_learr, char_learr.home);
 
            pret();
 
        ]]};
 
        {tag="more_on_books"};
 
        {"Я могу помочь?", [[Леарр кивает: "Я думаю-ты-дрругим-делом-ззанят. Я не-хчочу-мешшать". ]], code[[ char_learr.on_books = 3; pret(); ]]};
 
        {"Давно ты этим занимаешься?", [[Леарр кивает: "Я с-ссамого-пррибытия-вашши-книги-учуссь-читать. Я надеюссь-вссе-пойму ссо-врременем". ]]};
 
        {"Как у тебя успехи?", [[Леарр смущенно отвечает: "Я ещще-многое-не-понимаю. Но я ссо-врременем-пойму-надеюссь". ]]};
 
        {"Давай поговорим о другом.", [[Леарр кивает: "Ты говорри". ]], code [[pret();]]};
 
    }
 
};
 
 
char_aikerjarr_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Аикерьярр";
 
	enter = function(s)
 
        poff('iyh1', 'iyh2', 'iyh4', 'iyh5');
 
        if (atl_iyh_state == 1 and not atl_iyh_aikerjarr_spoken) then
 
            pon('iyh1');
 
        elseif (atl_iyh_state == 2 and not atl_iyh2_aikerjarr_spoken) then
 
            if atl_iyh2_ryveerr_spoken then
 
                pon("iyh2_ryveerr");
 
            end;
 
            pon('iyh2');
 
        end;
 
        
 
        if (s.state == 0) then
 
            psub("first_meeting");
 
            return [[Перед вами стоит высокий стройный навьяр. Серебристая чешуя сверкает в свете электрических ламп. Неприязненный взгляд его зеленых глаз направлен на вас. Существо одето в темно-зеленые облегающие штаны и куртку из водорослей. В правой руке навьяр держит коралловое копье. ]];
 
		elseif (s.state == 1) then
 
			psub("generic");
 
		end;
 
		return [[Аикерьярр презрительно смотрит на вас, не говоря ни слова. ]];
 
	end;
 
	phr = {
 
        {tag = "first_meeting"};
 
        {always=true, "Ты Аикерьярр?", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2a"); ]]};
 
        {always=true, "Добрый день.", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr vta'lyt'nn ty'yhe'he'vji'a'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2b"); ]]};
 
        {always=true, "Приветствую.", [[Навьяр нехотя отвечает: "I'yhe'Aike'rya'yhe'iraa'pha-anot'rr vta'lyt'nn ty'yhe'he'vji'a'rr". ]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_2b"); ]]};
 
        {tag="first_meeting_2a"};
 
        {always=true, "Нам нужно поговорить.", [[Навьяр надменно бросает: "I'rr vtre'za'nn he'vji'a'za'rr".]], code [[ char_aikerjarr_dlg.state = 1; psub("first_meeting_3a");]]};
 
        {tag="first_meeting_2b"};
 
        {always=true, "Я тебя не понимаю", [[Навьяр довольно ухмыляется: "Ty'rr zee'vee'nn". ]], code [[char_aikerjarr_dlg.state = 1; psub("first_meeting_2a");]]};
 
        {always=true, "Кончай дурить, я знаю, что ты меня понимаешь.", [[Навьяр скалит зубы: "Ты-ххевьярр так-ссо-мной-не-говорри". ]], code [[ psub("first_meeting_3b");]]};
 
        {always=true, "Я приду позже.", [[Навьяр довольно ухмыляется: "Ty'rr zee'vee'nn". ]], code [[ back(); ]]};
 
        {tag="first_meeting_3a"};
 
        {always=true, "I'rr vtre'za'nn na'vji'a'za'rr. Нам все еще нужно поговорить. ", [[Навьяр вздыхает: "Ty'rr не-отсстанет. I'rr тебя-сслушшает"]], code [[ char_aikerjarr_dlg.state = 1; psub("generic"); ]]};
 
        {always=true, "Нам все еще нужно поговорить.", [[Навьяр надменно бросает: "I'rr vtre'za'nn he'vji'a'za'rr".]], code [[ back(); ]]};
 
        {always=true, "Я приду позже.", [[Навьяр довольно ухмыляется: "Ty'rr zee'vee'nn". ]], code [[ back(); ]]};
 
        {tag="first_meeting_3b"};
 
        {always=true, "Значит, ты все-таки меня понимаешь. У меня есть вопросы.",  [[Навьяр вздыхает: "Ty'rr не-отсстанет. I'rr тебя-сслушшает"]], code [[char_aikerjarr_dlg.state = 1; psub("generic")]]};
 
        {always=true, "Значит, ты все-таки меня понимаешь. Хватит тратить мое время.", [[Навьяр недовольно рычит: "Ты говорри". ]], code [[char_aikerjarr_dlg.state = 1; psub("generic")]]};
 
        {always=true, "Значит, ты все-таки меня понимаешь, чертов рыбень. Теперь слушай и отвечай.", [[Навьяр стучит копьем об пол и отворачивается от вас. ]], code [[back();]]};
 
		{tag = "generic"};
 
		{tag="iyh1", false, "Расскажи о вашем конфликте с Дипатреанотром.", [[Аикерьярр недовольно смотрит на вас:"He'vji'a'rr не-помочь". ^Немного подумав, он рассказывает: "Na'vji'a'yhe'dyp'atre'anot'rr говоррить yhe мы украссть реликвия-изз-ихх-ххррама, -- Аикерьярр злобно стучит зубами и в ярости сжимает кулаки, -- Мы не-делали-этого-ссказзали им! Но они в-ответ-на-нашш-ххррам-напали и нашши-рреликвии-вззяли!" ]], code [[ atl_iyh_aikerjarr_spoken = true; ]]};
 
        {tag="iyh2", false, "Я собираюсь в храм Дипатреанотра.", [[Аикерьярр пожимает плечами: "Ты туда-не-идешь. Ты спроси Ривеерра".]], code [[ psub("on_iyh2"); ]]}; 
 
		{always=true,"Я вернусь позже.", [[Аикерьярр отворачивается от вас, даже не удостоив ответом. ]], code [[back(); ]]};
 
        {tag="on_iyh2"};
 
        {tag="iyh2_ryveerr", false, "Ривеерр дал мне разрешение на осмотр окрестностей храма. ", [[Аикерьярр недовольно рычит: "Никчемный-глупец-Ривеерр. Я ссс-тобой-иду". ]], code [[ atl_iyh2_aikerjarr_spoken = true; table.insert(pl.party, 'aikerjarr'); move(char_aikerjarr_lev, char_aikerjarr_lev.home); psub("on_iyh22"); ]]};
 
        {always=true,"Я вернусь позже.", [[Аикерьярр отворачивается от вас, даже не удостоив ответом. ]], code [[back(); ]]};
 
        {tag="on_iyh22"};
 
        {"Хорошо.", [[Аикерьярр отворачивается от вас, не удостоив ответом. ]], code [[back(); ]]};
 
        {"Ты мне там не нужен.", [[Аиверьярр отвечает: "Я ссс-тобой-иду или ты не-идешшь-туда". ]]};
 
	};
 
};
 
 
char_ryveerr_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Ривеерр";
 
	disp = "Ривеерр";
 
    
 
    reset_more = function(s)
 
        poff("on_atlantis", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions");   
 
        if (atl_rep_dyp < 0) then
 
            if (char_ryveerr.atlantis_asked == 0) then pon("on_atlantis", "more_questions"); end;
 
            if (char_ryveerr.learr_asked == 0) then pon("on_learr", "more_questions"); end;
 
            if (char_ryveerr.ryveerr_asked == 0) then pon("on_ryveerr", "more_questions"); end;
 
        else
 
            if (char_ryveerr.atlantis_asked < 2) then pon("on_atlantis", "more_questions"); end;
 
            if (char_ryveerr.learr_asked < 2) then pon("on_learr", "more_questions"); end;
 
            if (char_ryveerr.ryveerr_asked < 2) then pon("on_ryveerr", "more_questions"); end;
 
        end;
 
    end;
 
    
 
	enter = function(s)
 
        s:reset_more();
 
        
 
        poff('iyh1', 'iyh2', 'learr_comes');
 
        if (atl_iyh_state == 1 and not atl_iyh_ryveerr_spoken) then
 
            pon('iyh1');
 
        elseif (atl_iyh_state == 2 and not atl_iyh2_ryveerr_spoken) then
 
            pon('iyh2');
 
        end;
 
        if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
            pon('learr_comes');
 
        end;
 
        
 
        if (s.state == 0) then
 
            s.state = 1;
 
            psub("first_meeting");
 
            return [[Перед вами стоит навьяр. Серо-зеленая чешуя, несколько более темная, чем у Леарр блестит в свете электрических ламп. Красно-оранжевые глаза внимательно смотрят на вас. Он одет в темно-зеленые облегающие шорты и куртку из водорослей. Навьяр приветствует вас: "Ривеерр-из-Дипатреанотра рад-видеть тебя". ]];
 
        else
 
            psub("generic");
 
            return [[Ривеерр оборачивается к вам: "Ты говори". ]];
 
        end;      
 
	end;
 
	phr = {
 
        {tag="first_meeting"};
 
        {"Мое имя Дэвид Дрейк. Рад знакомству.", [[Плавники Ривеерра окрашиваются в зеленый: "Ты-Уильяма-сын". ]], code[[psub("first_meeting_2");]]};
 
        {"Мое имя Дэвид Дрейк.", [[Плавники Ривеерра окрашиваются в зеленый: "Ты-Уильяма-сын". ]], code[[psub("first_meeting_2");]]};
 
        {tag="first_meeting_2"};
 
        {"Да, все верно.", [[Ривеерр: "Я рад-помочь тебе. Ты говори". ]], code [[psub("generic");]]};
 
        {"Я хотел кое-что спросить. ", [[Ривеерр: "Ты говори". ]], code [[psub("generic");]]};
 
		{tag="generic"};
 
		{tag="iyh1", false, "Расскажи о конфликте Ираафаанотра с Дипатреанотром.", [[Ривеерр рассказывает вам: "Na'vji'a'yhe'iraa'pha’anot’rr нашу-реликвию-украли. Мы тем-же-ответили им". ]], code [[ atl_iyh_ryveerr_spoken = true; psub("more_on_relic"); ]]};
 
        {tag="iyh2", false, "Я собираюсь в храм Дипатреанотра.", [[Плавники на голове Ривеерра меняют цвет на сине-фиолетовый: "Ты туда-не-идешь". ]], code [[ atl_iyh2_ryveerr_spoken = true; psub("on_iyh2"); ]]};
 
        {tag="more_questions", always=true, "Я хочу кое-что спросить.", [[Ривеерр кивает: "Ты спрашивай". ]], code [[ psub("ask_more"); ]]};
 
        {always=true, "Я пойду.", [[Ривеерр прощается с вами: "Мы позже-поговорим". ]], code [[ back(); ]]};
 
        {tag="ask_more"};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            if (atl_rep_dyp < 0) then
 
                char_ryveerr.atlantis_asked = 1;
 
                return [[Ривеерр отвечает: "Хевьяры-с-Атлантиды уже-помогли-нам-немало. Я надеюсь-на-продолжение-плодотворного-сотрудничества". ]];
 
            else
 
                char_ryveerr.atlantis_asked = 2;
 
                return [[Ривеерр отвечает: "Хевьяры-с-Атлантиды уже-помогли-нам-немало. Я надеюсь-на-продолжение-плодотворного-сотрудничества. Я продолжаю-доказывать-пользу-нашего-с-вами-хевьярами-общения и многие-в-Дипатреанотре уже-согласны-со-мной. Если план-Дрейка успешен-будет, то наша-благодарность будет-неизмерима. Хевьяры наследие-древних-ищут, как легенды гласят". ]];
 
            end;
 
        end};
 
        {tag="on_aikerjarr", "Что ты думаешь об Аикерьярре?", function(s)
 
            if (atl_rep_dyp < 0) then
 
                char_ryveerr.aikerjarr_asked = 1;
 
                return [[Ривеерр отказывается отвечать:"Я не-говорю-с-тобой-об-этом". ]];
 
            else
 
                char_ryveerr.aikerjarr_asked = 2;
 
                return [[Плавники Ривеерра окрашиваются фиолетовым и он отвечает: "Этот все-сделает-нас-из-себя-вывести. Я считаю-он-войны-хочет-с-Атлантидой. Я не-хочу-этого, но в-Дипатреанотре-некоторые хотят. Я не-знаю-что-получится". ]];
 
            end;
 
        end};
 
        {tag="on_ryveerr", "Расскажи о себе.", function(s)
 
            if (atl_rep_dyp < 0) then
 
                char_ryveerr.ryveerr_asked = 1;
 
                return [[Ривеерр отказывается отвечать:"Я не-говорю-с-тобой-об-этом". ]];
 
            else
 
                char_ryveerr.ryveerr_asked = 2;
 
                return [[Плавники Ривеерра окрашиваются синим и он отвечает: "Я-Дипатреанотра-посол. Я желаю-с-хевьярами-долгого-и-плодотворного-сотрудничества. Мое-мнение большинство-в-Дипатреанотре-разделяют, поэтому я здесь". ]];
 
            end;
 
        end};
 
        {tag="on_learr", "Что ты думаешь о Леарр?", function(s)
 
            if (atl_rep_dyp < 0) then
 
                char_ryveerr.learr_asked = 1;
 
                return [[Ривеерр отказывается отвечать:"Я не-говорю-с-тобой-об-этом". ]];
 
            else
 
                char_ryveerr.learr_asked = 2;
 
                return [[Плавники Ривеерра окрашиваются зеленым и он отвечает: "Леарр из Ираафаанотра. Мы часто-разногласия с-ними, но с-Леарр всегда-понимание-находим. Это с-Ираафаанотр-отношениям-помогает и хорошо-есть. Я что-она-на-Атлантиде-рад и друг-с-другом-и-с-вами-что-мы-можем общаться-постоянно. Это с-вами-нашим-отношениям-помогает и тоже-хорошо-есть". ]];
 
            end;
 
        end};
 
        {always=true, "Давай поговорим о другом.", [[Ривеерр кивает: "Ты говори". ]], code [[ char_ryveerr_dlg:reset_more(); pret(); ]]};
 
		{tag="more_on_relic"};
 
		{"Тем же?", [[Ривеерр щелкает зубами: "Мы светодиск-из-их-храма-забрали. Мы вернем его, ysl они вернут нашу-реликвию". ]]};
 
		{"Вы уверены, что кража -- их рук дело?", [[Ривеерр уверенно кивает: "Только-они могли сделать. Я расскажу", -- Ривеерр на небольшое время замолкает, собираясь с мыслями, после чего продолжает: "Na'vji'a'yhe'iraa'pha’anot’rr ночью-в-наш-храм-пришли и охранников-убили. Они реликвию-украли и в-свой-город-унесли". ]], code [[ psub("why"); ]]};
 
		{tag="why", empty=code [[ atl_iyh_ryveerr_spoken = true; psub("generic"); ]]};
 
		{"Вы уверены, что это они?", [[Ривеерр отвечает: "Другой-никто не-мог-сделать". ]]};
 
        {"Как убили охранников?", [[Ривеерр отвечает: "Их копьями-проткнули. Мы раны-видели". ]]};
 
		{always=true, "Я вернусь позже.", [[Ривеерр прощается с вами: "Мы поззжже-поговоррим". ]], code [[ back(); ]]};
 
        {tag="on_iyh2"};
 
        {"Я не собираюсь внутрь храма, мне нужно лишь осмотреть окрестности.", [[Ривеерр кивает: "Я это-разрешу. Ты иди". ]], code [[ pret(); ]]};
 
        {tag="learr_comes", "Со мной отправится Леарр.", [[Ривеерр отвечает: "Ты туда-не-идешь. He'vji'a'rr нельзя-в-храм". ]]};
 
	};
 
};
 
 
char_evans_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Кристиан Эванс";
 
	disp = "Кристиан Эванс";
 
	enter = function(s)
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Немолодой мужчина внимательно смотрит на вас через стекла старых очков. Он приветствует вас: "Добро пожаловать на нашу станцию. Я Кристиан Эванс, занимаюсь языком навьяров". ]];
 
		else
 
			psub("generic");
 
			return [[Кристиан Эванс приветствует вас: "Добрый день". ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Я Дэвид Дрейк, очень приятно.", [[Кристиан улыбается и отвечает: "Очень рад вас видеть. У вас есть вопросы? Я слушаю". ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
        {"Что вы можете рассказать о Леарр?", function(s)
 
            return [[Кристиан отвечает: "С ней приятно иметь дело. Мы многое узнали о навьярах только благодаря ее открытости и желанию общаться с нами. Хотя Ривеерр тоже довольно дружелюбен, он чрезмерно осторожен при общении с нами. Леарр и сама интересуется нами и нашими достижениями -- большую часть времени она проводит в библиотеке и в Игнисе, читая наши книги и газеты и просматривая наши фото- и видеоархивы". ]];
 
        end};
 
        {tag="on_aikerjarr", false, "Что вы можете сказать об Аикерьярре?", [[Кристиан чешет подбородок: "Не знаю, почему Ираафаанотр отправил на Атлантиду этого... Наверное, было бы проще, не будь на станции вообще никого из Ираафаанотра. И безопаснее для наших отношений тоже. Этот... Да он словно намеренно пытается вывести тут всех из себя".]]};
 
        {"Что вы можете сказать об Ривеерре?", [[Кристиан задумчиво: "Из жителей Дипатреанотра, Ривеерр, наверное, лучше всех относится к нам. При том, что он достаточно отстранен, чувствуется, что он готов вкладывать силы в улучшение отношений между нами всеми -- Дипатреанотром, Атлантидой и Ираафаанотром". ]]};
 
        {"Что вы можете сказать о навьярах?", [[Кристиан отвечает: "Поразительные существа. Конечно, мы первый раз сталкиваемся с подобным и толком не знаем как себя вести и как стоит их изучать, но, как мне кажется, мы многого достигли -- мы знаем их язык, имеет доступ к их текстам и общаемся с их представителями практически на равных. Вообще, мы поразительно легко наладили с ними контакт -- они не стали воспринимать нас ни как богов, ни как дьяволов, как это случается с племенами людей в далеких от цивилизации местах. Они однозначно не так просты, как кажется, но мы пока не знаем в чем причина этого".]]};
 
		{always=true, "Я пойду.", [[Кристиан прощается с вами: "До встречи". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_winterlight_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Сильвия Уинтерлайт";
 
	disp = "Сильвия Уинтерлайт";
 
	enter = function(s)
 
		if (s.state == 0) then
 
			psub("first_meeting");
 
            s.state = 1;
 
			return [[Женщина лет тридцати-пяти--сорока с длинными темными волосами стоит, склонившись над картой и внимательно изучает ее. Увидев вас, она отвлекается от карты и проницательный взгляд ее серых глаз устремляется на вас. Она спрашивает: "Господин Дрейк? Я уже осведомлена о вашем прибытии, как видите. Мое имя Сильвия Уинтерлайт. Я химик и биолог на станции. По-крайней мере официально. На самом деле занимаюсь чем придется". ]];
 
		else
 
			psub("generic");
 
			return [[Сильвия отрывает взгляд от карты: "Приветствую, что вы хотели?" ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
        {"Рад знакомству. Я хотел бы кое-что спросить.", [[Сильвия улыбается и кивает: "Конечно, господин Дрейк, я слушаю". ]], code [[ psub("generic"); ]]};
 
		{"Рад знакомству. Я чем-то могу быть полезен?", [[Сильвия улыбается и отвечает: "Вам лучше поговорить с госпожой Светловой, у нее наверняка найдется поручение для вас". ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
        {"Расскажите об Атлантиде,", [[Сильвия отвечает: "Об этом я могу долго рассказывать -- мы с господином Райтом многое придумывали вместе -- в частности, системы подачи кислорода, я же помогала в разработке Аэриса. Аэрис, если говорить открыто, крайне значительное достижение -- мы сумели адаптировать некоторые виды растений с поверхности к условиям станции. Конечно, пришлось потрудиться -- очень много энергии уходит на освещение и обогрев секции, но и результат себя оправдывает -- думаю, нам быстро надоело бы питаться одними морепродуктами, а так у нас есть практически все, что может предложить поверхность. Ну, кроме мяса", -- она улыбается, -- "Также мы выращиваем там несколько видов водорослей -- некоторые производят кислород, другие идут в пищу, третьи отправляются прямиком в печь".]]};
 
        {"Расскажите о себе.", [[Сильвия усмехается: "Не думаю, что тут есть что-то интересное, но слушайте -- я едва закончила университет и была в поисках работы, когда встретилась с госпожой Светловой. Уж не знаю, что привлекло ее во мне, но она предложила мне работу. Я сперва удивилась -- с чего транспортной компании нанимать таких видных ученых, как она? Да и зачем там такие, как я? Когда господин Дрейк рассказал о своем открытии, я загорелась идеей обустроить автономную подводную станцию -- чтобы иметь возможность находиться ближе к навьярам и изучать их. Изначально планы не были столь грандиозны, но благодаря нашим с господином Райтом успехам мы смогли построить Атлантиду такой, какой вы ее видите. Тогда же я впервые встретила живого навьяра. Нет, госпожа Светлова рассказывала мне про них и даже показывала фотографии и рисунки, но увидеть их вживую ни с чем не сравнимо. И еще более странно, когда такое существо тебя приветствует на твоем языке". ]]};
 
		{always=true, "Я пойду.", [[Сильвия молча кивает и возвращается к своим делам. ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_jack_wright_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = 'char_jack_wright_atlantis_dlg';
 
	disp = "Джек Райт";
 
	enter = function(s)
 
        if (rel_jack < 0) then
 
            if (char_wright.on_learr == 0) then pon("on_learr"); end;
 
            if (char_wright.on_leviathan == 0) then pon("on_leviathan"); end;
 
            if (char_wright.on_jack == 0) then pon("on_jack"); end;
 
        else
 
            if (char_wright.on_learr < 2) then pon("on_learr"); end;
 
            if (char_wright.on_leviathan < 2) then pon("on_leviathan"); end;
 
            if (char_wright.on_jack < 2) then pon("on_jack"); end;
 
        end;
 
    
 
        if (s.state == 0) then
 
			psub("business_or_no");
 
			return [[Джек отворачивается от Леарр, и обращается к вам: "Привет, ты по делу или просто так?" ]];
 
        else
 
            psub("generic");
 
            return [[Джек откладывает книгу и встает с койки и обращается к вам: "Добрый день. Тебе что-то нужно?"]];
 
		end;
 
	end;
 
	phr = {
 
        {tag = "business_or_no"};
 
		{"Как тебе станция?", [[Джек не скрывая восхищения восклицает: "Невероятно! Трудно поверить в возможность такого -- полностью автономное подводное поселение. Я никогда на сомневался в таланте отца, но это выше всех моих ожиданий". ]]};
 
		{always = "true", "Я пришел поговорить с Леарр. ", function(s)
 
			if (char_learr_atlantis.offended) then
 
				return [[Джек ухмыльнулся: "Удачи, я подожду в главном зале", -- с этими словами, Джек выходит из зала. ]];
 
				return [[Джек ухмыльнулся: "Удачи, я пойду к себе", -- с этими словами, Джек выходит из зала. ]];
 
			else
 
				return [["Надеюсь, я вам не помешаю? В любом случае, я подожду в главном зале", -- с этими словами, Джек выходит из зала. ]];
 
				return [["Надеюсь, я вам не помешаю? В любом случае, мне уже пора уходить", -- с этими словами, Джек выходит из зала. ]];
 
			end;
 
		end, code [[ 
 
            char_jack_wright_atlantis_dlg.state = 1;
 
			remove('char_jack_wright_atlantis', 'atl_ignis_hall_a');
 
			back(); 
 
		]]};
 
        {tag="generic"};
 
        {tag="sabotage", "Ты знаешь, что пожар начался из-за саботажа?", [[Джек кивает: "Да, Даркстар сказал мне это. Он просил меня никому не говорить об этом и не вмешиваться в расследование. Я думаю, все подозреваемые, которых он назвал так или иначе связаны. Не случайно, все трое выступают в пользу закрытия станции. Надеюсь, Даркстар сообщит о результах расследования". ]], code [[poff("ignis_what");]]};
 
        {tag="ignis_what", "Ты знаешь, почему начался пожар в Игнисе?", [[Джек кивает: "Да, Даркстар сказал, что на станции саботажник. Он назвал нескольких подозреваемых, но просил никому не говорить. Он с тобой говорил об этом?"]], code [[poff("sabotage");psub("ignis");]]};
 
        {always=true, "Я хочу кое-что спросить.", [[Джек вопросительно смотрит на вас: "Я слушаю". ]], code [[ psub("more_questions"); ]]};
 
        {always=true, "Я пойду.", [[Джек прощается с вами: "До встречи", -- после  чего возвращается к своему занятию. ]]};
 
        {tag = "more_questions"};
 
        {tag="on_learr", "Что ты думаешь о Леарр?", function()
 
            if (rel_jack < 0) then
 
                char_wright.on_learr = 1;
 
                return [[Джек отказывается отвечать: "Не хочу это обсуждать".]];
 
            else
 
                char_wright.on_learr = 2;
 
                return [[Джек отвечает: "Я не так много с ней общался, однако, она производит приятное впечатление. Там в Игнисе она спрашивала меня про Атлантиду и Левиафан достаточно интересные вещи. Мне кажется, из нее бы вышел неплохой инженер".]];
 
            end;
 
        end};
 
        {tag="on_leviathan", "Как впечатления от Левиафана?", function()
 
            if (rel_jack < 0) then
 
                char_wright.on_leviathan = 1;
 
                return [[Джек отвечает: "Левиафан, без сомнения, превосходный корабль. Жаль, что ему не нашлось лучшего капитана". ]];
 
            else
 
                char_wright.on_leviathan = 2;
 
                return [[Джек не скрывает своего восхищения: "Никогда не видел ничего подобного. Неудивительно, что отец оставил жизнь на поверхности в пользу возможности создавать подобное здесь. Пока мы были в пути, я подробно изучил субмарину. Многие решения до сих пор кажутся мне невероятными, например, использование электричества в качестве движущей силы или звуковая пушка. Я уже успел обсудить с отцом детали диагностических цепей. Это совершенно непостижимо, чтобы машина сама сообщала, что с ней что-то не так. И все это в одном месте". ]];
 
            end;
 
        end};
 
        {tag="on_jack", "Чем ты занимался все это время?", function()
 
            if (rel_jack < 0) then
 
                return [[Джек отказывается отвечать: "Не хочу это обсуждать".]];
 
            else
 
                return [[Джек отвечает: "Да, в общем-то, ничем. Отец оставил нам с матерью достаточно денег, чтобы мы могли ни в чем не нуждаться. Мать оплатила мое образование в том же университете, где учился отец. Получив диплом с отличием, я просто поставил его на полку. Не нашел дела по душе, да и необходимости не было. Позже, когда мать умерла, я вообще практически прекратил связи с внешним миром. Думаю, что хоть я и бросил идею найти отца, я все-таки продолжал надеяться -- практически все время я посвящал чтению газет со всех уголков света, в поисках известий о случившемся с Вестхейвен Трансоушен. Впрочем, как только первоначальный ажиотаж спал, никто толком и не писал о случившемся. "]];
 
            end;
 
        end};
 
        {"Вернемся к делу", [[Джек молча кивает. ]], code [[ pret(); ]]};
 
        {tag = "ignis"};
 
        {"Да.", [[Джек кивает: "Тогда ты и без меня все знаешь. Я думаю, все трое подозреваемых замешаны, но не хочу лезть в это дело". ]], code [[ pret(); ]]};
 
        {"Нет.", [[Джек на мгновение задумался. Потом снова заговорил: "Я не должен тебе этого говорить, наверное. Но все же. Даркстар подозревает Голдмана, Леруа и Джонса -- они все трое, вроде как, достаточно знают об устройстве станции и, опять же, все трое активно выступают за закрытие станции и возвращение на поверхность. От себя скажу, что не удивлюсь, если все трое в сговоре, но не буду судить поспешно". ]], code [[ pret(); ]]};
 
	};
 
};
 
 
char_legrand_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Мари Легран";
 
	disp = "Мари Легран";
 
	enter = function(s)
 
        poff("tube_spec");
 
        if (atl_nih_state == 1 and not have(atl_item_tube_spec)) then
 
            pon("tube_spec");
 
        end;
 
        
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами, склонившись над какой-то книгой, сидит женщина лет сорока--сорока-пяти. Длинные темные волосы убраны в хвост. На носу очки в тяжелой оправе. Не обращая внимания на вас, она продолжает водить пальцем по строчкам, периодически делая какие-то пометки. ]];
 
		else
 
			psub("generic");
 
			return [[Не обращая внимания на вас, Мари Легран продолжает водить пальцем по строчкам, периодически делая какие-то пометки. ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Извините?", [[Женщина поднимает голову и отрывается от работы. Она выпрямляется и улыбаясь приветствует вас: "Добро пожаловать в библиотеку Атлантиды. Я Мари Легран". ]], code [[psub("first_meeting_2"); ]]};
 
		{tag="first_meeting_2"};
 
		{"Я Дэвид Дрейк, рад знакомству.", [[Она кивает и спрашивает вас: "Как вы нашли Левиафан?"]], code [[psub("first_meeting_3"); ]]};
 
		{tag="first_meeting_3"};
 
		{"Это долгая история.", [[Мари Легран кивает: "Хорошо, тогда в другой раз".]], [[ psub("generic") ]]};
 
		{"Я нашел тайник отца со старыми схемами. Пришлось побегать, чтобы восстановить субмарину. Я чудом собрал все необходимое.", [[Мари Легран удивленно смотрит на вас: "Поразительно. Скорее всего Уильям хотел, чтобы вы нашли Левиафан. Жаль, что вы прибыли слишком поздно. Когда он узнал про этот древний город, он собрал несколько помощников и отправился на Надежде на его поиски". ]], code [[ pon("father_more", "ancient_city");psub("generic"); ]]};
 
		{tag="generic"};
 
        {tag="tube_spec", false, "Мне нужна документация по системам воздуховодов.", [[Мари Легран удивленно спрашивает: "Райт просил? Удачи в изучении", -- и кладет на стол перед вами толстую книжицу. ]], code [[ take(atl_item_tube_spec); ]]};
 
		{tag="father_more", false, "Кто отправился вместе с моим отцом?", [[Мари Легран отвечает: "Немногие. Они вообще хотел отправиться вдвоем с Блэком, но Блэк уговорил Уильяма взять Джона Брауна и Антонио Гарсия". ]], code [[psub("more_people");]]};
 
        {tag="ancient_city", false, "Какой еще город?", [[Мари Легран отвечает: "Да, вы же не в курсе. Лсэрианотр, или как-то так. Древний навьярский город по легенде скрывает какое-то древнее знание, которое, как и всегда в легендах, сторожит непобедимое чудовище. Дрейк и Блэк, вроде как, сумели найти какие-то карты, якобы указывающие путь к этому городу". ]]};
 
		{always=true, "Я пойду.", [[Мари Легран возвращается к книге, прощаясь с вами: "Приходите еще".]], code [[ back(); ]]};
 
		{tag="more_people"};
 
		{"Расскажите больше об Адриане Блэке.", [[Мари Легран рассказывает: "Блэк -- заместитель Дрейка. По-крайней мере, официально он занимал именно эту должность. По факту, он был близким другом вашего отца и компанией они управляли вместе". ]]};
 
		{"Расскажите больше о Джоне Брауне.", [[Мари Легран рассказывает: "У Джона золотые руки, наверное, именно поэтому Дрейк взял в экспедицию именно его". ]]};
 
		{"Расскажите больше о Антонио Гарсии.", [[Мари Легран рассказывает: "Талантливый молодой человек. Он хорошо знает язык навьяров и много с ними общался". ]]};
 
		{"Поговорим в другой раз.", [[Мари Легран кивает: "Хорошо".]], code [[pret();]]};
 
	};
 
};
 
 
char_radcliffe_atlantis_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Уолтер Рэдклифф";
 
	disp = "Уолтер Рэдклифф";
 
    
 
    reset_more = function(s)
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "talk");
 
        if (rel_walter < 0) then
 
            pon("talk");
 
        else
 
            if (char_radcliffe.on_anna < 2) then
 
                pon("on_anna");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_black < 2) then
 
                pon("on_black");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_walter < 2) then
 
                pon("on_walter");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_atlantis < 2) then
 
                pon("on_atlantis");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_drake < 2) then
 
                pon("on_drake");
 
                pon("talk");
 
            end;
 
            if (char_radcliffe.on_join < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
        end;
 
    end;
 
    
 
	enter = function(s)
 
        s:reset_more();
 
 
        poff("on_leroy_in_terra");
 
        if atl_mtr_ask_radcliffe and not atl_mtr_know_leroy_in_terra then
 
            pon("on_leroy_in_terra");
 
        end;
 
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит человек лет сорока--сорока-пяти, одетый в рабочий халат. Как только вы входите, он протягивает вам руку: "Добро пожаловать, господин Дрейк. Уолтер Рэдклифф, инженер". ]];
 
		else
 
			psub("generic");
 
			return [[Уолтер Рэдклифф приветствует вас: "Добрый день". ]];
 
		end;
 
	end;
 
	phr = {
 
        {tag="questions"};
 
        {tag="on_black", "Что ты можешь сказать о Блэке?", function(s)
 
            char_radcliffe.on_black = 2;
 
            return [[Уолтер пожимает плечами: "Что я могу сказать про него? Он хороший друг Дрейка и вполне искренне радеет за благополучие нашей миссии. Однако, я думаю, его истинные цели могут отличаться от наших". ]];
 
        end};
 
        {tag="on_walter", "Расскажи о себе.", function(s)
 
            char_radcliffe.on_walter = 2;
 
            return [[Уолтер пожимает плечами: "Да мне нечего рассказать. Мы с сестрой жили в Лондоне, я уже работал в Вестхейвен Трансоушен, когда наши родители погибли -- пароход, на котором они отправились в США просто не прибыл в порт назначения. Мы с Анной остались одни. Она еще даже школу не закончила тогда. А потом мы построили Надежду, Атлантиду и далее по списку. Потом мне предложили работать внизу, на станции. Я, конечно, мог тогда отказаться, уйти в другую компанию, но направление, избранное Дрейком слишком меня привлекало. Я согласился". ]];
 
        end};
 
        {tag="on_anna", "Расскажи о своей сестре, Анне.", function(s)
 
            char_radcliffe.on_anna = 2;
 
            return [[Уолтер вздыхает: "Будь у меня выбор тогда, я ни за что не взял бы ее на Атлантиду. И жалел бы сейчас об этом. Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю". ]];
 
        end};
 
        {tag="on_drake", "Что ты можешь сказать о Дрейке?", function(s)
 
            char_radcliffe.on_drake = 2;
 
            return [[Уолтер отвечает: "Не думаю, что скажу про него больше чем кто-то еще. Послушайте Райта, Моро, быть может Даркстара, хотя черт знает, что у этого типа на уме. Они скажут вам все и даже больше. "]];
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_radcliffe.on_atlantis = 2;
 
            return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]];
 
        end};
 
        {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[ char_radcliffe_atlantis_dlg:reset_more(); pret();]]};
 
		{tag = "first_meeting"};
 
		{"[Пожать руку] Рад знакомству.", [[
 
			"Мы с Майклом вместе работали над Левиафаном. Многие решения в вашей субмарине -- мои. Если вы не против, я хотел бы продолжить путешествие вместе с вами. Во-первых, вам пригодится мой опыт, а во-вторых, я хочу увидеть Левиафан в деле". 
 
		]], code [[
 
			rel_walter = rel_walter + 1;
 
			psub("leviathan");
 
		]]};
 
		{"Рад знакомству.", [[
 
			Уолтер убирает руку и продолжает: "Я думаю, вы не просто так пришли. Спрашивайте".
 
		]], code [[
 
			psub("generic");
 
		]]};
 
		{"[Промолчать]", [[
 
			Уолтер убирает руку и продолжает: "Я думаю, вы не просто так пришли. Спрашивайте".
 
		]], code [[
 
			rel_walter = rel_walter - 1;
 
			psub("generic");
 
		]]};
 
		{tag = "leviathan"};
 
		{"Интересно, и что вы можете рассказать о Левиафане?", [[Уолтер снимает очки, убирая их в нагрудный карман: "Левиафан строился как Надежда -- для дальних путешествий и максимальной автономности. После успеха предыдущих субмарин, Райт решил сделать Левиафан заметно крупнее этих кораблей. Сверхмощная батарея обеспечивает субмарину энергией более месяца при максимальных оборотах двигателей. Также есть паровой двигатель -- он используется не только для движения, но и генерирует электричество. До Левиафана мы не экспериментировали с этим". ]]};
 
		{"Вы знаете, куда отправился мой отец отсюда?", [[Уолтер отрицательно качает головой: "Не больше, чем остальные на станции". ]]};
 
		{"Буду рад, если вы присоединитесь к нам. ", [[Уолтер улыбается: "Отлично. Но вы ведь, еще поговорить хотите?" ]], code [[ psub("generic");]]};
 
		{"Я не думаю, что вы поможете. ", [[Уолтер разводит руками: "Очень жаль. Впрочем, у вас есть время подумать. Насколько я знаю, Даркстар и Моро собираются держать вас здесь какое-то время". ]], code [[ psub("generic");]]};
 
		{tag = "generic"};
 
        {tag="on_leroy_in_terra", false, "Райт сказал, что вы были в Терре во время обслуживания Солиса. Вы не видели, кто входл в секцию?", [[Уолтер пожимает плечами: "Я думал, что я один в Терре, но мне попался Мишель. Он сказал, что пришел за инструментами для ремонта скафандров. Правда в Доминус он ушел почему-то с пустыми руками". ]], code [[atl_mtr_know_leroy_in_terra=true;]]};
 
        {tag="questions", "У меня есть несколько вопросов. ", function(s)
 
            if (rel_anna < 0) then
 
                return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]];
 
            else
 
                psub("questions");
 
                return [[Уолтер кивает: "Слушаю". ]];
 
            end;
 
        end};      
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе -- результат саботажа?", [["Безусловно. Системы энергоснабжения проектировал я и абсолютно уверен в их безопасности и надежности. Судя по тому, что произошло -- кто-то весьма грамотный ,,доработал'' систему энергоснабжения Игниса. Я не думаю, что это мог быть один человек... Хотя если он делал это несколько дней -- вполне вероятно. Как это сделать, кроме нас с Райтом знают только трое: Мишель Леруа, Чарльз Джонс и Мари Легран. И еще кое-что. Даркстар просил меня ни с кем про это не разговаривать, поэтому надеюсь на ваше понимание. Отдельно попрошу -- не говорить на эту тему с моей сестрой". ]], code [[
 
			rel_walter = rel_walter + 1;
 
		]]};
 
		{tag="ignis_what", false, "Вы, как инженер, можете рассказать, что произошло в Игнисе?", [[
 
			"Пожар. Вам что-то еще известно?"
 
		]]};
 
		{always=true, "Я пойду.", [["До встречи", -- Уолтер отворачивается от вас и возвращается к своим делам. ]], code [[ back();]]};
 
	};
 
};
 
 
char_page_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Фрэнсис Пейдж";
 
	disp = "Фрэнсис Пейдж";
 
	enter = function(s)
 
		if (s.state == 0 ) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит мужчина лет пятидесяти с густой седой бородой. Он бросает на вас быстрый взгляд и здоровается, продолжая осмотр Наутилуса: "Добро пожаловать на Атлантиду. Я Фрэнсис Пейдж. Я занимаюсь обслуживанием субмарин". ]];
 
		else
 
			psub("generic");
 
			return [[Перед вами стоит Фрэнсис Пейдж. не отрываясь от осмотра Наутилуса он говорит: "Вы вернулись". ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Дэвид Дрейк, рад знакомству.", [[Фрэнсис на секунду отвлекается и внимательно смотрит на вас: "Да, я замечаю сходство с Уильямом". ]], code [[ psub("first_meeting_2"); ]]};
 
		{tag="first_meeting_2"};
 
		{"Вы хорошо знали отца?", [[Фрэнсис кивает: "Я уважаю его, как, думаю, все на этой станции. Пожертвовать всем ради призрачной мечты -- только великий человек мог пойти на такое. Он отправился на поиски легендарного города древних навьяров. К сожалению, я не смог отправиться с ним -- я нужен на станции. Я знаю, что вы здесь из-за него и я надеюсь, что вы не оставите вашу идею найти Уильяма и доведете свое дело до конца". ]], code [[ psub("generic"); ]]};
 
		{"У меня к вам несколько вопросов.", [["Слушаю". ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
        {"Что вы можете рассказать об Атлантиде?", [[Фрэнсис пожимает плечами: "Если честно, вам лучше расспросить кого-нибудь из управляющих, а лучше всего -- Майкла Райта. Все что я могу сказать -- я до сих пор поражаюсь успеху этого невероятного проекта". ]]};
 
        {"Что вы можете рассказать о Наутилусе?", [[Френсис кивает: "Когда мы создавали Наутилус, я уже работал в Вестхейвен Трансоушен. Атлантида тогда существовала, но была далеко от того, что вы видите. Мы тогда просто строили вторую Надежду. Нам не нужна была высокая автономность, но мы хотели большую маневренность и мощность -- собственно на этом мы и сконцентрировались. Получилось то, что получилось -- рабочая лошадка, которой мы пользуемся по сей день". ]]};
 
        {"Что вы можете рассказать об Энтерпрайзе?", [[Френсис кивает: "Энтерпрайз мы начали когда захотели судно побольше. Опыта и знаний нам хватило только на пропорциональное увеличение размеров и немного более мощный двигатель. Райт наверное сказал бы, что получилось из рук вон плохо, но, на мой взгляд, Энтерпрайз вполне неплох, да и с честью служит нам до сих пор". ]]};
 
        {"Что вы можете рассказать о Надежде?", [[Фрэнсис кивает: "Надежда была первой субмариной, построенной нами. Я в этом участия не принимал, так что многие конструктивные решения меня удивляют. Впрочем, более поздние субмарины спроектированы гораздо грамотнее, да и после переоборудования многое удалось решить". ]]};
 
        {"Что вы можете рассказать о Левиафане?", [[Френсис отвечает: "С первого взгляда ясно, что Левиафан не имеет практически ничего общего с Надеждой, Наутилусом и даже Энтерпрайзом. Интересно, что Левиафан строился с оглядкой на высокую автономность -- так же, как и Надежда. За это, конечно, пришлось многим поплатиться -- Левиафан большой и неповоротливый в сравнении с Надеждой". ]]};
 
		{always=true, "Я пойду.", [[Фрэнсис Пейдж прощается с вами: "Увидимся позже". ]], code [[ back(); ]]};
 
	};
 
};
 
 
char_leroy_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Мишель Леруа";
 
	disp = "Мишель Леруа";
 
	enter = function(s)
 
        poff("mtr_on_clock", "mtr_on_replace", "mtr_on_terra");
 
        if atl_mtr_started then
 
            if atl_mtr_know_goldman_lost_clock and not atl_mtr_finished then
 
                pon("mtr_on_clock");
 
            end;
 
 
            if atl_mtr_know_leroy_replaced_jones and not atl_mtr_leroy_denies_replace then
 
                pon("mtr_on_replace");
 
            end;
 
 
            if atl_mtr_know_leroy_in_terra and not atl_mtr_know_leroy_in_terra_asked then
 
                pon("mtr_on_terra");
 
            end;
 
        end;
 
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами стоит склонившийся над чертежом мужчина лет пятидесяти, одетый в старый коричневый костюм. Кудрявые рыжие волосы торчат во все стороны, недлинная рыжая бородка, напротив, аккуратно острижена. В кармане его пиджака лежат очки. Темные глаза сосредоточенно уставились на лежащий перед ним чертеж. ]];
 
		else
 
			psub("generic");
 
			return [[Мишель Леруа стоит перед вами, склонившись над чертежом. ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Добрый день. Я Дэвид Дрейк.", [[Человек отрывается от чертежа, чтобы поздороваться с вами. Он протягивает вам руку и произносит: "Мишель Леруа. Инженер". ]], code [[ psub('first_meeting_2'); ]]};
 
		{tag="first_meeting_2"};
 
		{"[Пожать руку] Рад знакомству.", [[Вы пожимаете руку Мишеля, и он спрашивает вас: "Что вы хотели?" ]], code [[ psub('generic'); ]]};
 
		{"Рад знакомству.", [[Мишель кладет руку обратно на стол и спрашивает: "Что вы хотели?" ]], code [[ psub('generic'); ]]};
 
		{tag="generic"};
 
        {tag="mtr_on_clock", false, "Что вы можете сказать о часах Леонарда Голдмана?", [[Тон Мишеля становится очень недружелюбным: "Я уже говорил ему, что не трогал его часы. Да, он оставил их в общем зале, как и всегда -- когда я ушел, они так там и лежали. Наверное кто-то смахнул их со стола и они завалились куда-нибудь в угол. "]], code [[ atl_mtr_leroy_asked_on_clock = true; psub("mtr_clock_more"); ]]};
 
        {tag="mtr_on_replace", false, "Джонс сказал, что вы вместо него вчера работали в Солисе. Это правда?", [[Мишель отрицательно качает головой: "Понятия не имею о чем вы. Слушайте, вы не Даркстар, чтобы задавать мне такие вопросы". ]], code [[atl_mtr_leroy_denies_replace = true;]]};
 
        {tag="mtr_on_terra", false, "Рэдклифф сказал, что видел вас вчера в Терре, что вы здесь делали?", [[Джонс начинает выходить из себя: "Работал, что же еще. Хотел забрать инструменты для ремонта скафандров на Энтерпрайзе, да вот беда -- кто-то уже уволок последний комплект. Пришлось плестись обратно". ]], code [[atl_mtr_leroy_in_terra_asked = true; ]]};
 
        {"Почему вы считаете, что станцию необходимо закрыть?", [[Мишель начинает объяснять, активно жестикулируя: "Вы недавно здесь, и для вас это должно быть гораздо более очевидно, чем для многих из нас. Легко представить, к чему здесь может привести самая мелкая поломка. А эти самонадеянные люди, в лице Дрейка, Блэка, Светловой, Моро, Райта и даже Даркстара не видят дальше собственного носа! Что произойдет, если Доминус даст течь? Мы просто останемся погребенными под тоннами соленой воды и никакие меры предосторожности не помогут. Одно дело -- кратковременные экспедиции и совсем другое -- полное переселение сюда". ]]};
 
		{always=true, "Я пойду.", [[Мишель возвращается к чертежу. ]], code [[ back(); ]]};
 
        {tag="mtr_clock_more"};
 
        {"Кто был в общем зале, когда вы выходили?", [[Мишель недовольно отвечает: "Вы донимать меня пришли? Я работаю, вообще-то. Джонс был, донимайте лучше его". ]], code [[ psub("generic");]]};
 
	};
 
};
 
 
char_goldman_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Леонард Голдман";
 
	disp = "Леонард Голдман";
 
	enter = function(s)
 
		poff('show_clock');
 
		if (have(item_goldmans_clock)) then
 
			pon('show_clock');
 
		end;
 
		
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[Перед вами на койке лежит человек лет пятидесяти с густыми светлыми волосами. Пышные золотистые усы украшают его слегка печальное лицо. Взгляд его голубых глаз устремлен на вас. Он приветствует вас: "Добро пожаловать на Атлантиду. Я Леонард Голдман. Занимаюсь электросистемами станции". ]];
 
		else
 
			psub("generic");
 
			return [[Леонард Голдман печально смотрит на вас: "Что вы хотели?" ]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
        {"Вас что-то тревожит?", [[Леонард сперва отрицательно мотает головой, но затем, видимо подумав спрашивает: "Вы не видели мои часы?"]], code [[ poff("clock0"); pon("clock1"); ]]};
 
		{"Я Дэвид Дрейк. Рад знакомству.", [[Леонард кивает, но ничего не говорит. ]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
        {tag="clock0", "Вас что-то тревожит?", [[Леонард сперва отрицательно мотает головой, но затем, видимо подумав спрашивает: "Вы не видели мои часы?"]], code [[ pon("clock1"); ]]};
 
        {tag="clock1", false, "Расскажите больше про ваши часы.", [[Леонард рассказывает: "Это часы моего отца, Френсиса Голдмана. Я уже несколько дней ищу их по всей станции и не могу найти. Я оставил их в общем зале, кажется. Мы обедали там с Мишелем и Чарльзом, но никто из них часы не трогал. Куда они могли деться? -- Леонард пожимает плечами, после чего дополняет -- Если увидите их -- дайте знать". ]], code [[atl_mtr_know_goldman_lost_clock=true; ]]};
 
        {tag="solis", false, "Когда вы были в Солисе последний раз?", [[Леонард заметно нервничает, отвечая на ваш вопрос: "Около месяца назад. Я вчера должен был там работать, но мы с Чарли договорились, чтобы он поработал в Солисе вместо меня, так что меня там не было. Спросите у Райта, он в курсе". ]], code [[ atl_mtr_know_jones_replaced_goldman = true; ]]};
 
		{tag="show_clock", false, "[Отдать часы] Я нашел ваши часы.", [[Голдман прячет часы в нагрудный карман и удивленно спрашивает: "Где вы их нашли?" ]], code [[ psub("give_clock"); ]]};
 
        {"Почему вы считаете, что станцию стоит закрыть?", [[Голдман объясняет: "Мы уже десять лет здесь. Не видели ни солнца, ни неба, ни травы. Только металлический потолок и километры воды над головой. Мне кажется, что пора бы уже закончить этот эксперимент. В чем-то я согласен с Джонсом -- станция стареет, оборудование выходит из строя. Долго ли до того, как мы потеряем наши субмарины, а вместе с ними и вообще всякую возможность вернуться наверх?"]]};
 
		{"Я пойду.", [[Голдман кивает: "Поговорим позже". ]], code [[ back(); ]]};
 
		{tag="give_clock"};
 
		{"Часы были в Солисе.", [[Голдман испуганно вскакивает с койки: "Но как они там оказались?!"]], code [[ psub("give_clock_2"); pret(); ]]};
 
		{"Нашел их в Терре.", [[Голдман пожимает плечами: "Как они там оказались? Неважно, главное, что нашлись". ]], code [[ pret(); ]]};
 
        {"Нашел их в общем зале.", [[Голдман пожимает плечами: "Удивительно, наверное завалились куда-нибудь". ]], code [[ pret(); ]]};
 
        {tag="give_clock_2"};
 
        {"Вы точно не могли их там оставить?", [[Голдман делает глубокий вдох и дрожащим голосом отвечает: "Я не был в Солисе почти месяц. Часы же я потерял дней пять назад. Я не мог их там оставить". Он ложится обратно на койку. ]], code [[ poff("clock0"); pon("solis"); pret(); ]]};
 
        {"Что вы знаете о взрыве?", [[Голдман с трудом собирается с мыслями: "Я к этому не причастен!" Он садится на койку и достает из кармана карандаш, начинает вертеть его в своих дрожащих руках. ]]};
 
	};
 
};
 
 
char_jones_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Чарльз Джонс";
 
	disp = "Чарльз Джонс";
 
	enter = function(s)
 
		if (char_jones.on_atlantis == 0) then
 
            pon("on_atlantis");
 
        end;
 
 
        poff("mtr_on_clock", "mtr_on_replace");
 
        if atl_mtr_started then
 
            if atl_mtr_know_goldman_lost_clock and not atl_mtr_leroy_asked_on_clock then
 
                pon("mtr_on_clock");
 
            end;
 
 
            if atl_mtr_know_jones_replaced_goldman and not atl_mtr_know_leroy_replaced_jones then
 
                pon("mtr_on_replace");
 
            end;
 
        end;
 
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[На койке перед вами сидит немолодой человек, одетый в простой серый костюм. Его седые волосы коротко острижены. Подбородок гладко выбрит. Лицо изрыто глубокими морщинами. В руках он вертит карандаш, задумчиво разглядывая его. ^При виде вас он встает и приветствует вас: "Добрый день, меня зовут Чарли. Чарли Джонс". ]];
 
		else
 
			psub("generic");
 
			return [[Чарльз Джонс приветствует вас, отвлекаясь от своего занятия: "Добрый день". ]];
 
		end;
 
	end;
 
	phr = {
 
        {tag="first_meeting"};
 
		{"Я Дэвид Дрейк. Рад знакомству.", [[Чарльз тяжело вздыхает: "Взаимно". ]], code [[ psub("generic"); ]]};
 
		{tag="on_atlantis", false, "Вы считаете, что станцию необходимо закрыть?", [[Чарльз кивает: "Станция старая, разваливается на глазах. Нас слишком мало, чтобы своевременно устранять возрастающее число неполадок". ]], code [[ char_jones.on_atlantis = 1; psub("on_leaving");]]};
 
        {tag="generic"};
 
        {tag="mtr_on_clock", false, "Что вы можете сказать о часах Леонарда Голдмана?", [[Чарльз удивленно спрашивает: "Леонард уже и вас к их поисам подключил?" ]], code [[
 
            atl_mtr_leroy_asked_on_clock = true;
 
            psub("mtr_clock_more")
 
        ]]};
 
        {tag="mtr_on_replace", false, "Вы были вчера в Солисе?", [[Чарльз отрицательно качает головой: "Вы думаете, взрыв произошел по моей вине? Нет, я не был в Солисе уже недели две. Да, мы договорились с Голдманом, что я подменю его, но я нехорошо себя чувствовал -- возраст сказывается. Поэтому вместо меня в Солис пошел Мишель. Не знаю, в курсе ли Райт -- у нас обычное дело так меняться местами. Единственный кто возражает -- Даркстар, но к счастью, он далеко". ]], code [[
 
            atl_mtr_know_leroy_replaced_jones = true;
 
            pon("mtr_comment_replace_a", "mtr_comment_replace_b");
 
        ]]};
 
        {tag="mtr_comment_replace_a", false, "Я согласен с Даркстаром. Сейчас мы бы знали, кто виноват в аварии в Солисе. ", [[Чарльз нехотя соглашается с вами: "Наверное, вы все же правы". ]]};
 
        {tag="mtr_comment_replace_b", false, "Я согласен с вами, это лишняя бюрократия. ", [[Чарльз молча кивает. ]]};
 
		{always=true, "Я пойду.", [[
 
			"До встречи".
 
		]], code [[ poff("mtr_comment_replace_a", "mtr_comment_replace_b"); back(); ]]};
 
        {tag="on_leaving"};
 
        {"Да. соглашусь с вами. ", [[Чарли понимающе кивает. ]], code [[ pret(); ]]};
 
        {"Но ведь станция в отличном состоянии. ", [[Чарли вздыхает: "Просто, вы еще не пробыли здесь достаточно и многого не видели". ]], code [[ pret(); ]]};
 
        {tag="mtr_clock_more"};
 
        {"Расскажите, где вы их видели в последний раз.", [[Чарльз задумчиво чешет голову: "Около недели назад, в общей зале Арктоса. мы как раз обедали, ну и Леонард быстро проглотив все, как всегда убежал, оставив часы на столе. Потом я ушел работать, Мишель, кажется, еще оставался там". ]], code [[psub("generic");]] }
 
	};
 
};
 
atlantis_ignis.lua
Show inline comments
 
atl_ignis_main_center = room {
 
	nam = "Атлантида, Игнис, у лифта";
 
    dsc = [[Вы в центре огромного круглого зала. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. Рядом с вами расположена шахта лифта. В юго-западной, южной, юго-восточной, северо-восточной и северной частях зала расположены шлюзовые двери. ]];
 
	way = {
 
		vroom("В лифт", "atl_dom_lift");
 
		vroom("На север", "atl_ignis_main_toa");
 
		vroom("На юго-запад", "atl_ignis_main_toc");
 
		vroom("На юго-восток", "atl_ignis_main_tob");
 
		vroom("На юг", "atl_ignis_main_emex");
 
		vroom("На северо-запад", "atl_ignis_main_nw_wall");
 
		vroom("На северо-восток", "atl_ignis_main_tos");
 
	};
 
};
 
 
atl_ignis_main_emex = room {
 
	nam = "Атлантида, Игнис, у аварийного выхода";
 
	dsc = [[Вы находитесь в южной части огромного круглого зала, рядом со шлюзом аварийного выхода. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В шлюз", function()
 
			pr("Вам там нечего делать. ");
 
			return false;
 
		end);
 
		vroom("На север", "atl_ignis_main_center");
 
		vroom("На запад", "atl_ignis_main_toc");
 
		vroom("На восток", "atl_ignis_main_tob");
 
	};
 
};
 
 
atl_ignis_main_toc = room {
 
	nam = "Атлантида, Игнис, у входа в зал C";
 
	dsc = [[Вы находитесь в юго-западной части огромного круглого зала, рядом со входом в зал C. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В зал C", function()
 
			pr("Дверь заклинило");
 
			return false;
 
		end);
 
		vroom("На северо-восток", "atl_ignis_main_center");
 
		vroom("На север", "atl_ignis_main_nw_wall");
 
		vroom("На восток", "atl_ignis_main_emex");
 
	};
 
};
 
 
atl_ignis_main_nw_wall = room {
 
	var {
 
		seen = 0;
 
	};
 
	nam = "Атлантида, Игнис, у стены";
 
	dsc = [[Вы находитесь в северо-западной части огромного круглого зала. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		vroom("На юго-восток", "atl_ignis_main_center");
 
		vroom("На юг", "atl_ignis_main_toc");
 
		vroom("На восток", "atl_ignis_main_toa");
 
	};
 
	obj = {
 
		'atl_ignis_main_nw_wall_panel';
 
	};
 
};
 
 
atl_ignis_main_nw_wall_panel = obj {
 
	nam = "Щиток";
 
	dsc = [[В стену вмонтирован {электрический щиток}. Сейчас он открыт. ]];
 
};
 
 
atl_ignis_main_toa = room {
 
	nam = "Атлантида, Игнис, у входа в зал A";
 
	dsc = [[Вы находитесь в северо-западной части огромного круглого зала, рядом со входом в зал A. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		vroom("В зал A", "atl_ignis_hall_a");
 
		vroom("На юг", "atl_ignis_main_center");
 
		vroom("На запад", "atl_ignis_main_nw_wall");
 
		vroom("На восток", "atl_ignis_main_tos");
 
	};
 
};
 
 
atl_ignis_main_tos = room {
 
	nam = "Атлантида, Игнис, у входа в служебное помещение";
 
	dsc = [[Вы находитесь в северо-восточной части огромного круглого зала, рядом со входом в служебное помещение. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В служебное помещение", function()
 
			pr("Вам там нечего делать сейчас");
 
			return false;
 
		end);
 
		vroom("На юго-запад", "atl_ignis_main_center");
 
		vroom("На юг", "atl_ignis_main_tob");
 
		vroom("На запад", "atl_ignis_main_toa");
 
	};
 
};
 
 
atl_ignis_main_tob = room {
 
	nam = "Атлантида, Игнис, у входа в зал B";
 
	dsc = [[Вы находитесь в юго-западной части огромного круглого зала, рядом со входом в зал B. Свет в зале выключен и сквозь стеклянный купол, лишь в некоторых местах поддерживаемый металлическими конструкциями вы видите игру света на поверхности океана и проплывающих над вами рыб. ]];
 
	way = {
 
		kh_vroom("В зал B", function()
 
			pr("Дверь заклинило");
 
			return false;
 
		end);
 
		vroom("На северо-запад", "atl_ignis_main_center");
 
		vroom("На север", "atl_ignis_main_tos");
 
		vroom("На запад", "atl_ignis_main_emex");
 
	};
 
};
 
 
atl_ignis_hall_a = room {
 
	nam = "Атлантида, Игнис, зал А";
 
	enter = function(s)
 
		if (seen(char_learr_atlantis, atl_ignis_hall_a) and ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then
 
			if (where(char_jack_wright_atlantis) ~= atl_ignis_hall_a) then
 
			if (where(char_jack_wright_atlantis) ~= atl_ignis_hall_a and char_jack_wright_atlantis_dlg.state == 0) then
 
				put('char_jack_wright_atlantis', 'atl_ignis_hall_a');
 
			end;
 
		end;
 
	end;
 
	dsc = [[Средних размеров прямоугольный зал погружен во тьму. ]];
 
	obj = {
 
		'atl_ignis_illuminator';
 
		'atl_ignis_screen';
 
		'atl_ignis_projector';
 
		--'atl_ignis_lightswitch';
 
	};
 
	way = {
 
		vroom("В коридор", "atl_ignis_main_toa");
 
	};
 
};
 
 
atl_ignis_illuminator = obj {
 
	var {
 
		state = 1;
 
	};
 
	nam = "Иллюминатор";
 
	dsc = function(s)
 
		if (s.state == 1) then
 
			return [[Огромное панорамное {окно} открывает великолепный вид на океан вокруг. ]];
 
		else
 
			return [[Металлические жалюзи скрывают огромное панорамное {окно}. ]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.state == 1) then
 
			s.state = 0;
 
			return [[Вы дергаете рычаг рядом с окном и металлические жалюзи со скрежетом закрывают его, полностью блокируя проникновение света извне. ]];
 
		else
 
			s.state = 1;
 
			return [[Вы дергаете рычаг рядом с окном и металлические жалюзи со скрежетом отъезжают в стороны, открывая его. ]];
 
		end;
 
	end;
 
};
 
 
atl_ignis_screen = obj {
 
	nam = "Экран";
 
	dsc = function(s)
 
		return [[На одной из стен закреплен экран. ]];
 
	end;
 
};
 
 
atl_ignis_projector = obj {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Проектор";
 
	dsc = function(s)
 
		if (s.state == 0) then
 
			return [[{Проектор} готов к работе. ]];
 
		else
 
			return [[{Проектор} не работает. ]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.state == 0) then
 
			s.state = 1;
 
			return [[Вы включаете проектор, однако он не работает. ]];
 
		elseif (s.state == 1) then
 
			s.state = 2;
 
			return [[Вы выключаете проектор. ]];
 
        else
 
            return [[Проектор не работает. ]];         
 
		end;
 
	end;
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)