global { atl_jack_in_party = false; atl_lev_state = 0; atl_iof_completed = false; atl_iof_learr_dead = false; atl_iof_learr_suit = false; atl_nih_state = 0; atl_iyh_state = 0; atl_iyh_learr_spoken = false; atl_iyh_aikerjarr_spoken = false; atl_iyh_ryveerr_spoken = false; atl_iyh2_ryveerr_spoken = false; atl_iyh2_aikerjarr_spoken = false; atl_iyh_shockfish_dead = false; atl_iyh_shockfish_left = false; atl_iyh_shockfish_away = 0; atl_iyh_entrance_destroyed = false; atl_iyh_artifacts_on_atlantis = false; atl_lfc_state = 0; atl_lfc_panic = 0; atl_lfc_panic_warning = 0; atl_lfc_hallrooms = 0; atl_lfc_electric = 0; atl_lfc_board = 0; atl_lfc_suspect = nil; atl_lfc_leroy_spoken = 0; atl_lfc_goldman_spoken = 0; atl_lfc_goldman_exposed = false; atl_lfc_saboteur_known = false; atl_lfc_court_allowed = false; atl_lfc_leroy_goldman = false; atl_fta_state = 0; atl_fta_darkstar_debrief = false; atl_rep_moreau = 0; atl_rep_darkstar = 0; atl_rep_svetlova = 0; atl_rep_wright = 0; atl_rep_iraa = 0; atl_rep_dyp = 0; atl_ctt_iraa_refusal = false; atl_star_map_copied = false; }; atl_illuminators = obj { nam = "Иллюминаторы"; dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]]; act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]]; }; atl_illuminator = obj { nam = "Иллюминатор"; dsc = [[В стену встроен небольшой {иллюминатор}. ]]; act = [[Через иллюминатор вы видите несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]]; }; atl_intersect_phone = obj { nam = "Телефон"; dsc = [[На одной из стен укреплен {телефонный аппарат} в герметичном контейнере. ]]; act = function(s) if (atl_lfc_state == 1 and atl_lfc_panic == 1 and atl_lfc_panic_warning == 0) then walkin("panic_first_warning_dlg"); else return [[Вам незачем кому-то звонить. ]]; end; end; }; atl_intersect_suit = obj { nam = "Скафандр"; dsc = [[В углу стоит {скафандр}. ]]; act = [[Сейчас нет смысла это делать. ]]; } atl_aqua_corridor_b = room { nam = "Атлантида, Аква, коридор B"; dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]]; way = { kh_vroom("В гостевой док A", function() if (atl_lev_state == 0) then pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; elseif (atl_lev_state == 1) then return "atl_lev_radcliffe_dlg"; else return "atl_aqua_leviathan_dock"; end; end); kh_vroom("В гостевой док B", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В гостевой док C", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В главный коридор", "atl_aqua_main_corridor"); }; obj = { "atl_illuminators", "atl_nih_tubes_aqua_b" }; }; atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s) if (ArrayUtils.indexOf(pl.party, "wright") ~= 0) then return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. И хотя подводная лодка явно требует большего экипажа, чем вы с Райтом, вдвоем вы неплохо справляетесь. Добравшись до места назначения, вы обнаруживаете несколько больших металлических и стеклянных куполов, раскинувшихся на океанском дне и освещенных электрическими огнями. Приблизившись, вы находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]]; else return [[Несколько недель Левиафан полным ходом несется по направлению к таинственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. Управлять огромным кораблем в одиночку непросто. Вы почти не спите, опасаясь оставлять движение судна без внимания. Однако, вы без проблем добираетесь до места назначения. Здесь, на океанском дне вы видите несколько больших металлических и стеклянных куполов, освещенных электрическими огнями. Приблизившись, вы быстро находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, отрезая вас от внешнего мира. ]]; end; end, "Вы прибыли на Атлантиду. ", leviathan_wheelhouse); atl_aqua_leviathan_dock = room { var { visited = false; }; nam = "Атлантида, Аква, гостевой док A"; enter = function(s) char_learr:accompany(false); char_radcliffe:accompany(false); char_anna:accompany(false); char_wright:accompany(false); if (not s.visited) then s.visited = true; walk(atlantis_intro_dock); end; if (atl_iyh_state == 8) then atl_iyh_state = 9; if (atl_iof_learr_dead) then walk('iyh_outro_aikerjarr'); elseif atl_iyh_shockfish_dead then walk('iyh_outro_learr_shockfish_dead'); elseif atl_iyh_entrance_destroyed then walk('iyh_outro_learr_temple_destroyed'); else walk('iyh_outro_learr'); end; end; end; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Левиафан. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]]; view = [[Левиафан находится в просторном доке. Под потолком на высоте пяти метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Внизу расположен закрытый люк, закрывающий вам путь наружу. ]]; way = { kh_vroom("В Левиафан", "leviathan_airlock"); kh_vroom("В коридор B", "atl_aqua_corridor_b"); }; }; atl_aqua_nautilus_dock = room { nam = "Атлантида, Аква, док Наутилуса"; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]]; way = { kh_vroom("В коридор A", "atl_aqua_corridor_a"); }; obj = { "char_page" }; }; atl_aqua_corridor_a = room { nam = "Атлантида, Аква, коридор A"; dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих к докам. ]]; way = { kh_vroom("В док \"Надежды\"", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В док \"Энтерпрайза\"", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В док \"Наутилуса\"", function() if (atl_lfc_state == 2) then return "atl_lfc_dock_s"; else return "atl_aqua_nautilus_dock"; end; end); kh_vroom("В главный коридор", "atl_aqua_main_corridor"); }; obj = { "atl_illuminators", "atl_nih_tubes_aqua_a" }; }; atl_aqua_main_corridor = room { nam = "Атлантида, Аква, центральный коридор"; dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, в секцию _"Доминус"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции -- по большей части это склады. Еще две двери ведут в коридоры A и B. ]]; way = { kh_vroom("На склад A", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("На склад B", function() if atl_nih_state == 1 or atl_nih_state == 2 then return "atl_aqua_warehouse_b"; else pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end; end); kh_vroom("На склад C", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("На склад D", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В коридор A", "atl_aqua_corridor_a"); kh_vroom("В коридор B", "atl_aqua_corridor_b"); kh_vroom("В секцию \"Доминус\"", "atl_intersection_aqua_dom"); }; obj = { "atl_illuminators", "atl_nih_tubes_aqua" }; }; atl_aqua_warehouse_b = darkroom { var { has_light = false; }; nam = "Атлантида, Аква, склад B"; dsc_dark = [[Большое помещение без окон погружено в кромешный мрак. В темноте вы с трудом различаете очертания предметов. ]]; dsc_halflit = [[Слабый свет лампы позволяет вам с трудом ориентироваться в помещении,заставленном различными ящиками. ]]; dsc_lit = [[Большое помещение без окон освещено яркими лектрическим лампами. По всему помещению аккуратно расставлено множество ящиков с различными материалами, необходимыми для поддержания жизнедеятельности станции. ]]; way = { kh_vroom("В коридор", "atl_aqua_main_corridor", nil, 2); }; obj = { "atl_aqua_warehouse_b_lightswitch"; "atl_nih_tube_container2"; }; }; atl_aqua_warehouse_b_lightswitch = obj { nam = "atl_aqua_warehouse_b_lightswitch"; dsc = [[Рядом со входом расположен {выключатель}. ]]; seen_level = 2; act = function(s) atl_aqua_warehouse_b.has_light = not atl_aqua_warehouse_b.has_light; if atl_aqua_warehouse_b.has_light then return [[Вы щелкаете выключателем и яркий свет электрических ламп заливает помещение. ]]; else return [[Вы щелкаете выключателем и лампы гаснут, погружая помещение в кромешную тьму. ]]; end; end; }; atl_intersection = inherit(room, function(v) v.disp = "Атлантида, межсекционный коридор"; v.dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; v.entered = function(s) if (atl_lfc_state == 1) then if (atl_lfc_panic == 1) then if (atl_lfc_panic_warning == 0) then pr([[Когда вы проходите мимо, телефон начинает звонить. ]]); end; elseif (atl_lfc_panic == 2) then if (atl_lfc_panic_warning < 2) then atl_lfc_panic_warning = 2; end; elseif (atl_lfc_panic == 3) then walk("game_over_banished_lfc"); end; end; end; v.left = function(s) if (atl_lfc_state == 1) then atl_lfc_panic_warning = 1; end; end; if (not v.obj) then v.obj = {}; end; table.insert(v.obj, "atl_illuminator"); table.insert(v.obj, "atl_intersect_phone"); table.insert(v.obj, "atl_intersect_suit"); return v; end); atl_intersection_aqua_dom = atl_intersection { nam = "Атлантида, межсекционный коридор"; way = { kh_vroom("В секцию \"Аква\"", "atl_aqua_main_corridor"); kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_aqua"); }; }; atl_dom_main_near_aqua = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Аква"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами расположен шлюз, ведущий в соседнюю секцию. ]]; way = { kh_vroom("В секцию \"Аква\"", "atl_intersection_aqua_dom"); kh_vroom("По часовой стрелке", "atl_dom_main_near_adm"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_a"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { -- TODO добавить скамейки, табличку секции Аква "atl_nih_tubes_near_aqua" }; }; atl_dom_main_near_a = room { nam = "Атлантида, Доминус, центральный зал, у входа в коридор А"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в северной части зала. Рядом с вами расположен шлюз, ведущий в коридор А. ]]; way = { kh_vroom("В коридор A", "atl_dom_corridor_a"); kh_vroom("По часовой стрелке", "atl_dom_main_near_aqua"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_luna"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { -- TODO добавить табличку "atl_nih_panel_near_a" }; }; atl_dom_main_c = room { nam = "Атлантида, Доминус, центральный зал, центр"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в центральной части зала, рядом с лифтом, ведущим в Игнис. ]]; way = { kh_vroom("В лифт", function(s) if atl_iof_completed then pr("Лифт не работает. "); return false; else return "atl_dom_lift"; end; end); kh_vroom("К секции Аква", "atl_dom_main_near_aqua"); kh_vroom("К кабинету администратора", "atl_dom_main_near_adm"); kh_vroom("К секции Арктос", "atl_dom_main_near_arctos"); kh_vroom("К секции Терра", "atl_dom_main_near_terra"); kh_vroom("К секции Окулус", "atl_dom_main_near_oculus"); kh_vroom("К секции Луна", "atl_dom_main_near_luna"); kh_vroom("К коридору А", "atl_dom_main_near_a"); }; obj = { -- TODO добавить скамейки }; }; atl_dom_main_near_adm = room { nam = "Атлантида, Доминус, центральный зал, у входа в кабинет администратора"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в кабинет администратора. ]]; way = { kh_vroom("В кабинет администратора", "atl_dom_administator_room"); kh_vroom("По часовой стрелке", "atl_dom_main_near_arctos"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_aqua"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { -- TODO добавить скамейки, воздуховоды "atl_nih_panel_near_admin" }; }; atl_dom_main_near_luna = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Луна"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Луна". ]]; way = { kh_vroom("В секцию \"Луна\"", "atl_intersection_luna_dom"); kh_vroom("По часовой стрелке", "atl_dom_main_near_a"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_oculus"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { "atl_nih_panel_near_luna" }; }; atl_dom_main_near_oculus = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Окулус"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Окулус". ]]; way = { kh_vroom("В секцию \"Окулус\"", "atl_intersection_oculus_dom"); kh_vroom("По часовой стрелке", "atl_dom_main_near_luna"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_terra"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { "atl_nih_boxes_near_oculus" }; }; atl_dom_main_near_terra = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Терра"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Терра". ]]; way = { kh_vroom("В секцию \"Терра\"", "atl_intersection_terra_dom"); kh_vroom("По часовой стрелке", "atl_dom_main_near_oculus"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_arctos"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { "atl_nih_boxes_near_terra" }; }; atl_dom_main_near_arctos = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Арктос"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Рядом с вами находится шлюз, ведущий в секцию "Арктос". ]]; way = { kh_vroom("В секцию \"Арктос\"", "atl_intersection_arctos_dom"); kh_vroom("По часовой стрелке", "atl_dom_main_near_terra"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_adm"); kh_vroom("К центру зала", "atl_dom_main_c"); }; obj = { "atl_nih_tubes_near_arctos" }; }; atl_dom_corridor_a = room { nam = "Атлантида, Доминус, коридор A"; dsc = [[Просторный коридор, расположенный в западном крыле секции Доминус, заполнен ярким светом электрических ламп. В одном конце коридора расположена дверь, ведущая в главный зал. Две другие ведут в оружейную и кабинет начальника службы безопасности. ]]; way = { kh_vroom("В кабинет начальника СБ", "atl_dom_security_office"); kh_vroom("В оружейную", function() pr("Люк наглухо задраен и опечатан. Вы не сможете его открыть. "); return false; end); kh_vroom("В центральный зал", "atl_dom_main_near_a"); }; }; atl_dom_security_office = room { nam = "Атлантида, Доминус, кабинет начальника СБ"; dsc = [[Спартанская обстановка кабинета начальника службы безопасности сразу бросается вам в глаза. небольшая комната почти пуста. Здесь нет ничего кроме массивного металлического стола в центре и двух кресел по разные стороны его. ]]; way = { kh_vroom("В коридор", "atl_dom_corridor_a"); }; obj = { 'char_darkstar' }; }; atl_dom_administator_room = room { nam = "Атлантида, Доминус, кабинет администратора"; dsc = [[Кабинет администратора представляет собой небольшую комнату. Вдоль стен установлено несколько шкафов с какими-то бумагами. В центре расположен металлический стол. ]]; way = { kh_vroom("В центральный зал", "atl_dom_main_near_adm"); }; obj = { 'char_moreau' }; }; atl_intersection_luna_dom = room { nam = "Атлантида, межсекционный коридор"; dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; way = { kh_vroom("В секцию \"Луна\"", "atl_luna_main_corridor"); kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_luna"); }; obj = { "atl_illuminators", "atl_intersect_phone", "atl_intersect_suit" }; }; atl_intersection_arctos_dom = room { nam = "Атлантида, межсекционный коридор"; dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; way = { kh_vroom("В секцию \"Арктос\"", "atl_arctos_main_corridor"); kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_arctos"); }; obj = { "atl_illuminators", "atl_intersect_phone", "atl_intersect_suit" }; }; atl_luna_main_corridor = room { var { state = 0; }; nam = "Атлантида, Луна, главный коридор"; dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]]; entered = function(s) if (s.state == 0) then s.state = 1; if (where(char_jack_wright_atlantis) == atl_luna_jack_room) then path("В комнату Джека"):enable(); end; end; end; way = { kh_vroom("В вашу комнату", "atl_luna_drake_room"); kh_vroom("В комнату Джека", "atl_luna_jack_room"):disable(); kh_vroom("В общую комнату", "atl_luna_common_room"); kh_vroom("В секцию \"Доминус\"", "atl_intersection_luna_dom"); }; obj = { "atl_illuminators", "atl_nih_tubes_luna" }; }; atl_luna_jack_room = room { nam = "Атлантида, Луна, комната Джека"; dsc = [[небольшая уютная комната, расчитанная на двух человек. ]]; way = { kh_vroom("В главный коридор", "atl_luna_main_corridor"); }; obj = { "atl_illuminators" }; }; atl_luna_drake_room = room { nam = "Атлантида, Луна, ваша комната"; dsc = [[Небольшая, но уютная комната, выделенная вам на Атлантиде. Хотя она расчитана на двух человек, пока нет необходимости расселять людей по двое. ]]; way = { kh_vroom("В главный коридор", "atl_luna_main_corridor"); }; obj = { "atl_illuminators" }; }; atl_arctos_main_corridor = room { nam = "Атлантида, Арктос, главный коридор"; dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]]; way = { kh_vroom("В комнату Голдмана", function(s) if goldman_state == 0 then return "atl_arctos_goldmans_room"; else p([[Заперто. ]]); return false; end; end); kh_vroom("В комнату Джонса", "atl_arctos_jones_room"); kh_vroom("В общую комнату", "atl_arctos_common_room"); kh_vroom("В секцию \"Доминус\"", "atl_intersection_arctos_dom"); }; obj = { "atl_illuminators", "atl_nih_tubes_arctos" }; }; atl_arctos_goldmans_room = room { nam = "Атлантида, Арктос, комната"; dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]]; way = { kh_vroom("В главный коридор", "atl_arctos_main_corridor"); }; obj = { "char_goldman" }; }; atl_arctos_jones_room = room { nam = "Атлантида, Арктос, комната"; dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]]; way = { kh_vroom("В главный коридор", "atl_arctos_main_corridor"); }; obj = { "char_jones" }; }; atl_luna_common_room = room { nam = "Атлантида, Луна, общая комната"; dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]]; way = { kh_vroom("В главный коридор", "atl_luna_main_corridor"); }; obj = { "atl_illuminators" }; }; atl_arctos_common_room = room { nam = "Атлантида, Луна, общая комната"; dsc = [[Средних размеров комната с массивным металлическим столом в центре. Вокруг него расположено несколько стульев. ]]; way = { kh_vroom("В главный коридор", "atl_arctos_main_corridor"); }; obj = { "atl_illuminators" }; }; atl_intersection_terra_dom = room { nam = "Атлантида, межсекционный коридор"; dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; way = { kh_vroom("В секцию \"Терра\"", "atl_terra_main_corridor"); kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_terra"); }; obj = { "atl_illuminators", "atl_intersect_phone", "atl_intersect_suit" }; }; atl_terra_main_corridor = room { nam = "Атлантида, Терра, главный коридор"; dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в мастерские. Вдоль стен стоят множество ящиков. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]]; way = { kh_vroom("В мастерскую A", "atl_terra_workshop_a"); kh_vroom("В мастерскую B", "atl_terra_workshop_b"); kh_vroom("В мастерскую C", "atl_terra_workshop_c"); kh_vroom("В мастерскую D", "atl_terra_workshop_d"); kh_vroom("В секцию Солис", function() if (atl_fta_state == 1) then return "atl_fta_is_terra_solis"; else pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end; end); kh_vroom("В секцию Доминус", "atl_intersection_terra_dom"); }; obj = { "atl_nih_tube_container"; "atl_nih_boxes_terra"; }; }; atl_terra_workshop_a = room { nam = "Атлантида, мастерская А"; dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]]; way = { kh_vroom("В коридор", "atl_terra_main_corridor"); }; obj = { item_electric_lamp:disable(), "char_michael_wright" }; }; atl_terra_workshop_b = room { nam = "Атлантида, мастерская B"; dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]]; way = { kh_vroom("В коридор", "atl_terra_main_corridor"); }; obj = { "char_radcliffe_atlantis" }; }; atl_terra_workshop_c = room { nam = "Атлантида, мастерская C"; dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]]; way = { kh_vroom("В коридор", "atl_terra_main_corridor"); }; obj = { "char_leroy" }; }; atl_terra_workshop_d = room { nam = "Атлантида, мастерская D"; dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]]; way = { kh_vroom("В коридор", "atl_terra_main_corridor"); }; obj = { "item_dynamo"; }; }; atl_intersection_oculus_dom = room { nam = "Атлантида, межсекционный коридор"; dsc = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; way = { kh_vroom("В секцию \"Окулус\"", "atl_oculus_main_corridor"); kh_vroom("В секцию \"Доминус\"", "atl_dom_main_near_oculus"); }; obj = { "atl_illuminators", "atl_intersect_phone", "atl_intersect_suit" }; }; atl_oculus_main_corridor = room { var { first_visit = true; }; nam = "Атлантида, Окулус, главный коридор"; dsc = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в лаборатории. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]]; enter = function(s) if (s.first_visit) then s.first_visit = false; walkin("atlantis_learr_intro"); end; end; way = { kh_vroom("В лабораторию A", "atl_oculus_lab_a"); kh_vroom("В лабораторию B", "atl_oculus_lab_b"); kh_vroom("В лабораторию C", "atl_oculus_lab_c"); kh_vroom("В библиотеку", "atl_oculus_library"); kh_vroom("В секцию Аэрис", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В секцию Доминус", "atl_intersection_oculus_dom"); }; obj = { "atl_nih_panel_oculus" }; }; atl_oculus_lab_a = room { nam = "Атлантида, Окулус, лаборатория A"; dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]]; way = { kh_vroom("В коридор", "atl_oculus_main_corridor"); }; obj = { "char_svetlova" }; }; atl_oculus_lab_b = room { nam = "Атлантида, Окулус, лаборатория B"; dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]]; way = { kh_vroom("В коридор", "atl_oculus_main_corridor"); }; obj = { "char_winterlight" }; }; atl_oculus_lab_c = room { nam = "Атлантида, Окулус, лаборатория C"; dsc = [[Просторное помещение уставлено множеством столов, шкафов и различных приборов. Вдоль стен над столами расположены многочисленные решетки вентиляции. ]]; way = { kh_vroom("В коридор", "atl_oculus_main_corridor"); }; obj = { "char_ryveerr", "char_anna_atlantis", "char_evans" }; }; atl_oculus_library = room { nam = "Атлантида, Окулус, библиотека"; dsc = [[Рядом со входом в библиотеку расположен небольшой столик, на котором покоится каталог. Практически все пространство комнаты занято высокими стеллажами, заполненными книгами, журналами и документами. ]]; way = { kh_vroom("В коридор", "atl_oculus_main_corridor"); }; obj = { "char_legrand" }; }; atl_dom_lift = room { var { state = 0; }; nam = "Атлантида, лифт"; dsc = [[Герметичная кабина лифта, рассчитанная на 5-6 человек. ]]; way = { kh_vroom("Выйти", function() if (atl_dom_lift.state == 0) then return "atl_dom_main_c"; else return "atl_ignis_main_center"; end; end); }; obj = { "atl_lift_lever" }; }; atl_lift_lever = obj { nam = "Рычаг"; dsc = [[На стене укреплен массивный {рычаг}, повернув который, вы приведете в движение механизм лифта. ]]; act = function(s) if (atl_dom_lift.state == 1) then atl_dom_lift.state = 0; return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно опускающих кабину лифта. ]]; else atl_dom_lift.state = 1; return [[Вы поворачиваете рычаг и слышите грохот механизмов, плавно поднимающих кабину лифта. ]]; end; end; }; --[[ Персонажи ]] char_darkstar = npc { var { drake_asked = 0; black_asked = 0; darkstar_asked = 0; svetlova_asked = 0; moreau_asked = 0; wright_asked = 0; leroy_asked = 0; jones_asked = 0; goldman_asked = 0; atlantis_asked = 0; navjiarr_asked = 0; learr_asked = 0; ryveerr_asked = 0; aikerjarr_asked = 0; }; nam = "Винсент Даркстар"; dsc = function(s) if (char_darkstar_dlg.state == 0) then return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]]; else return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]]; end; end; dlg = "char_darkstar_dlg"; }; char_moreau = npc { var { drake_asked = 0; black_asked = 0; darkstar_asked = 0; svetlova_asked = 0; moreau_asked = 0; wright_asked = 0; leroy_asked = 0; jones_asked = 0; goldman_asked = 0; atlantis_asked = 0; navjiarr_asked = 0; learr_asked = 0; ryveerr_asked = 0; aikerjarr_asked = 0; iof_reaction = 0; }; nam = "Фредерик Моро"; dsc = function(s) if (char_moreau_dlg.state == 0) then return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы обрамляют его лицо. Он носит длинные седые усы. Одет человек в строгий деловой костюм бежевого цвета. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]]; else return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]]; end; end; dlg = "char_moreau_dlg"; }; char_svetlova = npc { var { drake_asked = 0; black_asked = 0; darkstar_asked = 0; svetlova_asked = 0; moreau_asked = 0; wright_asked = 0; leroy_asked = 0; jones_asked = 0; goldman_asked = 0; atlantis_asked = 0; navjiarr_asked = 0; learr_asked = 0; ryveerr_asked = 0; aikerjarr_asked = 0; iof_reaction = 0; }; nam = "Екатерина Светлова"; dsc = function(s) if (char_svetlova_dlg.state == 0) then return [[За столом сидит {женщина} лет сорока-пяти. Золотистые волосы собраны в пучок на затылке. Она одета в простое синее платье. В правой руке она держит карандаш, которым периодически делает пометки в бумагах, лежащих на столе. Кажется, она не обращает на вас никакого внимания. ]]; else return [[За столом сидит {Екатерина Светлова}. Периодически она делает какие-то пометки карандашом в бумагах, лежащих на столе. ]]; end; end; dlg = "char_svetlova_dlg"; }; char_anna_atlantis = npc { nam = "Анна Рэдклифф"; disp = "Анна Рэдклифф"; dsc = function(s) if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then if (char_anna_atlantis_dlg.state == 0) then return [[{Девушка} лет двадцати-пяти--тридцати внимательно слушает навьяра, иногда что-то спрашивая. ]]; else return [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]]; end; else if (char_anna_atlantis_dlg.state == 0) then return [[{Девушка} лет тридцати внимательно слушает навьяров, иногда что-то спрашивая. ]]; else return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]]; end; end; end; dlg = "char_anna_atlantis_dlg"; }; char_learr_atlantis = npc { var { offended = false; }; nam = "Леарр"; dsc = function(s) if stead.deref(here()) == "atl_oculus_library" then return [[{Леарр} сидит за одним из столов, листая какую-то книгу. ]]; elseif stead.deref(here()) == "atl_oculus_library" then return [[{Леарр} спокойно стоит рядом с Екатериной Светловой. ]]; else if (stead.deref(where(char_jack_wright_atlantis)) == atl_ignis_hall_a) then return [[{Леарр} стоит перед иллюминатором и что-то рассказывает ]]; else return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]]; end; end; end; dlg = function(s) if stead.deref(where(s)) == atl_oculus_lab_a then return "char_svetlova_dlg"; else return "char_learr_atlantis_dlg"; end; end; }; char_aikerjarr = npc { nam = "Аикерьярр"; dsc = function(s) if (char_aikerjarr_dlg.state == 0) then return [[У одного из столов неподвижно стоит {навьяр}. ]]; else return [[У одного из столов неподвижно стоит {Аикерьярр}. ]]; end; end; dlg = "char_aikerjarr_dlg"; }; char_ryveerr = npc { var { iof_reaction = 0; learr_asked = 0; ryveerr_asked = 0; atlantis_asked = 0; aikerjarr_asked = 0; }; nam = "Ривеерр"; dsc = function(s) if (char_ryveerr_dlg.state == 0) then return [[У одного из столов стоит {навьяр} и что-то рассказывает. ]]; else return [[У одного из столов стоит {Ривеерр} и что-то рассказывает. ]]; end; end; dlg = "char_ryveerr_dlg"; }; char_evans = npc { nam = "Кристиан Эванс"; dsc = function(s) if (char_evans_dlg.state == 0) then return [[Там же стоит пожилой {мужчина} с блокнотом и делает какие-то записи. ]]; else return [[Там же стоит {Кристиан Эванс} с блокнотом и делает какие-то записи. ]]; end; end; dlg = "char_evans_dlg"; }; char_winterlight = npc { nam = "Сильвия Уинтерлайт"; dsc = function(s) if (char_winterlight_dlg.state == 0) then return [[{Женщина} лет тридцати-пяти--сорока стоит, склонишись над картой. Длинные темные волосы спадают на плечи. Она одета в длинную черную юбку и серую блузку. Ее серые глаза внимательно изучают документ, лежащий перед ней. ]]; else return [[{Сильвия Уинтерлайт} стоит возле одного из столов, рассматривая карту. ]]; end; end; dlg = "char_winterlight_dlg"; }; char_jack_wright_atlantis = npc { nam = "Джек Райт"; dsc = function(s) if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then return [[{Джеку Райт}, стоящему рядом. ]]; else return [[{Джек Райт} лежит на койке, листая какую-то книгу. Рядом лежит блокнот, в котором он время от времени он делает пометки карандашом. ]]; end; end; dlg = "char_jack_wright_atlantis_dlg"; }; char_michael_wright = npc { nam = "Майкл Райт"; var { drake_asked = 0; black_asked = 0; darkstar_asked = 0; svetlova_asked = 0; moreau_asked = 0; wright_asked = 0; leroy_asked = 0; jones_asked = 0; goldman_asked = 0; atlantis_asked = 0; navjiarr_asked = 0; learr_asked = 0; ryveerr_asked = 0; aikerjarr_asked = 0; jack_asked = 0; iof_reaction = 0; }; dsc = function(s) return [[{Майкл Райт} просматривает какие-то чертежи. ]]; end; dlg = "char_michael_wright_dlg"; }; char_legrand = npc { nam = "Мари Легран"; dsc = function(s) if (char_legrand_dlg.state == 0) then return [[На стуле в углу сидит {женщина} лет сорока--сорока-пяти и листает какую-то книгу.]]; else return [[На стуле в углу сидит {Мари Легран} и листает какую-то книгу. ]]; end; end; dlg = "char_legrand_dlg"; }; char_radcliffe_atlantis = npc { nam = "Уолтер Рэдклифф"; dsc = function(s) if (char_radcliffe_atlantis_dlg.state == 0) then return [[{Человек} лет сорока--сорока-пяти стоит, навалившись на стену. ]]; else return [[{Уолтер Рэдклифф} стоит, навалившись на стену. ]]; end; end; dlg = "char_radcliffe_atlantis_dlg"; }; char_page = npc { nam = "Фрэнсис Пейдж"; dsc = function(s) if (char_page_dlg.state == 0) then return [[Пожилой {мужчина} в рабочей одежде осматривает Наутилус. ]]; else return [[{Фрэнсис Пейдж} осматривает Наутилус. ]]; end; end; dlg = "char_page_dlg"; }; char_leroy = npc { nam = "Мишель Леруа"; dsc = function(s) if (char_leroy_dlg.state == 0) then return [[{Мужчина} лет пятидесяти работает над каким-то чертежом. ]]; else return [[{Мишель Леруа} работает над каким-то чертежом. ]]; end; end; dlg = "char_leroy_dlg"; }; char_goldman = npc { nam = "Леонард Голдман"; dsc = function(s) if (char_goldman_dlg.state == 0) then return [[На койке, закинув руки за голову, лежит светловолосый {мужчина} лет пятидесяти. ]]; else return [[На койке, закинув руки за голову, лежит {Леонард Голдман}. ]]; end; end; dlg = "char_goldman_dlg"; }; char_jones = npc { var { on_atlantis = 0; }; nam = "Чарли Джонс"; dsc = function(s) if (char_jones_dlg.state == 0) then return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]]; else return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]]; end; end; dlg = "char_jones_dlg"; }; atl_item_tube_spec = obj { nam = "atl_item_tube_spec"; disp = "Документация по воздуховодам Атлантиды"; inv = [[Внушительной толщины книжка описывает все особенности и случаи применения различных труб в качестве воздуховодов на станции. Пролистав ее, вы узнаете, что всего существует четыре типа соединения, маркируемые соответственно: RT, KT, NF и TQ. Полная маркировка трубы состоит из типа, длины, указываемой в дециметрах и диаметра, указываемого в миллиметрах. Например RT-17-7 означает трубку RT с длиной 17 дециметров и диаметром 7 миллиметров. Согласно документации, трубы каждого типа можно соединять только с трубами такого же типа, однако на последней странице вы замечаете карандашные пометки: ^При необходимости, можно заменять трубы одного типа на другой с учетом следующих правил: ^KT -> RT -- Диаметр на 1 меньше. ^NF -> KT -- Диаметр на 1 больше. ^TQ -> NF -- Диаметр на 2 больше. ^Другие замены недопустимы и могут вызвать поломки. ]]; }; atl_nih_tubes_gen = function(nam, dsc, tube_type, tube_len, tube_d) return obj { var { broken = false; fixed = false; }; tube_type = tube_type; tube_len = tube_len; tube_d = tube_d; nam = nam; dsc = dsc; act = function(s) if (s.fixed) then return "Трубы в порядке. "; elseif (s.broken) then return "Трубы повреждены и воздух со слабым шипением вырывается из них. На трубе имеется маркировка: " .. tube_type .. "-" .. tube_len .. "-" .. tube_d; else return "Трубы в порядке. "; end; end; used = function(s, o) if s.broken and not s.fixed and o.is_tube and o.l == s.tube_len then print(s.tube_type, s.tube_d, o.t, o.d); local f = false; if o.t == s.tube_type and o.d == s.tube_d then remove(o, pl); s.fixed = true; for i = 1, #nih_tubes_array do f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed); end; if f then atl_nih_state = 2; end; return "Вы заменяете поврежденный фрагмент трубы. "; elseif s.tube_type == "KT" and o.t == "RT" and o.d + 1 == s.tube_d then remove(o, pl); s.fixed = true; for i = 1, #nih_tubes_array do f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed); end; if f then atl_nih_state = 2; end; return "Вы заменяете поврежденный фрагмент трубы. "; elseif s.tube_type == "NF" and o.t == "KT" and o.d - 1 == s.tube_d then remove(o, pl); s.fixed = true; for i = 1, #nih_tubes_array do f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed); end; if f then atl_nih_state = 2; end; return "Вы заменяете поврежденный фрагмент трубы. "; elseif s.tube_type == "TQ" and o.t == "NF" and o.d - 2 == s.tube_d then remove(o, pl); s.fixed = true; for i = 1, #nih_tubes_array do f = f or (nih_tubes_array[i].broken and not nih_tubes_array[i].fixed); end; if f then atl_nih_state = 2; end; return "Вы заменяете поврежденный фрагмент трубы. "; end; end; end; }; end; atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. ]], "RT", 12, 8); atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "RT", 11, 9); atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "RT", 15, 7); atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "KT", 12, 6); atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]], "NF", 13, 7); atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_terra", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]], "NF", 15, 9); atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "KT", 13, 7); atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "NF", 9, 8); atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]], "NF", 12, 6); atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "KT", 11, 5); atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "KT", 11, 7); atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 11, 7); atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 14, 4); atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]], "TQ", 10, 5); atl_nih_panel_near_a = obscured_obj("atl_nih_panel_near_a", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_a", true); atl_nih_panel_near_admin = obscured_obj("atl_nih_panel_near_admin", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_admin", true); atl_nih_panel_near_luna = obscured_obj("atl_nih_panel_near_luna", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_luna", true); atl_nih_panel_oculus = obscured_obj("atl_nih_panel_oculus", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_oculus", true); atl_nih_boxes_near_oculus = obscured_obj("atl_nih_boxes_near_oculus", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_oculus", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]); atl_nih_boxes_near_terra = obscured_obj("atl_nih_boxes_near_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]); atl_nih_boxes_terra = obscured_obj("atl_nih_boxes_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]); atl_nih_tube_container = obj { nam = "atl_nih_tube_container"; dsc = [[Крышка одного из {ящиков} снята и вы видите внутри несколько труб. ]]; act = function (s) walkin("atl_nih_tube_container_inv"); end; }; atl_nih_tube_container2 = obj { nam = "atl_nih_tube_container2"; dsc = [[У одной из стен аккуратно сложены несколько {труб}. ]]; act = function (s) walkin("atl_nih_tube_container2_inv"); end; }; tube = function(table) table.is_tube = true; table.dsc = "{" .. table.t .. "-" .. table.l .. "-" .. table.d .. "}^"; table.inv = "Труба маркированная " .. table.t .. "-" .. table.l .. "-" .. table.d ; table.disp = "Труба " .. table.t .. "-" .. table.l .. "-" .. table.d ; table.tak = "Вы забираете трубу. "; return obj(table); end; tube_rt_12_8 = tube { nam = "tube_rt_12_8"; t = "RT"; l = 12; d = 8; }; tube_rt_11_9 = tube { nam = "tube_rt_11_9"; t = "RT"; l = 11; d = 9; }; tube_rt_15_7 = tube { nam = "tube_rt_15_7"; t = "RT"; l = 15; d = 7; }; tube_rt_12_5 = tube { nam = "tube_rt_12_5"; t = "RT"; l = 12; d = 5; }; tube_rt_13_6 = tube { nam = "tube_rt_13_6"; t = "RT"; l = 13; d = 6; }; tube_rt_11_4 = tube { nam = "tube_rt_11_4"; t = "RT"; l = 11; d = 4; }; tube_rt_11_6 = tube { nam = "tube_rt_11_6"; t = "RT"; l = 11; d = 6; }; tube_kt_13_8 = tube { nam = "tube_kt_13_8"; t = "KT"; l = 13; d = 8; }; tube_kt_15_10 = tube { nam = "tube_kt_15_10"; t = "KT"; l = 15; d = 10; }; tube_kt_9_9 = tube { nam = "tube_kt_9_9"; t = "KT"; l = 9; d = 9; }; tube_kt_12_7 = tube { nam = "tube_kt_12_7"; t = "KT"; l = 12; d = 7; }; tube_nf_16_7 = tube { nam = "tube_nf_16_7"; t = "NF"; l = 16; d = 7; }; tube_nf_11_7 = tube { nam = "tube_nf_11_7"; t = "NF"; l = 11; d = 7; }; tube_nf_12_9 = tube { nam = "tube_nf_12_9"; t = "NF"; l = 12; d = 9; }; tube_nf_15_7 = tube { nam = "tube_nf_15_7"; t = "NF"; l = 15; d = 7; }; tube_rt_12_6 = tube { nam = "tube_rt_12_6"; t = "RT"; l = 12; d = 6; }; tubes_terra = { tube_rt_12_8; tube_rt_11_9; tube_rt_15_7; tube_rt_12_5; tube_rt_13_6; tube_rt_11_4; tube_rt_11_6; tube_kt_13_8; tube_kt_15_10; tube_kt_9_9; tube_kt_12_7; tube_nf_16_7; tube_nf_11_7; tube_nf_12_9; tube_nf_15_7; tube_rt_12_6; }; atl_nih_tube_container_inv = room { nam = "atl_nih_tube_container_inv"; disp = "Атлантида, Терра, главный коридор"; dsc = [[В ящике сложены трубы различных диаметров и размеров. Все трубы промаркированы:]]; way = { kh_vroom("Отойти от ящика", "atl_terra_main_corridor"); }; obj = { }; }; tube_nf_14_6 = tube { nam = "tube_nf_14_6"; t = "NF"; l = 14; d = 6; }; tube_nf_10_7 = tube { nam = "tube_nf_10_7"; t = "NF"; l = 10; d = 7; }; tube_nf_11_9 = tube { nam = "tube_nf_11_9"; t = "NF"; l = 11; d = 9; }; tube_nf_14_7 = tube { nam = "tube_nf_14_7"; t = "NF"; l = 14; d = 7; }; tube_tq_14_6 = tube { nam = "tube_tq_14_6"; t = "TQ"; l = 14; d = 6; }; tube_tq_17_5 = tube { nam = "tube_tq_17_5"; t = "TQ"; l = 17; d = 5; }; tube_rt_12_7 = tube { nam = "tube_rt_12_7"; t = "RT"; l = 12; d = 7; }; tube_kt_13_9 = tube { nam = "tube_kt_13_9"; t = "KT"; l = 13; d = 9; }; tubes_aqua = { tube_nf_14_6; tube_nf_10_7; tube_nf_11_9; tube_nf_14_7; tube_tq_14_6; tube_tq_17_5; tube_rt_12_7; tube_kt_13_9; }; atl_nih_tube_container2_inv = room { nam = "atl_nih_tube_container2_inv"; disp = "Атлантида, Аква, склад B"; dsc = [[У стены сложены трубы различных диаметров и размеров. Все трубы промаркированы:]]; way = { kh_vroom("Отойти от ящика", "atl_aqua_warehouse_b"); }; obj = { }; }; atl_nih_tube_container:disable(); atl_nih_tube_container2:disable(); atl_nih_tubes_near_aqua:disable(); atl_nih_panel_near_a:disable(); atl_nih_panel_near_admin:disable(); atl_nih_panel_near_luna:disable(); atl_nih_boxes_near_oculus:disable(); atl_nih_boxes_near_terra:disable(); atl_nih_tubes_near_arctos:disable(); atl_nih_panel_oculus:disable(); atl_nih_boxes_terra:disable(); atl_nih_tubes_luna:disable(); atl_nih_tubes_arctos:disable(); atl_nih_tubes_aqua:disable(); atl_nih_tubes_aqua_a:disable(); atl_nih_tubes_aqua_b:disable(); nih_tubes_array = { atl_nih_tubes_near_aqua, atl_nih_panel_near_a, atl_nih_panel_near_admin, atl_nih_panel_near_luna, atl_nih_boxes_near_oculus, atl_nih_boxes_near_terra, atl_nih_tubes_near_arctos, atl_nih_panel_oculus, atl_nih_boxes_terra, atl_nih_tubes_luna, atl_nih_tubes_arctos, atl_nih_tubes_aqua, atl_nih_tubes_aqua_a, atl_nih_tubes_aqua_b, }; nih_array = { atl_nih_tubes_near_aqua; atl_nih_tubes_near_a; atl_nih_tubes_near_admin; atl_nih_tubes_near_luna; atl_nih_tubes_near_oculus; atl_nih_tubes_near_terra; atl_nih_tubes_near_arctos; atl_nih_tubes_oculus; atl_nih_tubes_terra; atl_nih_tubes_luna; atl_nih_tubes_arctos; atl_nih_tubes_aqua; atl_nih_tubes_aqua_a; atl_nih_tubes_aqua_b; atl_nih_panel_near_a; atl_nih_panel_near_admin; atl_nih_panel_near_luna; atl_nih_panel_oculus; atl_nih_boxes_near_oculus; atl_nih_boxes_near_terra; atl_nih_boxes_terra; atl_nih_tube_container; atl_nih_tube_container2; }; nih_array2 = { atl_nih_tubes_near_aqua, atl_nih_panel_near_a, atl_nih_panel_near_admin, atl_nih_panel_near_luna, atl_nih_boxes_near_oculus, atl_nih_boxes_near_terra, atl_nih_tubes_near_arctos, atl_nih_panel_oculus, atl_nih_boxes_terra, atl_nih_tubes_luna, atl_nih_tubes_arctos, atl_nih_tubes_aqua, atl_nih_tubes_aqua_a, atl_nih_tubes_aqua_b, atl_nih_tube_container, atl_nih_tube_container2, }; disable_nih = function() remove(atl_item_tube_spec, pl); for i = 1, #nih_array do nih_array[i]:disable(); end; for i = 1, #tubes_terra do remove(tubes_terra[i], pl); end; for i = 1, #tubes_aqua do remove(tubes_aqua[i], pl); end; end; function atlantis_init() print("init atl"); for i = 1, #tubes_terra do put(tubes_terra[i], atl_nih_tube_container_inv); end; for i = 1, #tubes_aqua do put(tubes_aqua[i], atl_nih_tube_container2_inv); end; end; atl_nih_init = function() atl_nih_state = 1; local nih_array_rt = { atl_nih_tubes_near_aqua; atl_nih_tubes_near_a; atl_nih_tubes_near_admin; }; local nih_array_kt = { atl_nih_tubes_near_luna; atl_nih_tubes_near_arctos; atl_nih_tubes_luna; atl_nih_tubes_arctos; }; local nih_array_nf = { atl_nih_tubes_near_oculus; atl_nih_tubes_near_terra; atl_nih_tubes_oculus; atl_nih_tubes_terra; }; local nih_array_tq = { atl_nih_tubes_aqua; atl_nih_tubes_aqua_a; atl_nih_tubes_aqua_b; }; nih_array_rt[rnd(#nih_array_rt)].broken = true; nih_array_kt[rnd(#nih_array_kt)].broken = true; nih_array_nf[rnd(#nih_array_nf)].broken = true; nih_array_tq[rnd(#nih_array_tq)].broken = true; for i = 1, #nih_array2 do nih_array2[i]:enable(); end; end;