global { atl_jack_in_party = false; atl_lev_state = 0; atl_nih_state = 0; atl_iyh_state = 0; atl_iyh_learr_spoken = false; atl_iyh_ryveerr_spoken = false; atl_iyh2_ryveerr_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_iyh_hidden_entrance_known = false; atl_iyh_temple_visited = false; atl_mtr_started = false; atl_mtr_know_goldman_lost_clock = false; atl_mtr_know_jones_in_solis = false; atl_mtr_know_jones_replaced_goldman = false; atl_mtr_know_leroy_replaced_jones = false; atl_mtr_know_goldman_views = false; atl_mtr_know_jones_views = false; atl_mtr_know_leroy_views = false; atl_mtr_ask_radcliffe = false; atl_mtr_jones_asked_on_clock = false; atl_mtr_leroy_asked_on_clock = false; atl_mtr_leroy_denies_replace = false; atl_mtr_know_leroy_in_terra = false; atl_mtr_know_leroy_in_terra_asked = false; atl_mtr_finished = false; atl_mtr_finished_jones = false; atl_fta_state = 0; atl_rep_iraa = 0; atl_rep_dyp = 0; atl_ctt_iraa_refusal = false; atl_star_map_copied = false; atl_navjiarr_temple_seen = false; atl_navjiarr_obelisks_seen = false; }; atl_illuminators = obj { nam = "Иллюминаторы"; dsc = [[Через равные промежутки в стены встроены небольшие круглые {иллюминаторы}. ]]; act = [[Через иллюминаторы видны несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]]; }; atl_illuminator = obj { nam = "Иллюминатор"; dsc = [[В стену встроен небольшой {иллюминатор}. ]]; act = [[Через иллюминатор вы видите несколько других секций и коридоров. В лучах света, проникающих с поверхности вы видите массивные металлические конструкции непонятного вам назначения. На покрытом илом дне видно большое количество следов от тяжелых металлическых подошв персонала станции. ]]; }; atl_intersect_phone = obj { nam = "Телефон"; dsc = [[На одной из стен укреплен {телефонный аппарат} в герметичном контейнере. ]]; act = [[Вам незачем кому-то звонить. ]]; }; atl_intersect_suit = obj { nam = "Скафандр"; dsc = [[В углу стоит {скафандр}. ]]; act = [[Сейчас нет смысла это делать. ]]; } atl_aqua_corridor_b = room { nam = "Атлантида, Аква, коридор B"; dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции Аква. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки "A", "B" и "С". ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@163,5'; 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); char_phaetlarr: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 ArrayUtils.indexOf(pl.party, 'learr') == 0 then walk('iyh_outro_svetlova'); else if 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; elseif atl_iyh_state == 10 then if ArrayUtils.indexOf(pl.party, 'anna') == 0 and ArrayUtils.indexOf(pl.party, 'learr') == 0 and atl_lev_anna_dlg.state == 0 then if rel_learr > -5 then atl_lev_anna_dlg.state = 1; walk('atl_lev_anna_learr_dlg'); else atl_lev_anna_dlg.state = 1; walk('atl_lev_anna_dlg'); end; 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 = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции Аква. По бокам коридора находятся еще несколько дверей, ведущих к докам. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@138,5'; way = { kh_vroom("В док Надежды", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В док Энтерпрайза", function() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; end); kh_vroom("В док Наутилуса", "atl_aqua_nautilus_dock"); kh_vroom("В главный коридор", "atl_aqua_main_corridor"); }; obj = { "atl_illuminators", "atl_nih_tubes_aqua_a" }; }; atl_aqua_main_corridor = room { nam = "Атлантида, Аква, центральный коридор"; dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая, в секцию Доминус. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции -- по большей части это склады. Еще две двери ведут в коридоры "A" и "B". ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@151,15'; 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 = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; 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 = "Атлантида, межсекционный коридор"; pic = 'images/atlantis.png;images/atlantis_marker.png@151,31'; way = { kh_vroom("В секцию Аква", "atl_aqua_main_corridor"); kh_vroom("В секцию Доминус", "atl_dom_main_near_aqua"); }; }; atl_dom_main_near_aqua = room { nam = "Атлантида, Доминус, центральный зал, у входа в секцию Аква"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами расположен шлюз, ведущий в соседнюю секцию. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@151,45'; 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Вы находитесь в северной части зала. Рядом с вами расположен шлюз, ведущий в отдел безопасности. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@125,54'; way = { kh_vroom("В отдел безопасности", "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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Вы находитесь в центральной части зала. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@151,80'; way = { 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами находится шлюз, ведущий в кабинет администратора. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@176,54'; 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами находится шлюз, ведущий в секцию Луна. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@115,80'; 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами находится шлюз, ведущий в секцию Окулус. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@132,118'; 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами находится шлюз, ведущий в секцию Терра. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@169,118'; 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 = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Рядом с вами находится шлюз, ведущий в секцию Арктос. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@186,80'; 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 = "Атлантида, Доминус, отдел безопасности"; 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 = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@102,80'; 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 = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@200,80'; 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 дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@88,80'; 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 дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@213,80'; 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 = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@174,125'; 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 = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в мастерские. Вдоль стен стоят множество ящиков. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@187,152'; 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_boxes_terra"; "atl_nih_tube_container"; }; }; 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 = [[Небольшой коридор, соединяющий секции станции, заполнен ярким светом электрических ламп. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@127,125'; 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 = [[Широкий просторный коридор, по обе стороны которого расположены двери, ведущие в лаборатории. В конце коридора находится дверь, ведущая в одну из технических секций станции. ]]; pic = 'images/atlantis.png;images/atlantis_marker.png@114,152'; 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" }; }; --[[ Персонажи ]] 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; starlight_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; starlight_asked = 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; starlight_asked = 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_luna_common_room') 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_ryveerr = npc { var { learr_asked = 0; ryveerr_asked = 0; atlantis_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_luna_common_room) then if (where(char_learr_atlantis) == atl_luna_common_room) then return [[{Джеку Райту}, сидящему рядом. ]]; else return [[{Джек Райт} сидит за столом, листая какую-то книгу. Рядом лежит блокнот, в котором он время от времени он делает пометки карандашом. ]]; end; 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; jack_asked = 0; starlight_asked = 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 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() 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;