diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -4,21 +4,9 @@ char_darkstar_dlg = dlg { }; nam = "Винсент Даркстар"; disp = "Винсент Даркстар"; - entered = function(s) - if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then - psub("lfc_warning"); - return [[Винсент Даркстар недовольно смотрит на вас: "Господин Дрейк. Вы вообще понимаете, что делаете? Это последнее предупреждение. В следующий раз я приму меры. Все ясно? "]]; - end; - if (atl_lfc_leroy_spoken) then - pon("accuse_leroy"); - end; - - if (atl_lfc_goldman_spoken) then - pon("accuse_goldman"); - end; - - poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions"); + reset_more = function(s) + poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions"); if (atl_rep_darkstar < 0) then if (char_darkstar.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end; if (char_darkstar.black_asked == 0) then pon("on_black"); pon("more_questions"); end; @@ -59,6 +47,23 @@ char_darkstar_dlg = dlg { if (char_darkstar.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end; if (atl_iof_learr_dead and char_darkstar.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end; end; + end; + + entered = function(s) + if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then + psub("lfc_warning"); + return [[Винсент Даркстар недовольно смотрит на вас: "Господин Дрейк. Вы вообще понимаете, что делаете? Это последнее предупреждение. В следующий раз я приму меры. Все ясно? "]]; + end; + + if (atl_lfc_leroy_spoken) then + pon("accuse_leroy"); + end; + + if (atl_lfc_goldman_spoken) then + pon("accuse_goldman"); + end; + + s:reset_more(); if (s.state == 0) then psub("first_meeting"); @@ -211,11 +216,11 @@ char_darkstar_dlg = dlg { return [[Винсент Даркстар отвечает: "Он будет создавать проблемы. Это не предположение, это -- факт". ]]; end; end}; - {always=true, "Вернемся к делу.", [[Даркстар кивает: "Слушаю".]], code [[ pret(); ]]}; + {always=true, "Вернемся к делу.", [[Даркстар кивает: "Слушаю".]], code [[ char_darkstar_dlg:reset_more(); pret(); ]]}; {tag="generic"}; {tag="accuse_goldman", false, "Саботаж - дело рук Голдмана.", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="goldman"; ]]}; {tag="accuse_leroy", "Саботаж - дело рук Леруа.", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="leroy"; ]]}; - {tag="more_questions", always=true, "У меня есть несколько вопросов.", [[Даркстар кивает: "Слушаю".]], code [[ psub('ask_more'); ]]}; + {tag="more_questions", "У меня есть несколько вопросов.", [[Даркстар кивает: "Слушаю".]], code [[ psub('ask_more'); ]]}; {always=true, "Я пойду", [[Даркстар прощается: "До встречи". ]], code [[ back(); ]]}; {tag="fta"}; {"Что вы хотите услышать?", [[Даркстар поясняет: "Все, что произошло в Солисе и показалось вам подозрительным". ]]}; @@ -244,6 +249,53 @@ char_moreau_dlg = dlg { }; nam = "Фредерик Моро"; disp = "Фредерик Моро"; + reset_more = function(s) + poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions"); + + if (atl_rep_moreau < 0) then + if (char_moreau.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end; + if (char_moreau.black_asked == 0) then pon("on_black"); pon("more_questions"); end; + if (char_moreau.darkstar_asked == 0) then pon("on_darkstar"); pon("more_questions"); end; + if (char_moreau.svetlova_asked == 0) then pon("on_svetlova"); pon("more_questions"); end; + if (char_moreau.moreau_asked == 0) then pon("on_moreau"); pon("more_questions"); end; + if (char_moreau.wright_asked == 0) then pon("on_wright"); pon("more_questions"); end; + + if (atl_iof_completed) then + if (char_moreau.leroy_asked == 0) then pon("on_leroy"); pon("more_questions"); end; + if (char_moreau.jones_asked == 0) then pon("on_jones"); pon("more_questions"); end; + if (char_moreau.goldman_asked == 0) then pon("on_goldman"); pon("more_questions"); end; + end; + + if (char_moreau.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end; + + + if (char_moreau.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end; + if (char_moreau.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end; + if (char_moreau.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end; + if (atl_iof_learr_dead and char_moreau.aikerjarr_asked == 0) then pon("on_aikerjarr"); pon("more_questions"); end; + else + if (char_moreau.drake_asked < 2) then pon("on_drake"); pon("more_questions"); end; + if (char_moreau.black_asked < 2) then pon("on_black"); pon("more_questions"); end; + if (char_moreau.darkstar_asked < 2) then pon("on_darkstar"); pon("more_questions"); end; + if (char_moreau.svetlova_asked < 2) then pon("on_svetlova"); pon("more_questions"); end; + if (char_moreau.moreau_asked < 2) then pon("on_moreau"); pon("more_questions"); end; + if (char_moreau.wright_asked < 2) then pon("on_wright"); pon("more_questions"); end; + + if (atl_iof_completed) then + if (char_moreau.leroy_asked < 2) then pon("on_leroy"); pon("more_questions"); end; + if (char_moreau.jones_asked < 2) then pon("on_jones"); pon("more_questions"); end; + if (char_moreau.goldman_asked < 2) then pon("on_goldman"); pon("more_questions"); end; + end; + + if (char_moreau.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end; + + if (char_moreau.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end; + if (char_moreau.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end; + if (atl_iof_learr_dead and char_moreau.learr_asked < 3) then pon("on_learr"); pon("more_questions"); end; + if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end; + if (atl_iof_learr_dead and char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end; + end; + end; entered = function(s) if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then psub("lfc_warning"); @@ -289,51 +341,7 @@ char_moreau_dlg = dlg { poff('sabotage', 'ignis_what'); end; - poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions"); - - if (atl_rep_moreau < 0) then - if (char_moreau.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end; - if (char_moreau.black_asked == 0) then pon("on_black"); pon("more_questions"); end; - if (char_moreau.darkstar_asked == 0) then pon("on_darkstar"); pon("more_questions"); end; - if (char_moreau.svetlova_asked == 0) then pon("on_svetlova"); pon("more_questions"); end; - if (char_moreau.moreau_asked == 0) then pon("on_moreau"); pon("more_questions"); end; - if (char_moreau.wright_asked == 0) then pon("on_wright"); pon("more_questions"); end; - - if (atl_iof_completed) then - if (char_moreau.leroy_asked == 0) then pon("on_leroy"); pon("more_questions"); end; - if (char_moreau.jones_asked == 0) then pon("on_jones"); pon("more_questions"); end; - if (char_moreau.goldman_asked == 0) then pon("on_goldman"); pon("more_questions"); end; - end; - - if (char_moreau.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end; - - - if (char_moreau.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end; - if (char_moreau.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end; - if (char_moreau.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end; - if (atl_iof_learr_dead and char_moreau.aikerjarr_asked == 0) then pon("on_aikerjarr"); pon("more_questions"); end; - else - if (char_moreau.drake_asked < 2) then pon("on_drake"); pon("more_questions"); end; - if (char_moreau.black_asked < 2) then pon("on_black"); pon("more_questions"); end; - if (char_moreau.darkstar_asked < 2) then pon("on_darkstar"); pon("more_questions"); end; - if (char_moreau.svetlova_asked < 2) then pon("on_svetlova"); pon("more_questions"); end; - if (char_moreau.moreau_asked < 2) then pon("on_moreau"); pon("more_questions"); end; - if (char_moreau.wright_asked < 2) then pon("on_wright"); pon("more_questions"); end; - - if (atl_iof_completed) then - if (char_moreau.leroy_asked < 2) then pon("on_leroy"); pon("more_questions"); end; - if (char_moreau.jones_asked < 2) then pon("on_jones"); pon("more_questions"); end; - if (char_moreau.goldman_asked < 2) then pon("on_goldman"); pon("more_questions"); end; - end; - - if (char_moreau.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end; - - if (char_moreau.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end; - if (char_moreau.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end; - if (atl_iof_learr_dead and char_moreau.learr_asked < 3) then pon("on_learr"); pon("more_questions"); end; - if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end; - if (atl_iof_learr_dead and char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end; - end; + s:reset_more(); if (s.state == 0) then s.state = 1; @@ -508,14 +516,14 @@ char_moreau_dlg = dlg { return [[Фредерик Моро отвечает: "Пренеприятный персонаж. Будь моя воля -- я бы прогнал его со станции, и большая часть руководителей со мной согласна. Однако, понимая, какие у этого будут последствия, я вынужден позволить ему находиться здесь". ]]; end; end}; - {always=true, "Вернемся к делу.", [[Фредерик Моро спрашивает: "Вы что-то хотели?"]], code [[ pret(); ]]}; + {always=true, "Вернемся к делу.", [[Фредерик Моро спрашивает: "Вы что-то хотели?"]], code [[ char_moreau_dlg:reset_more(); pret(); ]]}; {tag="generic"}; {tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", [[Фредерик Моро несколько раз стучит пальцем по столу. Недовольным тоном он делает вам замечание: "Месье Дрейк, -- он выдерживает небольшую паузу, -- Если вы хотите вернуть себе Левиафан, вам стоит следовать нашим правилам и, в частности, не нарушать прямых наших распоряжений". ]], code [[ atl_rep_moreau = atl_rep_moreau - 1; atl_rep_darkstar = atl_rep_darkstar - 1; ]]}; {tag="ignis_what", false, "Почему начался пожар в Игнисе?", [[Фредерик Моро пожимает плечами и как-то неуверенно проговаривает: "Не знаю. Этим вопросом занимаются инженеры и служба безопасности. Будьте спокойны, наши специалисты не допустят повторения аварии". ]]}; - {tag="more_questions", always=true, "У меня есть несколько вопросов.", [[Моро кивает: "Да, конечно. Я слушаю".]], code [[ psub('ask_more'); ]]}; + {tag="more_questions", "У меня есть несколько вопросов.", [[Моро кивает: "Да, конечно. Я слушаю".]], code [[ psub('ask_more'); ]]}; {always = true, "Я пойду", [[Моро прощается с вами: "До встречи, месье Дрейк". ]], code [[ back(); ]]}; {tag="lfc_debrief_good"}; {always = true, "Спасибо, это все.", [[Моро спрашивает: "Вы что-то хотели?". ]], code [[ psub("generic");]]}; @@ -534,12 +542,7 @@ char_svetlova_dlg = dlg { }; nam = "Екатерина Светлова"; disp = "Екатерина Светлова"; - entered = function(s) - if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then - psub("lfc_warning"); - return [[Екатерина Светлова сообщает вам: "Добрый день, господин Дрейк. Винсент Даркстар просил вас срочно поговорить с ним". ]]; - end; - + reset_more = function(s) poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_ryveerr", "on_aikerjarr", "more_questions"); if (atl_rep_svetlova < 0) then if (char_svetlova.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end; @@ -584,6 +587,14 @@ char_svetlova_dlg = dlg { if (char_svetlova.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end; if (atl_iof_learr_dead and char_svetlova.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end; end; + end; + entered = function(s) + if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then + psub("lfc_warning"); + return [[Екатерина Светлова сообщает вам: "Добрый день, господин Дрейк. Винсент Даркстар просил вас срочно поговорить с ним". ]]; + end; + + s:reset_more(); if (s.state == 0) then psub('first_meeting'); @@ -834,7 +845,7 @@ char_svetlova_dlg = dlg { return [[Екатерина Светлова отвечает: "Спросите кого-нибудь другого". ]]; else char_svetlova.ryveerr_asked = 2; - return [[Екатерина Светлова отвечает: "Ривеерр -- достаточно дружелюбный и приятный навьяр. Его интеллект позволяет нам общаться с ним практически на равных, с поправкой на отсутствие знания и понимания многих, известных нам вещей". ]]; + return [[Екатерина Светлова отвечает: "Ривеерр -- достаточно дружелюбный и приятный навьяр. Его интеллект позволяет нам общаться с ним практически на равных, с поправкой на отсутствие некоторых знаний и понимания многих известных нам вещей". ]]; end; end}; {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре? ", function() @@ -846,7 +857,7 @@ char_svetlova_dlg = dlg { return [[Екатерина Светлова отвечает: "Нам всем было бы легче, если бы его не было на Атлантиде. К сожалению, сейчас мы не можем просто взять и прогнать его -- это сделает наше положение еще худшим, чем оно есть". ]]; end; end}; - {always=true, "Вернемся к делу.", [[Светлова кивает: "Говорите".]], code [[ pret(); ]]}; + {always=true, "Вернемся к делу.", [[Светлова кивает: "Говорите".]], code [[ char_svetlova_dlg:reset_more(); pret(); ]]}; {tag = "generic"}; {tag = "sabotage", false, "Даркстар считает, что причиной пожара в Игнисе был саботаж. Что вы об этом думаете?", function(s) if (atl_iof_learr_dead) then @@ -871,7 +882,7 @@ char_svetlova_dlg = dlg { end}; {tag= "iyh1_learr", false, "Я поговорил с навьярами. Леарр отрицает причастность Ираафаанотра к краже реликвии из Дипатреанотра. Ривеерр же открыто признает, что навьяры Дипатреанотра забрали ценности из Ираафаанотра.", [[Светлова разводит руками: "Теперь вы в курсе ситуации. Однако, у нас есть зацепка -- Записи Уильяма. Он мало что оставил нам, но среди найденного есть следующее сообщение", -- Екатерина достает из ящика блокнот и передает вам.^ Вы читаете следующее: "Карты давно утеряны, но отшельник в старом храме обещал помочь. Понятия не имею, что и как он сделает, но если это поможет найти Лсэрианотр -- пусть делает что считает нужным". ]], code [[ dypatreanotrr_temple_found = true; atl_iyh_state = 2; psub('iyh1_sub'); ]]}; {tag= "iyh1_aikerjarr", false, "Я поговорил с навьярами. Аикерьярр отрицает причастность Ираафаанотра к краже реликвии из Дипатреанотра. Ривеерр же открыто признает, что навьяры Дипатреанотра забрали ценности из Ираафаанотра.", [[Светлова разводит руками: "Теперь вы в курсе ситуации. Аикерьярр, конечно, доверия не заслуживает, но Леарр говорила то же самое. Тем не менее, у нас есть зацепка -- Записи Уильяма. Он мало что оставил нам, но среди найденного есть следующее сообщение", -- Екатерина достает из ящика блокнот и передает вам.^ Вы читаете следующее: "Карты давно утеряны, но отшельник в старом храме обещал помочь. Понятия не имею, что и как он сделает, но если это поможет найти Лсэрианотр -- пусть делает что считает нужным". ]], code [[ dypatreanotrr_temple_found = true; atl_iyh_state = 2; psub('iyh1_sub'); ]]}; - {tag="more_questions", always=true, "У меня есть несколько вопросов.", [[Светлова кивает: "Спрашивайте".]], code [[ psub('ask_more'); ]]}; + {tag="more_questions", "У меня есть несколько вопросов.", [[Светлова кивает: "Спрашивайте".]], code [[ psub('ask_more'); ]]}; {always = true, "Я пойду.", [[Светлова возвращается ко своим бумагам: "До встречи". ]], code [[ back(); ]]}; {tag= "iyh1_sub"}; {"Старый храм?", [[Светлова пожимает плечами: "К сожалению, у меня нет ничего кроме намеков. Предполагаю, что где-то здесь может быть еще один храм навьяров, возможно стоит расспросить их?" ]]}; @@ -923,25 +934,9 @@ char_michael_wright_dlg = dlg { }; nam = "Майкл Райт"; disp = "Майкл Райт"; - entered = function(s) - if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then - psub("lfc_warning"); - return [[Екатерина Светлова сообщает вам: "Добрый день Винсент Даркстар просил вас срочно поговорить с ним". ]]; - end; - if (atl_nih_state == 2) then - pon('nih_fixed'); - end; - - if (atl_lfc_state ~= 1) then - poff('sabotage', 'ignis_what'); - end; - - if (atl_lfc_state == 1 and not s.lfc_dialog) then - s.lfc_dialog = true; - pon('sabotage', 'ignis_what'); - end; - poff("more_questions"); + reset_more = function(s) + poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "on_leroy", "on_jones", "on_goldman", "on_atlantis", "on_navjiarr", "on_learr", "on_aikerjarr", "on_ryveerr", "more_questions"); if (atl_rep_wright < 0) then if (char_michael_wright.drake_asked == 0) then pon("on_drake"); pon("more_questions"); end; if (char_michael_wright.black_asked == 0) then pon("on_black"); pon("more_questions"); end; @@ -981,6 +976,28 @@ char_michael_wright_dlg = dlg { if (char_michael_wright.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end; if (atl_iof_learr_dead and char_michael_wright.aikerjarr_asked < 2) then pon("on_aikerjarr"); pon("more_questions"); end; end; + end; + + entered = function(s) + if (atl_lfc_panic_warning == 2 and atl_lfc_panic == 2 and atl_lfc_state == 1) then + psub("lfc_warning"); + return [[Екатерина Светлова сообщает вам: "Добрый день Винсент Даркстар просил вас срочно поговорить с ним". ]]; + end; + + if (atl_nih_state == 2) then + pon('nih_fixed'); + end; + + if (atl_lfc_state ~= 1) then + poff('sabotage', 'ignis_what'); + end; + + if (atl_lfc_state == 1 and not s.lfc_dialog) then + s.lfc_dialog = true; + pon('sabotage', 'ignis_what'); + end; + + s:reset_more(); if (atl_iof_completed and char_michael_wright.iof_reaction == 0) then char_michael_wright.iof_reaction = 1; @@ -1169,7 +1186,7 @@ char_michael_wright_dlg = dlg { return [[Майкл Райт отвечает: "Не думаю, что могу что-то о нем сказать. Я видел его один раз, при встрече и не могу сказать, что впечатление было благоприятным. Слишком заносчивый он". ]]; end; end}; - {always=true, "Вернемся к делу.", [[Майкл Райт кивает: "Хорошо".]], code [[ pret(); ]]}; + {always=true, "Вернемся к делу.", [[Майкл Райт кивает: "Хорошо".]], code [[ char_michael_wright_dlg:reset_more(); pret(); ]]}; {tag="generic"}; {tag="nih_fixed", false, "Я нашел утечку", [[Майкл Райт кивает: "Спасибо, я отправлю туда человека, чтобы он все поправил. Пока у меня больше нет для вас заданий". ]], code [[ atl_nih_state = 3; atl_rep_wright = atl_rep_wright + 1; ]]}; {tag="sabotage", false, "Даркстар считает, что пожар начался из-за саботажа", function(s) @@ -1183,7 +1200,7 @@ char_michael_wright_dlg = dlg { end; end}; {tag="ignis_what", false, "Из-за чего начался пожар в Игнисе?", [[Майкл Райт отвечает: "Короткое замыкание. Рядом, к сожалению, никого не оказалось и потушить возгорание вовремя не удалось. Огонь быстро распространился по всей секции, ну а дальше вы все знаете". ]]}; - {tag="more_questions", always=true, "У меня есть несколько вопросов.", [[Майкл Райт отвечает: "Задавайте, посмотрим чем смогу помочь".]], code [[ psub('ask_more'); ]]}; + {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; @@ -1213,22 +1230,8 @@ char_anna_atlantis_dlg = dlg { }; nam = "Анна Рэдклифф"; disp = "Анна Рэдклифф"; - entered = function(s) - if (atl_lfc_state ~= 1) then - poff('sabotage', 'ignis_what'); - end; - - if (atl_lfc_state == 1 and not s.lfc_dialog) then - s.lfc_dialog = true; - pon('sabotage', 'ignis_what'); - end; - - --[[ - anna_asked = 0; - walter_asked = 0; - atlantis_asked = 0; - drake_asked = 0; - ]] + + 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 @@ -1265,6 +1268,19 @@ char_anna_atlantis_dlg = dlg { pon("more_questions"); end; end; + end; + + entered = function(s) + if (atl_lfc_state ~= 1) then + poff('sabotage', 'ignis_what'); + end; + + if (atl_lfc_state == 1 and not s.lfc_dialog) then + s.lfc_dialog = true; + pon('sabotage', 'ignis_what'); + end; + + s:reset_more(); if (s.state == 0) then s.state = 1; @@ -1277,8 +1293,17 @@ char_anna_atlantis_dlg = dlg { end; phr = { {tag="first_meeting"}; - {"Да, я Дэвид Дрейк. Рад знакомству", [[Анна Рэдклифф улыбается и спрашивает: "Вы что-то хотели?" ]], code = [[ psub('generic'); ]]}; + {"Да, я Дэвид Дрейк. Рад знакомству. ", [[Анна Рэдклифф улыбается и спрашивает: "Вы что-то хотели?" ]], 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; @@ -1294,7 +1319,7 @@ char_anna_atlantis_dlg = dlg { return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]]; else char_anna.atlantis_asked = 2; - return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь лет десять. Мне казалось, что уже через полгода-год мы вернемся на поверхность, но намерения вашего отца сильно отличались от этого. Потом Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]]; + return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь столько времени. Первое время мне казалось, что мы вот-вот закончим и вернемся на поверхность,но намерения вашего отца сильно отличались от этого. Почти сразу после прибытия Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]]; end; end}; {tag="on_drake", "Расскажите об Уильяме Дрейке. ", function(s) @@ -1312,20 +1337,11 @@ char_anna_atlantis_dlg = dlg { return [[Анна Рэдклифф отвечает: "Я не хочу об этом с вами говорить". ]]; else char_anna.black_asked = 2; - return [[Анна Рэдклифф пожимает плечами: "Он никогда мне не нравился. Остальные говорят, что он хорошо справляется с управлением станцией и вообще многое сделал для нас, но мне не нравится его холодность и неискренность".]]; + return [[Анна Рэдклифф пожимает плечами: "Все вокруг говорят, что он хороший друг вашего отца, но мне почти не доводилось с ним общаться".]]; end; end}; - {always=true, "Вернемся к делу.", [[Анна Рэдклифф кивает: "Хорошо".]], code [[ pret(); ]]}; + {always=true, "Вернемся к делу.", [[Анна Рэдклифф кивает: "Хорошо".]], code [[ char_anna_atlantis_dlg:reset_more(); pret(); ]]}; {tag="generic"}; - {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="sabotage", "Вы знаете, что пожар в Игнисе - следствие саботажа?", function(s) atl_lfc_panic = atl_lfc_panic + 1; atl_rep_darkstar = atl_rep_darkstar - 1; @@ -1334,7 +1350,7 @@ char_anna_atlantis_dlg = dlg { return [[Анна удивленно смотрит на вас: "Зачем вы это говорите? Кому может прийти в голову подобное?" ]]; end}; {tag="ignis_what", "Вы знаете, что произошло в Игнисе?", [[Анна отрицательно качает головой: "Мне почти ничего неизвестно. Поговорите с Даркстаром или Райтом. Или спросите моего брата, Уолтера. Я думаю он в курсе". ]]}; - {tag="more_questions", always=true, "У меня есть несколько вопросов.", [[Анна отвечает: "Да, я слушаю".]], code [[ psub('ask_more'); ]]}; + {tag="more_questions", "У меня есть несколько вопросов.", [[Анна отвечает: "Да, я слушаю".]], code [[ psub('ask_more'); ]]}; {always=true, "Я пойду.", [[Анна прощается с вами: "До встречи". ]], code [[ back(); ]]}; }; }; @@ -1551,8 +1567,9 @@ char_ryveerr_dlg = dlg { }; nam = "Ривеерр"; disp = "Ривеерр"; - entered = function(s) - poff("more_questions"); + + 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; @@ -1571,7 +1588,11 @@ char_ryveerr_dlg = dlg { elseif (atl_lfc_state ~= 1) then poff('sabotage', 'ignis_what'); end; - + end; + + entered = function(s) + s:reset_more(); + if (s.state == 0) then s.state = 1; psub("first_meeting"); @@ -1690,7 +1711,7 @@ char_ryveerr_dlg = dlg { end; end; end}; - {always=true, "Давай поговорим о другом.", [[Ривеерр кивает: "Ты говори". ]], code [[ pret(); ]]}; + {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"); ]]}; @@ -1801,7 +1822,7 @@ char_winterlight_dlg = dlg { {"Рад знакомству. Я чем-то могу быть полезен?", [[Сильвия улыбается и отвечает: "Вам лучше поговорить с госпожой Светловой, у нее наверняка найдется поручение для вас". ]], code [[ psub("generic"); ]]}; {tag="generic"}; {"Расскажите об Атлантиде,", [[Сильвия отвечает: "Я тут могу долго рассказывать -- мы с господином Райтом многое придумывали вместе -- в частности, системы подачи кислорода, я же помогала в разработке Аэриса. Аэрис, если говорить открыто, крайне значительное достижение -- мы сумели адаптировать некоторые виды растений с поверхности к условиям станции. Конечно, пришлось потрудиться -- очень много энергии уходит на освещение и обогрев секции, но и результат себя оправдывает -- думаю, нам быстро надоело бы питаться одними морепродуктами, а так у нас есть практически все, что может предложить поверхность. Ну, кроме мяса", -- она улыбается, -- "Также мы выращиваем там несколько видов водорослей -- некоторые производят кислород, другие идут в пищу, третьи отправляются прямиком в печь".]]}; - {"Расскажите о себе.", [[Сильвия усмехается: "Не думаю, что тут есть что-то интересное, но слушайте -- я едва закончила университет и была в поисках работы, когда встретилась с госпожой Светловой. Уж не знаю, что привлекло ее во мне, но она предложила мне работу. Я сперва удивилась -- с чего транспортной компании нанимать таких видных ученых как она? Да и зачем там такие как я? Но после беседы с господином Дрейком, я загорелась идеей обустроить автономную подводную станцию. Тогда планы не были столь грандиозны -- мы не предполагали покидать поверхность, но благодаря нашим с господином Райтом успехам мы смогли достичь этого. Тогда же я впервые встретила живого навьяра. Нет, госпожа Светлова рассказывала мне про них и даже показывала фотографии и рисунки, но увидеть подобное вживую ни с чем не сравнимо. И еще более странно, когда такое существо тебя приветствует на твоем языке". ]]}; + {"Расскажите о себе.", [[Сильвия усмехается: "Не думаю, что тут есть что-то интересное, но слушайте -- я едва закончила университет и была в поисках работы, когда встретилась с госпожой Светловой. Уж не знаю, что привлекло ее во мне, но она предложила мне работу. Я сперва удивилась -- с чего транспортной компании нанимать таких видных ученых, как она? Да и зачем там такие, как я? Когда господин Дрейк рассказал о своем открытии, я загорелась идеей обустроить автономную подводную станцию -- чтобы иметь возможность находиться ближе к навьярам и изучать их. Изначально планы не были столь грандиозны, но благодаря нашим с господином Райтом успехам мы смогли построить Атлантиду такой, какой вы ее видите. Тогда же я впервые встретила живого навьяра. Нет, госпожа Светлова рассказывала мне про них и даже показывала фотографии и рисунки, но увидеть их вживую ни с чем не сравнимо. И еще более странно, когда такое существо тебя приветствует на твоем языке". ]]}; {tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", function(s) atl_lfc_panic = atl_lfc_panic + 1; atl_rep_darkstar = atl_rep_darkstar - 1; @@ -1983,7 +2004,7 @@ char_legrand_dlg = dlg { {"Расскажите больше об Адриане Блэке.", [[Мари Легран рассказывает: "Блэк -- заместитель Дрейка. По-крайней мере, официально он занимал именно эту должность. По факту, он был близким другом вашего отца и компанией они управляли вместе". ]]}; {"Расскажите больше о Джоне Брауне.", [[Мари Легран рассказывает: "У Джона золотые руки, наверное, именно поэтому Дрейк взял в экспедицию именно его". ]]}; {"Расскажите больше о Антонио Гарсии.", [[Мари Легран рассказывает: "Талантливый молодой человек. Он хорошо знает язык навьяров и много с ними общался". ]]}; - {"Давайте о другом поговорим.", [[Мари Легран кивает: "Хорошо".]], code [[pret();]]}; + {"Поговорим в другой раз.", [[Мари Легран кивает: "Хорошо".]], code [[pret();]]}; }; }; @@ -1994,7 +2015,8 @@ char_radcliffe_atlantis_dlg = dlg { }; nam = "Уолтер Рэдклифф"; disp = "Уолтер Рэдклифф"; - entered = function(s) + + 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"); @@ -2024,6 +2046,10 @@ char_radcliffe_atlantis_dlg = dlg { pon("talk"); end; end; + end; + + entered = function(s) + s:reset_more(); if (atl_lfc_state ~= 1) then poff('sabotage', 'ignis_what'); @@ -2073,7 +2099,7 @@ char_radcliffe_atlantis_dlg = dlg { char_walter.on_atlantis = 2; return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]]; end}; - {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[pret();]]}; + {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[ char_radcliffe_atlantis_dlg:reset_more(); pret();]]}; {tag = "first_meeting"}; {"[Пожать руку]Рад знакомству", [[ "Мы с Майклом вместе работали над Левиафаном. Многие решения в вашей субмарине - мои. Если вы не против, я хотел бы продолжить путешествие вместе с вами - во-первых - вам пригодится мой опыт, а во-вторых - я хочу увидеть Левиафан в деле". @@ -2106,7 +2132,7 @@ char_radcliffe_atlantis_dlg = dlg { "Очень жаль. Впрочем, у вас есть время подумать. Насколько я знаю, Даркстар и Моро собираются держать вас здесь какое-то время". ]], code [[ psub("generic");]]}; {tag = "generic"}; - {tag="questions", always=true, "У меня есть несколько вопросов. ", function(s) + {tag="questions", "У меня есть несколько вопросов. ", function(s) if (rel_anna < 0) then return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]]; else @@ -2138,12 +2164,12 @@ char_page_dlg = dlg { if (atl_lfc_state ~= 1) then poff('sabotage', 'ignis_what'); end; - + if (atl_lfc_state == 1 and not s.lfc_dialog) then s.lfc_dialog = true; pon('sabotage', 'ignis_what'); end; - + if (s.state == 0 ) then s.state = 1; psub("first_meeting"); @@ -2163,7 +2189,7 @@ char_page_dlg = dlg { {tag="sabotage", false, "Вы знаете, что пожар в Игнисе - следствие саботажа?", function(s) atl_lfc_panic = atl_lfc_panic + 1; atl_rep_darkstar = atl_rep_darkstar - 1; - return [[Фрэнсис от удивления роняет карандаш, но быстро собирается и отвечает: "Оставьте это Даркстару. Если саботаж имел место быть - Винсент найдет виновного. Я передам ему ваши слова". ]] + return [[Фрэнсис от удивления роняет карандаш, но быстро собирается и отвечает: "Оставьте это Даркстару. Если саботаж имел место быть - Винсент найдет виновного. Я передам ему ваши слова". ]]; end;}; {tag="ignis_what", false, "Что произошло в Игнисе?", [[Фрэнсис пожимает плечами: "Меня там не было. Не берусь говорить".]]}; {"Что вы можете рассказать об Атлантиде?", [[Фрэнсис пожимает плечами: "Если честно, вам лучше расспросить кого-нибудь из управляющих, а лучше всего - Майкла Райта. Все что я могу сказать -- я до сих пор поражаюсь успеху этого невероятного проекта". ]]};