# HG changeset patch # User Silverwing # Date 2017-03-05 10:17:12 # Node ID f17a3eac8053fa557bc9bf267fae01043c02f1fe # Parent b8892a3ba2012d98c160e417846676a842a8efb9 Progress on dlg rewrite; Darkstar dlg on navjiarr added diff --git a/atlantis.lua b/atlantis.lua --- a/atlantis.lua +++ b/atlantis.lua @@ -690,6 +690,10 @@ char_darkstar = npc { 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) @@ -714,6 +718,10 @@ char_moreau = npc { 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) diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -28,6 +28,11 @@ char_darkstar_dlg = dlg { end; if (char_darkstar.atlantis_asked == 0) then pon("on_atlantis"); end; + + if (char_darkstar.navjiarr_asked == 0) then pon("on_navjiarr"); end; + if (char_darkstar.learr_asked == 0) then pon("on_learr"); end; + if (char_darkstar.ryveerr_asked == 0) then pon("on_ryveerr"); end; + if (atl_iof_learr_dead and char_darkstar.aikerjarr_asked == 0) then pon("on_aikerjarr"); end; else if (char_darkstar.drake_asked < 2) then pon("on_drake"); end; if (char_darkstar.black_asked < 2) then pon("on_black"); end; @@ -41,14 +46,11 @@ char_darkstar_dlg = dlg { if (char_darkstar.goldman_asked < 2) then pon("on_goldman"); end; end; if (char_darkstar.atlantis_asked < 2) then pon("on_atlantis"); end; - end; - - if (char_darkstar.drake_asked == 0) then - pon("on_drake"); - elseif (char_darkstar.drake_asked == 1 and atl_rep_darkstar >= 0) then - pon("on_drake"); - elseif (char_darkstar.drake_asked < 3 and atl_rep_darkstar > 0) then - pon("on_drake"); + + if (char_darkstar.navjiarr_asked < 2) then pon("on_navjiarr"); end; + if (char_darkstar.learr_asked < 2) then pon("on_learr"); end; + if (char_darkstar.ryveerr_asked < 2) then pon("on_ryveerr"); end; + if (atl_iof_learr_dead and char_darkstar.aikerjarr_asked < 2) then pon("on_aikerjarr"); end; end; if (s.state == 0) then @@ -113,7 +115,7 @@ char_darkstar_dlg = dlg { char_darkstar.moreau_asked = 2; return [[Винсент Даркстар отвечает: "Фредерик Моро руководит станцией в отсутствие Дрейка и Блэка. Должен сказать, справляется он неплохо. Ему можно доверять безоговорочно -- он с полной ответственностью подходит к управлению станцией. Хотя он склонен делегировать многие решения, он отдает их правильным людям". ]]; end; - end]}; + end}; {tag="on_wright", false, "Расскажите о Майлке Райте", function() if (atl_rep_darkstar < 0) then char_darkstar.wright_asked = 1; @@ -123,7 +125,7 @@ char_darkstar_dlg = dlg { return [[Винсент Даркстар отвечает: "Майкл Райт -- руководитель инженерного отдела на Атлантиде. В его задачи входит поддержание работоспособности станции и ее техническое развитие. Станция -- дело всей его жизни. Когда поднимался вопрос, он не колеблясь оставил семью на поверхности ради возможности развивать Атлантиду". ]]; end; end}; - {tag="on_leroy", false, "Расскажите о Мишеле Леруа", function() + {tag="on_leroy", false, "Что вы думаете о Мишеле Леруа?", function() if (atl_rep_darkstar < 0) then char_darkstar.leroy_asked = 1; return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; @@ -132,7 +134,7 @@ char_darkstar_dlg = dlg { return [[Винсент Даркстар отвечает: "Леруа много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он не выглядит настолько глупым, чтобы саботировать работу станции, однако он один из немногих подпадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды - моя работа, а не ваша". ]]; end; end}; - {tag="on_jones", false, "Расскажите о Чарли Джонсе", function() + {tag="on_jones", false, "Что вы думаете о Чарли Джонсе?", function() if (atl_rep_darkstar < 0) then char_darkstar.jones_asked = 1; return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; @@ -141,7 +143,7 @@ char_darkstar_dlg = dlg { return [[Винсент Даркстар отвечает: "Джонс много знает об устройстве Атлантиды и он открыто выступает в пользу закрытия станции и возвращения на поверхность. Он недостаточно смел, чтобы попытаться саботировать работу станции, однако он один из немногих попадающих под подозрение. Вообще-то, интересоваться сотрудниками Атлантиды - моя работа, а не ваша". ]]; end; end}; - {tag="on_goldman", false, "Расскажите о Леонарде Голдмане", function() + {tag="on_goldman", false, "Что вы думаете о Леонарде Голдмане?", function() if (atl_rep_darkstar < 0) then char_darkstar.goldman_asked = 1; return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; @@ -159,6 +161,47 @@ char_darkstar_dlg = dlg { return [[Винсент Даркстар отвечает: "Атлантида построена на средства Вестхейвен Трансоушен -- компании вашего отца. Майкл Райт -- создатель станции, многое продумал, существенно облегчив мне работу. Конечно, периодически, мне приходится иметь дело с нарушениями правил -- я неоднократно просил не загромоздать коридоры; всегда закрывать за собой шлюзы, двери, щитки, панели; не перекрывать посторонними предметами доступ к важным узлам станции. Думаю, вы сами заметили, как исполняются эти указания". ]]; end; end}; + {tag="on_navjiarr", false, "Что вы думаете о навьярах?", function() + if (atl_rep_darkstar < 0) then + char_darkstar.navjiarr_asked = 1; + return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; + else + char_darkstar.navjiarr_asked = 2; + return [[Винсент Даркстар отвечает: "Они -- причина существования Атлантиды, так что в какой-то мере мы все обязаны им тем, что оказались здесь. Не все на станции довольны этим -- и это создает определенную угрозу. Но, надо признать, они не пытались навредить нам последнее время, однако, я все еще советую Моро и Светловой быть настороже при общении с ними. Они не так просты, как кажутся". ]]; + end; + end}; + {tag="on_learr", false, "Что вы думаете о Леарр?", function() + if (atl_rep_darkstar < 0) then + char_darkstar.learr_asked = 1; + return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; + else + if (atl_iof_learr_dead) then + char_darkstar.learr_asked = 3; + return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; + else + char_darkstar.learr_asked = 2; + return [[Винсент Даркстар отвечает: "Леарр -- представительница одного из навьярских племен на станции. Она любопытна, молода и умна. Она искренне заинтересована нами и нашими технологиями и это не может не радовать". ]]; + end; + end; + end}; + {tag="on_ryveerr", false, "Что вы думаете о Ривеерре?", function() + if (atl_rep_darkstar < 0) then + char_darkstar.ryveerr_asked = 1; + return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; + else + char_darkstar.ryveerr_asked = 2; + return [[Винсент Даркстар отвечает: "Ривеерр -- представитель одного из навьярских племен на станции. Я мало что могу о нем сказать, и ,в данном случае, это говорит в его пользу". ]]; + end; + end}; + {tag="on_aikerjarr", false, "Что вы думаете об Аикерьярре?", function() + if (atl_rep_darkstar < 0) then + char_darkstar.aikerjarr_asked = 1; + return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]]; + else + char_darkstar.aikerjarr_asked = 2; + return [[Винсент Даркстар отвечает: "Он будет создавать проблемы. Это не предположение, это -- факт". ]]; + end; + end}; {tag="accuse_goldman", false, "Саботаж - дело рук Голдмана", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="goldman"; ]]}; {tag="accuse_leroy", "Саботаж - дело рук Леруа", [[Даркстар недовольно отчитывает вас: "Во-первых, я вас просил не лезть в это дело. Во-вторых, я бы не был так уверен. В третьих, я еще раз прошу вас больше расследованию не мешать". ]], code [[ atl_lfc_suspect="leroy"; ]]}; {always=true, "Я пойду", [[Даркстар прощается: "До встречи". ]], code [[ back(); ]]}; @@ -228,6 +271,49 @@ char_moreau_dlg = dlg { elseif (atl_lfc_state ~= 1) then poff('sabotage', 'ignis_what'); end; + + if (atl_rep_moreau < 0) then + if (char_moreau.drake_asked == 0) then pon("on_drake"); end; + if (char_moreau.black_asked == 0) then pon("on_black"); end; + if (char_moreau.darkstar_asked == 0) then pon("on_darkstar"); end; + if (char_moreau.svetlova_asked == 0) then pon("on_svetlova"); end; + if (char_moreau.moreau_asked == 0) then pon("on_moreau"); end; + if (char_moreau.wright_asked == 0) then pon("on_wright"); end; + + if (atl_iof_completed) then + if (char_moreau.leroy_asked == 0) then pon("on_leroy"); end; + if (char_moreau.jones_asked == 0) then pon("on_jones"); end; + if (char_moreau.goldman_asked == 0) then pon("on_goldman"); end; + end; + + if (char_moreau.atlantis_asked == 0) then pon("on_atlantis"); end; + + + if (char_moreau.navjiarr_asked == 0) then pon("on_navjiarr"); end; + if (char_moreau.learr_asked == 0) then pon("on_learr"); end; + if (char_moreau.ryveerr_asked == 0) then pon("on_ryveerr"); end; + if (char_moreau.aikerjarr_asked == 0) then pon("on_aikerjarr"); end; + else + if (char_moreau.drake_asked < 2) then pon("on_drake"); end; + if (char_moreau.black_asked < 2) then pon("on_black"); end; + if (char_moreau.darkstar_asked < 2) then pon("on_darkstar"); end; + if (char_moreau.svetlova_asked < 2) then pon("on_svetlova"); end; + if (char_moreau.moreau_asked < 2) then pon("on_moreau"); end; + if (char_moreau.wright_asked < 2) then pon("on_wright"); end; + + if (atl_iof_completed) then + if (char_moreau.leroy_asked < 2) then pon("on_leroy"); end; + if (char_moreau.jones_asked < 2) then pon("on_jones"); end; + if (char_moreau.goldman_asked < 2) then pon("on_goldman"); end; + end; + + if (char_moreau.atlantis_asked < 2) then pon("on_atlantis"); end; + + if (char_moreau.navjiarr_asked < 2) then pon("on_navjiarr"); end; + if (char_moreau.learr_asked < 2) then pon("on_learr"); end; + if (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); end; + if (char_moreau.aikerjarr_asked < 2) then pon("on_aikerjarr"); end; + end; if (s.state == 0) then s.state = 1;