|
@@ -326,12 +326,9 @@ dyp_library_floor2 = room {
|
|
|
};
|
|
|
|
|
|
dyp_librarian = npc {
|
|
|
var {
|
|
|
state = 0;
|
|
|
};
|
|
|
nam = "dyp_librarian";
|
|
|
dsc = function(s)
|
|
|
if s.state == 0 then
|
|
|
if dyp_librarian_dlg.state == 0 then
|
|
|
return [[Перед вами на полу сидит {навьяр}. Вокруг него разложены какие-то записи, которые он рассматривает, время от времени перекладывая с места на место. ]];
|
|
|
else
|
|
|
return [[Перед вами на полу сидит {Эйлехиарр}. Вокруг него разложены какие-то записи, которые он рассматривает, время от времени перекладывая с места на место. ]];
|
|
@@ -503,12 +500,29 @@ dyp_chief_dlg = dlg {
|
|
|
end;
|
|
|
if (dyp_quest_state == 1 or dyp_quest_state == 2) and have(item_electric_lamp, pl) and (item_electric_lamp.state == 0 or item_electric_lamp.state == 2) then
|
|
|
pon("quest1");
|
|
|
else
|
|
|
poff("quest1");
|
|
|
end;
|
|
|
if dyp_quest_state == 2 and have(item_shark_tooth, pl) then
|
|
|
pon("quest2");
|
|
|
if dyp_quest_state == 2 then
|
|
|
if have(item_shark_tooth, pl) then
|
|
|
pon("quest2");
|
|
|
poff("quest1_repeat");
|
|
|
else
|
|
|
pon("quest1_repeat");
|
|
|
poff("quest2");
|
|
|
end;
|
|
|
else
|
|
|
poff("quest2");
|
|
|
end;
|
|
|
if dyp_stones_known and dyp_quest_state == 0 then
|
|
|
if dyp_quest_state >= 3 and dyp_quest_state < 7 then
|
|
|
pon("quest2_repeat");
|
|
|
else
|
|
|
poff("quest2_repeat");
|
|
|
end;
|
|
|
if dyp_stones_known and (dyp_quest_state == 0 or dyp_quest_state == 1) then
|
|
|
pon("quest");
|
|
|
else
|
|
|
poff('quest');
|
|
|
end;
|
|
|
poff("quest3");
|
|
|
if have(dyp_item_star_map_copy) or have(dyp_item_star_map) and not dyp_map then
|
|
@@ -528,6 +542,7 @@ dyp_chief_dlg = dlg {
|
|
|
{tag="lseryanotrr", false, "[Кодировщик] Я ищу карту пути в Лсэрианотр.", [[Вождь отвечает: "Не мое дело следить за этим. Ты спроси в храме или в библиотеке". ]]};
|
|
|
{tag="quest", false, "[Кодировщик] Мне нужен камень из твоего жезла. Что я могу предложить в обмен на него?", [[Глаза вождя загораются, он ухмыляется. По плавникам быстро, словно в нетерпении бегут цветные полосы: "Принеси мне три вещи, что я попрошу и получишь жезл вместе с камнем". ]], code [[psub("agree_quest");]]};
|
|
|
{tag="quest1", false, "[Отдать светильник] [Кодировщик] Вот то, что ты просил. Что тебе еще нужно?", function(s)
|
|
|
poff("quest", "quest1_repeat");
|
|
|
if dyp_quest_state == 1 then
|
|
|
if item_electric_lamp.state == 0 then
|
|
|
dyp_quest_lamp_failed = true;
|
|
@@ -543,6 +558,13 @@ dyp_chief_dlg = dlg {
|
|
|
return [[Вождь кладет светильник на стол рядом с зубом и говорит: "Я хочу карту небесных огней из Ираафаанотра. Принеси ее и забирай этот жезл вместе с камнем". ]];
|
|
|
end;
|
|
|
end};
|
|
|
{tag="quest1_repeat", false, "[Кодировщик] Что ты хочешь, чтобы я принес тебе?", function(s)
|
|
|
if have(item_electric_lamp, pl) then
|
|
|
return [[Вождь отвечает: "Принеси мне светяющуюся капсулу с Атлантиды. И смотри, чтобы она не погасла как предыдущая". ]];
|
|
|
else
|
|
|
return [[Вождь отвечает: "Принеси мне зуб акулы, что живет у храма Ираафаанотра". ]];
|
|
|
end;
|
|
|
end};
|
|
|
{tag="quest2", false, "[Отдать зуб акулы] [Кодировщик] Вот то, что ты просил. Что тебе еще нужно?", function(s)
|
|
|
remove("item_shark_tooth", pl);
|
|
|
if dyp_quest_lamp_failed then
|
|
@@ -555,7 +577,9 @@ dyp_chief_dlg = dlg {
|
|
|
return [[Вождь кладет зуб на стол рядом со светильником и говорит: "Я хочу карту небесных огней из Ираафаанотра. Принеси ее и забирай этот жезл вместе с камнем". ]];
|
|
|
end;
|
|
|
end};
|
|
|
{tag="quest2_repeat", false, "[Кодировщик] Что ты хочешь, чтобы я принес тебе?", [[Вождь отвечает: "Принеси мне карту небесных огней из Ираафаанотра. Они могут быть против. Уговори их". ]]};
|
|
|
{tag="quest3", false, function(s)
|
|
|
poff("quest1_repeat", "quest2_repeat");
|
|
|
if have(dyp_item_star_map_copy) then
|
|
|
return "[Отдать копию карты небесных огней] Вот то, что ты просил. Я могу забрать камень?"
|
|
|
else
|