Changeset - b30ed87be191
[Not reviewed]
default
0 2 0
Silverwing - 6 years ago 2018-11-18 10:12:57

venaedanotrr - pre temple ready
2 files changed with 40 insertions and 6 deletions:
0 comments (0 inline, 0 general)
journey_venaedanotrr.lua
Show inline comments
 
global {
 
    -- 1 - received quest from chief
 
    -- 2 - library visited
 
    -- 3 - explorers or cartographers visited
 
    -- 4 - location known
 
    -- 5 - body found
 
    -- 6 - pha'nea'rr(and lea'rr) healed
 
    -- 7 - chief talked with
 
    -- 8 - keeper talked with
 
    -- 9 - chief sent to hisorr
 
    -- 10 - hysorr help accepted
 
    -- 11 - hysorr quest completed
 
    ven_quest_status = 0;
 
    ven_learr_spoken_8 = false;
 
    ven_anna_spoken_8 = false;
 
    ven_wright_spoken_8 = false;
 
    ven_radcliffe_spoken_8 = false;
 
    ven_chief_spoken_8 = false;
 
    ven_chief_spoken_10 = false;
 
    ven_librarian_spoken_10 = false;
 

	
 
    ven_ravine_known = false;
 
    ven_learr_sent_away = false;
 
    ven_learr_ill = false;
 
    ven_learr_ill_heavy = false;
 
    ven_learr_met = false;
 
    ven_learr_has_returned = false;
 

	
 
    ven_keeper_asleep = false;
 

	
 
    ven_box_of_light_known = false;
 
}
 

	
 
ven_intro = lcutscene('ven_intro', 'Левиафан, рубка', function(s)
 
    if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then
 
        return [[Дорога в Венаэданотр занимает несколько недель. Несмотря на низкую точность карты, вы с Леарр и Анной успешно справляетесь с навигацией. Венаэданотр разительно отличается от небольших поселений, что вы видели прежде. Ровные ряды аккуратных каменных домиков расположились вокруг центральной площади. Между ними вы то и дело замечаете навьяров, плывущих или идущих по своим делам. Вскоре, к вам отправляется небольшая группа навьяров, приблизившись к Левиафану, они просят вас следовать за ними к центру города. ]];
 
@@ -261,70 +262,70 @@ ven_healer_house_room = room {
 
}
 

	
 
ven_healer_garden = room {
 
    nam = 'ven_healer_garden';
 
    disp = 'Венаэданотр, дом лекаря, сад';
 
    dsc = [[Небольшое пространство, огороженное коралловой решеткой от внешнего мира. Прямо напротив входа зияет дыра, достаточно большая, чтобы через нее мог проплыть навьяр. ]];
 
    obj = {
 
        'ven_healer_garden_boxes'
 
    };
 
    way = {
 
        kh_vroom('В отверстие', function(s)
 
            if ven_quest_status == 10 then
 
                return "ven_east_outskirt_1";
 
            else
 
                pr [[Вам там нечего делать. ]];
 
                return False;
 
            end;
 

	
 
        end);
 
    }
 
}
 

	
 
ven_east_outskirt_1 = room {
 
    nam = 'Венаэданотр, восточная окраина';
 
    dsc = 'Илистая равнина на восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На востоке вы видите руины старого города.';
 
    dsc = 'Илистая равнина на восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На востоке вы видите руины старого города. Вы видите здесь следы навьяра, ведущие на юг. Он некоторое время шел по поверхности, потом, очевидно, продолжил плыть -- следы обрываются. ';
 
    way = {
 
        kh_vroom('На север', 'ven_east_outskirt_2');
 
        kh_vroom('На юг', 'ven_east_outskirt_3');
 
        kh_vroom('На восток', 'ven_flatland_1');
 
        kh_vroom('На запад, в сад лекаря', 'ven_healer_garden');
 
    };
 
}
 

	
 
ven_east_outskirt_2 = room {
 
    nam = 'Венаэданотр, восточная окраина';
 
    dsc = 'Илистая равнина на восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На востоке вы видите руины старого города.';
 
    way = {
 
        kh_vroom('На север', 'ven_north_east_outskirt');
 
        kh_vroom('На юг', 'ven_east_outskirt_1');
 
        kh_vroom('На восток', 'ven_flatland_2');
 
    };
 
}
 

	
 
ven_east_outskirt_3 = room {
 
    nam = 'Венаэданотр, восточная окраина';
 
    dsc = 'Илистая равнина на восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На востоке вы видите руины старого города.';
 
    dsc = 'Илистая равнина на восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На востоке вы видите руины старого города. Вы видите здесь следы навьяра, ведущие на восток. ';
 
    way = {
 
        kh_vroom('На север', 'ven_east_outskirt_1');
 
        kh_vroom('На юг', 'ven_south_east_outskirt');
 
        kh_vroom('На восток', 'ven_flatland_4');
 
    };
 
}
 

	
 
ven_north_east_outskirt = room {
 
    nam = 'Венаэданотр, северо-восточная окраина';
 
    dsc = 'Илистая равнина на северо-восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На юго-востоке вы видите руины старого города.';
 
    way = {
 
        kh_vroom('На север', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На юг', 'ven_east_outskirt_2');
 
        kh_vroom('На восток', 'ven_flatland_3');
 
    };
 
}
 

	
 
ven_south_east_outskirt = room {
 
    nam = 'Венаэданотр, юго-восточная окраина';
 
    dsc = 'Илистая равнина на юго-восточной окраине Венаэданотра. Местность тщательно очищена навьярами от всякой растительности. На северо-востоке вы видите руины старого города.';
 
    way = {
 
@@ -354,112 +355,140 @@ ven_flatland_2 = room {
 
    way = {
 
        kh_vroom('На север', 'ven_flatland_3');
 
        kh_vroom('На юг', 'ven_flatland_1');
 
        kh_vroom('На восток', 'ven_tangle_west');
 
        kh_vroom('На запад', 'ven_east_outskirt_2');
 
    };
 
}
 

	
 
ven_flatland_3 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина на востоке от Венаэданотра. Здесь произрастают невысокие водоросли. Вокруг снуют мелкие рыбешки, по дну медленно ползают мелкие крабы и другие обитатели океанского дна. На юго-востоке вы видите руины старого города.';
 
    way = {
 
        kh_vroom('На север', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На юг', 'ven_flatland_2');
 
        kh_vroom('На восток', 'ven_flatland_6');
 
        kh_vroom('На запад', 'ven_north_east_outskirt');
 
    };
 
}
 

	
 
ven_flatland_4 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина на востоке от Венаэданотра. Здесь произрастают невысокие водоросли. Вокруг снуют мелкие рыбешки, по дну медленно ползают мелкие крабы и другие обитатели океанского дна. На востоке вы видите руины старого города. На юго-востоке возвышается небольшой холм. ';
 
    dsc = 'Илистая равнина на востоке от Венаэданотра. Здесь произрастают невысокие водоросли. Вокруг снуют мелкие рыбешки, по дну медленно ползают мелкие крабы и другие обитатели океанского дна. На востоке вы видите руины старого города. На юго-востоке возвышается небольшой холм. Вы видите здесь следы навьяра, ведущие на восток. ';
 
    way = {
 
        kh_vroom('На север', 'ven_flatland_1');
 
        kh_vroom('На юг', 'ven_flatland_5');
 
        kh_vroom('На восток', 'ven_old_street_2');
 
        kh_vroom('На запад', 'ven_east_outskirt_3');
 
    };
 
}
 

	
 
ven_flatland_5 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина на востоке от Венаэданотра. Здесь произрастают невысокие водоросли. Вокруг снуют мелкие рыбешки, по дну медленно ползают мелкие крабы и другие обитатели океанского дна. На северо-востоке вы видите руины старого города. На востоке возвышается небольшой холм. ';
 
    way = {
 
        kh_vroom('На север', 'ven_flatland_4');
 
        kh_vroom('На юг', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На восток', 'ven_hill');
 
        kh_vroom('На запад', 'ven_east_outskirt_3');
 
    };
 
}
 

	
 
ven_flatland_6 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина на востоке от Венаэданотра. Здесь произрастают невысокие водоросли. Вокруг снуют мелкие рыбешки, по дну медленно ползают мелкие крабы и другие обитатели океанского дна. На юго-востоке вы видите руины старого города. ';
 
    way = {
 
        kh_vroom('На север', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На юг', 'ven_tangle_north');
 
        kh_vroom('На восток', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На запад', 'ven_flatland_2');
 
    };
 
}
 

	
 
ven_flatland_7 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина далеко к востоку от Венаэданотра. Здесь все затянуто водорослями, между которыми снуют мелкие рыбешки. По дну медленно ползают мелкие обитатели океанского дна. На севере вы видите руины старого города. ';
 
    dsc = 'Илистая равнина далеко к востоку от Венаэданотра. Здесь все затянуто водорослями, между которыми снуют мелкие рыбешки. По дну медленно ползают мелкие обитатели океанского дна. На севере вы видите руины старого города. Вы видите здесь следы навьяра, ведущие на юг. ';
 
    way = {
 
        kh_vroom('На север', 'ven_old_street_3');
 
        kh_vroom('На юг', 'ven_tangle_north');
 
        kh_vroom('На восток', function(s)
 
            pr [[Вам там нечего делать. ]];
 
            return false;
 
        end);
 
        kh_vroom('На запад', 'ven_flatland_2');
 
    };
 
}
 

	
 
ven_flatland_8 = room {
 
    nam = 'Венаэданотр, равнина';
 
    dsc = 'Илистая равнина далеко к востоку от Венаэданотра. Здесь все затянуто водорослями, между которыми снуют мелкие рыбешки. По дну медленно ползают мелкие обитатели океанского дна. На севере вы видите руины старого города. К юго-востоку расположен домик, сложенный из плохо подходящих друг к другу камней. ';
 
    dsc = 'Илистая равнина далеко к востоку от Венаэданотра. Здесь все затянуто водорослями, между которыми снуют мелкие рыбешки. По дну медленно ползают мелкие обитатели океанского дна. На севере вы видите руины старого города. К юго-востоку расположен домик, сложенный из плохо подходящих друг к другу камней. Вы видите здесь следы навьяра, ведущие к нему. ';
 
    way = {
 
        kh_vroom('На север', 'ven_flatland_7');
 
        kh_vroom('На юго-восток, к домику', 'ven_out_near_hut');
 
        kh_vroom('На запад', 'ven_hill');
 
    };
 
}
 

	
 
ven_out_near_hut = room {
 
    nam = 'Венаэданотр, у хижины';
 
    dsc = 'Здесь, посреди илистой равнины, стоит убогая хижина сложенная из каменных блоков едва примыкающих друг к другу. Она не кажется заброшенной. Внутрь ведут следы навьяра. ';
 
    way = {
 
        kh_vroom('Отойти от хижины', 'ven_flatland_8');
 
        kh_vroom('Внутрь', 'ven_out_hut');
 
    };
 
}
 

	
 
ven_out_hut = room {
 
    nam = 'Венаэданотр, хижина';
 
    dsc = 'Инутри хижина предстает скромным обиталищем отшельника -- в углу стоит кровать, напротив которой становлена массивная каменная плита в качестве стола. На полке, прикрепленной к одной из стен стоят несколько склянок с какими-то травами. Внутри никого нет. ';
 
    obj = {
 
        'ven_hut_cage';
 
    };
 
    way = {
 
        kh_vroom('Внутрь', 'ven_out_hut');
 
    }
 
}
 

	
 
ven_hut_cage = obj {
 
    nam = 'ven_hut_cage';
 
    disp = 'Клетка с сохенаррами';
 
    dsc = 'У входа стоит коралловая {клетка}, внутри которой носятся небольшие огненно-красный рыбки -- видимо те самых сохенарры, которые пропали. ';
 
    tak = 'Вы забираете клетку. ';
 
    inv = 'Небольшая переносная клетка. Яркие огненно-красные рыбки резвятся внутри. ';
 
}
 

	
 
ven_tangle_north = room {
 
    nam = 'Венаэданотр, заросли';
 
    dsc = [[Буйная растительность не позволяет вам пройти здесь. ]];
 
    way = {
 
        kh_vroom('На север', 'ven_flatland_6');
 
    }
 
}
 

	
 
ven_tangle_west = room {
 
    nam = 'Венаэданотр, заросли';
 
    dsc = [[Буйная растительность не позволяет вам пройти здесь. ]];
 
    way = {
 
        kh_vroom('На запад', 'ven_flatland_2');
 
    }
 
}
 

	
 
ven_tangle_south = room {
 
    nam = 'Венаэданотр, заросли';
 
    dsc = [[Буйная растительность не позволяет вам пройти здесь. ]];
 
    way = {
 
        kh_vroom('На юг', 'ven_old_street_1');
 
    }
 
}
 

	
 
@@ -550,71 +579,76 @@ ven_char_healer = npc {
 
    var {
 
        state = 0;
 
    };
 
    nam = 'ven_char_healer';
 
    dsc = function(s)
 
        if s.state == 0 then
 
            return [[{Немолодной {навьяр} с серыми глазами и тусклой серой чешуей висит в углу комнаты, занятый своими делами. }]];
 
        else
 
            return [[{Хисорр} висит у стола в углу комнаты, занятый своими делами. ]];
 
        end;
 
    end;
 
    dlg = 'ven_char_healer_dlg'
 
}
 

	
 
ven_char_healer_dlg = dlg {
 
    nam = 'ven_char_healer_dlg';
 
    disp = 'Хисорр, лекарь';
 
    entered = function(s)
 
        psub("generic");
 

	
 
        if ven_char_healer.state == 0 then
 
            ven_char_healer.state = 1;
 
        end;
 

	
 
        if ven_quest_status == 10 and have(ven_hut_cage) then
 
            pon('cage_found');
 
        end;
 

	
 
        if ven_quest_status == 5 then
 
            if have(ven_item_searing_leaf) and have(ven_item_poison_weed) and have(ven_item_rock_stalk) then
 
                pon('ingredients');
 
            end;
 
            ven_item_searing_leaf:enable();
 
            ven_item_poison_weed:enable();
 
            ven_item_rock_stalk:enable();
 

	
 
            if ven_learr_ill_heavy then
 
                return [[Навьяр поднимает свой взгляд на вас. По его головным плавникам бегут цветные полосы: "Лекарь Хисорр приветствует вас в своем доме. Сейчас больным ничего не угрожает, но я прошу вас помочь найти лекарство. Мне понадобятся жгучий лист, каменный стебель и отравляющая водоросль. Каменный стебель и отравляющие водоросли вы сможете найти прямо здесь, а вот за жгучим листом вам придется вернуться в ущелье". Хисорр кратко рассказывает вам, как определить необходимые ингредиенты. ]];
 
            else
 
                return [[Навьяр поднимает свой взгляд на вас. По его головным плавникам бегут цветные полосы: "Лекарь Хисорр приветствует вас в своем доме. Сейчас больному ничего не угрожает, но я прошу вас помочь найти лекарство. Мне понадобятся жгучий лист, каменный стебель и отравляющая водоросль. Каменный стебель и отравляющие водоросли вы сможете найти прямо здесь, а вот за жгучим листом вам придется вернуться в ущелье". Хисорр кратко рассказывает вам, как определить необходимые ингредиенты. ]];
 
            end;
 
        else
 
            if ven_quest_status == 9 then
 
                pon('keeper');
 
            end;
 

	
 
            return [[Навьяр поднимает свой взгляд на вас. По его головным плавникам бегут цветные полосы: "Лекарь Хисорр приветствует вас в своем доме. Вы говорите".]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="general"};
 
        {tag='cage_found', false, '[Кодировщик]Я нашел ваших рыб.', [[Хисорр благодарит вас: "Спасибо, что вернули сохенарров. Вот ваш камень". ]], code [[ take(ven_item_red_key);ven_quest_status = 11; ]]};
 
        {tag="keeper", false, '[Кодировщик]Мне нужна помощь с хранителем храма. Он отказывается отдавать нам ключ.', [[Хисорр отвечает: "Сделайте кое-что для меня и я помогу вам. Вы согласны?"]], code [[psub('keeper_more');]]};
 
        {tag='ingredients', false, '[Кодировщик]Я нашел нужные ингредиенты.', code [[
 
            ven_quest_status = 6;
 
            remove(ven_item_searing_leaf, pl);
 
            remove(ven_item_poison_weed, pl);
 
            remove(ven_item_rock_stalk, pl);
 

	
 
            table.insert(pl.party, 'learr');
 
            move(char_learr, char_learr.home);
 
            move(ven_char_phanearr, ven_explorers_guild);
 

	
 
            walk('ven_cutscene_healing');
 
        ]]};
 
        {always=true, "[Кодировщик]Я пойду.", [[Хисорр отвечает: "Ты возвращайся". ]], code [[back();]]};
 
        {tag="keeper_more"};
 
        {"[Кодировщик]Почему хранитель не хочет помогать нам?", [[Хисорр отвечает: "Он считает, что Наэтвьирр поработит всех навьяров и хевьяров, когда пробудится. Почти никто в городе не согласен с ним, поэтому я и помогаю вам". ]]};
 
        {"[Кодировщик]Что мне нужно сделать?", [[Хисорр рассказывает: "У меня пропали сохенарры -- это вид рыб, их мясо и чешуя обладают целебными свойствами, но они очень редки. Сегодня утром я нашел разломанную клетку, где их содержал. Я уже сообщил вождю. Если вы поможете мне, я возьму для вас камень у хранителя". ]], code [[ ven_quest_status = 10; psub('break_in'); ]]};
 
        {tag="break_in"};
 
        {'[Кодировщик]Кто мог сломать клетку?', [[Хисорр пожимает плечами: "Очевидно, это сделал навьяр, но я не знаю никого в городе, кто мог бы сам использовать целебные свойства сохенарров кроме меня. Я знаю, что Хиарирр в библиотеке что-то видел, он сам лучше расскажет. Также, недавно суд изгнал отступника, возможно он как-то связан с этим делом -- Эйлираорр, вождь, сможет посвятить вас в курс дела". ]], code [[psub("generic");]]};
 
    };
 
}
 

	
 
ven_library_floor1 = room {
 
    nam = 'ven_library_floor1';
startup.lua
Show inline comments
 
@@ -148,39 +148,39 @@ function init()
 

	
 
    if prefs.language then
 
        language = prefs.language;
 
    else
 
        prefs.language = language;
 
    end;
 
    
 
    local nums = {1,2,3,4,5,6};
 
    for i = 1, 4 do 
 
        local index = rnd(#nums);
 
        table.insert(dt_code, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
    nums = {1,2,3,4,5,6};
 
    for i = 1, 3 do 
 
        local index = rnd(#nums);
 
        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_temple_keeper_house_inside";
 
    pl.where = "ven_out_hut";
 
    move("submarine_leviathan", "ven_ravine_entrance");
 
    ven_center.state = 1;
 
    ven_quest_status = 4;
 

	
 
    char_radcliffe:accompany(true);
 
    char_radcliffe:accompany(false);
 
    char_learr:accompany(true);
 

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