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_ryveerr_spoken = false; atl_iyh2_ryveerr_spoken = false; atl_iyh2_aikeryarr_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_known = false; atl_lfc_goldman_exposed = false; atl_lfc_saboteur_known = false; atl_lfc_sab_active = false; atl_lfc_sab_alive = false; atl_fta_state = 0; atl_rep_moreau = 0; atl_rep_darkstar = 0; atl_rep_svetlova = 0; atl_rep_wright = 0; }; 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) 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'); else walk('iyh_outro_learr'); end; end; end; dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Левиафан. Под потолком, на высоте примерно в пять метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Снизу, под водой, огромный люк закрывает доступ внутрь дока. Несколько легких подвижных мостиков находятся на поверхности воды. ]]; view = [[Левиафан находится в просторном доке. Под потолком на высоте пяти метров укреплены балки, по которым могут перемещаться крюки подъемных кранов. Внизу расположен закрытый люк, закрывающий вам путь наружу. ]]; way = { 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() pr("Люк наглухо задраен. Вы не сможете его открыть. "); return false; 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_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"); 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("В лифт", "atl_dom_lift"); kh_vroom("На север", "atl_dom_main_near_aqua"); kh_vroom("На северо-восток", "atl_dom_main_near_adm"); kh_vroom("На юго-восток", "atl_dom_main_se"); kh_vroom("На юго-запад", "atl_dom_main_sw"); kh_vroom("На северо-запад", "atl_dom_main_near_a"); }; obj = { -- TODO добавить скамейки }; }; atl_dom_main_sw = room { nam = "Атлантида, Доминус, центральный зал, юго-запад"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса. Вы находитесь в юго-западной части секции. ]]; way = { kh_vroom("К секции Окулус", "atl_dom_main_near_oculus"); kh_vroom("К секции Луна", "atl_dom_main_near_luna"); kh_vroom("По часовой стрелке", "atl_dom_main_near_a"); kh_vroom("Против часовой стрелки", "atl_dom_main_se"); kh_vroom("К центру зала", "atl_dom_main_c"); }; }; atl_dom_main_se = room { nam = "Атлантида, Доминус, центральный зал, юго-восток"; dsc = [[Огромный круглый зал освещенный электрическими лампами, установленными на многочисленных колоннах. Стеклянный купол над головой ограждает вас от многотонной громады океанских вод. Над куполом расположен огромный металлический диск секции Игнис, расположенной над центральным залом Доминуса.Вы находитесь в юго-восточной части секции. ]]; way = { kh_vroom("К секции Арктос", "atl_dom_main_near_arctos"); kh_vroom("К секции Терра", "atl_dom_main_near_terra"); kh_vroom("По часовой стрелке", "atl_dom_main_sw"); kh_vroom("Против часовой стрелки", "atl_dom_main_near_adm"); kh_vroom("К центру зала", "atl_dom_main_c"); }; }; 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_sw"); }; 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_sw"); }; 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_se"); }; 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_se"); }; 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("В комнату Голдмана", "atl_arctos_goldmans_room"); 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 = [[Небольшая комната, рассчитанная на двух постояльцев. ]]; obj = { "char_goldman" }; }; atl_arctos_jones_room = room { nam = "Атлантида, Арктос, комната"; dsc = [[Небольшая комната, рассчитанная на двух постояльцев. ]]; 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_boxes_terra" }; }; atl_terra_workshop_a = room { nam = "Атлантида, мастерская А"; dsc = [[Просторное помещение, выделенное для производства и сборки различных машин под нужды Атлантиды. Вдоль стен расположены шкафы с инструментами, около входа составлено несколько ящиков с материалами. По всей комнате установлены верстаки, различные станки и другое оборудование. Под потолком видно большое количество вентиляционных решеток. ]]; way = { kh_vroom("В коридор", "atl_terra_main_corridor"); }; obj = { "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"); }; }; 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 == 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 [[{Леарр} сидит за одним из столов, листая какую-то книгу. ]]; else if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then return [[{Леарр} стоит перед иллюминатором и что-то рассказывает ]]; else return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]]; end; end; end; dlg = "char_learr_atlantis_dlg"; }; 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; }; 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 { nam = "Чарли Джонс"; dsc = function(s) if (char_jones_dlg.state == 0) then return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]]; else return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]]; end; end; dlg = "char_jones_dlg"; }; atl_nih_tubes_gen = function(nam, dsc) return obj { var { broken = false; fixed = false; }; nam = nam; dsc = dsc; act = function(s) if (s.fixed) then return "Поврежденные трубы замотаны изолентой"; elseif (s.broken) then return "Трубы повреждены и воздух со слабым шипением вырывается из них"; else return "Трубы в порядке"; end; end; use = function(s, o) if (o == item_ducttape and s.broken and not s.fixed) then s.fixed = true; atl_nih_state = 2; return [[ Вы заматываете разрыв изолентой. На какое-то время такое решение сгодится. ]]; end; end; }; end; atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]); atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]); 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_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(); atl_nih_init = function() atl_nih_state = 1; local 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 }; local 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 }; nih_array[rnd(#nih_array)].broken = true; for i = 1, #nih_array2 do nih_array2[i]:enable(); end; end;