Changeset - 49463fad5b5b
[Not reviewed]
default
0 1 0
Silverwing - 5 years ago 2019-07-24 17:14:09

Typo
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
atlantis_iyhehevjiarr.lua
Show inline comments
 
atl_lev_first_sail = room {
 
    nam = "Левиафан";
 
    hideinv = true;
 
    dsc = [[
 
        Вы поднимаетесь на борт Левиафана и ждете, когда соберется команда. Меньше, чем через пятнадцать минут все поднимаются на борт и вы можете отправляться.
 
    ]];
 
    obj = {
 
        vway("Продолжить", "{Продолжить}", "leviathan_captains_cabin");
 
    };
 
};
 
 
iyh_far_from_entrance_foot = room {
 
    nam = "Океан";
 
    handwheel_room = "iyh_far_from_entrance";
 
    underwater = true;
 
    no_exit = [[
 
        Нет смысла покидать Левиафан здесь.
 
    ]];
 
    dsc = [[
 
        Вы видите вдалеке высокую скалу, простирающуюся на многие километры в обе стороны. Прямо перед вами, в скале вы видите массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами.
 
    ]];
 
    view = [[Через иллюминаторы вы видите вдалеке высокую скалу, простирающуюся на многие километры в обе стороны. Прямо перед вами, в скале вы видите массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. ]];
 
    way = {
 
        kh_vroom("В Левиафан", "leviathan_airlock");
 
    };
 
};
 
 
iyh_far_from_entrance = dlg {
 
    var {
 
        visited = false;
 
    };
 
    no_exit = [[
 
        Нет смысла покидать Левиафан здесь.
 
    ]];
 
    nam = "Левиафан, рубка";
 
    hideinv = true;
 
    leviathan = true;
 
    entered = function(s)
 
        make_snapshot();
 
        if atl_iyh_shockfish_left then
 
            poff('wait');
 
        end;
 
 
        if (not s.visited) then
 
            atl_iyh_state = 7;
 
            return [[Вы прибываете на место. ]];
 
        end;
 
    end;
 
    dsc = function(s)
 
        if atl_iyh_shockfish_away == 0 and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left then
 
            pr [[Через иллюминаторы вы видите высокую скалу, простирающуюся на многие километры в обе стороны. В скале вырезаны массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. Отсюда вы видите, как время от времени из дверей храма выплывает огромный скат. ]];
 
        elseif atl_iyh_entrance_destroyed then
 
            pr [[Через иллюминаторы вы видите высокую скалу, простирающуюся на многие километры в обе стороны. В одном из мест скалы недавно произошел обвал, похоронив под собой вход в древний навьярский храм. ]];
 
        else
 
            pr [[Через иллюминаторы вы видите высокую скалу, простирающуюся на многие километры в обе стороны. В скале вырезаны массивные каменные двери храма, застывшие в открытом состоянии. Над дверьми вы видите небольшой козырек, поддерживаемый массивными колоннами. ]];
 
        end;
 
 
        if (not s.visited) then
 
            s.visited = true;
 
            if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
                pr [[Леарр поднимается в рубку. При виде храма, она восклицает: "Мы должны-попасть туда!" ]];
 
            end;
 
        end;
 
    end;
 
    phr = {
 
        {tag="advance", always=true, "[Подойти ближе]", [[Послушные вашей воле, двигатели Левиафана приводят субмарину в движение и вы плавно приближаетесь ко входу в храм. ]], code [[
 
            move(submarine_leviathan, "iyh_near_temple_foot");
 
            walk('iyh_near_temple');
 
        ]]};
 
        {tag="wait", "[Ждать]", [[Вы решаете подождать до наступления ночи и это правдывает себя. Как только последние лучи солнца перестают пробиваться сквозь толщу воды, скат выбирается из своего логова и отправляется на охоту. Без сомнения, он вернется утром, но у вас есть целая ночь, чтобы сделать все, что нужно. ]], code [[
 
        {tag="wait", "[Ждать]", [[Вы решаете подождать до наступления ночи и это оправдывает себя. Как только последние лучи солнца перестают пробиваться сквозь толщу воды, скат выбирается из своего логова и отправляется на охоту. Без сомнения, он вернется утром, но у вас есть целая ночь, чтобы сделать все, что нужно. ]], code [[
 
            lifeon(iyh_far_from_entrance);
 
            atl_iyh_shockfish_away = 30;
 
        ]]};
 
        {tag="light_temple", always=true, "[Осветить вход в храм]", function(s)
 
            if (atl_iyh_shockfish_away == 0 and not atl_iyh_shockfish_dead and not atl_iyh_shockfish_left) then
 
                iyh_fight.distance = 1000; walk('iyh_fight');
 
                return [[Мощный луч света падает на вход в храм. Вы видите внутри какое-то движение и изнутри выплывает огромный скат. ]];
 
            else
 
                return [[Мощный луч света падает на вход в храм. Ничего не происходит. ]];
 
            end;
 
        end};
 
        {tag="light_wall_r", "[Осветить скалы справа от храма]", [[Мощный луч света освещает скалы по правую сторону от храма. Он плавно скользит по поверхности скалы, пока вы не натыкаетесь на то, что отсюда кажется вам каким-то ущельем. Возможно следует изучить его? ]], code [[
 
            iyh_near_temple:pon('ravine');
 
            pon('ravine');
 
        ]]};
 
        {tag="light_wall_l", "[Осветить скалы слева от храма]", [[Мощный луч света освещает скалы по левую сторону от храма. Он плавно скользит по поверхности скалы, однако так и не натыкается ни на что интересное. ]]};
 
        {tag="ravine", false, always=true, "[Подойти ко входу в ущелье]", [[Вы поворачиваете штурвал и включаете двигатели Левиафана. Через несколько минут вы оказываетесь у входа в ущелье. ]], code [[
 
            move(submarine_leviathan, "iyh_ravine_entry_foot");
 
            walk('iyh_ravine_entry'); 
 
        ]]};
 
        {tag="away", always=true, "[Отойти от штурвала]", code = [[
 
            walk('leviathan_wheelhouse');
 
        ]]};
 
        {tag="return", always=true, "[Покинуть храм]", code = [[
 
            walk('leviathan_dlg');
 
        ]]};
 
    };
 
    life = function(s)
 
        if (not atl_iyh_shockfish_left) then
 
            atl_iyh_shockfish_away = atl_iyh_shockfish_away - 1;
 
            if (atl_iyh_shockfish_away == 0) then
 
                lifeoff(iyh_far_from_entrance);
 
                if (where(pl) == iyh_temple_main_hall_entry or where(pl) == iyh_temple_main_hall_middle or where(pl) == iyh_temple_main_hall_end or where(pl) == iyh_near_temple_foot) and not have(iyh_item_amulet) then
 
                    walk("game_over_shockfish");
 
                elseif (where(pl).leviathan == true and (where(submarine_leviathan) == iyh_near_temple_foot)) then
 
                    pr [[Скат возвращается и, заметив Левиафан, тут же нападает на субмарину. Вы поднимаетесь на мостик, чтобы принять управление. ]];
 
                    walk("iyh_fight");
 
                end;
 
            elseif atl_iyh_shockfish_away < 5 and (where(pl).temple or where(pl).leviathan and where(submarine_leviathan) == iyh_near_temple_foot) then
 
                pr "Уже почти рассвело. Скат вот-вот вернется. ";
 
            elseif atl_iyh_shockfish_away < 10 and (where(pl).temple or (pl).leviathan and where(submarine_leviathan) == iyh_near_temple_foot) then
 
                pr "Приближается рассвет. Скат скоро вернется. ";
 
            end;
 
        end;
 
    end;
 
};
 
 
iyh_fight = room {
 
    var {
 
        temple_distance = 0;
 
        distance = 0;
 
        shockfish_health = 100;
 
        timing = 0;
 
    };
 
    nam = "Штурвал Левиафана";
 
    entered = function(s)
 
        s.temple_distance = s.distance;
 
        s.shockfish_health = 100;
 
    end;
 
    hideinv = true;
 
    forcedsc = true;
 
    leviathan = true;
 
    nosave = true;
 
    noautosave = true;
 
    dsc = function(s)
 
        pr("Вы находитесь от ската на расстоянии около "..tostring(math.abs(s.distance)).." метров. ");
 
        pr("Храм находится примерно на расстоянии " .. tostring(math.abs(s.temple_distance)) .. " метров. ");
 
        pr("На приборной панели вы видите, что ");
 
        iyh_fight_torpedo:enable();
 
        iyh_fight_recharge:disable();
 
        if (submarine_leviathan.torpedoes == 2) then
 
            pr "оба торпедных аппапата заряжены и готовы к бою. ";
 
        elseif (submarine_leviathan.torpedoes == 1) then
 
            pr "только один из торпедных аппаратов заряжен. ";
 
        else
 
            iyh_fight_recharge:enable();
 
            iyh_fight_torpedo:disable();
 
            pr "у вас не осталось заряженных торпед. ";
 
        end;
 
        if (submarine_leviathan.electric_integrity < 30) then
 
            pr "Свет в рубке периодически моргает, чувствуется запах горелой проводки, часть проводов искрит. ";
 
        elseif (submarine_leviathan.electric_integrity < 70) then
 
            pr "Свет в рубке периодически моргает. ";
 
        end;
 
        if (submarine_leviathan.hull_integrity < 30) then
 
            pr "Обшивка Левиафана сильно повреждена. ";
 
        elseif (submarine_leviathan.hull_integrity < 70) then
 
            pr "Обшивка Левиафана повреждена. ";
 
        end;
 
    end;
 
    maketurn = function(s)
 
        if (s.distance > 1000 or s.distance < -1000) then
 
            if (s.shockfish_health < 20 or atl_iyh_entrance_destroyed) then
 
                pr "Скат уплывает и вы остаетесь одни. ";
 
                atl_iyh_shockfish_left = true;
 
                submarine_leviathan.hull_integrity = 100;
0 comments (0 inline, 0 general)