diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -1014,6 +1014,7 @@ char_michael_wright_dlg = dlg { end; elseif (atl_nih_state == 3 and atl_iof_completed and atl_fta_state == 0) then atl_fta_state = 1; + psub("fta_agree"); return [[Майкл Райт просматривает какие-то чертежи. Как только вы подходите, он отвлекается и приветствует вас: "Добрый день. У меня есть для вас работа. Сейчас все наши бригады заняты, поэтому я прошу вас помочь с обслуживанием Солиса. Приходите туда и свяжитесь со мной по телефону, я дам вам инструкции". ]]; elseif (atl_fta_state == 2) then atl_fta_state = 3; @@ -1034,6 +1035,8 @@ char_michael_wright_dlg = dlg { {"Я сделал, что должен был. ", [[Майкл Райт кивает: "И все же, не каждому пришла бы в голову идея облачить навьяра в скафандр".]], code [[psub("generic");]]}; {tag="iof_learr"}; {"Рад, что никто не пострадал. ", [[Майкл Райт кивает. ]], code [[ psub("generic"); ]]}; + {tag="fta_agree"}; + {"Хорошо, я сделаю, что смогу. ", [[Майкл Райт спрашивает: "Вы что-то еще хотели?" ]], code [[psub("generic"); ]]}; {tag="fta_deb"}; {"[Пожать руку]Только я все еще не знаю, куда мне следует плыть", [[Майкл Райт кивает: "Мы сделаем все возможное, чтобы помочь вам. Светлова сказала мне, что вы помогаете ей в решении каких-то проблем с навьярами. По ее мнению, это может помочь вам в поисках". ]], code [[ psub('generic'); ]]}; {"Просто верните мне Левиафан", [[Майкл Райт с сожалением произносит: "Не все так просто. Нужно, чтобы согласие дали еще Моро, Даркстар и Светлова". ]], code [[ psub('generic'); ]]}; diff --git a/atlantis_from_the_ashes.lua b/atlantis_from_the_ashes.lua --- a/atlantis_from_the_ashes.lua +++ b/atlantis_from_the_ashes.lua @@ -1,8 +1,9 @@ atl_fta_is_terra_solis = room { + var { + state = 0; + }; nam = "Атлантида, межсекционный кодидор"; - dsc = [[ - Небольшой коридор, соединяющий секции Терра и Солис. Яркий свет электрических ламп освещает помещение. - ]]; + dsc = [[Небольшой коридор, соединяющий секции Терра и Солис. Яркий свет электрических ламп освещает помещение. ]]; entered = function(s) if (s.state == 0) then return [[ @@ -76,46 +77,37 @@ atl_fta_dlg_radio = dlg { entered = function(s) if (s.state == 0) then psub("tuning"); - return [[ - Радио не настроено - ]]; + return [[Радио не настроено. ]]; elseif (s.state == 1) then psub("ok"); - return [[ - Радио настроено, вы можете говорить - ]]; + return [[Радио настроено, вы можете говорить. ]]; elseif (s.state == 2) then psub("next"); - return [[ - Радио настроено, вы можете говорить - ]]; + return [[Радио настроено, вы можете говорить. ]]; elseif (s.state == 3) then psub("more"); - return [[ - Радио настроено, вы можете говорить - ]]; + return [[Радио настроено, вы можете говорить. ]]; end; end; phr = { {tag="tuning"}; {"[Настроить приемник]Прием, как слышите?", [[ - Через несколько минут настройки, вы слышите в динамике голос Райта: "Да, Дрейк". + Через несколько минут настройки, вы слышите в динамике голос Райта: "Слушаю вас, Дрейк". ]], code [[ atl_fta_dlg_radio.state = 1; psub("ok"); ]]}; {tag="ok"}; {"Что мне делать?", [[ "Что вы видите?" ]], code [[ atl_fta_dlg_radio.state = 2; psub("what_i_see"); ]]}; {tag="what_i_see"}; - {"К юго-востоку от меня вижу огонь, скорее всего взрыв был там. Здесь жарко. В остальном все вроде пока в порядке", [["Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]], code [[ back(); ]]}; + {"К юго-востоку от меня вижу огонь, скорее всего взрыв был там. Здесь жарко. ", [[Райт инструктирует вас: "Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]], code [[ psub("clear"); ]]}; {tag="next"}; - {"Что мне делать?", [["Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]]}; + {always=true, "Что мне делать?", [["Идите по западной стороне. Ваша задача -- попасть в центр секции с северной стороны. Вы увидите несколько вентилей. Вам надо будет перекрыть их все. Там хитрая защита от случайного закрытия, но я думаю, вы справитесь". ]]}; + {"Конец связи. ", "", code [[ back(); ]]}; {tag="more"}; - {"Тут еще что-то взорвалось", [[ - "Я знаю. Поторопитесь. Если взорвется еще один котел, то станция обречена". - ]], code [[ atl_fta_dlg_radio.state = 2; ]]}; - {"Как я выберусь отсюда?", [[ - "На юге есть шлюз, выйдете через него". - ]], code [[ atl_fta_dlg_radio.state = 2; ]]}; + {"Тут еще что-то взорвалось", [[Райт подтверждает: "Я знаю. Поторопитесь. Если взорвется еще один котел, то станция обречена". ]], code [[ atl_fta_dlg_radio.state = 2; ]]}; + {"Как я выберусь отсюда?", [[Райт отвечает: "На юге есть шлюз, выйдете через него". ]], code [[ atl_fta_dlg_radio.state = 2; ]]}; + {tag="clear"}; + {"Вас понял. Конец связи. ", "", code [[ back(); ]]} }; }; @@ -137,6 +129,12 @@ atl_fta_solis_entry = room { ]]; entered = function(s) item_atl_fta_suit.dlg = "atl_fta_dlg_radio"; + + if (atl_fta_solis_c2.broken_valve == 0) then + atl_fta_solis_c2.broken_valve = rnd(5); + atl_fta_valves[atl_fta_solis_c2.broken_valve].broken = true; + atl_fta_solis_c2.broken_offset = rnd(9) + 10; + end; end; way = { vroom("На восток", "atl_fta_solis_ne"); @@ -144,7 +142,7 @@ atl_fta_solis_entry = room { }; }; -atl_fta_solis_ne_1 = room { +atl_fta_solis_ne = room { nam = "Атлантида, Солис"; dsc = [[ В помещении темно и жарко. Cо всех сторон от вас проложено множество труб. Сквозь просветы в них вы видите огонь где-то вдалеке на юге. @@ -269,12 +267,6 @@ atl_fta_solis_c2 = room { ]]; end; end; - entered = function(s) - if (s.broken_valve == 0) then - s.broken_valve = rnd(5); - s.broken_offset = rnd(9) + 10; - end; - end; way = { vroom("На юг", atl_fta_solis_exit); }; @@ -357,6 +349,14 @@ atl_fta_solis_valve3 = atl_fta_solis_val atl_fta_solis_valve4 = atl_fta_solis_valve(4); atl_fta_solis_valve5 = atl_fta_solis_valve(5); +atl_fta_valves = { + atl_fta_solis_valve1; + atl_fta_solis_valve2; + atl_fta_solis_valve3; + atl_fta_solis_valve4; + atl_fta_solis_valve5; +}; + atl_fta_game_over_left = room { nam = "Игра окончена"; dsc = [[ diff --git a/utils.lua b/utils.lua --- a/utils.lua +++ b/utils.lua @@ -771,11 +771,11 @@ end; end; end; phr = { - {1, always = "true", "Использовать рацию", function(s) - local val = EngineUtils.getValue(_atlantis.suit_menu._item.dlg, _atlantis.suit_menu._item); + {1, always = "true", "[Использовать рацию]", function(s) + local val = EngineUtils.getValue(_atlantis_suit_menu._item.dlg, _atlantis_suit_menu._item); if (val) then walkin(val); - stead.ref(val).__from__ = _atlantis.suit_menu.__from__; + stead.ref(val).__from__ = _atlantis_suit_menu.__from__; else back(); return "Никто не отвечает"; @@ -783,9 +783,9 @@ end; end}; {2, always = "true", function(s) if (pl.has_light) then - return "Выключить фонарь"; + return "[Выключить фонарь]"; else - return "Включить фонарь"; + return "[Включить фонарь]"; end; end, function(s) if (pl.has_light) then @@ -796,8 +796,8 @@ end; return "Вы включаете фонарь. "; end; end}; - {3, always = "true", "Использовать кодировщик", code [[ walkin("_atlantis_coder"); ]]}; - {4, always = "true", "Снять скафандр", function(s) + {3, always = "true", "[Использовать кодировщик]", code [[ walkin("_atlantis_coder"); ]]}; + {4, always = "true", "[Снять скафандр]", function(s) if (EngineUtils.getValue(_atlantis_suit_menu._item.cantakeoff, _atlantis_suit_menu._item)) then drop(_atlantis._uit_menu._item); back();