jacques/rooms.lua

151 lines
16 KiB
Lua
Raw Normal View History

main = room {
nam = "Около 300 лет назад. Континент Рубинов.",
dsc = [[
Крепко сжимая верный меч, Джек прокрался по траве и подбежал к стене замка. Оглянувшись, он снял с плеча крюк, ещё раз проверил, выдержит ли узел канат на нём, и бросил крюк наверх. Тот полетел на крышу, унося за собой верёвку. Раздалось громкое "клац" и Джек понял, что свободный конец каната качается примерно в метре над его головой.^^
Чертыхнувшись, он разбежался, прыгнул как можно выше, схватился за верёвку и больно ударился о каменную стену. Качаясь на конце каната, он начал забираться.^^
Лимзогнок сидел в бархатном кресле спиной от окна. Он смотрел в огромный стеклянный шар, следя за каким-нибудь очередным несчастным.^^
Джек бесшумно раскрыл окно, встал на подоконник и прыгнул, занеся меч над головой...^^]]..txtem('Клетка Силы!')..
[[^^
Казалось, волшебник даже не двинул пальцем. Джек обнаружил себя в ровной тесной клетке с белыми прутьями. Он попытался сломать прутья мечом - но на белых прутьях, словно созданных из лунного света, не было видно даже царапин.^^
Оторвавшись от просмотра, Лимзогнок встал из кресла и посмотрел на Джека. Джек почувствовал острую смесь разочарования, злобы и отчаяния. Он понял, что все усилия были напрасны.
"Какая ирония. Ровно на сотом месяце эксперимента на меня было совершено первое покушение." ^^
Джек смотрел на колдуна так, словно хотел его прожечь взглядом.
"Кстати о колдунах, " - гад явно читал мысли - "что бы на моём месте сделал какой-нибудь колдун? Хмм... наверное, он бы сделал тебя своим гладиатором. Представь: ты и озеро кислоты - или нет, озеро лавы! Да, и ещё хищные кондоры, и акулы, и оборотни. И я буду делать ставки, выживешь ли ты или нет. Да, этого хотят все колдуны. Они говорят,что это весело. Весело? Быть может, но это тупо. Акулы в лаве! Что может быть хуже?"^^
Волшебник ходил взад и вперёд по комнате, хитро поглядывая на Джека.
"Но с другой стороны, я не могу тебя отпустить. Ты сам пришёл ко мне, в конце концов. Наверное, это был подарок судьбы. Хорош ли он? Посмотрим..."
В ту же секунджу Джек выронил меч и скорчился на полу клетки от боли, разрывающей его мозг. Перед ним ничего не было: ни колду...волшебника, ни комнаты, ни замка - только боль. И единственным его желанием было прекратить её.
"Как хочешь."
Боль исчезла, и Джек снова смог видеть.
"Вообще-то, я разочарован. Это было всего лишь слабое воздействие, а ты уже показал себя несостоятельным. Похоже, что ты не умнее обычных людей - конечно, это довольно много для воина, но явно недостаточно для того, кто хотел убить меня в моей же спальне. Нет, так дело не пойдёт. Ты знаешь, я хочу тебе помочь. Да, я помогу тебе. Я натренирую твой мозг и сделаю тебя умнее. Для этого мы немного поиграем...]]..txtem('Сон.'),
obj = {vway('дальше', '{Начать игру}.', 'three_doors') },
}
three_doors = room {
nam = 'Светлая комната',
enter = [[Джек проснулся в светлой комнате с каменными стенами. В его голове раздался голос:^^
"Сообщаю тебе, что первая загадка - это детская забава. Всего одна из табличек на дверях правдива, за двумя дверями тебя ждёт смерть. Постарайся не проиграть, пожалуйста. Мне будет обидно закончить, не успев ничего начать."]],
dsc = [[Светлая пустая комната с каменными стенами. Откуда идёт свет, вам непонятно.]],
obj = {'door1_obj','door2_obj','door3_obj'},
way = {vroom('Дверь 1', 'act1'),'door2_room','door3_room'}
}
door2_room = room{
nam = "Дверь 2",
dsc = [[Как только Джек открывает дверь, на него набрасывается разъярённый тигр и разрывает его в клочья.^^]]..txtc(txtb('КОНЕЦ ИГРЫ')),
obj = {vway('повтор','{Повторить?}','three_doors')},
}
door3_room = room{
nam = "Дверь 3",
dsc = [[Как только Джек открывает дверь, его поражает сноп серебряных молний.^^]]..txtc(txtb('КОНЕЦ ИГРЫ')),
obj = {vway('повтор','{Повторить?}','three_doors')},
}
act1 = room{
nam = 'Часть 1',
enter = function() pl.Points = pl.Points+10 end,
dsc = txtr(txtem([[День 3044.^^]]))..[[Сегодня на меня было совершено покушение.^^Читатель моего дневника мог подзабыть, но за всё время проведения эксперимента я столкнулся всего лишь с тремя помехами. ^^
Первой помехой был король Песчаного королевства, который внезапно вышел из-под моего контроля и чуть не испортил мои планы в самом начале. Его королевство дорого поплатилось за этот акт непослушания, но я в конце концов простил их и даже сделал одним из Трёх. Между прочим, на его троне до сих пор сидит тот же король..хотя, это скорее не из-за моей доброты, а просто потому что он такой удобный дурак. Ладно,я отвлёкся.^^
Через пять лет в Северном королевстве случился народный бунт. Люди выступали против... фактически против меня. Этот бунт заставил меня серьёзно доработать свою систему. Возможно, я должен сказать бунтовщикам спасибо - именно тогда я решил вовлечь все подвластные мне государства континента в войну, что позволило мне закрутить гайки в каждом из них. Впрочем, эти люди уже не услышат моих благодарностей. По-моему, это к лучшему.^^
И вот - теперь на меня совершено покушение. По сравнению с первыми двумя попытками мне помешать эта выглядит какой-то мелкой. Я думал, уж не стоит ли за этим идиотом кто-нибудь поумнее - но в его голове нет ничего. Хмм... Новое поколение строго проходит обряд дифференциации, а старое работает на дело войны и мира не покладая рук. Но так как появлися один человек, которого я не заметил, то может появиться и второй, и больше. ^^
Если совсем углубляться в паранойю, то мог появиться волшебник, равный мне по силе..который стёр все следы своего воздействия из мозгов этого олуха.^^
Мда. Очень, очень маловероятно. В любом случае, мне стоит быть осторожнее. Возможно, в ближайшее время я уйду в один из смежных планов - а лучше, далёких планов или миров. Так я действительно буду наблюдателем, не вмешиваясь и не будучи внутри наблюдаемого континента. Следует подумать над экстренным свитком...в какие-нибудь богами забытые королевства.]],
obj = {vway('дальше','{Продолжить игру}','falling')},
}
falling = room{
steps = 0,
Times = 0;--количество попыток
nam = "В воздухе",
enter = function()
inv():zap();
falling.steps = 0;
falling.Times = falling.Times+1;
inv():add('rope');
inv():add('pot');
inv():add('waterskin');
inv():add('knife');
inv():add('axe');
inv():add('black_powder');
inv():add('stick');
inv():add('lock');
inv():add('boat');
inv():add('cape');
inv():add('plantain');
lifeon('falling');
cape.wet = false;
rope.wet = false;
return [[Как только Джек открыл дверь, свет в комнате погас.Знакомый голос сказал:^^
"Да, ты выбрал верно. Продолжаем игру. Второй раунд! ]]..txtem('Телепорт."');
end,
life = function()
falling.steps=falling.steps+1;
if (falling.steps == 0) then return 'Над вами - только звёзды. Они быстро удаляются.';
elseif (falling.steps==1) then return 'Вы различаете крыши домов внизу.';
elseif (falling.steps == 2) then return 'Вы пролетаете мимо орла.';
elseif (falling.steps == 3) then return 'Вы видите транспаранты и плакаты на стенах города: "Песчаное королевство - наш друг и помощник в борьбе против эльфийской дряни!", "Поднимем знамя Войны за дело Мира!", "Сагиттир - наместник Звёздных Королей!"';
elseif (falling.steps == 4) then return 'Вы можете увидеть людей, идущих по улицам.';
elseif (falling.steps > 4) then
ACTION_TEXT = nil;
if have('chute') then return goto('landing'),true;
else return goto('end_fall'),true;
end;
end;
end,
dsc = "Вы находитесь в свободном полёте. На вас быстро падает земля...или вы на неё падаете, что для вас одно и то же. Похоже, что внизу лежит какой-то большой город. Вы почти не чувствуете веса рюкзака на спине."
}
end_fall = room{
nam = 'Земля',
enter = function() lifeoff('falling'); end,
dsc = function() return txtem("Полёт Пера.")..[[^^В самый последний момент, когда до земли остаётся несколько метров, Джек останавливает полёт и начинает плавно спускаться.Голос в голове Джека возмущается: ^^"]]..comment_things()..'"' end,
obj = {vway('повтор','{Повторить?}','falling')},
}
landing = room{
nam = 'Мягкая посадка',
enter = function()
if have('chute') then return 'Вы совмещаете рисунки на трёх предметах и получаете рисунок: человек, из плеч которого выходят 4 длинных линии и заканчиваются в полукруге. В ту же секунду вы чувствуете, как из ваших плеч вырастают волшебные верёвки. Вы поднимаете глаза и видите над собой круглый купол. Вы медленно спускаетесь на землю.' end;
end,
dsc = [[Как только вы приземляетесь, просыпается знакомый голос. Вы не знаете, откуда он идёт; кажется, что отовсюду сразу.^^-]]..comment_time()..[[^^
Ладно, я слишком многословен. Продолжаем!]]..txtem('Сон.'),
obj = {vway('далее','{Перейти к следующей загадке}','village')},
}
square = room{
nam = 'Площадь им. Звёздных королей',
enter = function(from, to)
if (from == 'landing') then return [[
- "Не буду тянуть кота за хвост, твоя задача проста. Ты находишься в Звёздных Лесах, город Руйцикон. Твоя задача - найти Эндрю Октанта. Хотя бы просто выяснить, где он может быть. Действуй.]]
end
end,
--http://venividi.ru/files/img/4224/4.jpg
dsc = [[Джек стоит на вымощенной брусчаткой площади. Площадь имеет форму треугольника, из углов которого выходит по улице. "Стороны" этого треугольника образованы очень плотно стоящими двухэтажными деревянными домиками, расписанными в разные цвета.^^
Небо закрыто тёмными облаками, в которых не видно солнца.]],
obj = {'fountain'},
way = {'chaos_st','ink_st','plain_st'}
}
chaos_st = room{
nam = "Улица Хаоса",
dsc = ""
}
ink_st = room{
nam = "Улица Чернил",
_visited = false,
enter = function()
if (visited) then return '' end
return 'Джек смотрит на облетевшие деревья по краям улицы. Редкий сильный ветер гоняет одинокие жёлтые листья. "А ведь уже зима" - грустнеет Джек.';
end,
dsc = 'Джек входит в узкую короткую улочку. На одном из домов по левую руку висит табличка: "Улица Чернил, дом 3".'
}
plain_st = room{
nam = "Плоская Улица",
dsc = 'Под ноги Джеку попадается ржавая табличка: "Плоская Улица, дом 6".'
}