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 = [[