|
@@ -1113,6 +1113,9 @@ iraa_temple_main_2 = room {
|
|
|
kh_vroom("В зал Ответа", "iraa_temple_ahall");
|
|
|
kh_vroom("К главному входу", "iraa_temple_main_1");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_4"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_main_1 = room {
|
|
@@ -1165,12 +1168,39 @@ iraa_temple_ahall = room {
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_0 = room {
|
|
|
var {
|
|
|
state = false;
|
|
|
};
|
|
|
nam = "iraa_temple_room_0";
|
|
|
disp = "Храм Ираафаанотра, комната";
|
|
|
dsc = [[Небольшая, хорошо освещенная светящимися водорослями, комната. Ниши в стенах пустуют. ]];
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "iraa_temple_corridor_6");
|
|
|
kh_vroom("В скрытый проход", "iraa_temple_hidden_stairs");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_0"
|
|
|
};
|
|
|
open = function(s)
|
|
|
s.state = true;
|
|
|
path("В скрытый проход", s):enable();
|
|
|
if here() == s then
|
|
|
pr("Вы видите, как одна из стен раздвигается, открывая скрытый проход куда-то в глубь скалы. ");
|
|
|
else
|
|
|
pr("Вы слышите где-то поблизости скрежет каменных плит. ");
|
|
|
end;
|
|
|
end;
|
|
|
close = function(s)
|
|
|
if s.state then
|
|
|
s.state = false;
|
|
|
path("В скрытый проход", s):disable();
|
|
|
if here() == s then
|
|
|
pr("Вы видите, как одна из стен cдвигается, вновь закрывая потайной проход. ");
|
|
|
else
|
|
|
pr("Вы слышите где-то поблизости скрежет каменных плит. ");
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_1 = room {
|
|
@@ -1180,6 +1210,9 @@ iraa_temple_room_1 = room {
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "iraa_temple_corridor_1");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_1"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_2 = room {
|
|
@@ -1189,6 +1222,9 @@ iraa_temple_room_2 = room {
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "iraa_temple_corridor_5");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_2"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_3 = room {
|
|
@@ -1198,6 +1234,9 @@ iraa_temple_room_3 = room {
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "iraa_temple_corridor_2");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_3"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_5 = room {
|
|
@@ -1207,6 +1246,9 @@ iraa_temple_room_5 = room {
|
|
|
way = {
|
|
|
kh_vroom("В коридор", "iraa_temple_corridor_3");
|
|
|
};
|
|
|
obj = {
|
|
|
"iraa_temple_lever_5"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_room_6 = room {
|
|
@@ -1238,8 +1280,10 @@ iraa_temple_switch = obj {
|
|
|
end;
|
|
|
if not state[1] and not state[2] and state[3] and not state[4] and state[5] and not state[6] then
|
|
|
-- A valid state
|
|
|
iraa_temple_room_0:open();
|
|
|
else
|
|
|
-- An invalid state
|
|
|
iraa_temple_room_0:close();
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
@@ -1247,29 +1291,188 @@ iraa_temple_switch = obj {
|
|
|
iraa_temple_lever_0 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой фиолетового цвета]];
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(1);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_lever_1 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой синего цвета]];
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(2);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_lever_2 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой зеленого цвета]];
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(3);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_lever_3 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой желтого цвета]];
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(4);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_lever_4 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Под пьедесталом расположен едва заметный {рычаг} с отметкой оранжевого цвета]];
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(5);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_lever_5 = obj {
|
|
|
nam = "iraa_temple_lever_0";
|
|
|
dsc = [[Рядом со входом расположен едва заметный {рычаг} с отметкой красного цвета]];
|
|
|
};
|
|
\ No newline at end of file
|
|
|
act = function(s)
|
|
|
iraa_temple_switch(6);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_hidden_stairs = darkroom {
|
|
|
nam = "iraa_temple_hidden_stairs";
|
|
|
dsc_dark = [[]];
|
|
|
dsc_halflit = [[]];
|
|
|
way = {
|
|
|
kh_vroom("Наверх", "iraa_temple_room_0", 1);
|
|
|
kh_vroom("Вниз", "iraa_temple_room_0", 1);
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_button_ctr = function(nam, index)
|
|
|
return obj {
|
|
|
nam = nam;
|
|
|
dsc = function(s)
|
|
|
local im = "images/dyp_bg.png";
|
|
|
for i = 1, #iraa_temple_hidden_hall.buttons[index] do
|
|
|
im = im .. ";images/dyp_" .. tostring(iraa_temple_hidden_hall.buttons[index][i]) .. ".png";
|
|
|
end;
|
|
|
if (iraa_temple_hidden_hall.pressed_buttons[index]) then
|
|
|
return "{Рычаг с символами " .. img(im) .."} включен.^";
|
|
|
else
|
|
|
return "{Рычаг с символами " .. img(im) .."} выключен.^";
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
iraa_temple_hidden_hall:check(index);
|
|
|
return [[
|
|
|
Вы переключаете рычаг и узор на полу комнаты меняется
|
|
|
]];
|
|
|
end;
|
|
|
};
|
|
|
end;
|
|
|
|
|
|
iraa_temple_hidden_hall = room {
|
|
|
var {
|
|
|
active_parts = {false, false, false, false, false, false, false, false, false, false, false, false};
|
|
|
pressed_buttons = {false, false, false, false, false, false, false, false};
|
|
|
solved = false;
|
|
|
};
|
|
|
buttons = {
|
|
|
{1, 5, 9, 11, 12};
|
|
|
{1, 2, 3, 4};
|
|
|
{4, 8, 10, 11, 12};
|
|
|
{2, 4, 5, 6};
|
|
|
{1, 5, 7, 9, 10, 11, 12};
|
|
|
{2, 6, 9, 10, 12};
|
|
|
{1, 3, 7, 8};
|
|
|
{3, 7, 9, 10, 11};
|
|
|
};
|
|
|
pic = function(s)
|
|
|
local pic = 'images/dyp_bg.png';
|
|
|
local cnt = 0;
|
|
|
for i = 1, #s.active_parts do
|
|
|
if (s.active_parts[i]) then
|
|
|
cnt = cnt + 1;
|
|
|
pic = pic .. ";images/dyp_" .. tostring(i) .. ".png";
|
|
|
end;
|
|
|
end;
|
|
|
if (cnt > 0) then
|
|
|
return pic;
|
|
|
else
|
|
|
return nil;
|
|
|
end;
|
|
|
end;
|
|
|
nam = "Храм Ираафаанотра, потайной зал";
|
|
|
dsc = [[Большой круглый плохо освещенный зал. В центре зала расположено восемь рычагов, рядом с которыми нанесены какие-то символы. ]];
|
|
|
obj = {
|
|
|
iraa_temple_button_ctr("iraa_temple_b1", 1);
|
|
|
iraa_temple_button_ctr("iraa_temple_b2", 2);
|
|
|
iraa_temple_button_ctr("iraa_temple_b3", 3);
|
|
|
iraa_temple_button_ctr("iraa_temple_b4", 4);
|
|
|
iraa_temple_button_ctr("iraa_temple_b5", 5);
|
|
|
iraa_temple_button_ctr("iraa_temple_b6", 6);
|
|
|
iraa_temple_button_ctr("iraa_temple_b7", 7);
|
|
|
iraa_temple_button_ctr("iraa_temple_b8", 8);
|
|
|
};
|
|
|
way = {
|
|
|
kh_vroom("Наверх", "iraa_temple_hidden_stairs"):disable();
|
|
|
kh_vroom("Вниз", "iraa_temple_hidden_storage"):disable();
|
|
|
};
|
|
|
check = function(s, index)
|
|
|
s.pressed_buttons[index] = not s.pressed_buttons[index];
|
|
|
|
|
|
for i = 1, #s.active_parts do
|
|
|
s.active_parts[i] = false;
|
|
|
end;
|
|
|
|
|
|
for i = 1, #s.pressed_buttons do
|
|
|
if (s.pressed_buttons[i]) then
|
|
|
for j = 1, #s.buttons[i] do
|
|
|
s.active_parts[s.buttons[i][j]] = not s.active_parts[s.buttons[i][j]];
|
|
|
end;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
s.solved = true;
|
|
|
for i = 1, #s.active_parts do
|
|
|
if (not s.active_parts[i]) then
|
|
|
s.solved = false;
|
|
|
break;
|
|
|
end;
|
|
|
end;
|
|
|
|
|
|
if (s.solved) then
|
|
|
path("Наверх"):enable();
|
|
|
path("Вниз"):enable();
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
iraa_temple_hidden_storage = room {
|
|
|
nam = "iraa_temple_hidden_storage";
|
|
|
disp = [[Храм Ираафаанотра, хранилище]];
|
|
|
dsc = [[Стены этой небольшой комнаты излучают слабый свет. ]];
|
|
|
obj = {
|
|
|
"iraa_temple_hidden_pedestal"
|
|
|
};
|
|
|
};
|
|
|
|
|
|
iraa_temple_hidden_pedestal = obj {
|
|
|
var {
|
|
|
state = 0;
|
|
|
};
|
|
|
nam = "iraa_temple_hidden_pedestal";
|
|
|
dsc = function(s)
|
|
|
if s.state == 0:
|
|
|
return [[В центре установлен металлический пьедестал, на котором лежит металлическая {табличка}. ]];
|
|
|
else
|
|
|
return [[В центре установлен металлический {пьедестал}. ]];
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
if s.state == 0:
|
|
|
item_lse_map.state = item_lse_map.state + 1;
|
|
|
return [[Вы забираете металлическую табличку себе. ]];
|
|
|
else
|
|
|
return [[Вьедестал пуст. ]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|