Changeset - bbb250d91321
[Not reviewed]
default
0 2 0
Silverwing - 8 years ago 2016-09-04 10:56:37

Venaedanott implemented
2 files changed with 207 insertions and 50 deletions:
0 comments (0 inline, 0 general)
journey_venaedanotrr.lua
Show inline comments
 
@@ -64,8 +64,9 @@ ven_obelisk = obj {
 
		В центре площади возвышается {обелиск}, на который нанесено название города. 
 
	]];
 
	act = function(s)
 
        ven_temple_known = true;
 
		if (where(char_anna) == here()) then
 
			return [[
 
            return [[
 
				В нижней части обелиска вы видите карту, указывающую путь к храму. В динамиках раздается голос Анну Рэдклифф: "Это совсем рядом -- к северу отсюда".
 
			]];
 
		else
 
@@ -92,7 +93,7 @@ ven_chieftain_dlg = dlg {
 
		else
 
			psub('generic');
 
			return [[
 
				Перед вами стоит вождь Венаэданотра. Несмотря на возраст, он держится гордо и прямо. Его глаза внимательно изучают вас. По его плавникам бегут цетные полосы: "I'rr lyt'nn he'vji'a'rr".
 
				Перед вами стоит вождь Венаэданотра. Несмотря на возраст, он держится гордо и прямо. Его глаза внимательно изучают вас. По его плавникам бегут цветные полосы: "I'rr lyt'nn he'vji'a'rr".
 
			]];
 
		end;
 
	end;
 
@@ -109,19 +110,19 @@ ven_chieftain_dlg = dlg {
 
			"Они направились в первый город. Один из них хочет пробудить спящего. Вам нужно остановить их".
 
		]], code [[ ven_chieftain_dlg.answer = 1; psub('naethvjirr_awaken'); ]] };
 
		{"[Цветокод]Мы ищем первый город и знания скрытые в нем", [[
 
			"Вы встретите их там, если поспешите. Один из них хочет пробудить спящего. Вам нужно остановить их".
 
			"Вы встретите тех хевьяров там, если поспешите. Один из них хочет пробудить спящего. Вам нужно остановить их".
 
		]], code [[ ven_chieftain_dlg.answer = 2; psub('naethvjirr_awaken'); ]]};
 
		{"[Цветокод]Мы ищем спящего в глубинах", [[
 
			"Остановитесь и поверните назад".
 
			"Остановитесь и поверните назад. Спящий не должен пробудиться".
 
		]], code [[ ven_chieftain_dlg.answer = 3; psub('naethvjirr_awaken'); ]]};
 
		{tag="naethvjirr_awaken"};
 
		{"[Цветокод]Что будет, если спящий пробудится?", [[
 
            "Никто не знает. Но если его знания попадут не в те руки -- мир обречен. И я боюсь, что в первом корабле был один из тех, кто никогда не должен получить эти знания".
 
            "Наэтвьирр уничтожит нас всех. Первый корабль приведет нас всех к погибели, если их не остановить".
 
		]], code [[ psub("who_hope") ]]};
 
        {tag="who_hope"};
 
        {"[Цветокод]Кто это?", [[
 
            "Все они. Каждый из них искал Наэтвьирра лишь для того, чтобы удовлетворить свои личные амбиции. Но они этого не понимают и потому -- опасны".
 
        ]], {code [[ psub("dont_understand"); ]]}};
 
        {"[Цветокод]Кого из них?", [[
 
            "Всех. Каждый из них искал Наэтвьирра лишь для того, чтобы удовлетворить свои личные амбиции. Но они этого не понимают и потому -- опасны".
 
        ]], code [[ psub("dont_understand"); ]]};
 
        {tag="dont_understand"};
 
        {"[Цветокод]Я не понимаю", [[
 
            "Поймешь, когда проживешь больше лет"
 
@@ -141,7 +142,7 @@ ven_chieftain_dlg = dlg {
 
                ]];
 
            else
 
                return [[
 
                    "Ты уже сказал, что ищешь Наэтвьирра Разве не для себя ты его ищешь?"
 
                    "Ты уже сказал, что ищешь Наэтвьирра. Разве не для себя ты его ищешь?"
 
                ]];
 
            end;
 
        end, code [[
 
@@ -180,13 +181,14 @@ ven_chieftain_dlg = dlg {
 
        ]], code = [[ back(); ]]};
 
        {tag="legend"};
 
        {"[Цветокод]Да", [[
 
            "Тогда, ты должен знать, что Наэтвьирр опасен для всех вьяров. Если я не ссмог убедить тебя, поговори с другими мудрецами - [Смотрящим наверх] в старой башне и [Хранителем прошлого] в библиотеке".
 
            "Тогда, ты должен знать, что Наэтвьирр опасен для всех вьяров. Если я не ссмог убедить тебя, поговори с другими мудрецами - Ien'tea'rr в старой башне и Hya'arhe'ysl'rr в библиотеке".
 
        ]], code [[pret();]]};
 
        {"[Цветокод]Нет", [[
 
            "Дело было многие тысячелетия назад. Тогда навьяры жили в огромных городах и строили могучие машины, способные выполнять за нас самые тяжелые и неприятные дела. Большинство из них тогда искали решение последней задачи - создать машину, которая смогла бы думать и собирать знания за них. Долгие годы искали они решение этой проблемы, пока наконец навьяры из первого города не нашли его. Однако нашлись среди навьяров те, кто понимал, что Наэтвьирр первым же делом уничтожит навьяров, которые окажутся совершенно не нужны ему. Вскоре они сумели убедить всех жителей города навсегда закрыть его от всех глаз и забыть напрочь его местоположение. Но были среди навьяров и те, кто хотел наступления новой эры. Эти навьяры спрятали в различных городах подсказки для будущих поколений, когда те пожелают найти древнюю машину и пробудить ее. Если я не ссмог убедить тебя, поговори с другими мудрецами - Ien'tea'rr в старой башне и Hya'arhe'ysl'rr в библиотеке".
 
        ]], code [[ 
 
            path("К башне(на восток)", venaedanotrr_center):enable();
 
            pret("К библиотеке(на запад)", venaedanotrr_center):enable();
 
            path("К башне(на восток)", ven_center):enable();
 
            path("К библиотеке(на запад)", ven_center):enable();
 
            pret();
 
        ]]};
 
	};
 
};
 
@@ -210,7 +212,7 @@ ven_chieftain = npc {
 
	dlg = 'ven_chieftain_dlg';
 
}
 

	
 
venaedanotrr_center = room {
 
ven_center = room {
 
	nam = "Венаэданотр, центр города";
 
	dsc = [[
 
		Центральная площадь навьярского города вымощена камнем. Во все стороны вокруг тянутся невысокие каменные строения. Вдали на востоке вы видите башню, возвышающуюся над остальными зданиями города. 
 
@@ -221,12 +223,12 @@ venaedanotrr_center = room {
 
	};
 
    way = {
 
        kh_vroom("В Левиафан", leviathan_airlock);
 
        kh_vroom("К башне(на восток)", "venaedanotrr_east"):disable();
 
        kh_vroom("К библиотеке(на запад)", "venaedanotrr_west"):disable();
 
        kh_vroom("К башне(на восток)", "ven_east"):disable();
 
        kh_vroom("К библиотеке(на запад)", "ven_west"):disable();
 
    };
 
}
 

	
 
venaedanotrr_west = room {
 
ven_west = room {
 
    var {
 
        visited = false;
 
    };
 
@@ -244,28 +246,28 @@ venaedanotrr_west = room {
 
        end;
 
    end;
 
    way = {
 
        kh_vroom("В центр", "venaedanotrr_center");
 
        kh_vroom("В библиотеку", "venaedanotrr_library");
 
        kh_vroom("В центр", "ven_center");
 
        kh_vroom("В библиотеку", "ven_library");
 
    };
 
};
 

	
 
venaedanotrr_library = room {
 
ven_library = room {
 
    nam = "Венаэданотр, библиотека";
 
    dsc = [[
 
        Внутри библиотека Венаэданотра представляет собой огромный зал со множеством колонн, удерживающих крышу. Между колоннами установлено множество шкафов, на полках которых покоятся бесчисленные металлические таблички, используемые навьярами для записи текстов.
 
    ]];
 
    obj = {
 
        'venaedanotrr_library_guards',
 
        'venaedanotrr_library_navjiars',
 
        'venaedanotrr_librarian'
 
        'ven_library_guards',
 
        'ven_library_navjiars',
 
        'ven_librarian'
 
    };
 
    way = {
 
        kh_vroom("Выйти", "venaedanotrr_west");
 
        kh_vroom("Выйти", "ven_west");
 
    };
 
};
 

	
 
venaedanotrr_library_guards = obj {
 
    nam = "venaedanotrr_library_guards";
 
ven_library_guards = obj {
 
    nam = "ven_library_guards";
 
    dsc = [[
 
        У входа в библиотеку стоят {два стражника}. Они с изумлением рассматривают вас, когда вы оказываетесь рядом. 
 
    ]];
 
@@ -274,8 +276,8 @@ venaedanotrr_library_guards = obj {
 
    ]];
 
};
 

	
 
venaedanotrr_library_navjiars = obj {
 
    nam = "venaedanotrr_library_navjiars";
 
ven_library_navjiars = obj {
 
    nam = "ven_library_navjiars";
 
    dsc = [[
 
        В зале находится множество {навьяров}. Кто-то сидит у шкафов и читает, другие ходят и оживленно что-то обсуждают. Третьи что-то ищут среди книг. Когда вы оказываетесь рядом, все взоры устремляются на вас - многие из жителей города никогда не видели людей и с интересом разглядывают. 
 
    ]];
 
@@ -284,15 +286,15 @@ venaedanotrr_library_navjiars = obj {
 
    ]];
 
};
 

	
 
venaedanotrr_librarian = npc {
 
    nam = "venaedanotrr_librarian";
 
ven_librarian = npc {
 
    nam = "ven_librarian";
 
    dsc = [[
 
        Ваше внимание привлекает {навьяр}, заботливо возвращающий таблички на свои места за нерадивыми посетителями. Он, кажется, полностью погружен в свое занятие. 
 
    ]];
 
    dlg = "venaedanotrr_librarian_dlg";
 
    dlg = "ven_librarian_dlg";
 
};
 

	
 
venaedanotrr_librarian_dlg = dlg {
 
ven_librarian_dlg = dlg {
 
    var {
 
        state = 0;
 
    };
 
@@ -344,7 +346,7 @@ venaedanotrr_librarian_dlg = dlg {
 
    };
 
};
 

	
 
venaedanotrr_east = room {
 
ven_east = room {
 
    var {
 
        state = 0;
 
    };
 
@@ -365,8 +367,8 @@ venaedanotrr_east = room {
 
        'ven_tower_guard'
 
    };
 
    way = {
 
        kh_vroom("В башню", "venaedanotrr_tower_l1");
 
        kh_vroom("В центр", "venaedanotrr_center");
 
        kh_vroom("В башню", "ven_tower_l1");
 
        kh_vroom("В центр", "ven_center");
 
    };
 
};
 

	
 
@@ -375,12 +377,12 @@ ven_tower_guard = npc {
 
    dsc = [[
 
        У ворот стоит одинокий {стражник}. Он внимательно наблюдает за вашими действиями. 
 
    ]];
 
    phr = {
 
    phrases = {
 
        "\"Ты проходи\"."
 
    };
 
};
 

	
 
venaedanotrr_tower_l1 = room {
 
ven_tower_l1 = room {
 
    var {
 
        state = 0;
 
    };
 
@@ -394,10 +396,10 @@ venaedanotrr_tower_l1 = room {
 
        'ven_statue_human'
 
    };
 
    way = {
 
        kh_vway("Выйти", "venaedanotrr_east");
 
        kh_vway("На второй этаж", function(s)
 
        kh_vroom("Выйти", "ven_east");
 
        kh_vroom("На второй этаж", function(s)
 
            if (s.state == 1) then
 
                return "venaedanotrr_tower_l2";
 
                return "ven_tower_l2";
 
            else
 
                pr("Дверь не открывается.");
 
                return false;
 
@@ -406,24 +408,58 @@ venaedanotrr_tower_l1 = room {
 
    };
 
};
 

	
 
venaedanotrr_tower_l2 = room {
 
ven_tower_l2 = room {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Венаэданотр, башня, второй этаж";
 
    dsc = [[
 
        Второй этаж башни представляет из себя зал примерно таких же размеров, что и первый. В центре зала вы видите пьедестал с двумя выемками.
 
        Второй этаж башни представляет из себя зал примерно таких же размеров, что и первый. 
 
    ]];
 
    obj = {
 
        kh_vway("В центре зала вы видите {пьедестал} с двумя выемками.", 'ven_l2_pedestal');
 
    };
 
    way = {
 
        kh_vway("На первый этаж", "venaedanotrr_tower_l1");
 
        kh_vway("На третий этаж", function(s)
 
        kh_vroom("На первый этаж", "ven_tower_l1");
 
        kh_vroom("На третий этаж", function(s)
 
            if (s.state == 1) then
 
                return "venaedanotrr_tower_l3";
 
                return "ven_tower_l3";
 
            else
 
                pr("Дверь не открывается.");
 
                return false;
 
            end;
 
        end);
 
        end );
 
    };
 
}
 
        
 
ven_tower_l3 = room {
 
    nam = "Венаэданотр, башня, третий этаж";
 
    dsc = [[
 
        Третий этаж ничем не отличается от первых двух - это большой пустой зал с двумя дверьми в противоположных его концах.
 
    ]];
 
    way = {
 
        kh_vroom("На второй этаж", "ven_tower_l2");
 
        kh_vroom("На четвертый этаж", function(s)
 
            if (s.state == 1) then
 
                return "ven_tower_l4";
 
            else
 
                pr("Дверь не открывается.");
 
                return false;
 
            end;
 
        end );
 
    };
 
}
 
        
 
ven_tower_l4 = room {
 
    nam = "Венаэданотр, башня, четвертый этаж";
 
    dsc = [[
 
        Зал на четвертом этаже несколько меньше остальных. В стенах зала проделано множество окон, 
 
    ]];
 
    obj = {
 
        'ven_wiseman'
 
    };
 
    way = {
 
        kh_vroom("На третий этаж", "ven_tower_l3");
 
    };
 
}
 
        
 
@@ -470,7 +506,7 @@ ven_statue_monster_look = room {
 
        'ven_statue_spear_rotate';
 
    };
 
    way = {
 
        vway("Отойти от статуи", "venaedanotrr_tower_l1");
 
        kh_vroom("Отойти от статуи", "ven_tower_l1");
 
    };
 
};
 

	
 
@@ -489,10 +525,127 @@ ven_statue_spear_rotate = obj {
 
    nam = "ven_statue_spear_rotate";
 
    dsc = "{Повернуть копье}";
 
    act = function(s)
 
        venaedanotrr_tower_l1.state = 1;
 
        ven_tower_l1.state = 1;
 
        s:disable();
 
        return [[
 
            Вы поворачиваете копье и дверь в дальнем конце зала открывается.
 
        ]];
 
    end;
 
}:disable();
 
\ No newline at end of file
 
}:disable();
 

	
 
ven_l2_pedestal = room {
 
    nam = "ven_l2_pedestal";
 
    dsc = "Прямоугольный пьедестал высотой около метра. На верхней его поверхности вы видите две выемки, рядом с которыми выгравированы изображения.";
 
    obj = {
 
        'ven_l2_human';
 
        'ven_l2_navjiarr';
 
    };
 
};
 

	
 
ven_l2_human = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = "ven_l2_human";
 
    dsc = [[
 
        Рядом с первой {выемкой} выгравировано изображение человека-рыбака с удочкой.
 
    ]];
 
    act = "Возможно, сюда нужно что-то положить? ";
 
    use = function(s, o)
 
        if (o == item_ven_coin) then
 
            s.state = 1;
 
            remove(item_ven_gem, pl);
 
            pr "Монета исчезает в глубине выемки.";
 
            if (ven_l2_navjiarr.state == 1) then
 
                ven_tower_l2.state = 1;            
 
                pr("Дверь а дальнем конце зала открывается. ");
 
            end;
 
            return false;
 
        else
 
            return "Это сюда не подходит.";
 
        end;
 
    end;
 
};
 

	
 
ven_l2_navjiarr = obj {
 
    var {
 
        state = 0;
 
    };
 
    nam = "ven_l2_navjiarr";
 
    dsc = [[
 
        рядом со второй {выемкой} выгравировано изображение навьяра-охотника. 
 
    ]];
 
    act = "Возможно, сюда нужно что-то положить? ";
 
    use = function(s, o)
 
        if (o == item_ven_gem) then
 
            s.state = 1;
 
            remove(item_ven_gem, pl);
 
            pr "Жемчужина исчезает в глубине выемки. ";
 
            if (ven_l2_human.state == 1) then
 
                ven_tower_l2.state = 1;            
 
                pr("Дверь а дальнем конце зала открывается. ");
 
            end;
 
            return false;
 
        else
 
            return "Это сюда не подходит. ";
 
        end;
 
    end;
 
};
 

	
 
ven_wiseman = npc {
 
    nam = "ven_wiseman";
 
    dsc = [[
 
        Перед одним из окон сидит старый {навьяр}. Левой рукой он опирается на посох. Его глаза внимательно наблюдают за вами. 
 
    ]];
 
    dlg = "ven_wiseman_dlg";
 
};
 

	
 
ven_wiseman_dlg = dlg {
 
    var {
 
        state = 0;
 
    };
 
    nam = "Hya'arhe'ysl'rr";
 
    entered = function(s)
 
        if (s.state == 0) then
 
            psub('first_meeting');
 
            return [[
 
                Навьяр медленно поднимается и его плавники начинают окрашиваться цветными полосами: "Зачем ты здесь, хевьяр?"
 
            ]];
 
        else
 
            psub('generic');
 
            return [[
 
                Навьяр медленно поднимается и его плавники начинают окрашиваться цветными полосами: "Зачем ты вернулся, хевьяр?"
 
            ]];
 
        end;
 
    end;
 
    phr = {
 
        {tag="first_meeting"};
 
        {"[Цветокод]Я ищу Лсэрианотр", [[
 
            "Так значит, ты слышал легенду?"
 
        ]], code [[ psub("legend"); ]]};
 
        {"[Цветокод]Я ищу Наэтвьирра", [[
 
            "Так значит, ты слышал легенду?"
 
        ]], code [[ psub("legend"); ]]};
 
        {"[Цветокод]Я ищу своего отца. Он отправился на поиски Лсэрианотра", [[
 
            "Так значит, ты идешь за ними. Ты уже слышал легенду?"
 
        ]], code [[ psub("legend"); ]]};
 
        {tag="generic"};
 
        {"[Цветокод]I'rr kee'nn", [[
 
            "Ты уходи"
 
        ]], code [[ back(); ]]};
 
        {tag="legend"};
 
        {"[Цветокод]Да", [[
 
            "Значит ты знаешь, что Наэтвьирр опасен и не должен пробудиться".
 
        ]], code [[ psub("need_to_find"); ]]};
 
        {"[Цветокод]Нет", [[
 
            "Тогда послушай. Этой легенде больше тысячи лет. В те времена навьяры жили в огромных городах и строили машины, помогающие им во всех областях. Однажды навьяры создали Наэтвьирра - машину, способную заменить им вождей. Но, к счастью, большинство навьяров поняли, что Наэтвьирр первым же делом уничтожит навьяров, не нужных ему. Опасаясь включения опасной машины, навьяры навсегда покинули город в надежде, что никто и никогда не найдет его".
 
        ]], code [[ psub("need_to_find"); ]]};
 
        {tag="need_to_find"}
 
        {"[Цветокод]Мне нужен ключ от храма", [[
 
            "Я дам тебе его в надежде, так же как дал его тем хевьярам. Надеюсь, ты примешь верное решение. Теперь уходи. Оставь меня в покое".
 
        ]], code [[
 
            take("item_ven_key_tower");
 
            back();
 
        ]]};
 
    };
 
};
 
\ No newline at end of file
main.lua
Show inline comments
 
@@ -56,6 +56,10 @@ global {
 
	nearest_cities_found = false;
 
	iraaphaanotrr_temple_found = false;
 
	dypatreanotrr_temple_found = false;
 
    venaedanotrr_temple_found = false;
 
    zayslanotrr_temple_found = false;
 
    deep_temple_found = false;
 
    lseryanotrr_found = false;
 
	
 
	rel_phaetlarr = 0;
 
	rel_walter = 0;
 
@@ -218,8 +222,8 @@ function init()
 
	move(submarine_leviathan, "atl_aqua_leviathan_dock");
 
    submarine_leviathan:enable();   
 
	   
 
	pl.where = "venaedanotrr_center";
 
    move(submarine_leviathan, "venaedanotrr_center");   
 
	pl.where = "ven_center";
 
    move(submarine_leviathan, "ven_center");   
 
	--put(item_suit, pl);
 
	
 
	-- pl.where = warehouse_32;
0 comments (0 inline, 0 general)