diff --git a/party.lua b/party.lua --- a/party.lua +++ b/party.lua @@ -285,12 +285,6 @@ learr_dlg = dlg { 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'); @@ -302,6 +296,18 @@ learr_dlg = dlg { 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 @@ -410,7 +416,32 @@ learr_dlg = dlg { 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 '[Кодировщик] Что может значить фраза: "Ответь на вопрос и ты войдешь"?'; @@ -634,7 +665,13 @@ radcliffe_dlg = dlg { 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'); @@ -836,10 +873,16 @@ radcliffe_dlg = dlg { 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 [[Уолтер отвечает: "Леарр и Анна будут более полезны чем я в данном вопросе". ]]; @@ -912,12 +955,6 @@ wright_main_dlg = dlg { 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; @@ -941,6 +978,18 @@ wright_main_dlg = dlg { 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; @@ -949,7 +998,7 @@ wright_main_dlg = dlg { else poff("on_iraa_temple"); end; - + psub("generic"); if (ven_quest_status == 8 and not ven_wright_spoken_8) then @@ -1016,6 +1065,7 @@ wright_main_dlg = dlg { 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 @@ -1130,6 +1180,18 @@ anna_dlg = dlg { 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 @@ -1173,12 +1235,6 @@ anna_dlg = dlg { 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'); @@ -1263,6 +1319,7 @@ anna_dlg = dlg { end; end}; {tag="on_raybox", "[Показать коробочку лучей] Что ты можешь сказать об этом предмете?", [[Анна с интересом оглядывает коробочку, взяв ее из ваших рук. Она возвращает реликвию со словами: "Покажите ее моему брату. Я думаю, он разберется". ]]}; + {tag="on_starmap", "[Показать карту небесных огней] Что ты можешь сказать об этом предмете? Вождь Дипатреанотра просил меня принести ее ему, но реликвия принадлежит Ираафаанотру. ", [[Анна осматривает предмет, задумчиво проговаривая: "Карта небесных огней, карта. Карта указывает место. Но здесь совсем ничего не понятно. Может быть госпожа Светлова разберется?"^Она ненадолго замолкает, а потом восклицает: "Карта не имеет ценности, а важно место и то, что там хранится! Нам надо завершить дело Аэдиенрра и мы сможем без опаски отдать карту в Дипатреанотр". ]]} {tag='on_ven_keeper', false, "Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?", function(s) if rel_anna < 0 then return [[Анна отвечает: "Не думаю, что могу чем-то помочь". ]];