Changeset - 1dc882dabef7
[Not reviewed]
default
0 1 0
Silverwing - 6 years ago 2018-12-22 18:13:16

Chapter 1: mousetrap error
1 file changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
atlantis_dlg.lua
Show inline comments
 
char_darkstar_dlg = dlg {
 
	var {
 
		state = 0;
 
        fta = 0;
 
 
        mtr_accuse = 0;
 
	};
 
	nam = "Винсент Даркстар";
 
	disp = "Винсент Даркстар";
 
 
    reset_more = function(s)
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "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;
 
            if (char_darkstar.darkstar_asked == 0) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_darkstar.svetlova_asked == 0) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_darkstar.moreau_asked == 0) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_darkstar.wright_asked == 0) then pon("on_wright"); pon("more_questions"); end;
 
 
            if (char_darkstar.atlantis_asked == 0) then pon("on_atlantis"); pon("more_questions"); end;
 
 
            if (char_darkstar.navjiarr_asked == 0) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_darkstar.learr_asked == 0) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_darkstar.ryveerr_asked == 0) then pon("on_ryveerr"); pon("more_questions"); end;
 
        else
 
            if (char_darkstar.drake_asked < 2) then pon("on_drake"); pon("more_questions"); end;
 
            if (char_darkstar.black_asked < 2) then pon("on_black"); pon("more_questions"); end;
 
            if (char_darkstar.darkstar_asked < 2) then pon("on_darkstar"); pon("more_questions"); end;
 
            if (char_darkstar.svetlova_asked < 2) then pon("on_svetlova"); pon("more_questions"); end;
 
            if (char_darkstar.moreau_asked < 2) then pon("on_moreau"); pon("more_questions"); end;
 
            if (char_darkstar.wright_asked < 2) then pon("on_wright"); pon("more_questions"); end;
 
            if (char_darkstar.atlantis_asked < 2) then pon("on_atlantis"); pon("more_questions"); end;
 
 
            if (char_darkstar.navjiarr_asked < 2) then pon("on_navjiarr"); pon("more_questions"); end;
 
            if (char_darkstar.learr_asked < 2) then pon("on_learr"); pon("more_questions"); end;
 
            if (char_darkstar.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end;
 
        end;
 
 
        if atl_mtr_started and not atl_mtr_finished then
 
            pon("mtr_accuse_phr");
 
            pon("mtr_accuse_phr", "gclosing", "lclosing", "jclosing");
 
 
            pon('gclock');
 
            if atl_mtr_know_goldman_lost_clock then
 
                if atl_mtr_leroy_asked_on_clock and atl_mtr_jones_asked_on_clock then
 
                    pon('jclock', 'lclock');
 
                end;
 
            end;
 
 
            if atl_mtr_know_jones_in_solis then
 
                pon('jsolis');
 
            end;
 
 
            if atl_mtr_know_leroy_replaced_jones then
 
                pon('lsolis');
 
            end;
 
 
            else
 
        else
 
            poff("mtr_accuse_phr");
 
        end;
 
    end;
 
 
	enter = function(s)
 
        s:reset_more();
 
 
        if (s.state == 0) then
 
			psub("first_meeting");
 
            s.state = 1;
 
			return [[За столом сидит средних лет мужчина с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он приветствует вас: "Добро пожаловать на Атлантиду, господин Дрейк. Я Винсент Даркстар, мы уже общались по радио. Я занимаю на Атлантиде пост начальника службы безопаности". ]];
 
        else
 
			psub("generic");
 
			return [[Винсент Даркстар сообщает: "Я слушаю". ]];
 
		end;
 
	end;
 
    phr = {
 
        {tag="first_meeting"};
 
		{"Что мне нужно сделать, чтобы мне вернули Левиафан?", [[Винсент Даркстар хлопает ладонями о стол и уверенно сообщает: "Вести себя хорошо и не делать глупостей". ]]};
 
		{"Когда мне вернут Левиафан?", [[Винсент Даркстар отвечает: "Всему свое время. Используйте это время с пользой. Если хотите найти Уильяма, сначала стоит выяснить где и как его искать. И вам не помешает узнать кое-что помимо этого". ]]};
 
		{"Я пришел кое-что спросить. ", [[Винсент Даркстар сообщает: "Я слушаю". ]], code [[psub("generic");]]};
 
        {tag="ask_more"};
 
        {tag="on_drake", false, "Расскажите об Уильяме. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.drake_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.drake_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Что вы ожидаете услышать? Дрейк -- основатель Вестхейвен Трансоушен. Он -- мой непосредственный руководитель, однако у нас, на Атлантиде, принято решать важные вопросы совместно. Не так давно он отправился в научную экспедицию вместе с Адрианом Блэком и еще несколькими сотрудниками. Дрейк неосторожен и склонен к опрометчивым решениям. Это может сыграть с ним злую шутку".]];
 
            end;
 
        end};
 
        {tag="on_black", false, "Расскажите об Адриане Блэке. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.black_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.black_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Блэк -- главный помощник Дрейка по управлению компанией. Ни одно важное решение в Вестхейвен Трансоушен не принимается без его участия. Не так давно он отправился в научную экспедицию вместе с Уильямом Дрейком и еще несколькими сотрудниками. С одной стороны -- он хороший руководитель и Дрейку повезло иметь такого помощника, с другой -- Блэк, несомненно, принесет в жертву и станцию и всех нас, если это послужит его интересам. Будьте осторожны при общении с ним". ]];
 
            end;
 
        end};
 
        {tag="on_darkstar", false, "Расскажите о себе. ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.darkstar_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.darkstar_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Мне нечего рассказывать, кроме того, что я уже сказал. Мое имя Винсент Даркстар и я занимаю пост начальника службы безопасности Атлантиды". ]];
 
            end;
 
@@ -152,147 +152,147 @@ char_darkstar_dlg = dlg {
 
        end};
 
        {tag="on_learr", false, "Что вы думаете о Леарр? ", function()
 
            if (atl_rep_darkstar < 0) then
 
                char_darkstar.learr_asked = 1;
 
                return [[Винсент Даркстар отвечает: "Мне нечего вам сказать". ]];
 
            else
 
                char_darkstar.learr_asked = 2;
 
                return [[Винсент Даркстар отвечает: "Леарр -- представительница одного из навьярских племен на станции. Она любопытна, молода и умна. Она искренне заинтересована нами и нашими технологиями и это не может не радовать". ]];
 
            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};
 
        {always=true, "Вернемся к делу.", [[Даркстар кивает: "Слушаю".]], code [[ char_darkstar_dlg:reset_more(); pret(); ]]};
 
		{tag="generic"};
 
        {tag="more_questions", "У меня есть несколько вопросов.", [[Даркстар кивает: "Слушаю".]], code [[ psub('ask_more'); ]]};
 
        {tag="mtr_accuse_phr", false, "Я знаю, кто устроил аварию в Солисе. ", [[Даркстар бросает: "Рассказывайте".]], code [[ psub('mtr_accuse'); ]]};
 
		{always=true, "Я пойду.", [[Даркстар прощается: "До встречи". ]], code [[ back(); ]]};
 
        {tag="mtr_accuse"};
 
        {tag="mtr_goldman", always=true, "Аварию устроил Голдман.", [[Даркстар спрашивает: "Почему вы так решили?"]], code [[
 
            char_darkstar_dlg.mtr_accuse = 0;
 
            psub("mtr_accuse_goldman");
 
        ]]};
 
        {tag="mtr_leroy", always=true, "Аварию устроил Леруа.", [[Даркстар спрашивает: "Почему вы так решили?"]], code [[
 
            char_darkstar_dlg.mtr_accuse = 0;
 
            psub("mtr_accuse_leroy");
 
        ]]};
 
        {tag="mtr_jones", always=true, "Аварию устроил Джонс.", [[Даркстар спрашивает: "Почему вы так решили?"]], code [[
 
            char_darkstar_dlg.mtr_accuse = 0;
 
            psub("mtr_accuse_jones");
 
        ]]};
 
        {tag="mtr_accuse_goldman"};
 
        {tag="gclock", false, "Голдман часто оставляет часы по своей рассеянности. Часы были найдены в Солисе.", [[Даркстар спрашивает: "Что еще вы можете добавить?"]]};
 
        {tag="gclosing", always=true, "Голдман -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", [[Даркстар спрашивает: "Что еще вы можете добавить?"]]};
 
        {tag="gclosing", "Голдман -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", [[Даркстар спрашивает: "Что еще вы можете добавить?"]]};
 
        {tag="gall", always=true, "У меня нет других доказательств.", [[Даркстар качает головой: "Боюсь, ваши доказательства неубедительны". ]], code [[psub("generic");]]};
 
        {tag="mtr_accuse_jones"};
 
        {tag="jclock", false, "Голдман часто оставляет часы по своей рассеянности. Джонс имел возможность украсть их неделю назад, во время обеда, когда Голдман потерял их в очередной раз.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_jones');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="jsolis", false, "Согласно записям, Джонс обслуживал Солис вчера и имел возможность повредить оборудование.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_jones');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="jclosing", always=true, "Джонс -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", function()
 
        {tag="jclosing", "Джонс -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_jones');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="jall", always=true, "У меня нет других доказательств.", [[Даркстар качает головой: "Боюсь, ваши доказательства неубедительны". ]], code [[psub("generic");]]};
 
        {tag="mtr_accuse_leroy"};
 
        {tag="lclock", false, "Голдман часто оставляет часы по своей рассеянности. Леруа возможность украсть их неделю назад, во время обеда, когда Голдман потерял их в очередной раз.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_leroy');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="lsolis", false, "По словам Джонса, Солис вчера обслуживал Леруа. Также, Рэдклифф видел Леруа покидающим Терру -- единственную секцию с выходом к Солису.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_leroy');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="lclosing", always=true, "Леруа -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", function()
 
        {tag="lclosing", "Леруа -- сторонник закрытия станции и часто говорит о ее ненадежности. Авария -- отличное подтверждение его слов.", function()
 
            char_darkstar_dlg.mtr_accuse = char_darkstar_dlg.mtr_accuse + 1;
 
            if char_darkstar_dlg.mtr_accuse == 3 then
 
                walk('mtr_outro_leroy');
 
                return [[Даркстар достает из ящика стола лист бумаги и начинает что-то писать. Вам он говорит: "Вы хорошо поработали, господин Дрейк. Благодарю вас за работу". ]];
 
            else
 
                return [[Даркстар спрашивает: "Что еще вы можете добавить?"]];
 
            end;
 
        end};
 
        {tag="lall", always=true, "У меня нет других доказательств.", [[Даркстар качает головой: "Боюсь, ваши доказательства неубедительны". ]], code [[psub("generic");]]};
 
	};
 
};
 
 
char_moreau_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Фредерик Моро";
 
	disp = "Фредерик Моро";
 
    reset_more = function(s)
 
        poff("on_drake", "on_black", "on_darkstar", "on_svetlova", "on_moreau", "on_wright", "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 (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;
 
        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 (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 (char_moreau.ryveerr_asked < 2) then pon("on_ryveerr"); pon("more_questions"); end;
 
        end;
0 comments (0 inline, 0 general)