Changeset - 5014cf56ba06
[Not reviewed]
default
0 1 0
silverwing - 5 years ago 2019-10-26 08:17:38

[upd] Add party dialogs for box of rays
1 file changed with 31 insertions and 3 deletions:
party.lua
31
3
0 comments (0 inline, 0 general)
party.lua
Show inline comments
 
@@ -276,24 +276,30 @@ learr_dlg = dlg {
 
                    pon("talk");
 
                end;
 
                if char_learr.on_nleyyslanotrr < 2 and lseryanotrr_found then
 
                    pon("on_nleyyslanotrr");
 
                    pon("talk");
 
                end;
 
                if char_learr.on_deep_temple < 2 and dt_temple_done then
 
                    pon("on_deep_temple");
 
                    pon("talk");
 
                end;
 
            end;
 
 
            if have(item_raybox) and not s.from_call then
 
                pon('on_raybox');
 
            else
 
                poff('on_raybox');
 
            end;
 
 
            if (char_learr.follow) then
 
                pon('stay');
 
                poff('join');
 
            else
 
                pon('join');
 
                poff('stay');
 
            end;
 
        else
 
            poff('join', 'stay');
 
        end;
 
 
        if (atl_iyh_state == 7 and not atl_iyh_temple_visited) then
 
@@ -351,25 +357,25 @@ learr_dlg = dlg {
 
            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};        
 
        end};
 
        {tag="more_questions"};
 
        {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 [[Леарр отвечает: "Мы многому-научиться-у-вас-должны-и-можем. Вы в-воде-не-дышите-как-мы, но вы машины-делающие-это-за-вас-строите. Легенды гласят, что мы тоже-это-умели, но почему-разучились? Я не умею. Отец не умеет. Другие не умеют. И в-книгах-не-написано". Леарр печально вздыхает. ]];
 
@@ -387,32 +393,33 @@ learr_dlg = dlg {
 
            return [[Леарр отвечает: "Мне город-нравится. Он совсем-не-похож-на-наши-Ирафаанотр-и-Дипатреанотр. Жители мне-нравятся. Красивые-и-большие-дома они-строят, а библиотека несоменнно-скрывает-многие-знания. Я хотела-бы-остаться в-нем". ]];
 
        end};
 
        {tag="on_nleyyslanotrr", "Что скажешь о Нлейисланотре?", function()
 
            char_learr.on_nleyyslanotrr = 2;
 
            return [[Леарр отвечает: "Жаль, что пообщаться-с-местными-жителями-не-смогли-мы. Нлейисланотр невероятно-огромен. Я осмотреть-весь-город-хотела-бы". ]];
 
        end};
 
        {tag="on_deep_temple", "Что скажешь о храме глубин?", function()
 
            char_learr.on_deep_temple = 2;
 
            return [[Леарр рассказывает: "Если древние-навьяры такое-создали, то, что-ждет-нас-в-Лсэрианотре-даже-не-представляю. Печально, что храм утерян-для-нас. Надеюсь, мы когда-нибудь-восстановить-дорогу-к-нему-сможем". ]];
 
        end};
 
        {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[pret();]]};
 
        {tag="generic"};
 
        { tag = "talk", always = true, "Я хочу кое-что спросить.", function(s)
 
        {tag = "talk", always = true, "Я хочу кое-что спросить.", function(s)
 
            if rel_learr >= 0 then
 
                psub("more_questions");
 
                return [[Леарр кивает: "Ты говори". ]];
 
            else
 
                return [[Леарр отвечает: "Мы потом-поговорим". ]];
 
            end;
 
        end};
 
        {tag = 'on_raybox', "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Леарр осторожно берет коробочку из ваших рук и долго рассматривает ее. Наконец, она сообщает: "Я ничего-подобного-никогда-не-видела. Я это-использовать-не-умею". Немного позже она добавляет: "Я думаю, это вернуть-в-Венаэданотр-нужно". ]]};
 
        {tag = 'temple_hint', false, function(s)
 
            if learr_dlg.underwater then
 
                return '[Кодировщик] Что может значить фраза: "Ответь на вопрос и ты войдешь"?';
 
            else
 
                return 'Что может значить фраза: "Ответь на вопрос и ты войдешь"?';
 
            end;
 
        end, function(s)
 
            if learr_dlg.underwater then
 
                return [[По головным плавникам Леарр бегут цветные полосы: "Попробуй использовать эту коробочку, через которую говоришь со мной". ]];
 
            else
 
                return [[Леарр отвечает: "Ты коробочку-через-которую-говоришь-используй". ]];
 
            end;
 
@@ -513,24 +520,30 @@ phaetlarr_dlg = dlg {
 
                end;
 
                if char_phaetlarr.on_venaedanotrr < 2 then
 
                    pon("on_venaedanotrr", "talk");
 
                end;
 
                if char_phaetlarr.on_nleyyslanotrr < 2 then
 
                    pon("on_nleyyslanotrr", "talk");
 
                end;
 
                if char_phaetlarr.on_join < 2 then
 
                    pon("on_join", "talk");
 
                end;
 
            end;
 
 
            if have(item_raybox) and not s.from_call then
 
                pon('on_raybox');
 
            else
 
                poff('on_raybox');
 
            end;
 
 
            if (char_phaetlarr.follow) then
 
                pon('stay');
 
                poff('join');
 
            else
 
                pon('join');
 
                poff('stay');
 
            end;
 
        else
 
            poff('stay', 'join');
 
        end;
 
 
        if s.from_call then
 
@@ -561,24 +574,25 @@ phaetlarr_dlg = dlg {
 
            char_phaetlarr.on_join = 2;
 
            return [[Фаэтларр отвечает: "Мне наскучила тихая жизни в Венаэданотре, древняя легенда манит меня так же, как и Уильяма Дрейка, и, вероятно, вас". ]];
 
        end};
 
        {tag="generic"};
 
        {tag="talk", false, "Мы можем поговорить?", function(s)
 
            if (rel_anna < 0) then
 
                return [[Фаэтларр отрицательно качает головой: "Не в этот раз". ]];
 
            else
 
                psub("talk_more");
 
                return [[Фаэтларр кивает: "Ты говори". ]];
 
            end;
 
        end};
 
        {tag="on_raybox", "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Фаэтларр долго рассматривает коробочку, прежде чем сказать: "Адриан Блэк говорил, что ваши техники и ученые могут разобраться с нашими реликвиями. Попробуй показать это Уолтеру Рэдклиффу". ]]};
 
		{ 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", "Оставайся на Левиафане.", [[Фаэтларр отвечает: "Хорошо". ]], 
 
@@ -889,24 +903,30 @@ wright_main_dlg = dlg {
 
        end;
 
 
        poff("talk", 'on_learr', 'on_leviathan', 'on_jack', 'on_venaedanotrr', 'on_nleyyslanotrr', 'on_deep_temple');
 
        if s.home then
 
            if (char_wright.follow) then
 
                pon('stay');
 
                poff('join');
 
            else
 
                pon('join');
 
                poff('stay');
 
            end;
 
 
            if have(item_raybox) and not s.from_call then
 
                pon('on_raybox');
 
            else
 
                poff('on_raybox');
 
            end;
 
 
            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 (atl_jack_in_party and char_wright.on_leviathan < 2) then pon("on_leviathan", "talk"); end;
 
                if (char_wright.on_jack < 2) then pon("on_jack", "talk"); end;
 
 
                if (char_wright.on_venaedanotrr < 2 and nleyyslanotrr_found) then
 
                    pon("on_venaedanotrr", "talk");
 
                end;
 
@@ -986,24 +1006,26 @@ wright_main_dlg = dlg {
 
            end;
 
 
            return [[Джек вопросительно смотрит на вас. ]];
 
        end;
 
        if s.from_call then
 
            return [[Вы слышите в трубке голос Джека Райта: "Джек Райт на связи. Что вы хотели?" ]];
 
        else
 
		    return [[Джек ждет ваших указаний. ]];
 
        end;
 
	end;
 
	phr = {
 
        {tag="generic"};
 
        {tag="talk", "Я хочу кое-что спросить.", [[Джек Райт кивает: "Слушаю". ]], code [[psub("more_questions");]]};
 
        {tag="on_raybox", "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Джек Райт внимательно рассматривает реликвию и высказывает свои соображения: "Если ты хочешь угодить навьярам -- оставь этот предмет им. Они положат его в храм и никогда не вспомнят. Если же хочешь заставить ее работать или хотя бы разобраться с ней, то на борту Левиафана только Уолтер с этим разберется". ]]};
 
        {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 [[Джек пожимает плечами: "Понятия не имею. Возможно, вождь сможет помочь". ]];
 
@@ -1018,25 +1040,24 @@ wright_main_dlg = dlg {
 
            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", false, "Как впечатления от Левиафана?", function()
 
            if (rel_jack < 0) then
 
@@ -1143,24 +1164,30 @@ anna_dlg = dlg {
 
                    pon("talk");
 
                end;
 
                if (char_anna.nleyyslanotr_asked < 2 and lseryanotrr_found) then
 
                    pon("on_nleyyslanotrr");
 
                    pon("talk");
 
                end;
 
                if (char_anna.deep_temple_asked < 2 and dt_temple_done) then
 
                    pon("on_deep_temple");
 
                    pon("talk");
 
                end;
 
            end;
 
 
            if have(item_raybox) and not s.from_call then
 
                pon('on_raybox');
 
            else
 
                poff('on_raybox');
 
            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
 
@@ -1226,24 +1253,25 @@ anna_dlg = dlg {
 
        end;
 
	end;
 
	phr = {
 
        {tag="generic"};
 
        {tag="talk", false, "Мы можем поговорить?", function(s)
 
            if (rel_anna < 0) then
 
                return [[Анна отрицательно качает головой: "Не сейчас". ]];
 
            else
 
                psub("talk_more");
 
                return [[Анна кивает: "Да, конечно. Я вас слушаю". ]];
 
            end;
 
        end};
 
        {tag="on_raybox", "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Анна с интересом оглядывает коробочку, взяв ее из ваших рук. Она возвращает реликвию со словами: "Покажите ее моему брату. Я думаю, он разберется". ]]};
 
        {tag='on_ven_keeper', false, "Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?", function(s)
 
            if rel_anna < 0 then
 
                return [[Анна отвечает: "Не думаю, что могу чем-то помочь". ]];
 
            elseif anna_dlg.from_call 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
0 comments (0 inline, 0 general)