Changeset - 1084d503e6f5
[Not reviewed]
default
0 3 0
silverwing - 4 years ago 2019-11-16 18:50:41

0000142, 0000140
3 files changed with 83 insertions and 26 deletions:
0 comments (0 inline, 0 general)
atlantis_dyp.lua
Show inline comments
 
@@ -2519,13 +2519,13 @@ dyp_dead_navjiarr = obj {
 
    dsc = [[Рядом с вами лежит мертвый навьяр. Тело изуродовано могучими клешнями крабов, однако, судя по всему, умер он недавно. Рядом с трупом валяется его {сумка}. ]];
 
    act = function(s)
 
        if s.state == 0 then
 
            s.state = 1;
 
            move(dyp_item_star_map, pl);
 
            move(dyp_item_aedienrr_notes, pl);
 
            return [[В сумке вы находите две таблички: металлическая и обычная, каменная. Металлическая табличка сразу привлекает ваше внимание. Причудливые узоры схем никак не напоминают навьярские письмена, а символы нанесенные вокруг, не говорят вам ровным счетом ни о чем. Должно быть, это и есть карта небесных огней из Ираафаанотра. Стоит показать ее Светловой, быть может она сможет что-то из этого извлечь. ^Каменная табличка содержит дневник Аэдиенрра. Возможно, есть смысл вернуть ее в Ираафаанотр. ]];
 
            return [[В сумке вы находите две таблички: металлическая и обычная, каменная. Металлическая табличка сразу привлекает ваше внимание. Причудливые узоры схем никак не напоминают навьярские письмена, а символы нанесенные вокруг, не говорят вам ровным счетом ни о чем. Должно быть, это и есть карта небесных огней из Ираафаанотра. ^Каменная табличка содержит дневник Аэдиенрра. ]];
 
        else
 
            return "Сумка пуста. ";
 
        end;
 
    end;
 
};
 

	
 
@@ -2537,13 +2537,13 @@ dyp_item_aedienrr_notes = obj {
 
        else
 
            return "Каменная табличка";
 
        end;
 
    end;
 
    inv = function(s)
 
        if language_known then
 
            return "Надписи на каменной табличке рассказывают о последнем путешествии Аэдиенрра. Молодой навьяр разгадал схемы на карте небесных огней и предположил, что они ведут в пещеру в скале к северу от Дипатреанотра. Ориентирами служат каменные обелиски-предостережения и храм, расположенный где-то у этой скалы. Никто из Ираафаанотра не смог рассказать ничего о храме, поэтому исследователю пришлось долго идти наугад. Последняя запись гласит, что он почти добрался до пещеры... ^Стоит вернуть эти записи в Ираафаанотр. ";
 
            return "Надписи на каменной табличке рассказывают о последнем путешествии Аэдиенрра. Молодой навьяр разгадал схемы на карте небесных огней и предположил, что они ведут в пещеру в скале к северу от Дипатреанотра. Ориентирами служат каменные обелиски-предостережения и храм, расположенный где-то у этой скалы. Никто из Ираафаанотра не смог рассказать ничего о храме, поэтому исследователю пришлось долго идти наугад. Последняя запись гласит, что он почти добрался до пещеры...";
 
        else
 
            return "Вы не понимаете языка и надписи значат для вас не больше чем ряды вертикальных цветных полосок. ";
 
        end;
 
    end;
 
};
 

	
items.lua
Show inline comments
 
@@ -1109,13 +1109,13 @@ item_raybox = obj {
 
	inv = [[Навьярский прибор, известный вам как коробочка лучей. Осталось научиться пользоваться им, и вряд ли с этим могут помочь навьяры. Вам понадобится помощь опытного инженера, чтобы вновь заставить ее работать. ]];
 
	act = function(s)
 
		if stead.deref(here()) == 'ven_ravine_crypt' then
 
			remove(item_raybox, where(item_raybox));
 
			take(item_raybox, pl);
 
            ven_char_phanearr_dlg.found_raybox = true;
 
			return [[Вы аккуратно извлекаете коробочку лучей из механизма, в который она установлена. Светящиеся линии в ее недрах мгновенно гаснут. Вам понадобится помощь опытного инженера, чтобы вновь заставить ее работать. ]];
 
			return [[Вы аккуратно извлекаете коробочку лучей из механизма, в который она установлена. Светящиеся линии в ее недрах мгновенно гаснут. ]];
 
		end;
 
	end;
 
	used = function(s, o)
 
		if o == item_map_disc then
 
			deep_temple_found = true;
 
			return [[Вы помещаете диск внутрь коробочки и он тут же опутывается лучами, которые начинают отражаться от него. Над поверхностью коробочки возникает полупрозрачное изображение -- это очень детальная навьярская карта, описывающая какое-то место, находящееся очень далеко отсюда. Цветные полосы, возникшие над изображением гласят "храм". ]];
party.lua
Show inline comments
 
@@ -282,29 +282,35 @@ learr_dlg = dlg {
 
                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 have(dyp_item_star_map) and not s.from_call then
 
            pon('on_starmap');
 
        else
 
            poff('on_starmap');
 
        end;
 
 
        if have(item_raybox) and not s.from_call then
 
            pon('on_raybox');
 
        else
 
            poff('on_raybox');
 
        end;
 
 
        if (atl_iyh_state == 7 and not atl_iyh_temple_visited) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
 
@@ -407,13 +413,38 @@ learr_dlg = dlg {
 
                psub("more_questions");
 
                return [[Леарр кивает: "Ты говори". ]];
 
            else
 
                return [[Леарр отвечает: "Мы потом-поговорим". ]];
 
            end;
 
        end};
 
        {tag = 'on_raybox', "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Леарр осторожно берет коробочку из ваших рук и долго рассматривает ее. Наконец, она сообщает: "Я ничего-подобного-никогда-не-видела. Я это-использовать-не-умею". Немного позже она добавляет: "Я думаю, это вернуть-в-Венаэданотр-нужно". ]]};
 
        {tag = 'on_starmap', function(s)
 
            if learr_dlg.underwater then
 
                return "[Показать карту небесных огней] [Кодировщик] Что ты можешь сказать об этом предмете?";
 
            else
 
                return "[Показать карту небесных огней] Что ты можешь сказать об этом предмете?";
 
            end;
 
        end, function(s)
 
            if learr_dlg.underwater then
 
                return [[Леарр внимательно рассматривает карту небесных огней и, наконец, сообщает: "Я слышала об этой карте, но никогда не видела ее. Надо вернуть ее в Ираафаанотр". ]];
 
            else
 
                return [[Леарр внимательно рассматривает карту небесных огней и, наконец, сообщает: "Я об-этой-карт-слышала, но ее-никогда-не-видела. Надо в-Ираафаанотр-вернуть ее". ]];
 
            end;
 
        end};
 
        {tag = 'on_raybox', function(s)
 
            if learr_dlg.underwater then
 
                return "[Показать коробочку лучей] [Кодировщик] Что ты можешь сказать об этом предмете?";
 
            else
 
                return "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?";
 
            end;
 
        end, function(s)
 
            if learr_dlg.underwater then
 
                return [[Леарр осторожно берет коробочку из ваших рук и долго рассматривает ее. Наконец, она сообщает: "Я не видела ничего подобного. Я не знаю, что это". Немного позже она добавляет: "Думаю, стоит вернуть это в Венаэданотр". ]];
 
            else
 
                return [[Леарр осторожно берет коробочку из ваших рук и долго рассматривает ее. Наконец, она сообщает: "Я ничего-подобного-никогда-не-видела. Я это-использовать-не-умею". Немного позже она добавляет: "Я думаю, это вернуть-в-Венаэданотр-нужно". ]];
 
            end;
 
        end};
 
        {tag = 'temple_hint', false, function(s)
 
            if learr_dlg.underwater then
 
                return '[Кодировщик] Что может значить фраза: "Ответь на вопрос и ты войдешь"?';
 
            else
 
                return 'Что может значить фраза: "Ответь на вопрос и ты войдешь"?';
 
            end;
 
@@ -631,13 +662,19 @@ radcliffe_dlg = dlg {
 
            ven_radcliffe_spoken_8 = true;
 
            pon('on_ven_keeper');
 
        else
 
            poff('on_ven_keeper');
 
        end;
 
 
        if have(item_raybox) and not s.from_call and s.home then
 
        if have(dyp_item_star_map) and not s.from_call then
 
            pon('on_starmap');
 
        else
 
            poff('on_starmap');
 
        end;
 
 
        if have(item_raybox) and not s.from_call then
 
            pon('on_raybox');
 
        else
 
            poff('on_raybox');
 
        end;
 
 
        if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 then
 
@@ -833,16 +870,22 @@ radcliffe_dlg = dlg {
 
                return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]];
 
            else
 
                psub("talk");
 
                return [[Уолтер кивает: "Слушаю". ]];
 
            end;
 
        end};
 
        {tag='on_raybox', [[Ты можешь посмотреть эту "коробочку лучей"? Нам нужно подключить ее. ]], [[Уолтер берет коробочку лучей и долго вертит ее в руках. Затем задумчиво произносит: "Если она работает на электричестве, я смогу оживить ее, но это потребует времени". ]], code [[
 
        {tag='on_starmap', '[Показать карту небесных огней] Что ты можешь сказать об этом предмете? Вождь Дипатреанотра просил меня принести ее ему, но реликвия принадлежит Ираафаанотру. ', [[Уолтер долго и внимательно рассматривает карту небесных огней. Наконец, он сообщает: "Я думаю, на Атлантиде мы сможем сделать для вождя копию. И волки сыты и овцы целы". ]]};
 
        {tag='on_raybox', [[Ты можешь посмотреть эту "коробочку лучей"? Нам нужно подключить ее. ]], function(s)
 
            remove(item_raybox, pl);
 
            raybox_task = true;
 
        ]]};
 
            if s.home then
 
                return [[Уолтер берет коробочку лучей и долго вертит ее в руках. Затем задумчиво произносит: "Если она работает на электричестве, я смогу оживить ее, но это потребует времени". ]];
 
            else
 
                return [[Уолтер берет коробочку лучей и долго вертит ее в руках. Затем задумчиво произносит: "Если она работает на электричестве, я смогу оживить ее, но это потребует времени. Займусь, как вернемся на Левиафан". ]];
 
            end;
 
        end};
 
        {tag='ven_keeper', false, 'Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?', function(s)
 
            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
 
@@ -909,18 +952,12 @@ wright_main_dlg = dlg {
 
                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;
 
@@ -938,21 +975,33 @@ wright_main_dlg = dlg {
 
                end;
 
            end;
 
        else
 
            poff('stay', 'join');
 
        end;
 
 
        if have(dyp_item_star_map) and not s.from_call then
 
            pon('on_starmap');
 
        else
 
            poff('on_starmap');
 
        end;
 
 
        if have(item_raybox) and not s.from_call then
 
            pon('on_raybox');
 
        else
 
            poff('on_raybox');
 
        end;
 
 
        if not iraa_temple_entrance.__visited then
 
            if atl_ctt_iraa_refusal and not s.iraa_temple_asked then
 
                s.iraa_temple_asked = true;
 
                pon("on_iraa_temple");
 
            end;
 
        else
 
            poff("on_iraa_temple");
 
        end;
 
        
 
 
        psub("generic");
 
 
        if (ven_quest_status == 8 and not ven_wright_spoken_8) then
 
            ven_wright_spoken_8 = true;
 
            pon('on_ven_keeper');
 
        else
 
@@ -1013,12 +1062,13 @@ wright_main_dlg = dlg {
 
		    return [[Джек ждет ваших указаний. ]];
 
        end;
 
	end;
 
	phr = {
 
        {tag="generic"};
 
        {tag="talk", "Я хочу кое-что спросить.", [[Джек Райт кивает: "Слушаю". ]], code [[psub("more_questions");]]};
 
        {tag="on_starmap", "[Показать карту небесных огней] Что ты можешь сказать об этом предмете? Вождь Дипатреанотра просил меня принести ее ему, но реликвия принадлежит Ираафаанотру. ", [[Джек берет карту небесных огней и осматривает ее со всех сторон. Он задумчиво произносит: "Потрясающая точность. Наверное, только в лучших мастерских мира могут создать что-то подобное -- здесь нужны очень хорошие станки и инструменты. Ее нужно отдать в Ираафаанотр, но надо что-то придумать, чтобы и вождь Дипатреанотра дал нам то, что нам нужно".]]};
 
        {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
 
@@ -1127,12 +1177,24 @@ anna_dlg = dlg {
 
        if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 then
 
            pon('temple_hint');
 
        else
 
            poff('temple_hint');
 
        end;
 
 
        if have(dyp_item_star_map) and not s.from_call then
 
            pon('on_starmap');
 
        else
 
            poff('on_starmap');
 
        end;
 
 
        if have(item_raybox) and not s.from_call then
 
            pon('on_raybox');
 
        else
 
            poff('on_raybox');
 
        end;
 
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_join", "on_venaedanotrr", "on_black", "on_venaedanotrr", "on_nleyyslanotrr", "on_deep_temple", "talk");
 
        if s.home then
 
            if (rel_anna < 0) then
 
                pon("talk");
 
            else
 
                if (char_anna.anna_asked < 2) then
 
@@ -1170,18 +1232,12 @@ anna_dlg = dlg {
 
                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');
 
@@ -1260,12 +1316,13 @@ anna_dlg = dlg {
 
            else
 
                psub("talk_more");
 
                return [[Анна кивает: "Да, конечно. Я вас слушаю". ]];
 
            end;
 
        end};
 
        {tag="on_raybox", "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Анна с интересом оглядывает коробочку, взяв ее из ваших рук. Она возвращает реликвию со словами: "Покажите ее моему брату. Я думаю, он разберется". ]]};
 
        {tag="on_starmap", "[Показать карту небесных огней] Что ты можешь сказать об этом предмете? Вождь Дипатреанотра просил меня принести ее ему, но реликвия принадлежит Ираафаанотру. ", [[Анна осматривает предмет, задумчиво проговаривая: "Карта небесных огней, карта. Карта указывает место. Но здесь совсем ничего не понятно. Может быть госпожа Светлова разберется?"^Она ненадолго замолкает, а потом восклицает: "Карта не имеет ценности, а важно место и то, что там хранится! Нам надо завершить дело Аэдиенрра и мы сможем без опаски отдать карту в Дипатреанотр". ]]}
 
        {tag='on_ven_keeper', false, "Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?", function(s)
 
            if rel_anna < 0 then
 
                return [[Анна отвечает: "Не думаю, что могу чем-то помочь". ]];
 
            elseif anna_dlg.from_call then
 
                return [[Анна отвечает: "У меня есть решение этой проблемы. Жду тебя в кают-компании". ]];
 
            else
0 comments (0 inline, 0 general)