Changeset - c2c6511898e9
[Not reviewed]
default
0 3 0
Silverwing - 5 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
 
@@ -1215,7 +1215,8 @@ ven_char_phanearr_dlg = dlg {
 
    entered = function(s)
 
        if s.state == 0 then
 
            s.state = 1;
 
            return [[Фанеарр обращается к вам, по его головным плавникам бегут цветные полосы: "Почтенный хевьяр, благодарю тебя за помощь. Чем могу быть полезен?"]];
 
            take(ven_item_tablet);
 
            return [[Фанеарр обращается к вам, по его головным плавникам бегут цветные полосы: "Почтенный хевьяр, благодарю тебя за помощь. В благодарность, я дам тебе кое-что, что было найдено мной некогда в том самом ущелье", -- с этими словами он протягивает вам металлическую табличку. ]];
 
        else
 
            return [[Фанеарр обращается к вам. По его головным плавникам бегут цветные полосы: "Ты говори". ]];
 
        end;
 
@@ -1274,7 +1275,12 @@ ven_temple_entrance = room {
 
    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");
 
    };
 
@@ -1297,11 +1303,16 @@ ven_temple_doors = obj {
 
        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;
 
}
 
@@ -1312,7 +1323,7 @@ ven_temple_keeper_house = room {
 
    dsc = [[Небольшое каменное строение, напоминающее дома жителей города расположено неподалеку от входа в храм высеченного в скале. ]];
 
    way = {
 
        kh_vroom('В дом', "ven_temple_keeper_house_inside");
 
        kh_vroom('К храму', "ven_temple_keeper_house_inside");
 
        kh_vroom('К храму', "ven_temple_entrance");
 
    }
 
};
 

	
 
@@ -1522,8 +1533,10 @@ ven_temple_pedestal = obj {
 
    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;
 
@@ -1553,34 +1566,37 @@ ven_temple_hall_3 = room {
 
}
 

	
 
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();
 
    };
 
};
 

	
 
@@ -1604,8 +1620,10 @@ ven_ahall_altar = obj {
 
    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
 
@@ -1614,3 +1632,9 @@ ven_ahall_altar = obj {
 
    end;
 
}
 

	
 
ven_item_tablet = obj {
 
    nam = "ven_item_tablet";
 
    disp = "Табличка";
 
    inv = [[Металлическая табличка с рисунком, изображающим навьяра и человека, пожимающих друг другу руки. Человек изображен без скафандра. Навьяр изображен одетым в черный облегающий костюм, человек же одет как простой средневековый рыбак. Вдоль верхнего и нижнего края таблички расположены ровными рядами небольшие круглые отверстия. ]];
 
    tak = [[Вы забираете табличку. ]];
 
};
journey_venaedanotrr_labyrinth.lua
Show inline comments
 
@@ -208,13 +208,10 @@ ven_temple_labyrinth_l1 = labyrinth {
 
    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)
 
@@ -298,13 +295,11 @@ ven_temple_labyrinth_l1 = labyrinth {
 
            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;
 
@@ -827,7 +822,7 @@ 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 "Сундук пуст";
 
@@ -843,8 +838,8 @@ ven_first_lock = obj {
 
    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 "Вы открываете дверь. ";
 
@@ -866,8 +861,8 @@ 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 "Вы открываете дверь. ";
 
@@ -883,29 +878,23 @@ ven_cache = obj {
 
    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;
 
@@ -922,20 +911,16 @@ ven_skeleton = obj {
 
    ]];
 
};
 

	
 
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 {
 
@@ -1007,4 +992,4 @@ ven_pedestal = obj {
 
            return [[Вы забираете фрагмент карты себе. ]];
 
        end;
 
    end;
 
};
 
\ No newline at end of file
 
};
startup.lua
Show inline comments
 
@@ -167,16 +167,15 @@ function init()
 
    ---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;
0 comments (0 inline, 0 general)