17rooms/room11.lua

1049 lines
62 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

room {
nam = "room11_kabinet";
title = "Кабинет";
dsc = "К востоку гостиная. В кабинете есть стол, стул, шкаф. Прямо за столом на стене висит чей-то портрет. Здесь есть окно.";
before_Enter = function()
DaemonStart('kabinet_fenestro');
return false
end;
before_Think = function(s)
if s:once(mp.event) then
p 'Ты решила подумать, но тебе, по обыкновению, ничего толкового в голову не приходит.';
else
local msg = {
"Ты подумала, осмотрела комнату. Можно попробовать поговорить с кем-нибудь.";
"Может быть посидеть на стуле? Отдохнуть.";
"Можно на стенах узоры какие-нибудь посмотреть.";
"Ты подумала о смысле бытия, но додумать не вышло. Это было сложно, но ты попыталась.";
"Интересно, если есть предшественники, значит есть и шественники?";
"Ты озарила взглядом своим сие помещение и обнаружила, что в зеркале видишь саму себя! Может попробовать поговорить с самой собой? Только о чем? Нужно придумать...";
"О! Тебе хочется кушать яблоки!";
"Интересно, а здесь есть яблоки? Нужно где-нибудь поискать...";
};
p(msg[rnd(#msg)]);
end;
end;
e_to = function()
DaemonStop('kabinet_fenestro')
walkin 'room12_gostinnaya';
end;
}:with{
obj {
-"стол";
nam = 'kabinet_tablo';
description = 'На столе есть печатная машинка, компьютер и небольшая стопка бумаг. Выдвижных ящичков у стола нет.';
before_Take = 'Стол, несмотря на свой внешний обманчивый вид, очень тяжелый.';
before_Attack = 'Можно, конечно, ударить по столу, но это будет достаточно громко. А шуметь как-то не хочется.';
before_Listen = 'Это конечно интересное занятие, но может быть стоит заняться чем-то другим?';
before_Kiss = 'Да, это именно то, что сейчас нужно! На самом деле нет. Что за мысли?';
before_Eat = 'Попытка прогрызть стол прошла неудачно. Не вкусно.';
before_Open = 'Тут нечего открывать.';
before_Taste = 'Что за мысли в голове?';
before_Enter = 'Пожалуй, не стоит.';
}:with{
obj {
-"машинка|печатная машинка|пишущая машинка";
nam = 'kabinet_tajpilo';
description = 'То ли немецкий "Robotron", то ли "Хансен Райтинг Белл"...Сложно определить модель.';
before_Take = 'Тебе не нужна пишущая машинка.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Оно, небось, дорого стоит. И вообще, зачем повреждать это устройство?';
else
p 'Слишком дорогая вещь для подобных деяний. И вообще, скорее всего ты себе руки переломаешь.';
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Тишина...';
else
local msg = {
"И снова тишина!";
"Звуки тишины.";
"Тишина...";
};
p(msg[rnd(#msg)]);
end;
end;
before_Kiss = 'Оно пыльное!';
before_Eat = 'Ага, прекрасно! Съесть машинку. Итак, с чего начнем? Клавиши?';
before_Open = 'А что, собственно, открывать?';
before_Push = 'Куда и зачем? Можно, конечно, понажимать на кнопочки, но опять же, зачем?';
before_Taste = function(s)
if s:once(mp.event) then
p 'Ты сделала вид, что таких мыслей в голове не было.';
else
p 'Ты СДЕЛАЛА вид, что таких мыслей в голове не было.';
end;
end;
before_Enter = 'Зачем же?';
}:attr 'scenery';
obj {
-"компьютер|ЭВМ";
nam = 'kabinet_komputilo';
description = 'Ты не разбираешься в компьютерах, но кажется, что это либо "Правец" либо "Роботрон"...';
before_Take = function(s)
if s:once(mp.event) then
p 'И что ты с ним будешь делать?';
else
p 'Нужен ли тебе этот компьютер? Ты решила, что пока что в нем нет необходимости.';
end;
end;
before_Attack = 'Скорее всего ты сломаешь себе руки или раскрошишь окружение, чем этот компьютер поцарапается.';
before_Listen = 'Компьютер выключен.';
before_Kiss = function(s)
if s:once(mp.event) then
p 'Нет!';
else
local msg = {
"Нет!";
"Нет же!";
"Игрок, тебе недостаточно ясно, что ты этого делать не будешь?";
"Странные нынче игроки.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Eat = 'Тебе не хочется что либо есть. Еды тут нет. Может быть на кухне?';
before_Open = function(s)
if s:once(mp.event) then
p 'Как?';
else
p 'Ты не представляешь, как это можно сделать.';
end;
end;
before_Push = 'Нет, нет. Пусть лежит на своём месте.';
before_SwitchOn = 'Зачем тебе его включать?';
before_SwitchOff = 'Он и так выключен.';
before_Taste = function(s)
if s:once(mp.event) then
p 'Это ещё зачем?';
else
local msg = {
"Какие-то странные у тебя мысли.";
"Ты не будешь этого делать.";
"Зачем тебе это?";
"Так делать нехорошо.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Enter = 'Это не нужно.';
}:attr 'scenery';
obj {
-"бумаги/жр, мн|стопка бумаг";
nam = 'kabinet_paperoj';
description = function(s)
if s:once(mp.event) then
p 'Стопка каких-то бумаг. Можно было бы подумать, что это какие-то документы, но нет - чистые листы бумаги.';
else
p 'Стопка чистых листов бумаги.';
end;
end;
before_Take = function(s)
if s:once(mp.event) then
p 'Пусть здесь все лежит на своём месте.';
else
p 'Тебе не нужны эти бумаги. Пусть лежат на своем месте.';
end;
end;
before_Attack = function(s)
local msg = {
"Порвать бумагу? Но зачем?";
"Ты вспомнила, что твое детство уже окончилось.";
"Не стоит.";
};
p(msg[rnd(#msg)]);
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Бумажная тишина...';
else
p 'Сначала бумажная тишина, а теперь вообще ничего не слышно. Вот же ж...';
end;
end;
before_Kiss = function(s)
if s:once(mp.event) then
p 'Целовать пыльную бумагу. Откуда такие мысли?';
else
p 'Ты не хочешь целовать бумагу.';
end;
end;
before_Eat = function(s)
if s:once(mp.event) then
p 'Вряд ли эта бумага вкусная.';
else
local msg = {
"Бумага вряд ли съедобна.";
"И по внешнему виду бумаги ясно, что она не вкусная!";
"Ты не хочешь есть бумагу.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Open = function(s)
if s:once(mp.event) then
p 'Но бумагу невозможно открыть!';
else
p 'Бумагу открыть нельзя!';
end;
end;
before_Push = 'Ну столкнешь ты стопку этих бумаг со стола и что дальше?';
before_Taste = function(s)
if s:once(mp.event) then
p 'Чего?';
else
p 'Ты решила отогнать такие мысли из головы. Нехорошо это.';
end;
end;
before_Enter = 'И помять их, да?!';
}:attr 'scenery';
obj {
-"ножки стола|ножка стола";
nam = 'kabinet_tablopiedo';
description = function(s)
if s:once(mp.event) then
p 'Ножка стола, изготовленная из дерева.';
else
p 'Деревянная ножка стола.';
end;
end;
before_Take = 'Ты решила не вандальничать.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Ты стукнула ногой о ножку стола, но...ничего не произошло.';
else
p 'Ты ещё раз стукнула ногой о ножку стола. И снова ничего не произошло.';
end;
end;
before_Listen = 'От ножек стола никаких звуков. Абсолютно.';
before_Eat = 'Тебе не хочется есть дерево.';
before_Open = 'Открыть или вскрыть ножки стола не представляется возможным.';
before_Push = 'Ты решаешь не устраивать здесь переворот в виде перестановки мебели.';
before_Taste = function(s)
if s:once(mp.event) then
p 'Ну уж нет.';
else
local msg = {
"Ты в своем уме?";
"Так делать не стоит.";
"Ты решила отогнать такие мысли из головы.";
"Это не есть хорошо.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Kiss = function(s)
if s:once(mp.event) then
p 'Нет!';
else
local msg = {
"Игрок, так делать не стоит.";
"Ты не хочешь это делать.";
"Опять мысли всякие в голову лезут! Это все интернеты эти. Правильно бабка говорила, меньше тыкаться надо.";
"Ты не будешь это делать.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Talk = 'Ты решила поговорить с ножкой от стола, но беседа даже не началась - ножки не особо разговорчивые.';
before_Ask = 'Ножки стола не могут говорить. Они, как и вся находящаяся в этом кабинете мебель, могут только слушать. Можно попробовать поговорить с ними о смысле жизни, например.';
before_Enter = function(s)
if s:once(mp.event) then
p 'Ты не в той Вселенной находишься.';
else
p 'Это невозможно.';
end;
end;
}:attr 'scenery';
}:attr 'scenery';
obj {
-"стул";
nam = 'kabinet_segho';
description = 'Деревянный стул.';
before_Take = 'Тебе не нужен стул.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Ударить стул? Как-то не хочется.';
else
p 'Тебе не хочется производить операцию по избиению стула.';
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Кажется ты слышишь звуки дерева!';
else
p 'Звуки дерева прекратились...';
end;
end;
before_Kiss = function(s)
if s:once(mp.event) then
p 'Ты предлагаешь оставить подобные фантазии у себя в голове.';
else
p 'Нет, твоё предложение оставить подобные фантазии у себя в голове все ещё в силе.';
end;
end;
before_Eat = 'Съесть деревянный стул...Пожалуй нет.';
before_Open = 'Стул невозможно открыть или закрыть.';
before_Push = 'Куда и зачем?';
before_Taste = function(s)
if s:once(mp.event) then
p 'А вот этого не надо!';
else
p 'Тебе же отличная мысль в голову пришла, что не надо это делать. Ты не хочешь заниматься этим.';
end;
end;
before_Enter = function(s)
if s:once(mp.event) then
enable('kabinet_radio');
return false
else
return false
end;
end;
}:attr 'scenery, supporter, enterable';
obj {
-"ножки стула|ножка стула";
nam = 'kabinet_seghopiedo';
description = function(s)
if s:once(mp.event) then
p 'Ножки стула сделаны из дерева.';
else
p 'Деревянные ножки стула.';
end;
end;
before_Take = 'Тебе не нужен стул.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Ты стукнула ногой о ножку стула. Ничего не произошло.';
else
local msg = {
"Ты стукнула ногой по стулу. Ничего не произошло.";
"Ты чуть сильнее пнула ногой по стулу, но ничего не произошло.";
"Ты ударила ногой о ножку стула, но тот стоял на своём, то есть на своих ножках.";
};
p(msg[rnd(#msg)]);
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Тишина. Слышно только твое сердце.';
else
p 'Ты слышишь только свое сердце.';
end;
end;
before_Eat = function(s)
if s:once(mp.event) then
p 'Тебе не хочется есть дерево.';
else
p 'Ты не видишь смысла в съедении ножки стула.';
end;
end;
before_Open = 'Открыть или вскрыть ножки стула не представляется возможным.';
before_Push = 'Пусть находится там, где и сейчас.';
before_Taste = function(s)
if s:once(mp.event) then
p 'Нет!';
else
p 'Ты не хочешь этого делать. Опять игрок балуется!';
end;
end;
before_Kiss = function(s)
if s:once(mp.event) then
p 'Не стоит.';
else
p 'Ты продолжаешь стоять на своем - не стоит заниматься подобным.';
end;
end;
before_Talk = function(s)
if s:once(mp.event) then
p 'Попытка поговорить с ножкой стула не увенчалась успехом - не хотят говорить и всё тут!';
else
p 'Безуспешно. Ножки стула не идут на встречу для ведения разговора.';
end;
end;
before_Ask = function(s)
if s:once(mp.event) then
p 'Ножки стула никак не отреагировали на твои попытки с ними поговорить. Впрочем, окружение этого кабинета всегда может тебя послушать; тебе стоит найти лишь тему для разговора, но начать ты её не сможешь, так как это не предусмотрено игрой.';
else
local msg = {
"Ножки стула никак не отреагировали на тебя.";
"Игрок, пора задуматься о некоторых вещах...";
"Ты можешь попробовать поговорить с ножками стула на какую-нибудь тему, но знай, ты не сможешь это сделать так как это не предусмотрено игрой.";
};
p(msg[rnd(#msg)]);
end;
end;
}:attr 'scenery';
obj {
-"шкаф";
nam = 'kabinet_shranko';
description = function(s)
p 'Деревянный шкаф, на одной дверце которого есть зеркало.';
mp:content(s)
end;
before_Take = function(s)
if s:once(mp.event) then
p 'Шкаф слишком тяжёлый, да и не нужен он тебе.';
else
p 'У тебя нет необходимости в тяжелом шкафе.';
end;
end;
before_Attack = function(s)
if s:once(mp.event) then
p 'Шкаф не сделал тебе ничего плохого, из-за чего тебе понадобилось бы подвергать его насилию.';
else
p '-- На наш век хватит... -- сказала ты и отказалась совершать насильственные действия против шкафа.';
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'В шкафу тишина. Вывод напрашивается сам за себя - чертиков в шкафу нет!';
else
p 'После прослушивания шкафа ты сделала вывод, что чертиков в нем нет.';
end;
end;
before_Kiss = 'Можно конечно попробовать поцеловать своё отражение в зеркале...Но зачем?';
before_Eat = function(s)
if s:once(mp.event) then
p 'Съесть шкаф...Нет, у тебя все в порядке с головой.';
else
p 'Ты продолжаешь считать, что с головой у тебя все в порядке.';
end;
end;
before_Open = function(s)
if s:once(mp.event) then
p 'Дверца шкафа закрыта. Ты не сможешь открыть её.';
else
p 'Ты не можешь открыть дверь, так как она закрыта.';
end;
end;
before_Push = 'Не нужно.';
before_Taste = function(s)
if s:once(mp.event) then
p 'Ты оставила это у себя в голове от греха подальше.';
else
p 'Тебе это действие показалось странным, поэтому ты не будешь его делать.';
end;
end;
before_Enter = 'Тебе не хочется этого делать.';
}:with{
obj {
-"радиола";
nam = 'kabinet_radio';
description = 'Радиола. А на радиоле ещё что-то лежит. Хочется посмотреть, но не можешь - слишком высоко.';
before_Take = 'Тебе не нужна радиола.';
before_Attack = 'Ага, упадет и мало не покажется!';
before_Listen = function(s)
if s:once(mp.event) then
p 'Тишина...';
else
p 'Звуки тишины прервали звуки другой тишины. Теперь ничего не слышно как и прежде.';
end;
end;
before_Kiss = function(s)
if s:once(mp.event) then
p 'Во-первых, радиола пыльная, во-вторых она высоко, а в третьих...Не хочешь.';
else
p 'Ты уже твердо решила, что не будешь этого делать.';
end;
end;
before_Eat = function(s)
if s:once(mp.event) then
p 'Съесть радиолу. Такие мысли тебе не приходили в голову.';
else
p 'Все таки мысли съесть радиолу тяжело отогнать...';
end;
end;
before_Open = 'Не стоит.';
before_Push = 'Нет нет. Пусть лучше стоит там где стоит.';
before_Taste = function(s)
if s:once(mp.event) then
p 'Нет.';
else
p 'Ты отказываешься это делать.';
end;
end;
before_Talk = function(s)
if s:once(mp.event) then
p 'Иногда тебе не хватает общения, но это уже слишком.';
else
p 'Когда окончишь свои приключения, то сможешь вернуться к своим обычным делам и поискать собеседников, ведь даже радиола никак не реагирует на твои порывы поговорить.';
end;
end;
before_Ask = function(s)
local msg = {
'И что ты ожидаешь в ответ?';
'Кажется ты что-то услышала...';
'Ты что-то слышишь, но можешь ошибаться.';
'Это радиола!';
};
p(msg[rnd(#msg)]);
end;
before_Enter = function(s)
local msg = {
"У тебя не получится это сделать.";
"Ты не сможешь это сделать.";
};
p(msg[rnd(#msg)]);
end;
}:disable();
obj {
-"ножки шкафа|ножка шкафа";
nam = 'kabinet_shrankopiedo';
description = function(s)
if s:once(mp.event) then
p 'Ножка шкафа, изготовленная из дерева.';
else
p 'Деревянная ножка шкафа.';
end;
end;
before_Take = 'Ты не можешь взять ножку шкафа. Ведь тебе бы пришлось произвести изъятие содержимого из шкафа, дальнейшее перемещение оного в горизонтальное положение и снятие ножки при помощи различных специализированных инструментов, которые сейчас у тебя отсутствуют.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Ты пнула слегка ножку шкафа, но ничего не произошло.';
else
p 'Ты ещё раз пнула ножку шкафа, но как и раньше, ничего не произошло.';
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Ты попробовала послушать ножку шкафа, но ничего не услышала.';
else
p 'Прослушка шкафа прошла никак - никаких признаков звука.';
end;
end;
before_Eat = 'Тебе не хочется есть дерево.';
before_Open = function(s)
if s:once(mp.event) then
p 'Открыть или вскрыть ножки шкафа не представляется возможным.';
else
p 'Открыть ножки шкафа невозможно.';
end;
end;
before_Push = function(s)
if s:once(mp.event) then
p 'Шкаф пусть стоит на месте.';
else
p 'Ты решаешь оставить шкаф в покое и не перемешать его куда либо относительно текущей позиции.';
end;
end;
before_Taste = 'Ну уж нет.';
before_Kiss = function(s)
if s:once(mp.event) then
p 'Нет!';
else
p 'Когда ты отсюда уйдешь, то обязательно посетишь врача.';
end;
end;
before_Talk = 'Ты решила поговорить с ножкой от шкафа, но беседа даже не началась - ножки не особо разговорчивые.';
before_Ask = 'Ножки шкафа не могут говорить. Они, как и вся находящаяся в этом кабинете мебель, могут только слушать, так что ты можешь попробовать им прочитать лекцию о взаимодействии тушканчиков и звезд класса "О". Есть желание?';
before_Enter = 'Ты не в той Вселенной находишься.';
}:attr 'scenery';
obj {
-"зеркало|отражение";
nam = 'kabinet_spegulo';
description = function(s)
local msg = {
"Зеркало, в отличие от всего остального в кабинете не такое уж и пыльное и в него можно смотреться.";
"Какая же ты красивая!";
"Тебе показалось или в отражении в окне что-то мелькнуло?";
"Странно, ты не видишь своего отражения...О! Теперь видишь.";
"Зеркало как зеркало. Расположено практически во всю высоту дверцы шкафа.";
};
p(msg[rnd(#msg)]);
end;
before_Take = 'Ты не можешь взять зеркало.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Ударить зеркало? Скорее всего ты наведешь суету и поцарапаешься!';
else
p 'Ты решила, что агрессия по отношению к стеклу неоправданна.';
end;
end;
before_Listen = 'Ты ничего не слышишь.';
before_Kiss = function(s)
if s:once(mp.event) then
p 'Поцеловать своё отражение? Нет.';
else
p 'Сказать своему отражению что-нибудь ещё ладно, но поцеловать? Ты решаешь таким не заниматься. К тому же, зеркало немного пыльное.';
end;
end;
before_Eat = 'Ты читала давече газету, так там человек, чтобы прожить дольше, принимал каждый день несколько автомобильных зеркал внутрь, запивая чаем...';
before_Open = function(s)
if s:once(mp.event) then
p 'Зеркало невозможно открыть. То есть, как это?';
else
p 'Зеркало невозможно открыть.';
end;
end;
before_Push = 'Нет. Пусть висит где висит.';
before_Taste = 'Несмотря на то, что в зеркало можно смотреться, это не делает его менее пыльным.';
before_Talk = 'Поговорить со своим отражением? Нет, для того, чтобы поговорить с самой собой тебе не обязательно нужен зрительный контакт.';
['before_Ask, Ask_to, AskFor, Tell'] = function(s,w)
if w:find "красное" and w:find "море" and s:once(mp.event) then
p 'Ты произнесла это и услышала за собой какой-то грохот. Что-то упало на пол.';
mp.score=mp.score+1;
enable('kabinet_falsajoponardo');
else
p 'Можно попробовать ещё что нибудь сказать своему отражению в зеркале...';
end;
end;
before_Enter = 'Попасть в зазеркалье? Замечательно! Но к твоему разочарованию, это невозможно.';
}:attr 'scenery';
}:attr 'scenery, supporter';
obj {
-"портрет|картина|изображение|рисунок|картинка";
nam = 'kabinet_bildo';
description = 'На картине изображен человек средних лет с цилиндром на голове, моноклем на одном глазу и характерными усами с завитушками.^ Интересно, кто это?';
before_Take = 'Тебе не нужна картина.';
before_Attack = function(s)
if s:once(mp.event) then
p 'Пусть висит где висит. Зачем тебе её бить?';
else
p 'Ты находишь это решение неоправданным по отношению к картине.';
end;
end;
before_Listen = function(s)
if s:once(mp.event) then
p 'Кажется ты ничего не слышишь!';
else
p 'Кроме дыхания самой себя ты ничего не слышишь.';
end;
end;
before_Kiss = 'Ну уж нет!';
before_Eat = function(s)
if s:once(mp.event) then
p 'Это невозможно по определению.';
else
p 'Съедение тобою картины невозможно само по себе как процесс.';
end;
end;
before_Open = 'Тебе её порвать как-то? Т.е. отделить рамку от основного полотна? Не совсем понимаю, как должно осуществляться открытие картины...';
before_Push = 'Пусть висит на своём месте.';
before_Taste = 'Это лучше оставить у себя в голове.';
before_Enter = 'Это не представляется возможным.';
}:with{
obj {
-"картинная рама|рамка картинки";
nam = 'kabinet_bildkadro';
description = function(s)
if s:once(mp.event) then
p 'Картинная рама из дерева. На удивление, сделана просто и безо всяких узоров.';
else
p 'В отличие от других элементов мебели комнаты, эта рамка сделана просто и скромно.';
end;
end;
before_Take = 'Тебе не нужна картинная рама.';
before_Attack = 'Голос в голове тебе говорит, что агрессия к картинной раме неоправданна. Задумайся!';
before_Listen = 'Звуки картинной рамки!';
before_Eat = 'Ты не сможешь осилить съедение элементов картинной рамки.';
before_Open = 'Картинную рамку невозможно вскрыть. Её можно только поломать или разделить по частям, но тебе это не нужно.';
before_Taste = 'Облизать картинную рамку?';
before_Kiss = 'Такая симпатия к этой раме неоправданна.';
before_Enter = 'Ты конечно можешь попробовать отодрать рамку от полотна и, выставив рамку перед собой, посмотреть куда-нибудь, но этого никто не увидит.';
before_Push = 'Картинная рамка зафиксирована с полотном, а перемещать картину тебе не нужно.';
before_Ask = 'Картинная рамка не хочет с тобой говорить. Так и передала.';
before_Talk = 'Картинная рамка не хочет с тобой говорить.';
}:attr 'scenery';
obj {
-"картинное полотно|холст";
nam = 'kabinet_bildokanvaso';
description = 'Холст, на котором изображен человек средних лет с цилиндром на голове, моноклем на одном глазу и характерными усами с завитушками. Тебе кажется, что ты видела кого-то похожего, но можешь ошибаться.';
before_Take = 'Тебе не нужно это полотно. Пусть лучше висит.';
before_Attack = 'Не стоит.';
before_Listen = 'Звуки холста...';
before_Eat = 'Съесть полотно? Это как?';
before_Open = 'Это невозможно.';
before_Ask = 'Ты попыталась обратиться к картине, но она тебя игнорирует.';
before_Talk = 'Пора задуматься о своем поведении, подумала ты.';
before_Push = 'Пусть висит на своем месте.';
before_Kiss = 'Тебе не хочется целовать холст.';
before_Taste = 'Тебе неприятно заниматься подобным.';
before_Wave = 'Картина никак не отреагировала на это.';
before_Enter = 'На картине на фоне изображены прекрасные пейзажи, но тебе не получится попасть в тот прекрасный мир хотя бы потому, что тебе и в этом хорошо.';
}:attr 'scenery';
}:attr 'scenery';
obj {
-"окно";
nam = 'kabinet_fenestro';
description = 'Деревянное окно с толстым стеклом. У окна есть небольшая форточка.';
daemon = function(s)
local evento = {
_'kabinet_birdo';
_'kabinet_korvo';
_'kabinet_stranga';
};
local evento2 = {
_'kabinet_birdo2';
_'kabinet_korvo2';
_'kabinet_stranga2';
};
for o = 3, #evento do
if rnd(12) <= 3 then
evento[o]:enable();
remove(evento2[o]);
else
evento[o]:disable();
move(evento2[o],here());
end;
end;
for o = 2, #evento do
if rnd(12) >= 6 and rnd(12) <= 9 then
evento[o]:enable();
remove(evento2[o]);
else
evento[o]:disable();
move(evento2[o],here());
end;
end;
for o = 1, #evento do
if rnd(12) >= 10 then
evento[o]:enable();
remove(evento2[o]);
else
evento[o]:disable();
move(evento2[o],here());
end;
end;
end;
before_Take = 'Окно взять помогут только мастера, а ты не можешь.';
before_Attack = 'Разбить окно? И зачем?';
before_Listen = 'А у окна отличная звукоизоляционная характеристика - шестой класс. Ты не слышишь даже себя...Стоп, это кажется другое.';
before_Kiss = 'К слову, окно немного грязное.';
before_Eat = 'Окно не может быть как-то съедено.';
before_Open = 'У окна есть форточка, да и та небольшая. А в кабинете не так уж и душно.';
before_Push = 'Куда?';
before_Taste = 'Выглядит это конечно забавно, но не стоит.';
before_Enter = 'Окно закрытое, а через форточку совершить сие деяние не выйдет.';
}:with{
obj {
-"форточка";
nam = 'kabinet_minifenestro';
description = 'Небольшая форточка прямоугольной формы.';
before_Take = 'Форточку невозможно взять. Она же часть окна.';
before_Attack = 'Ты не хочешь сломать себе руку.';
before_Listen = 'Тишина!';
before_Kiss = 'Ну уж нет.';
before_Eat = 'Форточку невозможно съесть, она часть окна. Да и что ты сможешь съесть там?';
before_Open = 'В кабинете не настолько душно, чтобы тебе понадобилось открывать окно.';
before_Enter = 'У тебя не получиться пролезть через форточку - твои габариты не позволят.';
}:attr 'scenery';
}:attr 'scenery';
obj {
-"оконная рама";
nam = 'kabinet_fenestroframo';
description = 'Деревянная оконная рама.';
before_Take = 'Может тебе заняться демонтажем всего и вся в кабинете?';
before_Attack = 'Ты получишь только ушибы на руках.';
before_Push = 'Не стоит.';
before_Talk = 'Попытки завести разговор с оконной рамой тщетны.';
before_Ask = 'Попытки завести разговор с оконной рамой тщетны.';
before_Kiss = 'Оконная рама пыльная!';
before_Taste = 'Тебе же не семь лет, чтобы устраивать подобные эксперименты!';
before_Open = 'Ты бы могла попробовать открыть окно, но никак не оконную раму.';
before_Eat = 'Это невозможно.';
before_Listen = 'У окна прекрасная звукоизоляция. Ты ничего не слышишь.';
before_Enter = 'Это невозможно.';
}:attr 'scenery';
obj {
-"стекло|оконное стекло";
nam = 'kabinet_fenestravitro';
description = 'Оконное стекло. Выглядит очень толстым и крепким.';
before_Take = 'Ты не можешь взять стекло, так как оно является частью такой композиции как окно. Ремонтом тебе, конечно же, заниматься сейчас тоже не хочется.';
before_Attack = 'Скорее всего тебе будет больно.';
before_Push = 'Окно жестко зафиксировано на месте.';
before_Talk = 'Беседа со стеклом не увенчалась успехом.';
before_Ask = 'К сожалению, стекло никак не отреагировало на твои попытки с ним поговорить.';
before_Kiss = 'Стекло пыльное!';
before_Taste = 'А стекло то пыльное. Да и неприятно подобным заниматься. Хотя кто знает, что творится в голове у нашего покорного слуги.';
before_Open = 'Ты не можешь открыть стекло, так как оно является частью окна, которое в свою очередь, не имеет возможности открываться. Есть форточка, да и та мала.';
before_Eat = 'Чтобы съесть стекло, тебе нужно его вытащить, а ты не сможешь этого сделать в виду отсутствия сил.';
before_Listen = 'Звуки стекла...';
before_Enter = 'Что-то за гранью фантастики. Тебе очень хотелось бы быть терминатором, но ты не терминатор и даже не человек-стекло!';
}:attr 'scenery';
obj {
-"птица";
nam = 'kabinet_birdo';
dsc = 'В окне видна птица.';
description = 'Небольшая птичка серого цвета. Обращает свой взор из стороны в сторону, словно совершенно не обращая внимания на происходящее внутри комнаты.';
before_Take = 'Ты не можешь взять птичку, так как она находится за окном, а окно тут имеет только небольшую форточку в верхней её части, отчего операция по захвату птички совершенно нереализуема.';
before_Attack = 'Не хочется.';
before_Kiss = 'Птица конечно няшная, но не настолько.';
before_Listen = 'Ты слышишь курлыканье, но можешь ошибаться.';
before_Wave = 'Птица пару раз обратила взгляд на твои руки и вновь вернулась к осмотру окружающего её мира.';
before_Ask = 'Птица не очень-то и разговорчивая.';
before_Eat = 'Из птицы ты ешь только классических домашних животных в виде кур и уток. А это непонятно что, да и откуда у неё мясо?';
before_Open = 'Это невозможно.';
before_Taste = 'Совершенно не понимаешь, зачем это нужно.';
before_Enter = 'Птичка за окном, а ты тут, в кабинете.';
}:dict{
["птица/вн"] = "птицу";
["птица/рд"] = "птицы";
["птица/дт"] = "птице";
["птица/тв"] = "птицей";
["птица/пр"] = "птице";
}:attr 'animate';
obj {
-"ворон|ворона";
nam = 'kabinet_korvo';
dsc = 'В окне видна ворона.';
description = 'То ли ворон, то ли ворона. Птица черного цвета. Уставилась в окно и всё разглядывает комнату. Сначала посмотрела на картину, а потом...На тебя. И всё, даже не шевелится. ^Что-то как-то не по себе.';
before_Take = 'Ты не можешь взять ворону, так как эта птица находится за окном. Через форточку ты достать её все равно не сможешь, да и незачем. Да тут не только незачем, совсем нет желания.';
before_Attack = 'Никак не выйдет. Да и подходить к этому созданию не очень то и хочется.';
before_Kiss = 'Эээ, что?';
before_Listen = 'Абсолютная тишина.';
before_Wave = 'Птица не отреагировала. Продолжает наблюдать за твоими действиями.';
before_Ask = 'Ворона продолжает смотреть на тебя.';
before_Eat = 'Никак не выйдет. Да и если ты разобьёшь стекло и таки достанешь эту птицу, тебе нужно будет её ещё обработать, а это время, которое ты не хочешь терять.';
before_Open = 'Это как?';
before_Taste = 'Каааак? Объясни мне, мозг мой, что ты хочешь?';
before_Enter = 'Ворона за окном, а ты в кабинете.';
}:attr 'animate';
obj {
-"существо/ср|странная тварь,тварь/жр|нечто/ср|белое/ср";
nam = 'kabinet_stranga';
dsc = 'Странная тварь смотрит из окна в комнату.';
description = function(s)
local msg = {
'В окне ты видишь...Это что за дрянь? Что-то с большими круглыми глазами смотрит на картину на стене. И отводит взгляд...На тебя!';
'Оно смотрит прямо на тебя! Вообще ничего не делает, просто словно прилипло к окну и смотрит на тебя своими пустыми глазами!';
'Жуткое создание. Откуда оно здесь взялось? Похоже, оно пока не может попасть внутрь. Ну и хорошо...';
};
p(msg[rnd(#msg)]);
end;
before_Take = 'Нет-нет! Ты даже приближаться к окну не собираешься!';
before_Attack = 'Столько смелости у тебя ещё нет.';
before_Kiss = 'Кажется кто-то не в своём уме, раз подобное взбрело в голову.';
before_Listen = 'Тишина, никаких звуков.';
before_Wave = 'Нет уж! Этого ты делать не будешь.';
before_Ask = 'Говорить с этим? Не-а...';
before_Eat = 'Чего?';
before_Open = 'Ну уж нет!';
before_Give = 'Во-первых, ты не имеешь возможности отдать этому созданию что-либо. Во-вторых, оно же жуткое! Зачем?';
before_Taste = 'Чего?';
before_Enter = 'Ты не собираешься даже приближаться к этой твари потому что боишься её.';
}:attr 'animate';
obj {
-"пол";
nam = 'kabinet_planko';
description = function(s)
p 'Деревянный пол. На полу есть ковер.';
mp:content(s);
end;
before_Take = 'Ты не сможешь взять пол.';
before_Listen = 'Ничего не слышно.';
before_Attack = 'Ты топнула по полу.';
before_Kiss = 'Нет желания.';
bfeore_Open = 'Пока что тебе не нужно вскрывать пол.';
before_Taste = 'Нет желания.';
}:with{
obj {
-"ковер";
nam = 'kabinet_tapisho';
description = 'Выглядит как очень старый ковер. По крайней мере он пыльный, а узоры позволяют их разглядывать часами.';
before_Take = 'Тебе не нужен ковер.';
before_Listen = 'Слышится как ковер. Прикольно.';
before_Attack = 'Ты топнула по ковру.';
before_Kiss = 'Тебе не 8 лет. Подобное дурачество не приведет ни к чему хорошему.';
before_Taste = 'Ну уж нет!';
before_Open = 'Ковер невозможно открыть.';
}:attr 'scenery';
obj {
-"кинжал";
nam = 'kabinet_falsajoponardo';
description = 'Таинственный кинжал. Похоже, что он выпал из-за картины.';
before_Take = function(s)
disable('kabinet_falsajoponardo');
take 'dagger';
mp.score=mp.score+1;
p 'Ты взяла кинжал.';
end;
before_Attack = 'Ударить его? Это как?';
before_Eat = 'Ты хотела когда-то выступать в цирке, но теперь не хочешь.';
before_Listen = 'Звуки лезвия...';
before_Kiss = 'Ты не будешь этого делать.';
before_Taste = 'Ты не будешь этого делать.';
before_Open = 'Это невозможно.';
before_Push = 'Ты можешь взять кинжал, больше ничего с ним лучше не делать.';
before_Ask = 'Ты хочешь говорить с кинжалом, а он с тобой не хочет.';
before_Talk = 'Ты хочешь поговорить с кинжалом, а он с тобой не хочет.';
before_Enter = 'Была бы ты терминатором, то это было бы хоть как-то возможно. Но ты не терминатор.';
}:disable();
}:attr 'scenery, supporter';
obj {
-"воздух";
nam = 'kabinet_aero';
description = 'Тут пахнет книгами и пылью.';
before_Take = 'Всегда было интересно взять воздух в руки, но это сложно - он постоянно убегает.';
before_Attack = 'Смелая попытка увернуться, воздух!';
before_Listen = 'Ты прислушалась...Тишина.';
before_Kiss = 'Это выглядит глупо, но ты попыталась.';
before_Taste = 'Ээ, нет.';
before_Open = 'Открыть воздух...Что может быть гениальнее?';
before_Ask = 'Осталось подождать, пока воздушное пространство тебе ответит. Стоит сходить к врачу как-нибудь.';
before_Talk = 'Говорить с воздухом. Тебе точно нужно к врачу.';
before_Wave = 'Ты помахала руками в воздухе. Ничего не произошло.';
before_Eat = 'Ты попыталась съесть воздух, но все тщетно.';
before_Enter = 'Но ты и так находишься в воздушном пространстве.';
}:attr 'scenery';
obj {
-"пыль";
nam = 'kabinet_polvo';
dsecription = 'Пыль...Пыль никогда не меняется. Она везде.';
before_Attack = 'Борьба с пылью будет длиться в течение всего существования этого мира. Это как борьба эксплуатирующихся с эксплуататорами...Ой, твои мысли уходят не туда.';
before_Take = 'Тебе не обязательно брать пыль. Достаточно лишь просто простоять в кабинете на одном месте некоторое время и пыль сама расположится на тебе.';
before_Listen = 'К сожалению, человеческий организм пока не может послушать пыль. Но у тебя появилась идея: по завершению своих приключений стать видеоблогером и вести дневник, в одном из видео которого ты будешь слушать пыль в течение часа, а то и больше!';
before_Ask = 'Пыль неразговорчива.';
before_Talk = 'Говорить с пылью бесполезно. Это куда более бесполезное занятие, чем беседы с мебелью.';
before_Open = 'Пыль невозможно открыть.';
before_Wave = 'Ты помахала руками в пыли и пыли, но ничего не произошло.';
before_Eat = 'Ты не хочешь есть пыль, так как это весьма неприятно.';
before_Kiss = 'Смелая попытка стать частью с этим миром.';
before_Taste = 'Никакие ухищрения не помогут тебе стать единым целым с Вселенной.';
before_Enter = 'Ты и так находишься в пыли и в покрытом пылью пространстве.';
}:attr 'scenery';
obj {
-"потолок";
nam = 'kabinet_plafono';
description = 'Кажется это сплошной подвесной потолок покрытый потолочными плитами из пенополистирола. На потолке подвешена люстра.';
before_Take = 'Потолок невозможно взять.';
before_Attack = 'Потолок не сделал тебе ничего плохого, ради чего тебе стоило бы подвергать его разрушительному воздействию.';
before_Eat = 'Это невозможно.';
before_Kiss = 'Не стоит.';
before_Taste = 'Это совершенно не обязательно.';
before_Ask = 'Интересно, что тебе ответит потолок?';
before_Talk = 'Видимо, потолок не имеет никакого желания с тобой поговорить.';
before_Open = 'Тебе это не нужно.';
before_Wave = 'И что дальше?';
before_Listen = function(s)
local msg = {
'Кажется ты слышишь, как кто-то или что-то ползет в потолке.';
'Ничего не слышно.';
};
p(msg[rnd(#msg)]);
end;
before_Enter = 'Ты можешь попытаться как-нибудь допрыгнуть до потолка и пролезть внутрь, но не сможешь, так как это не предусмотрено комнатой. К тому же, ты же женщина! Где культура?';
}:attr 'scenery';
obj {
-"галтель|потолочный плинтус";
nam = 'kabinet_plafonoplinto';
description = 'Галтель из твердого вспененного поливинилхлорида со всякими узорами. Выглядит симпатично.';
before_Take = 'Не стоит заниматься вандализмом. Да и установлен плинтус скорее всего при помощи контактного клея, что как бы намекает, что скорее всего ты грохнешься на пол в попытках отодрать плинтус.';
before_Push = 'Куда?';
before_Listen = 'От галтели не исходит никаких звуков.';
before_Talk = 'Говорить с потолочным плинтусом бесполезно.';
before_Ask = 'Говорить с потолочным плинтусом бесполезно.';
before_Kiss = 'Ты не буду этого делать!';
before_Taste = 'Не стоит...';
before_Eat = 'Откуда такие мысли вообще?';
before_Open = 'Галтель жестко зафиксирована при помощи контактного клея. Это невозможно.';
before_Attack = 'Ударить плинтус. И зачем?';
before_Enter = 'Это невозможно.';
}:attr 'scenery';
obj {
-"люстра";
nam = 'kabinet_lustro';
description = 'Люстра как люстра. Ты можешь путать её с испанской люстрой "Талавера" и с советским "Каскадом". Сложно.';
before_Take = 'Тебе не нужна люстра. Да и высоко она.^Хотя признаешься, выглядит дорого.';
before_Attack = 'Запульнуть чем-нибудь бы да по люстре, да?';
before_Listen = 'Люстра даже не звенит.';
before_Kiss = 'Нет.';
before_Taste = 'Не стоит.';
before_Open = 'Это невозможно.';
before_Eat = 'Ты хочешь прожить немного дольше, чем будешь пребывать в этом кабинете пока не начнёшь есть элементы люстры.';
before_Wave = 'Этого лучше не делать.';
before_Talk = 'Видимо, люстра не имеет желания говорить.';
before_Ask = 'Несговорчивая люстра однако.';
before_Push = 'И вся эта громада упадет на тебя. Ну уж нет!';
before_Enter = 'И вся громада грохнется на тебя. Что-ж, весьма перспективное дело.';
}:attr 'scenery';
obj {
-"плинтус|напольный плинтус|деревянный плинтус";
nam = 'kabinet_lignaplinto';
description = 'Деревянный напольный плинтус. В отличие от всего помещения выполнен весьма скромно.';
before_Take = 'Тебе не нужен плинтус.';
before_Attack = 'Ты пару раз пнула ногой плинтус. Ничего не произошло.';
before_Listen = 'Ты прислушалась к покрытию плинтуса. Кажется ты что-то слышишь...Это звук ничего.';
before_Kiss = 'Оно же пыльное и грязное!';
before_Taste = 'Это не стоит того.';
before_Open = 'Плинтус невозможно вскрыть.';
before_Eat = 'Да, это то, что тебе нужно.';
before_Talk = 'Плинтус не может говорить.';
before_Ask = 'Плинтус никак не отреагировал на твои порывы с ним поговорить.';
before_Push = 'Ты ведь не строитель, что ты строишь из себя кот пойми тебя что?';
before_Enter = 'Ты можешь только слегка задеть ногой плинтус, но никак не зайти, залезть или лечь на него.';
}:attr 'scenery';
obj {
-"стены/ср,мн|стена/жр,ед";
nam = 'kabinet_muroj';
description = 'На стенах обои с позолотой на узорах. Цветочки, лебеди и античные дворцы! Если что, ты восхищаешься, игрок.';
before_Take = 'Стены невозможно взять.';
before_Push = 'Ты слишком слаба для подобных дел.';
before_Attack = 'Ты не хочешь получить повреждения различных частей тела во время процесса нанесения ударов стенам.';
before_Listen = 'Ты прислушалась к поверхности стен. Абсолютная хтоническая тишина!';
before_Kiss = 'Ты не будешь этого делать, потому что так решил автор этой комнаты.';
before_Taste = 'Ты не горишь желанием это делать.';
before_Ask = 'Стены не умеют говорить, они лишь слушают.';
before_Talk = 'Стены не умеют говорить, они лишь слушают.';
before_Eat = 'Смелые мысли однако.';
before_Open = 'Это невозможно. Ты, конечно, можешь потратить время на поиск тайной кнопки или рычага для открытия прохода в неизвестное, но стоит ли оно того?^На самом деле ты не можешь потратить время на поиск тайной кнопки потому что это не предусматривает автор комнаты.';
before_Enter = 'Ты решаешь не устраивать поиски тайного рычага, открывающего двери в мир потаенного.';
}:attr 'scenery';
obj {
-"обои";
nam = 'kabinet_tapeto';
description = 'Обои с позолотой на узорах. На них изображены античные пейзажи, побережье какого-то моря, цветы. Красота!';
before_Take = 'Ты не сможешь отодрать такие обои от стен.';
before_Push = 'Чего ты хочешь добиться?';
before_Attack = 'Бить по стенам будет больно.';
before_Listen = 'Ты прислушалась к стенам и ничего не услышала кроме биения своего сердца.';
before_Kiss = 'Не стоит.';
before_Taste = 'Ты не горишь желанием заниматься подобным.';
before_Talk = 'Обои, как и стены, не умеют говорить - только слушают.';
before_Ask = 'Обои, как и стены, не умеют говорить - только слушают.';
before_Open = 'Это невозможно.';
before_Eat = 'Тебе не хочется есть обои.';
before_Enter = 'Ты решаешь не устраивать поиски тайного рычага, открывающего двери в мир потаенного.';
}:attr 'scenery';
}
--obj {
-- -"таинственный кинжал,кинжал";
-- nam = "dagger";
-- description = "Таинственный кинжал.";
--}
obj {
-"птица";
nam = 'kabinet_birdo2';
dsc = 'Птицы здесь уже нет.';
description = 'Птицы здесь уже нет.';
before_Any = 'Птицы здесь уже нет.';
}:dict{
["птица/вн"] = "птицу";
["птица/рд"] = "птицы";
["птица/дт"] = "птице";
["птица/тв"] = "птицей";
["птица/пр"] = "птице";
}:attr 'animate,concealed';
obj {
-"существо/ср|тварь/жр|нечто/ср|белое/ср|оно/ср";
nam = 'kabinet_stranga2';
dsc = 'Твари здесь уже нет.';
description = function(s)
p 'Твари здесь уже нет.';
end;
before_Any = 'Твари здесь уже нет.';
}:attr 'animate,concealed';
obj {
-"ворон|ворона";
nam = 'kabinet_korvo2';
dsc = 'Вороны здесь уже нет.';
description = 'Вороны здесь уже нет.';
before_Enter = 'Вороны здесь уже нет.';
}:attr 'animate,concealed';