File diff 317da5ef1835 → 00339ee21b69
atlantis.lua
Show inline comments
 
@@ -19,39 +19,24 @@ global {
 
    atl_mtr_know_goldman_lost_clock = false;
 
    atl_mtr_know_jones_replaced_goldman = false;
 
    atl_mtr_goldman_accused = false;
 
    atl_mtr_know_more_about_clock = false;
 
    atl_mtr_jones_replace_confirm = false;
 
    atl_mtr_leroy_known = false;
 
    atl_mtr_jones_known = false;
 
    atl_mtr_goldman_known = false;
 
    atl_mtr_know_radcliffe_worked = false;
 
    atl_mtr_know_leroy_in_terra = false;
 
    atl_mtr_finished = 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;
 
@@ -63,31 +48,25 @@ atl_illuminators = obj {
 
    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;
 
    act = [[Вам незачем кому-то звонить. ]];
 
};
 
 
atl_intersect_suit = obj {
 
    nam = "Скафандр";
 
    dsc = [[В углу стоит {скафандр}. ]];
 
    act = [[Сейчас нет смысла это делать. ]];
 
}
 
 
atl_aqua_corridor_b = room {
 
    nam = "Атлантида, Аква, коридор B";
 
    dsc = [[Широкий коридор, заполненный ярким светом электрических ламп. В одном конце коридора расположена шлюзовая дверь, ведущая в основной коридор секции _"Аква"_. По бокам коридора находятся еще несколько дверей, ведущих в другие помещения секции: гостевые доки A, B и С. ]];
 
    way = {
 
@@ -172,31 +151,25 @@ atl_aqua_nautilus_dock = room {
 
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_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. ]];
 
    way = {
 
@@ -255,44 +228,24 @@ atl_aqua_warehouse_b_lightswitch = obj {
 
        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 = "Атлантида, межсекционный коридор";