# HG changeset patch # User Silverwing # Date 2017-12-03 15:18:46 # Node ID a096825c4b47cf1efbd2d0fc7c09360ac7fdbbfc # Parent b5bb7dc774470ca4c1ce247ea624208a7c910814 Dypatreanotrr further changes diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -1150,7 +1150,7 @@ char_svetlova_dlg = dlg { move("char_learr_atlantis", "atl_oculus_library"); psub("iyh_more"); ]]}; - {tag="iyh_more"}; + {tag="iyh_more"}; {"[Передать фрагмент карты] Да, конечно. Мы нашли это в скрытом помещении в храме.", [[Екатерина Светлова с интересом рассматривает табличку: "Удивительно, это явно очень старое, но это может быть все что угодно. Да, это карта, она сильно отличается от других навьярских карт, виденных нами. Обратите внимание, на количество деталей -- здесь не только отмечены условными символами три-четыре ориентира. Здесь их десятки, если не сотни. Попробуйте разузнать побольше в Ираафаанотре и Дипатреанотре". ]], code [[ psub("generic"); ]]}; }; }; diff --git a/atlantis_dyp.lua b/atlantis_dyp.lua --- a/atlantis_dyp.lua +++ b/atlantis_dyp.lua @@ -10,7 +10,7 @@ global { -- 3 - узнали, куда унес карту Аэдиенрр из Дипатреанотра -- 4 - Отдали оригинал КНО в Ираафаанотр -- 5 - Отдали жезл в Ираафаанотр - dyp_stones_known = 0; + dyp_stones_known = false; dyp_lib_stone_state = 0; }; @@ -73,10 +73,21 @@ dyp_guardian = npc { dyp_guardian_dlg = dlg { nam = "dyp_guardian_dlg"; - entered = [[По головным плавникам стражника бегут цветные полосы: "Ты говори с вождем, не со мной". ]]; + entered = function(s) + if language_known then + psub("speak"); + return [[По головным плавникам стражника бегут цветные полосы: "Ты говори с вождем, не со мной". ]]; + else + psub("no_speak"); + return [[По головным плавникам стражника бегут цветные полосы. К сожалению, вы не понимаете, что он пытается вам сказать. ]]; + end; + end; phr = { + {tag="no_speak"}; + {always = true; "[Уйти]", code [[ back(); ]]}; + {tag="speak"}; {"[Кодировщик] Я ищу навьяра по имени Аэдиенрр. Он проходил здесь недавно.", [[Стражник кивает: "Аэдиенрр из Ираафаанотра ушел на восток несколько дней назад. Кажется, он направлялся к обелискам". ]], code [[ dyp_quest_state = 3; ]]}; - {"[Уйти]", code [[ back(); ]]}; + {always = true; "[Уйти]", code [[ back(); ]]}; }; }; @@ -134,7 +145,13 @@ dyp_librarian = npc { state = 0; }; nam = "dyp_librarian"; - dsc = [[]]; + dsc = function(s) + if s.state == 0 then + return [[Перед вами на полу сидит {навьяр}. Вокруг него разложены какие-то записи, которые он рассматривает, время от времени перекладывая с места на место. ]]; + else + return [[Перед вами на полу сидит {Эйлехиарр}. Вокруг него разложены какие-то записи, которые он рассматривает, время от времени перекладывая с места на место. ]]; + end; + end; dlg = "dyp_librarian_dlg"; }; @@ -142,18 +159,27 @@ dyp_librarian_dlg = dlg { nam = "dyp_librarian_dlg"; disp = "Эйлехиарр"; entered = function(s) - if (dyp_librarian_dlg.state == 0) then - dyp_librarian_dlg.state = 1; - return [[Перед вами, япрямо на полу сидит навьяр. Рядом с ним разложены какие-то записи, которые он внимательно рассматривает, иногда перекладывая с места на место. Заметив вас, он поднимается и приветствует вас: "Я, Eyle'hya'rr из Dyp'atre'anot'rrа, приветствую тебя he'vji'a'rr. Ты говори, зачем ты пришел". ]]; + if language_known then + psub("speak"); + if (dyp_librarian_dlg.state == 0) then + dyp_librarian_dlg.state = 1; + return [[Перед вами, прямо на полу сидит навьяр. Рядом с ним разложены какие-то записи, которые он внимательно рассматривает, иногда перекладывая с места на место. Заметив вас, он поднимается и приветствует вас: "Я, Эйлехиарр из Дипатреанотра, приветствую тебя хевьяр. Ты говори, зачем ты пришел". ]]; + else + return [[Эйлехиарр сидит на полу, перекладывая какие-то записи. Заметив вас он поднимается и приветствует вас: "Ты говори, зачем ты пришел". ]]; + end; else - return [[Эйлехиарр сидит на полу, перекладывая какие-то записи. Заметив вас он поднимается и приветствует вас: "Ты говори, зачем ты пришел". ]]; + psub("no_speak"); + return [[Перед вами, прямо на полу сидит навьяр. Рядом с ним разложены какие-то записи, которые он внимательно рассматривает, иногда перекладывая с места на место. Заметив вас, он поднимается. По плавникам на его голове начинают бежать цветные полосы, но вы не понимаете, что он хочет вам сказать. ]]; end; end; phr = { + {tag="no_speak"}; + {always=true, "[Уйти]", code [[ back(); ]]}; + {tag="speak"}; {"[Кодировщик] Что ты делаешь?", [[Эйлехиарр отвечает: "Эти записи сильно повреждены. К счастью у нас есть несколько копий этого текста. Но мои предшественники умудрились испортить все три!" ]]}; - {"[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Эйлехиарр задумчиво оглядывает помещение. Делает несколько шагов в одну сторону, потом в другую. Садится рядом со своими записями, сова встает. Наконец, он берет с одной из полок металлическую табличку и сообщает: "Здесь говорится о пещере рядом с храмом. Три ключа закрывают вход". ]], code [[pon("three_keys");]]}; + {"[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Эйлехиарр задумчиво оглядывает помещение. Делает несколько шагов в одну сторону, потом в другую. Садится рядом со своими записями, снова встает. Наконец, он берет с одной из полок металлическую табличку и сообщает: "Здесь говорится о пещере рядом с храмом. Три ключа закрывают вход". ]], code [[pon("three_keys");]]}; {tag="three_keys", false, "[Кодировщик] Где найти эти ключи?", [[Эйлехиарр отвечает: "Здесь, в Дипатреанотре. Один ты можешь забрать внизу, у статуи". ]], code [[ dyp_stones_known = true; dyp_lib_stone_state = 1; ]]}; - {"[Кодировщик] Я пойду.", [[Эйлехиарр прощается: "Ты возвращайся". ]]}; + {always=true, "[Кодировщик] Я пойду.", [[Эйлехиарр прощается: "Ты возвращайся". ]], code [[ back(); ]]}; }; }; @@ -226,17 +252,34 @@ dyp_chief = npc { }; dyp_chief_dlg = dlg { + var { + lse = false; + }; nam = "dyp_chief_dlg"; + disp = "Вождь Дипатреанотра"; entered = function(s) - if dyp_stones_known then - pon("star_map"); + if not language_known then + psub("no_speak"); + return [[Как только вы приближаетесь к столу, глаза вождя открываются. Он поднимается с трона. Руки его остаются сложенными на груди, а взгляд его желтых глаз устремляется на вас. По его головным плавникам бегут цветные полосы. К сожалению, вы не понимаете, что он пытается вам сказать. ]]; + else + psub("speak"); + if atl_iyh_state == 10 and not s.lse then + s.lse = true; + pon("lseryanotrr"); + end; + if dyp_stones_known then + pon("star_map"); + end; + return [[Как только вы приближаетесь к столу, глаза вождя открываются. Он поднимается с трона. Руки его остаются сложенными на груди, а взгляд его желтых глаз устремляется на вас. По его головным плавникам бегут цветные полосы: "Чем скромные навьяры из Дипатреанотра обязаны визиту почтенного хевьяра? Ты говори". ]]; end; - return [[Как только вы приближаетесь к столу, глаза вождя открываются. Он поднимается с трона. Руки его остаются сложенными на груди, а взгляд его желтых глаз устремляется на вас. По его головным плавникам бегут цветные полосы: "Чем скромные навьяры из Дипатреанотра обязаны визиту почтенного хевьяра? Ты говори". ]]; end; phr = { - {"[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Вождь отвечает: "Ты спроси в храме или в библиотеке. Я ничего такого не знаю". ]]}; + {tag="no_speak"}; + {always=true, "[Уйти]", code [[ back(); ]]}; + {tag="speak"}; + {tag="lseryanotrr", false, "[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Вождь отвечает: "Ты спроси в храме или в библиотеке. Я ничего такого не знаю". ]]}; {tag="star_map", false, "[Кодировщик] Мне нужен камень из твоего жезла. Что я могу предложить в обмен на него?", [[Глаза вождя загораются, он ухмыляется. По плавникам быстро, словно в нетерпении, бегут цветные полосы: "Я хочу карту небесных огней из Ираафаанотра. Принеси ее и забирай этот жезл вместе с камнем". ]], code [[ dyp_quest_state = 1; ]]}; - {"[Кодировщик] Я пойду.", [[Вождь прощается с вами: "Ты возвращайся". Он садится обратно на трон и закрывает глаза. ]], code [[ back(); ]]}; + {always=true, "[Кодировщик] Я пойду.", [[Вождь прощается с вами: "Ты возвращайся". Он садится обратно на трон и закрывает глаза. ]], code [[ back(); ]]}; }; };