17rooms/room11.lua

1050 lines
62 KiB
Lua
Raw Permalink Normal View History

2021-05-04 14:35:02 +03:00
room {
nam = "room11_kabinet";
title = "Кабинет";
2021-10-07 21:06:10 +03:00
dsc = function(s)
if not isDaemon('kabinet_fenestro') then
if s:once() then
_'kabinet_birdo':disable();
_'kabinet_korvo':disable();
_'kabinet_stranga':disable();
end;
DaemonStart('kabinet_fenestro');
end;
return "К востоку гостиная. В кабинете есть стол, стул, шкаф. Прямо за столом на стене висит чей-то портрет. Здесь есть окно.";
2021-05-04 14:35:02 +03:00
end;
before_Think = function(s)
if s:once(mp.event) then
p 'Ты решила подумать, но тебе, по обыкновению, ничего толкового в голову не приходит.';
else
local msg = {
2021-08-17 21:24:02 +03:00
"Ты подумала, осмотрела комнату. Можно попробовать поговорить с кем-нибудь.";
2021-05-04 14:35:02 +03:00
"Может быть посидеть на стуле? Отдохнуть.";
2021-08-17 21:24:02 +03:00
"Можно на стенах узоры какие-нибудь посмотреть.";
2021-05-04 14:35:02 +03:00
"Ты подумала о смысле бытия, но додумать не вышло. Это было сложно, но ты попыталась.";
"Интересно, если есть предшественники, значит есть и шественники?";
"Ты озарила взглядом своим сие помещение и обнаружила, что в зеркале видишь саму себя! Может попробовать поговорить с самой собой? Только о чем? Нужно придумать...";
"О! Тебе хочется кушать яблоки!";
2021-08-17 21:24:02 +03:00
"Интересно, а здесь есть яблоки? Нужно где-нибудь поискать...";
2021-05-04 14:35:02 +03:00
};
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 = {
"Ножки стула никак не отреагировали на тебя.";
"Игрок, пора задуматься о некоторых вещах...";
2021-08-17 21:24:02 +03:00
"Ты можешь попробовать поговорить с ножками стула на какую-нибудь тему, но знай, ты не сможешь это сделать так как это не предусмотрено игрой.";
2021-05-04 14:35:02 +03:00
};
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;
2021-12-07 18:49:28 +02:00
}:attr 'static':disable();
2021-05-04 14:35:02 +03:00
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
2021-08-17 21:24:02 +03:00
p 'Сказать своему отражению что-нибудь ещё ладно, но поцеловать? Ты решаешь таким не заниматься. К тому же, зеркало немного пыльное.';
2021-05-04 14:35:02 +03:00
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 = 'Поговорить со своим отражением? Нет, для того, чтобы поговорить с самой собой тебе не обязательно нужен зрительный контакт.';
2021-12-07 19:26:08 +02:00
['before_Ask, AskTo, AskFor, Tell, Answer'] = function(s,w)
if w:find "красное" and w:find "море" and s:once(mp.event) then
2021-05-04 14:35:02 +03:00
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 = 'Такая симпатия к этой раме неоправданна.';
2021-08-17 21:24:02 +03:00
before_Enter = 'Ты конечно можешь попробовать отодрать рамку от полотна и, выставив рамку перед собой, посмотреть куда-нибудь, но этого никто не увидит.';
2021-05-04 14:35:02 +03:00
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';
};
2021-10-07 21:06:10 +03:00
local r = rnd(12);
if r <= 3 then
evento[1]:enable();
remove(evento2[1]);
else
evento[1]:disable();
move(evento2[1],here());
2021-05-04 14:35:02 +03:00
end;
2021-10-07 21:06:10 +03:00
if r >= 6 and r <= 9 then
evento[2]:enable();
remove(evento2[2]);
else
evento[2]:disable();
move(evento2[2],here());
2021-05-04 14:35:02 +03:00
end;
2021-10-07 21:06:10 +03:00
if r >= 10 then
evento[3]:enable();
remove(evento2[3]);
else
evento[3]:disable();
move(evento2[3],here());
2021-05-04 14:35:02 +03:00
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 = 'Открыть воздух...Что может быть гениальнее?';
2021-08-17 21:24:02 +03:00
before_Ask = 'Осталось подождать, пока воздушное пространство тебе ответит. Стоит сходить к врачу как-нибудь.';
2021-05-04 14:35:02 +03:00
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;
2021-08-17 21:24:02 +03:00
before_Enter = 'Ты можешь попытаться как-нибудь допрыгнуть до потолка и пролезть внутрь, но не сможешь, так как это не предусмотрено комнатой. К тому же, ты же женщина! Где культура?';
2021-05-04 14:35:02 +03:00
}: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 = 'Тебе не нужна люстра. Да и высоко она.^Хотя признаешься, выглядит дорого.';
2021-08-17 21:24:02 +03:00
before_Attack = 'Запульнуть чем-нибудь бы да по люстре, да?';
2021-05-04 14:35:02 +03:00
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 = "Таинственный кинжал.";
--}
2021-05-04 14:35:02 +03:00
obj {
-"птица";
nam = 'kabinet_birdo2';
dsc = 'Птицы здесь уже нет.';
description = 'Птицы здесь уже нет.';
before_Any = 'Птицы здесь уже нет.';
}:dict{
["птица/вн"] = "птицу";
["птица/рд"] = "птицы";
["птица/дт"] = "птице";
["птица/тв"] = "птицей";
["птица/пр"] = "птице";
}:attr 'animate,concealed';
obj {
2021-10-07 21:06:10 +03:00
-"существо/ср|тварь/жр|нечто/ср|белое/ср";
2021-05-04 14:35:02 +03:00
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';