# HG changeset patch # User Silverwing # Date 2017-12-03 16:52:56 # Node ID 70ebccffec1629b3e2c60f122e8bde2ed6c48f92 # Parent 4ebd0126148602235a1790936703bf35146b9d8d Party dialogs diff --git a/party.lua b/party.lua --- a/party.lua +++ b/party.lua @@ -174,10 +174,38 @@ char_anna = obj { end; }; +learr_phone_dlg = dlg { + nam = "Леарр"; + entered = [[Вы слышите в трубке голос Леарр: "Ты говори". ]]; + dlg = { + { 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 { - nam = "learr_dlg"; - disp = "Леарр"; - hideinv = true; + nam = "Леарр"; entered = function(s) poff("on_books", "on_join", "on_before", "on_atlantis", "talk"); if (rel_learr < 0) then @@ -215,26 +243,6 @@ learr_home_dlg = dlg { poff('stay'); end; - --[[if char_learr.on_conflict == 0 and conflict_resolved then - char_learr.on_conflict = 1; - if rel_learr >= 0 then - if (artifacts_returned == 0) then - psub("on_solution_not_returned_ok"); - return [ [Вы подходите к Леарр и она первая обращается к вам: "Я благодарна-тебе-Дрейк-за-помощь. Разногласия-с-Дипатреанотром улажены. Нам спокойнее-бы-было если бы ты вернул-артефакты-нам, но я твой-выбор-понимаю. Тебе важно-Дрейка-найти, а Светловой важно-лучше-понять-нас". ] ]; - else - psub("on_solution_returned_ok"); - return [ [Вы подходите к Леарр и она первая обращается к вам: "Я благодарна-тебе-Дрейк-за-помощь. Разногласия-с-Дипатреанотром улажены. Я сожалею-что-мы-не-можем-дать-вам-артефакты-для-изучения. Это хевьярам-и-навьярам-вместе-помогло-бы". ] ]; - end; - else - if (artifacts_returned == 0) then - psub("on_solution_not_returned_ok"); - return [ [Вы подходите к Леарр и она первая обращается к вам: "Разногласия-с-Дипатреанотром улажены. Я благодарю-тебя. Ты не-вернул-артефакты-нам. Почему?" ] ]; - else - psub("on_solution_returned_ok"); - return [ [Вы подходите к Леарр и она первая обращается к вам: "Разногласия-с-Дипатреанотром улажены. Я благодарю-тебя. Ты вернул-артефакты-нам. Почему?" ] ]; - end; - end; - end;]] psub("generic"); return [[Леарр вопросительно смотрит на вас. ]]; end; @@ -289,7 +297,7 @@ learr_home_dlg = dlg { { tag = "on_iyh", always = true, "Что ты можешь рассказать мне о храме?", [[ "Каждый-храм два-входа-имеет. Большой-главный-вход далеко-виден. Тайный-задний-вход незаметен-но-всегда-есть. Мы давно-потеряли дорогу-к-этому-святилищу и задний-вход-не-помним. Если мы задний-вход-найдем, то обманем затмевающего-свет и в-храм-проникнем". ]]}; - { tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз", "Хорошо", + { tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз.", [[Леарр отвечает: "Хорошо". ]], function() char_learr:accompany(true); char_phaetlarr:accompany(false); @@ -300,14 +308,14 @@ learr_home_dlg = dlg { poff('join'); end; }; - { tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", + { tag = "stay", always = "true", "Оставайся на Левиафане.", [[Леарр отвечает: "Хорошо". ]], function() char_learr.accompany(char_learr, false); poff('stay'); pon('join'); end; }; - { tag = "exit", always = "true", "Это все", "Хорошо", + { tag = "exit", always = "true", "Это все.", [[Леарр отвечает: "ты возвращайся". ]], function() back(); end; @@ -315,10 +323,38 @@ learr_home_dlg = dlg { }; }; +phaetlarr_phone_dlg = dlg { + nam = "Фаэтларр"; + entered = [[Вы слышите голос Фаэтларра: "Фаэтларр слушает. Ты говори". ]]; + 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 = "phaetlarr_dlg"; - disp = "Фаэтларр"; - hideinv = true; + nam = "Фаэтларр"; entered = function(s) if (char_phaetlarr.follow) then pon('stay'); @@ -331,36 +367,70 @@ phaetlarr_home_dlg = dlg { 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; - } + { 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 = [[В трубке вы слышите голос Уолтера Рэдклиффа: "Рэдклифф слушает". ]]; + phr = { + {tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз.", [[ Уолтер отвечает: "Хорошо". ]], + function() + if (submarine_leviathan.suits > 1) then + 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 [[Я готов]]; + else + -- TODO сообщать это только если в партии есть навьяры + return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]]; + end; + 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 { - nam = "radcliffe_dlg"; - disp = "Уолтер Рэдклифф"; - hideinv = true; + nam = "Уолтер Рэдклифф"; entered = function (s) poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "questions"); if (rel_walter < 0) then @@ -513,7 +583,7 @@ radcliffe_home_dlg = dlg { end; end}; {tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Уолтер пожимает клечами: "Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют". ]]}; - {tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо", + {tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз.", [[ Уолтер отвечает: "Хорошо". ]], function() if (submarine_leviathan.suits > 1) then char_learr:accompany(false); @@ -530,24 +600,45 @@ radcliffe_home_dlg = dlg { end; end; }; - {tag="stay", always="true", "Оставайся на Левиафане", "Хорошо", + {tag="stay", always="true", "Оставайся на Левиафане.", [[ Уолтер отвечает: "Хорошо". ]], function() char_radcliffe.accompany(char_radcliffe, false); pon('join'); poff('stay'); end; }; - {tag="exit", always="true", "Это все", "Хорошо", + {tag="exit", always="true", "Это все.", [[ Уолтер отвечает: "До встречи". ]], function() back(); end; - }; + }; }; }; +wright_phone_dlg = dlg { + nam = "Джек Райт"; + entered = [[В трубке вы слышите голос Джека Райта: "Райт на связи". ]]; + 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 { - nam = "wright_main_dlg"; - disp = "Джек Райт"; + nam = "Джек Райт"; entered = function(s) if (atl_iyh_state == 7) then pon("on_iyh"); @@ -679,10 +770,38 @@ wright_main_dlg = dlg { }; }; +anna_phone_dlg = dlg { + nam = "Анна Рэдклифф"; + entered = [[В трубке вы слышите голос Анны Рэдклифф: "Рэдклифф слушает". ]]; + 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_home_dlg = dlg { - nam = "anna_home_dlg"; - disp = "Анна Рэдклифф"; - hideinv = true; + nam = "Анна Рэдклифф"; entered = function(s) if (atl_iyh_state == 7) then pon("on_iyh"); @@ -781,31 +900,25 @@ anna_home_dlg = dlg { {tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[ "Ночью скат скорее всего покинет свое логово в поисках пищи. Мы можем воспользоваться его отсутствием". ]]}; - { tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз", + { tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз", [[Анна отвечает: "Хорошо". ]], function() - if (submarine_leviathan.suits > 1) then - char_learr:accompany(false); - char_phaetlarr:accompany(false); - char_radcliffe:accompany(false); - char_wright:accompany(false); - char_anna:accompany(true); - pon('stay'); - poff('join'); - return [[Я готова]]; - else - -- TODO сообщать это только если в партии есть навьяры - return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]]; - end; + 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", "Оставайся на Левиафане", "Хорошо", + { tag = "stay", always = "true", "Оставайся на Левиафане", [[Анна отвечает: "Хорошо". ]], function() char_anna:accompany(false); pon('join'); poff('stay'); end; }; - { tag = "exit", always = "true", "Это все", "Хорошо", + { tag = "exit", always = "true", "Это все", [[Анна отвечает: "До встречи". ]], function() back(); end; @@ -829,7 +942,7 @@ anna_home_dlg = dlg { end}; {tag="on_black", "Расскажи об Адриане Блэке. ", function(s) char_anna.black_asked = 2; - return [[Анна Рэдклифф пожимает плечами: "Он никогда мне не нравился. Остальыне говорят, что он хорошо справляется с управлением станцией и вообще многое сделал для нас, но мне не нравится его холодность и неискренность".]]; + return [[Анна Рэдклифф пожимает плечами: "Он никогда мне не нравился. Остальные говорят, что он хорошо справляется с управлением станцией и вообще многое сделал для нас, но мне не нравится его холодность и неискренность".]]; end}; {tag="on_join", "Почему ты решила присоединиться к нам?", function(s) char_anna.on_join = 2;