Changeset - c2c6511898e9
[Not reviewed]
default
0 3 0
Silverwing - 6 years ago 2018-11-24 19:26:34

venaedanotrr - temple fixed
3 files changed with 71 insertions and 63 deletions:
0 comments (0 inline, 0 general)
journey_venaedanotrr.lua
Show inline comments
 
@@ -1212,13 +1212,14 @@ ven_char_phanearr_dlg = dlg {
 
    };
 
    nam = 'ven_char_phanearr_dlg';
 
    disp = 'Фанеарр';
 
    entered = function(s)
 
        if s.state == 0 then
 
            s.state = 1;
 
            return [[Фанеарр обращается к вам, по его головным плавникам бегут цветные полосы: "Почтенный хевьяр, благодарю тебя за помощь. Чем могу быть полезен?"]];
 
            take(ven_item_tablet);
 
            return [[Фанеарр обращается к вам, по его головным плавникам бегут цветные полосы: "Почтенный хевьяр, благодарю тебя за помощь. В благодарность, я дам тебе кое-что, что было найдено мной некогда в том самом ущелье", -- с этими словами он протягивает вам металлическую табличку. ]];
 
        else
 
            return [[Фанеарр обращается к вам. По его головным плавникам бегут цветные полосы: "Ты говори". ]];
 
        end;
 
    end;
 
    phr = {
 
        {"[Кодировщик]Что вы искали в ущелье?", [[Фанеарр отвечает: "В данной части ущелья мы были впервые. Хиарирр откопал в библиотеке старые записи о некоем артефакте -- ,,коробке лучей''. По словам Хиарирра, с ее помощью мы сможем расшифровать светодиски, хранящиеся в библиотеке в больших количествах. К сожалению, мы не ожидали найти там источник ирфирра. Сам по себе этот яд очень коварный -- не всегда можно понять, что уже нужно срочное лечение. А здесь мы нашли его источник -- место, где вещество вырывается из земли. Мы не успели ничего понять, как большая часть из нас свалилась без сознания". ]], code [[
 
@@ -1271,13 +1272,18 @@ ven_temple_entrance = room {
 
    obj = {
 
        'ven_temple_doors';
 
    };
 
    way = {
 
        kh_vroom('В Левиафан', "leviathan_airlock");
 
        kh_vroom('В храм', function(s)
 
            return 'ven_temple_hall_1';
 
            if ven_temple_entrance.state == 3 then
 
                return 'ven_temple_hall_1';
 
            else
 
                p [[Двери храма не откроются для вас. ]];
 
                return false;
 
            end;
 
        end);
 
        kh_vroom('К дому хранителя', "ven_temple_keeper_house");
 
    };
 
};
 

	
 
ven_temple_doors = obj {
 
@@ -1294,28 +1300,33 @@ ven_temple_doors = obj {
 
        end;
 
    end;
 
    used = function(s, o)
 
        if o == ven_item_green_key then
 
            ven_temple_entrance.state = ven_temple_entrance.state + 1;
 
            remove(ven_item_green_key, pl);
 
            return [[Додекаэдр легко входит в отверстие и накрепко закрепляется там. Где-то изнутри двери вы слышите тяжелый скрежет. ]];
 
            p [[Додекаэдр легко входит в отверстие и накрепко закрепляется там. Где-то изнутри двери вы слышите тяжелый скрежет. ]];
 
        elseif o == ven_item_red_key then
 
            ven_temple_entrance.state = ven_temple_entrance.state + 2;
 
            remove(ven_item_red_key, pl);
 
            return [[Додекаэдр легко входит в отверстие и накрепко закрепляется там. Где-то изнутри двери вы слышите тяжелый скрежет. ]];
 
            p [[Додекаэдр легко входит в отверстие и накрепко закрепляется там. Где-то изнутри двери вы слышите тяжелый скрежет. ]];
 
        end;
 
        if ven_temple_entrance.state == 3 then
 
            p [[Двери храма теперь открыты. ]];
 
        else
 
            p [[]];
 
        end;
 
    end;
 
}
 

	
 
ven_temple_keeper_house = room {
 
    nam = 'ven_temple_keeper_house';
 
    disp = 'Храм Венаэданотра, у дома хранителя';
 
    dsc = [[Небольшое каменное строение, напоминающее дома жителей города расположено неподалеку от входа в храм высеченного в скале. ]];
 
    way = {
 
        kh_vroom('В дом', "ven_temple_keeper_house_inside");
 
        kh_vroom('К храму', "ven_temple_keeper_house_inside");
 
        kh_vroom('К храму', "ven_temple_entrance");
 
    }
 
};
 

	
 
ven_temple_keeper_house_inside = room {
 
    nam = 'ven_temple_keeper_house_inside';
 
    disp = 'Храм Венаэданотра, дом хранителя';
 
@@ -1519,14 +1530,16 @@ ven_temple_pedestal = obj {
 
        state = 0;
 
    };
 
    nam = 'ven_temple_pedestal';
 
    dsc = [[С одной из сторон пьедестала вашему взору открывается потайная ниша, внутри которой спрятан {рычаг}. ]];
 
    act = function(s)
 
        if s.state == 0 then
 
            ven_temple_ahall.state = 1;
 
            path("Наверх", ven_temple_ahall):enable();
 
            ven_temple_pedestal.state = 1;
 
            ven_temple_qhall.state = 1;
 
            path("Наверх", ven_temple_qhall):enable();
 
            return [[Рычаг легко поддается. Из зала вопроса доносится гул, который вскоре оканчивается глухим ударом. ]];
 
        else
 
            return [[Вам здесь больше нечего делать. ]];
 
        end;
 
    end;
 
}
 

	
 
@@ -1550,40 +1563,43 @@ ven_temple_hall_3 = room {
 
    way = {
 
        kh_vroom('К центру зала', 'ven_temple_hall_2');
 
    };
 
}
 

	
 
ven_temple_qhall = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Храм Венаэданотра, зал вопроса';
 
    dsc = [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стену нанесено изображение главного зала. ]];
 
    dsc = function(s)
 
        if s.state == 0 then
 
            return [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стену нанесено изображение главного зала. ]];
 
        else
 
            return [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стену нанесено изображение главного зала. Одна из боковых стен зала отсутствует, открывая проход на широкую лестницу, ведущую наверх. ]];
 
        end;
 
    end;
 
    obj = {
 
        'ven_qhall_altar'
 
    };
 
    way = {
 
        kh_vroom('В главный зал', 'ven_temple_hall_2');
 
        kh_vroom('Наверх', 'ven_temple_labyrinth_l1'):disable();
 
    };
 
};
 

	
 
ven_temple_ahall = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'Храм Венаэданотра, зал ответа';
 
    dsc = function(s)
 
        if s.state == 0 then
 
            return [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стене выгравировано изображение навьяра, плывущего наверх. ]];
 
        else
 
            return [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стене выгравировано изображение навьяра, плывущего наверх. Одна из боковых стен зала отсутствует, открывая проход на широкую лестницу, ведущую наверх. ]];
 
        end;
 
    dsc = [[Небольшое помещение сбоку от основного храмового зала. Напротив входа на стене выгравировано изображение навьяра, плывущего наверх. ]];
 
    entered = function(s)
 
        ven_temple_labyrinth_l1.position = '03';
 
    end;
 
    obj = {
 
        'ven_ahall_altar'
 
    };
 
    way = {
 
        kh_vroom('В главный зал', 'ven_temple_hall_2');
 
        kh_vroom('Наверх', 'ven_temple_labyrinth_l1'):disable();
 
    };
 
};
 

	
 
ven_qhall_altar = obj {
 
    nam = 'ven_qhall_altar';
 
    dsc = [[В центре помещения установлен массивный каменный {алтарь}. ]];
 
@@ -1601,16 +1617,24 @@ ven_ahall_altar = obj {
 
        else
 
            return [[В центре помещения установлен массивный каменный алтарь. В нижней его части расположено едва заметное {углубление}. ]];
 
        end;
 
    end;
 
    act = function(s)
 
        if s.state == 0 then
 
            s.state = 1;
 
            return [[Серый каменный алтарь. Навьяры тщательно очищают его от светящихся водорослей, покрывающих остальные поверхности храма. Ничего примечательного если не считать того, что это почти идеально ровный параллелепипед. В нижней части алтаря расположено едва заметное углубление. ]];
 
        elseif s.state == 1 then
 
            s.state = 2;
 
            ven_temple_pedestal:enable();
 
            return [[Вы протискиваете в углубление руку и сдвигаете там что-то. Слышите скрежет, доносящийся из главного зала. ]];
 
        else
 
            return [[Вам здесь больше нечего делать. ]];
 
        end;
 
    end;
 
}
 

	
 
ven_item_tablet = obj {
 
    nam = "ven_item_tablet";
 
    disp = "Табличка";
 
    inv = [[Металлическая табличка с рисунком, изображающим навьяра и человека, пожимающих друг другу руки. Человек изображен без скафандра. Навьяр изображен одетым в черный облегающий костюм, человек же одет как простой средневековый рыбак. Вдоль верхнего и нижнего края таблички расположены ровными рядами небольшие круглые отверстия. ]];
 
    tak = [[Вы забираете табличку. ]];
 
};
journey_venaedanotrr_labyrinth.lua
Show inline comments
 
@@ -205,19 +205,16 @@ ven_temple_labyrinth_l1 = labyrinth {
 
    dir2 = "На восток";
 
    dir3 = "На юг";
 
    dir4 = "На запад";
 
    ex = "Выйти";
 
    nam = "Венаэданотр, храм, лабиринт";
 
    dsc = function(s)
 
        --if true then
 
        --    return tostring(s.position);
 
        --end;
 
        if (s.map[s.position].name) then
 
            return s.map[s.position].name;
 
        else
 
            return [[Вы стоите посреди запутанного лабиринта. Металлические стены по сторонам здесь ничем не отличаются от стен в других коридорах этого лабиринта. ]];
 
            return [[Вы стоите посреди запутанного лабиринта. Металлические стены по сторонам здесь ничем не отличаются от стен в других коридорах этого лабиринта. Пол и потолок излучают мягкий белый свет. ]];
 
        end;
 
    end;
 
    enter = function(s)
 
        if (exist(ven_shark, s) and ven_shark.active) then
 
            local no = s.map[ven_shark.position].e1;
 
            local ea = s.map[ven_shark.position].e2;
 
@@ -295,19 +292,17 @@ ven_temple_labyrinth_l1 = labyrinth {
 
        };
 
        ["02"] = {
 
            e1 = "12";
 
            e2 = "03";
 
        };
 
        ["03"] = { 
 
            name = [[
 
                Вы стоите у входа в храм. 
 
            ]];
 
            name = [[Вы стоите у лестницы, ведущей вниз, к главному помещению храма. Со всех сторон вас окружают металлические стены. Пол и потолок сделаны из странного светящегося материала, твердого на ощупь. ]];
 
            e1 = "13";
 
            e2 = "04";
 
            e4 = "02";
 
            ex = "ven_temple_entrance";
 
            ex = "ven_temple_qhall";
 
            e1lock = function(s)
 
                return lock03;
 
            end;
 
        };
 
        ["04"] = {
 
            e1 = "14",
 
@@ -824,13 +819,13 @@ ven_chest_ring4 = kh_vobj("ven_chest_ring4", "{Повернуть четвертое кольцо.}^", function(s)
 
    return t;
 
end);
 
        
 
ven_chest_open = kh_vobj("ven_chest_open", "{Открыть сундук.}^", function(s)
 
    if (not here().taken) then
 
        here().taken = true;
 
        take(item_ven_temple_key_1);
 
        take(ven_item_temple_key_1);
 
        return "В сундуке вы находите металлический ключ. ";
 
    else
 
        return "Сундук пуст";
 
    end;
 
end):disable();
 

	
 
@@ -840,14 +835,14 @@ end);
 

	
 
ven_first_lock = obj {
 
    nam = "ven_first_lock";
 
    dsc = "В двери вы видите {замочную скважину}. ";
 
    used = function(s, o)
 
        print "fuckersaurus"
 
        if (o == item_ven_temple_key_1) then
 
            remove(item_ven_temple_key_1, pl);
 
        if (o == ven_item_temple_key_1) then
 
            remove(ven_item_temple_key_1, pl);
 
            ven_temple_labyrinth_l1.lock1 = false;
 
            path('e3'):enable();
 
            return "Вы открываете дверь. ";
 
        end;
 
        return "Это сюда не подходит. ";
 
    end;
 
@@ -863,14 +858,14 @@ ven_lever = obj {
 
}
 
        
 
ven_second_lock = obj {
 
    nam = "ven_second_lock";
 
    dsc = "В двери вы видите {замочную скважину}. ";
 
    used = function(s, o)
 
        if (o == item_ven_temple_key_2) then
 
            remove(item_ven_temple_key_2, pl);
 
        if (o == ven_item_temple_key_2) then
 
            remove(ven_item_temple_key_2, pl);
 
            ven_temple_labyrinth_l1.lock3 = false;
 
            path('e4'):enable();
 
            return "Вы открываете дверь. ";
 
        end;
 
        return "Это сюда не подходит. ";
 
    end;
 
@@ -880,35 +875,29 @@ ven_cache = obj {
 
    var {
 
        state = 0
 
    };
 
    nam = "ven_cache";
 
    dsc = function(s)
 
        if (s.state >= 1) then
 
            return [[
 
                В южной стене открыта {выемка}.
 
            ]];
 
            return [[В южной стене открыта {выемка}. ]];
 
        else
 
            return [[
 
                В южной стене имеется небольшую {прорезь}.
 
            ]];
 
            return [[В южной стене имеется небольшую {прорезь}. ]];
 
        end;
 
    end;
 
    act = function(s)
 
        if (s.state == 1) then
 
            s.state = 2;
 
            move(item_ven_temple_key_2, pl);
 
            return [[
 
                В выемке вы находите ключ. 
 
            ]];
 
            move(ven_item_temple_key_2, pl);
 
            return [[В выемке вы находите ключ. ]];
 
        end;
 
    end;
 
    used = function(s, o)
 
        if (s.state == 0) then
 
            if (o == item_ven_tablet) then
 
            if (o == ven_item_tablet) then
 
                s.state = 1;
 
                remove(item_ven_tablet, pl);
 
                remove(ven_item_tablet, pl);
 
                return "Пластинка легко уходит вглубь прорези. Вы слышите щелчок и в стене открывается выемка, в которой лежит ключ. ";
 
            end;
 
        end;
 
    end;
 
};
 

	
 
@@ -919,26 +908,22 @@ ven_skeleton = obj {
 
    ]];
 
    act = [[
 
        Этот скелет очень старый. 
 
    ]];
 
};
 

	
 
item_ven_temple_key_1 = obj {
 
    nam = "item_ven_temple_key_1";
 
ven_item_temple_key_1 = obj {
 
    nam = "ven_item_temple_key_1";
 
    disp = "Ключ из храма";
 
    dsc = [[
 
        Металлический ключик, найденный вами в храме Венаэданотра.
 
    ]];
 
    dsc = [[Металлический ключик, найденный вами в храме Венаэданотра. ]];
 
};
 
        
 
item_ven_temple_key_2 = obj {
 
    nam = "item_ven_temple_key_2";
 
ven_item_temple_key_2 = obj {
 
    nam = "ven_item_temple_key_2";
 
    disp = "Ключ из тайника";
 
    dsc = [[
 
        Металлический ключик, найденный вами в тайнике в храме Венаэданотра.
 
    ]];
 
    dsc = [[Металлический ключик, найденный вами в тайнике в храме Венаэданотра. ]];
 
}
 

	
 
item_ven_spear = obj {
 
    var {
 
        taken = false;
 
    };
 
@@ -1004,7 +989,7 @@ ven_pedestal = obj {
 
        if (not s.taken) then
 
            s.taken = true;
 
            item_lse_map.state = item_lse_map.state + 1;
 
            return [[Вы забираете фрагмент карты себе. ]];
 
        end;
 
    end;
 
};
 
\ No newline at end of file
 
};
startup.lua
Show inline comments
 
@@ -164,22 +164,21 @@ function init()
 
        table.insert(dt_buttons, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
    ---game init
 
    pl.where = intro;
 
    ---debug
 
    table.insert(pl.party, 'learr');
 
    table.insert(pl.party, 'radcliffe');
 
    pl.where = "ven_out_hut";
 
    move("submarine_leviathan", "ven_ravine_entrance");
 
    ven_center.state = 1;
 
    ven_quest_status = 4;
 
    pl.where = "ven_temple_entrance";
 
    move("submarine_leviathan", "ven_temple_entrance");
 

	
 
    char_radcliffe:accompany(true);
 
    char_radcliffe:accompany(false);
 
    char_learr:accompany(true);
 
    take(ven_item_green_key);
 
    take(ven_item_red_key);
 
    take(ven_item_tablet);
 

	
 
    pl.where = "ven_temple_labyrinth_l1";
 
    ven_temple_labyrinth_l1.position = '17';
 

	
 
    -- leviathan
 
    submarine_leviathan.circuit_breaks = 0;
 
    submarine_leviathan.battery = true;
 
    submarine_leviathan.power_on = true;
 
    submarine_leviathan.air_level = 500000;
0 comments (0 inline, 0 general)