# HG changeset patch # User Silverwing # Date 2020-05-05 13:19:29 # Node ID 422b38e4c1f72173e4e0582a38805375504521fb # Parent 17800a282d09b07c03bd5c661a6a4e7c1577ef48 fix: old temple improvements diff --git a/atlantis_iyhehevjiarr.lua b/atlantis_iyhehevjiarr.lua --- a/atlantis_iyhehevjiarr.lua +++ b/atlantis_iyhehevjiarr.lua @@ -1217,14 +1217,16 @@ iyh_temple_right_hall = room { var { question_seen = false; question_message_seen = false; + question_answered = false; }; nam = "Храм"; temple = true; underwater = true; dsc = [[Вы находитесь в одной из боковых комнат храма. Небольшое помещение -- не более десятка метров в ширину. ]]; checkCoder = function(s, phrase) - if (phrase == "aed'rr") then + if (phrase == "aed'rr" or phrase == "aedrr" or phrase == "eyle'aed'rr" or phrase == "eyleaedrr") then if s.question_seen then + s.question_answered = true; path('В скрытое помещение', s):enable(); return [[Стоит последней лампочке погаснуть, как одна из плит в стене комнаты сдвигается, открывая проход в скрытое помещение. ]]; else @@ -1320,6 +1322,7 @@ iyh_temple_under_corridor_2 = darkroom { }; checkCoder = function(s, phrase) if (phrase == "i'yhe'he'vji'a'rr" or phrase == "he'vji'a'rr") then + iyh_temple_under_plaque.question_answered = true; iyh_temple_under_plaque:disable(); path("В дверь", s):enable(); return [[Лампочки кодировщика зажигаются в заданной последовательности и каменная дверь медленно поднимается, открывая проход дальше. ]]; @@ -1336,18 +1339,25 @@ iyh_temple_under_corridor_2 = darkroom { iyh_temple_under_plaque = obj { nam = "iyh_temple_under_plaque"; seen_level = 2; + var { + question_seen = false; + question_answered = false; + }; dsc = function(s) if (me().has_light) then return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая черная {табличка} из неизвестного материала. ]]; - elseif (language_known) then - return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. Надпись гласит: "Назови себя и ты войдешь". ]]; else - return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на табличке едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. К сожалению, вы не понимаете, что они значат. ]]; + return [[Проход дальше закрывает массивная каменная дверь. Вы не видите никаких способов открыть ее. На двери расположена небольшая {табличка} из неизвестного материала. В темноте вы видите на ней едва заметные светящиеся полосы -- очевидно они утратили свою яркость от времени. ]]; end; end; act = function(s) if (me().has_light) then - return [[Табличка из неизвестного материала. На ней нанесены едва заметные светящиеся полосы. При свете лампы их свечение еле заметно. ]]; + if language_known then + s.question_seen = true; + return [[Табличка из неизвестного материала. На ней нанесены едва заметные светящиеся полосы. При свете лампы их свечение еле заметно. Надпись гласит: "Назови себя и ты войдешь". ]]; + else + return [[Табличка из неизвестного материала. На ней нанесены едва заметные светящиеся полосы. При свете лампы их свечение еле заметно. К сожалению, вы не понимаете, что они значат. ]]; + end; else return [[Табличка из неизвестного материала. Cветящиеся полосы, нанесенные на нее, достаточно различимы в темноте. ]]; end; diff --git a/items.lua b/items.lua --- a/items.lua +++ b/items.lua @@ -191,7 +191,7 @@ item_book_dlg = dlg { img('box:4x16,#800080,255') .. " - T, " .. img('box:4x16,#FF0080,255') .. " - Z, " .. img('box:4x16,#AA0055,255') .. " - S. "}; - {always=true, "Структура слова", [[В навьярском языке слова составляются из множества признаков, присущих данному предмету (rr) или действию (nn). Признаки могут отделяться от остальных частицами "e"(если речь идет о разделенных предметах) или "yhe"(если речь идет о подгруппе). Примеры: ^Na'vji'a'rr -- навьяр^Ty'yhe'na'vji'a'rr -- ты -- навьяр^Vee'nn -- двигаться^Rja'zee'vee'nn -- отдаляться^ Основные периоды времени:^Nley'elra'ysl'rr -- сутки^Ynd'elra'ysl'rr -- год^Rja'elra'ysl'rr -- 216 лет]]}; + {always=true, "Структура слова", [[В навьярском языке слова составляются из множества признаков, присущих данному предмету (rr) или действию (nn). Признаки могут отделяться от остальных частицами "e"(если речь идет о разделенных предметах) или "yhe"(если речь идет о подгруппе). Примеры: ^Na'vji'a'rr -- навьяр^Ty'yhe'na'vji'a'rr -- ты -- навьяр^He'vji'a'rr -- человек^Aed'rr -- море^Eyle'aed'rr -- мировой океан^Vee'nn -- двигаться^Rja'zee'vee'nn -- отдаляться^ Основные периоды времени:^Nley'elra'ysl'rr -- сутки^Ynd'elra'ysl'rr -- год^Rja'elra'ysl'rr -- 216 лет]]}; {always=true, "Словарь", code [[ psub('dictionary'); ]]}; {always=true, "[В другой раздел]", code [[ pret(); diff --git a/party.lua b/party.lua --- a/party.lua +++ b/party.lua @@ -314,7 +314,7 @@ learr_dlg = dlg { poff("on_iyh"); end; - if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 then + if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 and not iyh_temple_right_hall.question_answered then pon('temple_hint'); else poff('temple_hint'); @@ -684,7 +684,7 @@ radcliffe_dlg = dlg { 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 + if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 and not iyh_temple_right_hall.question_answered then pon('temple_hint'); else poff('temple_hint'); @@ -946,7 +946,7 @@ wright_main_dlg = dlg { poff("on_iyh"); end; - if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 then + if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 and not iyh_temple_right_hall.question_answered then pon('temple_hint'); else poff('temple_hint'); @@ -1180,7 +1180,7 @@ anna_dlg = dlg { poff("on_iyh"); end; - if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 then + if iyh_temple_right_hall.question_seen and iyh_temple_right_hall.question_message_seen and atl_iyh_state == 7 and not iyh_temple_right_hall.question_answered then pon('temple_hint'); else poff('temple_hint');