diff --git a/lse_powerplant.lua b/lse_powerplant.lua deleted file mode 100644 --- a/lse_powerplant.lua +++ /dev/null @@ -1,180 +0,0 @@ -lse_powerplant_door = obj { - nam = "lse_powerplant_door"; - disp = "Двери энергостанции"; - dsc = function(s) - if (s.open) then - return [[ - Двери энергостанции открыты - ]]; - else - return [[ - Двери здания заперты - ]]; - end; - end; - act = function(s) - if (s.open) then - return [[Вы можете войти]]; - else - return [[Судя по всему, вход заблокирован изнутри. Вы не сможете открыть его отсюда. ]]; - end; - end; -}; - -lse_powerplant_door_inside = obj { - nam = "lse_powerplant_door"; - dsc = function(s) - if(lse_powerplant_door.open) then - return "{Входные двери} открыты. "; - else - return "{Входные двери} закрыты. "; - end; - end; - act = function(s) - if(lse_powerplant_door.open) then - return "Двери уже открыты"; - else - return "У вас не получается открыть двери. Возможно, это делается в другом месте"; - end; - end; -}; - -lse_powerplant = room { - nam = "lse_powerplant"; - disp = "Лсэрианотр, энергостанция"; - dsc = [[ - Вы находитесь в комнате управления энергоснабжением Лсэрианотра. Сквозь скафандр вы ощущаете слабую вибрацию, исходяющую от работающих неподалеку генераторов. - ]]; - entered = function(s) - service_tunnels_2.position = "45"; - end; - obj = { - "powerplant_control", - "lse_powerplant_door_inside" - }; - way = { - kh_vroom("Выйти из здания", "lse_middle_east", "powerplant_out"):disable(); - kh_vroom("В сервиcный тоннель", "service_tunnels_2"); - }; -}; - -powerplant_control = obj { - nam = "powerplant_control"; - disp = "Терминал управления энергоснабжением"; - dsc = "У одной из стен расположен {огромный экран}, на котором, судя по всему, отмечены линии энергоснабжения и ключевые источники потребления энергии. ^"; - act = function(s) - walkin(powerplant_control_dlg); - end; -}; - -powerplant_control_dlg = dlg { - nam = "powerplant_control_dlg"; - disp = "Терминал управления энергоснабжением"; - dsc = "На экране вы видите подробную схему энергосетей города. Несколько иконок внизу экрана показывают вам, что нужно нажимать, чтобы перейти в различные режимы управления. "; - entered = function() - if (lse_powerplant_door.open) then - poff(3); - pon(4); - else - poff(4); - pon(3); - end; - end; - phr = { - {1, always = true, "Перейти в режим управления питанием", function(s) - walkin(powerplant_defence_control_dlg); - return false; - end; }; - {3, "Разблокировать вход в здание", function(s) - pon(4); - lse_powerplant_door.open = true; - path("powerplant_out", "lse_powerplant"):enable(); - return "Входные двери открываются"; - end; }; - {4, "Заблокировать вход в здание", function(s) - pon(3); - lse_powerplant_door.open = false; - path("powerplant_out", "lse_powerplant"):disable(); - return "Входные двери закрываются"; - end; }; - {5, always = true, "Внимательно осмотреть схему города", "На схеме изображены все три кольца города, эта энергостанция и еще две других, расположенные во внешнем и внутреннем кольце. Ворота, соединяющие внешнее и среднее кольцо отмечены открытыми, ворота, соединяющие среднее и внутреннее кольцо закрыты. "}; - {255, always = true, "Отойти от терминала",function(s) - back(); - end; }; - }; -}; - -powerplant_defence_control_dlg = dlg { - nam = "powerplant_defence_control_dlg"; - disp = "Терминал управления энергоснабжением"; - states = {0, 1, 0, 1}; - locked = 1; - pic = function(s) - local image = 'images/power_bg.png'; - if (s.locked == 1) then - image = image .. ";images/power_lock.png@62,31"; - elseif (s.locked == 2) then - image = image .. ";images/power_lock.png@62,93"; - elseif (s.locked == 3) then - image = image .. ";images/power_lock.png@31,62"; - elseif (s.locked == 4) then - image = image .. ";images/power_lock.png@93,62"; - end; - - image = image .. ";images/power_" .. tostring(s.states[1]) .. ".png@62,31"; - image = image .. ";images/power_" .. tostring(s.states[2]) .. ".png@62,93"; - image = image .. ";images/power_" .. tostring(s.states[3]) .. ".png@31,62"; - image = image .. ";images/power_" .. tostring(s.states[4]) .. ".png@93,62"; - return image; - end; - detect = function(s) - return (s.states[1] == 1 and s.states[2] == 3 - and s.states[3] == 0 and s.states[4] == 2) or - (s.states[1] == 3 and s.states[2] == 1 - and s.states[3] == 2 and s.states[4] == 0) - end; - dsc = "На экране видна схема питания систем защиты. Иконки внизу экрана подсказывают, что нажимать при отключении"; - phr = { - {1, always = true, "блокировать верхний переключатель", "Изображение на экране изменилось.", function(s) - powerplant_defence_control_dlg.locked = 1; - end;}, - {2, always = true, "блокировать нижний переключатель", "Изображение на экране изменилось.", function(s) - powerplant_defence_control_dlg.locked = 2; - end;}, - {3, always = true, "блокировать левый переключатель", "Изображение на экране изменилось.", function(s) - powerplant_defence_control_dlg.locked = 3; - end;}, - {4, always = true, "блокировать правый переключатель", "Изображение на экране изменилось.", function(s) - powerplant_defence_control_dlg.locked = 4; - end;}, - {5, always = true, "поворот по часовой", "Изображение на экране изменилось.", function(s) - for i = 1, 4 do - if (i ~= powerplant_defence_control_dlg.locked) then - powerplant_defence_control_dlg.states[i] = powerplant_defence_control_dlg.states[i] + 1; - if (powerplant_defence_control_dlg.states[i] > 3) then - powerplant_defence_control_dlg.states[i] = 0; - end; - end; - end; - if (powerplant_defence_control_dlg.detect(powerplant_defence_control_dlg)) then - p("Защитные системы отключены"); --TODO сделать нормальный фидбэк - end; - end;}, - {6, always = true, "поворот против часовой", "Изображение на экране изменилось.", function(s) - for i = 1, 4 do - if (i ~= powerplant_defence_control_dlg.locked) then - powerplant_defence_control_dlg.states[i] = powerplant_defence_control_dlg.states[i] - 1; - if (powerplant_defence_control_dlg.states[i] < 0) then - powerplant_defence_control_dlg.states[i] = 3; - end; - end; - end; - if (powerplant_defence_control_dlg.detect(powerplant_defence_control_dlg)) then - p("Защитные системы отключены"); --TODO сделать нормальный фидбэк - end; - end;}, - {255, always = true, "выход", function(s) - back(); - end}, - }; -}; \ No newline at end of file