party_accompany = function(s, value) if (ArrayUtils.indexOf(pl.party, s.nam) == 0) then return; end; s.follow = value; if (value) then lifeon(s); else move(s, s.home, where(s)); lifeoff(s); end; end; party_follow = function(s) if (where(pl).cutscene or where(pl).not_follow) then elseif where(pl).leviathan or where(pl).atlantis then if (stead.nameof(where(s)) ~= s.home) then move(s, s.home, where(s)); end; else move(s, where(pl), where(s)); end; end; -- TODO больше отвлеченных диалогов, дабы было о чем поговорить с сопартийцами. Не стоит делать их деревянными безжизненными манекенами char_learr = obj { var { home = "leviathan_wardroom"; follow = false; on_books = 0; on_join = 0; on_before = 0; on_atlantis = 0; on_conflict = 0; on_temples = 0; }; nam = "learr"; disp = "Леарр"; dsc = function(s) if (stead.nameof(where(s)) == s.home) then return [[{Леарр} сидит в кресле, листая книгу. ^]]; else return [[{Леарр} ждет ваших указаний. ^]]; end; end; accompany = party_accompany; life = party_follow; act = function(s) if (stead.nameof(where(s)) == s.home) then walkin(learr_home_dlg); else --walkin(learr_dlg); return [[]]; end; end; seen_level = 2; }; char_phaetlarr = obj { var { home = "leviathan_engines"; follow = false; }; nam = "phaetlarr"; disp = "Фаэтларр"; dsc = function(s) if (stead.nameof(where(s)) == s.home) then return [[{Фаэтларр} с интересом наблюдает за работой двигателей "Левиафана" ^]]; else return [[{Фаэтларр} ждет ваших указаний. ^]]; end; end; accompany = party_accompany; life = party_follow; act = function(s) if (stead.nameof(where(s)) == s.home) then walkin(phaetlarr_home_dlg); else walkin(phaetlarr_dlg); end; end; seen_level = 2; }; char_radcliffe = obj { var { home = "leviathan_engines"; follow = false; rel_on_join = nil; on_walter = 0; on_atlantis = 0; on_black = 0; on_drake = 0; on_anna = 0; on_join = 0; on_conflict = 0; }; nam = "radcliffe"; disp = "Уолтер Рэдклифф"; dsc = function(s) if (stead.nameof(where(s)) == s.home) then return [[{Уолтер Рэдклифф} задумчиво крутит в руках какую-то деталь. ^]]; else return [[{Уолтер Рэдклифф} ждет ваших указаний. ^]]; end; end; accompany = party_accompany; life = party_follow; act = function(s) if (stead.nameof(where(s)) == s.home) then walkin(radcliffe_home_dlg); else walkin(radcliffe_dlg); end; end; seen_level = 2; }; char_wright = obj { var { home = "leviathan_wardroom"; follow = false; on_learr = 0; on_leviathan = 0; on_conflict = 0; on_jack = 0; }; nam = "wright"; disp = "Джек Райт"; dsc = function(s) if (stead.nameof(where(s)) == s.home) then return [[{Джек Райт} читает какую-то книгу. ^]]; else return [[{Джек Райт} ждет ваших указаний. ^]]; end; end; accompany = party_accompany; life = party_follow; act = function(s) walkin(wright_main_dlg); end; seen_level = 2; }; char_anna = obj { var { follow = false; anna_asked = 0; walter_asked = 0; atlantis_asked = 0; drake_asked = 0; join_asked = 0; black_asked = 0; rel_on_join = nil; }; nam = "anna"; disp = "Анна Рэдклифф"; dsc = function(s) if (stead.nameof(where(s)) == s.home) then return [[{Анна Рэдклифф} смотрит в иллюминатор. ^]]; else return [[{Анна Рэдклифф} ждет ваших указаний. ^]]; end; end; home = "leviathan_wardroom"; accompany = party_accompany; life = party_follow; act = function(s) if (stead.nameof(where(s)) == s.home) then anna_dlg.home = true; else anna_dlg.home = false; end; walkin(anna_dlg); end; seen_level = 2; }; learr_phone_dlg = dlg { nam = "Леарр"; entered = function(s) if (char_learr.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[Вы слышите в трубке голос Леарр: "Ты говори". ]]; end; phr = { { tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз.", [[Леарр отвечает: "Хорошо". ]], function() char_learr:accompany(true); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(false); pon('stay'); poff('join'); end; }; { tag = "stay", always = true, "Оставайся на Левиафане.", [[Леарр отвечает: "Хорошо". ]], function() char_learr.accompany(char_learr, false); poff('stay'); pon('join'); end; }; { tag = "exit", always = true, "Это все.", [[Леарр отвечает: "Ты приходи". ]], function() back(); end; }; }; }; learr_home_dlg = dlg { var { iraa_temple_asked = false; }; nam = "Леарр"; entered = function(s) poff("on_books", "on_join", "on_before", "on_atlantis", "talk"); if (rel_learr < 0) then pon("talk"); else --[[if (char_learr.on_books < 3) then pon("on_books"); pon("talk"); end;]] if (char_learr.on_join < 2) then pon("on_join"); pon("talk"); end; if (char_learr.on_before < 2) then pon("on_before"); pon("talk"); end; if (char_learr.on_atlantis < 2) then pon("on_atlantis"); pon("talk"); end; if (char_learr.on_temples < 2 and atl_navjiarr_temple_seen) then pon("on_temples"); pon("talk"); end; end; if (atl_iyh_state == 7) then pon("on_iyh"); else poff("on_iyh"); end; if (ven_quest_status == 8 and not ven_learr_spoken_8) then ven_learr_spoken_8 = true; pon('on_ven_keeper'); else poff('on_ven_keeper'); end; if (char_learr.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; if atl_ctt_iraa_refusal and not s.iraa_temple_asked then s.iraa_temple_asked = true; pon("on_iraa_temple"); end; psub("generic"); return [[Леарр вопросительно смотрит на вас. ]]; end; phr = { {tag="on_solution_not_returned"}; {tag="sp11", "Будет лучше если артефакты останутся у нас. ", [[Леарр удивляется вашим словам: "Они принадлежат нам!" ]], code [[ rel_learr = rel_learr - 1; psub("generic");]]}; {tag="sp12", "Светлова вернет вам артефакты, как только всесторонне изучит их, бояться нечего. ", [[Леарр кивает: "Я знаю". ]], code [[ rel_learr = rel_learr + 1; psub("generic");]]}; {"Посмотрим, что светлова сможет извлечь из этого. Но я пришел поговорить от другом. ", function(s) if rel_learr < 0 then return [[Леаар просит: "Ты ответь". ]]; else psub("generic"); return [[Леарр кивает: "Ты говори". ]]; end; end}; {tag="on_solution_returned_ok"}; {tag="sp21", "Было бы лучше, если бы артефакты остались у нас. ", [[Леарр удивляется вашим словам: "Они принадлежат нам!" ]], code [[ rel_learr = rel_learr - 1; psub("generic");]]}; {tag="sp22", "Правила есть правила. ", [[Леарр кивает: "Я знаю". ]], code [[ rel_learr = rel_learr + 1; psub("generic");]]}; {"Я пришел поговорить от другом. ", function(s) if rel_learr < 0 then return [[Леаар просит: "Ты ответь". ]]; else psub("generic"); return [[Леарр кивает: "Ты говори". ]]; end; end}; {tag="more_questions"}; --[[{tag="on_books", "", function() end};]] {tag="on_join", "Почему ты отправилась с нами?", function() char_learr.on_join = 2; return [[Леарр отвечает: "Я с-Уильямом-Дрейком-хотела-отправиться, но отец не-разрешил. Он сейчас-изменил-решение и я могу-с-тобой-искать". ]]; end}; {tag="on_before", "Расскажи о своей жизни в Ираафаанотре.", function() char_learr.on_before = 2; return [[Леарр отвечает: "Я вождя-дочь. Я думать-искать-решать-сложно-но-интересно-было-училась. Хевьяры пришли-и-все-изменили. Я теперь-говорить-не-с-навьярами-учусь. Отец будущему-вождю-полезно-это-говорит. Я согласна-с-ним-в-этом".]]; end}; {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function() char_learr.on_atlantis = 2; return [[Леарр отвечает: "Мы многому-научиться-у-вас-должны-и-можем. Вы в-воде-не-дышите-как-мы, но вы машины-делающие-это-за-вас-строите. Легенды гласят, что мы тоже-это-умели, но почему-разучились? Я не умею. Отец не умеет. Другие не умеют. И в-книгах-не-написано". Леарр печально вздыхает. ]]; end}; {tag="on_temples", "Расскажи о ваших храмах. ", function() char_learr.on_temples = 2; return [[Леарр рассказывает: "Мы там-наши-реликвии-храним. Некоторые считают, ранее-храмы открыты-для-всех-включая-хевьяров-были. Так-в-старых-книгах-написано. У-каждого-города свой-храм-есть. "]]; end}; {tag="on_obelisks", "Я видел каменные обелиски к востоку от Дипатреанотра, что ты о них знаешь? ", function() char_learr.on_temples = 2; return [[Леарр рассказывает: "Мы мало-что-помним. Они о-какой-то-опасности-должны-были-предупреждать, но ни опасности, ни ее-имени не-сохранилось. Молодые это-память-о-навьярском-прошлом-говорят, но я в-это-не-верю. Сохраненные-реликвии гораздо-более-великие, чем старые-камни". ]]; end}; {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[pret();]]}; {tag="generic"}; { tag = "talk", always = true, "Я хочу кое-что спросить.", function(s) if rel_learr >= 0 then psub("more_questions"); return [[Леарр кивает: "Ты говори". ]]; else return [[Леарр отвечает: "Мы потом-поговорим". ]]; end; end}; { tag = 'on_ven_keeper', false, 'Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?', [[Леарр пожимает плечами: "Только вождь сможет на него повлиять. Говори с ним, а не со мной". ]]}; { tag = "on_iraa_temple", false, "Нам нужно попасть в храм и найти карту. Ты можешь уговорить вождя дать нам доступ?", [[Плавники Леарр окрашиваются сиреневым, она говорит: "Ты невозможного-просишь". Кажется, она закончила, но через мгновение, навьяресса внезапно добавляет: "Я карту-найду, если ты-Дрейк разрешишь". ]]}; { tag = "on_iyh", always = true, "Что ты можешь рассказать мне о храме?", [["Каждый-храм два-входа-имеет. Большой-главный-вход далеко-виден. Тайный-задний-вход незаметен-но-всегда-есть. Мы давно-потеряли дорогу-к-этому-святилищу и задний-вход-не-помним. Если мы задний-вход-найдем, то обманем затмевающего-свет и в-храм-проникнем". ]]}; { tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз.", [[Леарр отвечает: "Хорошо". ]], function() char_learr:accompany(true); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(false); pon('stay'); poff('join'); end; }; { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Леарр отвечает: "Хорошо". ]], function() char_learr.accompany(char_learr, false); poff('stay'); pon('join'); end; }; { tag = "exit", always = "true", "Это все.", [[Леарр отвечает: "Ты возвращайся". ]], function() back(); end; }; }; }; phaetlarr_phone_dlg = dlg { nam = "Фаэтларр"; entered = function(s) if (char_phaetlarr.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[Вы слышите голос Фаэтларра: "Фаэтларр слушает. Ты говори". ]]; end; phr = { { tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Фаэтларр отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(true); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(false); poff('join'); pon('stay'); end; }; { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Фаэтларр отвечает: "Хорошо". ]], function() char_phaetlarr.accompany(char_phaetlarr, false); pon('join'); poff('stay'); end; }; { tag = "exit", always = "true", "Это все.", [[Фаэтларр отвечает: "Ты приходи. Конец связи". ]], function() back(); end; } }; }; phaetlarr_home_dlg = dlg { nam = "Фаэтларр"; entered = function(s) if (char_phaetlarr.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[Фаэтларр ждет ваших указаний. ]]; end; phr = { { tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Фаэтларр отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(true); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(false); poff('join'); pon('stay'); end; }; { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Фаэтларр отвечает: "Хорошо". ]], function() char_phaetlarr.accompany(char_phaetlarr, false); pon('join'); poff('stay'); end; }; { tag = "exit", always = "true", "Это все.", [[Фаэтларр отвечает: "Ты возвращайся". ]], function() back(); end; } }; }; radcliffe_phone_dlg = dlg { nam = "Уолтер Рэдклифф"; entered =function(s) if (char_radcliffe.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[В трубке вы слышите голос Уолтера Рэдклиффа: "Рэдклифф слушает". ]]; end; phr = { {tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз.", [[ Уолтер отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(true); char_wright:accompany(false); char_anna:accompany(false); pon('stay'); poff('join'); return [[Я готов]]; end; }; {tag="stay", always="true", "Оставайся на Левиафане.", [[ Уолтер отвечает: "Хорошо". ]], function() char_radcliffe.accompany(char_radcliffe, false); pon('join'); poff('stay'); end; }; {tag="exit", always="true", "Это все.", [[Уолтер отвечает: "Конец связи". ]], function() back(); end; }; }; }; radcliffe_home_dlg = dlg { var { iraa_temple_asked = false }; nam = "Уолтер Рэдклифф"; entered = function (s) if atl_ctt_iraa_refusal and not s.iraa_temple_asked then iraa_temple_asked = true; pon("on_iraa_temple"); end; if (ven_quest_status == 8 and not ven_radcliffe_spoken_8) then ven_radcliffe_spoken_8 = true; pon('on_ven_keeper'); else poff('on_ven_keeper'); end; if have(item_raybox) then pon('on_raybox'); else poff('on_raybox'); end; poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "questions"); if (rel_walter < 0) then pon("questions"); else if (char_radcliffe.on_anna < 3) then pon("on_anna"); pon("questions"); end; if (char_radcliffe.on_black < 2) then pon("on_black"); pon("questions"); end; if (char_radcliffe.on_walter < 2) then pon("on_walter"); pon("questions"); end; if (char_radcliffe.on_atlantis < 2) then pon("on_atlantis"); pon("questions"); end; if (char_radcliffe.on_drake < 2) then pon("on_drake"); pon("questions"); end; if (char_radcliffe.on_join < 2) then pon("on_join"); pon("questions"); end; end; if (atl_iyh_state == 7) then pon("on_iyh"); else poff("on_iyh"); end; if (char_radcliffe.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; psub("generic"); if char_radcliffe.on_conflict == 0 and conflict_resolved then char_radcliffe.on_conflict = 1; if (rel_walter < 0) then if atl_iyh_shockfish_dead then if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что чего хотели". ]]; else return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены. Могу лишь понадеяться, что твои действия не помешают нам найти Уильяма и Адриана". ]]; end; elseif atl_iyh_entrance_destroyed then if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас". ]]; else return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров". ]]; end; else if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме". ]]; else return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме. Жаль, что артефакты мы так и не посмотрели". ]]; end; end; else if atl_iyh_shockfish_dead then if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что хотели. Я поступил бы так же на твоем месте". ]]; else return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены и теперь нам придется обходиться без их помощи". ]]; end; elseif atl_iyh_entrance_destroyed then if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]]; else return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]]; end; else if atl_iyh_artifacts_on_atlantis then return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Артефакты у нас, Ираафаанотр получит свою реликвию, а мы можем продолжать наши поиски". ]]; else return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Ираафаанотр получил свою реликвию, а мы можем продолжать наши поиски". ]]; end; end; end; end; return [[Уолтер задумчиво смотрит на вас. ]]; end; phr = { {tag="talk"}; {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 = 3; if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then return [[Уолтер вздыхает: "Будь у меня выбор тогда, я ни за что не взял бы ее на Атлантиду. И жалел бы сейчас об этом. Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю. Я все еще не уверен, что взять ее на Левиафан было хорошей идеей -- Бог знает, с чем мы столкнемся в наших странствиях, но она очень этого хотела". ]]; else return [[Уолтер вздыхает: "Будь у меня выбор тогда, я ни за что не взял бы ее на Атлантиду. И жалел бы сейчас об этом. Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю. То, что она осталась на станции успокаивает меня, хотя она так рвалась в эту экспедицию вместе с нами". ]]; end; end}; {tag="on_drake", "Что ты можешь сказать о Дрейке?", function(s) char_radcliffe.on_drake = 2; return [[Уолтер отвечает: "Не думаю, что скажу про него больше чем кто-то еще. Послушайте Райта, Моро, быть может Даркстара, хотя черт знает, что у этого типа на уме. Они скажут вам все и даже больше. "]]; end}; {tag="on_join", "Почему ты решил присоединиться к нам?", function(s) char_radcliffe.on_join = 2; if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then if char_anna.rel_on_join >= 0 and char_radcliffe.rel_on_join >= 0 then return [[Уолтер Рэдклифф отвечает: "Мы с Анной очень хотели отправиться в эту экспедицию: во-первых, вам не помешает наша помощь, а во-вторых -- мы хотим узнать, что стало с экипажем Надежды". ]]; elseif char_anna.rel_on_join >= 0 then return [[Уолтер Рэдклифф отвечает: "Признаюсь, я не слишком доверял вам тогда, но Анна убедила меня отправиться на Левиафане вместе с вами. И вот мы здесь".]] elseif char_radcliffe.rel_on_join >= 0 then return [[Уолтер Рэдклифф отвечает: "Ты сразу мне понравился, и это путешествие предоставляет мне возможность узнать, что стало с экипажем Надежды. Хотя Анна не хотела отправляться с вами, я решил, что будет лучше, если мы с ней будем на борту вместе".]] else return [[Уолтер Рэдклифф отвечает: "Скажу честно, единственная причина, почему мы отправились с вами кроется в нашем желании найти Надежду".]] end; else if (char_radcliffe.rel_on_join >= 0) then return [[Уолтер Рэдклифф отвечает: "Мы с Анной очень хотели отправиться в эту экспедицию, но к счастью, мне удалось уговорить ее остаться на Атлантиде. Я не хочу подвергать ее опасностям, которые могут подстерегать нас". ]]; else return [[Уолтер Рэдклифф отвечает: "Признаюсь, я не слишком доверял тебе тогда, но это единственный способ узнать, что стало с Надеждой". ]]; end; end; end}; {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s) char_radcliffe.on_atlantis = 2; return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]]; end}; {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[pret();]]}; {tag="generic"}; {tag="questions", always=true, "У меня есть несколько вопросов. ", function(s) if (rel_anna < 0) then return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]]; else psub("questions"); return [[Уолтер кивает: "Слушаю". ]]; end; end}; {tag='on_raybox', [[Ты можешь посмотреть эту "коробочку лучей"? Нам нужно подключить ее. ]], [[Уолтер берет коробочку лучей и долго вертит ее в руках. Затем задумчиво произносит: "Если она работает на электричестве, я смогу оживить ее, но это потребует времени". ]], code [[ remove(item_raybox, pl); raybox_task = true; ]]}; {tag='ven_keeper', false, 'Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?', function(s) if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then return [[Уолтер отвечает: "Леарр и Анна будут более полезны чем я в данном вопросе". ]]; elseif ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then return [[Уолтер отвечает: "Почему бы не спросить Леарр?" ]]; elseif ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then return [[Уолтер отвечает: "Моя сестра сможет помочь". ]]; else return [[Уолтер отвечает: "Тут только вождь сможет помочь". ]]; end; end}; {tag="on_iraa_temple", false, "Вождь Ираафаанотра не хочет пускать меня в храм. Что мы можем сделать?", [[Уолтер отвечает: "В прошлый раз нам оказалось достаточно оказаться рядом с храмом, чтобы найти искомое. Быть может, в этот раз нам так же не нужно проникать внутрь? И я бы не стал исключать возможность скрытного проникновения. Раз они не знают о карте, то и не заметят потери". ]]}; {tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Уолтер пожимает клечами: "Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют". ]]}; {tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз.", [[ Уолтер отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(true); char_wright:accompany(false); char_anna:accompany(false); pon('stay'); poff('join'); return [[Я готов]]; end; }; {tag="stay", always="true", "Оставайся на Левиафане.", [[ Уолтер отвечает: "Хорошо". ]], function() char_radcliffe.accompany(char_radcliffe, false); pon('join'); poff('stay'); end; }; {tag="exit", always="true", "Это все.", [[ Уолтер отвечает: "До встречи". ]], function() back(); end; }; }; }; wright_phone_dlg = dlg { nam = "Джек Райт"; entered = function(s) if (char_wright.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[В трубке вы слышите голос Джека Райта: "Райт на связи". ]]; end; phr = { {tag="join", always="true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Джек Райт отвечает: "Хорошо". ]], code [[ char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(true); char_anna:accompany(false); pon('stay'); poff('join'); ]]}; {tag="stay", always="true", "Оставайся на Левиафане.", [[Джек Райт отвечает: "Хорошо". ]], code [[ char_wright:accompany(false); pon('join'); poff('stay'); ]]}; {tag="exit", always="true", "Это все.", [[Джек Райт отвечает: "Конец связи". ]], code [[ back(); ]]}; }; }; wright_main_dlg = dlg { var { iraa_temple_asked = false }; nam = "Джек Райт"; entered = function(s) if (atl_iyh_state == 7) then pon("on_iyh"); else poff("on_iyh"); end; if (char_wright.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; poff("talk"); if (rel_jack < 0) then if (char_wright.on_learr == 0 and ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then pon("on_learr", "talk"); end; if (char_wright.on_leviathan == 0) then pon("on_leviathan", "talk"); end; if (char_wright.on_jack == 0) then pon("on_jack", "talk"); end; else if (char_wright.on_learr < 3 and ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then pon("on_learr", "talk"); end; if (char_wright.on_leviathan < 2) then pon("on_leviathan", "talk"); end; if (char_wright.on_jack < 2) then pon("on_jack", "talk"); end; end; if atl_ctt_iraa_refusal and not s.iraa_temple_asked then iraa_temple_asked = true; pon("on_iraa_temple"); end; psub("generic"); if (ven_quest_status == 8 and not ven_wright_spoken_8) then ven_wright_spoken_8 = true; pon('on_ven_keeper'); else poff('on_ven_keeper'); end; if char_wright.on_conflict == 0 and conflict_resolved then char_wright.on_conflict = 1; if (rel_jack < 0) then if atl_iyh_shockfish_dead then if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Должен признать, Дрейк, у меня на твоем месте не хватило бы смелости. Надеюсь, ты понимаешь, что делаешь". ]]; else return [[Джек при виде вас заявляет: "Ты, точно, псих, Дрейк. Леарр будет в ярости и я ее понимаю". ]]; end; elseif atl_iyh_entrance_destroyed then if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Но, по-крайней мере, что-то мы оттуда вынесли". ]]; else return [[Джек при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Навьяры, конечно, получили свою реликвию, но с целым храмом, они получили бы гораздо больше". ]]; end; else if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Неплохо, Дрейк. Гораздо лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]]; else return [[Джек при виде вас заявляет: "Неплохо, Дрейк. Лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]]; end; end; else if atl_iyh_shockfish_dead then if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Я все еще думаю, что был менее кровопролитный способ, но это же всего лишь рыбина. Надеюсь, что навьяры не узнают об этом". ]]; else return [[Джек при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Жаль, Леарр не оценила твоей решимости". ]]; end; elseif atl_iyh_entrance_destroyed then if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К счастью, мы смогли вытащить оттуда кое-что ценное". ]]; else return [[Джек при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К тому же, мы вернули навьярам то, что смогли найти". ]]; end; else if atl_iyh_artifacts_on_atlantis then return [[Джек при виде вас заявляет: "Мы блестяще справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал". ]]; else return [[Джек при виде вас заявляет: "Мы отлично справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал. Правда, артефакты пришлось отдать навьярам, но думаю Светлова договорится об их изучении". ]]; end; end; end; end; return [[Джек вопросительно смотрит на вас. ]]; end; phr = { {tag="generic"}; {tag='on_ven_keeper', false, 'Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?', function(s) if rel_jack < 0 then return [[Джек пожимает плечами: "Понятия не имею". ]]; else if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then return [[Джек пожимает плечами: "Думаю на этот счет лучше поговорить с Леарр или Анной". ]]; elseif ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then return [[Джек отвечает: "Если на борту кто-то и может помочь с этим, то это Леарр". ]]; elseif ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then return [[Джек отвечает: "Анна хорошо знает навьяров, у нее наверняка есть какое-то решение на такой случай". ]]; else return [[Джек пожимает плечами: "Понятия не имею. Возможно, вождь сможет помочь". ]]; end; end; end}; {tag="on_iraa_temple", false, "Вождь Ираафаанотра не хочет пускать меня в храм. Что мы можем сделать?", [[Джек отвечает: "Нам не нужна сама карта. Мы можем попробовать проникнуть в храм и сделать копию карты. Никто ничего не заметит, никто ничего не потеряет". ]]}; {tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Джек Райт задумчиво произносит: "Возможно получится выманить ската, если направить прожектор на вход храма..."^Немного подумав, он добавляет: "Другое дело, что при этом он, скорее всего, атакует Левиафан". ]]}; {tag="join", always="true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Джек Райт отвечает: "Хорошо". ]], code [[ char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(true); char_anna:accompany(false); pon('stay'); poff('join'); ]]}; {tag="stay", always="true", "Оставайся на Левиафане.", [[Джек Райт отвечает: "Хорошо". ]], code [[ char_wright:accompany(false); pon('join'); poff('stay'); ]]}; {tag="talk", "Я хочу кое-что спросить.", [[Джек Райт кивает: "Слушаю". ]], code [[psub("more_questions");]]}; {tag="exit", always="true", "Это все.", [[Джек Райт отвечает: "Хорошо". ]], code [[ back(); ]]}; {tag="more_questions"}; {tag="on_learr", false, "Что ты думаешь о Леарр?", function() char_wright.on_learr = 3; if (ArrayUtils.indexOf(pl.party, 'readcliffe') ~= 0) then return [[Джек отвечает: "Никогда бы не подумал, что скажу это о девушке, да еще и навьярессе, но у меня порой возникает ощущение, что Леарр разбирается в работе Левиафана лучше всех на борту, исключая, может быть Уолтера. Не поверишь, если скажу, сколь часто мне самому приходится обращаться к ней за советом". ]]; else 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 char_wright.on_jack = 1; return [[Джек отказывается отвечать: "Не хочу это обсуждать".]]; else char_wright.on_jack = 2; return [[Джек отвечает: "Да, в общем-то, ничем. Отец оставил нам с матерью достаточно денег, чтобы мы могли ни в чем не нуждаться. Мать оплатила мое образование в том же университете, где учился отец. Получив диплом с отличием, я просто поставил его на полку. Не нашел дела по душе, да и необходимости не было. Позже, когда мать умерла, я вообще практически прекратил связи с внешним миром. Думаю, что хоть я и бросил идею найти отца, я все-таки продолжал надеяться -- практически все время я посвящал чтению газет со всех уголков света, в поисках известий о случившемся с Вестхейвен Трансоушен. Впрочем, как только первоначальный ажиотаж спал, никто толком и не писал о случившемся. "]]; end; end}; {always=true, "Вернемся к делу.", [[Джек молча кивает. ]], code [[ pret(); ]]}; }; }; anna_phone_dlg = dlg { nam = "Анна Рэдклифф"; entered = function(s) if (char_anna.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; return [[В трубке вы слышите голос Анны Рэдклифф: "Рэдклифф слушает". ]]; end; phr = { { tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз.", [[Анна отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(true); pon('stay'); poff('join'); end; }; { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Анна отвечает: "Хорошо". ]], function() char_anna:accompany(false); pon('join'); poff('stay'); end; }; { tag = "exit", always = "true", "Это все.", [[Анна отвечает: "Конец связи". ]], function() back(); end; }; }; }; anna_dlg = dlg { var { iraa_temple_asked = false }; nam = "Анна Рэдклифф"; entered = function(s) psub("generic"); if (atl_iyh_state == 7) then pon("on_iyh"); else poff("on_iyh"); end; poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_join", "talk"); if s.home then if (rel_anna < 0) then pon("talk"); else if (char_anna.anna_asked < 2) then pon("on_anna"); pon("talk"); end; if (char_anna.walter_asked < 2) then pon("on_walter"); pon("talk"); end; if (char_anna.atlantis_asked < 2) then pon("on_atlantis"); pon("talk"); end; if (char_anna.drake_asked < 2) then pon("on_drake"); pon("talk"); end; if (char_anna.join_asked < 2) then pon("on_join"); pon("talk"); end; if (char_anna.black_asked < 2) then pon("on_black"); pon("talk"); end; end; if (char_anna.follow) then pon('stay'); poff('join'); else pon('join'); poff('stay'); end; else poff('stay', 'join') end; if (ven_quest_status == 8 and not ven_anna_spoken_8) then ven_anna_spoken_8 = true; pon('on_ven_keeper'); else poff('on_ven_keeper'); end; if atl_ctt_iraa_refusal and not s.iraa_temple_asked then iraa_temple_asked = true; pon("on_iraa_temple"); end; if char_anna.on_conflict == 0 and conflict_resolved then char_anna.on_conflict = 1; if (rel_anna < 0) then if atl_iyh_shockfish_dead then return [[Анна при виде вас заявляет: "Твои методы, Дрейк, меня совершенно не устраивают. Там в храме, ты просто закидал несчастную рыбину торпедами!" ]]; elseif atl_iyh_entrance_destroyed then return [[Анна при виде вас заявляет: "Твои методы, Дрейк, меня совершенно не устраивают. Этот храм мог раскрыть слишком многое о навьярах и их истории, чтобы его просто разрушить!" ]]; else if atl_iyh_artifacts_on_atlantis then return [[Анна при виде вас заявляет: "Артефакты у нас, навьяры довольны. Уолтер был прав". ]]; else return [[Анна при виде вас заявляет: "Мы смогли найти реликвию и вернуть ее в Ираафаанотр. Уолтер не ошибся в тебе, Дрейк". ]]; end; end; else if atl_iyh_shockfish_dead then if atl_iyh_artifacts_on_atlantis then return [[Анна при виде вас заявляет: "Твои методы, Дрейк, меня совершенно не устраивают. Там в храме, ты просто закидал несчастную рыбину торпедами! Конечно, мы достигли цели..." ]]; else return [[Анна при виде вас заявляет: "Твои методы, Дрейк, меня совершенно не устраивают. Там в храме, ты просто закидал несчастную рыбину торпедами! Что теперь будет с Атлантидой и навьярами?" ]]; end; elseif atl_iyh_entrance_destroyed then if atl_iyh_artifacts_on_atlantis then return [[Анна при виде вас заявляет: "Я все понимаю, Дрейк, но все же... Неужели не было менее разрушительного решения? Часть артефактов, конечно, у нас. Но сколько еще мы могли бы получить, если бы храм остался стоять". ]]; else return [[Анна при виде вас заявляет: "Я все понимаю, Дрейк, но все же... Неужели не было менее разрушительного решения?" ]]; end; else if atl_iyh_artifacts_on_atlantis then return [[Анна при виде вас заявляет: "Артефакты у нас, навьяры довольны. Реликвия в Ираафаанотре, на своем законном месте. Прекрасно". ]]; else return [[Анна при виде вас заявляет: "Реликвия в Ираафаанотре, на своем законном месте. Прекрасно". ]]; end; end; end; end; return [[Анна ждет ваших указаний. ]]; end; phr = { {tag="generic"}; {tag="talk", false, "Мы можем поговорить?", function(s) if (rel_anna < 0) then return [[Анна отрицательно качает головой: "Не сейчас". ]]; else psub("talk_more"); return [[Анна кивает: "Да, конечно. Я вас слушаю". ]]; end; end}; {tag='on_ven_keeper', false, "Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?", function(s) if rel_anna < 0 then return [[Анна отвечает: "Не думаю, что могу чем-то помочь". ]]; else take(ven_item_potion); return [[Анна прогягивает вам флакончик с какой-то жидкостью со словами: "Если хранитель вдохнет или проглотит это -- он уснет". ]] end; end}; {tag="on_iraa_temple", false, "Вождь Ираафаанотра не хочет пускать меня в храм. Есть какой-то способ попасть внутрь?", function(s) if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then return [[Анна отвечает: "Вам стоит поговорить с Леарр. Во-первых, она лучше знает традиции навьяров, во-вторых, в храм она может входить свободно". ]]; else return [[Анна отвечает: "Не знаю способа, который не вызвал бы недовольство навьяров". ]]; end; end}; {tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[ "Ночью скат скорее всего покинет свое логово в поисках пищи. Мы можем воспользоваться его отсутствием". ]]}; { tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз.", [[Анна отвечает: "Хорошо". ]], function() char_learr:accompany(false); char_phaetlarr:accompany(false); char_radcliffe:accompany(false); char_wright:accompany(false); char_anna:accompany(true); pon('stay'); poff('join'); end; }; { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Анна отвечает: "Хорошо". ]], function() char_anna:accompany(false); pon('join'); poff('stay'); end; }; { tag = "exit", always = "true", "Это все.", [[Анна отвечает: "До встречи". ]], function() back(); end; }; { tag = "talk_more"}; {tag="on_anna", "Расскажи о себе. ", function(s) char_anna.anna_asked = 2; return [[Анна Рэдклифф грустно вздыхает: "Мне почти нечего рассказывать. Я с молодости живу здесь, на Атлантиде. Когда Уолтер сказал, что мы будем жить здесь, я сперва расстроилась -- тогда это казалось мне невероятно скучным -- жить вдали от цивилизации, среди людей, которые старше меня на двадцать с лишним лет. На самом деле все оказалось не столь плохо -- здесь есть навьяры. Когда они заняты -- я сижу в библиотеке, с Мари". ]]; end}; {tag="on_walter", "Расскажи об Уолтере. ", function(s) char_anna.walter_asked = 2; return [[Анна Рэдклифф отвечает: "Уолтер -- мой старший брат. Он заботится обо мне с тех пор, как мама с папой покинули нас. Хотя моя жизнь сильно изменилась, когда Уолтер забрал меня с собой на Атлантиду, я не жалею об этом". ]]; end}; {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s) char_anna.atlantis_asked = 2; return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь лет десять. Мне казалось, что уже через полгода-год мы вернемся на поверхность, но намерения вашего отца сильно отличались от этого. Потом Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]]; end}; {tag="on_drake", "Расскажи об Уильяме Дрейке. ", function(s) char_anna.drake_asked = 2; return [[Анна Рэдклифф отвечает: "Хотя Дрейк -- руководитель Атлантиды, он проводит больше времени здесь, в Окулусе, чем в своем кабинете в Доминусе. Сейчас он в экспедиции -- они с Блэком отправились на поиски отдаленных навьярских поселений". ]]; end}; {tag="on_black", "Расскажи об Адриане Блэке. ", function(s) char_anna.black_asked = 2; return [[Анна Рэдклифф пожимает плечами: "Он никогда мне не нравился. Остальные говорят, что он хорошо справляется с управлением станцией и вообще многое сделал для нас, но мне не нравится его холодность и неискренность".]]; end}; {tag="on_join", "Почему ты решила присоединиться к нам?", function(s) char_anna.on_join = 2; if (char_anna.rel_on_join >= 0) then return [[Анна Рэдклифф отвечает: "Я хотела помочь вам найти Уильяма. Если он не вернулся до сих пор, то возможно, что-то произошло с Надеждой". ]]; elseif (char_radcliffe.rel_on_join >= 0) then return [[Анна Рэдклифф отвечает: "Уолтер убедил меня отправиться на Левиафане. Ему нужна была моя помощь". ]]; else return [[Анна Рэдклифф отвечает: "Уолтер убедил меня отправиться на Левиафане. Ему нужна была моя помощь". ]]; end; end}; {tag="quit", always=true, "Поговорим в другой раз. ", [[Анна кивает: "Хорошо".]], code [[pret();]]}; }; };